From 2f780609a2893cdfa2f83876e2c183523659e649 Mon Sep 17 00:00:00 2001 From: Cyp Date: Mon, 20 Dec 2010 04:40:31 +0100 Subject: [PATCH 001/142] Try to fix isatty linkage errors on Windows. Hope this works, somehow. --- lib/framework/frame.h | 12 +++--------- src/multiplay.h | 10 ---------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/lib/framework/frame.h b/lib/framework/frame.h index 96f405297..30b3ccee2 100644 --- a/lib/framework/frame.h +++ b/lib/framework/frame.h @@ -45,11 +45,6 @@ #include "trig.h" #include "cursors.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern uint32_t selectedPlayer; ///< The player number corresponding to this client. extern uint32_t realSelectedPlayer; ///< The player number corresponding to this client (same as selectedPlayer, unless changing players in the debug menu). #define MAX_PLAYERS 8 /**< Maximum number of players in the game. */ @@ -113,16 +108,15 @@ extern UDWORD frameGetAverageRate(void); extern UDWORD HashString( const char *String ); extern UDWORD HashStringIgnoreCase( const char *String ); -#ifdef __cplusplus -} -#endif //__cplusplus - #if defined(WZ_OS_WIN) # include /* for struct timeval */ struct timezone; extern int gettimeofday(struct timeval* tv, struct timezone* tz); + +extern "C" int isatty(int); // Apparently flex declares isatty with C++ linkage on Windows. Don't ask why. Declaring here instead. #endif +extern "C" int isatty(int); // Apparently flex declares isatty with C++ linkage on Windows. Don't ask why. Declaring here instead. static inline WZ_DECL_CONST const char * bool2string(bool var) { diff --git a/src/multiplay.h b/src/multiplay.h index 1ff2952b4..aff0e1b00 100644 --- a/src/multiplay.h +++ b/src/multiplay.h @@ -29,11 +29,6 @@ #include "featuredef.h" #include "droid.h" // For INITIAL_DROID_ORDERS. -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // ///////////////////////////////////////////////////////////////////////////////////////////////// // Game Options Structure. Enough info to completely describe the static stuff in amultiplay game. typedef struct { @@ -91,7 +86,6 @@ extern MULTIPLAYERINGAME ingame; // the game description. extern BOOL bMultiPlayer; // true when more than 1 player. extern BOOL bMultiMessages; // == bMultiPlayer unless multi messages are disabled -extern UDWORD selectedPlayer; extern BOOL openchannels[MAX_PLAYERS]; extern UBYTE bDisplayMultiJoiningStatus; // draw load progress? @@ -236,8 +230,4 @@ extern void resetReadyStatus (bool bSendOptions); extern BOOL bPlayerReadyGUI[MAX_PLAYERS]; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MULTIPLAY_H__ From 4a16961c349cf2d14d3921788bce50841fa3077b Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 15:09:48 +0100 Subject: [PATCH 002/142] Don't fail to build when building from tarballs. Apparently fixbrokendependencies doesn't get included in the tarballs, despite being committed. --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index e6b11c76d..9981a365a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -48,5 +48,5 @@ dist-hook: # Works by finding the .deps/*.Po files which refer to source files that don't exist, and replacing them with a single dependency on the correct source file. .PHONY: fixbrokendeps fixbrokendeps: - $(srcdir)/fixbrokendependencies + $(srcdir)/fixbrokendependencies || echo "Ignore the missing script, it's not useful when building from a tarball." all: fixbrokendeps From 49c0f1cd8b74b10dd46f83000d30b59151a2f85f Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 16:11:08 +0100 Subject: [PATCH 003/142] Fix strict-aliasing warnings reported by dak180. --- lib/framework/endian_hack.h | 18 +++++++++++------- src/game.cpp | 32 ++++++++++++++++---------------- src/mission.cpp | 2 +- src/multiplay.cpp | 4 ++-- src/objects.cpp | 26 +++++++++++--------------- src/objects.h | 19 +++++++++---------- src/scriptobj.cpp | 6 ++++-- 7 files changed, 54 insertions(+), 53 deletions(-) diff --git a/lib/framework/endian_hack.h b/lib/framework/endian_hack.h index c55118e08..f38b3d79f 100644 --- a/lib/framework/endian_hack.h +++ b/lib/framework/endian_hack.h @@ -27,13 +27,9 @@ #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - static inline void endian_uword(UWORD* p) { + STATIC_ASSERT(sizeof(*p) == 2); uint8_t bytes[sizeof(*p)]; memcpy(bytes, p, sizeof(*p)); *p = bytes[1]<<8 | bytes[0]; @@ -41,6 +37,7 @@ static inline void endian_uword(UWORD* p) static inline void endian_sword(SWORD* p) { + STATIC_ASSERT(sizeof(*p) == 2); uint8_t bytes[sizeof(*p)]; memcpy(bytes, p, sizeof(*p)); *p = bytes[1]<<8 | bytes[0]; @@ -48,6 +45,7 @@ static inline void endian_sword(SWORD* p) static inline void endian_udword(UDWORD* p) { + STATIC_ASSERT(sizeof(*p) == 4); uint8_t bytes[sizeof(*p)]; memcpy(bytes, p, sizeof(*p)); *p = bytes[3]<<24 | bytes[2]<<16 | bytes[1]<<8 | bytes[0]; @@ -55,13 +53,19 @@ static inline void endian_udword(UDWORD* p) static inline void endian_sdword(SDWORD* p) { + STATIC_ASSERT(sizeof(*p) == 4); uint8_t bytes[sizeof(*p)]; memcpy(bytes, p, sizeof(*p)); *p = bytes[3]<<24 | bytes[2]<<16 | bytes[1]<<8 | bytes[0]; } -#ifdef __cplusplus +template +static inline void endian_enum(ENUM *p) +{ + STATIC_ASSERT(sizeof(*p) == 4); + uint8_t bytes[sizeof(*p)]; + memcpy(bytes, p, sizeof(*p)); + *p = ENUM(bytes[3]<<24 | bytes[2]<<16 | bytes[1]<<8 | bytes[0]); } -#endif //__cplusplus #endif // ENDIAN_HACK_H diff --git a/src/game.cpp b/src/game.cpp index df77d4e07..939e493e6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2858,7 +2858,7 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User for(pl=0;pltype); /* FIXME: enum may not be this type! */ - endian_sdword((SDWORD*)&psSaveMessage->dataType); + endian_enum(&psSaveMessage->type); /* FIXME: enum may not be this type! */ + endian_enum(&psSaveMessage->dataType); endian_udword(&psSaveMessage->objId); endian_udword(&psSaveMessage->player); @@ -10481,8 +10481,8 @@ static BOOL writeMessageFile(char *pFileName) psSaveMessage->read = psMessage->read; //flag to indicate whether message has been read psSaveMessage->player = psMessage->player; //which player this message belongs to - endian_sdword((SDWORD*)&psSaveMessage->type); /* FIXME: enum may be different type! */ - endian_sdword((SDWORD*)&psSaveMessage->dataType); + endian_enum(&psSaveMessage->type); /* FIXME: enum may be different type! */ + endian_enum(&psSaveMessage->dataType); endian_udword(&psSaveMessage->objId); endian_udword(&psSaveMessage->player); @@ -10572,7 +10572,7 @@ BOOL loadSaveFlagV(char *pFileData, UDWORD filesize, UDWORD numflags, UDWORD ver psSaveflag = (SAVE_FLAG *) pFileData; /* SAVE_FLAG */ - endian_sdword((SDWORD*) &psSaveflag->type); /* FIXME: enum may not be this type! */ + endian_enum(&psSaveflag->type); /* FIXME: enum may not be this type! */ endian_udword(&psSaveflag->frameNumber); endian_udword(&psSaveflag->screenX); endian_udword(&psSaveflag->screenY); @@ -10774,7 +10774,7 @@ static BOOL writeFlagFile(char *pFileName) } /* SAVE_FLAG */ - endian_sdword((SDWORD*)&psSaveflag->type); /* FIXME: enum may be different type! */ + endian_enum(&psSaveflag->type); /* FIXME: enum may be different type! */ endian_udword(&psSaveflag->frameNumber); endian_udword(&psSaveflag->screenX); endian_udword(&psSaveflag->screenY); @@ -10825,7 +10825,7 @@ static BOOL writeFlagFile(char *pFileName) } /* SAVE_FLAG */ - endian_sdword((SDWORD*)&psSaveflag->type); /* FIXME: enum may be different type! */ + endian_enum(&psSaveflag->type); /* FIXME: enum may be different type! */ endian_udword(&psSaveflag->frameNumber); endian_udword(&psSaveflag->screenX); endian_udword(&psSaveflag->screenY); diff --git a/src/mission.cpp b/src/mission.cpp index 26a0b82ce..caa4b83ae 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -1111,7 +1111,7 @@ void saveCampaignData(void) { /*now that every unit for the selected player has been moved into the mission list - reverse it and fill the transporter with the first ten units*/ - reverseObjectList((BASE_OBJECT**)&mission.apsDroidLists[selectedPlayer]); + reverseObjectList(&mission.apsDroidLists[selectedPlayer]); //find the *first* transporter for (psDroid = mission.apsDroidLists[selectedPlayer]; psDroid != NULL; diff --git a/src/multiplay.cpp b/src/multiplay.cpp index 1c68b1899..3e60d77d4 100644 --- a/src/multiplay.cpp +++ b/src/multiplay.cpp @@ -1468,7 +1468,7 @@ BOOL sendTemplate(DROID_TEMPLATE *pTempl) NETuint32_t(&pTempl->asWeaps[i]); } - NETuint32_t((uint32_t*)&pTempl->droidType); + NETenum(&pTempl->droidType); NETuint32_t(&pTempl->multiPlayerID); return NETend(); @@ -1506,7 +1506,7 @@ BOOL recvTemplate(NETQUEUE queue) NETuint32_t(&pT->asWeaps[i]); } - NETuint32_t((uint32_t*)&pT->droidType); + NETenum(&pT->droidType); NETuint32_t(&pT->multiPlayerID); NETend(); diff --git a/src/objects.cpp b/src/objects.cpp index bb8869067..59353a456 100644 --- a/src/objects.cpp +++ b/src/objects.cpp @@ -54,22 +54,18 @@ BOOL objShutdown(void) the last and the last entry becomes the first!*/ void reverseObjectList(BASE_OBJECT **ppsList) { - BASE_OBJECT *psPrev, *psNext, *psCurrent, *psObjList; + BASE_OBJECT *psPrev = NULL; + BASE_OBJECT *psCurrent = *ppsList; - //initialise the pointers - psObjList = *ppsList; - psPrev = psNext = NULL; - psCurrent = psObjList; - - while(psCurrent != NULL) - { - psNext = psCurrent->psNext; - psCurrent->psNext = psPrev; - psPrev = psCurrent; - psCurrent = psNext; - } - //set the list passed in to point to the new top - *ppsList = psPrev; + while (psCurrent != NULL) + { + BASE_OBJECT *psNext = psCurrent->psNext; + psCurrent->psNext = psPrev; + psPrev = psCurrent; + psCurrent = psNext; + } + //set the list passed in to point to the new top + *ppsList = psPrev; } const char *objInfo(const BASE_OBJECT *psObj) diff --git a/src/objects.h b/src/objects.h index 6b0d8d138..08037a2b0 100644 --- a/src/objects.h +++ b/src/objects.h @@ -35,11 +35,6 @@ #include "function.h" #include "stats.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Initialise the object system */ extern BOOL objInitialise(void); @@ -48,13 +43,17 @@ extern BOOL objShutdown(void); /*goes thru' the list passed in reversing the order so the first entry becomes the last and the last entry becomes the first!*/ -extern void reverseObjectList(BASE_OBJECT **ppsList); +void reverseObjectList(BASE_OBJECT **ppsList); +template +void reverseObjectList(OBJECT **ppsList) +{ + BASE_OBJECT *baseList; + reverseObjectList(&baseList); + *ppsList = static_cast(baseList); +} + /** Output an informative string about this object. For debugging. */ const char *objInfo(const BASE_OBJECT *psObj); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_OBJECTS_H__ diff --git a/src/scriptobj.cpp b/src/scriptobj.cpp index b10213935..a420190a3 100644 --- a/src/scriptobj.cpp +++ b/src/scriptobj.cpp @@ -1318,13 +1318,15 @@ BOOL scrValDefLoad(SDWORD version, INTERP_VAL *psVal, char *pBuffer, UDWORD size if (psVal->v.oval == NULL) { - if (!grpCreate((DROID_GROUP**)&(psVal->v.oval))) + DROID_GROUP *tmp = (DROID_GROUP *)psVal->v.oval; + if (!grpCreate(&tmp)) { debug( LOG_FATAL, "scrValDefLoad: out of memory" ); abort(); break; } - grpJoin((DROID_GROUP*)(psVal->v.oval), NULL); + grpJoin(tmp, NULL); + psVal->v.oval = tmp; } pPos = pBuffer; From bdc7f9d72aa95d99ce412aaec90c33e108e7d830 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 16:28:28 +0100 Subject: [PATCH 004/142] Try to fix cross-compile errors. --- lib/exceptionhandler/exceptionhandler.cpp | 4 ++-- lib/exceptionhandler/exchndl.cpp | 14 +++++++------- lib/exceptionhandler/include/libcoff.h | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/exceptionhandler/exceptionhandler.cpp b/lib/exceptionhandler/exceptionhandler.cpp index 96c9056b1..1ee6399f0 100644 --- a/lib/exceptionhandler/exceptionhandler.cpp +++ b/lib/exceptionhandler/exceptionhandler.cpp @@ -724,7 +724,7 @@ bool OverrideRPTDirectory(char *newPath) # if defined(WZ_CC_MINGW) TCHAR buf[MAX_PATH]; - if (!MultiByteToWideChar(CP_UTF8, 0, newPath, strlen(newPath), buf, 0)) + if (!MultiByteToWideChar(CP_UTF8, 0, newPath, strlen(newPath), (WCHAR *)buf, 0)) { //conversion failed-- we won't use the user's directory. @@ -744,7 +744,7 @@ bool OverrideRPTDirectory(char *newPath) 0, NULL ); wsprintf(szBuffer, _T("Exception handler failed setting new directory with error %d: %s\n"), dw, lpMsgBuf); - MessageBox(MB_ICONEXCLAMATION, szBuffer, _T("Error"), MB_OK); + MessageBox((HWND)MB_ICONEXCLAMATION, szBuffer, _T("Error"), MB_OK); LocalFree(lpMsgBuf); LocalFree(lpDisplayBuf); diff --git a/lib/exceptionhandler/exchndl.cpp b/lib/exceptionhandler/exchndl.cpp index f1e8a6a6c..5201a62e7 100644 --- a/lib/exceptionhandler/exchndl.cpp +++ b/lib/exceptionhandler/exchndl.cpp @@ -394,7 +394,7 @@ BOOL ImagehlpDemangleSymName(LPCTSTR lpName, LPTSTR lpDemangledName, DWORD nSize pSymbol->SizeOfStruct = sizeof(symbolBuffer); pSymbol->MaxNameLength = 512; - lstrcpyn((LPWSTR)pSymbol->Name, lpName, pSymbol->MaxNameLength); + lstrcpyn((LPTSTR)pSymbol->Name, lpName, pSymbol->MaxNameLength); if(!j_SymUnDName(pSymbol, (PSTR)lpDemangledName, nSize)) return FALSE; @@ -425,7 +425,7 @@ BOOL ImagehlpGetSymFromAddr(HANDLE hProcess, DWORD dwAddress, LPTSTR lpSymName, if(!j_SymGetSymFromAddr(hProcess, dwAddress, &dwDisplacement, pSymbol)) return FALSE; - lstrcpyn(lpSymName, (LPCWSTR)pSymbol->Name, nSize); + lstrcpyn(lpSymName, (LPCTSTR)pSymbol->Name, nSize); return TRUE; } @@ -467,7 +467,7 @@ BOOL ImagehlpGetLineFromAddr(HANDLE hProcess, DWORD dwAddress, LPTSTR lpFileNam assert(lpFileName && lpLineNumber); - lstrcpyn(lpFileName, (LPCWSTR)Line.FileName, nSize); + lstrcpyn(lpFileName, (LPTCSTR)Line.FileName, nSize); *lpLineNumber = Line.LineNumber; return TRUE; @@ -593,20 +593,20 @@ BOOL WINAPI IntelStackWalk( StackFrame->AddrFrame.Offset = ContextRecord->Ebp; StackFrame->AddrReturn.Mode = AddrModeFlat; - if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), &StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } else { StackFrame->AddrPC.Offset = StackFrame->AddrReturn.Offset; //AddrStack = AddrFrame + 2*sizeof(DWORD); - if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) StackFrame->AddrFrame.Offset, &StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) StackFrame->AddrFrame.Offset, (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) return FALSE; - if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), &StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } - ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD)), StackFrame->Params, sizeof(StackFrame->Params), NULL); + ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD)), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); return TRUE; } diff --git a/lib/exceptionhandler/include/libcoff.h b/lib/exceptionhandler/include/libcoff.h index c0279e5e8..c44176a59 100644 --- a/lib/exceptionhandler/include/libcoff.h +++ b/lib/exceptionhandler/include/libcoff.h @@ -257,7 +257,7 @@ struct coff_link_hash_entry unsigned short type; /* Symbol class. */ - unsigned char class; + unsigned char class_; /* Number of auxiliary entries. */ char numaux; @@ -395,7 +395,7 @@ struct coff_debug_merge_type struct coff_debug_merge_type *next; /* Class of type. */ - int class; + int class_; /* Symbol index where this type is defined. */ long indx; From 23d5dcd5dd9a0c200321260b5b5458a89158cff4 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 17:20:48 +0100 Subject: [PATCH 005/142] Remove extern "C" {} from most places, due to longer being needed. --- lib/exceptionhandler/dumpinfo.h | 9 --------- lib/framework/SDL_framerate.h | 12 ------------ lib/framework/configfile.h | 9 --------- lib/framework/crc.h | 9 --------- lib/framework/cursors.h | 9 --------- lib/framework/debug.h | 17 ----------------- lib/framework/file.h | 9 --------- lib/framework/fixedpoint.h | 9 --------- lib/framework/frameint.h | 9 --------- lib/framework/frameresource.h | 9 --------- lib/framework/i18n.h | 9 --------- lib/framework/input.h | 9 --------- lib/framework/lexer_input.h | 9 --------- lib/framework/listmacs.h | 9 --------- lib/framework/macros.h | 9 --------- lib/framework/physfs_ext.h | 9 --------- lib/framework/resly.h | 9 --------- lib/framework/stdio_ext.h | 8 -------- lib/framework/string_ext.h | 8 -------- lib/framework/strres.h | 9 --------- lib/framework/strresly.h | 9 --------- lib/framework/tagfile.h | 9 --------- lib/framework/treap.h | 9 --------- lib/framework/trig.h | 9 --------- lib/framework/vector.h | 10 ---------- lib/gamelib/anim.h | 9 --------- lib/gamelib/parser.h | 9 --------- lib/netplay/netlog.h | 9 --------- lib/netplay/netsocket.h | 9 --------- lib/script/chat_processing.h | 9 --------- lib/script/codeprint.h | 9 --------- lib/script/event.h | 9 --------- lib/script/eventsave.h | 9 --------- lib/script/interpreter.h | 9 --------- lib/script/parse.h | 9 --------- lib/script/script.h | 9 --------- lib/script/stack.h | 9 --------- lib/sound/aud.h | 9 --------- lib/sound/audio.h | 9 --------- lib/sound/audio_id.h | 9 --------- lib/sound/cdaudio.h | 9 --------- lib/sound/mixer.h | 9 --------- lib/sound/oggvorbis.h | 9 --------- lib/sound/openal_error.h | 9 --------- lib/sound/playlist.h | 9 --------- lib/sound/track.h | 9 --------- lib/sound/tracklib.h | 9 --------- lib/widget/scrap.h | 9 --------- lib/widget/tip.h | 9 --------- src/action.h | 9 --------- src/actiondef.h | 9 --------- src/advvis.h | 9 --------- src/ai.h | 9 --------- src/aiexperience.h | 9 --------- src/anim_id.h | 9 --------- src/astar.h | 9 --------- src/atmos.h | 9 --------- src/baseobject.h | 9 --------- src/bridge.h | 9 --------- src/bucket3d.h | 9 --------- src/challenge.h | 9 --------- src/cheat.h | 9 --------- src/clparse.h | 9 --------- src/cluster.h | 9 --------- src/cmddroid.h | 9 --------- src/combat.h | 9 --------- src/component.h | 9 --------- src/configuration.h | 9 --------- src/console.h | 9 --------- src/data.h | 9 --------- src/design.h | 9 --------- src/difficulty.h | 9 --------- src/display.h | 9 --------- src/display3d.h | 9 --------- src/display3ddef.h | 9 --------- src/displaydef.h | 9 --------- src/drive.h | 9 --------- src/e3demo.h | 9 --------- src/edit3d.h | 9 --------- src/effects.h | 9 --------- src/feature.h | 9 --------- src/fpath.h | 9 --------- src/frend.h | 9 --------- src/frontend.h | 9 --------- src/function.h | 9 --------- src/game.h | 9 --------- src/gateway.h | 9 --------- src/geometry.h | 9 --------- src/group.h | 9 --------- src/hci.h | 9 --------- src/ingameop.h | 9 --------- src/init.h | 9 --------- src/intdisplay.h | 9 --------- src/intelmap.h | 9 --------- src/intfac.h | 9 --------- src/intimage.h | 9 --------- src/intorder.h | 9 --------- src/keyedit.h | 9 --------- src/keymap.h | 9 --------- src/levelint.h | 9 --------- src/levels.h | 9 --------- src/lighting.h | 9 --------- src/loadsave.h | 9 --------- src/loop.h | 9 --------- src/main.h | 9 --------- src/map.h | 9 --------- src/mapdisplay.h | 9 --------- src/mapgrid.h | 9 --------- src/mechanics.h | 9 --------- src/message.h | 9 --------- src/messagedef.h | 9 --------- src/messagely.h | 9 --------- src/miscimd.h | 9 --------- src/missiondef.h | 9 --------- src/modding.h | 9 --------- src/move.h | 9 --------- src/movedef.h | 9 --------- src/multigifts.h | 9 --------- src/multiint.h | 9 --------- src/multijoin.h | 15 --------------- src/multilimit.h | 9 --------- src/multirecv.h | 9 --------- src/multistat.h | 9 --------- src/objectdef.h | 6 ------ src/objmem.h | 9 --------- src/oprint.h | 9 --------- src/order.h | 9 --------- src/orderdef.h | 9 --------- src/parsetest.h | 9 --------- src/positiondef.h | 9 --------- src/power.h | 9 --------- src/projectile.h | 9 --------- src/radar.h | 9 --------- src/raycast.h | 10 ---------- src/research.h | 9 --------- src/scores.h | 9 --------- src/scriptai.h | 9 --------- src/scriptcb.h | 9 --------- src/scriptextern.h | 9 --------- src/scriptfuncs.h | 9 --------- src/scriptobj.h | 9 --------- src/scripttabs.h | 9 --------- src/scriptvals.h | 9 --------- src/selection.h | 9 --------- src/seqdisp.h | 9 --------- src/stats.h | 9 --------- src/stringdef.h | 9 --------- src/terrain.h | 9 --------- src/text.h | 9 --------- src/texture.h | 9 --------- src/transporter.h | 9 --------- src/version.h | 8 -------- src/visibility.h | 9 --------- src/warcam.h | 9 --------- src/warzoneconfig.h | 9 --------- src/wavecast.h | 9 --------- src/weapondef.h | 9 --------- src/wrappers.h | 9 --------- 158 files changed, 1435 deletions(-) diff --git a/lib/exceptionhandler/dumpinfo.h b/lib/exceptionhandler/dumpinfo.h index 2b63c2c10..71b38ac89 100644 --- a/lib/exceptionhandler/dumpinfo.h +++ b/lib/exceptionhandler/dumpinfo.h @@ -23,11 +23,6 @@ #include "lib/framework/frame.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - #if defined(WZ_OS_WIN) typedef HANDLE DumpFileHandle; #else @@ -47,8 +42,4 @@ extern void dbgDumpInit(int argc, char* argv[]); extern void addDumpInfo(const char *inbuffer); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_EXCEPTIONHANDLER_DUMPINFO_H__ diff --git a/lib/framework/SDL_framerate.h b/lib/framework/SDL_framerate.h index 49fb86ab7..1a4468d29 100644 --- a/lib/framework/SDL_framerate.h +++ b/lib/framework/SDL_framerate.h @@ -10,13 +10,6 @@ #ifndef _SDL_framerate_h #define _SDL_framerate_h -/* Set up for C function definitions, even when using C++ */ -#ifdef __cplusplus -extern "C" { -#endif - -/* --- */ - #include /* --------- Definitions */ @@ -45,9 +38,4 @@ extern "C" { /* --- */ -/* Ends C function definitions when using C++ */ -#ifdef __cplusplus -} -#endif - #endif /* _SDL_framerate_h */ diff --git a/lib/framework/configfile.h b/lib/framework/configfile.h index 96bb907b9..0155ef4fd 100644 --- a/lib/framework/configfile.h +++ b/lib/framework/configfile.h @@ -26,11 +26,6 @@ #include "types.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern void registry_clear(void); extern bool openWarzoneKey(void); extern bool closeWarzoneKey(void); @@ -40,8 +35,4 @@ extern bool getWarzoneKeyString(const char* key, char* val); extern bool setWarzoneKeyString(const char* key, const char* val); extern void setRegistryFilePath(const char* fileName); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // _INCLUDE_LIB_FRAMEWORK_CONFIGFILE_H_ diff --git a/lib/framework/crc.h b/lib/framework/crc.h index 13c3a2787..508c8eece 100644 --- a/lib/framework/crc.h +++ b/lib/framework/crc.h @@ -23,17 +23,8 @@ #include "types.h" #include "vector.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - uint32_t crcSum(uint32_t crc, const void *data, size_t dataLen); uint32_t crcSumU16(uint32_t crc, const uint16_t *data, size_t dataLen); uint32_t crcSumVector2i(uint32_t crc, const Vector2i *data, size_t dataLen); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif //_CRC_H_ diff --git a/lib/framework/cursors.h b/lib/framework/cursors.h index f569d51ad..2b8125a96 100644 --- a/lib/framework/cursors.h +++ b/lib/framework/cursors.h @@ -26,11 +26,6 @@ #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum { @@ -76,8 +71,4 @@ extern SDL_Cursor* init_system_cursor(CURSOR cur, enum CURSOR_TYPE type); extern SDL_Cursor* init_system_cursor16(CURSOR cur); extern SDL_Cursor* init_system_cursor32(CURSOR cur); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_LIB_FRAMEWORK_CURSORS_H__ diff --git a/lib/framework/debug.h b/lib/framework/debug.h index 35e6c60c1..c062267a4 100644 --- a/lib/framework/debug.h +++ b/lib/framework/debug.h @@ -40,11 +40,6 @@ #include "macros.h" #include "types.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - /**************************************************************************************** * * Basic debugging macro's @@ -131,18 +126,10 @@ extern bool assertEnabled; * * \note BUILD_BUG_ON_ZERO from */ -#ifndef __cplusplus -#define STATIC_ASSERT_EXPR( expr ) \ - (sizeof(struct { int:-!(expr); })) -#else //cplusplus -} template class StaticAssert; template<> class StaticAssert{}; #define STATIC_ASSERT_EXPR(expr) \ (sizeof(StaticAssert<(expr)>)) -extern "C" -{ -#endif //cplusplus /** * Compile time assert * Not to be used in global context! @@ -286,10 +273,6 @@ void debug_MEMCHKON(void); void debug_MEMSTATS(void); #endif -#if defined(__cplusplus) -} -#endif - /** Checks if a particular debub flag was enabled */ extern bool debugPartEnabled(code_part codePart); diff --git a/lib/framework/file.h b/lib/framework/file.h index 2a7b963dd..5b29857cd 100644 --- a/lib/framework/file.h +++ b/lib/framework/file.h @@ -21,11 +21,6 @@ #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /*! Open a file for reading */ extern PHYSFS_file* openLoadFile(const char* fileName, bool hard_fail); @@ -47,8 +42,4 @@ extern bool loadFileToBuffer(const char *pFileName, char *pFileBuffer, UDWORD bu extern bool loadFileToBufferNoError(const char *pFileName, char *pFileBuffer, UDWORD bufferSize, UDWORD *pSize); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // _file_h diff --git a/lib/framework/fixedpoint.h b/lib/framework/fixedpoint.h index 42f170c35..29ed8de2e 100644 --- a/lib/framework/fixedpoint.h +++ b/lib/framework/fixedpoint.h @@ -28,11 +28,6 @@ #include "wzglobal.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - //! PSX-style float emulation: 12 digit semi-floats stored in an int // FIXME! #define FP12_SHIFT 12 @@ -51,8 +46,4 @@ static inline WZ_DECL_CONST float UNDEG(uint16_t angle) { return angle * (360 / // 65536 / 360 = 8192 / 45, with a bit less overflow risk. #define DEG(degrees) ((degrees) * 8192 / 45) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // FIXEDPOINT_H diff --git a/lib/framework/frameint.h b/lib/framework/frameint.h index 45548df15..96dbcc873 100644 --- a/lib/framework/frameint.h +++ b/lib/framework/frameint.h @@ -23,11 +23,6 @@ #ifndef _frameint_h #define _frameint_h -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Check the header files have been included from frame.h if they * are used outside of the framework library. */ @@ -58,8 +53,4 @@ extern UDWORD screenWidth; extern UDWORD screenHeight; extern UDWORD screenDepth; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif //_frameint_h diff --git a/lib/framework/frameresource.h b/lib/framework/frameresource.h index a631d2e9e..bd9a01bff 100644 --- a/lib/framework/frameresource.h +++ b/lib/framework/frameresource.h @@ -26,11 +26,6 @@ #include "lib/framework/frame.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - /** Maximum number of characters in a resource type. */ #define RESTYPE_MAXCHAR 20 @@ -143,8 +138,4 @@ const char *GetLastResourceFilename(void) WZ_DECL_PURE; /** Set the resource name of the last resource file loaded. */ void SetLastResourceFilename(const char *pName); -#if defined(__cplusplus) -} -#endif - #endif // _frameresource_h diff --git a/lib/framework/i18n.h b/lib/framework/i18n.h index 9b821bb5d..8aafc568b 100644 --- a/lib/framework/i18n.h +++ b/lib/framework/i18n.h @@ -29,11 +29,6 @@ #include "gettext.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // Enable NLS for our parsers when it's enabled for us #define YYENABLE_NLS ENABLE_NLS @@ -60,8 +55,4 @@ extern bool setLanguage(const char *name); extern void setNextLanguage(void); extern void initI18n(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // _i18n_h diff --git a/lib/framework/input.h b/lib/framework/input.h index 7a07124aa..0fe8761b5 100644 --- a/lib/framework/input.h +++ b/lib/framework/input.h @@ -35,11 +35,6 @@ #include "lib/framework/utf.h" #include "vector.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** Defines for all the key codes used. */ typedef enum _key_code { @@ -243,8 +238,4 @@ extern UDWORD inputGetKey(utf_32_char *unicode); /** Clear the input buffer. */ extern void inputClearBuffer(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/lexer_input.h b/lib/framework/lexer_input.h index b6dd01cee..57315533d 100644 --- a/lib/framework/lexer_input.h +++ b/lib/framework/lexer_input.h @@ -23,11 +23,6 @@ #include #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - enum lexinput_type { LEXINPUT_STDIO, @@ -64,8 +59,4 @@ do \ result = lexer_input(yyextra, buf, max_size, YY_NULL); \ } while(0) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_LIB_FRAMEWORK_LEXER_INPUT_H__ diff --git a/lib/framework/listmacs.h b/lib/framework/listmacs.h index 6ba708b47..d55b65458 100644 --- a/lib/framework/listmacs.h +++ b/lib/framework/listmacs.h @@ -30,11 +30,6 @@ #ifndef __INCLUDED_LIB_FRAMEWORK_LISTMACS_H__ #define __INCLUDED_LIB_FRAMEWORK_LISTMACS_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** * Append an entry to the end of a linked list */ @@ -90,8 +85,4 @@ extern "C" } \ } -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_LIB_FRAMEWORK_LISTMACS_H__ diff --git a/lib/framework/macros.h b/lib/framework/macros.h index c900d078e..34db55f25 100644 --- a/lib/framework/macros.h +++ b/lib/framework/macros.h @@ -23,11 +23,6 @@ #ifndef MACROS_H #define MACROS_H -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define MIN(a, b) (((a) < (b)) ? (a) : (b)) #define MAX(a, b) (((a) > (b)) ? (a) : (b)) @@ -57,8 +52,4 @@ extern "C" #define AT_MACRO __FILE__ ":" TOSTRING(__LINE__) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // MACROS_H diff --git a/lib/framework/physfs_ext.h b/lib/framework/physfs_ext.h index ead9f2d54..1e1a95cd3 100644 --- a/lib/framework/physfs_ext.h +++ b/lib/framework/physfs_ext.h @@ -21,11 +21,6 @@ #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define PHYSFS_APPEND 1 #define PHYSFS_PREPEND 0 @@ -92,8 +87,4 @@ static inline bool PHYSFS_readBEFloat(PHYSFS_file* file, float* val) bool PHYSFS_printf(PHYSFS_file *file, const char *format, ...) WZ_DECL_FORMAT(printf, 2, 3); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // _physfs_ext_h diff --git a/lib/framework/resly.h b/lib/framework/resly.h index b086cb79a..254249216 100644 --- a/lib/framework/resly.h +++ b/lib/framework/resly.h @@ -27,11 +27,6 @@ #include "lib/framework/lexer_input.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* The initial resource directory and the current resource directory */ extern char aResDir[PATH_MAX]; extern char aCurrResDir[PATH_MAX]; @@ -46,8 +41,4 @@ extern int res_parse(void); /* Destroy the lexer */ extern int res_lex_destroy(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/stdio_ext.h b/lib/framework/stdio_ext.h index cb45cfe08..7e41bdeaa 100644 --- a/lib/framework/stdio_ext.h +++ b/lib/framework/stdio_ext.h @@ -25,10 +25,6 @@ #include #include -#if defined(__cplusplus) -extern "C" { -#endif - /** A variant on snprintf which appends its output string to the given string * buffer, rather than to replace it. * \param str the string to append to @@ -115,8 +111,4 @@ do { \ sprintf(*var, fmt, __VA_ARGS__); \ } while(0) -#if defined(__cplusplus) -} -#endif - #endif // STDIO_EXT_H diff --git a/lib/framework/string_ext.h b/lib/framework/string_ext.h index a120c6de0..0e4c9cdc6 100644 --- a/lib/framework/string_ext.h +++ b/lib/framework/string_ext.h @@ -26,10 +26,6 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif - /*! * On MSVC, in order to squelch tons of 'memory leaks' we set the allocator @@ -180,8 +176,4 @@ static inline size_t strlcat(char *dest, const char *src, size_t size) #define sstrcmp(str1, str2) (WZ_ASSERT_STATIC_STRING(str1), WZ_ASSERT_STATIC_STRING(str2), strncmp((str1), (str2), sizeof(str1) > sizeof(str2) ? sizeof(str2) : sizeof(str1))) #endif -#ifdef __cplusplus -} -#endif - #endif // STRING_EXT_H diff --git a/lib/framework/strres.h b/lib/framework/strres.h index 832a2e95c..737f8dfa0 100644 --- a/lib/framework/strres.h +++ b/lib/framework/strres.h @@ -23,11 +23,6 @@ #ifndef _strres_h #define _strres_h -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // Forward declaration to allow pointers to this type struct STR_RES; @@ -53,8 +48,4 @@ extern bool strresLoad(struct STR_RES* psRes, const char* fileName); /* Get the ID string for a string */ extern const char* strresGetIDfromString(struct STR_RES *psRes, const char *pString); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/strresly.h b/lib/framework/strresly.h index 09b17b695..be18e201e 100644 --- a/lib/framework/strresly.h +++ b/lib/framework/strresly.h @@ -25,11 +25,6 @@ #include "lib/framework/lexer_input.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Set the current input buffer for the lexer - used by strresLoad */ extern void strres_set_extra(YY_EXTRA_TYPE user_defined); @@ -44,8 +39,4 @@ void strres_error(const char* msg); /* Store a string */ extern bool strresStoreString(struct STR_RES *psRes, const char* pID, const char* pString); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/tagfile.h b/lib/framework/tagfile.h index 5fdad8500..10ad5e326 100644 --- a/lib/framework/tagfile.h +++ b/lib/framework/tagfile.h @@ -33,11 +33,6 @@ #include "lib/framework/types.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef uint8_t element_t; /** Open definition file and data file; return true if successful. */ @@ -104,8 +99,4 @@ bool tagReads32v(element_t tag, uint16_t size, int32_t *vals); bool tagReadString(element_t tag, uint16_t size, char *buffer); char *tagReadStringDup(element_t tag); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/treap.h b/lib/framework/treap.h index 80a85ace9..05b5f0b08 100644 --- a/lib/framework/treap.h +++ b/lib/framework/treap.h @@ -32,11 +32,6 @@ #include "types.h" #include "debug.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /// Forward declarations to allow pointers to these types struct TREAP_NODE; @@ -61,8 +56,4 @@ extern const char* treapFindKey(struct TREAP_NODE** psTreap, const char* string) /* Destroy a treap and release all the memory associated with it */ extern void treapDestroy(struct TREAP_NODE** psTreap); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/trig.h b/lib/framework/trig.h index 03d0e18b3..fcac5bb28 100644 --- a/lib/framework/trig.h +++ b/lib/framework/trig.h @@ -28,11 +28,6 @@ #include "frame.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Initialise the Trig tables */ extern bool trigInitialise(void); @@ -55,8 +50,4 @@ static inline WZ_DECL_CONST int32_t angleDelta(int32_t a) return (int16_t)a; // Cast wrapping intended. } -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/framework/vector.h b/lib/framework/vector.h index bef56c4e3..577967af5 100644 --- a/lib/framework/vector.h +++ b/lib/framework/vector.h @@ -28,11 +28,6 @@ #include "frame.h" #include "math_ext.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct { int x, y; } Vector2i; typedef struct { float x, y; } Vector2f; typedef struct { int x, y, z; } Vector3i; @@ -720,9 +715,4 @@ static inline WZ_DECL_CONST Vector3i Vector3i_LinearInterpolate(const Vector3i f return Vector3i_Add(from, Vector3f_To3i(Vector3f_Mult(Vector3i_To3f(Vector3i_Sub(to, from)), s))); } - -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // VECTOR_H diff --git a/lib/gamelib/anim.h b/lib/gamelib/anim.h index d5e19ff71..b5245e23d 100644 --- a/lib/gamelib/anim.h +++ b/lib/gamelib/anim.h @@ -35,11 +35,6 @@ #include "lib/framework/types.h" #include "lib/ivis_common/imd.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define ANIM_MAX_STR 256 #define ANIM_DELAYED 0xFFFE #define NO_ANIM 0xFFFD @@ -120,8 +115,4 @@ UWORD anim_GetFrame3D(ANIM3D *psAnim, UWORD uwObj, UDWORD udwGraphicsT Vector3i *psVecScale); void anim_SetVals(char szFileName[], UWORD uwAnimID); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif /* _ANIM_H_ */ diff --git a/lib/gamelib/parser.h b/lib/gamelib/parser.h index 0b9471019..d24f59dcf 100644 --- a/lib/gamelib/parser.h +++ b/lib/gamelib/parser.h @@ -23,15 +23,6 @@ #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern bool ParseResourceFile(PHYSFS_file* fileHandle); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif /* _PARSER_H_ */ diff --git a/lib/netplay/netlog.h b/lib/netplay/netlog.h index 6882101c0..de2669cc2 100644 --- a/lib/netplay/netlog.h +++ b/lib/netplay/netlog.h @@ -24,18 +24,9 @@ #include "netplay.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - BOOL NETstartLogging(void); BOOL NETstopLogging(void); BOOL NETlogEntry( const char *str, UDWORD a, UDWORD b ); void NETlogPacket(uint8_t type, uint32_t size, BOOL received); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // _netlog_h diff --git a/lib/netplay/netsocket.h b/lib/netplay/netsocket.h index 787b1df0b..e9e6f1e12 100644 --- a/lib/netplay/netsocket.h +++ b/lib/netplay/netsocket.h @@ -23,11 +23,6 @@ #include "lib/framework/types.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct Socket Socket; typedef struct SocketSet SocketSet; typedef struct addrinfo SocketAddress; @@ -78,8 +73,4 @@ void SocketSet_AddSocket(SocketSet *set, Socket *socket); ///< Add void SocketSet_DelSocket(SocketSet *set, Socket *socket); ///< Removes a Socket from a SocketSet. int checkSockets(const SocketSet *set, unsigned int timeout); ///< Checks which Sockets are ready for reading. Returns the number of ready Sockets, or returns SOCKET_ERROR on error. -#ifdef __cplusplus -} -#endif //__cplusplus - #endif //_net_socket_h diff --git a/lib/script/chat_processing.h b/lib/script/chat_processing.h index 969c56e03..89af5e631 100644 --- a/lib/script/chat_processing.h +++ b/lib/script/chat_processing.h @@ -28,11 +28,6 @@ #include "lib/framework/frame.h" #include "script.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #ifndef MAXSTRLEN #define MAXSTRLEN 255 #endif @@ -74,8 +69,4 @@ extern void chatSetInputBuffer(char *pBuffer, UDWORD size); // Load message extern BOOL chatLoad(char *pData, UDWORD size); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/codeprint.h b/lib/script/codeprint.h index 2192eb590..d3fda1f3a 100644 --- a/lib/script/codeprint.h +++ b/lib/script/codeprint.h @@ -28,11 +28,6 @@ #include "lib/script/interpreter.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Display the contents of a program in readable form */ extern void cpPrintProgram(SCRIPT_CODE *psProg); @@ -45,8 +40,4 @@ extern void cpPrintPackedVal(INTERP_VAL *ip); /* Print a variable access function name */ extern void cpPrintVarFunc(SCRIPT_VARFUNC pFunc, UDWORD index); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/event.h b/lib/script/event.h index b5065ea57..04bbb82e0 100644 --- a/lib/script/event.h +++ b/lib/script/event.h @@ -28,11 +28,6 @@ #include "interpreter.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* The number of values in a context value chunk */ #define CONTEXT_VALS 20 @@ -162,8 +157,4 @@ extern void eventTimeReset(UDWORD initTime); extern const char *eventGetEventID(SCRIPT_CODE *psCode, SDWORD event); extern const char *eventGetTriggerID(SCRIPT_CODE *psCode, SDWORD trigger); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/eventsave.h b/lib/script/eventsave.h index a0c53342b..bf1d9a069 100644 --- a/lib/script/eventsave.h +++ b/lib/script/eventsave.h @@ -27,19 +27,10 @@ #ifndef _evntsave_h #define _evntsave_h -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // Save the state of the event system extern BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize); // Load the state of the event system extern BOOL eventLoadState(char *pBuffer, UDWORD fileSize, BOOL bHashed); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/interpreter.h b/lib/script/interpreter.h index 0c5dbfcfe..ef92bb024 100644 --- a/lib/script/interpreter.h +++ b/lib/script/interpreter.h @@ -25,11 +25,6 @@ #ifndef _interp_h #define _interp_h -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* The type of function called by an OP_CALL */ typedef BOOL (*SCRIPT_FUNC)(void); @@ -289,8 +284,4 @@ extern BOOL interpProcessorActive(void); /* Output script call stack trace */ extern void scrOutputCallTrace(code_part part); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/parse.h b/lib/script/parse.h index 6ddb9b0ec..25db5d5a5 100644 --- a/lib/script/parse.h +++ b/lib/script/parse.h @@ -29,11 +29,6 @@ #include "interpreter.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #ifndef MAXSTRLEN #define MAXSTRLEN 255 #endif @@ -366,8 +361,4 @@ extern void widgCopyString(char *pDest, const char *pSrc); // FIXME Duplicate de extern void script_debug(const char *pFormat, ...); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/script.h b/lib/script/script.h index 79d19e15e..dc42b96a2 100644 --- a/lib/script/script.h +++ b/lib/script/script.h @@ -32,11 +32,6 @@ #include "event.h" #include "eventsave.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Whether to include debug info when compiling */ typedef enum _scr_debugtype { @@ -228,8 +223,4 @@ extern BOOL eventSetTrigger(void); // 3 - as 2 but show tested but not fired triggers as well extern BOOL eventSetTraceLevel(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/script/stack.h b/lib/script/stack.h index e68ca36f9..8787a13f5 100644 --- a/lib/script/stack.h +++ b/lib/script/stack.h @@ -27,11 +27,6 @@ #include "interpreter.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - //String support //----------------------------- #define MAXSTRLEN 255 //Max len of a single string @@ -83,8 +78,4 @@ extern BOOL stackCastTop(INTERP_TYPE neededType); /* Reset the stack to an empty state */ extern void stackReset(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/lib/sound/aud.h b/lib/sound/aud.h index e3082023e..4f812fece 100644 --- a/lib/sound/aud.h +++ b/lib/sound/aud.h @@ -26,11 +26,6 @@ #include "lib/framework/vector.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - void audio_GetObjectPos( void *psObj, SDWORD *piX, SDWORD *piY, SDWORD *piZ ); void audio_GetStaticPos( SDWORD iWorldX, SDWORD iWorldY, @@ -39,8 +34,4 @@ BOOL audio_ObjectDead( void * psObj ); Vector3f audio_GetPlayerPos(void); void audio_Get3DPlayerRotAboutVerticalAxis(float *angle); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_AUD_H__ diff --git a/lib/sound/audio.h b/lib/sound/audio.h index 0311efe67..e77de609a 100644 --- a/lib/sound/audio.h +++ b/lib/sound/audio.h @@ -23,11 +23,6 @@ #include "track.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - extern BOOL audio_Init( AUDIO_CALLBACK pStopTrackCallback ); extern void audio_Update(void); extern BOOL audio_Shutdown(void); @@ -71,10 +66,6 @@ extern unsigned int audio_GetSampleQueueCount(void); extern unsigned int audio_GetSampleListCount(void); extern unsigned int sound_GetActiveSamplesCount(void); -#if defined(__cplusplus) -} -#endif - extern void audioTest(void); #endif // __INCLUDED_LIB_SOUND_AUDIO_H__ diff --git a/lib/sound/audio_id.h b/lib/sound/audio_id.h index 6108899c7..51347f744 100644 --- a/lib/sound/audio_id.h +++ b/lib/sound/audio_id.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_LIB_SOUND_AUDIO_ID_H__ #define __INCLUDED_LIB_SOUND_AUDIO_ID_H__ -#if defined(__cplusplus) -extern "C" -{ -#endif - /* INGAME AUDIO */ typedef enum @@ -504,8 +499,4 @@ INGAME_AUDIO; INGAME_AUDIO audio_GetIDFromStr(const char *pWavStr); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_AUDIO_ID_H__ diff --git a/lib/sound/cdaudio.h b/lib/sound/cdaudio.h index 1f19ea7a1..d51cf80f0 100644 --- a/lib/sound/cdaudio.h +++ b/lib/sound/cdaudio.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_LIB_SOUND_CDAUDIO_H__ #define __INCLUDED_LIB_SOUND_CDAUDIO_H__ -#if defined(__cplusplus) -extern "C" -{ -#endif - typedef enum { SONG_FRONTEND, @@ -39,8 +34,4 @@ void cdAudio_Stop(void); void cdAudio_Pause(void); void cdAudio_Resume(void); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_CDAUDIO_H__ diff --git a/lib/sound/mixer.h b/lib/sound/mixer.h index 729d54dc7..a9dca9573 100644 --- a/lib/sound/mixer.h +++ b/lib/sound/mixer.h @@ -24,11 +24,6 @@ #include "lib/framework/frame.h" #include "audio.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - float sound_GetMusicVolume(void); void sound_SetMusicVolume(float volume); float sound_GetUIVolume(void ); @@ -36,8 +31,4 @@ void sound_SetUIVolume(float volume); float sound_GetEffectsVolume(void); void sound_SetEffectsVolume(float volume); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_MIXER_H__ diff --git a/lib/sound/oggvorbis.h b/lib/sound/oggvorbis.h index b490f9bf3..ddfe0dfae 100644 --- a/lib/sound/oggvorbis.h +++ b/lib/sound/oggvorbis.h @@ -23,11 +23,6 @@ #include "lib/framework/frame.h" #include -#if defined(__cplusplus) -extern "C" -{ -#endif - typedef struct { // the size of the data contained in *data (NOTE: this is *NOT* the size of *data itself) @@ -52,8 +47,4 @@ void sound_DestroyOggVorbisDecoder(struct OggVorbisDecoderState* decoder); soundDataBuffer* sound_DecodeOggVorbis(struct OggVorbisDecoderState* decoder, size_t bufferSize); -#if defined(__cplusplus) -} -#endif - #endif // _LIBSOUND_OGGVORBIS_H_ diff --git a/lib/sound/openal_error.h b/lib/sound/openal_error.h index 2d2775e66..e9dac4c8a 100644 --- a/lib/sound/openal_error.h +++ b/lib/sound/openal_error.h @@ -32,11 +32,6 @@ # include #endif -#if defined(__cplusplus) -extern "C" -{ -#endif - extern ALenum __sound_GetError(const char* location_description); extern ALenum __sound_GetContextError(ALCdevice* device, const char* location_description); @@ -60,8 +55,4 @@ extern ALenum __sound_GetContextError(ALCdevice* device, const char* location_de # define sound_GetContextError(err_code) ALC_NO_ERROR #endif // !defined(WZ_NOSOUND) -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_OPENAL_ERROR_H__ diff --git a/lib/sound/playlist.h b/lib/sound/playlist.h index 380dcf547..2cb8dbf99 100644 --- a/lib/sound/playlist.h +++ b/lib/sound/playlist.h @@ -23,11 +23,6 @@ #include "lib/framework/types.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - void PlayList_Init(void); void PlayList_Quit(void); bool PlayList_Read(const char* path); @@ -35,8 +30,4 @@ const char* PlayList_CurrentSong(void); const char* PlayList_NextSong(void); void playListTest(void); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_PLAYLIST_H__ diff --git a/lib/sound/track.h b/lib/sound/track.h index 428a30777..1b9fc8cfa 100644 --- a/lib/sound/track.h +++ b/lib/sound/track.h @@ -32,11 +32,6 @@ # endif #endif -#if defined(__cplusplus) -extern "C" -{ -#endif - #define ATTENUATION_FACTOR 0.0003f #define SAMPLE_NOT_ALLOCATED -1 @@ -138,10 +133,6 @@ extern AUDIO_STREAM* sound_PlayStreamWithBuf(PHYSFS_file* fileHandle, float volu extern float sound_GetStreamVolume(const AUDIO_STREAM* stream); extern void sound_SetStreamVolume(AUDIO_STREAM* stream, float volume); -#if defined(__cplusplus) -} -#endif - void soundTest(void); #endif // __INCLUDED_LIB_SOUND_TRACK_H__ diff --git a/lib/sound/tracklib.h b/lib/sound/tracklib.h index 0fcf42dac..074bb15fb 100644 --- a/lib/sound/tracklib.h +++ b/lib/sound/tracklib.h @@ -28,11 +28,6 @@ #include "track.h" #include "lib/framework/vector.h" -#if defined(__cplusplus) -extern "C" -{ -#endif - BOOL sound_InitLibrary( void ); void sound_ShutdownLibrary( void ); @@ -73,8 +68,4 @@ unsigned int sound_GetActiveSamplesCount(void); UDWORD sound_GetGameTime( void ); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_LIB_SOUND_TRACKLIB_H__ diff --git a/lib/widget/scrap.h b/lib/widget/scrap.h index ddfdcc36b..abbb7719d 100644 --- a/lib/widget/scrap.h +++ b/lib/widget/scrap.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_LIB_WIDGET_SCRAP_H__ #define __INCLUDED_LIB_WIDGET_SCRAP_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Miscellaneous defines */ #define T(A, B, C, D) (int)((A<<24)|(B<<16)|(C<<8)|(D<<0)) @@ -37,8 +32,4 @@ extern int lost_scrap(void); extern void put_scrap(int type, int srclen, char *src); extern void get_scrap(int type, int *dstlen, char **dst); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_LIB_WIDGET_SCRAP_H__ diff --git a/lib/widget/tip.h b/lib/widget/tip.h index 54cd69f6c..8ea1fbeac 100644 --- a/lib/widget/tip.h +++ b/lib/widget/tip.h @@ -27,11 +27,6 @@ #include "lib/ivis_common/textdraw.h" #include "lib/widget/widgbase.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Initialise the tool tip module */ extern void tipInitialise(void); @@ -57,8 +52,4 @@ extern void tipStop(WIDGET *psSource); /* Update and possibly display the tip */ extern void tipDisplay(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_LIB_WIDGET_TIP_H__ diff --git a/src/action.h b/src/action.h index 95da9fcf9..412bf12de 100644 --- a/src/action.h +++ b/src/action.h @@ -27,11 +27,6 @@ #include "actiondef.h" #include "droiddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** * @file action.h * Droid actions. @@ -105,8 +100,4 @@ bool actionVTOLLandingPos(const DROID* psDroid, UDWORD* px, UDWORD* py); /** @} */ -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ACTION_H__ diff --git a/src/actiondef.h b/src/actiondef.h index 02ed02ba4..adbeb98d1 100644 --- a/src/actiondef.h +++ b/src/actiondef.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_ACTIONDEF_H__ #define __INCLUDED_SRC_ACTIONDEF_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** * What a droid is currently doing. Not necessarily the same as its order as the micro-AI may get a droid to do * something else whilst carrying out an order. @@ -81,8 +76,4 @@ typedef enum _droid_action DACTION_CIRCLE = 41, ///< 41 circling while engaging } DROID_ACTION; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ACTIONDEF_H__ diff --git a/src/advvis.h b/src/advvis.h index 34a5a9974..ab7c576bc 100644 --- a/src/advvis.h +++ b/src/advvis.h @@ -23,19 +23,10 @@ #include "basedef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - void avUpdateTiles(void); UDWORD avGetObjLightLevel(BASE_OBJECT *psObj, UDWORD origLevel); void setRevealStatus(BOOL val); BOOL getRevealStatus(void); void preProcessVisibility(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ADVVIS_H__ diff --git a/src/ai.h b/src/ai.h index 65104229a..d7482db70 100644 --- a/src/ai.h +++ b/src/ai.h @@ -26,11 +26,6 @@ #include "droiddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define ALLIANCE_BROKEN 0 // states of alliance between players #define ALLIANCE_REQUESTED 1 #define ALLIANCE_INVITATION 2 @@ -82,8 +77,4 @@ BOOL aiChooseSensorTarget(BASE_OBJECT *psObj, BASE_OBJECT **ppsTarget); can fire on the propulsion type of the target*/ BOOL validTarget(BASE_OBJECT *psObject, BASE_OBJECT *psTarget, int weapon_slot); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_AI_H__ diff --git a/src/aiexperience.h b/src/aiexperience.h index edac8381e..7d0f26fdc 100644 --- a/src/aiexperience.h +++ b/src/aiexperience.h @@ -20,11 +20,6 @@ #ifndef __INCLUDED_SRC_AIEXPERIENCE_H__ #define __INCLUDED_SRC_AIEXPERIENCE_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define MAX_OIL_DEFEND_LOCATIONS 100 //max number of attack locations to store #define MAX_BASE_DEFEND_LOCATIONS 30 //max number of base locations to store @@ -57,8 +52,4 @@ bool CanRememberPlayerOilDefenseLoc(SDWORD player, SDWORD index); void BaseExperienceDebug(SDWORD nPlayer); void OilExperienceDebug(SDWORD nPlayer); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_AIEXPERIENCE_H__ diff --git a/src/anim_id.h b/src/anim_id.h index 27312d5c8..c6155592f 100644 --- a/src/anim_id.h +++ b/src/anim_id.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_ANIM_ID_H__ #define __INCLUDED_SRC_ANIM_ID_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define ID_ANIM_DROIDWALK 0 #define ID_ANIM_DROIDFIRE 1 #define ID_ANIM_DROIDRUN 2 @@ -38,8 +33,4 @@ extern "C" #define ID_ANIM_CYBORG_PACK_RUN 9 #define ID_ANIM_SUPERCYBORG_RUN 10 -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ANIM_ID_H__ diff --git a/src/astar.h b/src/astar.h index e0cf10cac..28d0b3f0f 100644 --- a/src/astar.h +++ b/src/astar.h @@ -23,11 +23,6 @@ #include "fpath.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** return codes for astar * * @ingroup pathfinding @@ -57,8 +52,4 @@ void fpathSetBlockingMap(PATHJOB *psJob); */ extern void fpathHardTableReset(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ASTART_H__ diff --git a/src/atmos.h b/src/atmos.h index be3365bf5..a3fd61c10 100644 --- a/src/atmos.h +++ b/src/atmos.h @@ -24,11 +24,6 @@ #include "lib/framework/vector.h" #include "lib/ivis_common/ivisdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct _atmosParticle { UBYTE status; @@ -53,8 +48,4 @@ void atmosDrawParticles(void); void atmosSetWeatherType(WT_CLASS type); WT_CLASS atmosGetWeatherType(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ATMOS_H__ diff --git a/src/baseobject.h b/src/baseobject.h index 28cbec700..062342ff3 100644 --- a/src/baseobject.h +++ b/src/baseobject.h @@ -26,11 +26,6 @@ #include "basedef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - static const unsigned int max_check_object_recursion = 4; /// Get interpolated direction at time t. @@ -43,8 +38,4 @@ void checkObject(const BASE_OBJECT* psObject, const char * const location_descri /* assert if object is bad */ #define CHECK_OBJECT(object) checkObject((object), AT_MACRO, __FUNCTION__, max_check_object_recursion) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_BASEOBJECT_H__ diff --git a/src/bridge.h b/src/bridge.h index a6ad7b3f5..3be53f487 100644 --- a/src/bridge.h +++ b/src/bridge.h @@ -23,11 +23,6 @@ #include "structuredef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct _bridge_info { int startX, startY, endX, endY; // Copy of coordinates of bridge. @@ -49,8 +44,4 @@ void getBridgeInfo(int startX, int startY, int endX, int endY, BRIDGE_INFO *info /* FIX ME - this is used in debug to test the bridge build code */ void testBuildBridge(UDWORD startX, UDWORD startY, UDWORD endX, UDWORD endY); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_BRIDGE_H__ diff --git a/src/bucket3d.h b/src/bucket3d.h index bba44f271..664a2ab17 100644 --- a/src/bucket3d.h +++ b/src/bucket3d.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_BUCKET3D_H__ #define __INCLUDED_SRC_BUCKET3D_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum _render_type { RENDER_DROID, @@ -48,8 +43,4 @@ void bucketAddTypeToList(RENDER_TYPE objectType, void *object); /* render Objects in list */ void bucketRenderCurrentList(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_BUCKET3D_H__ diff --git a/src/challenge.h b/src/challenge.h index 7bd6beb63..fcf7c6a46 100644 --- a/src/challenge.h +++ b/src/challenge.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_CHALLENGE_H__ #define __INCLUDED_SRC_CHALLENGE_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define CHALLENGE_SCORES "scores.ini" bool addChallenges(void); @@ -36,8 +31,4 @@ bool displayChallenges(void); extern bool challengesUp; extern bool challengeActive; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CHALLENGE_H__ diff --git a/src/cheat.h b/src/cheat.h index 4e6eff169..7be9d66f8 100644 --- a/src/cheat.h +++ b/src/cheat.h @@ -21,15 +21,6 @@ #ifndef __INCLUDED_SRC_CHEAT_H__ #define __INCLUDED_SRC_CHEAT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - BOOL attemptCheatCode(const char* cheat_name); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CHEAT_H__ diff --git a/src/clparse.h b/src/clparse.h index 4988f2383..c51f536ab 100644 --- a/src/clparse.h +++ b/src/clparse.h @@ -24,19 +24,10 @@ #ifndef __INCLUDED_SRC_CLPARSE_H__ #define __INCLUDED_SRC_CLPARSE_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // parse the commandline bool ParseCommandLine(int argc, const char** argv); bool ParseCommandLineEarly(int argc, const char** argv); extern BOOL bAllowDebugMode; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CLPARSE_H__ diff --git a/src/cluster.h b/src/cluster.h index acc619047..a1408c529 100644 --- a/src/cluster.h +++ b/src/cluster.h @@ -27,11 +27,6 @@ #include "droiddef.h" #include "structuredef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // maximum number of clusters in a game #define CLUSTER_MAX UBYTE_MAX @@ -88,8 +83,4 @@ BASE_OBJECT *clustIterate(void); // reset the visibility for all clusters for a particular player void clustResetVisibility(SDWORD player); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CLUSTER_H__ diff --git a/src/cmddroid.h b/src/cmddroid.h index 61772bc74..d2cf34b5c 100644 --- a/src/cmddroid.h +++ b/src/cmddroid.h @@ -27,11 +27,6 @@ #include "cmddroiddef.h" #include "droiddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // Initialise the command droids extern BOOL cmdDroidInit(void); @@ -80,8 +75,4 @@ extern void cmdDroidMultiExpBoost(BOOL bDoit); // check whether commander experience should be increased extern BOOL cmdGetDroidMultiExpBoost(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CMDDROID_H__ diff --git a/src/combat.h b/src/combat.h index 040c44bff..9007256dc 100644 --- a/src/combat.h +++ b/src/combat.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_COMBAT_H__ #define __INCLUDED_SRC_COMBAT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // maximum difference in direction for a fixed turret to fire #define FIXED_TURRET_DIR DEG(1) @@ -57,8 +52,4 @@ int32_t objDamage(BASE_OBJECT *psObj, UDWORD damage, UDWORD originalhp, WEAPON_C unsigned int objGuessFutureDamage(WEAPON_STATS *psStats, unsigned int player, BASE_OBJECT *psTarget, HIT_SIDE impactSide); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_COMBAT_H__ diff --git a/src/component.h b/src/component.h index 07a9e3f62..a75d0b50c 100644 --- a/src/component.h +++ b/src/component.h @@ -24,11 +24,6 @@ #include "droiddef.h" #include "structuredef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Header file for component.c Pumpkin Studios, EIDOS Interactive. @@ -104,8 +99,4 @@ void destroyFXDroid(DROID *psDroid); /* Get a muzzle flash pie*/ #define MUZZLE_FLASH_PIE(DROID,WEAPON_NUM) (asWeaponStats[DROID->asWeaps[WEAPON_NUM].nStat].pMuzzleGraphic) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_COMPONENT_H__ diff --git a/src/configuration.h b/src/configuration.h index 21f3c83d1..b7618c6b6 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_CONFIGURATION_H__ #define __INCLUDED_SRC_CONFIGURATION_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - BOOL loadConfig(void); BOOL loadRenderMode(void); BOOL saveConfig(void); @@ -39,8 +34,4 @@ void setDefaultFrameRateLimit(void); /// Default map for Skirmish static const char DEFAULTSKIRMISHMAP[] = "Sk-Rush"; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CONFIGURATION_H__ diff --git a/src/console.h b/src/console.h index 03afe0195..22d2f3249 100644 --- a/src/console.h +++ b/src/console.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_CONSOLE_H__ #define __INCLUDED_SRC_CONSOLE_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define MAX_CONSOLE_MESSAGES (64) #define MAX_CONSOLE_STRING_LENGTH (255) #define MAX_CONSOLE_TMP_STRING_LENGTH (255) @@ -93,8 +88,4 @@ extern void console(const char *pFormat, ...); /// Print always to the ingame co sprintf x; \ addConsoleMessage(s,DEFAULT_JUSTIFY,SYSTEM_MESSAGE) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_CONSOLE_H__ diff --git a/src/data.h b/src/data.h index d9bfc8d2f..2795d7f4e 100644 --- a/src/data.h +++ b/src/data.h @@ -26,11 +26,6 @@ #include "lib/framework/types.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // used for multiplayer data integrity check. enum { DATA_SWEAPON, @@ -74,8 +69,4 @@ bool dataInitLoadFuncs(void); void dataSetSaveFlag(void); void dataClearSaveFlag(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DATA_H__ diff --git a/src/design.h b/src/design.h index 5d6cc4094..fb98c8f57 100644 --- a/src/design.h +++ b/src/design.h @@ -24,11 +24,6 @@ #include "lib/widget/widgbase.h" #include "src/droiddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Design screen ID's */ #define IDDES_FORM 5000 // The base form for the design screen #define IDDES_STATSFORM 5001 // The design screen stats form @@ -163,8 +158,4 @@ extern const char *GetDefaultTemplateName(DROID_TEMPLATE *psTemplate); extern BOOL intValidTemplate(DROID_TEMPLATE *psTempl, const char *newName); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DESIGN_H__ diff --git a/src/difficulty.h b/src/difficulty.h index 9f3917ecd..ef18435cd 100644 --- a/src/difficulty.h +++ b/src/difficulty.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_DIFFICULTY_H__ #define __INCLUDED_SRC_DIFFICULTY_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum _difficulty_level { DL_EASY, @@ -39,8 +34,4 @@ void setDifficultyLevel(DIFFICULTY_LEVEL lev); DIFFICULTY_LEVEL getDifficultyLevel(void); int modifyForDifficultyLevel(int basicVal, bool IsPlayer); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DIFFICULTY_H__ diff --git a/src/display.h b/src/display.h index 2b3665c7f..606a1ef51 100644 --- a/src/display.h +++ b/src/display.h @@ -27,11 +27,6 @@ #include "basedef.h" #include "structure.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Initialise the display system */ extern BOOL dispInitialise(void); @@ -229,8 +224,4 @@ extern BOOL ctrlShiftDown(void); extern UDWORD getTargetType(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DISPLAY_H__ diff --git a/src/display3d.h b/src/display3d.h index 40f5f15c6..d7ca6cb77 100644 --- a/src/display3d.h +++ b/src/display3d.h @@ -28,11 +28,6 @@ #include "objectdef.h" #include "message.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /*! * Special tile types @@ -146,8 +141,4 @@ extern bool CauseCrash; extern bool tuiTargetOrigin; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DISPLAY3D_H__ diff --git a/src/display3ddef.h b/src/display3ddef.h index fd249d7b2..5eae6abd6 100644 --- a/src/display3ddef.h +++ b/src/display3ddef.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_DISPLAY3DDEF_H__ #define __INCLUDED_SRC_DISPLAY3DDEF_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define TILE_WIDTH 128 #define TILE_HEIGHT 128 #define TILE_SIZE (TILE_WIDTH*TILE_HEIGHT) @@ -45,8 +40,4 @@ extern "C" #define SKY_SHIMMY_BASE ((DEG(1)*SKY_MULT)/2) #define SKY_SHIMMY (SKY_SHIMMY_BASE - (rand()%(2*SKY_SHIMMY_BASE))) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DISPLAY3DDEF_H__ diff --git a/src/displaydef.h b/src/displaydef.h index c0e5c7684..d5537795f 100644 --- a/src/displaydef.h +++ b/src/displaydef.h @@ -27,11 +27,6 @@ #include "lib/ivis_common/imd.h" #include "lib/ivis_common/pieclip.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define BOUNDARY_X (22) #define BOUNDARY_Y (22) //#define BOUNDARY_X (DISP_WIDTH/20) // proportional to resolution - Alex M @@ -45,8 +40,4 @@ typedef struct _screen_disp_data UDWORD screenR; } SCREEN_DISP_DATA; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_DISPLAYDEF_H__ diff --git a/src/drive.h b/src/drive.h index e3e835419..ff9f666d9 100644 --- a/src/drive.h +++ b/src/drive.h @@ -23,11 +23,6 @@ #include "droid.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern BOOL DirectControl; extern DROID *psDrivenDroid; @@ -99,8 +94,4 @@ SDWORD driveGetMoveDir(void); BOOL driveSetDirectControl(BOOL Control); BOOL driveSetWasDriving(BOOL Driving); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_DRIVE_H__ diff --git a/src/e3demo.h b/src/e3demo.h index ab20d8c3b..cc84670ce 100644 --- a/src/e3demo.h +++ b/src/e3demo.h @@ -21,19 +21,10 @@ #ifndef __INCLUDED_SRC_E3DEMO_H__ #define __INCLUDED_SRC_E3DEMO_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - void initDemoCamera(void); void processDemoCam(void); void toggleDemoStatus(void); BOOL demoGetStatus(void); void setFindNewTarget(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif //__INCLUDED_SRC_E3DEMO_H__ diff --git a/src/edit3d.h b/src/edit3d.h index d8e56fad9..a3c7c6b07 100644 --- a/src/edit3d.h +++ b/src/edit3d.h @@ -23,11 +23,6 @@ #include "map.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define TILE_RAISE 1 #define TILE_LOWER -1 #define MAX_TILE_HEIGHT 255 @@ -82,8 +77,4 @@ extern bool quickQueueMode; /*returns true if the build state is not equal to BUILD3D_NONE*/ extern BOOL tryingToGetLocation(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_EDIT3D_H__ diff --git a/src/effects.h b/src/effects.h index e04427cc9..9a33f7aa9 100644 --- a/src/effects.h +++ b/src/effects.h @@ -32,11 +32,6 @@ #include "lib/framework/fixedpoint.h" #include "lib/ivis_common/pietypes.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define SHOCK_WAVE_HEIGHT (64) @@ -171,8 +166,4 @@ void effectSetSize(UDWORD size); void effectSetLandLightSpec(LAND_LIGHT_SPEC spec); void SetEffectForPlayer(uint8_t player); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_EFFECTS_H__ diff --git a/src/feature.h b/src/feature.h index ab3f63aa6..44366e44b 100644 --- a/src/feature.h +++ b/src/feature.h @@ -26,11 +26,6 @@ #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* The statistics for the features */ extern FEATURE_STATS *asFeatureStats; extern UDWORD numFeatureStats; @@ -70,8 +65,4 @@ extern void featureInitVars(void); #define syncDebugFeature(psFeature, ch) _syncDebugFeature(__FUNCTION__, psFeature, ch) void _syncDebugFeature(const char *function, FEATURE *psFeature, char ch); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_FEATURE_H__ diff --git a/src/fpath.h b/src/fpath.h index 2a92cfab1..06f460365 100644 --- a/src/fpath.h +++ b/src/fpath.h @@ -26,11 +26,6 @@ #include "droiddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** Return values for routing * * @ingroup pathfinding @@ -123,8 +118,4 @@ void fpathTest(int x, int y, int x2, int y2); /** @} */ -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_FPATH_H__ diff --git a/src/frend.h b/src/frend.h index c1d967618..683443793 100644 --- a/src/frend.h +++ b/src/frend.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_FREND_H__ #define __INCLUDED_SRC_FREND_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - enum { IMAGE_FE_LOGO, IMAGE_COM1, @@ -277,8 +272,4 @@ enum { IMAGE_NO_TANK, }; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_FREND_H__ diff --git a/src/frontend.h b/src/frontend.h index 12f08a6a7..1043ae5f8 100644 --- a/src/frontend.h +++ b/src/frontend.h @@ -23,11 +23,6 @@ #include "lib/widget/widgbase.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // determines which option screen to use. when in GS_TITLE_SCREEN mode. typedef enum _title_mode { TITLE, // 0 intro mode @@ -243,8 +238,4 @@ enum }; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_FRONTEND_H__ diff --git a/src/function.h b/src/function.h index a439f8365..05afa9502 100644 --- a/src/function.h +++ b/src/function.h @@ -26,11 +26,6 @@ #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - //holder for all functions extern FUNCTION **asFunctions; extern UDWORD numFunctions; @@ -68,8 +63,4 @@ extern void upgradeTransporterDroids(DROID *psTransporter, extern BOOL FunctionShutDown(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_FUNCTION_H__ diff --git a/src/game.h b/src/game.h index d1008665a..91a4d021c 100644 --- a/src/game.h +++ b/src/game.h @@ -31,11 +31,6 @@ #include "lib/framework/vector.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /***************************************************************************/ /* * Global Definitions @@ -147,8 +142,4 @@ extern UDWORD getSaveGameType(void); BOOL plotStructurePreview16(char *backDropSprite, Vector2i playeridpos[]); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_GAME_H__ diff --git a/src/gateway.h b/src/gateway.h index 8af50a1e7..cfa447df8 100644 --- a/src/gateway.h +++ b/src/gateway.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_GATEWAY_H__ #define __INCLUDED_SRC_GATEWAY_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct _gateway { UBYTE x1,y1, x2,y2; @@ -56,8 +51,4 @@ GATEWAY *gwGetGateways(void); /// Set gateway list void gwSetGateways(GATEWAY *ps); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_GATEWAY_H__ diff --git a/src/geometry.h b/src/geometry.h index 70013975b..3cdda023b 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -24,11 +24,6 @@ #include "map.h" #include "hci.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct _t_quad { Vector2i coords[4]; @@ -72,8 +67,4 @@ static inline BASE_OBJECT *getTileOccupier(UDWORD x, UDWORD y) } } -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_GEOMETRY_H__ diff --git a/src/group.h b/src/group.h index 73e3060c1..7e04f174f 100644 --- a/src/group.h +++ b/src/group.h @@ -26,11 +26,6 @@ #include "order.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum _group_type { GT_NORMAL, // standard group @@ -84,8 +79,4 @@ void orderGroupObj(DROID_GROUP *psGroup, DROID_ORDER order, BASE_OBJECT *psObj); /* set the secondary state for a group of droids */ void grpSetSecondary(DROID_GROUP *psGroup, SECONDARY_ORDER sec, SECONDARY_STATE state); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_GROUP_H__ diff --git a/src/hci.h b/src/hci.h index b2e35da71..7293cf0e4 100644 --- a/src/hci.h +++ b/src/hci.h @@ -29,11 +29,6 @@ #include "message.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // store the objects that are being used for the object bar #define MAX_OBJECTS 15 //10 we need at least 15 for the 3 different types of factory @@ -443,8 +438,4 @@ extern BOOL intIsRefreshing(void); extern void intDemolishCancel(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_HCI_H__ diff --git a/src/ingameop.h b/src/ingameop.h index 1678d7ef2..2b7741aec 100644 --- a/src/ingameop.h +++ b/src/ingameop.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_INGAMEOP_H__ #define __INCLUDED_SRC_INGAMEOP_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // functions extern BOOL intAddInGameOptions (void); extern BOOL intCloseInGameOptions (BOOL bPutUpLoadSave, BOOL bResetMissionWidgets); @@ -130,8 +125,4 @@ enum #define OPALIGN (WBUT_PLAIN | WBUT_TXTCENTRE) -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_INGAMEOP_H__ diff --git a/src/init.h b/src/init.h index d4002810c..16bf5a4b2 100644 --- a/src/init.h +++ b/src/init.h @@ -26,11 +26,6 @@ #include "lib/ivis_common/ivisdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // the size of the file loading buffer // FIXME Totally inappropriate place for this. #define FILE_LOAD_BUFFER_SIZE (1024*1024*4) @@ -69,8 +64,4 @@ BOOL buildMapList(void); extern IMAGEFILE *FrontImages; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_INIT_H__ diff --git a/src/intdisplay.h b/src/intdisplay.h index 178f0a63a..459a07373 100644 --- a/src/intdisplay.h +++ b/src/intdisplay.h @@ -26,11 +26,6 @@ #include "intimage.h" #include "droid.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define NUM_OBJECTSURFACES (100) #define NUM_TOPICSURFACES (50) #define NUM_STATSURFACES (200) @@ -307,8 +302,4 @@ extern void intDisplayMissionClock(WIDGET *psWidget, UDWORD xOffset, UDWORD yOff extern void intDisplayAllyIcon(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_INTDISPLAY_H__ diff --git a/src/intelmap.h b/src/intelmap.h index ddc217a2b..7260a6dd8 100644 --- a/src/intelmap.h +++ b/src/intelmap.h @@ -26,11 +26,6 @@ #include "messagedef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Intelligence Map screen IDs */ #define IDINTMAP_FORM 6000 //The intelligence map base form #define IDINTMAP_MSGVIEW 6002 //The message 3D view for the intelligence screen @@ -93,8 +88,4 @@ extern BOOL messageIsImmediate(void); /*sets the flag*/ extern void setMessageImmediate(BOOL state); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_INTELMAP_H__ diff --git a/src/intfac.h b/src/intfac.h index 8f229dc47..3538404e3 100644 --- a/src/intfac.h +++ b/src/intfac.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_INTFAC_H__ #define __INCLUDED_SRC_INTFAC_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - enum { IMAGE_PBAR_EMPTY, IMAGE_PBAR_AVAIL, @@ -563,8 +558,4 @@ enum { IMAGE_RAD_BURNRES6 }; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_INTFAC_H__ diff --git a/src/intimage.h b/src/intimage.h index 2e3420d5e..4d1c93660 100644 --- a/src/intimage.h +++ b/src/intimage.h @@ -22,11 +22,6 @@ #include "intfac.h" // Interface image id's. -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define FILLRED 16 #define FILLGREEN 16 #define FILLBLUE 128 @@ -60,8 +55,4 @@ BOOL imageInitBitmaps(void); /** Draws a transparent window. */ void RenderWindowFrame(FRAMETYPE frame, UDWORD x, UDWORD y, UDWORD Width, UDWORD Height); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/src/intorder.h b/src/intorder.h index c456b4353..70a959fd7 100644 --- a/src/intorder.h +++ b/src/intorder.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_INTORDER_H__ #define __INCLUDED_SRC_INTORDER_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define IDORDER_FORM 8000 #define IDORDER_CLOSE 8001 @@ -45,8 +40,4 @@ BOOL intRefreshOrder(void); //new function added to bring up the RMB order form for Factories as well as droids void intAddFactoryOrder(STRUCTURE *psStructure); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_INTORDER_H__ diff --git a/src/keyedit.h b/src/keyedit.h index d81bd3e25..60c3cd702 100644 --- a/src/keyedit.h +++ b/src/keyedit.h @@ -21,18 +21,9 @@ #ifndef __INCLUDED_SRC_KEYEDIT_H__ #define __INCLUDED_SRC_KEYEDIT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - BOOL runKeyMapEditor(void); BOOL startKeyMapEditor(BOOL first); BOOL saveKeyMap(void); BOOL loadKeyMap(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_KEYEDIT_H__ diff --git a/src/keymap.h b/src/keymap.h index c91bceb30..7e73987a3 100644 --- a/src/keymap.h +++ b/src/keymap.h @@ -23,11 +23,6 @@ #include "lib/framework/input.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define NO_META_KEY 9999 #define KEYFUNC_TOGGLE_RADAR 20 @@ -105,8 +100,4 @@ extern KEY_MAPPING *keyMappings; //remove this one below extern void keyShowMappings ( void ); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_KEYMAP_H__ diff --git a/src/levelint.h b/src/levelint.h index 78dab258d..78bd9b79a 100644 --- a/src/levelint.h +++ b/src/levelint.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_LEVELINT_H__ #define __INCLUDED_SRC_LEVELINT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // return values from the lexer enum _token_type { @@ -59,8 +54,4 @@ extern SDWORD levVal; // error report function for the level parser extern void lev_error(const char* msg); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_LEVELINT_H__ diff --git a/src/levels.h b/src/levels.h index a6fed2491..f4574ab0e 100644 --- a/src/levels.h +++ b/src/levels.h @@ -27,11 +27,6 @@ #include "init.h" #include "game.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // maximum number of WRF/WDG files #define LEVEL_MAXFILES 9 @@ -106,8 +101,4 @@ extern char *getLevelName( void ); extern void levTest(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_LEVELS_H__ diff --git a/src/lighting.h b/src/lighting.h index d997fb692..f1c1b98ea 100644 --- a/src/lighting.h +++ b/src/lighting.h @@ -23,11 +23,6 @@ #include "lib/ivis_common/pietypes.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define FOG_FLAGS 7 #define FOG_BACKGROUND 1 #define FOG_DISTANCE 2 @@ -68,8 +63,4 @@ extern void setScrollLimitLighting(void); extern void findSunVector(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_LIGHTNING_H__ diff --git a/src/loadsave.h b/src/loadsave.h index 988cc7480..09f242e07 100644 --- a/src/loadsave.h +++ b/src/loadsave.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_LOADSAVE_H__ #define __INCLUDED_SRC_LOADSAVE_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /***************************************************************************/ /* * Global Definitions @@ -77,8 +72,4 @@ BOOL saveMidMission(void); extern void deleteSaveGame(char* saveGameName); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_LOADSAVE_H__ diff --git a/src/loop.h b/src/loop.h index 3383aa3bd..c71c8c04e 100644 --- a/src/loop.h +++ b/src/loop.h @@ -26,11 +26,6 @@ #include "lib/framework/frame.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum { GAMECODE_CONTINUE, GAMECODE_RESTARTGAME, @@ -100,8 +95,4 @@ void incNumDroids(UDWORD player); void incNumCommandDroids(UDWORD player); void incNumConstructorDroids(UDWORD player); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_LOOP_H__ diff --git a/src/main.h b/src/main.h index 3e3c89a84..e4f96c085 100644 --- a/src/main.h +++ b/src/main.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_MAIN_H__ #define __INCLUDED_SRC_MAIN_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum { GS_TITLE_SCREEN, GS_NORMAL, @@ -55,8 +50,4 @@ extern char * override_mods[MAX_MODS]; extern char * override_mod_list; extern bool use_override_mods; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MAIN_H__ diff --git a/src/map.h b/src/map.h index 06474c39f..18f8f95a0 100644 --- a/src/map.h +++ b/src/map.h @@ -31,11 +31,6 @@ #include "multiplay.h" #include "display.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* The different types of terrain as far as the game is concerned */ typedef enum _terrain_type { @@ -541,8 +536,4 @@ WZ_DECL_ALWAYS_INLINE static inline bool hasSensorOnTile(MAPTILE *psTile, unsign void mapInit(void); void mapUpdate(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MAP_H__ diff --git a/src/mapdisplay.h b/src/mapdisplay.h index 9738af950..b39fefaeb 100644 --- a/src/mapdisplay.h +++ b/src/mapdisplay.h @@ -21,15 +21,6 @@ #ifndef __INCLUDED_SRC_MAPDISPLAY_H__ #define __INCLUDED_SRC_MAPDISPLAY_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - void renderResearchToBuffer(RESEARCH *psResearch, UDWORD OriginX, UDWORD OriginY); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MAPDISPLAY_H__ diff --git a/src/mapgrid.h b/src/mapgrid.h index 3cb33dfe4..e29fb8832 100644 --- a/src/mapgrid.h +++ b/src/mapgrid.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_MAPGRID_H__ #define __INCLUDED_SRC_MAPGRID_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern void **gridIterator; ///< The iterator. @@ -64,8 +59,4 @@ static inline BASE_OBJECT *gridIterate(void) /// Make a copy of the list. Free with free(). BASE_OBJECT **gridIterateDup(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MAPGRID_H__ diff --git a/src/mechanics.h b/src/mechanics.h index 4134c16c7..45083132d 100644 --- a/src/mechanics.h +++ b/src/mechanics.h @@ -26,11 +26,6 @@ #include "statsdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Shutdown the mechanics system */ bool mechanicsShutdown(void); @@ -49,8 +44,4 @@ void freeStructureLists(void); //TEST FUNCTION - MAKE EVERYTHING AVAILABLE void makeAllAvailable(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MECHANICS_H__ diff --git a/src/message.h b/src/message.h index eae02aec4..939dac532 100644 --- a/src/message.h +++ b/src/message.h @@ -27,11 +27,6 @@ #include "structure.h" #include "messagedef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define NO_AUDIO_MSG -1 /** The lists of messages allocated. */ @@ -92,8 +87,4 @@ void displayProximityMessage(PROXIMITY_DISPLAY *psProxDisp); BOOL messageInitVars(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MESSAGE_H__ diff --git a/src/messagedef.h b/src/messagedef.h index 1f16f2425..ddced10ca 100644 --- a/src/messagedef.h +++ b/src/messagedef.h @@ -29,11 +29,6 @@ #include "positiondef.h" #include "stringdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /// max number of text strings or sequences for VIEWDATA static const unsigned int MAX_DATA = 4; @@ -168,8 +163,4 @@ typedef struct _viewData_list struct _viewData_list *psNext; //next array of data } VIEWDATA_LIST; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_MESSAGEDEF_H__ diff --git a/src/messagely.h b/src/messagely.h index 9e0025fa6..bb857cb97 100644 --- a/src/messagely.h +++ b/src/messagely.h @@ -23,11 +23,6 @@ #include "lib/framework/lexer_input.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern int message_parse(void* ppsViewData); extern void message_set_extra(YY_EXTRA_TYPE user_defined); extern int message_lex_destroy(void); @@ -38,8 +33,4 @@ extern char* message_get_text(void); extern void message_error(const char* msg); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MESSAGELY_H__ diff --git a/src/miscimd.h b/src/miscimd.h index 381f8964c..12a825865 100644 --- a/src/miscimd.h +++ b/src/miscimd.h @@ -25,11 +25,6 @@ #include "structuredef.h" #include "messagedef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern BOOL initMiscImds( void ); extern iIMDShape *getImdFromIndex(UDWORD index); extern iIMDShape *getRandomWreckageImd( void ); @@ -136,8 +131,4 @@ MI_FIREWORK, MI_TOO_MANY }; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MISCIMD_H__ diff --git a/src/missiondef.h b/src/missiondef.h index 808cfb857..afa39b409 100644 --- a/src/missiondef.h +++ b/src/missiondef.h @@ -30,11 +30,6 @@ #include "featuredef.h" #include "power.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - //mission types //used to set the reinforcement time on hold whilst the Transporter is unable to land @@ -93,8 +88,4 @@ typedef struct _mission } MISSION; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_MISSIONDEF_H__ diff --git a/src/modding.h b/src/modding.h index fec3040ac..88e58fe15 100644 --- a/src/modding.h +++ b/src/modding.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_MODDING_H__ #define __INCLUDED_SRC_MODDING_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - void addSubdirs( const char * basedir, const char * subdir, const bool appendToPath, char * checkList[], bool addToModList ); void removeSubdirs( const char * basedir, const char * subdir, char * checkList[] ); void printSearchPath( void ); @@ -37,8 +32,4 @@ void addLoadedMod(const char * modname); void clearLoadedMods(void); char * getModList(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MODDING_H__ diff --git a/src/move.h b/src/move.h index c277a6a56..bc8c18fc6 100644 --- a/src/move.h +++ b/src/move.h @@ -26,11 +26,6 @@ #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* Initialise the movement system */ extern BOOL moveInitialise(void); @@ -94,8 +89,4 @@ static inline void droidSetPrecisePosition(DROID *psDroid, Position newPos) const char *moveDescription(MOVE_STATUS status); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MOVE_H__ diff --git a/src/movedef.h b/src/movedef.h index 0b49cbfc7..6289407da 100644 --- a/src/movedef.h +++ b/src/movedef.h @@ -26,11 +26,6 @@ #include "lib/framework/vector.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - //Watermelon:num of VTOL weapons should be same as DROID_MAXWEAPS #define VTOL_MAXWEAPS 3 @@ -84,8 +79,4 @@ struct MOVE_CONTROL UDWORD iAttackRuns[VTOL_MAXWEAPS]; }; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_MOVEDEF_H__ diff --git a/src/multigifts.h b/src/multigifts.h index 753d00121..38922e2c8 100644 --- a/src/multigifts.h +++ b/src/multigifts.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_MULTIGIFTS_H__ #define __INCLUDED_SRC_MULTIGIFTS_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern void requestAlliance (uint8_t from, uint8_t to, BOOL prop, BOOL allowAudio); extern void breakAlliance (uint8_t p1, uint8_t p2, BOOL prop, BOOL allowAudio); extern void formAlliance (uint8_t p1, uint8_t p2, BOOL prop, BOOL allowAudio, BOOL allowNotification); @@ -56,8 +51,4 @@ extern void giftRadar (uint8_t from, uint8_t to, BOOL send); #define POWER_GIFT 4 #define STRUCTURE_GIFT 5 // Unused -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MULTIGIFTS_H__ diff --git a/src/multiint.h b/src/multiint.h index 7a5fe85df..e510b3f6f 100644 --- a/src/multiint.h +++ b/src/multiint.h @@ -27,11 +27,6 @@ #include "lib/netplay/netplay.h" #include "lib/widget/widgbase.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern LOBBY_ERROR_TYPES getLobbyError(void); extern void setLobbyError(LOBBY_ERROR_TYPES error_type); @@ -293,8 +288,4 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_BUTW 35 #define MULTIOP_BUTH 24 -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MULTIINT_H__ diff --git a/src/multijoin.h b/src/multijoin.h index 269f69e19..bf9c57c9c 100644 --- a/src/multijoin.h +++ b/src/multijoin.h @@ -26,11 +26,6 @@ #include "droiddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern BOOL intDisplayMultiJoiningStatus(UBYTE joinCount); void recvPlayerLeft(NETQUEUE queue); extern BOOL MultiPlayerLeave (UDWORD playerIndex); // A player has left the game. @@ -40,18 +35,8 @@ extern void clearPlayer (UDWORD player, BOOL quietly);// wipe a player off t //extern BOOL ProcessDroidOrders (void); //extern UDWORD arenaPlayersReceived; -typedef struct { - DROID *psDroid; - void *psNext; -} DROIDSTORE, *LPDROIDSTORE; - -extern DROIDSTORE *tempDroidList; extern void ShowMOTD(void); extern bool recvDataCheck(NETQUEUE queue); extern bool sendDataCheck(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MULTIJOIN_H__ diff --git a/src/multilimit.h b/src/multilimit.h index 445fd1f72..a725257cd 100644 --- a/src/multilimit.h +++ b/src/multilimit.h @@ -24,18 +24,9 @@ #ifndef __INCLUDED_MULTILIMIT_H__ #define __INCLUDED_MULTILIMIT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern BOOL startLimitScreen (void); extern void runLimitScreen (void); extern void applyLimitSet (void); extern void createLimitSet (void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif //__cplusplus //__INCLUDED_MULTILIMIT_H__ diff --git a/src/multirecv.h b/src/multirecv.h index 061cc0d8d..45766500f 100644 --- a/src/multirecv.h +++ b/src/multirecv.h @@ -27,11 +27,6 @@ #ifndef __INCLUDED_SRC_MULTIRECV_H__ #define __INCLUDED_SRC_MULTIRECV_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern BOOL recvDroid (NETQUEUE queue); extern BOOL recvDroidInfo (NETQUEUE queue); extern BOOL recvDestroyDroid (NETQUEUE queue); @@ -67,8 +62,4 @@ extern BOOL recvTextMessageAI (NETQUEUE queue); //AI multiplayer message extern BOOL recvTeamRequest (NETQUEUE queue); extern BOOL recvReadyRequest (NETQUEUE queue); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MULTIRECV_H__ diff --git a/src/multistat.h b/src/multistat.h index 55455f32e..32696aa53 100644 --- a/src/multistat.h +++ b/src/multistat.h @@ -27,11 +27,6 @@ #include "lib/netplay/netplay.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct { uint32_t played; /// propogated stats. @@ -58,8 +53,4 @@ void updateMultiStatsLoses(void); void updateMultiStatsKills(BASE_OBJECT *psKilled,UDWORD player); void recvMultiStats(NETQUEUE queue); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_MULTISTATS_H__ diff --git a/src/objectdef.h b/src/objectdef.h index 508c1fcda..0847e2949 100644 --- a/src/objectdef.h +++ b/src/objectdef.h @@ -39,10 +39,4 @@ #include "projectiledef.h" #include "featuredef.h" -#ifdef __cplusplus -extern "C" -{ -} -#endif //__cplusplus - #endif // __INCLUDED_OBJECTDEF_H__ diff --git a/src/objmem.h b/src/objmem.h index 4c3d89dd7..1c6eb3db8 100644 --- a/src/objmem.h +++ b/src/objmem.h @@ -26,11 +26,6 @@ #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /* The lists of objects allocated */ extern DROID *apsDroidLists[MAX_PLAYERS]; extern STRUCTURE *apsStructLists[MAX_PLAYERS]; @@ -119,8 +114,4 @@ void objCount(int *droids, int *structures, int *features); extern void checkFactoryFlags(void); #endif -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_OBJMEM_H__ diff --git a/src/oprint.h b/src/oprint.h index f9933e2cf..da9151898 100644 --- a/src/oprint.h +++ b/src/oprint.h @@ -24,16 +24,7 @@ #ifndef __INCLUDED_SRC_OPRINT_H__ #define __INCLUDED_SRC_OPRINT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // print out information about a droid and it's components extern void printDroidInfo(const DROID* psDroid); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_OPRINT_H__ diff --git a/src/order.h b/src/order.h index 780dfd8fa..ba01ab5d3 100644 --- a/src/order.h +++ b/src/order.h @@ -29,11 +29,6 @@ #include "droiddef.h" #include "structuredef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - extern RUN_DATA asRunData[MAX_PLAYERS]; // retreat positions for the players extern void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder); @@ -152,8 +147,4 @@ extern DROID_ORDER chooseOrderObj(DROID *psDroid, BASE_OBJECT *psObj, BOOL altOr extern void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ORDER_H__ diff --git a/src/orderdef.h b/src/orderdef.h index 61a11370d..a31951137 100644 --- a/src/orderdef.h +++ b/src/orderdef.h @@ -28,11 +28,6 @@ #include "basedef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // The droid orders typedef enum _droid_order { @@ -163,8 +158,4 @@ typedef struct _droid_order_data BASE_STATS *psStats; } DROID_ORDER_DATA; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_ORDERDEF_H__ diff --git a/src/parsetest.h b/src/parsetest.h index 11f45feef..225b4eed2 100644 --- a/src/parsetest.h +++ b/src/parsetest.h @@ -20,11 +20,6 @@ #ifndef __INCLUDED_SRC_PARSETEST_H__ #define __INCLUDED_SRC_PARSETEST_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct { const char* testname; @@ -33,8 +28,4 @@ typedef struct extern void parseTest(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_PARSETEST_H__ diff --git a/src/positiondef.h b/src/positiondef.h index 48867dab9..6c05178df 100644 --- a/src/positiondef.h +++ b/src/positiondef.h @@ -26,11 +26,6 @@ #include "lib/framework/frame.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum POSITION_TYPE { POS_DELIVERY, //Delivery Points NOT wayPoints @@ -53,8 +48,4 @@ typedef struct _object_position POSITION_OBJ; } OBJECT_POSITION; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_POSITIONDEF_H__ diff --git a/src/power.h b/src/power.h index d8691acaa..e5ebcbaa8 100644 --- a/src/power.h +++ b/src/power.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_POWER_H__ #define __INCLUDED_SRC_POWER_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** Free power on collection of oildrum. */ #define OILDRUM_POWER 100 @@ -86,8 +81,4 @@ extern BOOL powerCalculated; extern void throttleEconomy(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_POWER_H__ diff --git a/src/projectile.h b/src/projectile.h index caebe01f6..1baa5d32e 100644 --- a/src/projectile.h +++ b/src/projectile.h @@ -24,11 +24,6 @@ #include "projectiledef.h" #include "weapondef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /** * @file projectile.h * Projectile types and function headers @@ -109,8 +104,4 @@ void checkProjectile(const PROJECTILE* psProjectile, const char * const location #define syncDebugProjectile(psProj, ch) _syncDebugProjectile(__FUNCTION__, psProj, ch) void _syncDebugProjectile(const char *function, PROJECTILE *psProj, char ch); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_PROJECTILE_H__ diff --git a/src/radar.h b/src/radar.h index 0bf32ac5e..b3921743d 100644 --- a/src/radar.h +++ b/src/radar.h @@ -28,11 +28,6 @@ #ifndef __INCLUDED_SRC_RADAR_H__ #define __INCLUDED_SRC_RADAR_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - void radarColour(UDWORD tileNumber, uint8_t r, uint8_t g, uint8_t b); ///< Set radar colour for given terrain type. #define MAX_RADARZOOM (16 * 4) // 3.00x @@ -71,8 +66,4 @@ extern PIELIGHT clanColours[MAX_PLAYERS]; /** @} */ -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_RADAR_H__ diff --git a/src/raycast.h b/src/raycast.h index d63c06c04..4bb0a214e 100644 --- a/src/raycast.h +++ b/src/raycast.h @@ -26,11 +26,6 @@ #include "lib/framework/vector.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define NUM_RAYS 360 // maximum length for a visiblity ray @@ -62,9 +57,4 @@ extern void rayCast(Vector3i pos, uint16_t dir, uint32_t length, RAY_CALLBACK ca // point to the edge of the grid extern void getBestPitchToEdgeOfGrid(UDWORD x, UDWORD y, uint16_t direction, uint16_t *pitch); - -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_RAYCAST_H__ diff --git a/src/research.h b/src/research.h index df7073475..f38f42b7a 100644 --- a/src/research.h +++ b/src/research.h @@ -26,11 +26,6 @@ #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define NO_RESEARCH_ICON 0 //max 'research complete' console message length #define MAX_RESEARCH_MSG_SIZE 200 @@ -154,8 +149,4 @@ void CancelAllResearch(UDWORD pl); extern BOOL researchInitVars(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_RESEARCH_H__ diff --git a/src/scores.h b/src/scores.h index d1d227b3e..c17968762 100644 --- a/src/scores.h +++ b/src/scores.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_SCORES_H__ #define __INCLUDED_SRC_SCORES_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum data_index { WD_UNITS_BUILT, @@ -102,8 +97,4 @@ extern void getAsciiTime ( char *psText, UDWORD time ); extern bool readScoreData ( const char* fileName ); extern bool writeScoreData ( const char* fileName ); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCORES_H__ diff --git a/src/scriptai.h b/src/scriptai.h index 81e5250e2..6e8022b57 100644 --- a/src/scriptai.h +++ b/src/scriptai.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_SCRIPTAI_H__ #define __INCLUDED_SRC_SCRIPTAI_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // Add a droid to a group extern BOOL scrGroupAddDroid(void); @@ -202,8 +197,4 @@ BOOL scrSkDefenseLocation(void); // line build. //BOOL scrSkOrderDroidLineBuild(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTAI_H__ diff --git a/src/scriptcb.h b/src/scriptcb.h index 629622f40..b0bd3a6b5 100644 --- a/src/scriptcb.h +++ b/src/scriptcb.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_SCRIPTCB_H__ #define __INCLUDED_SRC_SCRIPTCB_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - //console callback stuff //--------------------------- #ifndef MAXSTRLEN @@ -160,8 +155,4 @@ extern BOOL scrCBDorderStop(void); extern BOOL scrCBDorderReachedLocation(void); extern BOOL scrCBProcessKeyPress(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTCB_H__ diff --git a/src/scriptextern.h b/src/scriptextern.h index 270a4ab45..e1136c312 100644 --- a/src/scriptextern.h +++ b/src/scriptextern.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_SCRIPTEXTERN_H__ #define __INCLUDED_SRC_SCRIPTEXTERN_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // current game level extern SDWORD scrGameLevel; // whether the tutorial is active @@ -70,8 +65,4 @@ extern BOOL scrGenExternGet(UDWORD index); // General function to set some basic game values extern BOOL scrGenExternSet(UDWORD index); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTEXTERN_H__ diff --git a/src/scriptfuncs.h b/src/scriptfuncs.h index 03129ec87..fb9bd4b30 100644 --- a/src/scriptfuncs.h +++ b/src/scriptfuncs.h @@ -26,11 +26,6 @@ #include "messagedef.h" //for VIEWDATA -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // AI won't build there if there are more than // MAX_BLOCKING_TILES on some location #define MAX_BLOCKING_TILES 1 @@ -702,8 +697,4 @@ extern VIEWDATA *CreateBeaconViewData(SDWORD sender, UDWORD LocX, UDWORD LocY); extern BOOL scrEnumUnbuilt(void); extern BOOL scrIterateUnbuilt(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTFUNCS_H__ diff --git a/src/scriptobj.h b/src/scriptobj.h index 011be8d89..91f376fac 100644 --- a/src/scriptobj.h +++ b/src/scriptobj.h @@ -27,11 +27,6 @@ #include "lib/framework/types.h" #include "lib/script/interpreter.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // id's for object variables enum _objids { @@ -106,8 +101,4 @@ extern BOOL scrValDefSave(INTERP_VAL *psVal, char *pBuffer, UDWORD *pSize); // default value load routine extern BOOL scrValDefLoad(SDWORD version, INTERP_VAL *psVal, char *pBuffer, UDWORD size); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTOBJ_H__ diff --git a/src/scripttabs.h b/src/scripttabs.h index 210d62caa..117988f0d 100644 --- a/src/scripttabs.h +++ b/src/scripttabs.h @@ -27,11 +27,6 @@ #include "lib/script/event.h" // needed for _scr_user_types #include "lib/script/parse.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // How many game ticks for one event tick #define SCR_TICKRATE 100 @@ -126,8 +121,4 @@ extern BOOL scrTabInitialise(void); // Shut down the script system extern void scrShutDown(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTTABS_H__ diff --git a/src/scriptvals.h b/src/scriptvals.h index 7dec010f2..b2c2d9579 100644 --- a/src/scriptvals.h +++ b/src/scriptvals.h @@ -29,11 +29,6 @@ #include "basedef.h" #include -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // The possible types of initialisation values typedef enum _init_type { @@ -115,8 +110,4 @@ extern BOOL scrvLoad(PHYSFS_file* fileHandle); // Link any object types to the actual pointer values //extern BOOL scrvLinkValues(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SCRIPTVALS_H__ diff --git a/src/selection.h b/src/selection.h index e39e8bedb..c750a7200 100644 --- a/src/selection.h +++ b/src/selection.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_SELECTION_H__ #define __INCLUDED_SRC_SELECTION_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum _selection_class { DS_ALL_UNITS, @@ -57,8 +52,4 @@ extern void selNextSpecifiedUnit (UDWORD unitType); // select the n'th command droid extern void selCommander(SDWORD n); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SELECTION_H__ diff --git a/src/seqdisp.h b/src/seqdisp.h index 32b428c5e..a240db587 100644 --- a/src/seqdisp.h +++ b/src/seqdisp.h @@ -26,11 +26,6 @@ #include "lib/framework/types.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /***************************************************************************/ /* * Global Definitions @@ -97,8 +92,4 @@ extern BOOL seq_GetSubtitles(void); /*returns the next sequence in the list to play*/ extern void seq_StartNextFullScreenVideo(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_SEQDISP_H__ diff --git a/src/stats.h b/src/stats.h index c5630cbd4..c04ef3348 100644 --- a/src/stats.h +++ b/src/stats.h @@ -25,11 +25,6 @@ #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /************************************************************************************** * * Function prototypes and data storage for the stats @@ -374,8 +369,4 @@ SENSOR_STATS *objActiveRadar(BASE_OBJECT *psObj); /** Returns whether object has a radar detector sensor. */ bool objRadarDetector(BASE_OBJECT *psObj); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_STATS_H__ diff --git a/src/stringdef.h b/src/stringdef.h index 3d85bad42..81180c437 100644 --- a/src/stringdef.h +++ b/src/stringdef.h @@ -20,15 +20,6 @@ #ifndef STRINGDEF_H #define STRINGDEF_H -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define MAX_STR_LENGTH 256 -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/src/terrain.h b/src/terrain.h index 322757c31..69f0279d4 100644 --- a/src/terrain.h +++ b/src/terrain.h @@ -23,11 +23,6 @@ #include "lib/ivis_common/pietypes.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - bool initTerrain(void); void shutdownTerrain(void); @@ -39,8 +34,4 @@ void setTileColour(int x, int y, PIELIGHT colour); void markTileDirty(int i, int j); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif diff --git a/src/text.h b/src/text.h index 559e1d10f..d9acaad84 100644 --- a/src/text.h +++ b/src/text.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_SRC_TEXT_H__ #define __INCLUDED_SRC_TEXT_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // Forward declaration to allow pointers to this type struct STR_RES; @@ -41,8 +36,4 @@ extern BOOL stringsInitialise(void); /* Shut down the string system */ extern void stringsShutDown(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_TEXT_H__ diff --git a/src/texture.h b/src/texture.h index f7786a9dc..1c62be5c4 100644 --- a/src/texture.h +++ b/src/texture.h @@ -23,11 +23,6 @@ #include "display3ddef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - bool texLoad(const char *fileName); typedef struct _tileTexInfo @@ -50,8 +45,4 @@ extern int terrainPage; void setTextureSize(int texSize); int getTextureSize(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_TEXTURE_H__ diff --git a/src/transporter.h b/src/transporter.h index 4485750c4..07338dd63 100644 --- a/src/transporter.h +++ b/src/transporter.h @@ -26,11 +26,6 @@ #include "lib/widget/widget.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define IDTRANS_FORM 9000 //The Transporter base form #define IDTRANS_CONTENTFORM 9003 //The Transporter Contents form #define IDTRANS_DROIDS 9006 //The Droid base form @@ -104,8 +99,4 @@ extern BOOL transporterFlying(DROID *psTransporter); //initialise the flag to indicate the first transporter has arrived - set in startMission() extern void initFirstTransporterFlag(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_TRANSPORTER_H__ diff --git a/src/version.h b/src/version.h index 4010f5f36..2cd365f45 100644 --- a/src/version.h +++ b/src/version.h @@ -23,10 +23,6 @@ #include "lib/framework/types.h" -#if defined(__cplusplus) -extern "C" { -#endif - /** Retrieve the low revision number * \return the lowest revision number of the working copy from which we built */ @@ -105,8 +101,4 @@ extern const char* version_getSvnTime(void); */ extern const char* version_getFormattedVersionString(void); -#if defined(__cplusplus) -} -#endif - #endif // __INCLUDED_VERSION_H__ diff --git a/src/visibility.h b/src/visibility.h index d6fa75a66..1cc6d9274 100644 --- a/src/visibility.h +++ b/src/visibility.h @@ -24,11 +24,6 @@ #include "objectdef.h" #include "raycast.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - // initialise the visibility stuff extern BOOL visInitialise(void); @@ -100,8 +95,4 @@ static inline int objConcealment(const BASE_OBJECT* psObj) void objSensorCache(BASE_OBJECT *psObj, SENSOR_STATS *psSensor); void objEcmCache(BASE_OBJECT *psObj, ECM_STATS *psEcm); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_VISIBILITY__ diff --git a/src/warcam.h b/src/warcam.h index 79091acab..f85b0ac06 100644 --- a/src/warcam.h +++ b/src/warcam.h @@ -24,11 +24,6 @@ #include "lib/ivis_common/pietypes.h" #include "objectdef.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - #define X_UPDATE 0x1 #define Y_UPDATE 0x2 #define Z_UPDATE 0x4 @@ -93,8 +88,4 @@ extern SDWORD getPresAngle( void ); extern UDWORD getNumDroidsSelected( void ); extern void camAllignWithTarget(BASE_OBJECT *psTarget); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_WARCAM_H__ diff --git a/src/warzoneconfig.h b/src/warzoneconfig.h index 55fd13ff8..90e193c0e 100644 --- a/src/warzoneconfig.h +++ b/src/warzoneconfig.h @@ -26,11 +26,6 @@ #include "lib/framework/frame.h" -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - /***************************************************************************/ /* * Global Definitions @@ -92,8 +87,4 @@ void war_setSoundEnabled( BOOL soundEnabled ); */ BOOL war_getSoundEnabled( void ); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_WARZONECONFIG_H__ diff --git a/src/wavecast.h b/src/wavecast.h index a297fe945..b34934c58 100644 --- a/src/wavecast.h +++ b/src/wavecast.h @@ -20,11 +20,6 @@ #ifndef _WAVE_CAST_H_ #define _WAVE_CAST_H_ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct WavecastTile { int16_t dx, dy; ///< Tile coordinates. @@ -36,8 +31,4 @@ typedef struct WavecastTile // Not thread safe if someone calls with a new radius. Thread safe, otherwise. const WAVECAST_TILE *getWavecastTable(unsigned radius, size_t *size); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif //_WAVE_CAST_H_ diff --git a/src/weapondef.h b/src/weapondef.h index 6e914aa2c..ec227f699 100644 --- a/src/weapondef.h +++ b/src/weapondef.h @@ -24,11 +24,6 @@ #ifndef __INCLUDED_WEAPONDEF_H__ #define __INCLUDED_WEAPONDEF_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef struct _weapon { unsigned int nStat; ///< Index into the asWeaponStats global array @@ -40,8 +35,4 @@ typedef struct _weapon Rotation prevRot; } WEAPON; -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_WEAPONDEF_H__ diff --git a/src/wrappers.h b/src/wrappers.h index 501da882c..187e6f811 100644 --- a/src/wrappers.h +++ b/src/wrappers.h @@ -21,11 +21,6 @@ #ifndef __INCLUDED_SRC_WRAPPERS_H__ #define __INCLUDED_SRC_WRAPPERS_H__ -#ifdef __cplusplus -extern "C" -{ -#endif //__cplusplus - typedef enum { TITLECODE_CONTINUE, TITLECODE_STARTGAME, @@ -58,8 +53,4 @@ void setPlayerHasWon(BOOL val); void setScriptWinLoseVideo(UBYTE val); UBYTE getScriptWinLoseVideo(void); -#ifdef __cplusplus -} -#endif //__cplusplus - #endif // __INCLUDED_SRC_WRAPPERS_H__ From e108efc8a15efd648b395c65ddea9b943d41636e Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 17:33:05 +0100 Subject: [PATCH 006/142] Make OBJECT_POSITION inheritance explicit. --- src/display.cpp | 12 ++---------- src/hci.cpp | 4 ++-- src/messagedef.h | 7 +++---- src/positiondef.h | 25 +++++++++++-------------- src/structuredef.h | 7 +++---- 5 files changed, 21 insertions(+), 34 deletions(-) diff --git a/src/display.cpp b/src/display.cpp index f1916e65b..a9f543fec 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -2314,15 +2314,11 @@ static void dealWithLMBDClick(void) when the mouse button was pressed */ static OBJECT_POSITION * checkMouseLoc(void) { - OBJECT_POSITION *psReturn; FLAG_POSITION *psPoint; //PROXIMITY_DISPLAY *psProxDisp; UDWORD i; UDWORD dispX,dispY,dispR; - // We haven't found anything yet - psReturn = NULL; - // First have a look through the DeliveryPoint lists for (i=0; i Date: Tue, 21 Dec 2010 12:30:41 -0500 Subject: [PATCH 007/142] Change Glee back to c; eliminates warnings in the mac build. --- lib/ivis_opengl/{GLee.cpp => GLee.c} | 0 macosx/Warzone.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) rename lib/ivis_opengl/{GLee.cpp => GLee.c} (100%) diff --git a/lib/ivis_opengl/GLee.cpp b/lib/ivis_opengl/GLee.c similarity index 100% rename from lib/ivis_opengl/GLee.cpp rename to lib/ivis_opengl/GLee.c diff --git a/macosx/Warzone.xcodeproj/project.pbxproj b/macosx/Warzone.xcodeproj/project.pbxproj index 8329e7f13..c1b3f786c 100644 --- a/macosx/Warzone.xcodeproj/project.pbxproj +++ b/macosx/Warzone.xcodeproj/project.pbxproj @@ -384,7 +384,7 @@ 02DDA8D00BD3C3600049AB60 /* posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DDA8CE0BD3C3600049AB60 /* posix.c */; }; 02DDA8D10BD3C3600049AB60 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DDA8CF0BD3C3600049AB60 /* unix.c */; }; 02DDA8D40BD3C3820049AB60 /* Zlib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02356D830BD3BB4100E9A019 /* Zlib.framework */; }; - 02DE76060DC3B84900D48F58 /* GLee.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02DE76040DC3B84800D48F58 /* GLee.cpp */; }; + 02DE76060DC3B84900D48F58 /* GLee.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DE76040DC3B84800D48F58 /* GLee.c */; settings = {COMPILER_FLAGS = "-Wno-missing-declarations"; }; }; 02F5CC570D1490620000A2D0 /* database.c in Sources */ = {isa = PBXBuildFile; fileRef = 02F5CC560D1490620000A2D0 /* database.c */; }; 2244463C0E3EB7CB004D0F1F /* message_lexer.l in Sources */ = {isa = PBXBuildFile; fileRef = 224446390E3EB7CB004D0F1F /* message_lexer.l */; }; 2244463D0E3EB7CB004D0F1F /* message_parser.y in Sources */ = {isa = PBXBuildFile; fileRef = 2244463A0E3EB7CB004D0F1F /* message_parser.y */; }; @@ -1354,7 +1354,7 @@ 02DDA8C60BD3C3450049AB60 /* zip.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = zip.c; path = external/physfs/archivers/zip.c; sourceTree = ""; }; 02DDA8CE0BD3C3600049AB60 /* posix.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = posix.c; path = external/physfs/platform/posix.c; sourceTree = ""; }; 02DDA8CF0BD3C3600049AB60 /* unix.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = unix.c; path = external/physfs/platform/unix.c; sourceTree = ""; }; - 02DE76040DC3B84800D48F58 /* GLee.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = GLee.cpp; path = ../lib/ivis_opengl/GLee.cpp; sourceTree = SOURCE_ROOT; }; + 02DE76040DC3B84800D48F58 /* GLee.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; lineEnding = 0; name = GLee.c; path = ../lib/ivis_opengl/GLee.c; sourceTree = SOURCE_ROOT; }; 02DE76050DC3B84800D48F58 /* GLee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = GLee.h; path = ../lib/ivis_opengl/GLee.h; sourceTree = SOURCE_ROOT; }; 02F5CC560D1490620000A2D0 /* database.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = database.c; path = external/quesoglc/src/database.c; sourceTree = ""; }; 2234C29F0E2BE18200E7704C /* positiondef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = positiondef.h; path = ../src/positiondef.h; sourceTree = SOURCE_ROOT; }; @@ -2023,7 +2023,7 @@ 0246A1090BD3CC2D004D1C70 /* Ivis OpenGL */ = { isa = PBXGroup; children = ( - 02DE76040DC3B84800D48F58 /* GLee.cpp */, + 02DE76040DC3B84800D48F58 /* GLee.c */, 02DE76050DC3B84800D48F58 /* GLee.h */, 0246A10B0BD3CC43004D1C70 /* ivi.cpp */, 0246A10C0BD3CC43004D1C70 /* pieblitfunc.cpp */, @@ -4028,7 +4028,7 @@ 02B2132D0DA8755F0059E864 /* cursors.cpp in Sources */, 02B2132E0DA8755F0059E864 /* cursors16.cpp in Sources */, 02B2132F0DA8755F0059E864 /* cursors32.cpp in Sources */, - 02DE76060DC3B84900D48F58 /* GLee.cpp in Sources */, + 02DE76060DC3B84900D48F58 /* GLee.c in Sources */, 9742E5730DF9975E000A5D41 /* lexer_input.cpp in Sources */, 9742E5770DF9979C000A5D41 /* parsetest.cpp in Sources */, 2244463D0E3EB7CB004D0F1F /* message_parser.y in Sources */, From 0c898fb097d15433646e68fa4df953eb93962a53 Mon Sep 17 00:00:00 2001 From: dak180 Date: Tue, 21 Dec 2010 15:03:06 -0500 Subject: [PATCH 008/142] Normalise the warnings for the mac builds. --- macosx/Warzone.xcodeproj/project.pbxproj | 2 +- macosx/configs/Warzone-All.xcconfig | 24 ++++++++++++++---------- macosx/configs/Warzone-Debug.xcconfig | 10 +++++++--- macosx/configs/Warzone-Release.xcconfig | 7 ++++++- 4 files changed, 28 insertions(+), 15 deletions(-) diff --git a/macosx/Warzone.xcodeproj/project.pbxproj b/macosx/Warzone.xcodeproj/project.pbxproj index c1b3f786c..81021698f 100644 --- a/macosx/Warzone.xcodeproj/project.pbxproj +++ b/macosx/Warzone.xcodeproj/project.pbxproj @@ -384,7 +384,7 @@ 02DDA8D00BD3C3600049AB60 /* posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DDA8CE0BD3C3600049AB60 /* posix.c */; }; 02DDA8D10BD3C3600049AB60 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DDA8CF0BD3C3600049AB60 /* unix.c */; }; 02DDA8D40BD3C3820049AB60 /* Zlib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02356D830BD3BB4100E9A019 /* Zlib.framework */; }; - 02DE76060DC3B84900D48F58 /* GLee.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DE76040DC3B84800D48F58 /* GLee.c */; settings = {COMPILER_FLAGS = "-Wno-missing-declarations"; }; }; + 02DE76060DC3B84900D48F58 /* GLee.c in Sources */ = {isa = PBXBuildFile; fileRef = 02DE76040DC3B84800D48F58 /* GLee.c */; settings = {COMPILER_FLAGS = "-Wno-missing-declarations -Wno-strict-aliasing"; }; }; 02F5CC570D1490620000A2D0 /* database.c in Sources */ = {isa = PBXBuildFile; fileRef = 02F5CC560D1490620000A2D0 /* database.c */; }; 2244463C0E3EB7CB004D0F1F /* message_lexer.l in Sources */ = {isa = PBXBuildFile; fileRef = 224446390E3EB7CB004D0F1F /* message_lexer.l */; }; 2244463D0E3EB7CB004D0F1F /* message_parser.y in Sources */ = {isa = PBXBuildFile; fileRef = 2244463A0E3EB7CB004D0F1F /* message_parser.y */; }; diff --git a/macosx/configs/Warzone-All.xcconfig b/macosx/configs/Warzone-All.xcconfig index a353e3590..a3f5513fe 100644 --- a/macosx/configs/Warzone-All.xcconfig +++ b/macosx/configs/Warzone-All.xcconfig @@ -15,11 +15,14 @@ HEADER_SEARCH_PATHS = .. $(inherited) $(HEADER_SEARCH_PATHS_QUOTED_1) LIBRARY_SEARCH_PATHS = $(inherited) $(LIBRARY_SEARCH_PATHS_QUOTED_1) $(LIBRARY_SEARCH_PATHS_QUOTED_3) GCC_ENABLE_SSE3_EXTENSIONS = YES // -msse3 GCC_MODEL_TUNING = G5 -OTHER_CFLAGS = $(FlagsForCandCpp) $(BuildDependentFlagsForC) -Wmissing-declarations -Wno-pointer-to-int-cast -Wno-strict-aliasing -Wstrict-prototypes -Wdeclaration-after-statement $(inherited) // Warning flags that c++ does not like -// OTHER_CFLAGS[arch=i386] = -Wno-type-limits $(inherited) // intel 32 bit only -// OTHER_CFLAGS[arch=x86_64] = -Wno-type-limits $(inherited) // intel 64 bit only -OTHER_CPLUSPLUSFLAGS = $(FlagsForCandCpp) // -Wc++0x-compat is not in clang + +OTHER_CFLAGS = $(FlagsForCandCpp) $(WarnForC) $(inherited) +OTHER_CFLAGS[arch=i386] = $(inherited) // intel 32 bit only +OTHER_CFLAGS[arch=x86_64] = $(inherited) // intel 64 bit only + +OTHER_CPLUSPLUSFLAGS = $(FlagsForCandCpp) $(WarnForCpp) OTHER_CPLUSPLUSFLAGS[arch=i386] = $(inherited) // intel 32 bit only +OTHER_CPLUSPLUSFLAGS[arch=x86_64] = $(inherited) // intel 64 bit only // Warnings @@ -28,17 +31,18 @@ GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES // -Wmissing-braces GCC_WARN_ABOUT_RETURN_TYPE = YES // -Wreturn-type GCC_WARN_MISSING_PARENTHESES = YES // -Wparentheses GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES // -Wmissing-field-initializers -// -Wno-clobbered is not in clang -WARNING_CFLAGS = -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -Wmissing-field-initializers // Wno-missing-declarations is set on GLee.c; otherwise we would have +3000 warnings -GCC_WARN_SIGN_COMPARE = NO // FIXME: -Wsign-compare there are a lot of these and they should be fixed GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO // FIXME: -Wno-format Hides some "format not a string literal and no format arguments" warnings; these should be fixed at some point GCC_WARN_UNDECLARED_SELECTOR = YES // -Wundeclared-selector GCC_WARN_UNUSED_FUNCTION = YES // -Wunused-function GCC_WARN_UNUSED_LABEL = YES // -Wunused-label -GCC_WARN_UNUSED_PARAMETER = NO // -Wunused-parameter GCC_WARN_UNUSED_VALUE = YES // -Wunused-value GCC_WARN_UNUSED_VARIABLE = YES // -Wunused-variable +// Build setting dependent warnings +WarnForCandCpp = -Wall -Wextra -Wcast-align -Wwrite-strings -Wpointer-arith $(WarnForCandCppDep) // Wno-missing-declarations is set on GLee.c; otherwise we would have +3000 warnings +WarnForC = -Wstrict-prototypes -Wdeclaration-after-statement $(WarnForCDep) +WarnForCpp = $(WarnForCppDep) + // Additional build flags for both c and c++ files -FlagsForCandCpp = $(BuildDependentFlagsForCandCpp) -FlagsForCandCpp[arch=i386] = $(inherited) // Flags for intel 32 bit only \ No newline at end of file +FlagsForCandCpp = $(BuildDependentFlagsForCandCpp) $(WarnForCandCpp) +FlagsForCandCpp[arch=i386] = $(inherited) // Flags for intel 32 bit only diff --git a/macosx/configs/Warzone-Debug.xcconfig b/macosx/configs/Warzone-Debug.xcconfig index 267e3b1b3..58609a03b 100644 --- a/macosx/configs/Warzone-Debug.xcconfig +++ b/macosx/configs/Warzone-Debug.xcconfig @@ -7,7 +7,11 @@ GCC_ENABLE_FIX_AND_CONTINUE = YES GCC_DYNAMIC_NO_PIC = NO GCC_OPTIMIZATION_LEVEL = 0 GCC_PREPROCESSOR_DEFINITIONS = DEBUG $(inherited) -GCC_TREAT_WARNINGS_AS_ERRORS = YES -BuildDependentFlagsForCandCpp = // -fstack-protector // Needs 10.6 min for build before being used -BuildDependentFlagsForC = // -Wc++-compat -Wno-error=c++-compat // For seeing c++ compat warnings +// Additional build flags for both c and c++ files +BuildDependentFlagsForCandCpp = -Werror // -fstack-protector // Needs 10.6 min for build before being used + +// Build setting dependent warnings +WarnForCandCppDep = -Wno-error=unused-parameter -Wno-error=format-security -Wno-sign-compare // -Wno-error=sign-compare // FIXME: For some reason these will be errors anyway, so off for now +WarnForCDep = -Wc++-compat -Wno-error=c++-compat +WarnForCppDep = // -Wno-error=enum-compare // not currently supported by compiler diff --git a/macosx/configs/Warzone-Release.xcconfig b/macosx/configs/Warzone-Release.xcconfig index 8917f0572..82e07984f 100644 --- a/macosx/configs/Warzone-Release.xcconfig +++ b/macosx/configs/Warzone-Release.xcconfig @@ -6,4 +6,9 @@ GCC_OPTIMIZATION_LEVEL = 2 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) -// BuildDependentFlagsForCandCpp = -fstack-protector // Needs 10.5 min before being used \ No newline at end of file +BuildDependentFlagsForCandCpp = // -fstack-protector // Needs 10.6 min for build before being used + +// Build setting dependent warnings +WarnForCandCppDep = -Wno-unused-parameter -Wno-format-security -Wno-sign-compare +WarnForCDep = +WarnForCppDep = // -Wno-enum-compare // not currently supported by compiler From 0a064c24700857c0baaa0f310644ca366f33c2a8 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 22:10:46 +0100 Subject: [PATCH 009/142] =?UTF-8?q?Fix=20GLee.cpp=20=E2=86=92=20GLee.c=20i?= =?UTF-8?q?n=20Linux=20and=20Windows=20build=20scripts.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And LPTCSTR → LPCTSTR in some Windows file, apparently LPTCSTR wasn't similar enough for it to compile, closes ticket:2428. --- lib/betawidget/src/Makefile.am | 2 +- lib/exceptionhandler/exchndl.cpp | 2 +- lib/ivis_opengl/Makefile.am | 2 +- lib/ivis_opengl/ivis_opengl.vcproj | 2 +- lib/ivis_opengl/makefile.win32 | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/betawidget/src/Makefile.am b/lib/betawidget/src/Makefile.am index d5708cd9f..e79627092 100644 --- a/lib/betawidget/src/Makefile.am +++ b/lib/betawidget/src/Makefile.am @@ -67,7 +67,7 @@ noinst_HEADERS = \ noinst_LTLIBRARIES = libutil.la libutil_la_SOURCES = \ ../../framework/utf.cpp \ - ../../ivis_opengl/GLee.cpp + ../../ivis_opengl/GLee.c libutil_la_CPPFLAGS = $(SDL_CFLAGS) -DLIB_COMPILE=1 noinst_HEADERS += \ diff --git a/lib/exceptionhandler/exchndl.cpp b/lib/exceptionhandler/exchndl.cpp index 5201a62e7..62bc15287 100644 --- a/lib/exceptionhandler/exchndl.cpp +++ b/lib/exceptionhandler/exchndl.cpp @@ -467,7 +467,7 @@ BOOL ImagehlpGetLineFromAddr(HANDLE hProcess, DWORD dwAddress, LPTSTR lpFileNam assert(lpFileName && lpLineNumber); - lstrcpyn(lpFileName, (LPTCSTR)Line.FileName, nSize); + lstrcpyn(lpFileName, (LPCTSTR)Line.FileName, nSize); *lpLineNumber = Line.LineNumber; return TRUE; diff --git a/lib/ivis_opengl/Makefile.am b/lib/ivis_opengl/Makefile.am index ab0add72d..18ed6ef04 100644 --- a/lib/ivis_opengl/Makefile.am +++ b/lib/ivis_opengl/Makefile.am @@ -22,7 +22,7 @@ libivis_opengl_a_SOURCES = \ textdraw.cpp if !SYSTEM_GLEE -libivis_opengl_a_SOURCES += GLee.cpp +libivis_opengl_a_SOURCES += GLee.c noinst_HEADERS += GLee.h endif diff --git a/lib/ivis_opengl/ivis_opengl.vcproj b/lib/ivis_opengl/ivis_opengl.vcproj index efd59930e..cc2377a37 100644 --- a/lib/ivis_opengl/ivis_opengl.vcproj +++ b/lib/ivis_opengl/ivis_opengl.vcproj @@ -150,7 +150,7 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > Date: Tue, 21 Dec 2010 21:51:29 +0100 Subject: [PATCH 010/142] Make Vectors fun to use. Instead of Vector2f_Sub(Vector2f_Mul(myVector, myScalar), myOtherVector), write myVector*myScalar + MyOtherVector. Reviewed by Safety0ff. --- lib/framework/vector.h | 694 +++++----------------------------- lib/ivis_common/imdload.cpp | 6 +- lib/ivis_opengl/piedraw.cpp | 18 +- lib/ivis_opengl/piematrix.cpp | 4 +- lib/ivis_opengl/piematrix.h | 26 +- src/astar.cpp | 24 +- src/baseobject.cpp | 18 +- src/combat.cpp | 8 +- src/component.cpp | 2 +- src/design.cpp | 2 +- src/display3d.cpp | 57 ++- src/droid.cpp | 14 +- src/effects.cpp | 63 ++- src/fpath.cpp | 10 +- src/lighting.cpp | 114 +++--- src/map.cpp | 20 +- src/map.h | 14 + src/move.cpp | 34 +- src/move.h | 3 +- src/multibot.cpp | 2 +- src/order.cpp | 2 +- src/projectile.cpp | 40 +- src/raycast.cpp | 5 +- src/scriptai.cpp | 2 +- src/scriptfuncs.cpp | 4 +- src/structure.cpp | 8 +- src/visibility.cpp | 60 ++- src/warcam.cpp | 67 +--- 28 files changed, 360 insertions(+), 961 deletions(-) diff --git a/lib/framework/vector.h b/lib/framework/vector.h index 577967af5..30b5c7816 100644 --- a/lib/framework/vector.h +++ b/lib/framework/vector.h @@ -28,146 +28,122 @@ #include "frame.h" #include "math_ext.h" -typedef struct { int x, y; } Vector2i; -typedef struct { float x, y; } Vector2f; -typedef struct { int x, y, z; } Vector3i; -typedef struct { float x, y, z; } Vector3f; -typedef struct { uint16_t direction, pitch, roll; } Rotation; ///< Object rotation in 0..64k range -typedef Vector3i Position; ///< Map position in world coordinates - -/*! - * Create a Vector from x and y - * Needed for MSVC which doesn't support C99 struct assignments. - * \param x,y Coordinates - * \return New Vector - */ -static inline WZ_DECL_CONST Vector2i Vector2i_Init(const int x, const int y) +struct Vector2i { - Vector2i dest = { x, y }; - return dest; -} + Vector2i() {} + Vector2i(int x, int y) : x(x), y(y) {} - -/*! - * Convert an integer vector to float - * \param v Vector to convert - * \return Float vector - */ -static inline WZ_DECL_CONST Vector2f Vector2i_To2f(const Vector2i v) + int x, y; +}; +struct Vector2f { - Vector2f dest = { (float)v.x, (float)v.y }; - return dest; -} + Vector2f() {} + Vector2f(float x, float y) : x(x), y(y) {} + Vector2f(Vector2i const &v) : x(v.x), y(v.y) {} - -/*! - * \return true if both vectors are equal - */ -static inline WZ_DECL_CONST bool Vector2i_Compare(const Vector2i a, const Vector2i b) + float x, y; +}; +struct Vector3i { - return a.x == b.x && a.y == b.y; -} + Vector3i() {} + Vector3i(int x, int y, int z) : x(x), y(y), z(z) {} + Vector3i(Vector2i const &xy, int z) : x(xy.x), y(xy.y), z(z) {} - -/*! - * Add op2 to op1. - * \param[in] op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector2i Vector2i_Add(const Vector2i op1, const Vector2i op2) + int x, y, z; +}; +struct Vector3f { - Vector2i dest = { - op1.x + op2.x, - op1.y + op2.y - }; - return dest; -} + Vector3f() {} + Vector3f(float x, float y, float z) : x(x), y(y), z(z) {} + Vector3f(Vector3i const &v) : x(v.x), y(v.y), z(v.z) {} + Vector3f(Vector2f const &xy, int z) : x(xy.x), y(xy.y), z(z) {} - -/*! - * Substract op2 from op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector2i Vector2i_Sub(const Vector2i op1, const Vector2i op2) + float x, y, z; +}; +struct Rotation { - Vector2i dest = { - op1.x - op2.x, - op1.y - op2.y - }; - return dest; -} + Rotation() {} + Rotation(int direction, int pitch, int roll) : direction(direction), pitch(pitch), roll(roll) {} + + uint16_t direction, pitch, roll; ///< Object rotation in 0..64k range +}; +typedef Vector3i Position; ///< Map position in world coordinates + +// removeZ(3d_vector) -> 2d_vector +static inline WZ_DECL_CONST Vector2i removeZ(Vector3i const &a) { return Vector2i(a.x, a.y); } +static inline WZ_DECL_CONST Vector2f removeZ(Vector3f const &a) { return Vector2f(a.x, a.y); } -/*! - * Multiply a vector with a scalar. - * \param v Vector - * \param s Scalar - * \return Product - */ -static inline WZ_DECL_CONST Vector2i Vector2i_Mult(const Vector2i v, const int s) -{ - Vector2i dest = { v.x * s, v.y * s }; - return dest; -} +// vector == vector -> bool +static inline WZ_DECL_CONST bool operator ==(Vector2i const &a, Vector2i const &b) { return a.x == b.x && a.y == b.y; } +static inline WZ_DECL_CONST bool operator ==(Vector2f const &a, Vector2f const &b) { return a.x == b.x && a.y == b.y; } +static inline WZ_DECL_CONST bool operator ==(Vector3i const &a, Vector3i const &b) { return a.x == b.x && a.y == b.y && a.z == b.z; } +static inline WZ_DECL_CONST bool operator ==(Vector3f const &a, Vector3f const &b) { return a.x == b.x && a.y == b.y && a.z == b.z; } +static inline WZ_DECL_CONST bool operator ==(Rotation const &a, Rotation const &b) { return a.direction == b.direction && a.pitch == b.pitch && a.roll == b.roll; } +// vector != vector -> bool +static inline WZ_DECL_CONST bool operator !=(Vector2i const &a, Vector2i const &b) { return a.x != b.x || a.y != b.y; } +static inline WZ_DECL_CONST bool operator !=(Vector2f const &a, Vector2f const &b) { return a.x != b.x || a.y != b.y; } +static inline WZ_DECL_CONST bool operator !=(Vector3i const &a, Vector3i const &b) { return a.x != b.x || a.y != b.y || a.z != b.z; } +static inline WZ_DECL_CONST bool operator !=(Vector3f const &a, Vector3f const &b) { return a.x != b.x || a.y != b.y || a.z != b.z; } +static inline WZ_DECL_CONST bool operator !=(Rotation const &a, Rotation const &b) { return a.direction != b.direction || a.pitch != b.pitch || a.roll != b.roll; } -/*! - * Calculate the scalar product of op1 and op2. - * \param op1,op2 Operands - * \return Scalarproduct of the 2 vectors - */ -static inline WZ_DECL_CONST int Vector2i_ScalarP(const Vector2i op1, const Vector2i op2) -{ - return op1.x * op2.x + op1.y * op2.y; -} +// vector + vector -> vector +static inline WZ_DECL_CONST Vector2i operator +(Vector2i const &a, Vector2i const &b) { return Vector2i(a.x + b.x, a.y + b.y); } +static inline WZ_DECL_CONST Vector2f operator +(Vector2f const &a, Vector2f const &b) { return Vector2f(a.x + b.x, a.y + b.y); } +static inline WZ_DECL_CONST Vector3i operator +(Vector3i const &a, Vector3i const &b) { return Vector3i(a.x + b.x, a.y + b.y, a.z + b.z); } +static inline WZ_DECL_CONST Vector3f operator +(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x + b.x, a.y + b.y, a.z + b.z); } +//static inline WZ_DECL_CONST Rotation operator +(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction + (int16_t)b.direction, (int16_t)a.pitch + (int16_t)b.pitch, (int16_t)a.roll + (int16_t)b.roll); } +// vector - vector -> vector +static inline WZ_DECL_CONST Vector2i operator -(Vector2i const &a, Vector2i const &b) { return Vector2i(a.x - b.x, a.y - b.y); } +static inline WZ_DECL_CONST Vector2f operator -(Vector2f const &a, Vector2f const &b) { return Vector2f(a.x - b.x, a.y - b.y); } +static inline WZ_DECL_CONST Vector3i operator -(Vector3i const &a, Vector3i const &b) { return Vector3i(a.x - b.x, a.y - b.y, a.z - b.z); } +static inline WZ_DECL_CONST Vector3f operator -(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x - b.x, a.y - b.y, a.z - b.z); } +//static inline WZ_DECL_CONST Rotation operator -(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction - (int16_t)b.direction, (int16_t)a.pitch - (int16_t)b.pitch, (int16_t)a.roll - (int16_t)b.roll); } -/*! - * Calculate the length of a vector. - * \param v Vector - * \return Length - */ -static inline WZ_DECL_CONST int Vector2i_Length(const Vector2i v) -{ - return iHypot(v.x, v.y); -} +// vector * scalar -> vector +static inline WZ_DECL_CONST Vector2i operator *(Vector2i const &a, int s) { return Vector2i(a.x*s, a.y*s); } +static inline WZ_DECL_CONST Vector2f operator *(Vector2f const &a, float s) { return Vector2f(a.x*s, a.y*s); } +static inline WZ_DECL_CONST Vector3i operator *(Vector3i const &a, int s) { return Vector3i(a.x*s, a.y*s, a.z*s); } +static inline WZ_DECL_CONST Vector3f operator *(Vector3f const &a, float s) { return Vector3f(a.x*s, a.y*s, a.z*s); } +//static inline WZ_DECL_CONST Rotation operator *(Rotation const &a, int s) { return Rotation((int16_t)a.direction*s, (int16_t)a.pitch*s, (int16_t)a.roll*s); } +// vector / scalar -> vector +static inline WZ_DECL_CONST Vector2i operator /(Vector2i const &a, int s) { return Vector2i(a.x/s, a.y/s); } +static inline WZ_DECL_CONST Vector2f operator /(Vector2f const &a, float s) { return Vector2f(a.x/s, a.y/s); } +static inline WZ_DECL_CONST Vector3i operator /(Vector3i const &a, int s) { return Vector3i(a.x/s, a.y/s, a.z/s); } +static inline WZ_DECL_CONST Vector3f operator /(Vector3f const &a, float s) { return Vector3f(a.x/s, a.y/s, a.z/s); } +//static inline WZ_DECL_CONST Rotation operator /(Rotation const &a, int s) { return Rotation((int16_t)a.direction/s, (int16_t)a.pitch/s, (int16_t)a.roll/s); } -/*! - * Checks to see if vector v is inside the circle whose centre is at point c - * with a radius of r. - * This function makes use of the following equation: - * (x - a)^2 + (y - b)^2 = r^2 which is used for drawing a circle of radius r - * with a centre (a, b). However we can also use it to see if a point is in a - * circle, which is the case so long as RHS > LHS. - * \param v Vector to test - * \param c Vector containing the centre of the circle - * \param r The radius of the circle - * \return If v falls within the circle - */ -static inline WZ_DECL_CONST bool Vector2i_InCircle(const Vector2i v, const Vector2i c, const unsigned int r) -{ - Vector2i delta = Vector2i_Sub(v, c); - // Explictily cast to "unsigned int" because this number never can be - // negative, due to the fact that these numbers are squared. Still GCC - // warns about a comparison of a comparison between an unsigned and a - // signed integer. - return (unsigned int)((delta.x * delta.x) + (delta.y * delta.y)) < (r * r); -} +// vector * vector -> scalar +static inline WZ_DECL_CONST int operator *(Vector2i const &a, Vector2i const &b) { return a.x*b.x + a.y*b.y; } +static inline WZ_DECL_CONST float operator *(Vector2f const &a, Vector2f const &b) { return a.x*b.x + a.y*b.y; } +static inline WZ_DECL_CONST int operator *(Vector3i const &a, Vector3i const &b) { return a.x*b.x + a.y*b.y + a.z*b.z; } +static inline WZ_DECL_CONST float operator *(Vector3f const &a, Vector3f const &b) { return a.x*b.x + a.y*b.y + a.z*b.z; } +// normalise(vector) -> scalar +static inline WZ_DECL_CONST Vector2f normalise(Vector2f const &a) { float sq = a*a; if (sq == 0.0f) return Vector2f(0.0f, 0.0f); return a / sqrtf(sq); } +static inline WZ_DECL_CONST Vector3f normalise(Vector3f const &a) { float sq = a*a; if (sq == 0.0f) return Vector3f(0.0f, 0.0f, 0.0f); return a / sqrtf(sq); } + +// iSinCosR(angle, scalar) -> 2d_vector +static inline WZ_DECL_PURE Vector2i iSinCosR(uint16_t a, int32_t r) { return Vector2i(iSinR(a, r), iCosR(a, r)); } + +// iAtan2(2d_vector) -> angle +static inline WZ_DECL_PURE int iAtan2(Vector2i const &a) { return iAtan2(a.x, a.y); } + +// iHypot(vector) -> scalar +static inline WZ_DECL_PURE int iHypot(Vector2i const &a) { return iHypot(a.x, a.y); } +static inline WZ_DECL_PURE int iHypot(Vector3i const &a) { return iHypot3(a.x, a.y, a.z); } + +// swapYZ(3d_vector) -> 3d_vector +static inline WZ_DECL_PURE Vector3i swapYZ(Vector3i a) { return Vector3i(a.x, a.z, a.y); } +static inline WZ_DECL_PURE Vector3f swapYZ(Vector3f a) { return Vector3f(a.x, a.z, a.y); } + +// vector × vector -> scalar +static inline WZ_DECL_CONST Vector3i crossProduct(Vector3i const &a, Vector3i const &b) { return Vector3i(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); } +static inline WZ_DECL_CONST Vector3f crossProduct(Vector3f const &a, Vector3f const &b) { return Vector3f(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); } -/*! - * Create a Vector from x and y - * Needed for MSVC which doesn't support C99 struct assignments. - * \param x,y Coordinates - * \return New Vector - */ -static inline WZ_DECL_CONST Vector2f Vector2f_Init(const float x, const float y) -{ - Vector2f dest = { x, y }; - return dest; -} /*! @@ -177,95 +153,10 @@ static inline WZ_DECL_CONST Vector2f Vector2f_Init(const float x, const float y) */ static inline WZ_DECL_CONST Vector2i Vector2f_To2i(const Vector2f v) { - Vector2i dest = { (int)v.x, (int)v.y }; - return dest; + return Vector2i((int)v.x, (int)v.y); } -/*! - * Add op2 to op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector2f Vector2f_Add(const Vector2f op1, const Vector2f op2) -{ - Vector2f dest = { - op1.x + op2.x, - op1.y + op2.y - }; - return dest; -} - - -/*! - * Substract op2 from op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector2f Vector2f_Sub(const Vector2f op1, const Vector2f op2) -{ - Vector2f dest = { - op1.x - op2.x, - op1.y - op2.y - }; - return dest; -} - -/*! - * Multiply a vector with a scalar. - * \param v Vector - * \param s Scalar - * \return Product - */ -static inline WZ_DECL_CONST Vector2f Vector2f_Mult(const Vector2f v, const float s) -{ - Vector2f dest = { v.x * s, v.y * s }; - return dest; -} - - -/*! - * Calculate the scalar product of op1 and op2. - * \param op1,op2 Operands - * \return Scalarproduct of the 2 vectors - */ -static inline WZ_DECL_CONST float Vector2f_ScalarP(const Vector2f op1, const Vector2f op2) -{ - return op1.x * op2.x + op1.y * op2.y; -} - - -/*! - * Calculate the length of a vector. - * \param v Vector - * \return Length - */ -static inline WZ_DECL_CONST float Vector2f_Length(const Vector2f v) -{ - return sqrtf( Vector2f_ScalarP(v, v) ); -} - - -/*! - * Normalise a Vector - * \param v Vector - * \return Normalised vector, nullvector when input was nullvector or very small - */ -static inline WZ_DECL_CONST Vector2f Vector2f_Normalise(const Vector2f v) -{ - float length = Vector2f_Length(v); - - if (length == 0.0f) - { - Vector2f dest = { 0.0f, 0.0f }; - return dest; - } - else - { - Vector2f dest = { v.x / length, v.y / length }; - return dest; - } -} /*! * Rotate v @@ -283,65 +174,6 @@ static inline WZ_DECL_CONST Vector2f Vector2f_Rotate2f(Vector2f v, float degrees return result; } -/*! - * Finds a point that lies in between two other points, a starting and ending - * point. - * - * \param from Vector representing the starting point. - * \param to Vector representing the ending point. - * \param s The distance travelled along the line between vectors \c from and - * \c to expressed as a number ranging from 0.f to 1.f. - * - * \return a Vector that's \c s along the line between \c from and \to - */ -static inline WZ_DECL_CONST Vector2i Vector2i_LinearInterpolate(const Vector2i from, const Vector2i to, const float s) -{ - assert(s >= 0.f && s <= 1.f); - - return Vector2i_Add(from, Vector2f_To2i(Vector2f_Mult(Vector2i_To2f(Vector2i_Sub(to, from)), s))); -} - - -/*! - * Finds a point that lies in between two other points, a starting and ending - * point. - * - * \param from Vector representing the starting point. - * \param to Vector representing the ending point. - * \param s The distance travelled along the line between vectors \c from and - * \c to expressed as a number ranging from 0.f to 1.f. - * - * \return a Vector that's \c s along the line between \c from and \to - */ -static inline WZ_DECL_CONST Vector2f Vector2f_LinearInterpolate(const Vector2f from, const Vector2f to, const float s) -{ - assert(s >= 0.f && s <= 1.f); - - return Vector2f_Add(from, Vector2f_Mult(Vector2f_Sub(to, from), s)); -} - - -/*! - * Print a vector to stdout - */ -static inline void Vector3f_Print(const Vector3f v) -{ - printf("V: x:%f, y:%f, z:%f\n", v.x, v.y, v.z); -} - - -/*! - * Set the vector field by field, same as v = (Vector3f){x, y, z}; - * Needed for MSVC which doesn't support C99 struct assignments. - * \param x,y,z Values to set to - * \return New vector - */ -static inline WZ_DECL_CONST Vector3f Vector3f_Init(const float x, const float y, const float z) -{ - Vector3f dest = { x, y, z }; - return dest; -} - /*! * Convert a float vector to integer @@ -350,309 +182,7 @@ static inline WZ_DECL_CONST Vector3f Vector3f_Init(const float x, const float y, */ static inline WZ_DECL_CONST Vector3i Vector3f_To3i(const Vector3f v) { - Vector3i dest = { (int)v.x, (int)v.y, (int)v.z }; - return dest; -} - - -/*! - * \return true if both vectors are equal - */ -static inline WZ_DECL_CONST bool Vector3f_Compare(const Vector3f a, const Vector3f b) -{ - return a.x == b.x && a.y == b.y && a.z == b.z; -} - - -/*! - * Add op2 to op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector3f Vector3f_Add(const Vector3f op1, const Vector3f op2) -{ - Vector3f dest = { - op1.x + op2.x, - op1.y + op2.y, - op1.z + op2.z - }; - return dest; -} - - -/*! - * Substract op2 from op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector3f Vector3f_Sub(const Vector3f op1, const Vector3f op2) -{ - Vector3f dest = { - op1.x - op2.x, - op1.y - op2.y, - op1.z - op2.z - }; - return dest; -} - - -/*! - * Multiply a vector with a scalar. - * \param v Vector - * \param s Scalar - * \return Product - */ -static inline WZ_DECL_CONST Vector3f Vector3f_Mult(const Vector3f v, const float s) -{ - Vector3f dest = { v.x * s, v.y * s, v.z * s }; - return dest; -} - - -/*! - * Calculate the scalar product of op1 and op2. - * \param op1,op2 Operands - * \return Scalarproduct of the 2 vectors - */ -static inline WZ_DECL_CONST float Vector3f_ScalarP(const Vector3f op1, const Vector3f op2) -{ - return op1.x * op2.x + op1.y * op2.y + op1.z * op2.z; -} - - -/*! - * Calculate the crossproduct of op1 and op2. - * \param op1,op2 Operands - * \return Crossproduct - */ -static inline WZ_DECL_CONST Vector3f Vector3f_CrossP(const Vector3f op1, const Vector3f op2) -{ - Vector3f dest = { - op1.y * op2.z - op1.z * op2.y, - op1.z * op2.x - op1.x * op2.z, - op1.x * op2.y - op1.y * op2.x - }; - return dest; -} - - -/*! - * Calculate the length of a vector. - * \param v Vector - * \return Length - */ -static inline WZ_DECL_CONST float Vector3f_Length(const Vector3f v) -{ - return sqrtf( Vector3f_ScalarP(v, v) ); -} - - -/*! - * Normalise a Vector - * \param v Vector - * \return Normalised vector, nullvector when input was nullvector or very small - */ -static inline WZ_DECL_CONST Vector3f Vector3f_Normalise(const Vector3f v) -{ - float length = Vector3f_Length(v); - - if (length == 0.0f) - { - Vector3f dest = { 0.0f, 0.0f, 0.0f }; - return dest; - } - else - { - Vector3f dest = { v.x / length, v.y / length, v.z / length }; - return dest; - } -} - - -/*! - * Much the same as Vector2i_InCircle except that it works in 3-axis by discarding the z-component and with - * circles. - * \param v Vector to test - * \param c Vector containing the centre of the circle - * \param r The radius of the circle - * \return If v falls within the circle - */ -static inline WZ_DECL_CONST bool Vector3f_InCircle(const Vector3f v, const Vector3f c, const float r) -{ - Vector3f delta = Vector3f_Sub(v, c); - // Explictily cast to "unsigned int" because this number never can be - // negative, due to the fact that these numbers are squared. Still GCC - // warns about a comparison of a comparison between an unsigned and a - // signed integer. - return (delta.x * delta.x) + (delta.y * delta.y) < (r * r); -} - - -/*! - * Much the same as Vector2i_InCircle except that it works in 3-axis and with - * spheres. - * The equation used is also ever so slightly different: - * (x - a)^2 + (y - b)^2 + (z - c)^2 = r^2. Notice how it is still squared and - * _not_ cubed! - * \param v Vector to test - * \param c Vector containing the centre of the sphere - * \param r The radius of the sphere - * \return If v falls within the sphere - */ -static inline WZ_DECL_CONST bool Vector3f_InSphere (const Vector3f v, const Vector3f c, const float r) -{ - Vector3f delta = Vector3f_Sub(v, c); - // Explictily cast to "unsigned int" because this number never can be - // negative, due to the fact that these numbers are squared. Still GCC - // warns about a comparison of a comparison between an unsigned and a - // signed integer. - return (delta.x * delta.x) + (delta.y * delta.y) + (delta.z * delta.z) < (r * r); -} - - -/*! - * Finds a point that lies in between two other points, a starting and ending - * point. - * - * \param from Vector representing the starting point. - * \param to Vector representing the ending point. - * \param s The distance travelled along the line between vectors \c from and - * \c to expressed as a number ranging from 0.f to 1.f. - * - * \return a Vector that's \c s along the line between \c from and \to - */ -static inline WZ_DECL_CONST Vector3f Vector3f_LinearInterpolate(const Vector3f from, const Vector3f to, const float s) -{ - assert(s >= 0.f && s <= 1.f); - - return Vector3f_Add(from, Vector3f_Mult(Vector3f_Sub(to, from), s)); -} - -/*! - * Set the vector field by field, same as v = (Vector3i){x, y, z}; - * Needed for MSVC which doesn't support C99 struct assignments. - * \param x,y,z Coordinates - * \return New Vector - */ -static inline WZ_DECL_CONST Vector3i Vector3i_Init(const int x, const int y, const int z) -{ - Vector3i dest = { x, y, z }; - return dest; -} - - -/*! - * Convert an integer vector to float - * \param v Vector to convert - * \return Float vector - */ -static inline WZ_DECL_CONST Vector3f Vector3i_To3f(const Vector3i v) -{ - Vector3f dest = { (float)v.x, (float)v.y, (float)v.z }; - return dest; -} - - -/*! - * Convert a vector of fixed-point, wannabe-floats (used on the PSX, and - * unfortunately on the PC as well), to real floats expressed in real degrees. - * \param v Rotation vector in "wannabe-float" degrees - * \return Float vector in real degrees - */ -static inline WZ_DECL_CONST Vector3f Vector3iPSX_To3fDegree(const Vector3i v) -{ - return Vector3f_Mult(Vector3i_To3f(v), - // Required to multiply by this to undo the PSX fixed point fract stuff - 360.f / (float)DEG_360); -} - - -/*! - * \return true if both vectors are equal - */ -static inline WZ_DECL_CONST bool Vector3i_Compare(const Vector3i a, const Vector3i b) -{ - return a.x == b.x && a.y == b.y && a.z == b.z; -} - - -/*! - * Add op2 to op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector3i Vector3i_Add(const Vector3i op1, const Vector3i op2) -{ - Vector3i dest = { - op1.x + op2.x, - op1.y + op2.y, - op1.z + op2.z - }; - return dest; -} - - -/*! - * Substract op2 from op1. - * \param op1,op2 Operands - * \return Result - */ -static inline WZ_DECL_CONST Vector3i Vector3i_Sub(const Vector3i op1, const Vector3i op2) -{ - Vector3i dest = { - op1.x - op2.x, - op1.y - op2.y, - op1.z - op2.z - }; - return dest; -} - - -/*! - * Multiply a vector with a scalar. - * \param v Vector - * \param s Scalar - * \return Product - */ -static inline WZ_DECL_CONST Vector3i Vector3i_Mult(const Vector3i v, const int s) -{ - Vector3i dest = { v.x * s, v.y * s, v.z * s }; - return dest; -} - - -/*! - * Divide a vector with a scalar. - * \param v Vector - * \param s Scalar - * \return Product - */ -static inline WZ_DECL_CONST Vector3i Vector3i_Div(const Vector3i v, const int s) -{ - Vector3i dest = { v.x / s, v.y / s, v.z / s }; - return dest; -} - - -/*! - * Calculate the scalar product of op1 and op2. - * \param op1,op2 Operands - * \return Scalarproduct of the 2 vectors - */ -static inline WZ_DECL_CONST unsigned int Vector3i_ScalarP(const Vector3i op1, const Vector3i op2) -{ - return op1.x * op2.x + op1.y * op2.y + op1.z * op2.z; -} - - -/*! - * Calculate the length of a vector. - * \param v Vector - * \return Length - */ -static inline WZ_DECL_CONST int32_t Vector3i_Length(const Vector3i v) -{ - return iHypot3(v.x, v.y, v.z); + return Vector3i((int)v.x, (int)v.y, (int)v.z); } @@ -666,12 +196,12 @@ static inline WZ_DECL_CONST int32_t Vector3i_Length(const Vector3i v) */ static inline WZ_DECL_CONST bool Vector3i_InCircle(const Vector3i v, const Vector3i c, const unsigned int r) { - Vector3i delta = Vector3i_Sub(v, c); + Vector2i delta = removeZ(v - c); // Explictily cast to "unsigned int" because this number never can be // negative, due to the fact that these numbers are squared. Still GCC // warns about a comparison of a comparison between an unsigned and a // signed integer. - return (unsigned int)((delta.x * delta.x) + (delta.y * delta.y)) < (r * r); + return (unsigned int)(delta * delta) < r * r; } @@ -688,31 +218,13 @@ static inline WZ_DECL_CONST bool Vector3i_InCircle(const Vector3i v, const Vecto */ static inline WZ_DECL_CONST bool Vector3i_InSphere (const Vector3i v, const Vector3i c, const unsigned int r) { - Vector3i delta = Vector3i_Sub(v, c); + Vector3i delta = v - c; // Explictily cast to "unsigned int" because this number never can be // negative, due to the fact that these numbers are squared. Still GCC // warns about a comparison of a comparison between an unsigned and a // signed integer. - return (unsigned int)((delta.x * delta.x) + (delta.y * delta.y) + (delta.z * delta.z)) < (r * r); + return (unsigned int)(delta * delta) < r * r; } -/*! - * Finds a point that lies in between two other points, a starting and ending - * point. - * - * \param from Vector representing the starting point. - * \param to Vector representing the ending point. - * \param s The distance travelled along the line between vectors \c from and - * \c to expressed as a number ranging from 0.f to 1.f. - * - * \return a Vector that's \c s along the line between \c from and \to - */ -static inline WZ_DECL_CONST Vector3i Vector3i_LinearInterpolate(const Vector3i from, const Vector3i to, const float s) -{ - assert(s >= 0.f && s <= 1.f); - - return Vector3i_Add(from, Vector3f_To3i(Vector3f_Mult(Vector3i_To3f(Vector3i_Sub(to, from)), s))); -} - #endif // VECTOR_H diff --git a/lib/ivis_common/imdload.cpp b/lib/ivis_common/imdload.cpp index 8d2fa6bec..a5b952bfe 100644 --- a/lib/ivis_common/imdload.cpp +++ b/lib/ivis_common/imdload.cpp @@ -244,8 +244,8 @@ static BOOL _imd_load_points( const char **ppFileData, iIMDShape *s ) double dx, dy, dz, rad_sq, rad, old_to_p_sq, old_to_p, old_to_new; double xspan, yspan, zspan, maxspan; Vector3f dia1, dia2, cen; - Vector3f vxmin = { 0, 0, 0 }, vymin = { 0, 0, 0 }, vzmin = { 0, 0, 0 }, - vxmax = { 0, 0, 0 }, vymax = { 0, 0, 0 }, vzmax = { 0, 0, 0 }; + Vector3f vxmin(0, 0, 0), vymin(0, 0, 0), vzmin(0, 0, 0), + vxmax(0, 0, 0), vymax(0, 0, 0), vzmax(0, 0, 0); //load the points then pass through a second time to setup bounding datavalues s->points = (Vector3f*)malloc(sizeof(Vector3f) * s->npoints); @@ -474,7 +474,7 @@ static BOOL _imd_load_connectors(const char **ppFileData, iIMDShape *s) { const char *pFileData = *ppFileData; int cnt; - Vector3i *p = NULL, newVector = {0, 0, 0}; + Vector3i *p = NULL, newVector(0, 0, 0); s->connectors = (Vector3i *)malloc(sizeof(Vector3i) * s->nconnectors); if (s->connectors == NULL) diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index afb542584..bd57336bd 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -259,7 +259,7 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI } /// returns true if the edges are adjacent -static int compare_edge (EDGE *A, EDGE *B, const Vector3f *pVertices ) +static bool compare_edge (EDGE *A, EDGE *B, const Vector3f *pVertices ) { if(A->from == B->to) { @@ -267,10 +267,10 @@ static int compare_edge (EDGE *A, EDGE *B, const Vector3f *pVertices ) { return true; } - return Vector3f_Compare(pVertices[A->to], pVertices[B->from]); + return pVertices[A->to] == pVertices[B->from]; } - if(!Vector3f_Compare(pVertices[A->from], pVertices[B->to])) + if (pVertices[A->from] != pVertices[B->to]) { return false; } @@ -279,7 +279,7 @@ static int compare_edge (EDGE *A, EDGE *B, const Vector3f *pVertices ) { return true; } - return Vector3f_Compare(pVertices[A->to], pVertices[B->from]); + return pVertices[A->to] == pVertices[B->from]; } /// Add an edge to an edgelist @@ -351,18 +351,16 @@ static void pie_DrawShadow(iIMDShape *shape, int flag, int flag_data, Vector3f* { for (i = 0, pPolys = shape->polys; i < shape->npolys; ++i, ++pPolys) { - Vector3f p[3], v[2], normal = {0.0f, 0.0f, 0.0f}; + Vector3f p[3]; VERTEXID current, first; for(j = 0; j < 3; j++) { current = pPolys->pindex[j]; - p[j] = Vector3f_Init(pVertices[current].x, scale_y(pVertices[current].y, flag, flag_data), pVertices[current].z); + p[j] = Vector3f(pVertices[current].x, scale_y(pVertices[current].y, flag, flag_data), pVertices[current].z); } - v[0] = Vector3f_Sub(p[2], p[0]); - v[1] = Vector3f_Sub(p[1], p[0]); - normal = Vector3f_CrossP(v[0], v[1]); - if (Vector3f_ScalarP(normal, *light) > 0) + Vector3f normal = crossProduct(p[2] - p[0], p[1] - p[0]); + if (normal * *light > 0) { first = pPolys->pindex[0]; for (n = 1; n < pPolys->npnts; n++) { diff --git a/lib/ivis_opengl/piematrix.cpp b/lib/ivis_opengl/piematrix.cpp index e61746015..8ebc59d78 100644 --- a/lib/ivis_opengl/piematrix.cpp +++ b/lib/ivis_opengl/piematrix.cpp @@ -310,11 +310,11 @@ int32_t pie_RotateProject(const Vector3i *v3d, Vector2i *v2d) /* * v = curMatrix . v3d */ - Vector3i v = { + Vector3i v( v3d->x * psMatrix->a + v3d->y * psMatrix->d + v3d->z * psMatrix->g + psMatrix->j, v3d->x * psMatrix->b + v3d->y * psMatrix->e + v3d->z * psMatrix->h + psMatrix->k, v3d->x * psMatrix->c + v3d->y * psMatrix->f + v3d->z * psMatrix->i + psMatrix->l - }; + ); const int zz = v.z >> STRETCHED_Z_SHIFT; diff --git a/lib/ivis_opengl/piematrix.h b/lib/ivis_opengl/piematrix.h index 7d8eec072..aa0f2b83f 100644 --- a/lib/ivis_opengl/piematrix.h +++ b/lib/ivis_opengl/piematrix.h @@ -51,31 +51,7 @@ void pie_RotateTranslate3i(const Vector3i *v, Vector3i *s); static inline WZ_DECL_CONST WZ_DECL_WARN_UNUSED_RESULT Vector3f pie_SurfaceNormal3fv(const Vector3f p1, const Vector3f p2, const Vector3f p3) { - Vector3f - a = { - p3.x - p1.x, - p3.y - p1.y, - p3.z - p1.z - }, - b = { - p2.x - p1.x, - p2.y - p1.y, - p2.z - p1.z - }; - - a = Vector3f_Normalise(a); - b = Vector3f_Normalise(b); - - { // MSVC HACK - Vector3f - v = { - (a.y * b.z) - (a.z * b.y), - (a.z * b.x) - (a.x * b.z), - (a.x * b.y) - (a.y * b.x) - }; - - return Vector3f_Normalise(v); - } + return normalise(crossProduct(p3 - p1, p2 - p1)); } //************************************************************************* diff --git a/src/astar.cpp b/src/astar.cpp index eca562ba7..e8f2e277b 100644 --- a/src/astar.cpp +++ b/src/astar.cpp @@ -180,14 +180,14 @@ static uint32_t fpathCurrentGameTime; // dir 0 => x = 0, y = -1 static const Vector2i aDirOffset[] = { - { 0, 1}, - {-1, 1}, - {-1, 0}, - {-1,-1}, - { 0,-1}, - { 1,-1}, - { 1, 0}, - { 1, 1}, + Vector2i( 0, 1), + Vector2i(-1, 1), + Vector2i(-1, 0), + Vector2i(-1,-1), + Vector2i( 0,-1), + Vector2i( 1,-1), + Vector2i( 1, 0), + Vector2i( 1, 1), }; void fpathHardTableReset() @@ -433,8 +433,7 @@ ASR_RETVAL fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob) ASSERT_OR_RETURN(ASR_FAILED, tileOnMap(p.x, p.y), "Assigned XY coordinates (%d, %d) not on map!", (int)p.x, (int)p.y); ASSERT_OR_RETURN(ASR_FAILED, path.size() < (unsigned)mapWidth*mapHeight, "Pathfinding got in a loop."); - Vector2i v = {world_coord(p.x) + TILE_UNITS / 2, world_coord(p.y) + TILE_UNITS / 2}; - path.push_back(v); + path.push_back(Vector2i(world_coord(p.x) + TILE_UNITS / 2, world_coord(p.y) + TILE_UNITS / 2)); PathExploredTile &tile = context.map[p.x + p.y*mapWidth]; newP = PathCoord(p.x - tile.dx, p.y - tile.dy); @@ -446,13 +445,12 @@ ASR_RETVAL fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob) if (path.empty()) { // We are probably already in the destination tile. Go to the exact coordinates. - Vector2i v = {psJob->destX, psJob->destY}; - path.push_back(v); + path.push_back(Vector2i(psJob->destX, psJob->destY)); } else if (retval == ASR_OK) { // Found exact path, so use exact coordinates for last point, no reason to lose precision - Vector2i v = {psJob->destX, psJob->destY}; + Vector2i v(psJob->destX, psJob->destY); if (mustReverse) { path.front() = v; diff --git a/src/baseobject.cpp b/src/baseobject.cpp index 01fb0852e..bbe5b6a86 100644 --- a/src/baseobject.cpp +++ b/src/baseobject.cpp @@ -26,12 +26,6 @@ #include "projectile.h" #include "structure.h" -static inline int32_t interpolateInt(int32_t v1, int32_t v2, uint32_t t1, uint32_t t2, uint32_t t) -{ - int32_t numer = t - t1, denom = t2 - t1; - return v1 + (v2 - v1) * numer/denom; -} - static inline uint16_t interpolateAngle(uint16_t v1, uint16_t v2, uint32_t t1, uint32_t t2, uint32_t t) { int32_t numer = t - t1, denom = t2 - t1; @@ -40,20 +34,16 @@ static inline uint16_t interpolateAngle(uint16_t v1, uint16_t v2, uint32_t t1, u static Position interpolatePos(Position p1, Position p2, uint32_t t1, uint32_t t2, uint32_t t) { - Position ret = { interpolateInt(p1.x, p2.x, t1, t2, t), - interpolateInt(p1.y, p2.y, t1, t2, t), - interpolateInt(p1.z, p2.z, t1, t2, t) - }; - return ret; + return p1 + (p2 - p1) * int(t - t1) / int(t2 - t1); } Rotation interpolateRot(Rotation v1, Rotation v2, uint32_t t1, uint32_t t2, uint32_t t) { - Rotation rot = { interpolateAngle(v1.direction, v2.direction, t1, t2, t), + //return v1 + (v2 - v1) * (t - t1) / (t2 - t1); + return Rotation( interpolateAngle(v1.direction, v2.direction, t1, t2, t), interpolateAngle(v1.pitch, v2.pitch, t1, t2, t), interpolateAngle(v1.roll, v2.roll, t1, t2, t) - }; - return rot; + ); } static SPACETIME interpolateSpacetime(SPACETIME st1, SPACETIME st2, uint32_t t) diff --git a/src/combat.cpp b/src/combat.cpp index 3331064a5..c6333496f 100644 --- a/src/combat.cpp +++ b/src/combat.cpp @@ -358,12 +358,8 @@ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, in } else /* Deal with a missed shot */ { - int missDir = gameRand(BUL_MAXSCATTERDIR), missDist = 2 * (100 - resultHitChance); - Vector3i miss = { - aScatterDir[missDir].x * missDist + psTarget->pos.x + minOffset, - aScatterDir[missDir].y * missDist + psTarget->pos.y + minOffset, - psTarget->pos.z - }; + int missDir = gameRand(BUL_MAXSCATTERDIR), missDist = 2 * (100 - resultHitChance) + minOffset; + Vector3i miss = Vector3i(aScatterDir[missDir].x, aScatterDir[missDir].y, 0)*missDist + psTarget->pos; objTrace(psAttacker->id, "combFire: Missed shot (%d) ended up at (%4d,%4d)", dice, miss.x, miss.y); diff --git a/src/component.cpp b/src/component.cpp index bb9fbb137..38c4716e8 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -501,7 +501,7 @@ static iIMDShape *getRightPropulsionIMD(DROID *psDroid) static void displayCompObj(DROID *psDroid, BOOL bButton) { iIMDShape *psShape, *psJet, *psShapeTemp = NULL, *psMountShape; - Vector3i zero = {0, 0, 0}; + Vector3i zero(0, 0, 0); Vector2i screenCoords; SDWORD dummyZ, iConnector; PROPULSION_STATS *psPropStats; diff --git a/src/design.cpp b/src/design.cpp index 775072c8f..e32d41366 100644 --- a/src/design.cpp +++ b/src/design.cpp @@ -4474,7 +4474,7 @@ static void intDisplayStatForm(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, SWORD templateRadius = getComponentRadius(psStats); - Vector3i Rotation = {-30, iRY, 0}, Position = {0, -templateRadius / 4, BUTTON_DEPTH /* templateRadius * 12 */}; + Vector3i Rotation(-30, iRY, 0), Position(0, -templateRadius / 4, BUTTON_DEPTH /* templateRadius * 12 */); //scale the object around the BUTTON_RADIUS so that half size objects are draw are draw 75% the size of normal objects SDWORD falseScale = (DESIGN_COMPONENT_SCALE * COMPONENT_RADIUS) / templateRadius / 2 + (DESIGN_COMPONENT_SCALE / 2); diff --git a/src/display3d.cpp b/src/display3d.cpp index 672d81424..ec59d667d 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -192,7 +192,7 @@ static Vector3f alteredPoints[iV_IMD_MAX_POINTS]; /** Number of tiles visible * \todo This should become dynamic! (A function of resolution, angle and zoom maybe.) */ -Vector2i visibleTiles = { VISIBLE_XTILES, VISIBLE_YTILES }; +Vector2i visibleTiles(VISIBLE_XTILES, VISIBLE_YTILES); /// The X position (in tile coordinates) of the middle of the visible map UDWORD terrainMidX; @@ -309,12 +309,12 @@ static inline void clearBlueprints() STRUCTURE *getTileBlueprint(int mapX, int mapY) { - Vector2i mouse = {world_coord(mapX) + TILE_UNITS/2, world_coord(mapY) + TILE_UNITS/2}; + Vector2i mouse(world_coord(mapX) + TILE_UNITS/2, world_coord(mapY) + TILE_UNITS/2); for (std::vector::const_iterator i = blueprints.begin(); i != blueprints.end(); ++i) { STRUCTURE *psStruct = *i; - Vector2i size = {getStructureWidth(psStruct)*TILE_UNITS, getStructureBreadth(psStruct)*TILE_UNITS}; + Vector2i size(getStructureWidth(psStruct)*TILE_UNITS, getStructureBreadth(psStruct)*TILE_UNITS); if (abs(mouse.x - psStruct->pos.x) < size.x/2 && abs(mouse.y - psStruct->pos.y) < size.y/2) { return psStruct; // This blueprint was clicked on. @@ -1051,7 +1051,7 @@ static void drawTiles(iView *player) BOOL init3DView(void) { /* Arbitrary choice - from direct read! */ - Vector3f theSun = { 225.0f, -600.0f, 450.0f }; + Vector3f theSun(225.0f, -600.0f, 450.0f); setTheSun(theSun); @@ -1141,8 +1141,8 @@ BOOL clipXY(SDWORD x, SDWORD y) static void calcFlagPosScreenCoords(SDWORD *pX, SDWORD *pY, SDWORD *pR) { /* Get it's absolute dimensions */ - Vector3i center3d = {0, 0, 0}; - Vector2i center2d = {0, 0}; + Vector3i center3d(0, 0, 0); + Vector2i center2d(0, 0); /* How big a box do we want - will ultimately be calculated using xmax, ymax, zmax etc */ UDWORD radius = 22; @@ -1308,11 +1308,11 @@ void renderAnimComponent( const COMPONENT_OBJECT *psObj ) if( clipXY( posX, posY ) ) { /* get parent object translation */ - const Vector3i dv = { + const Vector3i dv( (spacetime.pos.x - player.p.x) - terrainMidX * TILE_UNITS, spacetime.pos.z, terrainMidY * TILE_UNITS - (spacetime.pos.y - player.p.z) - }; + ); SDWORD iPlayer; PIELIGHT brightness; @@ -1362,8 +1362,8 @@ void renderAnimComponent( const COMPONENT_OBJECT *psObj ) //brightness and fog calculation if (psParentObj->type == OBJ_STRUCTURE) { - const Vector3i zero = {0, 0, 0}; - Vector2i s = {0, 0}; + const Vector3i zero(0, 0, 0); + Vector2i s(0, 0); STRUCTURE *psStructure = (STRUCTURE*)psParentObj; brightness = structureBrightness(psStructure); @@ -1883,7 +1883,6 @@ void setViewDistance(UDWORD dist) /// Draw a feature (tree/rock/etc.) void renderFeature(FEATURE *psFeature) { - UDWORD featX,featY; SDWORD rotation, rx, rz; PIELIGHT brightness; Vector3i dv; @@ -1899,20 +1898,16 @@ void renderFeature(FEATURE *psFeature) /* Mark it as having been drawn */ psFeature->sDisplay.frameNumber = currentGameFrame; - /* Get it's x and y coordinates so we don't have to deref. struct later */ - featX = psFeature->pos.x; - featY = psFeature->pos.y; - /* Daft hack to get around the oild derrick issue */ - if (!TileHasFeature(mapTile(map_coord(featX), map_coord(featY)))) + if (!TileHasFeature(mapTile(map_coord(removeZ(psFeature->pos))))) { return; } - dv = Vector3i_Init( - (featX - player.p.x) - terrainMidX*TILE_UNITS, - dv.y = psFeature->pos.z, // features sits at the height of the tile it's centre is on - terrainMidY*TILE_UNITS - (featY - player.p.z) + dv = Vector3i( + (psFeature->pos.x - player.p.x) - terrainMidX*TILE_UNITS, + psFeature->pos.z, // features sits at the height of the tile it's centre is on + terrainMidY*TILE_UNITS - (psFeature->pos.y - player.p.z) ); /* Push the indentity matrix */ @@ -1976,8 +1971,8 @@ void renderFeature(FEATURE *psFeature) } { - Vector3i zero = {0, 0, 0}; - Vector2i s = {0, 0}; + Vector3i zero(0, 0, 0); + Vector2i s(0, 0); pie_RotateProject( &zero, &s ); psFeature->sDisplay.screenX = s.x; @@ -1991,7 +1986,7 @@ void renderFeature(FEATURE *psFeature) void renderProximityMsg(PROXIMITY_DISPLAY *psProxDisp) { UDWORD msgX = 0, msgY = 0; - Vector3i dv = { 0, 0, 0 }; + Vector3i dv(0, 0, 0); VIEW_PROXIMITY *pViewProximity = NULL; SDWORD x, y, r, rx, rz; iIMDShape *proxImd = NULL; @@ -2475,8 +2470,8 @@ void renderStructure(STRUCTURE *psStructure) } { - Vector3i zero = { 0, 0, 0 }; - Vector2i s = { 0, 0 }; + Vector3i zero(0, 0, 0); + Vector2i s(0, 0); pie_RotateProject(&zero, &s); psStructure->sDisplay.screenX = s.x; @@ -2683,8 +2678,8 @@ static BOOL renderWallSection(STRUCTURE *psStructure) imd->points = temp; { - Vector3i zero = {0, 0, 0}; - Vector2i s = {0, 0}; + Vector3i zero(0, 0, 0); + Vector2i s(0, 0); pie_RotateProject( &zero, &s ); psStructure->sDisplay.screenX = s.x; @@ -3586,8 +3581,8 @@ SDWORD xShift,yShift, index; void calcScreenCoords(DROID *psDroid) { /* Get it's absolute dimensions */ - const Vector3i origin = {0, 0, 0}; - Vector2i center = {0, 0}; + const Vector3i origin(0, 0, 0); + Vector2i center(0, 0); UDWORD radius; /* get the screen corrdinates */ @@ -3636,7 +3631,7 @@ void calcScreenCoords(DROID *psDroid) */ static void locateMouse(void) { - const Vector2i pt = {mouseX(), mouseY()}; + const Vector2i pt(mouseX(), mouseY()); unsigned int i; int nearestZ = INT_MAX; @@ -4187,7 +4182,7 @@ static void showSensorRange2(BASE_OBJECT *psObj) /// Draw a circle on the map (to show the range of something) static void drawRangeAtPos(SDWORD centerX, SDWORD centerY, SDWORD radius) { - Position pos = {centerX, centerY, 0}; // .z ignored. + Position pos(centerX, centerY, 0); // .z ignored. showEffectCircle(pos, radius, 80, EFFECT_EXPLOSION, EXPLOSION_TYPE_SMALL); } diff --git a/src/droid.cpp b/src/droid.cpp index 4da51f81f..98580755f 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -3054,7 +3054,7 @@ bool calcDroidMuzzleLocation(DROID *psDroid, Vector3i *muzzle, int weapon_slot) { char debugStr[250], debugLen = 0; // Each "(%d,%d,%d)" uses up to 34 bytes, for very large values. So 250 isn't exaggerating. - Vector3i barrel = {0, 0, 0}; + Vector3i barrel(0, 0, 0); iIMDShape *psWeaponImd = 0, *psMountImd = 0; if (psDroid->asWeaps[weapon_slot].nStat) @@ -3100,9 +3100,9 @@ bool calcDroidMuzzleLocation(DROID *psDroid, Vector3i *muzzle, int weapon_slot) connector_num = (psDroid->asWeaps[weapon_slot].shotsFired - 1) % (psWeaponImd->nconnectors); } - barrel = Vector3i_Init(psWeaponImd->connectors[connector_num].x, - -psWeaponImd->connectors[connector_num].y, - -psWeaponImd->connectors[connector_num].z); + barrel = Vector3i(psWeaponImd->connectors[connector_num].x, + -psWeaponImd->connectors[connector_num].y, + -psWeaponImd->connectors[connector_num].z); debugLen += sprintf(debugStr + debugLen, ",barrel[%u]=(%d,%d,%d)", connector_num, psWeaponImd->connectors[connector_num].x, -psWeaponImd->connectors[connector_num].y, -psWeaponImd->connectors[connector_num].z); } @@ -3116,7 +3116,7 @@ bool calcDroidMuzzleLocation(DROID *psDroid, Vector3i *muzzle, int weapon_slot) } else { - *muzzle = Vector3i_Init(psDroid->pos.x, psDroid->pos.y, psDroid->pos.z + psDroid->sDisplay.imd->max.y); + *muzzle = psDroid->pos + Vector3i(0, 0, psDroid->sDisplay.imd->max.y); } CHECK_DROID(psDroid); @@ -3528,7 +3528,7 @@ BOOL pickATileGenThreat(UDWORD *x, UDWORD *y, UBYTE numIterations, SDWORD threat SDWORD i, j; SDWORD startX, endX, startY, endY; UDWORD passes; - Vector3i origin = { world_coord(*x), world_coord(*y), 0 }; + Vector3i origin(world_coord(*x), world_coord(*y), 0); ASSERT_OR_RETURN(false, *xposition.x - player.p.x) - terrainMidX * TILE_UNITS, psEffect->position.y, terrainMidY * TILE_UNITS - (psEffect->position.z - player.p.z) - }; + ); /* Push the indentity matrix */ pie_MatBegin(); @@ -489,18 +489,16 @@ void addMultiEffect(const Vector3i *basePos, Vector3i *scatter, EFFECT_GROUP gro unsigned int i; /* Fix for jim */ - scatter->x/=10; - scatter->y/=10; - scatter->z/=10; + *scatter = *scatter / 10; /* There are multiple effects - so scatter them around according to parameter */ for(i=0; ix + (scatter->x ? ( scatter->x - (rand()%(2*scatter->x)) ) : 0 ), - basePos->y + (scatter->y ? ( scatter->y - (rand()%(2*scatter->y)) ) : 0 ), - basePos->z + (scatter->z ? ( scatter->z - (rand()%(2*scatter->z)) ) : 0 ) - }; + // This scatters in a cube - is there a good reason for that, or just legacy? + Vector3i scatPos = *basePos + *scatter - Vector3i(rand()%(scatter->x*2 + 1), + rand()%(scatter->y*2 + 1), + rand()%(scatter->z*2 + 1) + ); addEffect(&scatPos,group,type,specified,imd,lit); } } @@ -2324,11 +2322,7 @@ void initPerimeterSmoke(iIMDShape *pImd, Vector3i base) for (i = varStart; i < varEnd; i += varStride) { - Vector3i pos = { - base.x + i + shift, - base.y, - base.z + inStart + shift - }; + Vector3i pos = base + Vector3i(i + shift, 0, inStart + shift); if (rand()%6 == 1) { @@ -2339,7 +2333,7 @@ void initPerimeterSmoke(iIMDShape *pImd, Vector3i base) addEffect(&pos, EFFECT_SMOKE, SMOKE_TYPE_BILLOW, false, NULL, 0); } - pos = Vector3i_Init(base.x + i + shift, base.y, base.z + inEnd + shift); + pos = base + Vector3i(i + shift, 0, inEnd + shift); if (rand()%6 == 1) { @@ -2360,11 +2354,7 @@ void initPerimeterSmoke(iIMDShape *pImd, Vector3i base) for (i = varStart; i < varEnd; i += varStride) { - Vector3i pos = { - base.x + inStart + shift, - base.y, - base.z + i + shift - }; + Vector3i pos = base + Vector3i(inStart + shift, 0, i + shift); if (rand()%6 == 1) { @@ -2375,7 +2365,7 @@ void initPerimeterSmoke(iIMDShape *pImd, Vector3i base) addEffect(&pos, EFFECT_SMOKE, SMOKE_TYPE_BILLOW, false, NULL, 0); } - pos = Vector3i_Init(base.x + inEnd + shift, base.y, base.z + i + shift); + pos = base + Vector3i(inEnd + shift, 0, i + shift); if (rand()%6 == 1) { @@ -2438,17 +2428,14 @@ static void effectDroidUpdates(void) if ((int)psDroid->sMove.speed != 0) { /* Present direction is important */ - Vector2i behind = { - iSinR(psDroid->rot.direction, 50), - iCosR(psDroid->rot.direction, 50) - }; - Vector3i pos = { + Vector2i behind = iSinCosR(psDroid->rot.direction, 50); + Vector3i pos( clip(psDroid->pos.x - behind.x, 0, mapWidth), clip(psDroid->pos.y - behind.y, 0, mapHeight), 0 - }; + ); - pos.z = map_Height(pos.x, pos.z); + pos.z = map_Height(pos.x, pos.y); // FIXME This does not do anything!! } @@ -2497,11 +2484,11 @@ static void effectStructureUpdates(void) { if (psStructure->sDisplay.imd->nconnectors == 1) { - Vector3i eventPos = { - psStructure->pos.x + psStructure->sDisplay.imd->connectors->x, - psStructure->pos.z + psStructure->sDisplay.imd->connectors->z, - psStructure->pos.y - psStructure->sDisplay.imd->connectors->y - }; + Vector3i eventPos = swapYZ(psStructure->pos) + Vector3i( + psStructure->sDisplay.imd->connectors->x, + psStructure->sDisplay.imd->connectors->z, + -psStructure->sDisplay.imd->connectors->y + ); addEffect(&eventPos, EFFECT_SMOKE, SMOKE_TYPE_STEAM, false, NULL, 0); @@ -2515,15 +2502,11 @@ static void effectStructureUpdates(void) { bool active = false; POWER_GEN *psPowerGen = &psStructure->pFunctionality->powerGenerator; - Vector3i eventPos = { - psStructure->pos.x, - psStructure->pos.z, - psStructure->pos.y - }; + Vector3i eventPos = swapYZ(psStructure->pos); if (psStructure->sDisplay.imd->nconnectors > 0) { - eventPos.y = psStructure->pos.z+psStructure->sDisplay.imd->connectors->z; + eventPos.y += psStructure->sDisplay.imd->connectors->z; } /* Add an effect over the central spire - if diff --git a/src/fpath.cpp b/src/fpath.cpp index 0746d4514..bf97c033c 100644 --- a/src/fpath.cpp +++ b/src/fpath.cpp @@ -69,9 +69,9 @@ typedef struct _jobDone // Convert a direction into an offset, spanning two tiles static const Vector2i aDirOffset[NUM_DIR] = { - { 0, 1 }, { -1, 1 }, { -1, 0 }, { -1, -1 }, { 0, -1 }, { 1, -1 }, { 1, 0 }, { 1, 1 }, - { -2, -2 }, { -1, -2 }, { 0, -2 }, { 1, -2 }, { 2, -2 }, { -2, -1 }, { 2, -1 }, { -2, 0 }, - { 2, 0 }, { -2, 1 }, { 2, 1 }, { -2, 2 }, { -1, 2 }, { 0, 2 }, { 1, 2 }, { 2, 2 }, + Vector2i( 0, 1), Vector2i(-1, 1), Vector2i(-1, 0), Vector2i(-1, -1), Vector2i( 0, -1), Vector2i( 1, -1), Vector2i( 1, 0), Vector2i( 1, 1), + Vector2i(-2, -2), Vector2i(-1, -2), Vector2i( 0, -2), Vector2i( 1, -2), Vector2i( 2, -2), Vector2i(-2, -1), Vector2i( 2, -1), Vector2i(-2, 0), + Vector2i( 2, 0), Vector2i(-2, 1), Vector2i( 2, 1), Vector2i(-2, 2), Vector2i(-1, 2), Vector2i( 0, 2), Vector2i( 1, 2), Vector2i( 2, 2), }; // threading stuff @@ -725,12 +725,12 @@ static bool fpathVisCallback(Vector3i pos, int32_t dist, void *data) BOOL fpathTileLOS(DROID *psDroid, Vector3i dest) { - Vector3i dir = Vector3i_Sub(dest, psDroid->pos); + Vector2i dir = removeZ(dest - psDroid->pos); // Initialise the callback variables obstruction = false; - rayCast(psDroid->pos, iAtan2(dir.x, dir.y), iHypot(dir.x, dir.y), fpathVisCallback, psDroid); + rayCast(psDroid->pos, iAtan2(dir), iHypot(dir), fpathVisCallback, psDroid); return !obstruction; } diff --git a/src/lighting.cpp b/src/lighting.cpp index e920bc7b5..dddaf9226 100644 --- a/src/lighting.cpp +++ b/src/lighting.cpp @@ -62,7 +62,7 @@ static void calcTileIllum(UDWORD tileX, UDWORD tileY); void setTheSun(Vector3f newSun) { - theSun = Vector3f_Mult(Vector3f_Normalise(newSun), FP12_MULTIPLIER); + theSun = normalise(newSun) * FP12_MULTIPLIER; } Vector3f getTheSun(void) @@ -143,42 +143,42 @@ static void normalsOnTile(unsigned int tileX, unsigned int tileY, unsigned int q if(quadrant==0) { Vector3f - corner1 = { + corner1( world_coord(tileX + 1), world_coord(tileY), tileRight->height - rMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY + 1), tileDownRight->height - drMod - }, - corner3 = { + ), + corner3( world_coord(tileX), world_coord(tileY + 1), tileDown->height - dMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); } else { Vector3f - corner1 = { + corner1( world_coord(tileX), world_coord(tileY), psTile->height - nMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY), tileRight->height - rMod - }, - corner3 = { + ), + corner3( world_coord(tileX), world_coord(tileY + 1), tileDown->height - dMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); } @@ -186,44 +186,42 @@ static void normalsOnTile(unsigned int tileX, unsigned int tileY, unsigned int q else { /* Otherwise, it's not flipped and so two triangles*/ - { // MSVC hack Vector3f - corner1 = { + corner1( world_coord(tileX), world_coord(tileY), psTile->height - nMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY), tileRight->height - rMod - }, - corner3 = { + ), + corner3( world_coord(tileX + 1), world_coord(tileY + 1), tileDownRight->height - drMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - { // MSVC hack + {//MSVC hack Vector3f - corner1 = { + corner1( world_coord(tileX), world_coord(tileY), psTile->height - nMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY + 1), tileDownRight->height - drMod - }, - corner3 = { + ), + corner3( world_coord(tileX), world_coord(tileY + 1), tileDown->height - dMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); } @@ -234,44 +232,42 @@ static void normalsOnTile(unsigned int tileX, unsigned int tileY, unsigned int q /* Is it flipped? In this case two triangles */ if(TRI_FLIPPED(psTile)) { - { // MSVC hack Vector3f - corner1 = { + corner1( world_coord(tileX), world_coord(tileY), psTile->height - nMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY), tileRight->height - rMod - }, - corner3 = { + ), + corner3( world_coord(tileX), world_coord(tileY + 1), tileDown->height - dMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } { // MSVC hack Vector3f - corner1 = { + corner1( world_coord(tileX + 1), world_coord(tileY), tileRight->height - rMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY + 1), tileDownRight->height - drMod - }, - corner3 = { + ), + corner3( world_coord(tileX), world_coord(tileY + 1), tileDown->height - dMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); } @@ -281,42 +277,42 @@ static void normalsOnTile(unsigned int tileX, unsigned int tileY, unsigned int q if(quadrant==1) { Vector3f - corner1 = { + corner1( world_coord(tileX), world_coord(tileY), psTile->height - nMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY + 1), tileDownRight->height - drMod - }, - corner3 = { + ), + corner3( world_coord(tileX), world_coord(tileY + 1), tileDown->height - dMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); } else { Vector3f - corner1 = { + corner1( world_coord(tileX), world_coord(tileY), psTile->height - nMod - }, - corner2 = { + ), + corner2( world_coord(tileX + 1), world_coord(tileY), tileRight->height - rMod - }, - corner3 = { + ), + corner3( world_coord(tileX + 1), world_coord(tileY + 1), tileDownRight->height - drMod - }; + ); normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); } @@ -331,7 +327,7 @@ static void normalsOnTile(unsigned int tileX, unsigned int tileY, unsigned int q static void calcTileIllum(UDWORD tileX, UDWORD tileY) { /* The number or normals that we got is in numNormals*/ - Vector3f finalVector = {0.0f, 0.0f, 0.0f}; + Vector3f finalVector(0.0f, 0.0f, 0.0f); unsigned int i, val; int dotProduct; @@ -367,10 +363,10 @@ static void calcTileIllum(UDWORD tileX, UDWORD tileY) for(i = 0; i < numNormals; i++) { - finalVector = Vector3f_Add(finalVector, normals[i]); + finalVector = finalVector + normals[i]; } - dotProduct = Vector3f_ScalarP(Vector3f_Normalise(finalVector), theSun); + dotProduct = normalise(finalVector) * theSun; val = abs(dotProduct) / 16; if (val == 0) val = 1; @@ -558,11 +554,11 @@ void doBuildingLights( void ) /* Experimental moving shadows code */ void findSunVector( void ) { - Vector3f val = { + Vector3f val( 4096 - getModularScaledGraphicsTime(16384,8192), 0 - getModularScaledGraphicsTime(16384,4096), 4096 - getModularScaledGraphicsTime(49152,8192) - }; + ); setTheSun(val); } diff --git a/src/map.cpp b/src/map.cpp index c67e2c83a..46811d776 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1472,16 +1472,16 @@ void mapTest() // Convert a direction into an offset. // dir 0 => x = 0, y = -1 #define NUM_DIR 8 -static const Vector2i aDirOffset[NUM_DIR] = +static const Vector2i aDirOffset[] = { - { 0, 1}, - {-1, 1}, - {-1, 0}, - {-1,-1}, - { 0,-1}, - { 1,-1}, - { 1, 0}, - { 1, 1}, + Vector2i( 0, 1), + Vector2i(-1, 1), + Vector2i(-1, 0), + Vector2i(-1,-1), + Vector2i( 0,-1), + Vector2i( 1,-1), + Vector2i( 1, 0), + Vector2i( 1, 1), }; // Flood fill a "continent". Note that we reuse x, y inside this function. @@ -1499,7 +1499,7 @@ static void mapFloodFill(int x, int y, int continent, uint8_t blockedBits) for (i = 0; i < NUM_DIR; i++) { // rely on the fact that all border tiles are inaccessible to avoid checking explicitly - Vector2i npos = { x + aDirOffset[i].x, y + aDirOffset[i].y }; + Vector2i npos = Vector2i(x, y) + aDirOffset[i]; MAPTILE *psTile; if (!tileOnMap(npos.x, npos.y)) diff --git a/src/map.h b/src/map.h index 18f8f95a0..574e87c81 100644 --- a/src/map.h +++ b/src/map.h @@ -358,6 +358,16 @@ static inline int32_t map_coord(int32_t worldCoord) return worldCoord >> TILE_SHIFT; } +static inline Vector2i world_coord(Vector2i const &mapCoord) +{ + return Vector2i(world_coord(mapCoord.x), world_coord(mapCoord.y)); +} + +static inline Vector2i map_coord(Vector2i const &worldCoord) +{ + return Vector2i(map_coord(worldCoord.x), map_coord(worldCoord.y)); +} + /* Make sure world coordinates are inside the map */ /** Clip world coordinates to make sure they're inside the map's boundaries * \param worldX a pointer to a X coordinate inside the map @@ -406,6 +416,8 @@ static inline WZ_DECL_PURE MAPTILE *mapTile(int32_t x, int32_t y) return &psMapTiles[x + (y * mapWidth)]; } +static inline WZ_DECL_PURE MAPTILE *mapTile(Vector2i const &v) { return mapTile(v.x, v.y); } + /** Return a pointer to the tile structure at x,y in world coordinates */ #define worldTile(_x, _y) mapTile(map_coord(_x), map_coord(_y)) @@ -502,6 +514,8 @@ typedef struct _tile_coord /// The max height of the terrain and water at the specified world coordinates extern int32_t map_Height(int x, int y); +static inline int32_t map_Height(Vector2i const &v) { return map_Height(v.x, v.y); } + /* returns true if object is above ground */ extern BOOL mapObjIsAboveGround( BASE_OBJECT *psObj ); diff --git a/src/move.cpp b/src/move.cpp index 87c2a3f80..98ddaba78 100644 --- a/src/move.cpp +++ b/src/move.cpp @@ -552,15 +552,15 @@ static bool moveBlockingTileCallback(Vector3i pos, int32_t dist, void *data_) // Returns -1 - distance if the direct path to the waypoint is blocked, otherwise returns the distance to the waypoint. static int32_t moveDirectPathToWaypoint(DROID *psDroid, unsigned positionIndex) { - Vector3i src = {psDroid->pos.x, psDroid->pos.y, 0}; + Vector2i src = removeZ(psDroid->pos); Vector2i dst = psDroid->sMove.asPath[positionIndex]; - Vector2i delta = {dst.x - src.x, dst.y - src.y}; - uint16_t dir = iAtan2(delta.x, delta.y); - int32_t dist = iHypot(delta.x, delta.y); + Vector2i delta = dst - src; + uint16_t dir = iAtan2(delta); + int32_t dist = iHypot(delta); BLOCKING_CALLBACK_DATA data; data.propulsionType = getPropulsionStats(psDroid)->propulsionType; data.blocking = false; - rayCast(src, dir, dist, &moveBlockingTileCallback, &data); + rayCast(Vector3i(src, 0), dir, dist, &moveBlockingTileCallback, &data); return data.blocking? -1 - dist : dist; } @@ -651,19 +651,13 @@ static Vector2i movePeekNextTarget(DROID *psDroid) { // No points left - fudge one to continue the same direction Vector2i - src = { psDroid->sMove.srcX, psDroid->sMove.srcY }, - target = { psDroid->sMove.targetX, psDroid->sMove.targetY }, - diff = Vector2i_Sub(target, src), - p = Vector2i_Add(diff, target); - return p; + src(psDroid->sMove.srcX, psDroid->sMove.srcY), + target(psDroid->sMove.targetX, psDroid->sMove.targetY); + return target*2 - src; } else { - Vector2i p = { - psDroid->sMove.asPath[psDroid->sMove.Position].x, - psDroid->sMove.asPath[psDroid->sMove.Position].y - }; - return p; + return psDroid->sMove.asPath[psDroid->sMove.Position]; } } @@ -813,7 +807,7 @@ static BOOL moveBlocked(DROID *psDroid) // if the unit cannot see the next way point - reroute it's got stuck if ( ( bMultiPlayer || (psDroid->player == selectedPlayer) ) && (psDroid->sMove.Position != psDroid->sMove.numPoints) && - !fpathTileLOS(psDroid, Vector3i_Init(psDroid->sMove.DestinationX, psDroid->sMove.DestinationY, 0))) + !fpathTileLOS(psDroid, Vector3i(psDroid->sMove.DestinationX, psDroid->sMove.DestinationY, 0))) { objTrace(psDroid->id, "Trying to reroute to (%d,%d)", psDroid->sMove.DestinationX, psDroid->sMove.DestinationY); moveDroidTo(psDroid, psDroid->sMove.DestinationX, psDroid->sMove.DestinationY); @@ -1359,9 +1353,9 @@ static void moveGetObstacleVector(DROID *psDroid, int32_t *pX, int32_t *pY) */ static uint16_t moveGetDirection(DROID *psDroid) { - Position src = psDroid->pos; // Do not want precice precision here, would overflow. - Position target = {psDroid->sMove.targetX, psDroid->sMove.targetY, 0}; - Position dest = Vector3i_Sub(target, src); + Vector2i src = removeZ(psDroid->pos); // Do not want precice precision here, would overflow. + Vector2i target(psDroid->sMove.targetX, psDroid->sMove.targetY); + Vector2i dest = target - src; // Transporters don't need to avoid obstacles, but everyone else should if (psDroid->droidType != DROID_TRANSPORTER) @@ -1369,7 +1363,7 @@ static uint16_t moveGetDirection(DROID *psDroid) moveGetObstacleVector(psDroid, &dest.x, &dest.y); } - return iAtan2(dest.x, dest.y); + return iAtan2(dest); } // Check if a droid has got to a way point diff --git a/src/move.h b/src/move.h index bc8c18fc6..2eb01193e 100644 --- a/src/move.h +++ b/src/move.h @@ -71,8 +71,7 @@ void moveMakeVtolHover( DROID *psDroid ); /// Get high precision droid position static inline Position droidGetPrecisePosition(const DROID *psDroid) { - Position newPos = {psDroid->pos.x * EXTRA_PRECISION + psDroid->sMove.eBitX, psDroid->pos.y * EXTRA_PRECISION + psDroid->sMove.eBitY, 0}; - return newPos; + return Position(psDroid->pos.x * EXTRA_PRECISION + psDroid->sMove.eBitX, psDroid->pos.y * EXTRA_PRECISION + psDroid->sMove.eBitY, 0); } /// Set high precision droid position diff --git a/src/multibot.cpp b/src/multibot.cpp index e1d3775ff..7bdcd966c 100644 --- a/src/multibot.cpp +++ b/src/multibot.cpp @@ -391,7 +391,7 @@ BOOL SendDroid(const DROID_TEMPLATE* pTemplate, uint32_t x, uint32_t y, uint8_t debug(LOG_SYNC, "Droid sent with id of %u", id); NETbeginEncode(NETgameQueue(selectedPlayer), GAME_DROID); { - Position pos = { x, y, 0 }; + Position pos(x, y, 0); uint32_t templateID = pTemplate->multiPlayerID; BOOL haveInitialOrders = initialOrdersP != NULL; diff --git a/src/order.cpp b/src/order.cpp index a53a2c3cb..f196ec185 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -1474,7 +1474,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) UDWORD iFactoryDistSq; STRUCTURE *psStruct, *psRepairFac, *psFactory; const PROPULSION_STATS *psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; - const Vector3i rPos = { psOrder->x, psOrder->y, 0 }; + const Vector3i rPos(psOrder->x, psOrder->y, 0); syncDebugDroid(psDroid, '-'); syncDebug("%d ordered %s", psDroid->id, getDroidOrderName(psOrder->order)); diff --git a/src/projectile.cpp b/src/projectile.cpp index e898447e1..8316963df 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -817,26 +817,22 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) continue; } - // Actual collision test. + Vector3i psTempObjPrevPos = isDroid(psTempObj)? castDroid(psTempObj)->prevSpacetime.pos : psTempObj->pos; + + const Vector3i diff = psProj->pos - psTempObj->pos; + const Vector3i prevDiff = psProj->prevSpacetime.pos - psTempObjPrevPos; + const unsigned int targetHeight = establishTargetHeight(psTempObj); + const unsigned int targetRadius = establishTargetRadius(psTempObj); + const int32_t collision = collisionXYZ(prevDiff, diff, targetRadius, targetHeight); + const uint32_t collisionTime = psProj->prevSpacetime.time + (psProj->time - psProj->prevSpacetime.time)*collision/1024; + + if (collision >= 0 && collisionTime < closestCollisionSpacetime.time) { - const Vector3i posProj = psProj->pos; - const Vector3i prevPosProj = psProj->prevSpacetime.pos; - const Vector3i posTemp = psTempObj->pos; - const Vector3i diff = Vector3i_Sub(posProj, posTemp); - const Vector3i prevDiff = Vector3i_Sub(prevPosProj, posTemp); // HACK Ignore that target might be moving. The projectile is probably moving faster, so it's better than nothing... - const unsigned int targetHeight = establishTargetHeight(psTempObj); - const unsigned int targetRadius = establishTargetRadius(psTempObj); - const int32_t collision = collisionXYZ(prevDiff, diff, targetRadius, targetHeight); - const uint32_t collisionTime = psProj->prevSpacetime.time + (psProj->time - psProj->prevSpacetime.time)*collision/1024; + // We hit! + closestCollisionSpacetime = interpolateObjectSpacetime(psProj, collisionTime); + closestCollisionObject = psTempObj; - if (collision >= 0 && collisionTime < closestCollisionSpacetime.time) - { - // We hit! - closestCollisionSpacetime = interpolateObjectSpacetime(psProj, collisionTime); - closestCollisionObject = psTempObj; - - // Keep testing for more collisions, in case there was a closer target. - } + // Keep testing for more collisions, in case there was a closer target. } } @@ -855,11 +851,7 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) { WEAPON asWeap; // Determine position to fire a missile at - Vector3i newDest = { - psProj->src.x + move.x * distanceExtensionFactor/100, - psProj->src.y + move.y * distanceExtensionFactor/100, - psProj->src.z + move.z * distanceExtensionFactor/100 - }; + Vector3i newDest = psProj->src + move * distanceExtensionFactor/100; memset(&asWeap, 0, sizeof(asWeap)); asWeap.nStat = psStats - asWeaponStats; @@ -895,7 +887,7 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) for (effectTime = ((psProj->prevSpacetime.time + 15) & ~15); effectTime < psProj->time; effectTime += 16) { SPACETIME st = interpolateObjectSpacetime(psProj, effectTime); - Vector3i posFlip = {st.pos.x, st.pos.z, st.pos.y}; // [sic] y <--> z + Vector3i posFlip = swapYZ(st.pos); switch (psStats->weaponSubClass) { case WSC_FLAME: diff --git a/src/raycast.cpp b/src/raycast.cpp index 1f1372ecf..0111a3c69 100644 --- a/src/raycast.cpp +++ b/src/raycast.cpp @@ -42,7 +42,7 @@ void rayCast(Vector3i src, uint16_t direction, uint32_t length, RAY_CALLBACK cal uint32_t currLen; for (currLen = 0; currLen < length; currLen += TILE_UNITS) { - Vector3i curr = {src.x + iSinR(direction, currLen), src.y + iCosR(direction, currLen), src.z}; + Vector3i curr = src + Vector3i(iSinCosR(direction, currLen), 0); // stop at the edge of the map if (curr.x < 0 || curr.x >= world_coord(mapWidth) || curr.y < 0 || curr.y >= world_coord(mapHeight)) @@ -123,10 +123,9 @@ static bool getTileHeightCallback(Vector3i pos, int32_t dist, void *data) void getBestPitchToEdgeOfGrid(UDWORD x, UDWORD y, uint16_t direction, uint16_t *pitch) { - Vector3i pos = { x, y, 0 }; HeightCallbackHelp_t help = { map_Height(x,y), 0.0f }; - rayCast(pos, direction, 5430, getTileHeightCallback, &help); // FIXME Magic value + rayCast(Vector3i(x, y, 0), direction, 5430, getTileHeightCallback, &help); // FIXME Magic value *pitch = help.pitch; } diff --git a/src/scriptai.cpp b/src/scriptai.cpp index 5ca5149d5..74e3cbc19 100644 --- a/src/scriptai.cpp +++ b/src/scriptai.cpp @@ -2174,7 +2174,7 @@ BOOL scrDroidCanReach(void) if (psDroid) { const PROPULSION_STATS *psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; - const Vector3i rPos = { x, y, 0 }; + const Vector3i rPos(x, y, 0); scrFunctionResult.v.bval = fpathCheck(psDroid->pos, rPos, psPropStats->propulsionType); if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 33bf40d5c..752cd71cc 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -5634,8 +5634,8 @@ static BOOL pickStructLocation(DROID *psDroid, int index, int *pX, int *pY, int y = startY; // save a lot of typing... checks whether a position is valid - #define LOC_OK(_x, _y) (_x >= 0 && _y >= 0 && _x < mapWidth && _y < mapHeight && \ - (!psDroid || fpathCheck(psDroid->pos, Vector3i_Init(world_coord(_x), world_coord(_y), 0), PROPULSION_TYPE_WHEELED)) \ + #define LOC_OK(_x, _y) (tileOnMap(_x, _y) && \ + (!psDroid || fpathCheck(psDroid->pos, Vector3i(world_coord(_x), world_coord(_y), 0), PROPULSION_TYPE_WHEELED)) \ && validLocation((BASE_STATS*)psStat, _x, _y, 0, player, false) && structDoubleCheck((BASE_STATS*)psStat, _x, _y, maxBlockingTiles)) // first try the original location diff --git a/src/structure.cpp b/src/structure.cpp index e1e415ddb..770c99fc6 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -5725,7 +5725,7 @@ bool calcStructureMuzzleLocation(STRUCTURE *psStructure, Vector3i *muzzle, int w if(psShape && psShape->nconnectors) { - Vector3i barrel = {0, 0, 0}; + Vector3i barrel(0, 0, 0); unsigned int nWeaponStat = psStructure->asWeaps[weapon_slot].nStat; iIMDShape *psWeaponImd = 0, *psMountImd = 0; @@ -5770,9 +5770,7 @@ bool calcStructureMuzzleLocation(STRUCTURE *psStructure, Vector3i *muzzle, int w connector_num = (psStructure->asWeaps[weapon_slot].shotsFired - 1) % (psWeaponImd->nconnectors); } - barrel = Vector3i_Init(psWeaponImd->connectors[connector_num].x, - -psWeaponImd->connectors[connector_num].y, - -psWeaponImd->connectors[connector_num].z); + barrel = Vector3i(psWeaponImd->connectors[connector_num].x, -psWeaponImd->connectors[connector_num].y, -psWeaponImd->connectors[connector_num].z); } pie_RotateTranslate3i(&barrel, muzzle); @@ -5782,7 +5780,7 @@ bool calcStructureMuzzleLocation(STRUCTURE *psStructure, Vector3i *muzzle, int w } else { - *muzzle = Vector3i_Init(psStructure->pos.x, psStructure->pos.y, psStructure->pos.z + psStructure->sDisplay.imd->max.y); + *muzzle = psStructure->pos + Vector3i(0, 0, 0 + psStructure->sDisplay.imd->max.y); } return true; diff --git a/src/visibility.cpp b/src/visibility.cpp index 6b4e7eea7..bbbcd4fc1 100644 --- a/src/visibility.cpp +++ b/src/visibility.cpp @@ -258,20 +258,20 @@ static bool rayLOSCallback(Vector3i pos, int32_t dist, void *data) } help->lastDist = dist; - help->lastHeight = map_Height(pos.x, pos.y); + help->lastHeight = map_Height(removeZ(pos)); if (help->wallsBlock) { // Store the height at this tile for next time round - Vector2i tile = { map_coord(pos.x), map_coord(pos.y) }; + Vector2i tile = map_coord(removeZ(pos)); - if (!Vector2i_Compare(tile, help->final)) + if (tile != help->final) { - MAPTILE *psTile = mapTile(tile.x, tile.y); + MAPTILE *psTile = mapTile(tile); if (TileHasWall(psTile) && !TileHasSmallStructure(psTile)) { help->lastHeight = 2*UBYTE_MAX * ELEVATION_SCALE; - help->wall = Vector2i_Init(pos.x, pos.y); + help->wall = removeZ(pos); help->numWalls++; } } @@ -378,20 +378,10 @@ void revealAll(UBYTE player) */ int visibleObject(const BASE_OBJECT* psViewer, const BASE_OBJECT* psTarget, bool wallsBlock) { - Vector3i diff; - int range, dist; - int power; + ASSERT_OR_RETURN(0, psViewer != NULL, "Invalid viewer pointer!"); + ASSERT_OR_RETURN(0, psTarget != NULL, "Invalid viewed pointer!"); - ASSERT(psViewer != NULL, "Invalid viewer pointer!"); - ASSERT(psTarget != NULL, "Invalid viewed pointer!"); - - if (!psViewer || !psTarget) - { - return 0; - } - - diff = Vector3i_Sub(psTarget->pos, psViewer->pos); - range = objSensorRange(psViewer); + int range = objSensorRange(psViewer); /* Get the sensor Range and power */ switch (psViewer->type) @@ -459,8 +449,10 @@ int visibleObject(const BASE_OBJECT* psViewer, const BASE_OBJECT* psTarget, bool range = 4 * range / 3; } + Vector2i diff = removeZ(psTarget->pos - psViewer->pos); + /* First see if the target is in sensor range */ - dist = iHypot(diff.x, diff.y); + int dist = iHypot(diff); if (dist == 0) { // Should never be on top of each other, but ... @@ -473,14 +465,14 @@ int visibleObject(const BASE_OBJECT* psViewer, const BASE_OBJECT* psTarget, bool return 0; } - power = adjustPowerByRange(psViewer->pos.x, psViewer->pos.y, psTarget->pos.x, psTarget->pos.y, range, objSensorPower(psViewer)); + int power = adjustPowerByRange(psViewer->pos.x, psViewer->pos.y, psTarget->pos.x, psTarget->pos.y, range, objSensorPower(psViewer)); { // initialise the callback variables - VisibleObjectHelp_t help = { true, wallsBlock, psViewer->pos.z + visObjHeight(psViewer), { map_coord(psTarget->pos.x), map_coord(psTarget->pos.y) }, 0, 0, -UBYTE_MAX * GRAD_MUL * ELEVATION_SCALE, 0, { 0, 0 } }; + VisibleObjectHelp_t help = { true, wallsBlock, psViewer->pos.z + visObjHeight(psViewer), map_coord(removeZ(psTarget->pos)), 0, 0, -UBYTE_MAX * GRAD_MUL * ELEVATION_SCALE, 0, Vector2i(0, 0)}; int targetGrad, top; // Cast a ray from the viewer to the target - rayCast(psViewer->pos, iAtan2(diff.x, diff.y), dist, rayLOSCallback, &help); + rayCast(psViewer->pos, iAtan2(diff), dist, rayLOSCallback, &help); if (gWall != NULL && gNumWalls != NULL) // Out globals are set { @@ -526,7 +518,7 @@ STRUCTURE* visGetBlockingWall(const BASE_OBJECT* psViewer, const BASE_OBJECT* ps // see if there was a wall in the way if (numWalls > 0) { - Vector2i tile = { map_coord(wall.x), map_coord(wall.y) }; + Vector2i tile = map_coord(wall); unsigned int player; for (player = 0; player < MAX_PLAYERS; player++) @@ -535,8 +527,7 @@ STRUCTURE* visGetBlockingWall(const BASE_OBJECT* psViewer, const BASE_OBJECT* ps for (psWall = apsStructLists[player]; psWall; psWall = psWall->psNext) { - if (map_coord(psWall->pos.x) == tile.x - && map_coord(psWall->pos.y) == tile.y) + if (map_coord(removeZ(psWall->pos)) == tile) { return psWall; } @@ -781,19 +772,12 @@ MAPTILE *psTile; */ bool lineOfFire(const BASE_OBJECT* psViewer, const BASE_OBJECT* psTarget, bool wallsBlock) { - Vector3i diff; - int dist; + ASSERT_OR_RETURN(false, psViewer != NULL, "Invalid shooter pointer!"); + ASSERT_OR_RETURN(false, psTarget != NULL, "Invalid target pointer!"); - ASSERT(psViewer != NULL, "Invalid shooter pointer!"); - ASSERT(psTarget != NULL, "Invalid target pointer!"); - if (!psViewer || !psTarget) - { - return false; - } + Vector2i diff = removeZ(psTarget->pos - psViewer->pos); - diff = Vector3i_Sub(psTarget->pos, psViewer->pos); - - dist = iHypot(diff.x, diff.y); + int dist = iHypot(diff); if (dist == 0) { // Should never be on top of each other, but ... @@ -802,11 +786,11 @@ bool lineOfFire(const BASE_OBJECT* psViewer, const BASE_OBJECT* psTarget, bool w // initialise the callback variables { - VisibleObjectHelp_t help = { true, wallsBlock, psViewer->pos.z + visObjHeight(psViewer), { map_coord(psTarget->pos.x), map_coord(psTarget->pos.y) }, 0, 0, -UBYTE_MAX * GRAD_MUL * ELEVATION_SCALE, 0, { 0, 0 } }; + VisibleObjectHelp_t help = { true, wallsBlock, psViewer->pos.z + visObjHeight(psViewer), map_coord(removeZ(psTarget->pos)), 0, 0, -UBYTE_MAX * GRAD_MUL * ELEVATION_SCALE, 0, Vector2i(0, 0)}; int targetGrad, top; // Cast a ray from the viewer to the target - rayCast(psViewer->pos, iAtan2(diff.x, diff.y), dist, rayLOSCallback, &help); + rayCast(psViewer->pos, iAtan2(diff), dist, rayLOSCallback, &help); if (gWall != NULL && gNumWalls != NULL) // Out globals are set { diff --git a/src/warcam.cpp b/src/warcam.cpp index a5b20fd7b..bcc62c128 100644 --- a/src/warcam.cpp +++ b/src/warcam.cpp @@ -83,8 +83,7 @@ static SDWORD presAvAngle = 0;; /* Offset from droid's world coords */ /* How far we track relative to the droids location - direction matters */ -#define CAM_DEFAULT_X_OFFSET -400 -#define CAM_DEFAULT_Y_OFFSET -400 +#define CAM_DEFAULT_OFFSET -400 #define MINCAMROTX -20 @@ -623,12 +622,8 @@ in the case of location and degrees of arc in the case of rotation. static void updateCameraAcceleration(UBYTE update) { - Vector3i concern = { - trackingCamera.target->pos.x, - trackingCamera.target->pos.z, - trackingCamera.target->pos.y - }; - Vector2i behind = {0, 0}; /* Irrelevant for normal radar tracking */ + Vector3i concern = swapYZ(trackingCamera.target->pos); + Vector2i behind(0, 0); /* Irrelevant for normal radar tracking */ BOOL bFlying = false; /* @@ -662,65 +657,45 @@ static void updateCameraAcceleration(UBYTE update) uint16_t multiAngle = getAverageTrackAngle(group, true); getTrackingConcerns(&concern.x, &concern.y, &concern.z, group, true); - behind.x = iSinR(multiAngle, CAM_DEFAULT_Y_OFFSET); - behind.y = iCosR(multiAngle, CAM_DEFAULT_X_OFFSET); + behind = iSinCosR(multiAngle, CAM_DEFAULT_OFFSET); } else { - behind.x = iSinR(trackingCamera.target->rot.direction, CAM_DEFAULT_Y_OFFSET); - behind.y = iCosR(trackingCamera.target->rot.direction, CAM_DEFAULT_X_OFFSET); + behind = iSinCosR(trackingCamera.target->rot.direction, CAM_DEFAULT_OFFSET); } concern.y += angle*5; } + Vector3i realPos = concern - Vector3i(CAM_X_SHIFT - behind.x, 0, CAM_Z_SHIFT - behind.y); + Vector3f separation = realPos - trackingCamera.position; + Vector3f acceleration; + if (!bFlying) + { + acceleration = separation*ACCEL_CONSTANT - trackingCamera.velocity*VELOCITY_CONSTANT; + } + else + { + separation.y /= 2.0f; + acceleration = separation*(ACCEL_CONSTANT*4) - trackingCamera.velocity*(VELOCITY_CONSTANT*2); + } + if (update & X_UPDATE) { /* Need to update acceleration along x axis */ - int realPos = concern.x - CAM_X_SHIFT - behind.x; - float separation = realPos - trackingCamera.position.x; - - if (!bFlying) - { - trackingCamera.acceleration.x = ACCEL_CONSTANT*separation - VELOCITY_CONSTANT*trackingCamera.velocity.x; - } - else - { - trackingCamera.acceleration.x = ACCEL_CONSTANT*separation*4 - VELOCITY_CONSTANT*2*trackingCamera.velocity.x; - } + trackingCamera.acceleration.x = acceleration.x; } if (update & Y_UPDATE) { /* Need to update acceleration along y axis */ - int realPos = concern.y; - float separation = realPos - trackingCamera.position.y; - - if (!bFlying) - { - trackingCamera.acceleration.y = ACCEL_CONSTANT*separation - VELOCITY_CONSTANT*trackingCamera.velocity.y; - } - else - { - separation /= 2.0f; - trackingCamera.acceleration.y = ACCEL_CONSTANT*separation*4 - VELOCITY_CONSTANT*2*trackingCamera.velocity.y; - } + trackingCamera.acceleration.y = acceleration.y; } if (update & Z_UPDATE) { /* Need to update acceleration along z axis */ - int realPos = concern.z - CAM_Z_SHIFT - behind.y; - float separation = realPos - trackingCamera.position.z; - - if (!bFlying) - { - trackingCamera.acceleration.z = ACCEL_CONSTANT*separation - VELOCITY_CONSTANT*trackingCamera.velocity.z; - } - else - { - trackingCamera.acceleration.z = ACCEL_CONSTANT*separation*4 - VELOCITY_CONSTANT*2*trackingCamera.velocity.z; - } + trackingCamera.acceleration.z = acceleration.z; } } From 3df719fc7027921c8c5243abe5429c82658f8d96 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 21 Dec 2010 23:17:53 +0100 Subject: [PATCH 011/142] Simplify normalsOnTile in src/lighting.cpp. Can probably be simplified further. Original function was somewhat bloated. Reviewed by coppercore. --- src/lighting.cpp | 221 ++++++++--------------------------------------- 1 file changed, 36 insertions(+), 185 deletions(-) diff --git a/src/lighting.cpp b/src/lighting.cpp index dddaf9226..90dd7478b 100644 --- a/src/lighting.cpp +++ b/src/lighting.cpp @@ -124,199 +124,50 @@ void initLighting(UDWORD x1, UDWORD y1, UDWORD x2, UDWORD y2) static void normalsOnTile(unsigned int tileX, unsigned int tileY, unsigned int quadrant, unsigned int *numNormals, Vector3f normals[]) { - /* Get a pointer to our tile */ - /* And to the ones to the east, south and southeast of it */ - MAPTILE - *psTile = mapTile(tileX,tileY), - *tileRight = mapTile(tileX+1,tileY), - *tileDownRight = mapTile(tileX+1,tileY+1), - *tileDown = mapTile(tileX,tileY+1); - unsigned int rMod = 0, drMod = 0, dMod = 0, nMod = 0; + Vector2i tiles[2][2]; + MAPTILE *psTiles[2][2]; + Vector3f corners[2][2]; - switch(quadrant) + for (unsigned j = 0; j < 2; ++j) + for (unsigned i = 0; i < 2; ++i) { + tiles[i][j] = Vector2i(tileX + i, tileY + j); + /* Get a pointer to our tile */ + /* And to the ones to the east, south and southeast of it */ + psTiles[i][j] = mapTile(tiles[i][j]); + corners[i][j] = Vector3f(world_coord(tiles[i][j]), psTiles[i][j]->height); + } + + int flipped = TRI_FLIPPED(psTiles[0][0])? 10 : 0; + + switch (quadrant + flipped) + { + // Not flipped. case 0: case 2: - /* Is it flipped? In this case one triangle */ - if(TRI_FLIPPED(psTile)) - { - if(quadrant==0) - { - Vector3f - corner1( - world_coord(tileX + 1), - world_coord(tileY), - tileRight->height - rMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY + 1), - tileDownRight->height - drMod - ), - corner3( - world_coord(tileX), - world_coord(tileY + 1), - tileDown->height - dMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - else - { - Vector3f - corner1( - world_coord(tileX), - world_coord(tileY), - psTile->height - nMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY), - tileRight->height - rMod - ), - corner3( - world_coord(tileX), - world_coord(tileY + 1), - tileDown->height - dMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - } - else - { - /* Otherwise, it's not flipped and so two triangles*/ - Vector3f - corner1( - world_coord(tileX), - world_coord(tileY), - psTile->height - nMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY), - tileRight->height - rMod - ), - corner3( - world_coord(tileX + 1), - world_coord(tileY + 1), - tileDownRight->height - drMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - - {//MSVC hack - Vector3f - corner1( - world_coord(tileX), - world_coord(tileY), - psTile->height - nMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY + 1), - tileDownRight->height - drMod - ), - corner3( - world_coord(tileX), - world_coord(tileY + 1), - tileDown->height - dMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - } + /* Otherwise, it's not flipped and so two triangles*/ + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[0][0], corners[1][0], corners[1][1]); + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[0][0], corners[1][1], corners[0][1]); break; case 1: + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[0][0], corners[1][1], corners[0][1]); + break; case 3: + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[0][0], corners[1][0], corners[1][1]); + break; + // Flipped. + case 10: + /* Is it flipped? In this case one triangle */ + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[1][0], corners[1][1], corners[0][1]); + break; + case 12: + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[0][0], corners[1][0], corners[0][1]); + break; + case 11: + case 13: /* Is it flipped? In this case two triangles */ - if(TRI_FLIPPED(psTile)) - { - Vector3f - corner1( - world_coord(tileX), - world_coord(tileY), - psTile->height - nMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY), - tileRight->height - rMod - ), - corner3( - world_coord(tileX), - world_coord(tileY + 1), - tileDown->height - dMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - - { // MSVC hack - Vector3f - corner1( - world_coord(tileX + 1), - world_coord(tileY), - tileRight->height - rMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY + 1), - tileDownRight->height - drMod - ), - corner3( - world_coord(tileX), - world_coord(tileY + 1), - tileDown->height - dMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - } - else - { - if(quadrant==1) - { - Vector3f - corner1( - world_coord(tileX), - world_coord(tileY), - psTile->height - nMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY + 1), - tileDownRight->height - drMod - ), - corner3( - world_coord(tileX), - world_coord(tileY + 1), - tileDown->height - dMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - else - { - Vector3f - corner1( - world_coord(tileX), - world_coord(tileY), - psTile->height - nMod - ), - corner2( - world_coord(tileX + 1), - world_coord(tileY), - tileRight->height - rMod - ), - corner3( - world_coord(tileX + 1), - world_coord(tileY + 1), - tileDownRight->height - drMod - ); - - normals[(*numNormals)++] = pie_SurfaceNormal3fv( corner1, corner2, corner3); - } - } + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[0][0], corners[1][0], corners[0][1]); + normals[(*numNormals)++] = pie_SurfaceNormal3fv(corners[1][0], corners[1][1], corners[0][1]); break; default: ASSERT( false,"Invalid quadrant in lighting code" ); From 9f160d95c092fcb8b5dd5a6b63e2e23764cb78be Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 00:44:52 +0100 Subject: [PATCH 012/142] Add (unsigned) cast in mixed-enum switch, to prevent compiler errors. (Not sure which compiler version it was.) --- lib/script/script.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/script/script.cpp b/lib/script/script.cpp index 18f6346e1..4d94f0348 100644 --- a/lib/script/script.cpp +++ b/lib/script/script.cpp @@ -178,7 +178,7 @@ BOOL scriptTypeIsPointer(INTERP_TYPE type) ASSERT((_scr_user_types)type < ST_MAXTYPE || type >= VAL_REF, "Invalid type: %d", type); // any value or'ed with VAL_REF is a pointer if (type >= VAL_REF) return true; - switch (type) { + switch ((unsigned)type) { case VAL_STRING: case VAL_OBJ_GETSET: case VAL_FUNC_EXTERN: From 7c9b7acae14d5cd992cb18ea479cdab40cb1266b Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 00:58:59 +0100 Subject: [PATCH 013/142] Fix building with gcc 4.5.1. Added unsigned casts to suppress compiler warnings due to enum abuse. --- lib/script/script.cpp | 3 ++- lib/script/stack.cpp | 4 ++-- src/scriptfuncs.cpp | 12 ++++++------ src/scriptobj.cpp | 6 +++--- src/scriptvals_parser.y | 2 +- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/script/script.cpp b/lib/script/script.cpp index 4d94f0348..1b0697be9 100644 --- a/lib/script/script.cpp +++ b/lib/script/script.cpp @@ -178,7 +178,8 @@ BOOL scriptTypeIsPointer(INTERP_TYPE type) ASSERT((_scr_user_types)type < ST_MAXTYPE || type >= VAL_REF, "Invalid type: %d", type); // any value or'ed with VAL_REF is a pointer if (type >= VAL_REF) return true; - switch ((unsigned)type) { + switch ((unsigned)type) // Unsigned cast to suppress compiler warnings due to enum abuse. + { case VAL_STRING: case VAL_OBJ_GETSET: case VAL_FUNC_EXTERN: diff --git a/lib/script/stack.cpp b/lib/script/stack.cpp index e40ca06d0..f8e16a11b 100644 --- a/lib/script/stack.cpp +++ b/lib/script/stack.cpp @@ -800,7 +800,7 @@ BOOL stackUnaryOp(OPCODE opcode) switch (opcode) { case OP_INC: - switch (psVal->type) + switch ((unsigned)psVal->type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case (VAL_REF | VAL_INT): @@ -825,7 +825,7 @@ BOOL stackUnaryOp(OPCODE opcode) } break; case OP_DEC: - switch (psVal->type) + switch ((unsigned)psVal->type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case (VAL_REF | VAL_INT): diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 752cd71cc..7b55cb217 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -879,7 +879,7 @@ BOOL scrEnableComponent(void) } // enable the appropriate component - switch (sVal.type) + switch ((unsigned)sVal.type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_BODY: apCompLists[player][COMP_BODY][sVal.v.ival] = FOUND; @@ -936,7 +936,7 @@ BOOL scrMakeComponentAvailable(void) } // make the appropriate component available - switch (sVal.type) + switch ((unsigned)sVal.type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_BODY: apCompLists[player][COMP_BODY][sVal.v.ival] = AVAILABLE; @@ -2413,7 +2413,7 @@ BOOL scrGetTemplate(void) for (psTemplate = apsDroidTemplates[player]; psTemplate != NULL; psTemplate = psTemplate->psNext) { - switch( sVal.type) + switch ((unsigned)sVal.type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_BODY: if (psTemplate->asParts[COMP_BODY] == sVal.v.ival) @@ -2518,7 +2518,7 @@ BOOL scrGetDroid(void) for (psDroid = apsDroidLists[player]; psDroid != NULL; psDroid = psDroid->psNext) { - switch( sVal.type) + switch ((unsigned)sVal.type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_BODY: if (psDroid->asBits[COMP_BODY].nStat == (UDWORD)sVal.v.ival) @@ -6919,7 +6919,7 @@ BOOL scrNumDroidsByComponent(void) { if(psDroid->visible[lookingPlayer]) //can see this droid? { - switch(sVal.type) + switch ((unsigned)sVal.type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_BODY: if (psDroid->asBits[COMP_BODY].nStat == comp) @@ -11560,7 +11560,7 @@ BOOL scrIsComponentAvailable(void) return false; } - switch (sVal.type) + switch ((unsigned)sVal.type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_BODY: bAvailable = (apCompLists[player][COMP_BODY][sVal.v.ival] == AVAILABLE); diff --git a/src/scriptobj.cpp b/src/scriptobj.cpp index a420190a3..cbbd0efea 100644 --- a/src/scriptobj.cpp +++ b/src/scriptobj.cpp @@ -677,7 +677,7 @@ static char *scrGetStatName(INTERP_TYPE type, UDWORD data) { char *pName = NULL; - switch (type) + switch ((unsigned)type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_STRUCTURESTAT: if (data < numStructureStats) @@ -769,7 +769,7 @@ BOOL scrValDefSave(INTERP_VAL *psVal, char *pBuffer, UDWORD *pSize) BASE_OBJECT *psObj; #endif - switch (psVal->type) + switch ((unsigned)psVal->type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_INTMESSAGE: // save the name @@ -1014,7 +1014,7 @@ BOOL scrValDefLoad(SDWORD version, INTERP_VAL *psVal, char *pBuffer, UDWORD size const char *pName; BOOL bObjectDefined; - switch (psVal->type) + switch ((unsigned)psVal->type) // Unsigned cast to suppress compiler warnings due to enum abuse. { case ST_INTMESSAGE: if ((size == 1) && diff --git a/src/scriptvals_parser.y b/src/scriptvals_parser.y index 141cc5dde..28d03a08d 100644 --- a/src/scriptvals_parser.y +++ b/src/scriptvals_parser.y @@ -238,7 +238,7 @@ var_init: var_entry TYPE var_value /* set type */ data.type = $2; - switch ($2) + switch ((unsigned)$2) // Unsigned cast to suppress compiler warnings due to enum abuse. { case VAL_INT: data.v.ival = $3.index; //index = integer value of the variable, not var index From e7772e0b165f473f78e80b5b8113038190256ccf Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 02:50:21 +0100 Subject: [PATCH 014/142] Use --debug=memory to see sizeof(...) for the various object types. --- src/main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 08547f4f9..cdb37854a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1183,6 +1183,9 @@ int main(int argc, char *argv[]) debug(LOG_WZ, "Using language: %s", getLanguage()); + debug(LOG_MEMORY, "sizeof: SIMPLE_OBJECT=%ld, BASE_OBJECT=%ld, DROID=%ld, STRUCTURE=%ld, FEATURE=%ld, PROJECTILE=%ld", + (long)sizeof(SIMPLE_OBJECT), (long)sizeof(BASE_OBJECT), (long)sizeof(DROID), (long)sizeof(STRUCTURE), (long)sizeof(FEATURE), (long)sizeof(PROJECTILE)); + /* Initialize the write/config directory for PhysicsFS. * This needs to be done __after__ the early commandline parsing, * because the user might tell us to use an alternative configuration From 4dd5e0dd918686b1834c3a38ba96c5fef182f1ea Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 02:52:29 +0100 Subject: [PATCH 015/142] Remove ORDER_LIST_MAX and the corresponding 10 order limit to droid order queues. sizeof(DROID) -= 296; (On 64-bit platforms.) Fixes a probable issue when dead droids are removed from order lists. Changelog: Allow queueing of arbitrarily many orders instead of just 10. --- src/display3d.cpp | 4 +- src/droid.cpp | 4 +- src/droiddef.h | 25 ++++++------- src/multibot.cpp | 2 +- src/order.cpp | 93 ++++++++++++++++++----------------------------- src/structure.cpp | 55 ++++++++-------------------- src/structure.h | 11 ++++-- 7 files changed, 74 insertions(+), 120 deletions(-) diff --git a/src/display3d.cpp b/src/display3d.cpp index ec59d667d..cc4627e04 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -1643,9 +1643,9 @@ void displayBlueprints(void) { renderBuildOrder(psDroid->order, psDroid->psTarStats, psDroid->orderX, psDroid->orderY, psDroid->orderX2, psDroid->orderY2, psDroid->orderDirection, SS_BLUEPRINT_PLANNED); //now look thru' the list of orders to see if more building sites - for (order = psDroid->listPendingBegin; order < psDroid->listPendingEnd; order++) + for (order = psDroid->listPendingBegin; order < (int)psDroid->asOrderList.size(); order++) { - ORDER_LIST const *o = &psDroid->asOrderList[order]; + OrderListEntry const *o = &psDroid->asOrderList[order]; renderBuildOrder(o->order, (BASE_STATS *)o->psOrderTarget, o->x, o->y, o->x2, o->y2, o->direction, SS_BLUEPRINT_PLANNED); } } diff --git a/src/droid.cpp b/src/droid.cpp index 98580755f..9137dc757 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -2496,9 +2496,7 @@ DROID *reallyBuildDroid(DROID_TEMPLATE *pTemplate, UDWORD x, UDWORD y, UDWORD pl } psDroid->listSize = 0; - memset(psDroid->asOrderList, 0, sizeof(ORDER_LIST)*ORDER_LIST_MAX); psDroid->listPendingBegin = 0; - psDroid->listPendingEnd = 0; psDroid->iAudioID = NO_SOUND; psDroid->psCurAnim = NULL; @@ -4784,7 +4782,7 @@ void checkDroid(const DROID *droid, const char *const location, const char *func ASSERT_HELPER(droid != NULL, location, function, "CHECK_DROID: NULL pointer"); ASSERT_HELPER(droid->type == OBJ_DROID, location, function, "CHECK_DROID: Not droid (type %d)", (int)droid->type); ASSERT_HELPER(droid->numWeaps <= DROID_MAXWEAPS, location, function, "CHECK_DROID: Bad number of droid weapons %d", (int)droid->numWeaps); - ASSERT_HELPER(droid->listSize <= ORDER_LIST_MAX && droid->listPendingBegin <= ORDER_LIST_MAX && droid->listPendingEnd <= ORDER_LIST_MAX && droid->listSize <= droid->listPendingEnd, location, function, "CHECK_DROID: Bad number of droid orders %d %d %d", (int)droid->listSize, (int)droid->listPendingBegin, (int)droid->listPendingEnd); + ASSERT_HELPER((unsigned)droid->listSize <= droid->asOrderList.size() && (unsigned)droid->listPendingBegin <= droid->asOrderList.size(), location, function, "CHECK_DROID: Bad number of droid orders %d %d %d", (int)droid->listSize, (int)droid->listPendingBegin, (int)droid->asOrderList.size()); ASSERT_HELPER(droid->player < MAX_PLAYERS, location, function, "CHECK_DROID: Bad droid owner %d", (int)droid->player); ASSERT_HELPER(droidOnMap(droid), location, function, "CHECK_DROID: Droid off map"); ASSERT_HELPER(droid->body <= droid->originalBody, location, function, "CHECK_DROID: More body points (%u) than original body points (%u).", (unsigned)droid->body, (unsigned)droid->originalBody); diff --git a/src/droiddef.h b/src/droiddef.h index 28b4876be..81cdcb493 100644 --- a/src/droiddef.h +++ b/src/droiddef.h @@ -24,6 +24,8 @@ #ifndef __INCLUDED_DROIDDEF_H__ #define __INCLUDED_DROIDDEF_H__ +#include + #include "lib/gamelib/animobj.h" #include "stringdef.h" @@ -58,7 +60,7 @@ /* The different types of droid */ // NOTE, if you add to, or change this list then you'll need // to update the DroidSelectionWeights lookup table in Display.c -typedef enum _droid_type +enum DROID_TYPE { DROID_WEAPON, ///< Weapon droid DROID_SENSOR, ///< Sensor droid @@ -74,23 +76,21 @@ typedef enum _droid_type DROID_CYBORG_REPAIR, ///< cyborg repair droid - new for update 28/5/99 DROID_CYBORG_SUPER, ///< cyborg repair droid - new for update 7/6/99 DROID_ANY, ///< Any droid. Only used as a parameter for intGotoNextDroidType(DROID_TYPE). -} DROID_TYPE; +}; -typedef struct _component +struct COMPONENT { UBYTE nStat; ///< Allowing a maximum of 255 stats per file -} COMPONENT; +}; -// maximum number of queued orders -#define ORDER_LIST_MAX 10 - -typedef struct _order_list +struct OrderListEntry { DROID_ORDER order; - void* psOrderTarget; ///< this needs to cope with objects and stats UWORD x, y, x2, y2; ///< line build requires two sets of coords uint16_t direction; ///< Needed to align structures with viewport. -} ORDER_LIST; + void* psOrderTarget; ///< this needs to cope with objects and stats +}; +typedef std::vector OrderList; struct DROID_TEMPLATE : public BASE_STATS { @@ -166,10 +166,9 @@ struct DROID : public BASE_OBJECT struct DROID* psGrpNext; struct STRUCTURE *psBaseStruct; ///< a structure that this droid might be associated with. For VTOLs this is the rearming pad // queued orders - SDWORD listSize; - ORDER_LIST asOrderList[ORDER_LIST_MAX]; ///< The range [0; listSize - 1] corresponds to synchronised orders, and the range [listPendingBegin; listPendingEnd - 1] corresponds to the orders that will remain, once all orders are synchronised. + SDWORD listSize; ///< Gives the number of synchronised orders. Orders from listSize to the real end of the list may not affect game state. + OrderList asOrderList; ///< The range [0; listSize - 1] corresponds to synchronised orders, and the range [listPendingBegin; listPendingEnd - 1] corresponds to the orders that will remain, once all orders are synchronised. unsigned listPendingBegin; ///< Index of first order which will not be erased by a pending order. After all messages are processed, the orders in the range [listPendingBegin; listPendingEnd - 1] will remain. - unsigned listPendingEnd; ///< Index of last order which might not yet have been synchronised, plus one. /* Order data */ DROID_ORDER order; diff --git a/src/multibot.cpp b/src/multibot.cpp index 7bdcd966c..68aa61099 100644 --- a/src/multibot.cpp +++ b/src/multibot.cpp @@ -624,7 +624,7 @@ bool sendDroidInfo(DROID *psDroid, DROID_ORDER order, uint32_t x, uint32_t y, co DROID_ORDER_DATA sOrder = infoToOrderData(info, psStats); if (!add) { - psDroid->listPendingBegin = psDroid->listPendingEnd; + psDroid->listPendingBegin = psDroid->asOrderList.size(); } orderDroidAddPending(psDroid, &sOrder); diff --git a/src/order.cpp b/src/order.cpp index f196ec185..97a263531 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -2425,9 +2425,9 @@ BOOL orderStateStatsLoc(DROID *psDroid, DROID_ORDER order, BASE_STATS **ppsStats return false; } -static ORDER_LIST orderDataToOrderList(DROID_ORDER_DATA const *psOrder) +static OrderListEntry orderDataToOrderList(DROID_ORDER_DATA const *psOrder) { - ORDER_LIST list; + OrderListEntry list; bool useStats = psOrder->order == DORDER_BUILD || psOrder->order == DORDER_LINEBUILD; list.order = psOrder->order; @@ -2445,14 +2445,7 @@ void orderDroidAddPending(DROID *psDroid, DROID_ORDER_DATA *psOrder) { ASSERT(psDroid != NULL, "Invalid unit pointer"); - if (psDroid->listPendingEnd >= ORDER_LIST_MAX) - { - // no room to store the order, quit - return; - } - - psDroid->asOrderList[psDroid->listPendingEnd] = orderDataToOrderList(psOrder); - ++psDroid->listPendingEnd; + psDroid->asOrderList.push_back(orderDataToOrderList(psOrder)); //don't display the arrow-effects with build orders since unnecessary if (!bOrderEffectDisplayed && (psOrder->order != DORDER_BUILD || psOrder->order != DORDER_LINEBUILD || psOrder->order != DORDER_BUILDMODULE || psOrder->order != DORDER_HELPBUILD)) @@ -2475,15 +2468,14 @@ void orderDroidAdd(DROID *psDroid, DROID_ORDER_DATA *psOrder) { ASSERT(psDroid != NULL, "Invalid unit pointer"); - if (psDroid->listSize >= ORDER_LIST_MAX) + if (psDroid->listSize >= psDroid->asOrderList.size()) { - // no room to store the order, quit - return; + // Make more room to store the order. + psDroid->asOrderList.push_back(OrderListEntry()); } psDroid->asOrderList[psDroid->listSize] = orderDataToOrderList(psOrder); psDroid->listSize += 1; - psDroid->listPendingEnd = MAX(psDroid->listPendingEnd, psDroid->listSize); // Does nothing, unless there wasn't room to store the pending orders. // if not doing anything - do it immediately if (psDroid->listSize <= 1 && @@ -2556,17 +2548,16 @@ BOOL orderDroidList(DROID *psDroid) void orderDroidListEraseRange(DROID *psDroid, unsigned indexBegin, unsigned indexEnd) { - // move the rest of the list down - indexEnd = MIN(indexEnd, psDroid->listPendingEnd); // Do nothing if trying to pop an empty list. - memmove(psDroid->asOrderList + indexBegin, psDroid->asOrderList + indexEnd, (psDroid->listPendingEnd - indexEnd) * sizeof(ORDER_LIST)); - memset(psDroid->asOrderList + psDroid->listPendingEnd - (indexEnd - indexBegin), 0, (indexEnd - indexBegin) * sizeof(ORDER_LIST)); + // Erase elements + indexEnd = MIN(indexEnd, psDroid->asOrderList.size()); // Do nothing if trying to pop an empty list. + psDroid->asOrderList.erase(psDroid->asOrderList.begin() + indexBegin, psDroid->asOrderList.begin() + indexEnd); + // Update indices into list. psDroid->listSize -= MIN(indexEnd, psDroid->listSize) - MIN(indexBegin, psDroid->listSize); psDroid->listPendingBegin -= MIN(indexEnd, psDroid->listPendingBegin) - MIN(indexBegin, psDroid->listPendingBegin); - psDroid->listPendingEnd -= MIN(indexEnd, psDroid->listPendingEnd) - MIN(indexBegin, psDroid->listPendingEnd); } -// clear all the orders from the list +// clear all the synchronised orders from the list void orderClearDroidList(DROID *psDroid) { syncDebug("droid%d list cleared", psDroid->id); @@ -2575,8 +2566,7 @@ void orderClearDroidList(DROID *psDroid) void orderClearTargetFromDroidList(DROID *psDroid, BASE_OBJECT *psTarget) { - unsigned i; - for (i = 0; i < psDroid->listPendingEnd; i++) + for (unsigned i = 0; i < psDroid->asOrderList.size(); ++i) { if (psDroid->asOrderList[i].psOrderTarget == psTarget) { @@ -2585,7 +2575,7 @@ void orderClearTargetFromDroidList(DROID *psDroid, BASE_OBJECT *psTarget) syncDebug("droid%d list erase%d", psDroid->id, psTarget->id); } orderDroidListEraseRange(psDroid, i, i + 1); - --i; + --i; // If this underflows, the ++i will overflow it back. } } } @@ -2593,45 +2583,32 @@ void orderClearTargetFromDroidList(DROID *psDroid, BASE_OBJECT *psTarget) // check all the orders in the list for died objects void orderCheckList(DROID *psDroid) { - SDWORD i; - - i=0; - while (ilistSize) + for (unsigned i = 0; i < psDroid->asOrderList.size(); ++i) { - //if (psDroid->asOrderList[i].psObj && - // (psDroid->asOrderList[i].psObj)->died) - - //if order requires an object - if (psDroid->asOrderList[i].order == DORDER_ATTACK || - psDroid->asOrderList[i].order == DORDER_REPAIR || - psDroid->asOrderList[i].order == DORDER_OBSERVE || - psDroid->asOrderList[i].order == DORDER_DROIDREPAIR || - psDroid->asOrderList[i].order == DORDER_FIRESUPPORT || - psDroid->asOrderList[i].order == DORDER_CLEARWRECK || - psDroid->asOrderList[i].order == DORDER_DEMOLISH || - psDroid->asOrderList[i].order == DORDER_HELPBUILD || - psDroid->asOrderList[i].order == DORDER_BUILDMODULE) - { - if ((BASE_OBJECT *)psDroid->asOrderList[i].psOrderTarget && - ((BASE_OBJECT *)psDroid->asOrderList[i].psOrderTarget)->died) - { - // copy any other orders down the stack - psDroid->listSize -= 1; - memmove(psDroid->asOrderList + i, psDroid->asOrderList + i + 1, - (psDroid->listSize - i) * sizeof(ORDER_LIST)); - memset(psDroid->asOrderList + psDroid->listSize, 0, sizeof(ORDER_LIST)); - } - else - { - i++; - } - } - else + DROID_ORDER order = psDroid->asOrderList[i].order; + //if order requires an object + if (order == DORDER_ATTACK || + order == DORDER_REPAIR || + order == DORDER_OBSERVE || + order == DORDER_DROIDREPAIR || + order == DORDER_FIRESUPPORT || + order == DORDER_CLEARWRECK || + order == DORDER_DEMOLISH || + order == DORDER_HELPBUILD || + order == DORDER_BUILDMODULE) { - i ++; + BASE_OBJECT *psTarget = (BASE_OBJECT *)psDroid->asOrderList[i].psOrderTarget; + if (psTarget != NULL && psTarget->died) + { + if (i < psDroid->listSize) + { + syncDebug("droid%d list erase dead droid%d", psDroid->id, psTarget->id); + } + orderDroidListEraseRange(psDroid, i, i + 1); + --i; // If this underflows, the ++i will overflow it back. + } } } - } diff --git a/src/structure.cpp b/src/structure.cpp index 770c99fc6..47fe2ac75 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -4669,14 +4669,10 @@ bool validLocation(BASE_STATS *psStats, unsigned x, unsigned y, uint16_t directi //if setting up a build queue need to check against future sites as well - AB 4/5/99 if (ctrlShiftDown() && player == selectedPlayer && bCheckBuildQueue) { - DROID *psDroid; - SDWORD order,left,right,up,down,size; - BOOL validCombi; - //defense and missile silo's can be built next to anything so don't need to check if (!(psBuilding->type == REF_DEFENSE || psBuilding->type == REF_MISSILE_SILO || psBuilding->type == REF_REARM_PAD)) { - for (psDroid = apsDroidLists[player]; psDroid; psDroid = psDroid->psNext) + for (DROID *psDroid = apsDroidLists[player]; psDroid; psDroid = psDroid->psNext) { //once its invalid stop checking if (valid == false) @@ -4687,17 +4683,15 @@ bool validLocation(BASE_STATS *psStats, unsigned x, unsigned y, uint16_t directi psDroid->droidType == DROID_CYBORG_CONSTRUCT) { //look thru' the list of orders to see if more building sites - for (order = psDroid->listPendingBegin; order < psDroid->listPendingEnd; order++) + for (unsigned order = psDroid->listPendingBegin; order < psDroid->asOrderList.size(); order++) { if (psDroid->asOrderList[order].order == DORDER_BUILD) { STRUCTURE_STATS *orderTarget = (STRUCTURE_STATS *)psDroid->asOrderList[order].psOrderTarget; - validCombi = false; - if (((STRUCTURE_STATS *)psDroid->asOrderList[order]. - psOrderTarget)->type == REF_DEFENSE || - ((STRUCTURE_STATS *)psDroid->asOrderList[order]. - psOrderTarget)->type == REF_MISSILE_SILO) + bool validCombi = false; + if (orderTarget->type == REF_DEFENSE || + orderTarget->type == REF_MISSILE_SILO) { validCombi = true; } @@ -4714,12 +4708,11 @@ bool validLocation(BASE_STATS *psStats, unsigned x, unsigned y, uint16_t directi //check if any corner is within the build site STRUCTURE_STATS *target = (STRUCTURE_STATS *)psDroid->asOrderList[order].psOrderTarget; uint16_t dir = psDroid->asOrderList[order].direction; - size = getStructureStatsWidth(target, dir); - left = map_coord(psDroid->asOrderList[order].x) - size/2; - right = left + size; - size = getStructureStatsBreadth(target, dir); - up = map_coord(psDroid->asOrderList[order].y) - size/2; - down = up + size; + Vector2i size = getStructureStatsSize(target, dir); + int left = map_coord(psDroid->asOrderList[order].x) - size.x/2; + int right = left + size.x; + int up = map_coord(psDroid->asOrderList[order].y) - size.y/2; + int down = up + size.y; if (((left > site.xTL-1 && left <= site.xBR+1) && (up > site.yTL-1 && up <= site.yBR+1)) || ((right > site.xTL-1 && right <= site.xBR+1) && @@ -8201,38 +8194,22 @@ void cbNewDroid(STRUCTURE *psFactory, DROID *psDroid) psScrCBNewDroidFact = NULL; } -unsigned getStructureWidth(const STRUCTURE *psBuilding) +Vector2i getStructureSize(STRUCTURE const *psBuilding) { - return getStructureStatsWidth(psBuilding->pStructureType, psBuilding->rot.direction); + return getStructureStatsSize(psBuilding->pStructureType, psBuilding->rot.direction); } -unsigned getStructureBreadth(const STRUCTURE *psBuilding) -{ - return getStructureStatsBreadth(psBuilding->pStructureType, psBuilding->rot.direction); -} - -unsigned getStructureStatsWidth(const STRUCTURE_STATS *pStructureType, uint16_t direction) +Vector2i getStructureStatsSize(STRUCTURE_STATS const *pStructureType, uint16_t direction) { + Vector2i size(pStructureType->baseWidth, pStructureType->baseBreadth); if (((direction + 0x2000) & 0x4000) != 0) { // Building is rotated left or right by 90°, swap width and height. - return pStructureType->baseBreadth; + std::swap(size.x, size.y); } // Building has normal orientation (or upsidedown). - return pStructureType->baseWidth; -} - -unsigned getStructureStatsBreadth(const STRUCTURE_STATS *pStructureType, uint16_t direction) -{ - if (((direction + 0x2000) & 0x4000) != 0) - { - // Building is rotated left or right by 90°, swap width and height. - return pStructureType->baseWidth; - } - - // Building has normal orientation (or upsidedown). - return pStructureType->baseBreadth; + return size; } // Check that psVictimStruct is not referred to by any other object in the game diff --git a/src/structure.h b/src/structure.h index 0b4d14b3d..46b00fc3e 100644 --- a/src/structure.h +++ b/src/structure.h @@ -408,10 +408,13 @@ BOOL structureCheckReferences(STRUCTURE *psVictimStruct); void cbNewDroid(STRUCTURE *psFactory, DROID *psDroid); -unsigned getStructureWidth(const STRUCTURE *psBuilding); -unsigned getStructureBreadth(const STRUCTURE *psBuilding); -unsigned getStructureStatsWidth(const STRUCTURE_STATS *pStructureType, uint16_t direction); -unsigned getStructureStatsBreadth(const STRUCTURE_STATS *pStructureType, uint16_t direction); +WZ_DECL_PURE Vector2i getStructureSize(STRUCTURE const *psBuilding); +WZ_DECL_PURE Vector2i getStructureStatsSize(STRUCTURE_STATS const *pStructureType, uint16_t direction); + +static inline unsigned getStructureWidth(const STRUCTURE *psBuilding) { return getStructureSize(psBuilding).x; } +static inline unsigned getStructureBreadth(const STRUCTURE *psBuilding) { return getStructureSize(psBuilding).y; } +static inline WZ_DECL_PURE unsigned getStructureStatsWidth(const STRUCTURE_STATS *pStructureType, uint16_t direction) { return getStructureStatsSize(pStructureType, direction).x; } +static inline WZ_DECL_PURE unsigned getStructureStatsBreadth(const STRUCTURE_STATS *pStructureType, uint16_t direction) { return getStructureStatsSize(pStructureType, direction).y; } static inline int structSensorRange(const STRUCTURE* psObj) { From 7cb68dcfe7c816e77ba80f5cbdf6aa5c6b186a1d Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 11:15:45 +0100 Subject: [PATCH 016/142] Reset constructor upgrade between games. Fixes desynch due to building at different speeds. Fixes ticket:2362. Changelog: Fix construction speed upgrades being preserved even between games. --- src/stats.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/stats.cpp b/src/stats.cpp index deaf5ca52..ed5aff76a 100644 --- a/src/stats.cpp +++ b/src/stats.cpp @@ -167,6 +167,7 @@ void statsInitVars(void) memset(asSensorUpgrade, 0, sizeof(asSensorUpgrade)); memset(asECMUpgrade, 0, sizeof(asECMUpgrade)); memset(asRepairUpgrade, 0, sizeof(asRepairUpgrade)); + memset(asConstUpgrade, 0, sizeof(asConstUpgrade)); memset(asBodyUpgrade, 0, sizeof(asBodyUpgrade)); // init the max values From a2665e12f7d4dbbecc11251ecc5a43a5117ffedd Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 16:20:16 +0100 Subject: [PATCH 017/142] Fix game saving/loading. Broke in 49c0f1cd8b74b10dd46f83000d30b59151a2f85f. D'oh, was reversing random uninitialised pointers instead of reversing linked lists. --- src/objects.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/objects.h b/src/objects.h index 08037a2b0..ce53d0b35 100644 --- a/src/objects.h +++ b/src/objects.h @@ -47,7 +47,7 @@ void reverseObjectList(BASE_OBJECT **ppsList); template void reverseObjectList(OBJECT **ppsList) { - BASE_OBJECT *baseList; + BASE_OBJECT *baseList = *ppsList; reverseObjectList(&baseList); *ppsList = static_cast(baseList); } From 76430c583fb04e63738a593459b19177166d84c5 Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 15:02:14 +0100 Subject: [PATCH 018/142] Use default constructors instead of memset for W_INIT (widget init) derivatives. Accidentally fixed 5 memsets of W_FORMINIT, which were incorrectly using sizeof(W_BUTINIT). (The sizeof() was smaller than the object, so it didn't overflow, at least.) And removed an ugly memset of a DROID. --- lib/widget/bar.cpp | 15 ++++ lib/widget/bar.h | 2 +- lib/widget/button.cpp | 6 ++ lib/widget/editbox.cpp | 7 ++ lib/widget/form.cpp | 27 +++++++ lib/widget/label.cpp | 6 ++ lib/widget/slider.cpp | 8 ++ lib/widget/slider.h | 2 +- lib/widget/widget.cpp | 20 +++-- lib/widget/widget.h | 42 +++++++--- src/baseobject.cpp | 5 ++ src/challenge.cpp | 16 +--- src/component.cpp | 26 ++---- src/design.cpp | 129 +++++++----------------------- src/display3d.cpp | 7 +- src/droid.cpp | 77 ++++++------------ src/feature.cpp | 4 - src/frontend.cpp | 41 +++------- src/hci.cpp | 176 ++++++++++++----------------------------- src/ingameop.cpp | 32 ++------ src/intelmap.cpp | 36 +++------ src/intorder.cpp | 12 +-- src/keyedit.cpp | 9 +-- src/loadsave.cpp | 19 ++--- src/mission.cpp | 46 +++-------- src/multiint.cpp | 87 ++++++-------------- src/multilimit.cpp | 8 +- src/multimenu.cpp | 43 +++------- src/projectile.cpp | 1 - src/structure.cpp | 10 --- src/transporter.cpp | 74 +++++------------ 31 files changed, 343 insertions(+), 650 deletions(-) diff --git a/lib/widget/bar.cpp b/lib/widget/bar.cpp index a01b7c4b9..d568ec874 100644 --- a/lib/widget/bar.cpp +++ b/lib/widget/bar.cpp @@ -30,6 +30,21 @@ #include "lib/ivis_common/pieblitfunc.h" #include "lib/ivis_common/piepalette.h" +W_BARINIT::W_BARINIT() + : orientation(WBAR_LEFT) + , size(0) + , minorSize(0) + , iRange(100) + , denominator(1) + , precision(0) + //sCol + //sMinorCol + , pTip(NULL) +{ + sCol.rgba = 0; + sMinorCol.rgba = 0; +} + W_BARGRAPH::W_BARGRAPH(W_BARINIT const *init) : WIDGET(init, WIDG_BARGRAPH) , barPos(init->orientation) diff --git a/lib/widget/bar.h b/lib/widget/bar.h index 7c3c38401..66ac3979e 100644 --- a/lib/widget/bar.h +++ b/lib/widget/bar.h @@ -30,7 +30,7 @@ struct W_BARGRAPH : public WIDGET { W_BARGRAPH(W_BARINIT const *init); - UWORD barPos; // Orientation of the bar on the widget + WBAR_ORIENTATION barPos; // Orientation of the bar on the widget UWORD majorSize; // Percentage of the main bar that is filled UWORD minorSize; // Percentage of the minor bar if there is one UWORD iRange; // Maximum range diff --git a/lib/widget/button.cpp b/lib/widget/button.cpp index 469ff7638..2388ce397 100644 --- a/lib/widget/button.cpp +++ b/lib/widget/button.cpp @@ -38,6 +38,12 @@ BOOL buttonStartUp(void) return true; } +W_BUTINIT::W_BUTINIT() + : pText(NULL) + , pTip(NULL) + , FontID(font_regular) +{} + W_BUTTON::W_BUTTON(W_BUTINIT const *init) : WIDGET(init, WIDG_BUTTON) , pText(init->pText) diff --git a/lib/widget/editbox.cpp b/lib/widget/editbox.cpp index f920d228c..99f948281 100644 --- a/lib/widget/editbox.cpp +++ b/lib/widget/editbox.cpp @@ -53,6 +53,13 @@ #define WEDB_CHARJUMP 6 +W_EDBINIT::W_EDBINIT() + : pText(NULL) + , FontID(font_regular) + , pBoxDisplay(NULL) + , pFontDisplay(NULL) +{} + W_EDITBOX::W_EDITBOX(W_EDBINIT const *init) : WIDGET(init, WIDG_EDITBOX) , FontID(init->FontID) diff --git a/lib/widget/form.cpp b/lib/widget/form.cpp index f51014cca..d9644a072 100644 --- a/lib/widget/form.cpp +++ b/lib/widget/form.cpp @@ -46,6 +46,33 @@ struct TAB_POS SDWORD TabMultiplier; //Added to keep track of tab scroll }; +W_FORMINIT::W_FORMINIT() + : disableChildren(false) + , majorPos(0), minorPos(0) + , majorSize(0), minorSize(0) + , majorOffset(0), minorOffset(0) + , tabVertOffset(0) + , tabHorzOffset(0) + , tabMajorThickness(0) + , tabMinorThickness(0) + , tabMajorGap(0) + , tabMinorGap(0) + , numStats(0) + , numButtons(0) + , numMajor(0) + // aNumMinors + , TabMultiplier(0) + , pTip(NULL) + // apMajorTips + // apMinorTips + , pTabDisplay(NULL) + , pFormDisplay(NULL) +{ + memset(aNumMinors, 0, sizeof(aNumMinors)); + memset(apMajorTips, 0, sizeof(apMajorTips)); + memset(apMinorTips, 0, sizeof(apMinorTips)); +} + W_FORM::W_FORM(W_FORMINIT const *init) : WIDGET(init, WIDG_FORM) , disableChildren(init->disableChildren) diff --git a/lib/widget/label.cpp b/lib/widget/label.cpp index 5f458f6a2..f7e94a634 100644 --- a/lib/widget/label.cpp +++ b/lib/widget/label.cpp @@ -30,6 +30,12 @@ // FIXME Direct iVis implementation include! #include "lib/ivis_common/textdraw.h" +W_LABINIT::W_LABINIT() + : pText(NULL) + , pTip(NULL) + , FontID(font_regular) +{} + W_LABEL::W_LABEL(W_LABINIT const *init) : WIDGET(init, WIDG_LABEL) , FontID(init->FontID) diff --git a/lib/widget/slider.cpp b/lib/widget/slider.cpp index 745f5bc05..64302c5cf 100644 --- a/lib/widget/slider.cpp +++ b/lib/widget/slider.cpp @@ -34,6 +34,14 @@ void sliderEnableDrag(BOOL Enable) DragEnabled = Enable; } +W_SLDINIT::W_SLDINIT() + : orientation(WSLD_LEFT) + , numStops(0) + , barSize(0) + , pos(0) + , pTip(NULL) +{} + W_SLIDER::W_SLIDER(W_SLDINIT const *init) : WIDGET(init, WIDG_SLIDER) , orientation(init->orientation) diff --git a/lib/widget/slider.h b/lib/widget/slider.h index be2aa23c7..1aefc3398 100644 --- a/lib/widget/slider.h +++ b/lib/widget/slider.h @@ -40,7 +40,7 @@ struct W_SLIDER : public WIDGET void clicked(W_CONTEXT *context, WIDGET_KEY) { sliderClicked(this, context); } - UWORD orientation; // The orientation of the slider + WSLD_ORIENTATION orientation; // The orientation of the slider UWORD numStops; // Number of stop positions on the slider UWORD barSize; // Thickness of slider bar UWORD pos; // Current stop position of the slider diff --git a/lib/widget/widget.cpp b/lib/widget/widget.cpp index 368d4724c..d91af4c51 100644 --- a/lib/widget/widget.cpp +++ b/lib/widget/widget.cpp @@ -82,6 +82,19 @@ void widgShutDown(void) } +W_INIT::W_INIT() + : formID(0) + , majorID(0), minorID(0) + , id(0) + , style(0) + , x(0), y(0) + , width(0), height(0) + , pDisplay(NULL) + , pCallback(NULL) + , pUserData(NULL) + , UserData(0) +{} + WIDGET::WIDGET(W_INIT const *init, WIDGET_TYPE type) : formID(init->formID) , id(init->id) @@ -113,9 +126,6 @@ void CheckpsMouseOverWidget( void *psWidget ) /* Create an empty widget screen */ W_SCREEN* widgCreateScreen() { - W_FORM *psForm; - W_FORMINIT sInit; - W_SCREEN *psScreen = new W_SCREEN; if (psScreen == NULL) { @@ -124,7 +134,7 @@ W_SCREEN* widgCreateScreen() return NULL; } - memset(&sInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sInit; sInit.id = 0; sInit.style = WFORM_PLAIN | WFORM_INVISIBLE; sInit.x = 0; @@ -132,7 +142,7 @@ W_SCREEN* widgCreateScreen() sInit.width = (UWORD)(screenWidth - 1); sInit.height = (UWORD)(screenHeight - 1); - psForm = formCreate(&sInit); + W_FORM *psForm = formCreate(&sInit); if (psForm == NULL) { delete psScreen; diff --git a/lib/widget/widget.h b/lib/widget/widget.h index ac2b33d5b..50b8ea1a9 100644 --- a/lib/widget/widget.h +++ b/lib/widget/widget.h @@ -100,6 +100,8 @@ /** The basic initialisation structure */ struct W_INIT { + W_INIT(); + UDWORD formID; ///< ID number of form to put widget on. ID == 0 specifies the default form for the screen UWORD majorID, minorID; ///< Which major and minor tab to put the widget on for a tabbed form UDWORD id; ///< Unique id number (chosen by user) @@ -147,8 +149,10 @@ typedef void (*FONT_DISPLAY)(UDWORD x, UDWORD y, char *String); /** Form initialisation structure */ struct W_FORMINIT : public W_INIT { + W_FORMINIT(); + /* Data for a tabbed form */ - BOOL disableChildren; + bool disableChildren; UWORD majorPos, minorPos; // Position of the tabs on the form UWORD majorSize, minorSize; // Size of the tabs (in pixels) SWORD majorOffset, minorOffset; // Tab start offset. @@ -173,6 +177,8 @@ struct W_FORMINIT : public W_INIT /** Label initialisation structure */ struct W_LABINIT : public W_INIT { + W_LABINIT(); + const char *pText; ///< label text const char *pTip; ///< Tool tip for the label. enum iV_fonts FontID; ///< ID of the IVIS font to use for this widget. @@ -181,6 +187,8 @@ struct W_LABINIT : public W_INIT /** Button initialisation structure */ struct W_BUTINIT : public W_INIT { + W_BUTINIT(); + const char *pText; ///< Button text const char *pTip; ///< Tool tip text enum iV_fonts FontID; //< ID of the IVIS font to use for this widget. @@ -189,6 +197,8 @@ struct W_BUTINIT : public W_INIT /** Edit box initialisation structure */ struct W_EDBINIT : public W_INIT { + W_EDBINIT(); + const char *pText; ///< initial contents of the edit box enum iV_fonts FontID; ///< ID of the IVIS font to use for this widget. WIDGET_DISPLAY pBoxDisplay; ///< Optional callback to display the form. @@ -196,15 +206,20 @@ struct W_EDBINIT : public W_INIT }; /* Orientation flags for the bar graph */ -#define WBAR_LEFT 0x0001 ///< Bar graph fills from left to right -#define WBAR_RIGHT 0x0002 ///< Bar graph fills from right to left -#define WBAR_TOP 0x0003 ///< Bar graph fills from top to bottom -#define WBAR_BOTTOM 0x0004 ///< Bar graph fills from bottom to top +enum WBAR_ORIENTATION +{ + WBAR_LEFT = 1, ///< Bar graph fills from left to right + WBAR_RIGHT, ///< Bar graph fills from right to left + WBAR_TOP, ///< Bar graph fills from top to bottom + WBAR_BOTTOM, ///< Bar graph fills from bottom to top +}; /** Bar Graph initialisation structure */ struct W_BARINIT : public W_INIT { - UWORD orientation; ///< Orientation of the bar on the widget + W_BARINIT(); + + WBAR_ORIENTATION orientation; ///< Orientation of the bar on the widget UWORD size; ///< Initial percentage of the graph that is filled UWORD minorSize; ///< Percentage of second bar graph if there is one UWORD iRange; ///< Maximum range @@ -217,15 +232,20 @@ struct W_BARINIT : public W_INIT /* Orientation of the slider */ -#define WSLD_LEFT 0x0001 ///< Slider is horizontal and starts at left -#define WSLD_RIGHT 0x0002 ///< Slider is horizontal and starts at the right -#define WSLD_TOP 0x0003 ///< Slider is vertical and starts at the top -#define WSLD_BOTTOM 0x0004 ///< Slider is vertical and starts at the bottom +enum WSLD_ORIENTATION +{ + WSLD_LEFT = 1, ///< Slider is horizontal and starts at left + WSLD_RIGHT, ///< Slider is horizontal and starts at the right + WSLD_TOP, ///< Slider is vertical and starts at the top + WSLD_BOTTOM, ///< Slider is vertical and starts at the bottom +}; /** Slider initialisation structure */ struct W_SLDINIT : public W_INIT { - UWORD orientation; ///< Orientation of the slider + W_SLDINIT(); + + WSLD_ORIENTATION orientation; ///< Orientation of the slider UWORD numStops; ///< Number of stops on the slider UWORD barSize; ///< Size of the bar UWORD pos; ///< Initial position of the slider bar diff --git a/src/baseobject.cpp b/src/baseobject.cpp index bbe5b6a86..c01d6a78d 100644 --- a/src/baseobject.cpp +++ b/src/baseobject.cpp @@ -82,8 +82,13 @@ SIMPLE_OBJECT::~SIMPLE_OBJECT() BASE_OBJECT::BASE_OBJECT(OBJECT_TYPE type, uint32_t id, unsigned player) : SIMPLE_OBJECT(type, id, player) + , selected(false) , cluster(0) , numWatchedTiles(0) + , lastEmission(0) + , lastHitWeapon(WSC_NUM_WEAPON_SUBCLASSES) // No such weapon. + , timeLastHit(UDWORD_MAX) + , bTargetted(false) , watchedTiles(NULL) {} diff --git a/src/challenge.cpp b/src/challenge.cpp index d7b56b120..86a9588d7 100644 --- a/src/challenge.cpp +++ b/src/challenge.cpp @@ -121,9 +121,6 @@ bool addChallenges() { char sPath[PATH_MAX]; const char *sSearchPath = "challenges"; - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - W_LABINIT sLabInit; UDWORD slotCount; static char sSlotCaps[totalslots][totalslotspace]; static char sSlotTips[totalslots][totalslotspace]; @@ -136,7 +133,7 @@ bool addChallenges() widgSetTipFont(psRequestScreen, font_regular); /* add a form to place the tabbed form on */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; //this adds the blue background, and the "box" behind the buttons -Q sFormInit.id = CHALLENGE_FORM; sFormInit.style = WFORM_PLAIN; @@ -163,7 +160,7 @@ bool addChallenges() widgAddForm(psRequestScreen, &sFormInit); // Add Banner Label - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = CHALLENGE_BANNER; sLabInit.id = CHALLENGE_LABEL; sLabInit.style = WLAB_ALIGNCENTRE; @@ -172,11 +169,10 @@ bool addChallenges() sLabInit.width = CHALLENGE_W - (2 * CHALLENGE_HGAP); //CHALLENGE_W; sLabInit.height = CHALLENGE_BANNER_DEPTH; //This looks right -Q sLabInit.pText = "Challenge"; - sLabInit.FontID = font_regular; widgAddLabel(psRequestScreen, &sLabInit); // add cancel. - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = CHALLENGE_BANNER; sButInit.x = 8; sButInit.y = 8; @@ -185,20 +181,16 @@ bool addChallenges() sButInit.UserData = PACKDWORD_TRI(0, IMAGE_NRUTER , IMAGE_NRUTER); sButInit.id = CHALLENGE_CANCEL; - sButInit.style = WBUT_PLAIN; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; widgAddButton(psRequestScreen, &sButInit); // add slots - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = CHALLENGE_FORM; - sButInit.style = WBUT_PLAIN; sButInit.width = CHALLENGE_ENTRY_W; sButInit.height = CHALLENGE_ENTRY_H; sButInit.pDisplay = displayLoadSlot; - sButInit.FontID = font_regular; for (slotCount = 0; slotCount < totalslots; slotCount++) { diff --git a/src/component.cpp b/src/component.cpp index 38c4716e8..4d44c9f94 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -955,37 +955,21 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) // void displayComponentButtonTemplate(DROID_TEMPLATE *psTemplate, Vector3i *Rotation, Vector3i *Position, BOOL RotXYZ, SDWORD scale) { - static DROID Droid(0, 0); // Made static to reduce stack usage. - SDWORD difference; - - /* init to NULL */ - memset( &Droid, 0, sizeof(DROID) ); - setMatrix(Position, Rotation, RotXYZ); pie_MatScale(scale / 100.f); -// Decide how to sort it. - - difference = Rotation->y%360; - - if((difference>0 && difference <180) || difference<-180) - { - leftFirst = false; - } - else - { - leftFirst = true; - } + // Decide how to sort it. + leftFirst = angleDelta(DEG(Rotation->y)) < 0; + DROID Droid(0, selectedPlayer); + memset(Droid.asBits, 0, sizeof(Droid.asBits)); droidSetBits(psTemplate,&Droid); - Droid.player = (UBYTE)selectedPlayer; - Droid.pos.x = Droid.pos.y = Droid.pos.z = 0; + Droid.pos = Vector3i(0, 0, 0); //draw multi component object as a button object displayCompObj(&Droid, true); - unsetMatrix(); } diff --git a/src/design.cpp b/src/design.cpp index e32d41366..485dd4d12 100644 --- a/src/design.cpp +++ b/src/design.cpp @@ -425,12 +425,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) //initialise flags newTemplate = false; - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sLabInit, 0, sizeof(W_LABINIT)); - memset(&sEdInit, 0, sizeof(W_EDBINIT)); - memset(&sButInit, 0, sizeof(W_BUTINIT)); - memset(&sBarInit, 0, sizeof(W_BARINIT)); - /* Add the main design form */ sFormInit.formID = 0; sFormInit.id = IDDES_FORM; @@ -448,13 +442,11 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) /* add the edit name box */ sEdInit.formID = IDDES_FORM; sEdInit.id = IDDES_NAMEBOX; - sEdInit.style = WEDB_PLAIN; sEdInit.x = DES_NAMEBOXX; sEdInit.y = DES_NAMEBOXY; sEdInit.width = DES_NAMEBOXWIDTH; sEdInit.height = DES_NAMEBOXHEIGHT; sEdInit.pText = _("New Vehicle"); - sEdInit.FontID = font_regular; sEdInit.pBoxDisplay = intDisplayEditBox; if (!widgAddEditBox(psWScreen, &sEdInit)) { @@ -466,13 +458,13 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) /* Initialise the current design */ if (psCurrTemplate != NULL) { - memcpy(&sCurrDesign, psCurrTemplate, sizeof(DROID_TEMPLATE)); + sCurrDesign = *psCurrTemplate; sstrcpy(aCurrName, getStatName(psCurrTemplate)); sstrcpy(sCurrDesign.aName, aCurrName); } else { - memcpy(&sCurrDesign, &sDefaultDesignTemplate, sizeof(DROID_TEMPLATE)); + sCurrDesign = sDefaultDesignTemplate; sCurrDesign.pName = NULL; sstrcpy(aCurrName, _("New Vehicle")); sstrcpy(sCurrDesign.aName, aCurrName); @@ -516,13 +508,11 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) // add the body part button sButInit.formID = IDDES_PARTFORM; sButInit.id = IDDES_BODYBUTTON; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_PARTSEPARATIONX; sButInit.y = DES_PARTSEPARATIONY; sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_BODY); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_BODY); sButInit.pTip = _("Vehicle Body"); - sButInit.FontID = font_regular; #ifdef FLASH_BUTTONS sButInit.pDisplay = intDisplayButtonFlash; #else @@ -537,14 +527,12 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) // add the propulsion part button sButInit.formID = IDDES_PARTFORM; sButInit.id = IDDES_PROPBUTTON; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_PARTSEPARATIONX; sButInit.y = (UWORD)(iV_GetImageHeight(IntImages, IMAGE_DES_PROPULSION) + 2 * DES_PARTSEPARATIONY); sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_PROPULSION); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_PROPULSION); sButInit.pTip = _("Vehicle Propulsion"); - sButInit.FontID = font_regular; #ifdef FLASH_BUTTONS sButInit.pDisplay = intDisplayButtonFlash; #else @@ -559,7 +547,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) // add the turret part button sButInit.formID = IDDES_PARTFORM; sButInit.id = IDDES_SYSTEMBUTTON; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_PARTSEPARATIONX; sButInit.y = (UWORD)(iV_GetImageHeight(IntImages, IMAGE_DES_PROPULSION) + iV_GetImageHeight(IntImages, IMAGE_DES_BODY) + @@ -567,7 +554,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_TURRET); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_TURRET); sButInit.pTip = _("Vehicle Turret"); - sButInit.FontID = font_regular; #ifdef FLASH_BUTTONS sButInit.pDisplay = intDisplayButtonFlash; #else @@ -582,7 +568,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) // add the turret_a button sButInit.formID = IDDES_PARTFORM; sButInit.id = IDDES_WPABUTTON; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_PARTSEPARATIONX; // use BODY height for now sButInit.y = (UWORD)(iV_GetImageHeight(IntImages, IMAGE_DES_PROPULSION) + @@ -592,7 +577,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_TURRET); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_TURRET); sButInit.pTip = _("Vehicle Turret"); - sButInit.FontID = font_regular; #ifdef FLASH_BUTTONS sButInit.pDisplay = intDisplayButtonFlash; #else @@ -607,7 +591,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) // add the turret_b button sButInit.formID = IDDES_PARTFORM; sButInit.id = IDDES_WPBBUTTON; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_PARTSEPARATIONX; //use body height for now sButInit.y = (UWORD)(iV_GetImageHeight(IntImages, IMAGE_DES_PROPULSION) + @@ -618,7 +601,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_TURRET); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_TURRET); sButInit.pTip = _("Vehicle Turret"); - sButInit.FontID = font_regular; #ifdef FLASH_BUTTONS sButInit.pDisplay = intDisplayButtonFlash; #else @@ -633,13 +615,11 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) /* add the delete button */ sButInit.formID = IDDES_PARTFORM; sButInit.id = IDDES_BIN; - sButInit.style = WBUT_PLAIN; sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_BIN); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_BIN); sButInit.x = DES_PARTSEPARATIONX; sButInit.y = (UWORD)(DES_PARTFORMHEIGHT - sButInit.height - DES_PARTSEPARATIONY); sButInit.pTip = _("Delete Design"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayButtonHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_DES_BINH, IMAGE_DES_BIN); if (!widgAddButton(psWScreen, &sButInit)) @@ -678,8 +658,6 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) /* Add the graphs for the Body */ sBarInit.formID = IDDES_BODYFORM; sBarInit.id = IDDES_BODYARMOUR_K; - sBarInit.style = WBAR_PLAIN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = DES_CLICKBARX; sBarInit.y = DES_STATBAR_Y1; //DES_CLICKBARY; sBarInit.width = DES_CLICKBARWIDTH; @@ -735,13 +713,11 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) /* Add the labels for the Body */ sLabInit.formID = IDDES_BODYFORM; sLabInit.id = IDDES_BODYARMOURKLAB; - sLabInit.style = WLAB_PLAIN; sLabInit.x = DES_CLICKBARNAMEX; sLabInit.y = DES_CLICKBARY - DES_CLICKBARHEIGHT/3; sLabInit.width = DES_CLICKBARNAMEWIDTH; sLabInit.height = DES_CLICKBARHEIGHT; sLabInit.pTip = _("Kinetic Armour"); - sLabInit.FontID = font_regular; sLabInit.pDisplay = intDisplayImage; //just to confuse things even more - the graphics were named incorrectly! sLabInit.UserData = IMAGE_DES_ARMOUR_EXPLOSIVE;//IMAGE_DES_ARMOUR_KINETIC; @@ -789,7 +765,7 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) } /* add power/points bar subform */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDDES_FORM; sFormInit.id = IDDES_POWERFORM; sFormInit.style = WFORM_PLAIN; @@ -819,11 +795,9 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) return true; } - memset(&sBarInit, 0, sizeof(W_BARINIT)); + sBarInit = W_BARINIT(); sBarInit.formID = IDDES_POWERFORM; sBarInit.id = IDDES_POWERBAR; - sBarInit.style = WBAR_PLAIN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = (SWORD)(DES_POWERX + DES_POWERSEPARATIONX + iV_GetImageWidth(IntImages,IMAGE_DES_BODYPOINTS)); sBarInit.y = DES_POWERY; @@ -852,11 +826,9 @@ static BOOL _intAddDesign( BOOL bShowCentreScreen ) return true; } - memset(&sBarInit, 0, sizeof(W_BARINIT)); + sBarInit = W_BARINIT(); sBarInit.formID = IDDES_POWERFORM; sBarInit.id = IDDES_BODYPOINTS; - sBarInit.style = WBAR_PLAIN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = (SWORD)(DES_POWERX + DES_POWERSEPARATIONX + iV_GetImageWidth(IntImages,IMAGE_DES_BODYPOINTS)); sBarInit.y = (SWORD)(DES_POWERY + DES_POWERSEPARATIONY + 4 + @@ -927,7 +899,6 @@ void desSetupDesignTemplates(void) /* Add the design template form */ static BOOL _intAddTemplateForm(DROID_TEMPLATE *psSelected) { - W_FORMINIT sFormInit; UDWORD numButtons, butPerForm; UDWORD i; @@ -949,7 +920,7 @@ static BOOL _intAddTemplateForm(DROID_TEMPLATE *psSelected) (DES_TABBUTHEIGHT + DES_TABBUTGAP)); /* add a form to place the tabbed form on */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDDES_TEMPLBASE; sFormInit.style = WFORM_PLAIN; @@ -964,7 +935,7 @@ static BOOL _intAddTemplateForm(DROID_TEMPLATE *psSelected) } /* Add the design templates form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDDES_TEMPLBASE; //IDDES_FORM; sFormInit.id = IDDES_TEMPLFORM; sFormInit.style = WFORM_TABBED; @@ -1022,8 +993,6 @@ BOOL intAddTemplateButtons(UDWORD formID, UDWORD formWidth, UDWORD formHeight, UDWORD butWidth, UDWORD butHeight, UDWORD gap, DROID_TEMPLATE *psSelected) { - W_FORMINIT sButInit; - W_BARINIT sBarInit; DROID_TEMPLATE *psTempl = NULL; char aButText[DES_COMPBUTMAXCHAR + 1]; SDWORD BufferID; @@ -1034,9 +1003,9 @@ BOOL intAddTemplateButtons(UDWORD formID, UDWORD formWidth, UDWORD formHeight, ClearStatBuffers(); memset(aButText, 0, DES_COMPBUTMAXCHAR + 1); - memset(&sButInit, 0, sizeof(W_BUTINIT)); /* Set up the button struct */ + W_FORMINIT sButInit; sButInit.formID = formID; sButInit.id = IDDES_TEMPLSTART; sButInit.style = WFORM_CLICKABLE; @@ -1046,10 +1015,8 @@ BOOL intAddTemplateButtons(UDWORD formID, UDWORD formWidth, UDWORD formHeight, sButInit.height = OBJ_BUTHEIGHT; //DES_TABBUTHEIGHT; /* Add each button */ - memset(&sBarInit, 0, sizeof(W_BARINIT)); + W_BARINIT sBarInit; sBarInit.id = IDDES_BARSTART; - sBarInit.style = WBAR_PLAIN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = STAT_TIMEBARX; sBarInit.y = STAT_TIMEBARY; sBarInit.width = STAT_PROGBARWIDTH; @@ -1448,15 +1415,8 @@ static void intSetDesignStats( DROID_TEMPLATE *psTemplate ) /* Set up the system clickable form of the design screen given a set of stats */ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) { - W_FORMINIT sFormInit; - W_BARINIT sBarInit; - W_LABINIT sLabInit; DES_SYSMODE newSysMode=(DES_SYSMODE)0; - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sLabInit, 0, sizeof(W_LABINIT)); - memset(&sBarInit, 0, sizeof(W_BARINIT)); - /* Figure out what the new mode should be */ switch (statType(psStats->ref)) { @@ -1498,6 +1458,7 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) desSysMode = newSysMode; /* Add the system form */ + W_FORMINIT sFormInit; sFormInit.formID = IDDES_STATSFORM; sFormInit.id = IDDES_SYSTEMFORM; sFormInit.style = (WFORM_CLICKABLE | WFORM_NOCLICKMOVE); @@ -1514,9 +1475,9 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) } /* Initialise the bargraph struct */ + W_BARINIT sBarInit; sBarInit.formID = IDDES_SYSTEMFORM; - sBarInit.style = WBAR_PLAIN;//WBAR_DOUBLE; - sBarInit.orientation = WBAR_LEFT; + //sBarInit.style = WBAR_DOUBLE; sBarInit.x = DES_CLICKBARX; sBarInit.y = DES_STATBAR_Y1; //DES_CLICKBARY; sBarInit.width = DES_CLICKBARWIDTH; @@ -1530,13 +1491,13 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sBarInit.pDisplay = intDisplayStatsBar; /* Initialise the label struct */ + W_LABINIT sLabInit; sLabInit.formID = IDDES_SYSTEMFORM; - sLabInit.style = WLAB_PLAIN; sLabInit.x = DES_CLICKBARNAMEX; sLabInit.y = DES_CLICKBARY - DES_CLICKBARHEIGHT/3; sLabInit.width = DES_CLICKBARNAMEWIDTH; sLabInit.height = DES_CLICKBARHEIGHT; - sLabInit.FontID = font_regular; + sLabInit.pDisplay = intDisplayImage; /* See what type of system stats we've got */ if (psStats->ref >= REF_SENSOR_START && @@ -1574,7 +1535,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_SENSORRANGELAB; sLabInit.pTip = _("Sensor Range"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_RANGE; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1583,7 +1543,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_SENSORPOWERLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Sensor Power"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_POWER; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1592,7 +1551,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_SENSORWEIGHTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1622,7 +1580,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_ECMPOWERLAB; sLabInit.pTip = _("ECM Power"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_POWER; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1631,7 +1588,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_ECMWEIGHTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1661,7 +1617,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_CONSTPOINTSLAB; sLabInit.pTip = _("Build Points"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_BUILDRATE; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1670,7 +1625,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_CONSTWEIGHTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1700,7 +1654,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_REPAIRPTLAB; sLabInit.pTip = _("Build Points"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_BUILDRATE; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1709,7 +1662,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_REPAIRWGTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1729,7 +1681,7 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) { return false; } - sBarInit.denominator = 0; + sBarInit.denominator = 1; sBarInit.precision = 0; sBarInit.id = IDDES_WEAPDAMAGE; sBarInit.y = DES_STATBAR_Y2; //+= DES_CLICKBARHEIGHT + DES_CLICKGAP; @@ -1759,7 +1711,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_WEAPRANGELAB; sLabInit.pTip = _("Range"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_RANGE; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1768,7 +1719,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_WEAPDAMAGELAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Damage"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_DAMAGE; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1777,7 +1727,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_WEAPROFLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Rate-of-Fire"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_FIRERATE; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1786,7 +1735,6 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) sLabInit.id = IDDES_WEAPWEIGHTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1827,17 +1775,10 @@ static BOOL _intSetSystemForm(COMPONENT_STATS *psStats) /* Set up the propulsion clickable form of the design screen given a set of stats */ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) { - W_FORMINIT sFormInit; - W_BARINIT sBarInit; - W_LABINIT sLabInit; DES_PROPMODE newPropMode=(DES_PROPMODE)0; ASSERT_OR_RETURN(false, psStats != NULL, "Invalid propulsion stats pointer"); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sLabInit, 0, sizeof(W_LABINIT)); - memset(&sBarInit, 0, sizeof(W_BARINIT)); - /* figure out what the new mode should be */ switch (asPropulsionTypes[psStats->propulsionType].travel) { @@ -1866,6 +1807,7 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) desPropMode = newPropMode; /* Add the propulsion form */ + W_FORMINIT sFormInit; sFormInit.formID = IDDES_STATSFORM; sFormInit.id = IDDES_PROPFORM; sFormInit.style = WFORM_CLICKABLE | WFORM_NOCLICKMOVE; @@ -1881,9 +1823,9 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) } /* Initialise the bargraph struct */ + W_BARINIT sBarInit; sBarInit.formID = IDDES_PROPFORM; - sBarInit.style = WBAR_PLAIN;//WBAR_DOUBLE; - sBarInit.orientation = WBAR_LEFT; + //sBarInit.style = WBAR_DOUBLE; sBarInit.x = DES_CLICKBARX; sBarInit.y = DES_STATBAR_Y1; //DES_CLICKBARY; sBarInit.width = DES_CLICKBARWIDTH; @@ -1897,13 +1839,13 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) sBarInit.pDisplay = intDisplayStatsBar; /* Initialise the label struct */ + W_LABINIT sLabInit; sLabInit.formID = IDDES_PROPFORM; - sLabInit.style = WLAB_PLAIN; sLabInit.x = DES_CLICKBARNAMEX; sLabInit.y = DES_CLICKBARY - DES_CLICKBARHEIGHT/3; sLabInit.width = DES_CLICKBARNAMEWIDTH; sLabInit.height = DES_CLICKBARNAMEHEIGHT; //DES_CLICKBARHEIGHT; - sLabInit.FontID = font_regular; + sLabInit.pDisplay = intDisplayImage; /* See what type of propulsion we've got */ switch (desPropMode) @@ -1919,7 +1861,7 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) { return false; } - sBarInit.denominator = 0; + sBarInit.denominator = 1; sBarInit.precision = 0; sBarInit.id = IDDES_PROPWEIGHT; sBarInit.y = DES_STATBAR_Y2; //+= DES_CLICKBARHEIGHT + DES_CLICKGAP; @@ -1933,7 +1875,6 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_PROPAIRLAB; sLabInit.pTip = _("Air Speed"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_HOVER; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1942,7 +1883,6 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) sLabInit.id = IDDES_PROPWEIGHTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1976,7 +1916,7 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) { return false; } - sBarInit.denominator = 0; + sBarInit.denominator = 1; sBarInit.precision = 0; sBarInit.id = IDDES_PROPWEIGHT; sBarInit.y = DES_STATBAR_Y4; //+= DES_CLICKBARHEIGHT + DES_CLICKGAP; @@ -1990,7 +1930,6 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) /* Add the labels */ sLabInit.id = IDDES_PROPROADLAB; sLabInit.pTip = _("Road Speed"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_ROAD; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -1999,7 +1938,6 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) sLabInit.id = IDDES_PROPCOUNTRYLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Off-Road Speed"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_CROSSCOUNTRY; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -2008,7 +1946,6 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) sLabInit.id = IDDES_PROPWATERLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Water Speed"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_HOVER; //WATER; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -2017,7 +1954,6 @@ static BOOL intSetPropulsionForm(PROPULSION_STATS *psStats) sLabInit.id = IDDES_PROPWEIGHTLAB; sLabInit.y += DES_CLICKBARHEIGHT + DES_CLICKGAP; sLabInit.pTip = _("Weight"); - sLabInit.pDisplay = intDisplayImage; sLabInit.UserData = IMAGE_DES_WEIGHT; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -2068,14 +2004,12 @@ static UDWORD intNumAvailable(UBYTE *aAvailable, UDWORD numEntries, /* Add the component tab form to the design screen */ static BOOL intAddComponentForm(UDWORD numButtons) { - W_FORMINIT sFormInit; UDWORD i, butPerForm, numFrm; - memset(&sFormInit, 0, sizeof(W_FORMINIT)); butPerForm = DES_BUTSPERFORM; /* add a form to place the tabbed form on */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDDES_RIGHTBASE; sFormInit.style = WFORM_PLAIN; @@ -2090,7 +2024,7 @@ static BOOL intAddComponentForm(UDWORD numButtons) } //now a single form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDDES_RIGHTBASE; sFormInit.id = IDDES_COMPFORM; sFormInit.style = WFORM_TABBED; @@ -2129,20 +2063,15 @@ static BOOL intAddComponentForm(UDWORD numButtons) /* Add the system buttons (weapons, command droid, etc) to the design screen */ static BOOL intAddSystemButtons(DES_COMPMODE mode) { - W_BUTINIT sButInit; - - memset(&sButInit, 0, sizeof(W_BUTINIT)); - // add the weapon button + W_BUTINIT sButInit; sButInit.formID = IDDES_RIGHTBASE; sButInit.id = IDDES_WEAPONS; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_WEAPONBUTTON_X; sButInit.y = DES_SYSTEMBUTTON_Y; sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_WEAPONS); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_WEAPONS); sButInit.pTip = _("Weapons"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayButtonHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_DES_EXTRAHI , IMAGE_DES_WEAPONS); if (!widgAddButton(psWScreen, &sButInit)) @@ -2158,13 +2087,11 @@ static BOOL intAddSystemButtons(DES_COMPMODE mode) // add the system button sButInit.formID = IDDES_RIGHTBASE; sButInit.id = IDDES_SYSTEMS; - sButInit.style = WBUT_PLAIN; sButInit.x = DES_SYSTEMBUTTON_X; sButInit.y = DES_SYSTEMBUTTON_Y; sButInit.width = iV_GetImageWidth(IntImages, IMAGE_DES_SYSTEMS); sButInit.height = iV_GetImageHeight(IntImages, IMAGE_DES_SYSTEMS); sButInit.pTip = _("Systems"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayButtonHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_DES_EXTRAHI , IMAGE_DES_SYSTEMS); if (!widgAddButton(psWScreen, &sButInit)) @@ -2201,7 +2128,6 @@ static BOOL intAddComponentButtons(COMPONENT_STATS *psStats, UDWORD size, UBYTE *aAvailable, UDWORD numEntries, UDWORD compID,UDWORD WhichTab) { - W_FORMINIT sButInit; W_TABFORM *psTabForm; UDWORD i, maxComponents; COMPONENT_STATS *psCurrStats; @@ -2214,9 +2140,9 @@ static BOOL intAddComponentButtons(COMPONENT_STATS *psStats, UDWORD size, ClearObjectBuffers(); memset(aButText, 0, DES_COMPBUTMAXCHAR + 1); - memset(&sButInit, 0, sizeof(W_BUTINIT)); /* Set up the button struct */ + W_FORMINIT sButInit; sButInit.formID = IDDES_COMPFORM; sButInit.majorID = IDES_MAINTAB; sButInit.minorID = 0; @@ -2413,7 +2339,6 @@ static BOOL intAddExtraSystemButtons(UDWORD sensorIndex, UDWORD ecmIndex, UDWORD constIndex, UDWORD repairIndex, UDWORD brainIndex) { - W_FORMINIT sButInit; UDWORD i, buttonType, size=0; UDWORD compIndex=0, numStats=0; COMPONENT_STATS *psCurrStats=0; @@ -2422,9 +2347,9 @@ static BOOL intAddExtraSystemButtons(UDWORD sensorIndex, UDWORD ecmIndex, SDWORD BufferID; memset(aButText, 0, DES_COMPBUTMAXCHAR + 1); - memset(&sButInit, 0, sizeof(W_BUTINIT)); // Set up the button struct + W_FORMINIT sButInit; sButInit.formID = IDDES_COMPFORM; sButInit.majorID = 0; sButInit.minorID = 0; diff --git a/src/display3d.cpp b/src/display3d.cpp index cc4627e04..4b0d5567a 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -508,8 +508,6 @@ static void NetworkDisplayImage(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset static void setupConnectionStatusForm(void) { - static W_FORMINIT sFormInit; - static W_BUTINIT sButInit; static unsigned prevStatusMask = 0; const int separation = 3; @@ -545,7 +543,7 @@ static void setupConnectionStatusForm(void) { unsigned n = 0; // Create the basic form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = NETWORK_FORM_ID; sFormInit.style = WFORM_PLAIN; @@ -568,12 +566,11 @@ static void setupConnectionStatusForm(void) } //set up default button data - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = NETWORK_FORM_ID; sButInit.id = NETWORK_BUT_ID + i; sButInit.width = 36; sButInit.height = 24; - sButInit.FontID = font_regular; //add button sButInit.style = WBUT_PLAIN; diff --git a/src/droid.cpp b/src/droid.cpp index 9137dc757..8ce54b1ca 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -289,10 +289,20 @@ DROID::DROID(uint32_t id, unsigned player) , droidType(DROID_ANY) , psGroup(NULL) , psGrpNext(NULL) + , order(DORDER_NONE) + , orderX(0), orderY(0) + , orderX2(0), orderY2(0) + , orderDirection(0) + , psTarget(NULL) + , psTarStats(NULL) + , secondaryOrder(DSS_ARANGE_DEFAULT | DSS_REPLEV_NEVER | DSS_ALEV_ALWAYS | DSS_HALT_GUARD) + , action(DACTION_NONE) + , actionX(0), actionY(0) , psCurAnim(NULL) , gameCheckDroid(NULL) { sMove.asPath = NULL; + sMove.Status = MOVEINACTIVE; } /* DROID::~DROID: release all resources associated with a droid - @@ -2467,34 +2477,8 @@ DROID *reallyBuildDroid(DROID_TEMPLATE *pTemplate, UDWORD x, UDWORD y, UDWORD pl grpJoin(psGrp, psDroid); } - psDroid->order = DORDER_NONE; - psDroid->orderX = 0; - psDroid->orderY = 0; - psDroid->orderX2 = 0; - psDroid->orderY2 = 0; - psDroid->secondaryOrder = DSS_ARANGE_DEFAULT | DSS_REPLEV_NEVER | DSS_ALEV_ALWAYS | DSS_HALT_GUARD; - psDroid->action = DACTION_NONE; - psDroid->actionX = 0; - psDroid->actionY = 0; - psDroid->psTarStats = NULL; - psDroid->psTarget = NULL; psDroid->lastFrustratedTime = -UINT16_MAX; // make sure we do not start the game frustrated - // Is setting asWeaps here needed? The first numWeaps entries are set in droidSetBits, too.) - for(i = 0;i < DROID_MAXWEAPS;i++) - { - psDroid->psActionTarget[i] = NULL; - psDroid->asWeaps[i].lastFired = 0; - psDroid->asWeaps[i].shotsFired = 0; - psDroid->asWeaps[i].nStat = 0; - psDroid->asWeaps[i].ammo = 0; - psDroid->asWeaps[i].recoilValue = 0; - psDroid->asWeaps[i].rot.direction = 0; - psDroid->asWeaps[i].rot.roll = 0; - psDroid->asWeaps[i].rot.pitch = 0; - psDroid->asWeaps[i].prevRot = psDroid->asWeaps[i].rot; - } - psDroid->listSize = 0; psDroid->listPendingBegin = 0; @@ -2541,12 +2525,6 @@ DROID *reallyBuildDroid(DROID_TEMPLATE *pTemplate, UDWORD x, UDWORD y, UDWORD pl initDroidMovement(psDroid); - psDroid->selected = false; - psDroid->lastEmission = 0; - psDroid->bTargetted = false; - psDroid->timeLastHit = UDWORD_MAX; - psDroid->lastHitWeapon = WSC_NUM_WEAPON_SUBCLASSES; // no such weapon - // it was never drawn before psDroid->sDisplay.frameNumber = 0; @@ -2657,8 +2635,6 @@ void initDroidMovement(DROID *psDroid) // Set the asBits in a DROID structure given it's template. void droidSetBits(DROID_TEMPLATE *pTemplate,DROID *psDroid) { - UDWORD inc; - psDroid->droidType = droidTemplateType(pTemplate); psDroid->rot.direction = 0; psDroid->rot.pitch = 0; @@ -2671,26 +2647,25 @@ void droidSetBits(DROID_TEMPLATE *pTemplate,DROID *psDroid) psDroid->prevSpacetime.time = psDroid->time - 1; // -1 for interpolation. //create the droids weapons - if (pTemplate->numWeaps > 0) - { - for (inc=0; inc < pTemplate->numWeaps; inc++) - { - psDroid->asWeaps[inc].lastFired=0; - psDroid->asWeaps[inc].shotsFired=0; - psDroid->asWeaps[inc].nStat = pTemplate->asWeaps[inc]; - psDroid->asWeaps[inc].recoilValue = 0; - psDroid->asWeaps[inc].ammo = (asWeaponStats + psDroid->asWeaps[inc].nStat)->numRounds; - psDroid->asWeaps[inc].rot.direction = 0; - psDroid->asWeaps[inc].rot.pitch = 0; - psDroid->asWeaps[inc].rot.roll = 0; - psDroid->asWeaps[inc].prevRot = psDroid->asWeaps[inc].rot; - } - } - else + for (int inc = 0; inc < DROID_MAXWEAPS; inc++) { + psDroid->psActionTarget[inc] = NULL; + psDroid->asWeaps[inc].lastFired=0; + psDroid->asWeaps[inc].shotsFired=0; // no weapon (could be a construction droid for example) // this is also used to check if a droid has a weapon, so zero it - psDroid->asWeaps[0].nStat = 0; + psDroid->asWeaps[inc].nStat = 0; + psDroid->asWeaps[inc].recoilValue = 0; + psDroid->asWeaps[inc].ammo = 0; + psDroid->asWeaps[inc].rot.direction = 0; + psDroid->asWeaps[inc].rot.pitch = 0; + psDroid->asWeaps[inc].rot.roll = 0; + psDroid->asWeaps[inc].prevRot = psDroid->asWeaps[inc].rot; + if (inc < pTemplate->numWeaps) + { + psDroid->asWeaps[inc].nStat = pTemplate->asWeaps[inc]; + psDroid->asWeaps[inc].ammo = (asWeaponStats + psDroid->asWeaps[inc].nStat)->numRounds; + } } //allocate the components hit points psDroid->asBits[COMP_BODY].nStat = (UBYTE)pTemplate->asParts[COMP_BODY]; diff --git a/src/feature.cpp b/src/feature.cpp index 56efed5c5..b7fe2f2dd 100644 --- a/src/feature.cpp +++ b/src/feature.cpp @@ -327,13 +327,9 @@ FEATURE * buildFeature(FEATURE_STATS *psStats, UDWORD x, UDWORD y,BOOL FromSave) { psFeature->rot.direction = 0; } - psFeature->selected = false; psFeature->body = psStats->body; objSensorCache((BASE_OBJECT *)psFeature, NULL); objEcmCache((BASE_OBJECT *)psFeature, NULL); - psFeature->bTargetted = false; - psFeature->timeLastHit = 0; - psFeature->lastHitWeapon = WSC_NUM_WEAPON_SUBCLASSES; // no such weapon // it has never been drawn psFeature->sDisplay.frameNumber = 0; diff --git a/src/frontend.cpp b/src/frontend.cpp index c590c8071..1341758a5 100644 --- a/src/frontend.cpp +++ b/src/frontend.cpp @@ -1496,9 +1496,7 @@ void displayTextOption(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL void addBackdrop(void) { - W_FORMINIT sFormInit; - - memset(&sFormInit, 0, sizeof(W_FORMINIT)); // Backdrop + W_FORMINIT sFormInit; // Backdrop sFormInit.formID = 0; sFormInit.id = FRONTEND_BACKDROP; sFormInit.style = WFORM_PLAIN; @@ -1513,9 +1511,7 @@ void addBackdrop(void) // //////////////////////////////////////////////////////////////////////////// void addTopForm(void) { - W_FORMINIT sFormInit; - - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = FRONTEND_TOPFORM; @@ -1552,8 +1548,7 @@ void addTopForm(void) // //////////////////////////////////////////////////////////////////////////// void addBottomForm(void) { - W_FORMINIT sFormInit; - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = FRONTEND_BOTFORM; @@ -1572,19 +1567,16 @@ void addBottomForm(void) // //////////////////////////////////////////////////////////////////////////// void addTextHint(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt) { - W_LABINIT sLabInit; - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = FRONTEND_BOTFORM; sLabInit.id = id; sLabInit.x = (short)PosX; sLabInit.y = (short)PosY; - sLabInit.style = WLAB_PLAIN; sLabInit.width = MULTIOP_READY_WIDTH; sLabInit.height = FRONTEND_BUTHEIGHT; sLabInit.pDisplay = displayText; - sLabInit.FontID = font_regular; sLabInit.pText = txt; widgAddLabel(psWScreen, &sLabInit); } @@ -1592,14 +1584,13 @@ void addTextHint(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt) // //////////////////////////////////////////////////////////////////////////// void addText(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt, UDWORD formID) { - W_LABINIT sLabInit; - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = formID; sLabInit.id = id; sLabInit.x = (short)PosX; sLabInit.y = (short)PosY; - sLabInit.style = (WLAB_PLAIN | WLAB_ALIGNCENTRE); + sLabInit.style = WLAB_ALIGNCENTRE; // Align sLabInit.width = MULTIOP_READY_WIDTH; @@ -1615,12 +1606,10 @@ void addText(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt, UDWORD formID // //////////////////////////////////////////////////////////////////////////// void addSideText(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt) { - W_LABINIT sLabInit; - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = FRONTEND_BACKDROP; sLabInit.id = id; - sLabInit.style = WLAB_PLAIN; sLabInit.x = (short) PosX; sLabInit.y = (short) PosY; sLabInit.width = 30; @@ -1636,14 +1625,12 @@ void addSideText(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt) // //////////////////////////////////////////////////////////////////////////// void addTextButton(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt, unsigned int style) { - W_BUTINIT sButInit; - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = FRONTEND_BOTFORM; sButInit.id = id; sButInit.x = (short)PosX; sButInit.y = (short)PosY; - sButInit.style = WBUT_PLAIN; // Align if ( !(style & WBUT_TXTCENTRE) ) @@ -1681,17 +1668,13 @@ void addTextButton(UDWORD id, UDWORD PosX, UDWORD PosY, const char *txt, unsign // //////////////////////////////////////////////////////////////////////////// void addFESlider(UDWORD id, UDWORD parent, UDWORD x, UDWORD y, UDWORD stops, UDWORD pos) { - W_SLDINIT sSldInit; - - memset(&sSldInit, 0, sizeof(W_SLDINIT)); + W_SLDINIT sSldInit; sSldInit.formID = parent; sSldInit.id = id; - sSldInit.style = WSLD_PLAIN; sSldInit.x = (short)x; sSldInit.y = (short)y; sSldInit.width = iV_GetImageWidth(IntImages,IMAGE_SLIDER_BIG); sSldInit.height = iV_GetImageHeight(IntImages,IMAGE_SLIDER_BIG); - sSldInit.orientation= WSLD_LEFT; sSldInit.numStops = (UBYTE) stops; sSldInit.barSize = iV_GetImageHeight(IntImages,IMAGE_SLIDER_BIG); sSldInit.pos = (UBYTE) pos; @@ -1702,17 +1685,13 @@ void addFESlider(UDWORD id, UDWORD parent, UDWORD x, UDWORD y, UDWORD stops, UDW void addFEAISlider(UDWORD id, UDWORD parent, UDWORD x, UDWORD y, UDWORD stops, UDWORD pos) { - W_SLDINIT sSldInit; - - memset(&sSldInit, 0, sizeof(W_SLDINIT)); + W_SLDINIT sSldInit; sSldInit.formID = parent; sSldInit.id = id; - sSldInit.style = WSLD_PLAIN; sSldInit.x = (short)x; sSldInit.y = (short)y; sSldInit.width = iV_GetImageWidth(IntImages,IMAGE_SLIDER_BIG); sSldInit.height = iV_GetImageHeight(IntImages,IMAGE_SLIDER_BIG); - sSldInit.orientation= WSLD_LEFT; sSldInit.numStops = (UBYTE) stops; sSldInit.barSize = iV_GetImageHeight(IntImages,IMAGE_SLIDER_BIG); sSldInit.pos = (UBYTE) pos; diff --git a/src/hci.cpp b/src/hci.cpp index 7fa96793a..0cac2a6e6 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -917,10 +917,6 @@ static BOOL intAddEdit(void) W_LABINIT sLabInit; W_BUTINIT sButInit; - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sLabInit, 0, sizeof(W_LABINIT)); - memset(&sButInit, 0, sizeof(W_BUTINIT)); - /* Add the edit form */ sFormInit.formID = 0; sFormInit.id = IDED_FORM; @@ -937,13 +933,11 @@ static BOOL intAddEdit(void) /* Add the Option screen label */ sLabInit.formID = IDED_FORM; sLabInit.id = IDED_LABEL; - sLabInit.style = WLAB_PLAIN; sLabInit.x = ED_GAP; sLabInit.y = ED_GAP; sLabInit.width = ED_WIDTH; sLabInit.height = ED_BUTHEIGHT; sLabInit.pText = "Edit"; - sLabInit.FontID = font_regular; if (!widgAddLabel(psWScreen, &sLabInit)) { return false; @@ -952,12 +946,10 @@ static BOOL intAddEdit(void) /* Add the close box */ sButInit.formID = IDED_FORM; sButInit.id = IDED_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = ED_WIDTH - ED_GAP - CLOSE_SIZE; sButInit.y = ED_GAP; sButInit.width = CLOSE_SIZE; sButInit.height = CLOSE_SIZE; - sButInit.FontID = font_regular; sButInit.pText = pCloseText; sButInit.pTip = _("Close"); if (!widgAddButton(psWScreen, &sButInit)) @@ -3425,13 +3417,12 @@ UWORD numForms(UDWORD total, UDWORD perForm) /* Add the reticule widgets to the widget screen */ BOOL intAddReticule(void) { - if(ReticuleUp == false) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; + if (!ReticuleUp) + { /* Create the basic form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDRET_FORM; sFormInit.style = WFORM_PLAIN; @@ -3448,18 +3439,17 @@ BOOL intAddReticule(void) /* Now add the buttons */ //set up default button data - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDRET_FORM; sButInit.id = IDRET_COMMAND; sButInit.width = RET_BUTWIDTH; sButInit.height = RET_BUTHEIGHT; - sButInit.FontID = font_regular; //add buttons as required... //options button - sButInit.style = WBUT_PLAIN; SetReticuleButPos(RETBUT_COMMAND,&sButInit); + sButInit.style = WBUT_PLAIN; sButInit.pTip = _("Commanders (F6)"); sButInit.pDisplay = intDisplayReticuleButton; sButInit.UserData = IMAGE_COMMANDDROID_UP; @@ -3470,7 +3460,7 @@ BOOL intAddReticule(void) } /* Intelligence Map button - this needs to respond to RMB as well*/ - sButInit.style = WBUT_PLAIN | WFORM_SECONDARY; + sButInit.style = WBUT_SECONDARY; sButInit.id = IDRET_INTEL_MAP; SetReticuleButPos(RETBUT_INTELMAP,&sButInit); sButInit.pTip = _("Intelligence Display (F5)"); @@ -3581,16 +3571,13 @@ void togglePowerBar(void) /* Add the power bars to the screen */ BOOL intAddPower(void) { - W_BARINIT sBarInit; - - memset(&sBarInit, 0, sizeof(W_BARINIT)); + W_BARINIT sBarInit; /* Add the trough bar */ sBarInit.formID = 0; //IDPOW_FORM; sBarInit.id = IDPOW_POWERBAR_T; //start the power bar off in view (default) sBarInit.style = WBAR_TROUGH; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = (SWORD)POW_X; sBarInit.y = (SWORD)POW_Y; sBarInit.width = POW_BARWIDTH; @@ -3628,11 +3615,6 @@ BOOL intAddOptions(void) UDWORD player; char aText[WIDG_MAXSTR]; - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sLabInit, 0, sizeof(W_LABINIT)); - memset(&sButInit, 0, sizeof(W_BUTINIT)); - memset(&sEdInit, 0, sizeof(W_EDBINIT)); - /* Add the option form */ sFormInit.formID = 0; @@ -3653,13 +3635,11 @@ BOOL intAddOptions(void) /* Add the Option screen label */ sLabInit.formID = IDOPT_FORM; sLabInit.id = IDOPT_LABEL; - sLabInit.style = WLAB_PLAIN; sLabInit.x = OPT_GAP; sLabInit.y = OPT_GAP; sLabInit.width = OPT_BUTWIDTH; sLabInit.height = OPT_BUTHEIGHT; sLabInit.pText = _("Options"); - sLabInit.FontID = font_regular; if (!widgAddLabel(psWScreen, &sLabInit)) { return false; @@ -3668,12 +3648,10 @@ BOOL intAddOptions(void) /* Add the close box */ sButInit.formID = IDOPT_FORM; sButInit.id = IDOPT_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = OPT_WIDTH - OPT_GAP - CLOSE_SIZE; sButInit.y = OPT_GAP; sButInit.width = CLOSE_SIZE; sButInit.height = CLOSE_SIZE; - sButInit.FontID = font_regular; sButInit.pText = pCloseText; sButInit.pTip = _("Close"); if (!widgAddButton(psWScreen, &sButInit)) @@ -3697,11 +3675,9 @@ BOOL intAddOptions(void) /* Add the map label */ sLabInit.formID = IDOPT_MAPFORM; sLabInit.id = IDOPT_MAPLABEL; - sLabInit.style = WLAB_PLAIN; sLabInit.x = OPT_GAP; sLabInit.y = OPT_GAP; sLabInit.pText = _("Map:"); - sLabInit.FontID = font_regular; if (!widgAddLabel(psWScreen, &sLabInit)) { return false; @@ -3743,14 +3719,12 @@ BOOL intAddOptions(void) newMapHeight = mapHeight; sEdInit.formID = IDOPT_MAPFORM; sEdInit.id = IDOPT_MAPWIDTH; - sEdInit.style = WEDB_PLAIN; sEdInit.x = OPT_GAP*2 + OPT_BUTWIDTH; sEdInit.y = OPT_GAP*2 + OPT_BUTHEIGHT; sEdInit.width = OPT_BUTWIDTH; sEdInit.height = OPT_BUTHEIGHT; sEdInit.pText = aText; sprintf(aText, "%d", mapWidth); - sEdInit.FontID = font_regular; if (!widgAddEditBox(psWScreen, &sEdInit)) { return false; @@ -3872,11 +3846,9 @@ BOOL intAddOptions(void) /* Add the player label */ sLabInit.formID = IDOPT_PLAYERFORM; sLabInit.id = IDOPT_PLAYERLABEL; - sLabInit.style = WLAB_PLAIN; sLabInit.x = OPT_GAP; sLabInit.y = OPT_GAP; sLabInit.pText = _("Current Player:"); - sLabInit.FontID = font_regular; if (!widgAddLabel(psWScreen, &sLabInit)) { return false; @@ -3885,12 +3857,10 @@ BOOL intAddOptions(void) /* Add the player buttons */ sButInit.formID = IDOPT_PLAYERFORM; sButInit.id = IDOPT_PLAYERSTART; - sButInit.style = WBUT_PLAIN; sButInit.x = OPT_GAP; sButInit.y = OPT_BUTHEIGHT + OPT_GAP*2; sButInit.width = OPT_BUTWIDTH; sButInit.height = OPT_BUTHEIGHT; - sButInit.FontID = font_regular; for(player = 0; player < MAX_PLAYERS; player++) { sButInit.pText = apPlayerText[player]; @@ -3926,11 +3896,9 @@ BOOL intAddOptions(void) /* Add iViS label */ sLabInit.formID = IDOPT_IVISFORM; sLabInit.id = IDOPT_IVISLABEL; - sLabInit.style = WLAB_PLAIN; sLabInit.x = OPT_GAP; sLabInit.y = OPT_GAP; sLabInit.pText = "iViS:"; - sLabInit.FontID = font_regular; if (!widgAddLabel(psWScreen, &sLabInit)) { return false; @@ -3943,7 +3911,6 @@ BOOL intAddOptions(void) sButInit.y = OPT_GAP; sButInit.width = OPT_BUTWIDTH; sButInit.height = OPT_BUTHEIGHT; - sButInit.FontID = font_regular; sButInit.pText = "Lighting"; sButInit.pTip = "Toggles lighting On/Off."; if (!widgAddButton(psWScreen, &sButInit)) @@ -3970,11 +3937,6 @@ BOOL intAddOptions(void) */ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,BOOL bForceStats) { - W_FORMINIT sFormInit; - W_FORMINIT sBFormInit,sBFormInit2; - W_BARINIT sBarInit; - W_BARINIT sBarInit2; - W_BUTINIT sButInit; UDWORD displayForm; UDWORD i, statID=0; SDWORD objLoop; @@ -3983,11 +3945,6 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B SDWORD BufferID; DROID *Droid; STRUCTURE *Structure; - W_LABINIT sLabInit; - W_LABINIT sLabIntObjText; - W_LABINIT sLabInitCmdExp; - W_LABINIT sLabInitCmdFac; - W_LABINIT sLabInitCmdFac2; BOOL IsFactory; BOOL Animate = true; UWORD FormX,FormY; @@ -4009,11 +3966,6 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B ClearObjectBuffers(); ClearTopicBuffers(); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); - memset(&sBFormInit2, 0, sizeof(W_FORMINIT)); - memset(&sBarInit, 0, sizeof(W_BARINIT)); - /* See how many objects the player has */ numObjects = 0; psFirst = NULL; @@ -4134,6 +4086,7 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B /* Create the basic form */ + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDOBJ_FORM; sFormInit.style = WFORM_PLAIN; @@ -4157,16 +4110,14 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B } /* Add the close button */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDOBJ_FORM; sButInit.id = IDOBJ_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = OBJ_BACKWIDTH - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) @@ -4176,7 +4127,7 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B /*add the tabbed form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDOBJ_FORM; sFormInit.id = IDOBJ_TABFORM; sFormInit.style = WFORM_TABBED; @@ -4219,6 +4170,7 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B objNumTabs = sFormInit.numMajor; /* Add the object and stats buttons */ + W_FORMINIT sBFormInit; sBFormInit.formID = IDOBJ_TABFORM; sBFormInit.id = IDOBJ_OBJSTART; sBFormInit.majorID = 0; @@ -4228,17 +4180,17 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B sBFormInit.y = OBJ_STARTY; sBFormInit.width = OBJ_BUTWIDTH; sBFormInit.height = OBJ_BUTHEIGHT; - memcpy(&sBFormInit2,&sBFormInit,sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit2 = sBFormInit; sBFormInit2.id = IDOBJ_STATSTART; sBFormInit2.y = OBJ_STATSTARTY; //right click on a Template will put the production on hold sBFormInit2.style = WFORM_CLICKABLE | WFORM_SECONDARY; // Action progress bar. + W_BARINIT sBarInit; sBarInit.formID = IDOBJ_OBJSTART; sBarInit.id = IDOBJ_PROGBARSTART; sBarInit.style = WBAR_TROUGH | WIDG_HIDDEN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = STAT_PROGBARX; sBarInit.y = STAT_PROGBARY; sBarInit.width = STAT_PROGBARWIDTH; @@ -4249,7 +4201,7 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B sBarInit.pTip = _("Progress Bar"); // object output bar ie manuf power o/p, research power o/p - memcpy(&sBarInit2,&sBarInit,sizeof(W_BARINIT)); + W_BARINIT sBarInit2 = sBarInit; sBarInit2.id = IDOBJ_POWERBARSTART; sBarInit2.style = WBAR_PLAIN; sBarInit2.x = STAT_POWERBARX; @@ -4258,55 +4210,50 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B // don't set the tip cos we haven't got a suitable text string at this point - 2/2/99 sBarInit2.pTip = NULL; - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.id = IDOBJ_COUNTSTART; - sLabInit.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInit.style = WIDG_HIDDEN; sLabInit.x = OBJ_TEXTX; sLabInit.y = OBJ_T1TEXTY; sLabInit.width = 16; sLabInit.height = 16; sLabInit.pText = "BUG! (a)"; - sLabInit.FontID = font_regular; - memset(&sLabInitCmdFac,0,sizeof(W_LABINIT)); + W_LABINIT sLabInitCmdFac; sLabInitCmdFac.id = IDOBJ_CMDFACSTART; - sLabInitCmdFac.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInitCmdFac.style = WIDG_HIDDEN; sLabInitCmdFac.x = OBJ_TEXTX; sLabInitCmdFac.y = OBJ_T2TEXTY; sLabInitCmdFac.width = 16; sLabInitCmdFac.height = 16; sLabInitCmdFac.pText = "BUG! (b)"; - sLabInitCmdFac.FontID = font_regular; - memset(&sLabInitCmdFac2,0,sizeof(W_LABINIT)); + W_LABINIT sLabInitCmdFac2; sLabInitCmdFac2.id = IDOBJ_CMDVTOLFACSTART; - sLabInitCmdFac2.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInitCmdFac2.style = WIDG_HIDDEN; sLabInitCmdFac2.x = OBJ_TEXTX; sLabInitCmdFac2.y = OBJ_T3TEXTY; sLabInitCmdFac2.width = 16; sLabInitCmdFac2.height = 16; sLabInitCmdFac2.pText = "BUG! (c)"; - sLabInitCmdFac2.FontID = font_regular; - memset(&sLabIntObjText,0,sizeof(W_LABINIT)); + W_LABINIT sLabIntObjText; sLabIntObjText.id = IDOBJ_FACTORYSTART; - sLabIntObjText.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabIntObjText.style = WIDG_HIDDEN; sLabIntObjText.x = OBJ_TEXTX; sLabIntObjText.y = OBJ_B1TEXTY; sLabIntObjText.width = 16; sLabIntObjText.height = 16; sLabIntObjText.pText = "xxx/xxx - overrun"; - sLabIntObjText.FontID = font_regular; - memset(&sLabInitCmdExp,0,sizeof(W_LABINIT)); + W_LABINIT sLabInitCmdExp; sLabInitCmdExp.id = IDOBJ_CMDEXPSTART; - sLabInitCmdExp.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInitCmdExp.style = WIDG_HIDDEN; sLabInitCmdExp.x = STAT_POWERBARX; sLabInitCmdExp.y = STAT_POWERBARY; sLabInitCmdExp.width = 16; sLabInitCmdExp.height = 16; sLabInitCmdExp.pText = "@@@@@ - overrun"; - sLabInitCmdExp.FontID = font_regular; displayForm = 0; for(i=0; i<(UDWORD)numObjects; i++) @@ -4929,9 +4876,6 @@ static BASE_OBJECT *intGetObject(UDWORD id) /* Reset the stats button for an object */ static void intSetStats(UDWORD id, BASE_STATS *psStats) { - W_FORMINIT sFormInit; - W_BARINIT sBarInit; - W_LABINIT sLabInit; UDWORD butPerForm, butPos; SDWORD BufferID; BASE_OBJECT *psObj; @@ -4939,9 +4883,7 @@ static void intSetStats(UDWORD id, BASE_STATS *psStats) /* Update the button on the object screen */ widgDelete(psWScreen, id); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - memset(&sBarInit, 0, sizeof(W_BARINIT)); - + W_FORMINIT sFormInit; sFormInit.formID = IDOBJ_TABFORM; butPerForm = (OBJ_WIDTH - OBJ_GAP) / (OBJ_BUTWIDTH + OBJ_GAP); sFormInit.majorID = (UWORD)((id - IDOBJ_STATSTART) / butPerForm); @@ -4955,10 +4897,10 @@ static void intSetStats(UDWORD id, BASE_STATS *psStats) sFormInit.height = OBJ_BUTHEIGHT; // Action progress bar. + W_BARINIT sBarInit; sBarInit.formID = id; sBarInit.id = (id - IDOBJ_STATSTART) + IDOBJ_PROGBARSTART; sBarInit.style = WBAR_TROUGH; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = STAT_PROGBARX; sBarInit.y = STAT_PROGBARY; sBarInit.width = STAT_PROGBARWIDTH; @@ -4971,16 +4913,15 @@ static void intSetStats(UDWORD id, BASE_STATS *psStats) sBarInit.pCallback = intUpdateProgressBar; sBarInit.pUserData = intGetObject(id); - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = id; sLabInit.id = (id - IDOBJ_STATSTART) + IDOBJ_COUNTSTART; - sLabInit.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInit.style = WIDG_HIDDEN; sLabInit.x = OBJ_TEXTX; sLabInit.y = OBJ_T1TEXTY; sLabInit.width = 16; sLabInit.height = 16; sLabInit.pText = "BUG! (d)"; - sLabInit.FontID = font_regular; if (psStats) { @@ -5047,15 +4988,10 @@ static void intSetStats(UDWORD id, BASE_STATS *psStats) static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, BASE_STATS *psSelected, BASE_OBJECT *psOwner) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - W_FORMINIT sBFormInit; - W_BARINIT sBarInit; UDWORD i, butPerForm, statForm; SDWORD BufferID; BASE_STATS *Stat; BOOL Animate = true; - W_LABINIT sLabInit; FACTORY *psFactory; // should this ever be called with psOwner == NULL? @@ -5092,7 +5028,7 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, /* Create the basic form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDSTAT_FORM; sFormInit.style = WFORM_PLAIN; @@ -5114,20 +5050,21 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, return false; } + W_LABINIT sLabInit; + // Add the quantity slider ( if it's a factory ). if(objMode == IOBJ_MANUFACTURE) { //add the Factory DP button - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDSTAT_FORM; sButInit.id = IDSTAT_DP_BUTTON; - sButInit.style = WBUT_PLAIN | WFORM_SECONDARY; + sButInit.style = WBUT_SECONDARY; sButInit.x = 4; sButInit.y = STAT_SLDY; sButInit.width = iV_GetImageWidth(IntImages,IMAGE_FDP_DOWN); sButInit.height = iV_GetImageHeight(IntImages,IMAGE_FDP_DOWN); sButInit.pTip = _("Factory Delivery Point"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayDPButton; sButInit.pUserData = psOwner; @@ -5137,16 +5074,15 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, } //add the Factory Loop button! - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = IDSTAT_FORM; sButInit.id = IDSTAT_LOOP_BUTTON; - sButInit.style = WBUT_PLAIN | WFORM_SECONDARY; + sButInit.style = WBUT_SECONDARY; sButInit.x = STAT_SLDX + STAT_SLDWIDTH + 2; sButInit.y = STAT_SLDY; sButInit.width = iV_GetImageWidth(IntImages,IMAGE_LOOP_DOWN); sButInit.height = iV_GetImageHeight(IntImages,IMAGE_LOOP_DOWN); sButInit.pTip = _("Loop Production"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayButtonPressed; sButInit.UserData = PACKDWORD_TRI(IMAGE_LOOP_DOWN, IMAGE_LOOP_HI, IMAGE_LOOP_UP); @@ -5165,15 +5101,13 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, } // create a text label for the loop quantity. - memset(&sLabInit,0,sizeof(W_LABINIT)); sLabInit.formID = IDSTAT_FORM; sLabInit.id = IDSTAT_LOOP_LABEL; - sLabInit.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInit.style = WIDG_HIDDEN; sLabInit.x = (UWORD)(sButInit.x - 15); sLabInit.y = sButInit.y; sLabInit.width = 12; sLabInit.height = 15; - sLabInit.FontID = font_regular; sLabInit.pUserData = psOwner; sLabInit.pCallback = intAddLoopQuantity; if (!widgAddLabel(psWScreen, &sLabInit)) @@ -5184,31 +5118,28 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, /* store the common values for the text labels for the quantity to produce (on each button).*/ - memset(&sLabInit,0,sizeof(W_LABINIT)); + sLabInit = W_LABINIT(); sLabInit.id = IDSTAT_PRODSTART; - sLabInit.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInit.style = WIDG_HIDDEN; sLabInit.x = STAT_BUTWIDTH-12; sLabInit.y = 2; sLabInit.width = 12; sLabInit.height = 15; - sLabInit.FontID = font_regular; sLabInit.pCallback = intAddProdQuantity; } /* Add the close button */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDSTAT_FORM; sButInit.id = IDSTAT_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = STAT_WIDTH - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) @@ -5224,33 +5155,29 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, if (numForms(numStats, butPerForm)> MAX_TAB_SMALL_SHOWN) //only want these buttons when tab count >8 { // Add the left tab scroll button - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = IDSTAT_FORM; sButInit.id = IDSTAT_TABSCRL_LEFT; - sButInit.style = WBUT_PLAIN; sButInit.x = STAT_TABFORMX + 4; sButInit.y = STAT_TABFORMY; sButInit.width = TABSCRL_WIDTH; sButInit.height = TABSCRL_HEIGHT; sButInit.pTip = _("Tab Scroll left"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0, IMAGE_LFTTABD, IMAGE_LFTTAB); if (!widgAddButton(psWScreen, &sButInit)) { - return false; + return false; } // Add the right tab scroll button - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = IDSTAT_FORM; sButInit.id = IDSTAT_TABSCRL_RIGHT; - sButInit.style = WBUT_PLAIN; sButInit.x = STAT_WIDTH - 14; sButInit.y = STAT_TABFORMY; sButInit.width = TABSCRL_WIDTH; sButInit.height = TABSCRL_HEIGHT; sButInit.pTip = _("Tab Scroll right"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0, IMAGE_RGTTABD, IMAGE_RGTTAB); if (!widgAddButton(psWScreen, &sButInit)) @@ -5260,7 +5187,7 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, } //==============buttons before tabbed form!========================== // Add the tabbed form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDSTAT_FORM; sFormInit.id = IDSTAT_TABFORM; sFormInit.style = WFORM_TABBED; @@ -5304,7 +5231,7 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, } /* Add the stat buttons */ - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit; sBFormInit.formID = IDSTAT_TABFORM; sBFormInit.majorID = 0; sBFormInit.minorID = 0; @@ -5315,10 +5242,8 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, sBFormInit.width = STAT_BUTWIDTH; sBFormInit.height = STAT_BUTHEIGHT; - memset(&sBarInit, 0, sizeof(W_BARINIT)); + W_BARINIT sBarInit; sBarInit.id = IDSTAT_TIMEBARSTART; - sBarInit.style = WBAR_PLAIN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = STAT_TIMEBARX; sBarInit.y = STAT_TIMEBARY; sBarInit.width = STAT_PROGBARWIDTH; @@ -5413,17 +5338,16 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, Stat->ref < REF_RESEARCH_START + REF_RANGE) // It's a Research topic. { //new icon in for groups - AB 12/01/99 - memset(&sLabInit,0,sizeof(W_LABINIT)); + sLabInit = W_LABINIT(); sLabInit.formID = sBFormInit.id ; sLabInit.id = IDSTAT_RESICONSTART+(sBFormInit.id - IDSTAT_START); - sLabInit.style = WLAB_PLAIN; sLabInit.x = STAT_BUTWIDTH - 16; sLabInit.y = 3; sLabInit.width = 12; sLabInit.height = 15; - sLabInit.pUserData = Stat; + sLabInit.pUserData = Stat; sLabInit.pDisplay = intDisplayResSubGroup; widgAddLabel(psWScreen, &sLabInit); @@ -5453,10 +5377,9 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, ) { // add a label. - memset(&sLabInit,0,sizeof(W_LABINIT)); + sLabInit = W_LABINIT(); sLabInit.formID = sBFormInit.id ; sLabInit.id = IDSTAT_ALLYSTART+(sBFormInit.id - IDSTAT_START); - sLabInit.style = WLAB_PLAIN; sLabInit.x = STAT_BUTWIDTH - 19; sLabInit.y = STAT_BUTHEIGHT - 19; sLabInit.width = 12; @@ -6214,11 +6137,10 @@ void forceHidePowerBar(void) /* Add the Proximity message buttons */ BOOL intAddProximityButton(PROXIMITY_DISPLAY *psProxDisp, UDWORD inc) { - W_FORMINIT sBFormInit; PROXIMITY_DISPLAY *psProxDisp2; UDWORD cnt; - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit; sBFormInit.formID = 0; sBFormInit.id = IDPROX_START + inc; //store the ID so we can detect which one has been clicked on diff --git a/src/ingameop.cpp b/src/ingameop.cpp index 37f4b8e53..79c286a8e 100644 --- a/src/ingameop.cpp +++ b/src/ingameop.cpp @@ -64,8 +64,6 @@ static BOOL addIGTextButton(UDWORD id, UWORD y, UWORD width, const char *string, { W_BUTINIT sButInit; - memset( &sButInit, 0, sizeof(W_BUTINIT) ); - //resume sButInit.formID = INTINGAMEOP; sButInit.id = id; @@ -77,7 +75,6 @@ static BOOL addIGTextButton(UDWORD id, UWORD y, UWORD width, const char *string, sButInit.width = width; sButInit.height = INTINGAMEOP_OP_H; - sButInit.FontID = font_regular; sButInit.pDisplay = displayTextOption; sButInit.pText = string; widgAddButton(psWScreen, &sButInit); @@ -87,9 +84,6 @@ static BOOL addIGTextButton(UDWORD id, UWORD y, UWORD width, const char *string, static BOOL addQuitOptions(void) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - if (widgGetFromID(psWScreen,INTINGAMEOP)) { widgDelete(psWScreen, INTINGAMEOP); // get rid of the old stuff. @@ -100,7 +94,7 @@ static BOOL addQuitOptions(void) widgDelete(psWScreen, INTINGAMEPOPUP); // get rid of the old stuff. } - memset(&sFormInit,0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; // add form sFormInit.formID = 0; sFormInit.id = INTINGAMEOP; @@ -127,10 +121,9 @@ static BOOL addQuitOptions(void) widgAddForm(psWScreen, &sFormInit); - memset( &sButInit, 0, sizeof(W_BUTINIT) ); + W_BUTINIT sButInit; sButInit.formID = INTINGAMEPOPUP; - sButInit.FontID = font_regular; sButInit.style = OPALIGN; sButInit.width = 600; sButInit.height = 10; @@ -149,14 +142,12 @@ static BOOL addQuitOptions(void) static BOOL addSlideOptions(void) { - W_FORMINIT sFormInit; - if (widgGetFromID(psWScreen,INTINGAMEOP)) { widgDelete(psWScreen, INTINGAMEOP); // get rid of the old stuff. } - memset(&sFormInit,0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; // add form sFormInit.formID = 0; @@ -209,10 +200,6 @@ static BOOL addSlideOptions(void) static BOOL _intAddInGameOptions(void) { -// UWORD WindowWidth; - W_FORMINIT sFormInit; - - audio_StopAll(); //clear out any mission widgets - timers etc that may be on the screen @@ -237,11 +224,7 @@ static BOOL _intAddInGameOptions(void) kf_TogglePauseMode(); } - - memset(&sFormInit,0, sizeof(W_FORMINIT)); - - - + W_FORMINIT sFormInit; sFormInit.width = INTINGAMEOP_W; // add form @@ -316,9 +299,6 @@ BOOL intAddInGameOptions(void) // void intAddInGamePopup(void) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - //clear out any mission widgets - timers etc that may be on the screen clearMissionWidgets(); setWidgetsStatus(true); @@ -333,7 +313,7 @@ void intAddInGamePopup(void) kf_TogglePauseMode(); // Pause the game. } - memset(&sFormInit,0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = INTINGAMEPOPUP; @@ -348,7 +328,7 @@ void intAddInGamePopup(void) widgAddForm(psWScreen, &sFormInit); // add the text "buttons" now - memset( &sButInit, 0, sizeof(W_BUTINIT) ); + W_BUTINIT sButInit; sButInit.formID = INTINGAMEPOPUP; sButInit.style = OPALIGN; diff --git a/src/intelmap.cpp b/src/intelmap.cpp index fd7f55a2c..6de4b6580 100644 --- a/src/intelmap.cpp +++ b/src/intelmap.cpp @@ -205,8 +205,6 @@ TEXT_DISPLAY currentTextDisplay; /* Add the Intelligence Map widgets to the widget screen */ BOOL intAddIntelMap(void) { - W_FORMINIT sFormInit; - W_LABINIT sLabInit; BOOL Animate = true; //check playCurrent with psCurrentMsg @@ -237,16 +235,14 @@ BOOL intAddIntelMap(void) { if(widgGetFromID(psWScreen,IDINTMAP_PAUSELABEL) == NULL) { - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.id = IDINTMAP_PAUSELABEL; sLabInit.formID = 0; - sLabInit.style = WLAB_PLAIN; sLabInit.x = INTMAP_LABELX; sLabInit.y = INTMAP_LABELY+PAUSEMESSAGE_YOFFSET; sLabInit.width = INTMAP_LABELWIDTH; sLabInit.height = INTMAP_LABELHEIGHT; sLabInit.pText = _("PAUSED"); - sLabInit.FontID = font_regular; if (!widgAddLabel(psWScreen, &sLabInit)) { return false; @@ -257,7 +253,7 @@ BOOL intAddIntelMap(void) //set pause states before putting the interface up setIntelligencePauseState(); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; // Add the main Intelligence Map form @@ -303,15 +299,13 @@ BOOL intAddIntelMap(void) /* Add the Message sub form */ static BOOL intAddMessageForm(BOOL playCurrent) { - W_FORMINIT sFormInit; - W_FORMINIT sBFormInit; UDWORD numButtons, i; MESSAGE *psMessage; RESEARCH *psResearch; SDWORD BufferID; /* Add the Message form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = IDINTMAP_FORM; sFormInit.id = IDINTMAP_MSGFORM; sFormInit.style = WFORM_TABBED; @@ -370,7 +364,7 @@ static BOOL intAddMessageForm(BOOL playCurrent) /* Add the message buttons */ - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit; sBFormInit.formID = IDINTMAP_MSGFORM; sBFormInit.id = IDINTMAP_MSGSTART; sBFormInit.majorID = 0; @@ -487,9 +481,6 @@ static BOOL intAddMessageForm(BOOL playCurrent) /*Add the 3D world view for the particular message (only research nmessages now) */ BOOL intAddMessageView(MESSAGE * psMessage) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - W_LABINIT sLabInit; BOOL Animate = true; RESEARCH *psResearch; @@ -505,7 +496,7 @@ BOOL intAddMessageView(MESSAGE * psMessage) } /* Add the base form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDINTMAP_MSGVIEW; sFormInit.style = WFORM_PLAIN; @@ -533,10 +524,9 @@ BOOL intAddMessageView(MESSAGE * psMessage) } /* Add the close box */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDINTMAP_MSGVIEW; sButInit.id = IDINTMAP_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = (SWORD)(sFormInit.width - OPT_GAP - CLOSE_SIZE); sButInit.y = OPT_GAP; sButInit.width = CLOSE_SIZE; @@ -552,14 +542,13 @@ BOOL intAddMessageView(MESSAGE * psMessage) if (psMessage->type != MSG_RESEARCH && ((VIEWDATA*)psMessage->pViewData)->type == VIEW_RPL) { - W_FORMINIT sTabForm; VIEW_REPLAY *psViewReplay; size_t i, cur_seq, cur_seqpage; psViewReplay = (VIEW_REPLAY *)((VIEWDATA *)psMessage->pViewData)->pData; /* Add a big tabbed text box for the subtitle text */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.id = IDINTMAP_SEQTEXT; sFormInit.formID = IDINTMAP_MSGVIEW; @@ -595,7 +584,7 @@ BOOL intAddMessageView(MESSAGE * psMessage) return false; } - memset(&sTabForm, 0, sizeof(W_FORMINIT)); + W_FORMINIT sTabForm; sTabForm.formID = IDINTMAP_SEQTEXT; sTabForm.id = IDINTMAP_SEQTEXTSTART; sTabForm.majorID = 0; @@ -622,10 +611,9 @@ BOOL intAddMessageView(MESSAGE * psMessage) } /*add the Label for the title box*/ - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.id = IDINTMAP_TITLELABEL; sLabInit.formID = IDINTMAP_MSGVIEW; - sLabInit.style = WLAB_PLAIN; sLabInit.x = INTMAP_TITLEX + TEXT_XINDENT; sLabInit.y = INTMAP_TITLEY + TEXT_YINDENT; sLabInit.width = INTMAP_TITLEWIDTH; @@ -649,7 +637,7 @@ BOOL intAddMessageView(MESSAGE * psMessage) /*Add the PIE box*/ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDINTMAP_MSGVIEW; sFormInit.id = IDINITMAP_PIEVIEW; sFormInit.style = WFORM_PLAIN; @@ -666,7 +654,7 @@ BOOL intAddMessageView(MESSAGE * psMessage) #ifndef NO_VIDEO /*Add the Flic box */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDINTMAP_MSGVIEW; sFormInit.id = IDINTMAP_FLICVIEW; sFormInit.style = WFORM_PLAIN; @@ -683,7 +671,7 @@ BOOL intAddMessageView(MESSAGE * psMessage) #endif /*Add the text box*/ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDINTMAP_MSGVIEW; diff --git a/src/intorder.cpp b/src/intorder.cpp index da1ea8607..c2d5cbe47 100644 --- a/src/intorder.cpp +++ b/src/intorder.cpp @@ -643,8 +643,6 @@ static UDWORD GetImageHeight(IMAGEFILE *ImageFile,UDWORD ImageID) //changed to a BASE_OBJECT to accomodate the factories - AB 21/04/99 BOOL intAddOrder(BASE_OBJECT *psObj) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; BOOL Animate = true; SECONDARY_STATE State; UWORD i,j;//,k; @@ -747,7 +745,7 @@ BOOL intAddOrder(BASE_OBJECT *psObj) /* Create the basic form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDORDER_FORM; sFormInit.style = WFORM_PLAIN; @@ -771,16 +769,14 @@ BOOL intAddOrder(BASE_OBJECT *psObj) // Add the close button. - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDORDER_FORM; sButInit.id = IDORDER_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = ORDER_WIDTH - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) @@ -789,12 +785,10 @@ BOOL intAddOrder(BASE_OBJECT *psObj) } - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = IDORDER_FORM; sButInit.id = IDORDER_CLOSE+1; - sButInit.style = WBUT_PLAIN; sButInit.pDisplay = intDisplayButtonHilight; - sButInit.FontID = font_regular; sButInit.y = ORDER_BUTY; Height = 0; diff --git a/src/keyedit.cpp b/src/keyedit.cpp index 405bead2d..5874c49b8 100644 --- a/src/keyedit.cpp +++ b/src/keyedit.cpp @@ -340,8 +340,6 @@ static void displayKeyMap(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_D // //////////////////////////////////////////////////////////////////////////// BOOL startKeyMapEditor(BOOL first) { - W_BUTINIT sButInit; - W_FORMINIT sFormInit; KEY_MAPPING *psMapping; UDWORD i,mapcount =0; UDWORD bubbleCount; @@ -355,7 +353,7 @@ BOOL startKeyMapEditor(BOOL first) { loadKeyMap(); // get the current mappings. } - memset(&sFormInit, 0, sizeof(W_FORMINIT)); // draw blue form... + W_FORMINIT sFormInit; sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = KM_FORM; sFormInit.style = WFORM_PLAIN; @@ -400,7 +398,7 @@ BOOL startKeyMapEditor(BOOL first) } // add tab form.. - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = KM_FORM; sFormInit.id = KM_FORM_TABS; sFormInit.style = WFORM_TABBED; @@ -426,9 +424,8 @@ BOOL startKeyMapEditor(BOOL first) widgAddForm(psWScreen, &sFormInit); //Put the buttons on it - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = KM_FORM_TABS; - sButInit.style = WFORM_PLAIN; sButInit.width = KM_ENTRYW; sButInit.height = KM_ENTRYH; sButInit.pDisplay = displayKeyMap; diff --git a/src/loadsave.cpp b/src/loadsave.cpp index 5bc40776c..de69f4e9a 100644 --- a/src/loadsave.cpp +++ b/src/loadsave.cpp @@ -151,9 +151,6 @@ BOOL bLoad; //***************************************************************************************** static BOOL _addLoadSave(BOOL bLoad, const char *sSearchPath, const char *sExtension, const char *title) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - W_LABINIT sLabInit; UDWORD slotCount; // removed hardcoded values! change with the defines above! -Q static char sSlotCaps[totalslots][totalslotspace]; @@ -202,7 +199,7 @@ static BOOL _addLoadSave(BOOL bLoad, const char *sSearchPath, const char *sExten widgSetTipFont(psRequestScreen,font_regular); /* add a form to place the tabbed form on */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; //this adds the blue background, and the "box" behind the buttons -Q sFormInit.id = LOADSAVE_FORM; sFormInit.style = WFORM_PLAIN; @@ -230,7 +227,7 @@ static BOOL _addLoadSave(BOOL bLoad, const char *sSearchPath, const char *sExten // Add Banner Label - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = LOADSAVE_BANNER; sLabInit.id = LOADSAVE_LABEL; sLabInit.style = WLAB_ALIGNCENTRE; @@ -239,12 +236,11 @@ static BOOL _addLoadSave(BOOL bLoad, const char *sSearchPath, const char *sExten sLabInit.width = LOADSAVE_W-(2*LOADSAVE_HGAP); //LOADSAVE_W; sLabInit.height = LOADSAVE_BANNER_DEPTH; //This looks right -Q sLabInit.pText = title; - sLabInit.FontID = font_regular; widgAddLabel(psRequestScreen, &sLabInit); // add cancel. - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = LOADSAVE_BANNER; sButInit.x = 8; sButInit.y = 8; @@ -255,18 +251,16 @@ static BOOL _addLoadSave(BOOL bLoad, const char *sSearchPath, const char *sExten sButInit.id = LOADSAVE_CANCEL; sButInit.style = WBUT_PLAIN; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; widgAddButton(psRequestScreen, &sButInit); // add slots - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = LOADSAVE_FORM; sButInit.style = WBUT_PLAIN; sButInit.width = LOADENTRY_W; sButInit.height = LOADENTRY_H; sButInit.pDisplay = displayLoadSlot; - sButInit.FontID = font_regular; for(slotCount = 0; slotCount< totalslots; slotCount++) { @@ -432,7 +426,6 @@ void deleteSaveGame(char* saveGameName) BOOL runLoadSave(BOOL bResetMissionWidgets) { UDWORD id=0; - W_EDBINIT sEdInit; static char sDelete[PATH_MAX]; UDWORD i, campaign; W_CONTEXT context; @@ -470,16 +463,14 @@ BOOL runLoadSave(BOOL bResetMissionWidgets) if( ! widgGetFromID(psRequestScreen,SAVEENTRY_EDIT)) { // add blank box. - memset(&sEdInit, 0, sizeof(W_EDBINIT)); + W_EDBINIT sEdInit; sEdInit.formID= LOADSAVE_FORM; sEdInit.id = SAVEENTRY_EDIT; - sEdInit.style = WEDB_PLAIN; sEdInit.x = widgGetFromID(psRequestScreen,id)->x; sEdInit.y = widgGetFromID(psRequestScreen,id)->y; sEdInit.width = widgGetFromID(psRequestScreen,id)->width; sEdInit.height= widgGetFromID(psRequestScreen,id)->height; sEdInit.pText = ((W_BUTTON *)widgGetFromID(psRequestScreen,id))->pText; - sEdInit.FontID= font_regular; sEdInit.pBoxDisplay = displayLoadSaveEdit; widgAddEditBox(psRequestScreen, &sEdInit); diff --git a/src/mission.cpp b/src/mission.cpp index caa4b83ae..b0f8fe016 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -2008,9 +2008,6 @@ void missionMoveTransporterOffWorld( DROID *psTransporter ) //add the Mission timer into the top right hand corner of the screen BOOL intAddMissionTimer(void) { - W_FORMINIT sFormInit; - W_LABINIT sLabInit; - //check to see if it exists already if (widgGetFromID(psWScreen,IDTIMER_FORM) != NULL) { @@ -2018,7 +2015,7 @@ BOOL intAddMissionTimer(void) } // Add the background - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDTIMER_FORM; @@ -2037,7 +2034,7 @@ BOOL intAddMissionTimer(void) } //add labels for the time display - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = IDTIMER_FORM; sLabInit.id = IDTIMER_DISPLAY; sLabInit.style = WLAB_PLAIN | WIDG_HIDDEN; @@ -2046,7 +2043,6 @@ BOOL intAddMissionTimer(void) sLabInit.width = sFormInit.width;//TIMER_WIDTH; sLabInit.height = sFormInit.height;//TIMER_HEIGHT; sLabInit.pText = "00:00:00"; - sLabInit.FontID = font_regular; sLabInit.pCallback = intUpdateMissionTimer; if (!widgAddLabel(psWScreen, &sLabInit)) @@ -2060,10 +2056,6 @@ BOOL intAddMissionTimer(void) //add the Transporter timer into the top left hand corner of the screen BOOL intAddTransporterTimer(void) { - - W_FORMINIT sFormInit; - W_LABINIT sLabInit; - // Make sure that Transporter Launch button isn't up as well intRemoveTransporterLaunch(); @@ -2074,7 +2066,7 @@ BOOL intAddTransporterTimer(void) } // Add the button form - clickable - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDTRANTIMER_BUTTON; sFormInit.style = WFORM_CLICKABLE | WFORM_NOCLICKMOVE; @@ -2092,15 +2084,14 @@ BOOL intAddTransporterTimer(void) } //add labels for the time display - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = IDTRANTIMER_BUTTON; sLabInit.id = IDTRANTIMER_DISPLAY; - sLabInit.style = WLAB_PLAIN | WIDG_HIDDEN; + sLabInit.style = WIDG_HIDDEN; sLabInit.x = TRAN_TIMER_X; sLabInit.y = TRAN_TIMER_Y; sLabInit.width = TRAN_TIMER_WIDTH; sLabInit.height = sFormInit.height; - sLabInit.FontID = font_regular; sLabInit.pCallback = intUpdateTransporterTimer; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -2108,16 +2099,14 @@ BOOL intAddTransporterTimer(void) } //add the capacity label - memset(&sLabInit,0,sizeof(W_LABINIT)); + sLabInit = W_LABINIT(); sLabInit.formID = IDTRANTIMER_BUTTON; sLabInit.id = IDTRANS_CAPACITY; - sLabInit.style = WLAB_PLAIN; sLabInit.x = 65; sLabInit.y = 1; sLabInit.width = 16; sLabInit.height = 16; sLabInit.pText = "00/10"; - sLabInit.FontID = font_regular; sLabInit.pCallback = intUpdateTransCapacity; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -2402,13 +2391,9 @@ static void missionResetInGameState( void ) static BOOL _intAddMissionResult(BOOL result, BOOL bPlaySuccess) { - W_FORMINIT sFormInit; - W_LABINIT sLabInit; - W_BUTINIT sButInit; - missionResetInGameState(); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; // add some funky beats cdAudio_PlayTrack(SONG_FRONTEND); @@ -2462,10 +2447,10 @@ static BOOL _intAddMissionResult(BOOL result, BOOL bPlaySuccess) } // description of success/fail - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = IDMISSIONRES_TITLE; sLabInit.id = IDMISSIONRES_TXT; - sLabInit.style = WLAB_PLAIN | WLAB_ALIGNCENTRE; + sLabInit.style = WLAB_ALIGNCENTRE; sLabInit.x = 0; sLabInit.y = 12; sLabInit.width = MISSIONRES_TITLE_W; @@ -2490,12 +2475,11 @@ static BOOL _intAddMissionResult(BOOL result, BOOL bPlaySuccess) return false; } // options. - memset(&sButInit,0,sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDMISSIONRES_FORM; - sButInit.style = WBUT_PLAIN | WBUT_TXTCENTRE; + sButInit.style = WBUT_TXTCENTRE; sButInit.width = MISSION_TEXT_W; sButInit.height = MISSION_TEXT_H; - sButInit.FontID = font_regular; sButInit.pTip = NULL; sButInit.pDisplay = displayTextOption; // If won or in debug mode @@ -2641,8 +2625,6 @@ static void missionContineButtonPressed( void ) void intProcessMissionResult(UDWORD id) { - W_BUTINIT sButInit; - switch(id) { case IDMISSIONRES_LOAD: @@ -2655,13 +2637,11 @@ void intProcessMissionResult(UDWORD id) if (widgGetFromID(psWScreen, IDMISSIONRES_QUIT) == NULL) { //Add Quit Button now save has been pressed - memset(&sButInit,0,sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDMISSIONRES_FORM; - sButInit.style = WBUT_PLAIN | WBUT_TXTCENTRE; + sButInit.style = WBUT_TXTCENTRE; sButInit.width = MISSION_TEXT_W; sButInit.height = MISSION_TEXT_H; - sButInit.FontID = font_regular; - sButInit.pTip = NULL; sButInit.pDisplay = displayTextOption; sButInit.id = IDMISSIONRES_QUIT; sButInit.x = MISSION_3_X; diff --git a/src/multiint.cpp b/src/multiint.cpp index f6c415568..690541b63 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -406,15 +406,10 @@ static void decideWRF(void) static BOOL OptionsInet(void) //internet options { - W_EDBINIT sEdInit; - W_FORMINIT sFormInit; - W_LABINIT sLabInit; - W_CONTEXT sContext; - psConScreen = widgCreateScreen(); widgSetTipFont(psConScreen,font_regular); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); //Connection Settings + W_FORMINIT sFormInit; //Connection Settings sFormInit.formID = 0; sFormInit.id = CON_SETTINGS; sFormInit.style = WFORM_PLAIN; @@ -431,7 +426,7 @@ static BOOL OptionsInet(void) //internet options _("Cancel"),IMAGE_NO,IMAGE_NO,true); //label. - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = CON_SETTINGS; sLabInit.id = CON_SETTINGS_LABEL; sLabInit.style = WLAB_ALIGNCENTRE; @@ -440,20 +435,17 @@ static BOOL OptionsInet(void) //internet options sLabInit.width = CON_SETTINGSWIDTH; sLabInit.height = 20; sLabInit.pText = _("IP Address or Machine Name"); - sLabInit.FontID = font_regular; widgAddLabel(psConScreen, &sLabInit); - memset(&sEdInit, 0, sizeof(W_EDBINIT)); // address + W_EDBINIT sEdInit; // address sEdInit.formID = CON_SETTINGS; sEdInit.id = CON_IP; - sEdInit.style = WEDB_PLAIN; sEdInit.x = CON_IPX; sEdInit.y = CON_IPY; sEdInit.width = CON_NAMEBOXWIDTH; sEdInit.height = CON_NAMEBOXHEIGHT; sEdInit.pText = ""; //_("IP Address or Machine Name"); - sEdInit.FontID = font_regular; // sEdInit.pUserData = (void*)PACKDWORD_TRI(0,IMAGE_DES_EDITBOXLEFTH , IMAGE_DES_EDITBOXLEFT); // sEdInit.pBoxDisplay = intDisplayButtonHilight; sEdInit.pBoxDisplay = intDisplayEditBox; @@ -462,6 +454,7 @@ static BOOL OptionsInet(void) //internet options return false; } // auto click in the text box + W_CONTEXT sContext; sContext.psScreen = psConScreen; sContext.psForm = (W_FORM *)psConScreen->psForm; sContext.xOffset = 0; @@ -597,7 +590,6 @@ void setLobbyError (LOBBY_ERROR_TYPES error_type) static void addGames(void) { UDWORD i,gcount=0; - W_BUTINIT sButInit; static const char *wrongVersionTip = "Your version of Warzone is incompatible with this game."; static const char *badModTip = "Your loaded mods are incompatible with this game. (Check mods/autoload/?)"; @@ -609,12 +601,10 @@ static void addGames(void) gcount++; } } - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = FRONTEND_BOTFORM; - sButInit.style = WBUT_PLAIN; sButInit.width = GAMES_GAMEWIDTH; sButInit.height = GAMES_GAMEHEIGHT; - sButInit.FontID = font_regular; sButInit.pDisplay = displayRemoteGame; // we want the old games deleted, and only list games when we should @@ -723,12 +713,12 @@ static void addGames(void) // delete old widget if necessary widgDelete(psWScreen,FRONTEND_NOGAMESAVAILABLE); - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = FRONTEND_BOTFORM; sButInit.id = FRONTEND_NOGAMESAVAILABLE; sButInit.x = 70; sButInit.y = 50; - sButInit.style = WBUT_PLAIN | WBUT_TXTCENTRE; + sButInit.style = WBUT_TXTCENTRE; sButInit.width = FRONTEND_BUTWIDTH; sButInit.UserData = 0; // store disable state sButInit.height = FRONTEND_BUTHEIGHT; @@ -901,14 +891,10 @@ static void showPasswordLabel( WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, // This is what starts the lobby screen void startGameFind(void) { - W_FORMINIT sFormInit; - W_EDBINIT sEdInit; - W_LABINIT sLabInit; - addBackdrop(); //background image // draws the background of the games listed - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = FRONTEND_BOTFORM; sFormInit.style = WFORM_PLAIN; @@ -941,7 +927,7 @@ void startGameFind(void) // Password stuff. Hidden by default. // password label. - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = FRONTEND_BACKDROP; sLabInit.id = CON_PASSWORD_LABEL; sLabInit.style = WLAB_ALIGNCENTRE; @@ -950,21 +936,18 @@ void startGameFind(void) sLabInit.width = CON_SETTINGSWIDTH; sLabInit.height = 20; sLabInit.pText = _("Enter Password:"); - sLabInit.FontID = font_regular; sLabInit.pDisplay = showPasswordLabel; widgAddLabel(psWScreen, &sLabInit); // and finally draw the password entry box - memset(&sEdInit, 0, sizeof(W_EDBINIT)); + W_EDBINIT sEdInit; sEdInit.formID = FRONTEND_BACKDROP; sEdInit.id = CON_PASSWORD; - sEdInit.style = WEDB_PLAIN; sEdInit.x = 180; sEdInit.y = 200; sEdInit.width = 280; sEdInit.height = 20; sEdInit.pText = ""; - sEdInit.FontID = font_regular; sEdInit.pBoxDisplay = displayPasswordEditBox; widgAddEditBox(psWScreen, &sEdInit); @@ -975,7 +958,7 @@ void startGameFind(void) _("Cancel"),IMAGE_NO,IMAGE_NO,true); // draws the background of the password box - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = FRONTEND_PASSWORDFORM; sFormInit.style = WFORM_PLAIN; @@ -1051,10 +1034,7 @@ static void showPasswordForm(void) static void addBlueForm(UDWORD parent,UDWORD id, const char *txt,UDWORD x,UDWORD y,UDWORD w,UDWORD h) { - W_FORMINIT sFormInit; - W_LABINIT sLabInit; - - memset(&sFormInit, 0, sizeof(W_FORMINIT)); // draw options box. + W_FORMINIT sFormInit; // draw options box. sFormInit.formID= parent; sFormInit.id = id; sFormInit.x =(UWORD) x; @@ -1067,17 +1047,15 @@ static void addBlueForm(UDWORD parent,UDWORD id, const char *txt,UDWORD x,UDWORD if(strlen(txt)>0) { - memset(&sLabInit, 0, sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = id; sLabInit.id = id+1; - sLabInit.style = WLAB_PLAIN; sLabInit.x = 3; sLabInit.y = 4; sLabInit.width = 80; sLabInit.height = 20; sLabInit.pText = txt; // sLabInit.pDisplay = displayFeText; - sLabInit.FontID = font_regular; widgAddLabel(psWScreen, &sLabInit); } return; @@ -1121,14 +1099,12 @@ void updateLimitFlags() // need to check for side effects. static void addGameOptions(BOOL bRedo) { - W_FORMINIT sFormInit; - widgDelete(psWScreen,MULTIOP_OPTIONS); // clear options list widgDelete(psWScreen,FRONTEND_SIDETEXT3); // del text.. iV_SetFont(font_regular); - memset(&sFormInit, 0, sizeof(W_FORMINIT)); // draw options box. + W_FORMINIT sFormInit; // draw options box. sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = MULTIOP_OPTIONS; sFormInit.x = MULTIOP_OPTIONSX; @@ -1884,8 +1860,6 @@ static bool canChooseTeamFor(int i) UDWORD addPlayerBox(BOOL players) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; UDWORD i=0; // if background isn't there, then return since were not ready to draw the box yet! @@ -1897,7 +1871,7 @@ UDWORD addPlayerBox(BOOL players) widgDelete(psWScreen,MULTIOP_PLAYERS); // del player window widgDelete(psWScreen,FRONTEND_SIDETEXT2); // del text too, - memset(&sFormInit, 0, sizeof(W_FORMINIT)); // draw player window + W_FORMINIT sFormInit; // draw player window sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = MULTIOP_PLAYERS; sFormInit.x = MULTIOP_PLAYERSX; @@ -1952,10 +1926,9 @@ UDWORD addPlayerBox(BOOL players) if(ingame.localOptionsReceived) { //add team chooser - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = MULTIOP_PLAYERS; sButInit.id = MULTIOP_TEAMS_START+i; - sButInit.style = WBUT_PLAIN; sButInit.x = 7; sButInit.y = (UWORD)(( (MULTIOP_TEAMSHEIGHT+5)*NetPlay.players[i].position)+4); sButInit.width = MULTIOP_TEAMSWIDTH; @@ -1968,7 +1941,6 @@ UDWORD addPlayerBox(BOOL players) { sButInit.pTip = NULL; } - sButInit.FontID = font_regular; sButInit.pDisplay = displayTeamChooser; sButInit.UserData = i; @@ -1992,10 +1964,9 @@ UDWORD addPlayerBox(BOOL players) } // draw player info box - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = MULTIOP_PLAYERS; sButInit.id = MULTIOP_PLAYER_START+i; - sButInit.style = WBUT_PLAIN; sButInit.x = 7 + MULTIOP_TEAMSWIDTH; sButInit.y = (UWORD)(( (MULTIOP_PLAYERHEIGHT+5)*NetPlay.players[i].position)+4); sButInit.width = MULTIOP_PLAYERWIDTH - MULTIOP_TEAMSWIDTH - MULTIOP_READY_WIDTH; @@ -2008,7 +1979,6 @@ UDWORD addPlayerBox(BOOL players) { sButInit.pTip = NULL; } - sButInit.FontID = font_regular; sButInit.pDisplay = displayPlayer; sButInit.UserData = i; @@ -2023,7 +1993,7 @@ UDWORD addPlayerBox(BOOL players) } else // AI player { - memset(&sFormInit, 0, sizeof(W_BUTINIT)); + sFormInit = W_FORMINIT(); // This used to be an buggy memset using sizeof(W_BUTINIT)... sFormInit.formID = MULTIOP_PLAYERS; sFormInit.id = MULTIOP_PLAYER_START+i; sFormInit.style = WBUT_PLAIN; @@ -2086,9 +2056,6 @@ void kickPlayer(uint32_t player_id, const char *reason, LOBBY_ERROR_TYPES type) static void addChatBox(void) { - W_FORMINIT sFormInit; - W_EDBINIT sEdInit; - if(widgGetFromID(psWScreen,FRONTEND_TOPFORM)) { widgDelete(psWScreen,FRONTEND_TOPFORM); @@ -2099,7 +2066,7 @@ static void addChatBox(void) return; } - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = FRONTEND_BACKDROP; // add the form sFormInit.id = MULTIOP_CHATBOX; @@ -2123,15 +2090,13 @@ static void addChatBox(void) setConsolePermanence(true,true); setConsoleLineInfo(5); // use x lines on chat window - memset(&sEdInit, 0, sizeof(W_EDBINIT)); // add the edit box + W_EDBINIT sEdInit; // add the edit box sEdInit.formID = MULTIOP_CHATBOX; sEdInit.id = MULTIOP_CHATEDIT; sEdInit.x = MULTIOP_CHATEDITX; sEdInit.y = MULTIOP_CHATEDITY; - sEdInit.style = WEDB_PLAIN; sEdInit.width = MULTIOP_CHATEDITW; sEdInit.height = MULTIOP_CHATEDITH; - sEdInit.FontID = font_regular; sEdInit.pUserData = NULL; sEdInit.pBoxDisplay = displayChatEdit; @@ -3929,18 +3894,14 @@ void displayMultiBut(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT static BOOL addMultiEditBox(UDWORD formid, UDWORD id, UDWORD x, UDWORD y, char const *tip, char const *tipres, UDWORD icon, UDWORD iconhi, UDWORD iconid) { - W_EDBINIT sEdInit; - - memset(&sEdInit, 0, sizeof(W_EDBINIT)); // editbox + W_EDBINIT sEdInit; // editbox sEdInit.formID = formid; sEdInit.id = id; - sEdInit.style = WEDB_PLAIN; sEdInit.x = (short)x; sEdInit.y = (short)y; sEdInit.width = MULTIOP_EDITBOXW; sEdInit.height = MULTIOP_EDITBOXH; sEdInit.pText = tipres; - sEdInit.FontID = font_regular; sEdInit.pBoxDisplay = displayMultiEditBox; if (!widgAddEditBox(psWScreen, &sEdInit)) { @@ -3955,18 +3916,14 @@ static BOOL addMultiEditBox(UDWORD formid, UDWORD id, UDWORD x, UDWORD y, char c BOOL addMultiBut(W_SCREEN *screen, UDWORD formid, UDWORD id, UDWORD x, UDWORD y, UDWORD width, UDWORD height, const char* tipres, UDWORD norm, UDWORD down, UDWORD hi) { - W_BUTINIT sButInit; - - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = formid; sButInit.id = id; - sButInit.style = WFORM_PLAIN; sButInit.x = (short) x; sButInit.y = (short) y; sButInit.width = (unsigned short) width; sButInit.height= (unsigned short) height; sButInit.pTip = tipres; - sButInit.FontID = font_regular; sButInit.pDisplay = displayMultiBut; sButInit.UserData = PACKDWORD_TRI(norm, down, hi); diff --git a/src/multilimit.cpp b/src/multilimit.cpp index fc7b1243b..dff3b368d 100644 --- a/src/multilimit.cpp +++ b/src/multilimit.cpp @@ -114,8 +114,6 @@ static inline void freeLimitSet(void) // //////////////////////////////////////////////////////////////////////////// BOOL startLimitScreen(void) { - W_FORMINIT sButInit; - W_FORMINIT sFormInit; UDWORD numButtons = 0; UDWORD i; @@ -166,7 +164,7 @@ BOOL startLimitScreen(void) addSideText(FRONTEND_SIDETEXT1,LIMITSX-2,LIMITSY,"LIMITS"); // draw sidetext... - memset(&sFormInit, 0, sizeof(W_FORMINIT)); // draw blue form... + W_FORMINIT sFormInit; sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = IDLIMITS; sFormInit.style = WFORM_PLAIN; @@ -205,7 +203,7 @@ BOOL startLimitScreen(void) if(numButtons >(4*BUTPERFORM)) numButtons =(4*BUTPERFORM); // add tab form.. - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDLIMITS; sFormInit.id = IDLIMITS_TABS; sFormInit.style = WFORM_TABBED; @@ -231,7 +229,7 @@ BOOL startLimitScreen(void) widgAddForm(psWScreen, &sFormInit); //Put the buttons on it - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_FORMINIT sButInit; sButInit.formID = IDLIMITS_TABS;//IDLIMITS; sButInit.style = WFORM_PLAIN; sButInit.width = BARWIDTH; diff --git a/src/multimenu.cpp b/src/multimenu.cpp index 448b56a6e..2eec16e98 100644 --- a/src/multimenu.cpp +++ b/src/multimenu.cpp @@ -360,8 +360,6 @@ static unsigned int check_tip_index(unsigned int i) { */ void addMultiRequest(const char* searchDir, const char* fileExtension, UDWORD mode, UBYTE mapCam, UBYTE numPlayers) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; UDWORD players; char** fileList; char** currFile; @@ -424,7 +422,7 @@ void addMultiRequest(const char* searchDir, const char* fileExtension, UDWORD mo (R_BUT_H+ 4)); /* add a form to place the tabbed form on */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = M_REQUEST; sFormInit.style = WFORM_PLAIN; @@ -437,7 +435,7 @@ void addMultiRequest(const char* searchDir, const char* fileExtension, UDWORD mo widgAddForm(psRScreen, &sFormInit); /* Add the tabs */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = M_REQUEST; sFormInit.id = M_REQUEST_TAB; sFormInit.style = WFORM_TABBED; @@ -474,32 +472,28 @@ void addMultiRequest(const char* searchDir, const char* fileExtension, UDWORD mo widgAddForm(psRScreen, &sFormInit); // Add the close button. - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = M_REQUEST; sButInit.id = M_REQUEST_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = M_REQUEST_W - CLOSE_WIDTH - 3; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); widgAddButton(psRScreen, &sButInit); /* Put the buttons on it *//* Set up the button struct */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = M_REQUEST_TAB; sButInit.id = M_REQUEST_BUT; - sButInit.style = WBUT_PLAIN; sButInit.x = buttonsX; sButInit.y = 4; sButInit.width = R_BUT_W; sButInit.height = R_BUT_H; sButInit.pUserData = NULL; sButInit.pDisplay = displayRequestOption; - sButInit.FontID = font_regular; for (currFile = fileList, count = 0; *currFile != NULL && count < (butPerForm * 4); ++currFile) { @@ -602,16 +596,14 @@ void addMultiRequest(const char* searchDir, const char* fileExtension, UDWORD mo // if it's map select then add the cam style buttons. if(mode == MULTIOP_MAP) { - memset(&sButInit, 0, sizeof(W_BUTINIT)); + sButInit = W_BUTINIT(); sButInit.formID = M_REQUEST_TAB; sButInit.id = M_REQUEST_C1; - sButInit.style = WBUT_PLAIN; sButInit.x = 1; sButInit.y = 252; sButInit.width = 17; sButInit.height = 17; sButInit.UserData = 1; - sButInit.FontID = font_regular; sButInit.pTip = _("Technology level 1"); sButInit.pDisplay = displayCamTypeBut; @@ -1146,13 +1138,11 @@ static void displayChannelState(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset static void addMultiPlayer(UDWORD player,UDWORD pos) { UDWORD y,id; - W_BUTINIT sButInit; - W_FORMINIT sFormInit; y = MULTIMENU_PLAYER_H*(pos+1); // this is the top of the pos. id = MULTIMENU_PLAYER+player; // add the whole thing. - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = MULTIMENU_FORM; sFormInit.id = id; sFormInit.style = WFORM_PLAIN; @@ -1170,17 +1160,16 @@ static void addMultiPlayer(UDWORD player,UDWORD pos) //ping //ALL DONE IN THE DISPLAY FUNC. + W_BUTINIT sButInit; + // add channel opener. if(player != selectedPlayer) { - memset(&sButInit, 0, sizeof(W_BUTINIT)); sButInit.formID = id; - sButInit.style = WBUT_PLAIN; sButInit.x = MULTIMENU_C0; sButInit.y = 5; sButInit.width = 35; sButInit.height = 24; - sButInit.FontID = font_regular; sButInit.id = MULTIMENU_CHANNEL + player; sButInit.pTip = _("Channel"); sButInit.pDisplay = displayChannelState; @@ -1195,7 +1184,6 @@ static void addMultiPlayer(UDWORD player,UDWORD pos) sButInit.y = 5; sButInit.width = 35; sButInit.height = 24; - sButInit.FontID = font_regular; sButInit.id = MULTIMENU_ALLIANCE_BASE + player; sButInit.pTip = _("Toggle Alliance State"); sButInit.pDisplay = displayAllianceState; @@ -1278,7 +1266,6 @@ void intCloseDebugMenuNoAnim(void) */ BOOL addDebugMenu(BOOL bAdd) { - W_FORMINIT sFormInit; UDWORD i,pos = 0,formHeight=0; /* Close */ @@ -1299,7 +1286,7 @@ BOOL addDebugMenu(BOOL bAdd) } // add form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = DEBUGMENU; sFormInit.style = WFORM_PLAIN; @@ -1322,7 +1309,7 @@ BOOL addDebugMenu(BOOL bAdd) if(strcmp(debugMenuEntry[i],"")) { // add form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = DEBUGMENU; sFormInit.id = DEBUGMENU_CLOSE + pos + 1; sFormInit.style = WFORM_PLAIN; @@ -1339,7 +1326,7 @@ BOOL addDebugMenu(BOOL bAdd) } // Add the close button. - /* memset(&sButInit, 0, sizeof(W_BUTINIT)); + /* sButInit.formID = DEBUGMENU; sButInit.id = DEBUGMENU_CLOSE; sButInit.style = WBUT_PLAIN; @@ -1363,8 +1350,6 @@ BOOL addDebugMenu(BOOL bAdd) BOOL intAddMultiMenu(void) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; UDWORD i; //check for already open. @@ -1380,7 +1365,7 @@ BOOL intAddMultiMenu(void) } // add form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = MULTIMENU_FORM; sFormInit.style = WFORM_PLAIN; @@ -1406,16 +1391,14 @@ BOOL intAddMultiMenu(void) } // Add the close button. - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = MULTIMENU_FORM; sButInit.id = MULTIMENU_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = MULTIMENU_FORM_W - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) diff --git a/src/projectile.cpp b/src/projectile.cpp index 8316963df..70d8fda92 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -852,7 +852,6 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) WEAPON asWeap; // Determine position to fire a missile at Vector3i newDest = psProj->src + move * distanceExtensionFactor/100; - memset(&asWeap, 0, sizeof(asWeap)); asWeap.nStat = psStats - asWeaponStats; ASSERT(distanceExtensionFactor != 0, "Unitialized variable used! distanceExtensionFactor is not initialized."); diff --git a/src/structure.cpp b/src/structure.cpp index 47fe2ac75..00e76d1b2 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -1805,21 +1805,14 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y psBuilding->psTarget[i] = NULL; psBuilding->targetOrigin[i] = ORIGIN_UNKNOWN; } - psBuilding->bTargetted = false; - - psBuilding->lastEmission = 0; - psBuilding->timeLastHit = 0; - psBuilding->lastHitWeapon = WSC_NUM_WEAPON_SUBCLASSES; // no such weapon psBuilding->inFire = 0; psBuilding->burnStart = 0; psBuilding->burnDamage = 0; - psBuilding->selected = false; psBuilding->status = SS_BEING_BUILT; psBuilding->currentBuildPts = 0; psBuilding->currentPowerAccrued = 0; - psBuilding->cluster = 0; alignStructure(psBuilding); @@ -2162,9 +2155,6 @@ STRUCTURE *buildBlueprint(STRUCTURE_STATS *psStats, int32_t x, int32_t y, uint16 blueprint->rot.roll = 0; blueprint->selected = false; - blueprint->timeLastHit = 0; - blueprint->lastHitWeapon = WSC_NUM_WEAPON_SUBCLASSES; // Noone attacked the blueprint. Do not render special effects. - blueprint->numWeaps = 0; blueprint->asWeaps[0].nStat = 0; diff --git a/src/transporter.cpp b/src/transporter.cpp index 56aa8e15a..88865ce97 100644 --- a/src/transporter.cpp +++ b/src/transporter.cpp @@ -212,8 +212,6 @@ BOOL intAddTransporter(DROID *psSelected, BOOL offWorld) /*Add the Transporter Interface*/ static BOOL _intAddTransporter(DROID *psSelected, BOOL offWorld) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; BOOL Animate = true; onMission = offWorld; @@ -243,10 +241,7 @@ static BOOL _intAddTransporter(DROID *psSelected, BOOL offWorld) Animate = false; } - - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - - + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDTRANS_FORM; sFormInit.style = WFORM_PLAIN; @@ -272,16 +267,14 @@ static BOOL _intAddTransporter(DROID *psSelected, BOOL offWorld) } /* Add the close button */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDTRANS_FORM; sButInit.id = IDTRANS_CLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = TRANS_WIDTH - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) @@ -316,10 +309,6 @@ static BOOL _intAddTransporter(DROID *psSelected, BOOL offWorld) // Add the main Transporter Contents Interface BOOL intAddTransporterContents(void) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - W_FORMINIT sButFInit; - W_LABINIT sLabInit; BOOL Animate = true; BOOL AlreadyUp = false; @@ -335,8 +324,7 @@ BOOL intAddTransporterContents(void) Animate = false; } - memset(&sFormInit, 0, sizeof(W_FORMINIT)); - + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDTRANS_CONTENTFORM; sFormInit.style = WFORM_PLAIN; @@ -362,16 +350,14 @@ BOOL intAddTransporterContents(void) } /* Add the close button */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDTRANS_CONTENTFORM; sButInit.id = IDTRANS_CONTCLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = STAT_WIDTH - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) @@ -381,16 +367,14 @@ BOOL intAddTransporterContents(void) if (bMultiPlayer) { //add the capacity label - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = IDTRANS_CONTENTFORM; sLabInit.id = IDTRANS_CAPACITY; - sLabInit.style = WLAB_PLAIN; sLabInit.x = (SWORD)sButInit.x -40; sLabInit.y = 0; sLabInit.width = 16; sLabInit.height = 16; sLabInit.pText = "00/10"; - sLabInit.FontID = font_regular; sLabInit.pCallback = intUpdateTransCapacity; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -400,7 +384,7 @@ BOOL intAddTransporterContents(void) //add the Launch button if on a mission if (onMission) { - memset(&sButFInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sButFInit; sButFInit.formID = IDTRANS_CONTENTFORM; sButFInit.id = IDTRANS_LAUNCH; sButFInit.style = WFORM_CLICKABLE | WFORM_NOCLICKMOVE; @@ -412,7 +396,6 @@ BOOL intAddTransporterContents(void) sButFInit.height = iV_GetImageHeight(IntImages,IMAGE_LAUNCHUP); sButFInit.pTip = _("Launch Transport"); //sButInit.pText = "Launch"; -// sButFInit.FontID = font_regular; sButFInit.pDisplay = intDisplayImageHilight; sButFInit.UserData = PACKDWORD_TRI(0,IMAGE_LAUNCHDOWN,IMAGE_LAUNCHUP); @@ -434,10 +417,6 @@ BOOL intAddTransporterContents(void) /*This is used to display the transporter button and capacity when at the home base ONLY*/ BOOL intAddTransporterLaunch(DROID *psDroid) { - - //W_BUTINIT sButInit; - W_FORMINIT sButInit; //needs to be a clickable form now - W_LABINIT sLabInit; UDWORD capacity; DROID *psCurr, *psNext; @@ -456,7 +435,7 @@ BOOL intAddTransporterLaunch(DROID *psDroid) return true; } - memset(&sButInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sButInit; //needs to be a clickable form now sButInit.formID = 0; sButInit.id = IDTRANS_LAUNCH; sButInit.style = WFORM_CLICKABLE | WFORM_NOCLICKMOVE; @@ -473,16 +452,14 @@ BOOL intAddTransporterLaunch(DROID *psDroid) } //add the capacity label - memset(&sLabInit,0,sizeof(W_LABINIT)); + W_LABINIT sLabInit; sLabInit.formID = IDTRANS_LAUNCH; sLabInit.id = IDTRANS_CAPACITY; - sLabInit.style = WLAB_PLAIN; sLabInit.x = (SWORD)(sButInit.x + 20); sLabInit.y = 0; sLabInit.width = 16; sLabInit.height = 16; sLabInit.pText = "00/10"; - sLabInit.FontID = font_regular; sLabInit.pCallback = intUpdateTransCapacity; if (!widgAddLabel(psWScreen, &sLabInit)) { @@ -525,14 +502,12 @@ void intRemoveTransporterLaunch(void) /* Add the Transporter Button form */ BOOL intAddTransButtonForm(void) { - W_FORMINIT sFormInit; - W_FORMINIT sBFormInit, sBFormInit2; UDWORD numButtons, i; SDWORD BufferID; DROID *psDroid; /* Add the button form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = IDTRANS_FORM; sFormInit.id = IDTRANS_TABFORM; sFormInit.style = WFORM_TABBED; @@ -591,8 +566,7 @@ BOOL intAddTransButtonForm(void) /* Add the transporter and status buttons */ - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); - memset(&sBFormInit2, 0, sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit; sBFormInit.formID = IDTRANS_TABFORM; sBFormInit.id = IDTRANS_START; sBFormInit.majorID = 0; @@ -603,7 +577,7 @@ BOOL intAddTransButtonForm(void) sBFormInit.width = OBJ_BUTWIDTH; sBFormInit.height = OBJ_BUTHEIGHT; - memcpy(&sBFormInit2,&sBFormInit,sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit2 = sBFormInit; sBFormInit2.id = IDTRANS_STATSTART; sBFormInit2.y = OBJ_STATSTARTY; @@ -685,14 +659,12 @@ BOOL intAddTransButtonForm(void) /* Add the Transporter Contents form */ BOOL intAddTransContentsForm(void) { - W_FORMINIT sFormInit; - W_FORMINIT sBFormInit; UDWORD numButtons, i; SDWORD BufferID; DROID *psDroid, *psNext; /* Add the contents form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = IDTRANS_CONTENTFORM; sFormInit.id = IDTRANS_CONTABFORM; sFormInit.style = WFORM_TABBED; @@ -734,7 +706,7 @@ BOOL intAddTransContentsForm(void) /* Add the transporter contents buttons */ - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit; sBFormInit.formID = IDTRANS_CONTABFORM; sBFormInit.id = IDTRANS_CONTSTART; sBFormInit.majorID = 0; @@ -792,10 +764,6 @@ BOOL intAddTransContentsForm(void) /* Add the Droids back at home form */ BOOL intAddDroidsAvailForm(void) { - W_FORMINIT sFormInit; - W_BUTINIT sButInit; - W_FORMINIT sBFormInit; - W_BARINIT sBarInit; UDWORD numButtons, i, butPerForm; SDWORD BufferID; DROID *psDroid; @@ -815,7 +783,7 @@ BOOL intAddDroidsAvailForm(void) /* Add the droids available form */ - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sFormInit; sFormInit.formID = 0; sFormInit.id = IDTRANS_DROIDS; sFormInit.style = WFORM_PLAIN; @@ -842,19 +810,15 @@ BOOL intAddDroidsAvailForm(void) } - - /* Add the close button */ - memset(&sButInit, 0, sizeof(W_BUTINIT)); + W_BUTINIT sButInit; sButInit.formID = IDTRANS_DROIDS; sButInit.id = IDTRANS_DROIDCLOSE; - sButInit.style = WBUT_PLAIN; sButInit.x = TRANSDROID_WIDTH - CLOSE_WIDTH; sButInit.y = 0; sButInit.width = CLOSE_WIDTH; sButInit.height = CLOSE_HEIGHT; sButInit.pTip = _("Close"); - sButInit.FontID = font_regular; sButInit.pDisplay = intDisplayImageHilight; sButInit.UserData = PACKDWORD_TRI(0,IMAGE_CLOSEHILIGHT , IMAGE_CLOSE); if (!widgAddButton(psWScreen, &sButInit)) @@ -864,7 +828,7 @@ BOOL intAddDroidsAvailForm(void) //now add the tabbed droids available form - memset(&sFormInit, 0, sizeof(W_FORMINIT)); + sFormInit = W_FORMINIT(); sFormInit.formID = IDTRANS_DROIDS; sFormInit.id = IDTRANS_DROIDTAB; sFormInit.style = WFORM_TABBED; @@ -930,7 +894,7 @@ BOOL intAddDroidsAvailForm(void) /* Add the droids available buttons */ - memset(&sBFormInit, 0, sizeof(W_FORMINIT)); + W_FORMINIT sBFormInit; sBFormInit.formID = IDTRANS_DROIDTAB; sBFormInit.id = IDTRANS_DROIDSTART; sBFormInit.majorID = 0; @@ -944,10 +908,8 @@ BOOL intAddDroidsAvailForm(void) ClearSystem0Buffers(); /* Add the state of repair bar for each droid*/ - memset(&sBarInit, 0, sizeof(W_BARINIT)); + W_BARINIT sBarInit; sBarInit.id = IDTRANS_REPAIRBARSTART; - sBarInit.style = WBAR_PLAIN; - sBarInit.orientation = WBAR_LEFT; sBarInit.x = STAT_TIMEBARX; sBarInit.y = STAT_TIMEBARY; sBarInit.width = STAT_PROGBARWIDTH; From e1f3cdc7e7209f79a32907ebe619a3ce36cbfb30 Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 21:08:16 +0100 Subject: [PATCH 019/142] Remove redundant memset()s in loadGame. The same variables were memset()ted in loadStructureStats() and statsInitVars(). --- src/game.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 939e493e6..7bbe404a0 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2425,20 +2425,10 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User //JPS 25 feb //initialise upgrades //initialise the structure upgrade arrays - memset(asStructureUpgrade, 0, sizeof(asStructureUpgrade)); - memset(asWallDefenceUpgrade, 0, sizeof(asWallDefenceUpgrade)); - memset(asResearchUpgrade, 0, sizeof(asResearchUpgrade)); - memset(asPowerUpgrade, 0, sizeof(asPowerUpgrade)); - memset(asRepairFacUpgrade, 0, sizeof(asRepairFacUpgrade)); - memset(asProductionUpgrade, 0, sizeof(asProductionUpgrade)); - memset(asReArmUpgrade, 0, sizeof(asReArmUpgrade)); + // *Duplicate code to loadStructureStats() removed.* //initialise the upgrade structures - memset(asWeaponUpgrade, 0, sizeof(asWeaponUpgrade)); - memset(asSensorUpgrade, 0, sizeof(asSensorUpgrade)); - memset(asECMUpgrade, 0, sizeof(asECMUpgrade)); - memset(asRepairUpgrade, 0, sizeof(asRepairUpgrade)); - memset(asBodyUpgrade, 0, sizeof(asBodyUpgrade)); + // *Duplicate and buggy code to statsInitVars() removed.* //JPS 25 feb } From 93f4c3060bc372904086c3672816c37859895a17 Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 21:56:52 +0100 Subject: [PATCH 020/142] Remove SPACETIME C wrapper around Spacetime. --- src/basedef.h | 19 ++++++------------- src/baseobject.cpp | 12 ++++++------ src/baseobject.h | 2 +- src/bucket3d.cpp | 2 +- src/component.cpp | 4 ++-- src/display3d.cpp | 6 +++--- src/droid.cpp | 2 +- src/droid.h | 6 +++--- src/droiddef.h | 2 +- src/feature.h | 8 ++++++++ src/projectile.cpp | 15 +++++---------- src/projectile.h | 8 ++++++++ src/projectiledef.h | 2 +- src/structure.h | 6 +++--- 14 files changed, 49 insertions(+), 45 deletions(-) diff --git a/src/basedef.h b/src/basedef.h index d2564df51..7fa883384 100644 --- a/src/basedef.h +++ b/src/basedef.h @@ -115,11 +115,11 @@ struct BASE_OBJECT : public SIMPLE_OBJECT NEXTOBJ psNextFunc; ///< Pointer to the next object in the function list }; -/// Space-time coordinate. -struct SpaceTime +/// Space-time coordinate, including orientation. +struct Spacetime { - SpaceTime() {} - SpaceTime(Position pos_, Rotation rot_, uint32_t time_) : time(time_), pos(pos_), rot(rot_) {} + Spacetime() {} + Spacetime(Position pos_, Rotation rot_, uint32_t time_) : time(time_), pos(pos_), rot(rot_) {} uint32_t time; ///< Game time @@ -127,15 +127,8 @@ struct SpaceTime Rotation rot; ///< Rotation of the object }; -typedef SpaceTime SPACETIME; - -static inline SpaceTime constructSpacetime(Position pos, Rotation rot, uint32_t time) -{ - return SpaceTime(pos, rot, time); -} - -#define GET_SPACETIME(psObj) constructSpacetime(psObj->pos, psObj->rot, psObj->time) -#define SET_SPACETIME(psObj, st) do { psObj->pos = st.pos; psObj->rot = st.rot; psObj->time = st.time; } while(0) +static inline Spacetime getSpacetime(SIMPLE_OBJECT const *psObj) { return Spacetime(psObj->pos, psObj->rot, psObj->time); } +static inline void setSpacetime(SIMPLE_OBJECT *psObj, Spacetime const &st) { psObj->pos = st.pos; psObj->rot = st.rot; psObj->time = st.time; } static inline bool isDead(const BASE_OBJECT* psObj) { diff --git a/src/baseobject.cpp b/src/baseobject.cpp index c01d6a78d..9eed9706b 100644 --- a/src/baseobject.cpp +++ b/src/baseobject.cpp @@ -46,21 +46,21 @@ Rotation interpolateRot(Rotation v1, Rotation v2, uint32_t t1, uint32_t t2, uint ); } -static SPACETIME interpolateSpacetime(SPACETIME st1, SPACETIME st2, uint32_t t) +static Spacetime interpolateSpacetime(Spacetime st1, Spacetime st2, uint32_t t) { - return constructSpacetime(interpolatePos(st1.pos, st2.pos, st1.time, st2.time, t), interpolateRot(st1.rot, st2.rot, st1.time, st2.time, t), t); + return Spacetime(interpolatePos(st1.pos, st2.pos, st1.time, st2.time, t), interpolateRot(st1.rot, st2.rot, st1.time, st2.time, t), t); } -SPACETIME interpolateObjectSpacetime(const SIMPLE_OBJECT *obj, uint32_t t) +Spacetime interpolateObjectSpacetime(const SIMPLE_OBJECT *obj, uint32_t t) { switch (obj->type) { default: - return GET_SPACETIME(obj); + return getSpacetime(obj); case OBJ_DROID: - return interpolateSpacetime(((DROID *)obj)->prevSpacetime, GET_SPACETIME(obj), t); + return interpolateSpacetime(castDroid(obj)->prevSpacetime, getSpacetime(obj), t); case OBJ_PROJECTILE: - return interpolateSpacetime(((PROJECTILE *)obj)->prevSpacetime, GET_SPACETIME(obj), t); + return interpolateSpacetime(castProjectile(obj)->prevSpacetime, getSpacetime(obj), t); } } diff --git a/src/baseobject.h b/src/baseobject.h index 062342ff3..c7993c9d9 100644 --- a/src/baseobject.h +++ b/src/baseobject.h @@ -31,7 +31,7 @@ static const unsigned int max_check_object_recursion = 4; /// Get interpolated direction at time t. Rotation interpolateRot(Rotation v1, Rotation v2, uint32_t t1, uint32_t t2, uint32_t t); /// Get interpolated object spacetime at time t. -SPACETIME interpolateObjectSpacetime(const SIMPLE_OBJECT *obj, uint32_t t); +Spacetime interpolateObjectSpacetime(const SIMPLE_OBJECT *obj, uint32_t t); void checkObject(const BASE_OBJECT* psObject, const char * const location_description, const char * function, const int recurse); diff --git a/src/bucket3d.cpp b/src/bucket3d.cpp index 288b6da5c..859fcd5e8 100644 --- a/src/bucket3d.cpp +++ b/src/bucket3d.cpp @@ -68,7 +68,7 @@ static SDWORD bucketCalculateZ(RENDER_TYPE objectType, void* pObject) SIMPLE_OBJECT *psSimpObj; COMPONENT_OBJECT *psCompObj; const iIMDShape *pImd; - SPACETIME spacetime; + Spacetime spacetime; pie_MatBegin(); diff --git a/src/component.cpp b/src/component.cpp index 4d44c9f94..b304d0119 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -887,7 +887,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) if ((psDroid->droidType == DROID_REPAIR || psDroid->droidType == DROID_CYBORG_REPAIR) && psShape->nconnectors && psDroid->action == DACTION_DROIDREPAIR) { - SPACETIME st = interpolateObjectSpacetime((SIMPLE_OBJECT *)psDroid, graphicsTime); + Spacetime st = interpolateObjectSpacetime(psDroid, graphicsTime); Rotation rot = getInterpolatedWeaponRotation(psDroid, 0, graphicsTime); pie_TRANSLATE( psShape->connectors[0].x, @@ -1007,7 +1007,7 @@ void displayComponentObject(DROID *psDroid) PROPULSION_STATS *psPropStats; UDWORD tileX,tileY; MAPTILE *psTile; - SPACETIME st = interpolateObjectSpacetime((SIMPLE_OBJECT *)psDroid, graphicsTime); + Spacetime st = interpolateObjectSpacetime(psDroid, graphicsTime); psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; diff --git a/src/display3d.cpp b/src/display3d.cpp index 4b0d5567a..2ef80593a 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -1217,7 +1217,7 @@ void renderProjectile(PROJECTILE *psCurr) Vector3i dv; iIMDShape *pIMD; SDWORD rx, rz; - SPACETIME st; + Spacetime st; psStats = psCurr->psWStats; /* Reject flame or command since they have interim drawn fx */ @@ -1231,7 +1231,7 @@ void renderProjectile(PROJECTILE *psCurr) return; } - st = interpolateObjectSpacetime((SIMPLE_OBJECT *)psCurr, graphicsTime); + st = interpolateObjectSpacetime(psCurr, graphicsTime); //the weapon stats holds the reference to which graphic to use /*Need to draw the graphic depending on what the projectile is doing - hitting target, @@ -1287,7 +1287,7 @@ void renderProjectile(PROJECTILE *psCurr) void renderAnimComponent( const COMPONENT_OBJECT *psObj ) { BASE_OBJECT *psParentObj = (BASE_OBJECT*)psObj->psParent; - SPACETIME spacetime = interpolateObjectSpacetime((SIMPLE_OBJECT *)psParentObj, graphicsTime); + Spacetime spacetime = interpolateObjectSpacetime(psParentObj, graphicsTime); const SDWORD posX = spacetime.pos.x + psObj->position.x, posY = spacetime.pos.y + psObj->position.y; SWORD rx, rz; diff --git a/src/droid.cpp b/src/droid.cpp index 8ce54b1ca..22092207a 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -751,7 +751,7 @@ void droidUpdate(DROID *psDroid) syncDebugDroid(psDroid, '<'); // Save old droid position, update time. - psDroid->prevSpacetime = GET_SPACETIME(psDroid); + psDroid->prevSpacetime = getSpacetime(psDroid); psDroid->time = gameTime; for (i = 0; i < MAX(1, psDroid->numWeaps); ++i) { diff --git a/src/droid.h b/src/droid.h index 9709cdb24..e13ed1b53 100644 --- a/src/droid.h +++ b/src/droid.h @@ -564,11 +564,11 @@ void _syncDebugDroid(const char *function, DROID *psDroid, char ch); // True iff object is a droid. -static inline bool isDroid(BASE_OBJECT const *psObject) { return psObject->type == OBJ_DROID; } +static inline bool isDroid(SIMPLE_OBJECT const *psObject) { return psObject->type == OBJ_DROID; } // Returns DROID * if droid or NULL if not. -static inline DROID *castDroid(BASE_OBJECT *psObject) { return isDroid(psObject)? (DROID *)psObject : (DROID *)NULL; } +static inline DROID *castDroid(SIMPLE_OBJECT *psObject) { return isDroid(psObject)? (DROID *)psObject : (DROID *)NULL; } // Returns DROID const * if droid or NULL if not. -static inline DROID const *castDroid(BASE_OBJECT const *psObject) { return isDroid(psObject)? (DROID const *)psObject : (DROID const *)NULL; } +static inline DROID const *castDroid(SIMPLE_OBJECT const *psObject) { return isDroid(psObject)? (DROID const *)psObject : (DROID const *)NULL; } #endif // __INCLUDED_SRC_DROID_H__ diff --git a/src/droiddef.h b/src/droiddef.h index 81cdcb493..81ef2b87a 100644 --- a/src/droiddef.h +++ b/src/droiddef.h @@ -205,7 +205,7 @@ struct DROID : public BASE_OBJECT /* Movement control data */ MOVE_CONTROL sMove; - SPACETIME prevSpacetime; ///< Location of droid in previous tick. + Spacetime prevSpacetime; ///< Location of droid in previous tick. uint8_t blockedBits; ///< Bit set telling which tiles block this type of droid (TODO) /* anim data */ diff --git a/src/feature.h b/src/feature.h index 44366e44b..43d84b7c6 100644 --- a/src/feature.h +++ b/src/feature.h @@ -65,4 +65,12 @@ extern void featureInitVars(void); #define syncDebugFeature(psFeature, ch) _syncDebugFeature(__FUNCTION__, psFeature, ch) void _syncDebugFeature(const char *function, FEATURE *psFeature, char ch); + +// True iff object is a feature. +static inline bool isFeature(SIMPLE_OBJECT const *psObject) { return psObject->type == OBJ_FEATURE; } +// Returns FEATURE * if feature or NULL if not. +static inline FEATURE *castFeature(SIMPLE_OBJECT *psObject) { return isFeature(psObject)? (FEATURE *)psObject : (FEATURE *)NULL; } +// Returns FEATURE const * if feature or NULL if not. +static inline FEATURE const *castFeature(SIMPLE_OBJECT const *psObject) { return isFeature(psObject)? (FEATURE const *)psObject : (FEATURE const *)NULL; } + #endif // __INCLUDED_SRC_FEATURE_H__ diff --git a/src/projectile.cpp b/src/projectile.cpp index 70d8fda92..b7410e0e1 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -99,11 +99,6 @@ static int32_t objectDamage(BASE_OBJECT *psObj, UDWORD damage, WEAPON_CLASS weap static HIT_SIDE getHitSide (PROJECTILE *psObj, BASE_OBJECT *psTarget); -/*static inline bool isDead(BASE_OBJECT *psObj) -{ - return psObj->died != 0; -}*/ - static inline void setProjectileDestination(PROJECTILE *psProj, BASE_OBJECT *psObj) { aiObjectAddExpectedDamage(psProj->psDest, -psProj->expectedDamageCaused); // The old target shouldn't be expecting any more damage from this projectile. @@ -630,8 +625,8 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) Vector3i nextPos; int32_t targetDistance, currentDistance; BASE_OBJECT *psTempObj, *closestCollisionObject = NULL; - SPACETIME closestCollisionSpacetime; - memset(&closestCollisionSpacetime, 0, sizeof(SPACETIME)); // Squelch uninitialised warning. + Spacetime closestCollisionSpacetime; + memset(&closestCollisionSpacetime, 0, sizeof(Spacetime)); // Squelch uninitialised warning. CHECK_PROJECTILE(psProj); @@ -839,7 +834,7 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) if (closestCollisionObject != NULL) { // We hit! - SET_SPACETIME(psProj, closestCollisionSpacetime); + setSpacetime(psProj, closestCollisionSpacetime); if(psProj->time == psProj->prevSpacetime.time) { --psProj->prevSpacetime.time; @@ -885,7 +880,7 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) // TODO Should probably give effectTime as an extra parameter to addEffect, or make an effectGiveAuxTime parameter, with yet another 'this is naughty' comment. for (effectTime = ((psProj->prevSpacetime.time + 15) & ~15); effectTime < psProj->time; effectTime += 16) { - SPACETIME st = interpolateObjectSpacetime(psProj, effectTime); + Spacetime st = interpolateObjectSpacetime(psProj, effectTime); Vector3i posFlip = swapYZ(st.pos); switch (psStats->weaponSubClass) { @@ -1342,7 +1337,7 @@ void PROJECTILE::update() syncDebugProjectile(psObj, '<'); - psObj->prevSpacetime = GET_SPACETIME(psObj); + psObj->prevSpacetime = getSpacetime(psObj); /* See if any of the stored objects have died * since the projectile was created diff --git a/src/projectile.h b/src/projectile.h index 1baa5d32e..b013b774c 100644 --- a/src/projectile.h +++ b/src/projectile.h @@ -104,4 +104,12 @@ void checkProjectile(const PROJECTILE* psProjectile, const char * const location #define syncDebugProjectile(psProj, ch) _syncDebugProjectile(__FUNCTION__, psProj, ch) void _syncDebugProjectile(const char *function, PROJECTILE *psProj, char ch); + +// True iff object is a projectile. +static inline bool isProjectile(SIMPLE_OBJECT const *psObject) { return psObject->type == OBJ_PROJECTILE; } +// Returns PROJECTILE * if projectile or NULL if not. +static inline PROJECTILE *castProjectile(SIMPLE_OBJECT *psObject) { return isProjectile(psObject)? (PROJECTILE *)psObject : (PROJECTILE *)NULL; } +// Returns PROJECTILE const * if projectile or NULL if not. +static inline PROJECTILE const *castProjectile(SIMPLE_OBJECT const *psObject) { return isProjectile(psObject)? (PROJECTILE const *)psObject : (PROJECTILE const *)NULL; } + #endif // __INCLUDED_SRC_PROJECTILE_H__ diff --git a/src/projectiledef.h b/src/projectiledef.h index c119e688c..3c6302f7a 100644 --- a/src/projectiledef.h +++ b/src/projectiledef.h @@ -55,7 +55,7 @@ struct PROJECTILE : public SIMPLE_OBJECT Vector3i src; ///< Where projectile started Vector3i dst; ///< The target coordinates SDWORD vXY, vZ; ///< axis velocities - SPACETIME prevSpacetime; ///< Location of projectile in previous tick. + Spacetime prevSpacetime; ///< Location of projectile in previous tick. UDWORD expectedDamageCaused; ///< Expected damage that this projectile will cause to the target. }; diff --git a/src/structure.h b/src/structure.h index 46b00fc3e..c3e8c5047 100644 --- a/src/structure.h +++ b/src/structure.h @@ -474,11 +474,11 @@ void _syncDebugStructure(const char *function, STRUCTURE *psStruct, char ch); // True iff object is a structure. -static inline bool isStructure(BASE_OBJECT const *psObject) { return psObject->type == OBJ_STRUCTURE; } +static inline bool isStructure(SIMPLE_OBJECT const *psObject) { return psObject->type == OBJ_STRUCTURE; } // Returns STRUCTURE * if structure or NULL if not. -static inline STRUCTURE *castStructure(BASE_OBJECT *psObject) { return isStructure(psObject)? (STRUCTURE *)psObject : (STRUCTURE *)NULL; } +static inline STRUCTURE *castStructure(SIMPLE_OBJECT *psObject) { return isStructure(psObject)? (STRUCTURE *)psObject : (STRUCTURE *)NULL; } // Returns STRUCTURE const * if structure or NULL if not. -static inline STRUCTURE const *castStructure(BASE_OBJECT const *psObject) { return isStructure(psObject)? (STRUCTURE const *)psObject : (STRUCTURE const *)NULL; } +static inline STRUCTURE const *castStructure(SIMPLE_OBJECT const *psObject) { return isStructure(psObject)? (STRUCTURE const *)psObject : (STRUCTURE const *)NULL; } #endif // __INCLUDED_SRC_STRUCTURE_H__ From 85c08b05f9b471e86a3d87755e502f7073cffc58 Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 22:45:23 +0100 Subject: [PATCH 021/142] Make structures rectangular instead of circular for the purposes of projectile collision detection. Lasers hitting cyborg factories look less weird now. Changelog: Structures are now rectangular for projectile collision detection, not round. --- src/projectile.cpp | 75 +++++++++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/src/projectile.cpp b/src/projectile.cpp index b7410e0e1..c7b4b9cf6 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -89,7 +89,19 @@ BASE_OBJECT *g_pProjLastAttacker; /***************************************************************************/ -static UDWORD establishTargetRadius( BASE_OBJECT *psTarget ); +struct ObjectShape +{ + ObjectShape() {} + ObjectShape(int radius) : isRectangular(false), size(radius, radius) {} + ObjectShape(int width, int breadth) : isRectangular(true), size(width, breadth) {} + ObjectShape(Vector2i widthBreadth) : isRectangular(true), size(widthBreadth) {} + int radius() const { return size.x; } + + bool isRectangular; ///< True if rectangular, false if circular. + Vector2i size; ///< x == y if circular. +}; + +static ObjectShape establishTargetShape(BASE_OBJECT *psTarget); static UDWORD establishTargetHeight( BASE_OBJECT *psTarget ); static void proj_ImpactFunc( PROJECTILE *psObj ); static void proj_PostImpactFunc( PROJECTILE *psObj ); @@ -596,12 +608,24 @@ static INTERVAL collisionXY(int32_t x1, int32_t y1, int32_t x2, int32_t y2, int3 return ret; } -static int32_t collisionXYZ(Vector3i v1, Vector3i v2, int32_t radius, int32_t height) +static int32_t collisionXYZ(Vector3i v1, Vector3i v2, ObjectShape shape, int32_t height) { - INTERVAL iz = collisionZ(v1.z, v2.z, height); - if (!intervalEmpty(iz)) // Don't bother checking x and y unless z passes. + INTERVAL i = collisionZ(v1.z, v2.z, height); + if (!intervalEmpty(i)) // Don't bother checking x and y unless z passes. { - INTERVAL i = intervalIntersection(iz, collisionXY(v1.x, v1.y, v2.x, v2.y, radius)); + if (shape.isRectangular) + { + i = intervalIntersection(i, collisionZ(v1.x, v2.x, shape.size.x)); + if (!intervalEmpty(i)) // Don't bother checking y unless x and z pass. + { + i = intervalIntersection(i, collisionZ(v1.y, v2.y, shape.size.y)); + } + } + else // Else is circular. + { + i = intervalIntersection(i, collisionXY(v1.x, v1.y, v2.x, v2.y, shape.radius())); + } + if (!intervalEmpty(i)) { return MAX(0, i.begin); @@ -817,8 +841,8 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) const Vector3i diff = psProj->pos - psTempObj->pos; const Vector3i prevDiff = psProj->prevSpacetime.pos - psTempObjPrevPos; const unsigned int targetHeight = establishTargetHeight(psTempObj); - const unsigned int targetRadius = establishTargetRadius(psTempObj); - const int32_t collision = collisionXYZ(prevDiff, diff, targetRadius, targetHeight); + const ObjectShape targetShape = establishTargetShape(psTempObj); + const int32_t collision = collisionXYZ(prevDiff, diff, targetShape, targetHeight); const uint32_t collisionTime = psProj->prevSpacetime.time + (psProj->time - psProj->prevSpacetime.time)*collision/1024; if (collision >= 0 && collisionTime < closestCollisionSpacetime.time) @@ -1513,19 +1537,14 @@ SDWORD proj_GetLongRange(const WEAPON_STATS* psStats) /***************************************************************************/ -static UDWORD establishTargetRadius(BASE_OBJECT *psTarget) +static ObjectShape establishTargetShape(BASE_OBJECT *psTarget) { - UDWORD radius; - STRUCTURE *psStructure; - FEATURE *psFeat; - CHECK_OBJECT(psTarget); - radius = 0; - switch(psTarget->type) + switch (psTarget->type) { - case OBJ_DROID: - switch(((DROID *)psTarget)->droidType) + case OBJ_DROID: // Circular. + switch (castDroid(psTarget)->droidType) { case DROID_WEAPON: case DROID_SENSOR: @@ -1539,31 +1558,25 @@ static UDWORD establishTargetRadius(BASE_OBJECT *psTarget) case DROID_CYBORG_REPAIR: case DROID_CYBORG_SUPER: //Watermelon:'hitbox' size is now based on imd size - radius = abs(psTarget->sDisplay.imd->radius) * 2; - break; + return abs(psTarget->sDisplay.imd->radius) * 2; case DROID_DEFAULT: case DROID_TRANSPORTER: default: - radius = TILE_UNITS/4; // how will we arrive at this? + return TILE_UNITS/4; // how will we arrive at this? } break; - case OBJ_STRUCTURE: - psStructure = (STRUCTURE*)psTarget; - radius = (MAX(psStructure->pStructureType->baseBreadth, psStructure->pStructureType->baseWidth) * TILE_UNITS) / 2; - break; - case OBJ_FEATURE: -// radius = TILE_UNITS/4; // how will we arrive at this? - psFeat = (FEATURE *)psTarget; - radius = (MAX(psFeat->psStats->baseBreadth,psFeat->psStats->baseWidth) * TILE_UNITS) / 2; - break; - case OBJ_PROJECTILE: + case OBJ_STRUCTURE: // Rectangular. + return getStructureSize(castStructure(psTarget)) * TILE_UNITS/2; + case OBJ_FEATURE: // Rectangular. + return Vector2i(castFeature(psTarget)->psStats->baseWidth, castFeature(psTarget)->psStats->baseBreadth) * TILE_UNITS/2; + case OBJ_PROJECTILE: // Circular, but can't happen since a PROJECTILE isn't a BASE_OBJECT. //Watermelon 1/2 radius of a droid? - radius = TILE_UNITS/8; + return TILE_UNITS/8; default: break; } - return(radius); + return 0; // Huh? } /***************************************************************************/ From c875c639b7c3802a5005560fc7600d3d347f19ee Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 22 Dec 2010 23:34:57 +0100 Subject: [PATCH 022/142] Clean up some weird invalid PROJECTILE * -> BASE_OBJECT * casts. And make some functions take SIMPLE_OBJECT * instead of void *. --- lib/sound/aud.h | 7 ++++--- lib/sound/audio.cpp | 12 ++++++------ lib/sound/audio.h | 14 +++++--------- lib/sound/track.h | 4 +++- src/aud.cpp | 18 +++++------------- src/basedef.h | 12 ++++++++++-- src/display3d.cpp | 4 ++-- src/effects.cpp | 2 +- src/game.cpp | 4 ++-- src/map.cpp | 2 +- src/map.h | 2 +- src/projectile.cpp | 16 +++++++--------- src/projectile.h | 26 +++++++++----------------- src/projectiledef.h | 8 ++++++++ src/structure.cpp | 2 +- 15 files changed, 65 insertions(+), 68 deletions(-) diff --git a/lib/sound/aud.h b/lib/sound/aud.h index 4f812fece..9c881f752 100644 --- a/lib/sound/aud.h +++ b/lib/sound/aud.h @@ -26,11 +26,12 @@ #include "lib/framework/vector.h" -void audio_GetObjectPos( void *psObj, SDWORD *piX, SDWORD *piY, - SDWORD *piZ ); +struct SIMPLE_OBJECT; + +void audio_GetObjectPos(SIMPLE_OBJECT *psObj, SDWORD *piX, SDWORD *piY, SDWORD *piZ); void audio_GetStaticPos( SDWORD iWorldX, SDWORD iWorldY, SDWORD *piX, SDWORD *piY, SDWORD *piZ ); -BOOL audio_ObjectDead( void * psObj ); +bool audio_ObjectDead(SIMPLE_OBJECT *psObj); Vector3f audio_GetPlayerPos(void); void audio_Get3DPlayerRotAboutVerticalAxis(float *angle); diff --git a/lib/sound/audio.cpp b/lib/sound/audio.cpp index ddce325cc..a56507c9c 100644 --- a/lib/sound/audio.cpp +++ b/lib/sound/audio.cpp @@ -693,7 +693,7 @@ static BOOL audio_CheckSame3DTracksPlaying( SDWORD iTrack, SDWORD iX, SDWORD iY, // ======================================================================================================================= // ======================================================================================================================= // -static BOOL audio_Play3DTrack( SDWORD iX, SDWORD iY, SDWORD iZ, int iTrack, void *psObj, AUDIO_CALLBACK pUserCallback ) +static BOOL audio_Play3DTrack( SDWORD iX, SDWORD iY, SDWORD iZ, int iTrack, SIMPLE_OBJECT *psObj, AUDIO_CALLBACK pUserCallback ) { //~~~~~~~~~~~~~~~~~~~~~~ AUDIO_SAMPLE *psSample; @@ -802,7 +802,7 @@ BOOL audio_PlayStaticTrack( SDWORD iMapX, SDWORD iMapY, int iTrack ) // ======================================================================================================================= // ======================================================================================================================= // -BOOL audio_PlayObjStaticTrack( void *psObj, int iTrack ) +bool audio_PlayObjStaticTrack(SIMPLE_OBJECT *psObj, int iTrack ) { //~~~~~~~~~~~~~~~ SDWORD iX, iY, iZ; @@ -822,7 +822,7 @@ BOOL audio_PlayObjStaticTrack( void *psObj, int iTrack ) // ======================================================================================================================= // ======================================================================================================================= // -BOOL audio_PlayObjStaticTrackCallback( void *psObj, int iTrack, AUDIO_CALLBACK pUserCallback ) +bool audio_PlayObjStaticTrackCallback(SIMPLE_OBJECT *psObj, int iTrack, AUDIO_CALLBACK pUserCallback ) { //~~~~~~~~~~~~~~~ SDWORD iX, iY, iZ; @@ -842,7 +842,7 @@ BOOL audio_PlayObjStaticTrackCallback( void *psObj, int iTrack, AUDIO_CALLBACK p // ======================================================================================================================= // ======================================================================================================================= // -BOOL audio_PlayObjDynamicTrack( void *psObj, int iTrack, AUDIO_CALLBACK pUserCallback ) +bool audio_PlayObjDynamicTrack(SIMPLE_OBJECT *psObj, int iTrack, AUDIO_CALLBACK pUserCallback ) { //~~~~~~~~~~~~~~~ SDWORD iX, iY, iZ; @@ -911,7 +911,7 @@ AUDIO_STREAM* audio_PlayStream(const char* fileName, float volume, void (*onFini // ======================================================================================================================= // ======================================================================================================================= // -void audio_StopObjTrack( void *psObj, int iTrack ) +void audio_StopObjTrack(SIMPLE_OBJECT *psObj, int iTrack) { //~~~~~~~~~~~~~~~~~~~~~~ AUDIO_SAMPLE *psSample; @@ -1115,7 +1115,7 @@ SDWORD audio_GetTrackID( const char *fileName ) * \param psObj pointer to the object for which we must destroy all of its * outstanding audio samples. */ -void audio_RemoveObj(const void* psObj) +void audio_RemoveObj(SIMPLE_OBJECT const *psObj) { unsigned int count = 0; diff --git a/lib/sound/audio.h b/lib/sound/audio.h index e77de609a..e3e12b389 100644 --- a/lib/sound/audio.h +++ b/lib/sound/audio.h @@ -32,14 +32,10 @@ extern BOOL audio_LoadTrackFromFile( char szFileName[] ); extern unsigned int audio_SetTrackVals(const char* fileName, BOOL loop, unsigned int volume, unsigned int audibleRadius); extern BOOL audio_PlayStaticTrack( SDWORD iX, SDWORD iY, int iTrack ); -extern BOOL audio_PlayObjStaticTrack( void * psObj, int iTrack ); -extern BOOL audio_PlayObjStaticTrackCallback( void * psObj, int iTrack, - AUDIO_CALLBACK pUserCallback ); -extern BOOL audio_PlayObjDynamicTrack( void * psObj, int iTrack, - AUDIO_CALLBACK pUserCallback ); -extern BOOL audio_PlayClusterDynamicTrack( void * psClusterObj, - int iTrack, AUDIO_CALLBACK pUserCallback ); -extern void audio_StopObjTrack( void * psObj, int iTrack ); +bool audio_PlayObjStaticTrack(SIMPLE_OBJECT *psObj, int iTrack); +bool audio_PlayObjStaticTrackCallback(SIMPLE_OBJECT *psObj, int iTrack, AUDIO_CALLBACK pUserCallback); +bool audio_PlayObjDynamicTrack(SIMPLE_OBJECT *psObj, int iTrack, AUDIO_CALLBACK pUserCallback ); +void audio_StopObjTrack(SIMPLE_OBJECT *psObj, int iTrack); extern void audio_PlayTrack( int iTrack ); extern void audio_PlayCallbackTrack( int iTrack, AUDIO_CALLBACK pUserCallback ); @@ -61,7 +57,7 @@ extern void audio_ResumeAll( void ); extern void audio_StopAll( void ); extern SDWORD audio_GetTrackID( const char *fileName ); -extern void audio_RemoveObj(const void* psObj); +void audio_RemoveObj(SIMPLE_OBJECT const *psObj); extern unsigned int audio_GetSampleQueueCount(void); extern unsigned int audio_GetSampleListCount(void); extern unsigned int sound_GetActiveSamplesCount(void); diff --git a/lib/sound/track.h b/lib/sound/track.h index 1b9fc8cfa..eaee52bf7 100644 --- a/lib/sound/track.h +++ b/lib/sound/track.h @@ -48,6 +48,8 @@ typedef struct __audio_stream AUDIO_STREAM; /* structs */ +struct SIMPLE_OBJECT; + typedef struct AUDIO_SAMPLE { SDWORD iTrack; // ID number identifying a specific sound; currently (r1182) mapped in audio_id.c @@ -63,7 +65,7 @@ typedef struct AUDIO_SAMPLE float fVol; // computed volume of sample BOOL bFinishedPlaying; AUDIO_CALLBACK pCallback; - void *psObj; + SIMPLE_OBJECT * psObj; struct AUDIO_SAMPLE *psPrev; struct AUDIO_SAMPLE *psNext; } AUDIO_SAMPLE; diff --git a/src/aud.cpp b/src/aud.cpp index 0500e82b5..858e5b8d2 100644 --- a/src/aud.cpp +++ b/src/aud.cpp @@ -30,10 +30,8 @@ #include "display3d.h" #include "map.h" -BOOL audio_ObjectDead(void * psObj) +bool audio_ObjectDead(SIMPLE_OBJECT *psSimpleObj) { - SIMPLE_OBJECT * const psSimpleObj = (SIMPLE_OBJECT *) psObj; - /* check is valid simple object pointer */ if (psSimpleObj == NULL) { @@ -42,18 +40,14 @@ BOOL audio_ObjectDead(void * psObj) } /* check projectiles */ - if (psSimpleObj->type == OBJ_PROJECTILE) + if (isProjectile(psSimpleObj)) { - PROJECTILE * const psProj = (PROJECTILE *) psSimpleObj; - - return (psProj->state == PROJ_POSTIMPACT); + return castProjectile(psSimpleObj)->state == PROJ_POSTIMPACT; } else { /* check base object */ - BASE_OBJECT *psBaseObj = (BASE_OBJECT *) psObj; - - return psBaseObj->died; + return psSimpleObj->died; } } // @FIXME we don't need to do this, since we are not using qsound. @@ -95,10 +89,8 @@ void audio_GetStaticPos(SDWORD iWorldX, SDWORD iWorldY, SDWORD *piX, SDWORD *piY } // @FIXME we don't need to do this, since we are not using qsound. -void audio_GetObjectPos(void *psObj, SDWORD *piX, SDWORD *piY, SDWORD *piZ) +void audio_GetObjectPos(SIMPLE_OBJECT *psBaseObj, SDWORD *piX, SDWORD *piY, SDWORD *piZ) { - BASE_OBJECT *psBaseObj = (BASE_OBJECT *) psObj; - /* check is valid pointer */ ASSERT( psBaseObj != NULL, "audio_GetObjectPos: game object pointer invalid" ); diff --git a/src/basedef.h b/src/basedef.h index 7fa883384..06e02c59b 100644 --- a/src/basedef.h +++ b/src/basedef.h @@ -31,7 +31,7 @@ //the died flag for a droid is set to this when it gets added to the non-current list #define NOT_CURRENT_LIST 1 -typedef enum _object_type +enum OBJECT_TYPE { OBJ_DROID, ///< Droids OBJ_STRUCTURE, ///< All Buildings @@ -39,7 +39,7 @@ typedef enum _object_type OBJ_PROJECTILE, ///< Comes out of guns, stupid :-) OBJ_TARGET, ///< for the camera tracking OBJ_NUM_TYPES, ///< number of object types - MUST BE LAST -} OBJECT_TYPE; +}; typedef struct _tilePos { @@ -143,6 +143,14 @@ static inline int objPosDiffSq(Position pos1, Position pos2) return (xdiff * xdiff + ydiff * ydiff); } + +// True iff object is a droid, structure or feature (not a projectile). Will incorrectly return true if passed a nonsense object of type OBJ_TARGET or OBJ_NUM_TYPES. +static inline bool isBaseObject(SIMPLE_OBJECT const *psObject) { return psObject->type != OBJ_PROJECTILE; } +// Returns BASE_OBJECT * if base_object or NULL if not. +static inline BASE_OBJECT *castBaseObject(SIMPLE_OBJECT *psObject) { return isBaseObject(psObject)? (BASE_OBJECT *)psObject : (BASE_OBJECT *)NULL; } +// Returns BASE_OBJECT const * if base_object or NULL if not. +static inline BASE_OBJECT const *castBaseObject(SIMPLE_OBJECT const *psObject) { return isBaseObject(psObject)? (BASE_OBJECT const *)psObject : (BASE_OBJECT const *)NULL; } + // Must be #included __AFTER__ the definition of BASE_OBJECT #include "baseobject.h" diff --git a/src/display3d.cpp b/src/display3d.cpp index 2ef80593a..bebbac8bc 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -1447,14 +1447,14 @@ void displayStaticObjects( void ) displayAnimation( psAnimObj, false ); if(selectedPlayer == psStructure->player) { - audio_PlayObjStaticTrack( (void *) psStructure, ID_SOUND_OIL_PUMP_2 ); + audio_PlayObjStaticTrack(psStructure, ID_SOUND_OIL_PUMP_2); } } else { /* hold anim on first frame */ displayAnimation( psAnimObj, true ); - audio_StopObjTrack( (void *) psStructure, ID_SOUND_OIL_PUMP_2 ); + audio_StopObjTrack(psStructure, ID_SOUND_OIL_PUMP_2); } } diff --git a/src/effects.cpp b/src/effects.cpp index f17824c6e..eeb1881b4 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -2528,7 +2528,7 @@ static void effectStructureUpdates(void) if (selectedPlayer == psStructure->player) { - audio_PlayObjStaticTrack((void*)psStructure, ID_SOUND_POWER_SPARK); + audio_PlayObjStaticTrack(psStructure, ID_SOUND_POWER_SPARK); } } } diff --git a/src/game.cpp b/src/game.cpp index 7bbe404a0..82552aaea 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -7462,7 +7462,7 @@ BOOL loadSaveStructureV19(char *pFileData, UDWORD filesize, UDWORD numStructures checkForResExtractors(psStructure); if(selectedPlayer == psStructure->player) { - audio_PlayObjStaticTrack( (void *) psStructure, ID_SOUND_POWER_HUM ); + audio_PlayObjStaticTrack(psStructure, ID_SOUND_POWER_HUM); } break; case REF_RESOURCE_EXTRACTOR: @@ -7869,7 +7869,7 @@ BOOL loadSaveStructureV(char *pFileData, UDWORD filesize, UDWORD numStructures, checkForResExtractors(psStructure); if(selectedPlayer == psStructure->player) { - audio_PlayObjStaticTrack( (void *) psStructure, ID_SOUND_POWER_HUM ); + audio_PlayObjStaticTrack(psStructure, ID_SOUND_POWER_HUM); } break; case REF_RESOURCE_EXTRACTOR: diff --git a/src/map.cpp b/src/map.cpp index 46811d776..90e0d2c65 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1210,7 +1210,7 @@ extern int32_t map_Height(int x, int y) } /* returns true if object is above ground */ -extern BOOL mapObjIsAboveGround( BASE_OBJECT *psObj ) +bool mapObjIsAboveGround(SIMPLE_OBJECT *psObj) { // min is used to make sure we don't go over array bounds! // TODO Using the corner of the map instead doesn't make sense. Fix this... diff --git a/src/map.h b/src/map.h index 574e87c81..2deeb3c9c 100644 --- a/src/map.h +++ b/src/map.h @@ -517,7 +517,7 @@ extern int32_t map_Height(int x, int y); static inline int32_t map_Height(Vector2i const &v) { return map_Height(v.x, v.y); } /* returns true if object is above ground */ -extern BOOL mapObjIsAboveGround( BASE_OBJECT *psObj ); +bool mapObjIsAboveGround(SIMPLE_OBJECT *psObj); /* returns the max and min height of a tile by looking at the four corners in tile coords */ diff --git a/src/projectile.cpp b/src/projectile.cpp index c7b4b9cf6..315814b76 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -367,7 +367,7 @@ int32_t projCalcIndirectVelocities(const int32_t dx, const int32_t dz, int32_t v return t; } -BOOL proj_SendProjectile(WEAPON *psWeap, BASE_OBJECT *psAttacker, int player, Vector3i target, BASE_OBJECT *psTarget, BOOL bVisible, int weapon_slot) +bool proj_SendProjectile(WEAPON *psWeap, SIMPLE_OBJECT *psAttacker, int player, Vector3i target, BASE_OBJECT *psTarget, BOOL bVisible, int weapon_slot) { PROJECTILE * psProj = new PROJECTILE(ProjectileTrackerID |(gameTime2 >>4), player); int32_t dx, dy, dz; @@ -510,13 +510,11 @@ BOOL proj_SendProjectile(WEAPON *psWeap, BASE_OBJECT *psAttacker, int player, Ve if ( psProj->psSource ) { /* firing sound emitted from source */ - audio_PlayObjDynamicTrack( (BASE_OBJECT *) psProj->psSource, - psStats->iAudioFireID, NULL ); + audio_PlayObjDynamicTrack(psProj->psSource, psStats->iAudioFireID, NULL); /* GJ HACK: move howitzer sound with shell */ if ( psStats->weaponSubClass == WSC_HOWITZERS ) { - audio_PlayObjDynamicTrack( (BASE_OBJECT *) psProj, - ID_SOUND_HOWITZ_FLIGHT, NULL ); + audio_PlayObjDynamicTrack(psProj, ID_SOUND_HOWITZ_FLIGHT, NULL); } } //don't play the sound for a LasSat in multiPlayer @@ -527,10 +525,10 @@ BOOL proj_SendProjectile(WEAPON *psWeap, BASE_OBJECT *psAttacker, int player, Ve } } - if ((psAttacker != NULL) && !proj_Direct(psStats)) + if (psAttacker != NULL && !proj_Direct(psStats)) { //check for Counter Battery Sensor in range of target - counterBatteryFire(psAttacker, psTarget); + counterBatteryFire(castBaseObject(psAttacker), psTarget); } syncDebugProjectile(psProj, '*'); @@ -878,7 +876,7 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) // Assume we damaged the chosen target psProj->psDamaged.push_back(closestCollisionObject); - proj_SendProjectile(&asWeap, (BASE_OBJECT*)psProj, psProj->player, newDest, NULL, true, -1); + proj_SendProjectile(&asWeap, psProj, psProj->player, newDest, NULL, true, -1); } psProj->state = PROJ_IMPACT; @@ -889,7 +887,7 @@ static void proj_InFlightFunc(PROJECTILE *psProj, bool bIndirect) ASSERT(distanceExtensionFactor != 0, "Unitialized variable used! distanceExtensionFactor is not initialized."); if (distancePercent >= distanceExtensionFactor || /* We've traveled our maximum range */ - !mapObjIsAboveGround((BASE_OBJECT*)psProj)) /* trying to travel through terrain */ + !mapObjIsAboveGround(psProj)) /* trying to travel through terrain */ { /* Miss due to range or height */ psProj->state = PROJ_IMPACT; diff --git a/src/projectile.h b/src/projectile.h index b013b774c..046c9aa2a 100644 --- a/src/projectile.h +++ b/src/projectile.h @@ -57,7 +57,7 @@ void proj_FreeAllProjectiles(void); ///< Free all projectiles in the list. int32_t projCalcIndirectVelocities(const int32_t dx, const int32_t dz, int32_t v, int32_t *vx, int32_t *vz); /** Send a single projectile against the given target. */ -BOOL proj_SendProjectile(WEAPON *psWeap, BASE_OBJECT *psAttacker, int player, Vector3i target, BASE_OBJECT *psTarget, BOOL bVisible, int weapon_slot); +bool proj_SendProjectile(WEAPON *psWeap, SIMPLE_OBJECT *psAttacker, int player, Vector3i target, BASE_OBJECT *psTarget, BOOL bVisible, int weapon_slot); /** Return whether a weapon is direct or indirect. */ bool proj_Direct(const WEAPON_STATS* psStats); @@ -72,25 +72,25 @@ extern BOOL gfxVisible(PROJECTILE *psObj); extern void objectShimmy ( BASE_OBJECT *psObj ); -static inline void setProjectileSource(PROJECTILE *psProj, BASE_OBJECT *psObj) +static inline void setProjectileSource(PROJECTILE *psProj, SIMPLE_OBJECT *psObj) { // use the source of the source of psProj if psAttacker is a projectile - if (psObj && psObj->type == OBJ_PROJECTILE) + psProj->psSource = NULL; + if (psObj == NULL) { - PROJECTILE *psPrevProj = (PROJECTILE*)psObj; + } + else if (isProjectile(psObj)) + { + PROJECTILE *psPrevProj = castProjectile(psObj); if (psPrevProj->psSource && !psPrevProj->psSource->died) { psProj->psSource = psPrevProj->psSource; } - else - { - psProj->psSource = NULL; - } } else { - psProj->psSource = psObj; + psProj->psSource = castBaseObject(psObj); } } @@ -104,12 +104,4 @@ void checkProjectile(const PROJECTILE* psProjectile, const char * const location #define syncDebugProjectile(psProj, ch) _syncDebugProjectile(__FUNCTION__, psProj, ch) void _syncDebugProjectile(const char *function, PROJECTILE *psProj, char ch); - -// True iff object is a projectile. -static inline bool isProjectile(SIMPLE_OBJECT const *psObject) { return psObject->type == OBJ_PROJECTILE; } -// Returns PROJECTILE * if projectile or NULL if not. -static inline PROJECTILE *castProjectile(SIMPLE_OBJECT *psObject) { return isProjectile(psObject)? (PROJECTILE *)psObject : (PROJECTILE *)NULL; } -// Returns PROJECTILE const * if projectile or NULL if not. -static inline PROJECTILE const *castProjectile(SIMPLE_OBJECT const *psObject) { return isProjectile(psObject)? (PROJECTILE const *)psObject : (PROJECTILE const *)NULL; } - #endif // __INCLUDED_SRC_PROJECTILE_H__ diff --git a/src/projectiledef.h b/src/projectiledef.h index 3c6302f7a..a1866d948 100644 --- a/src/projectiledef.h +++ b/src/projectiledef.h @@ -61,4 +61,12 @@ struct PROJECTILE : public SIMPLE_OBJECT typedef std::vector::const_iterator ProjectileIterator; + +/// True iff object is a projectile. +static inline bool isProjectile(SIMPLE_OBJECT const *psObject) { return psObject->type == OBJ_PROJECTILE; } +/// Returns PROJECTILE * if projectile or NULL if not. +static inline PROJECTILE *castProjectile(SIMPLE_OBJECT *psObject) { return isProjectile(psObject)? (PROJECTILE *)psObject : (PROJECTILE *)NULL; } +/// Returns PROJECTILE const * if projectile or NULL if not. +static inline PROJECTILE const *castProjectile(SIMPLE_OBJECT const *psObject) { return isProjectile(psObject)? (PROJECTILE const *)psObject : (PROJECTILE const *)NULL; } + #endif // __INCLUDED_PROJECTILEDEF_H__ diff --git a/src/structure.cpp b/src/structure.cpp index 00e76d1b2..732b3baac 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -6015,7 +6015,7 @@ void buildingComplete(STRUCTURE *psBuilding) if(selectedPlayer == psBuilding->player) { - audio_PlayObjStaticTrack( (void *) psBuilding, ID_SOUND_POWER_HUM ); + audio_PlayObjStaticTrack(psBuilding, ID_SOUND_POWER_HUM); } break; From c7e9e05d30149bed53601d29dc050bb3beca40f3 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 01:33:25 +0100 Subject: [PATCH 023/142] Fix WZ_DECL_CONST -> WZ_DECL_PURE on src/vector.h. Think not allowed to use WZ_DECL_CONST on functions that take references to parameters. The compiler should be able to optimise inline functions properly even without any WZ_DECL_BLAH, anyway. --- lib/framework/vector.h | 87 ++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/lib/framework/vector.h b/lib/framework/vector.h index 30b5c7816..b55d15ebf 100644 --- a/lib/framework/vector.h +++ b/lib/framework/vector.h @@ -70,61 +70,61 @@ struct Rotation typedef Vector3i Position; ///< Map position in world coordinates // removeZ(3d_vector) -> 2d_vector -static inline WZ_DECL_CONST Vector2i removeZ(Vector3i const &a) { return Vector2i(a.x, a.y); } -static inline WZ_DECL_CONST Vector2f removeZ(Vector3f const &a) { return Vector2f(a.x, a.y); } +static inline WZ_DECL_PURE Vector2i removeZ(Vector3i const &a) { return Vector2i(a.x, a.y); } +static inline WZ_DECL_PURE Vector2f removeZ(Vector3f const &a) { return Vector2f(a.x, a.y); } // vector == vector -> bool -static inline WZ_DECL_CONST bool operator ==(Vector2i const &a, Vector2i const &b) { return a.x == b.x && a.y == b.y; } -static inline WZ_DECL_CONST bool operator ==(Vector2f const &a, Vector2f const &b) { return a.x == b.x && a.y == b.y; } -static inline WZ_DECL_CONST bool operator ==(Vector3i const &a, Vector3i const &b) { return a.x == b.x && a.y == b.y && a.z == b.z; } -static inline WZ_DECL_CONST bool operator ==(Vector3f const &a, Vector3f const &b) { return a.x == b.x && a.y == b.y && a.z == b.z; } -static inline WZ_DECL_CONST bool operator ==(Rotation const &a, Rotation const &b) { return a.direction == b.direction && a.pitch == b.pitch && a.roll == b.roll; } +static inline WZ_DECL_PURE bool operator ==(Vector2i const &a, Vector2i const &b) { return a.x == b.x && a.y == b.y; } +static inline WZ_DECL_PURE bool operator ==(Vector2f const &a, Vector2f const &b) { return a.x == b.x && a.y == b.y; } +static inline WZ_DECL_PURE bool operator ==(Vector3i const &a, Vector3i const &b) { return a.x == b.x && a.y == b.y && a.z == b.z; } +static inline WZ_DECL_PURE bool operator ==(Vector3f const &a, Vector3f const &b) { return a.x == b.x && a.y == b.y && a.z == b.z; } +static inline WZ_DECL_PURE bool operator ==(Rotation const &a, Rotation const &b) { return a.direction == b.direction && a.pitch == b.pitch && a.roll == b.roll; } // vector != vector -> bool -static inline WZ_DECL_CONST bool operator !=(Vector2i const &a, Vector2i const &b) { return a.x != b.x || a.y != b.y; } -static inline WZ_DECL_CONST bool operator !=(Vector2f const &a, Vector2f const &b) { return a.x != b.x || a.y != b.y; } -static inline WZ_DECL_CONST bool operator !=(Vector3i const &a, Vector3i const &b) { return a.x != b.x || a.y != b.y || a.z != b.z; } -static inline WZ_DECL_CONST bool operator !=(Vector3f const &a, Vector3f const &b) { return a.x != b.x || a.y != b.y || a.z != b.z; } -static inline WZ_DECL_CONST bool operator !=(Rotation const &a, Rotation const &b) { return a.direction != b.direction || a.pitch != b.pitch || a.roll != b.roll; } +static inline WZ_DECL_PURE bool operator !=(Vector2i const &a, Vector2i const &b) { return a.x != b.x || a.y != b.y; } +static inline WZ_DECL_PURE bool operator !=(Vector2f const &a, Vector2f const &b) { return a.x != b.x || a.y != b.y; } +static inline WZ_DECL_PURE bool operator !=(Vector3i const &a, Vector3i const &b) { return a.x != b.x || a.y != b.y || a.z != b.z; } +static inline WZ_DECL_PURE bool operator !=(Vector3f const &a, Vector3f const &b) { return a.x != b.x || a.y != b.y || a.z != b.z; } +static inline WZ_DECL_PURE bool operator !=(Rotation const &a, Rotation const &b) { return a.direction != b.direction || a.pitch != b.pitch || a.roll != b.roll; } // vector + vector -> vector -static inline WZ_DECL_CONST Vector2i operator +(Vector2i const &a, Vector2i const &b) { return Vector2i(a.x + b.x, a.y + b.y); } -static inline WZ_DECL_CONST Vector2f operator +(Vector2f const &a, Vector2f const &b) { return Vector2f(a.x + b.x, a.y + b.y); } -static inline WZ_DECL_CONST Vector3i operator +(Vector3i const &a, Vector3i const &b) { return Vector3i(a.x + b.x, a.y + b.y, a.z + b.z); } -static inline WZ_DECL_CONST Vector3f operator +(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x + b.x, a.y + b.y, a.z + b.z); } -//static inline WZ_DECL_CONST Rotation operator +(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction + (int16_t)b.direction, (int16_t)a.pitch + (int16_t)b.pitch, (int16_t)a.roll + (int16_t)b.roll); } +static inline WZ_DECL_PURE Vector2i operator +(Vector2i const &a, Vector2i const &b) { return Vector2i(a.x + b.x, a.y + b.y); } +static inline WZ_DECL_PURE Vector2f operator +(Vector2f const &a, Vector2f const &b) { return Vector2f(a.x + b.x, a.y + b.y); } +static inline WZ_DECL_PURE Vector3i operator +(Vector3i const &a, Vector3i const &b) { return Vector3i(a.x + b.x, a.y + b.y, a.z + b.z); } +static inline WZ_DECL_PURE Vector3f operator +(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x + b.x, a.y + b.y, a.z + b.z); } +//static inline WZ_DECL_PURE Rotation operator +(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction + (int16_t)b.direction, (int16_t)a.pitch + (int16_t)b.pitch, (int16_t)a.roll + (int16_t)b.roll); } // vector - vector -> vector -static inline WZ_DECL_CONST Vector2i operator -(Vector2i const &a, Vector2i const &b) { return Vector2i(a.x - b.x, a.y - b.y); } -static inline WZ_DECL_CONST Vector2f operator -(Vector2f const &a, Vector2f const &b) { return Vector2f(a.x - b.x, a.y - b.y); } -static inline WZ_DECL_CONST Vector3i operator -(Vector3i const &a, Vector3i const &b) { return Vector3i(a.x - b.x, a.y - b.y, a.z - b.z); } -static inline WZ_DECL_CONST Vector3f operator -(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x - b.x, a.y - b.y, a.z - b.z); } -//static inline WZ_DECL_CONST Rotation operator -(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction - (int16_t)b.direction, (int16_t)a.pitch - (int16_t)b.pitch, (int16_t)a.roll - (int16_t)b.roll); } +static inline WZ_DECL_PURE Vector2i operator -(Vector2i const &a, Vector2i const &b) { return Vector2i(a.x - b.x, a.y - b.y); } +static inline WZ_DECL_PURE Vector2f operator -(Vector2f const &a, Vector2f const &b) { return Vector2f(a.x - b.x, a.y - b.y); } +static inline WZ_DECL_PURE Vector3i operator -(Vector3i const &a, Vector3i const &b) { return Vector3i(a.x - b.x, a.y - b.y, a.z - b.z); } +static inline WZ_DECL_PURE Vector3f operator -(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x - b.x, a.y - b.y, a.z - b.z); } +//static inline WZ_DECL_PURE Rotation operator -(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction - (int16_t)b.direction, (int16_t)a.pitch - (int16_t)b.pitch, (int16_t)a.roll - (int16_t)b.roll); } // vector * scalar -> vector -static inline WZ_DECL_CONST Vector2i operator *(Vector2i const &a, int s) { return Vector2i(a.x*s, a.y*s); } -static inline WZ_DECL_CONST Vector2f operator *(Vector2f const &a, float s) { return Vector2f(a.x*s, a.y*s); } -static inline WZ_DECL_CONST Vector3i operator *(Vector3i const &a, int s) { return Vector3i(a.x*s, a.y*s, a.z*s); } -static inline WZ_DECL_CONST Vector3f operator *(Vector3f const &a, float s) { return Vector3f(a.x*s, a.y*s, a.z*s); } -//static inline WZ_DECL_CONST Rotation operator *(Rotation const &a, int s) { return Rotation((int16_t)a.direction*s, (int16_t)a.pitch*s, (int16_t)a.roll*s); } +static inline WZ_DECL_PURE Vector2i operator *(Vector2i const &a, int s) { return Vector2i(a.x*s, a.y*s); } +static inline WZ_DECL_PURE Vector2f operator *(Vector2f const &a, float s) { return Vector2f(a.x*s, a.y*s); } +static inline WZ_DECL_PURE Vector3i operator *(Vector3i const &a, int s) { return Vector3i(a.x*s, a.y*s, a.z*s); } +static inline WZ_DECL_PURE Vector3f operator *(Vector3f const &a, float s) { return Vector3f(a.x*s, a.y*s, a.z*s); } +//static inline WZ_DECL_PURE Rotation operator *(Rotation const &a, int s) { return Rotation((int16_t)a.direction*s, (int16_t)a.pitch*s, (int16_t)a.roll*s); } // vector / scalar -> vector -static inline WZ_DECL_CONST Vector2i operator /(Vector2i const &a, int s) { return Vector2i(a.x/s, a.y/s); } -static inline WZ_DECL_CONST Vector2f operator /(Vector2f const &a, float s) { return Vector2f(a.x/s, a.y/s); } -static inline WZ_DECL_CONST Vector3i operator /(Vector3i const &a, int s) { return Vector3i(a.x/s, a.y/s, a.z/s); } -static inline WZ_DECL_CONST Vector3f operator /(Vector3f const &a, float s) { return Vector3f(a.x/s, a.y/s, a.z/s); } -//static inline WZ_DECL_CONST Rotation operator /(Rotation const &a, int s) { return Rotation((int16_t)a.direction/s, (int16_t)a.pitch/s, (int16_t)a.roll/s); } +static inline WZ_DECL_PURE Vector2i operator /(Vector2i const &a, int s) { return Vector2i(a.x/s, a.y/s); } +static inline WZ_DECL_PURE Vector2f operator /(Vector2f const &a, float s) { return Vector2f(a.x/s, a.y/s); } +static inline WZ_DECL_PURE Vector3i operator /(Vector3i const &a, int s) { return Vector3i(a.x/s, a.y/s, a.z/s); } +static inline WZ_DECL_PURE Vector3f operator /(Vector3f const &a, float s) { return Vector3f(a.x/s, a.y/s, a.z/s); } +//static inline WZ_DECL_PURE Rotation operator /(Rotation const &a, int s) { return Rotation((int16_t)a.direction/s, (int16_t)a.pitch/s, (int16_t)a.roll/s); } // vector * vector -> scalar -static inline WZ_DECL_CONST int operator *(Vector2i const &a, Vector2i const &b) { return a.x*b.x + a.y*b.y; } -static inline WZ_DECL_CONST float operator *(Vector2f const &a, Vector2f const &b) { return a.x*b.x + a.y*b.y; } -static inline WZ_DECL_CONST int operator *(Vector3i const &a, Vector3i const &b) { return a.x*b.x + a.y*b.y + a.z*b.z; } -static inline WZ_DECL_CONST float operator *(Vector3f const &a, Vector3f const &b) { return a.x*b.x + a.y*b.y + a.z*b.z; } +static inline WZ_DECL_PURE int operator *(Vector2i const &a, Vector2i const &b) { return a.x*b.x + a.y*b.y; } +static inline WZ_DECL_PURE float operator *(Vector2f const &a, Vector2f const &b) { return a.x*b.x + a.y*b.y; } +static inline WZ_DECL_PURE int operator *(Vector3i const &a, Vector3i const &b) { return a.x*b.x + a.y*b.y + a.z*b.z; } +static inline WZ_DECL_PURE float operator *(Vector3f const &a, Vector3f const &b) { return a.x*b.x + a.y*b.y + a.z*b.z; } // normalise(vector) -> scalar -static inline WZ_DECL_CONST Vector2f normalise(Vector2f const &a) { float sq = a*a; if (sq == 0.0f) return Vector2f(0.0f, 0.0f); return a / sqrtf(sq); } -static inline WZ_DECL_CONST Vector3f normalise(Vector3f const &a) { float sq = a*a; if (sq == 0.0f) return Vector3f(0.0f, 0.0f, 0.0f); return a / sqrtf(sq); } +static inline WZ_DECL_PURE Vector2f normalise(Vector2f const &a) { float sq = a*a; if (sq == 0.0f) return Vector2f(0.0f, 0.0f); return a / sqrtf(sq); } +static inline WZ_DECL_PURE Vector3f normalise(Vector3f const &a) { float sq = a*a; if (sq == 0.0f) return Vector3f(0.0f, 0.0f, 0.0f); return a / sqrtf(sq); } // iSinCosR(angle, scalar) -> 2d_vector static inline WZ_DECL_PURE Vector2i iSinCosR(uint16_t a, int32_t r) { return Vector2i(iSinR(a, r), iCosR(a, r)); } @@ -141,9 +141,14 @@ static inline WZ_DECL_PURE Vector3i swapYZ(Vector3i a) { return Vector3i(a.x, a. static inline WZ_DECL_PURE Vector3f swapYZ(Vector3f a) { return Vector3f(a.x, a.z, a.y); } // vector × vector -> scalar -static inline WZ_DECL_CONST Vector3i crossProduct(Vector3i const &a, Vector3i const &b) { return Vector3i(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); } -static inline WZ_DECL_CONST Vector3f crossProduct(Vector3f const &a, Vector3f const &b) { return Vector3f(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); } +static inline WZ_DECL_PURE Vector3i crossProduct(Vector3i const &a, Vector3i const &b) { return Vector3i(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); } +static inline WZ_DECL_PURE Vector3f crossProduct(Vector3f const &a, Vector3f const &b) { return Vector3f(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); } +// vector += vector +static inline Vector2i const &operator +=(Vector2i &a, Vector2i const &b) { return a = a + b; } +static inline Vector2f const &operator +=(Vector2f &a, Vector2f const &b) { return a = a + b; } +static inline Vector3i const &operator +=(Vector3i &a, Vector3i const &b) { return a = a + b; } +static inline Vector3f const &operator +=(Vector3f &a, Vector3f const &b) { return a = a + b; } /*! @@ -164,7 +169,7 @@ static inline WZ_DECL_CONST Vector2i Vector2f_To2i(const Vector2f v) * \param degrees the amount of degrees to rotate in counterclockwise direction * \return Result */ -static inline WZ_DECL_CONST Vector2f Vector2f_Rotate2f(Vector2f v, float degrees) +static inline WZ_DECL_PURE Vector2f Vector2f_Rotate2f(Vector2f v, float degrees) { Vector2f result; int angle = (int)((degrees*65536 + 180)/360); From 3d7939e525ba36945429bd1b2e1ec56dc2858205 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 01:38:15 +0100 Subject: [PATCH 024/142] Simplify targetting projectiles. Also, made projectile misses be in random directions instead of picking one of 8 directions. --- src/combat.cpp | 147 ++++++++++++++++++--------------------------- src/projectile.cpp | 18 +++--- 2 files changed, 65 insertions(+), 100 deletions(-) diff --git a/src/combat.cpp b/src/combat.cpp index c6333496f..700881ede 100644 --- a/src/combat.cpp +++ b/src/combat.cpp @@ -39,37 +39,15 @@ // maximum random pause for firing #define RANDOM_PAUSE 500 -/* direction array for missed bullets */ -typedef struct _bul_dir -{ - SDWORD x,y; -} BUL_DIR; -#define BUL_MAXSCATTERDIR 8 -static BUL_DIR aScatterDir[BUL_MAXSCATTERDIR] = -{ - { 0,-1 }, - { 1,-1 }, - { 1,0 }, - { 1,1 }, - { 0,1 }, - { -1,1 }, - { -1,0 }, - { -1,-1 }, -}; - // Watermelon:real projectile /* Fire a weapon at something */ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, int weapon_slot) { WEAPON_STATS *psStats; - SDWORD xDiff, yDiff, distSquared; - UDWORD dice, damLevel; - SDWORD resultHitChance=0,baseHitChance=0,fireChance; + UDWORD damLevel; UDWORD firePause; SDWORD longRange; DROID *psDroid = NULL; - int minOffset = 5; - SDWORD dist; int compIndex; CHECK_OBJECT(psAttacker); @@ -140,7 +118,7 @@ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, in // add a random delay to the fire // With logical updates, a good graphics gard no longer gives a better ROF. // TODO Should still replace this with something saner, such as a ±1% random deviation in reload time. - fireChance = gameTime - (psWeap->lastFired + firePause); + int fireChance = gameTime - (psWeap->lastFired + firePause); if (gameRand(RANDOM_PAUSE) > fireChance) { return; @@ -190,10 +168,12 @@ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, in } } + Vector3i deltaPos = psTarget->pos - psAttacker->pos; + // if the turret doesn't turn, check if the attacker is in alignment with the target if (psAttacker->type == OBJ_DROID && !psStats->rotate) { - uint16_t targetDir = calcDirection(psAttacker->pos.x, psAttacker->pos.y, psTarget->pos.x, psTarget->pos.y); + uint16_t targetDir = iAtan2(removeZ(deltaPos)); int dirDiff = abs(angleDelta(targetDir - psAttacker->rot.direction)); if (dirDiff > FIXED_TURRET_DIR) { @@ -202,12 +182,10 @@ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, in } /* Now see if the target is in range - also check not too near */ - xDiff = psAttacker->pos.x - psTarget->pos.x; - yDiff = psAttacker->pos.y - psTarget->pos.y; - distSquared = xDiff*xDiff + yDiff*yDiff; - dist = iSqrt(distSquared); + int dist = iHypot(removeZ(deltaPos)); longRange = proj_GetLongRange(psStats); + int baseHitChance = 0; if ((dist <= psStats->shortRange) && (dist >= psStats->minRange)) { // get weapon chance to hit in the short range @@ -230,7 +208,7 @@ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, in // apply experience accuracy modifiers to the base //hit chance, not to the final hit chance - resultHitChance = baseHitChance; + int resultHitChance = baseHitChance; // add the attacker's experience if (psAttacker->type == OBJ_DROID) @@ -291,82 +269,73 @@ void combFire(WEAPON *psWeap, BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, in resultHitChance = INVISIBLE_ACCURACY_PENALTY * resultHitChance / 100; } - dice = gameRand(100); + //Watermelon:predicted X,Y offset per sec + Vector3i predict = psTarget->pos; - // see if we were lucky to hit the target - if (dice <= resultHitChance) + //Watermelon:Target prediction + if (isDroid(psTarget)) { - //Watermelon:predicted X,Y offset per sec - Vector3i predict; + DROID *psDroid = castDroid(psTarget); - /* Kerrrbaaang !!!!! a hit */ - //Watermelon:Target prediction - if (psTarget->type == OBJ_DROID) + int32_t flightTime; + if (proj_Direct(psStats) || dist <= psStats->minRange) { - int32_t flightTime; - SDWORD empTime = 0; - - if (proj_Direct(psStats) || dist <= psStats->minRange) - { - flightTime = dist / psStats->flightSpeed; - } - else - { - int32_t vXY, vZ; // Unused, we just want the flight time. - flightTime = projCalcIndirectVelocities(dist, psTarget->pos.z - psAttacker->pos.z, psStats->flightSpeed, &vXY, &vZ); - } - - if (psTarget->lastHitWeapon == WSC_EMP) - { - empTime = EMP_DISABLE_TIME - (gameTime - psTarget->timeLastHit); - CLIP(empTime, 0, EMP_DISABLE_TIME); - if (empTime >= EMP_DISABLE_TIME * 0.9) - { - flightTime = 0; /* Just hit. Assume they'll get hit again */ - } - else - { - flightTime = MAX(0, flightTime - empTime); - } - } - - predict.x = iSinR(((DROID *)psTarget)->sMove.moveDir, ((DROID *)psTarget)->sMove.speed*flightTime / GAME_TICKS_PER_SEC); - predict.x += psTarget->pos.x; - predict.y = iCosR(((DROID *)psTarget)->sMove.moveDir, ((DROID *)psTarget)->sMove.speed*flightTime / GAME_TICKS_PER_SEC); - predict.y += psTarget->pos.y; - - // Make sure we don't pass any negative or out of bounds numbers to proj_SendProjectile - CLIP(predict.x, 0, world_coord(mapWidth - 1)); - CLIP(predict.y, 0, world_coord(mapHeight - 1)); + flightTime = dist / psStats->flightSpeed; } else { - predict.x = psTarget->pos.x; - predict.y = psTarget->pos.y; + int32_t vXY, vZ; // Unused, we just want the flight time. + flightTime = projCalcIndirectVelocities(dist, deltaPos.z, psStats->flightSpeed, &vXY, &vZ); } - predict.z = psTarget->pos.z; - objTrace(psAttacker->id, "combFire: [%s]->%u: resultHitChance=%d, visibility=%hhu : ", - psStats->pName, psTarget->id, resultHitChance, psTarget->visible[psAttacker->player]); - - if (!proj_SendProjectile(psWeap, psAttacker, psAttacker->player, predict, psTarget, false, weapon_slot)) + if (psTarget->lastHitWeapon == WSC_EMP) { - /* Out of memory - we can safely ignore this */ - debug(LOG_ERROR, "Out of memory"); - return; + int empTime = EMP_DISABLE_TIME - (gameTime - psTarget->timeLastHit); + CLIP(empTime, 0, EMP_DISABLE_TIME); + if (empTime >= EMP_DISABLE_TIME * 9/10) + { + flightTime = 0; /* Just hit. Assume they'll get hit again */ + } + else + { + flightTime = MAX(0, flightTime - empTime); + } } + + predict += Vector3i(iSinCosR(psDroid->sMove.moveDir, psDroid->sMove.speed*flightTime / GAME_TICKS_PER_SEC), 0); + } + + /* Fire off the bullet to the miss location. The miss is only visible if the player owns the target. (Why? - Per) */ + // What bVisible really does is to make the projectile audible even if it misses you. Since the target is NULL, proj_SendProjectile can't check if it was fired at you. + bool bVisibleAnyway = psTarget->player == selectedPlayer; + + // see if we were lucky to hit the target + bool isHit = gameRand(100) <= resultHitChance; + if (isHit) + { + /* Kerrrbaaang !!!!! a hit */ + objTrace(psAttacker->id, "combFire: [%s]->%u: resultHitChance=%d, visibility=%hhu : ", psStats->pName, psTarget->id, resultHitChance, psTarget->visible[psAttacker->player]); + syncDebug("hit=(%d,%d,%d)", predict.x, predict.y, predict.z); } else /* Deal with a missed shot */ { - int missDir = gameRand(BUL_MAXSCATTERDIR), missDist = 2 * (100 - resultHitChance) + minOffset; - Vector3i miss = Vector3i(aScatterDir[missDir].x, aScatterDir[missDir].y, 0)*missDist + psTarget->pos; + const int minOffset = 5; - objTrace(psAttacker->id, "combFire: Missed shot (%d) ended up at (%4d,%4d)", dice, miss.x, miss.y); + int missDist = 2 * (100 - resultHitChance) + minOffset; + Vector3i miss = Vector3i(iSinCosR(gameRand(DEG(360)), missDist), 0); + predict += miss; - /* Fire off the bullet to the miss location. The miss is only visible if the player owns the target. (Why? - Per) */ - proj_SendProjectile(psWeap, psAttacker, psAttacker->player, miss, NULL, psTarget->player == selectedPlayer, weapon_slot); + psTarget = NULL; // Missed the target, so don't expect to hit it. + + objTrace(psAttacker->id, "combFire: Missed shot by (%4d,%4d)", miss.x, miss.y); + syncDebug("miss=(%d,%d,%d)", predict.x, predict.y, predict.z); } - return; + + // Make sure we don't pass any negative or out of bounds numbers to proj_SendProjectile + CLIP(predict.x, 0, world_coord(mapWidth - 1)); + CLIP(predict.y, 0, world_coord(mapHeight - 1)); + + proj_SendProjectile(psWeap, psAttacker, psAttacker->player, predict, psTarget, bVisibleAnyway, weapon_slot); } /*checks through the target players list of structures and droids to see diff --git a/src/projectile.cpp b/src/projectile.cpp index 315814b76..72ca81179 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -370,8 +370,6 @@ int32_t projCalcIndirectVelocities(const int32_t dx, const int32_t dz, int32_t v bool proj_SendProjectile(WEAPON *psWeap, SIMPLE_OBJECT *psAttacker, int player, Vector3i target, BASE_OBJECT *psTarget, BOOL bVisible, int weapon_slot) { PROJECTILE * psProj = new PROJECTILE(ProjectileTrackerID |(gameTime2 >>4), player); - int32_t dx, dy, dz; - uint32_t dxy; WEAPON_STATS *psStats = &asWeaponStats[psWeap->nStat]; ASSERT_OR_RETURN( false, psWeap->nStat < numWeaponStats, "Invalid range referenced for numWeaponStats, %d > %d", psWeap->nStat, numWeaponStats); @@ -454,28 +452,26 @@ bool proj_SendProjectile(WEAPON *psWeap, SIMPLE_OBJECT *psAttacker, int player, scoreUpdateVar(WD_SHOTS_OFF_TARGET); } - dx = psProj->dst.x - psProj->src.x; - dy = psProj->dst.y - psProj->src.y; - dz = psProj->dst.z - psProj->src.z; + Vector3i deltaPos = psProj->dst - psProj->src; /* roll never set */ psProj->rot.roll = 0; - psProj->rot.direction = iAtan2(dx, dy); + psProj->rot.direction = iAtan2(removeZ(deltaPos)); - /* get target distance */ - dxy = iHypot(dx, dy); + // Get target distance, horizontal distance only. + uint32_t dist = iHypot(removeZ(deltaPos)); - if (proj_Direct(psStats) || (!proj_Direct(psStats) && dxy <= psStats->minRange)) + if (proj_Direct(psStats) || (!proj_Direct(psStats) && dist <= psStats->minRange)) { - psProj->rot.pitch = iAtan2(dz, dxy); + psProj->rot.pitch = iAtan2(deltaPos.z, dist); psProj->state = PROJ_INFLIGHTDIRECT; } else { /* indirect */ - projCalcIndirectVelocities(dxy, dz, psStats->flightSpeed, &psProj->vXY, &psProj->vZ); + projCalcIndirectVelocities(dist, deltaPos.z, psStats->flightSpeed, &psProj->vXY, &psProj->vZ); psProj->rot.pitch = iAtan2(psProj->vZ, psProj->vXY); psProj->state = PROJ_INFLIGHTINDIRECT; } From 0f3974c3d3174a20f388cae6b48186aa1f752eee Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 02:40:21 +0100 Subject: [PATCH 025/142] Fix releaseBranch script to handle netplay.cpp instead of netplay.c. --- releaseBranch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releaseBranch b/releaseBranch index 853d630b8..50bde9b12 100755 --- a/releaseBranch +++ b/releaseBranch @@ -79,7 +79,7 @@ sed -i 's/\(AC_INIT(\[Warzone 2100\],\[\)'"${BASE}"'\(\],\[http:\/\/wz2100.net\/ ' "${GITROOT}"configure.ac sed -i 's/\(char VersionString\[VersionStringSize\] = "\).*\(";\)/\1'"${FULLVERSTR}"'\2/; s/\(static int NETCODE_VERSION_MINOR = \)[0-9]*\(;\)/\1'"${DATENUM}"'\2/ - ' "${GITROOT}"lib/netplay/netplay.c + ' "${GITROOT}"lib/netplay/netplay.c* sed -i 's/\(VALUE "FileVersion", "\)'"${BASE}"'\("\)/\1'"${FULLVERSTR}"'\2/; s/\(VALUE "ProductVersion", "\)'"${BASE}"'\("\)/\1'"${FULLVERSTR}"'\2/; ' "${GITROOT}"win32/warzone2100.rc "${GITROOT}"win32/warzone2100.vs2k5.rc "${GITROOT}"win32/warzone2100.vs2k8.rc From 76690bbc4baba2d92e07d40b16c7c05fa6d6af81 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 02:58:16 +0100 Subject: [PATCH 026/142] Try to fix the cross compile. --- lib/exceptionhandler/exchndl.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/exceptionhandler/exchndl.cpp b/lib/exceptionhandler/exchndl.cpp index 62bc15287..025ca99fd 100644 --- a/lib/exceptionhandler/exchndl.cpp +++ b/lib/exceptionhandler/exchndl.cpp @@ -78,9 +78,12 @@ DWORD GetModuleBase(DWORD dwAddress) #ifdef HAVE_BFD #include +extern "C" +{ #include "include/demangle.h" #include "include/coff/internal.h" #include "include/libcoff.h" +} // Read in the symbol table. static bfd_boolean @@ -593,20 +596,20 @@ BOOL WINAPI IntelStackWalk( StackFrame->AddrFrame.Offset = ContextRecord->Ebp; StackFrame->AddrReturn.Mode = AddrModeFlat; - if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, (void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } else { StackFrame->AddrPC.Offset = StackFrame->AddrReturn.Offset; //AddrStack = AddrFrame + 2*sizeof(DWORD); - if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) StackFrame->AddrFrame.Offset, (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, (void *) StackFrame->AddrFrame.Offset, (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) return FALSE; - if(!ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, (void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } - ReadMemoryRoutine((HANDLE)hProcess, (DWORD) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD)), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); + ReadMemoryRoutine((HANDLE)hProcess, (void *) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD)), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); return TRUE; } From 16a1582aa506c3669f6361934c6b93402fc42546 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 13:06:13 +0100 Subject: [PATCH 027/142] Fixes ticket:2430 without breaking the cross compile. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Error 27 error C2664: 'BOOL (HANDLE,DWORD,PVOID,DWORD,PDWORD)' : cannot convert parameter 1 from 'DWORD' to 'HANDLE' Since it cannot convert (HANDLE)hProcess to a HANDLE, the obvious solution is to add a cast: (HANDLE)(HANDLE)hProcess. Error 26 error C2664: 'BOOL (HANDLE,DWORD,PVOID,DWORD,PDWORD)' : cannot convert parameter 2 from 'void *' to 'DWORD' ../../../../lib/exceptionhandler/exchndl.cpp: In function ‘BOOL IntelStackWalk(DWORD, void*, void*, _tagSTACKFRAME*, CONTEXT*, BOOL (*)(void*, const void*, void*, DWORD, DWORD*), void* (*)(void*, DWORD), DWORD (*)(void*, DWORD), DWORD (*)(void*, void*, _tagADDRESS*))’: ../../../../lib/exceptionhandler/exchndl.cpp:599: error: invalid conversion from ‘long unsigned int’ to ‘const void*’ Since it needs a void *, no, I mean a DWORD, no, I mean a void *, the obvious solution is to add a cast: ...id *)(DWORD)(void *)(DWORD)(void *)StackFrame->AddrFrame.Offset --- lib/exceptionhandler/exchndl.cpp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/exceptionhandler/exchndl.cpp b/lib/exceptionhandler/exchndl.cpp index 025ca99fd..11f80b8f5 100644 --- a/lib/exceptionhandler/exchndl.cpp +++ b/lib/exceptionhandler/exchndl.cpp @@ -566,6 +566,17 @@ BOOL PEGetSymFromAddr(HANDLE hProcess, DWORD dwAddress, LPTSTR lpSymName, DWORD return TRUE; } +// Cross platform compatibility. +// If you change this, make sure it doesn't break the cross compile or the native compile. +// Don't ask why this is needed, have no idea. +struct ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing +{ + ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing(void *whatever) : whatever(whatever) {} + operator void *() const { return whatever; } // Oooh, look compiler1, I'm a void *, just what you wanted! + operator DWORD() const { return (DWORD)whatever; } // Oooh, look compiler2, I'm a DWORD, just what you wanted! + void *whatever; +}; + static BOOL WINAPI IntelStackWalk( DWORD MachineType, @@ -596,20 +607,28 @@ BOOL WINAPI IntelStackWalk( StackFrame->AddrFrame.Offset = ContextRecord->Ebp; StackFrame->AddrReturn.Mode = AddrModeFlat; - if(!ReadMemoryRoutine((HANDLE)hProcess, (void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) +// Error 26 error C2664: 'BOOL (HANDLE,DWORD,PVOID,DWORD,PDWORD)' : +// cannot convert parameter 2 from 'void *' to 'DWORD' +// c:\warzone\lib\exceptionhandler\exchndl.cpp 599 +// Error 27 error C2664: 'BOOL (HANDLE,DWORD,PVOID,DWORD,PDWORD)' : +// cannot convert parameter 1 from 'DWORD' to 'HANDLE' <----------------------- What the??! Ok, I'll cast "(HANDLE)hProcess" to a HANDLE again then. +// c:\warzone\lib\exceptionhandler\exchndl.cpp 599 +// ../../../../lib/exceptionhandler/exchndl.cpp: In function ‘BOOL IntelStackWalk(DWORD, void*, void*, _tagSTACKFRAME*, CONTEXT*, BOOL (*)(void*, const void*, void*, DWORD, DWORD*), void* (*)(void*, DWORD), DWORD (*)(void*, DWORD), DWORD (*)(void*, void*, _tagADDRESS*))’: +// ../../../../lib/exceptionhandler/exchndl.cpp:599: error: invalid conversion from ‘long unsigned int’ to ‘const void*’ + if(!ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD))), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } else { StackFrame->AddrPC.Offset = StackFrame->AddrReturn.Offset; //AddrStack = AddrFrame + 2*sizeof(DWORD); - if(!ReadMemoryRoutine((HANDLE)hProcess, (void *) StackFrame->AddrFrame.Offset, (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) StackFrame->AddrFrame.Offset), (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) return FALSE; - if(!ReadMemoryRoutine((HANDLE)hProcess, (void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD)), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD))), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } - ReadMemoryRoutine((HANDLE)hProcess, (void *) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD)), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); + ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD))), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); return TRUE; } From 6a6b23e13b2e68f3b65bdcc0b917c4ee59b366d8 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 21:38:18 +0100 Subject: [PATCH 028/142] Kill idiotic "'BOOL' : forcing value to bool 'true' or 'false' (performance warning)." warning. The compiler probably wasted more cpu cycles printing the warning than the conversion ever would. Refs ticket:2431. --- lib/framework/math_ext.h | 2 +- lib/framework/wzglobal.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/framework/math_ext.h b/lib/framework/math_ext.h index 2f49a573c..fbd628b8b 100644 --- a/lib/framework/math_ext.h +++ b/lib/framework/math_ext.h @@ -63,7 +63,7 @@ static inline int roundf(float x) * @return The rounded integer value. If @c x is integral or infinite, @c x * itself is returned. */ -static double nearbyint(double x) +static inline double nearbyint(double x) { if (ceil(x + 0.5) == floor(x + 0.5)) { diff --git a/lib/framework/wzglobal.h b/lib/framework/wzglobal.h index 8085b6cae..6e46a2172 100644 --- a/lib/framework/wzglobal.h +++ b/lib/framework/wzglobal.h @@ -570,7 +570,7 @@ # if defined(WZ_CC_MSVC) // notify people we are disabling these warning messages. -# pragma message (" *** Warnings 4018,4100,4127,4204,4244,4267,4389 have been squelched. ***") +# pragma message (" *** Warnings 4018,4100,4127,4204,4244,4267,4389,4800 have been squelched. ***") # pragma warning (disable : 4018) // Shut up: '>' : signed/unsigned mismatch # pragma warning (disable : 4100) // Shut up: unreferenced formal parameter (FIXME) # pragma warning (disable : 4127) // Shut up: conditional expression is constant (eg. "while(0)") @@ -578,6 +578,7 @@ # pragma warning (disable : 4244) // Shut up: conversion from 'float' to 'int', possible loss of data # pragma warning (disable : 4267) // Shut up: conversion from 'size_t' to 'type', possible loss of data # pragma warning (disable : 4389) // Shut up: '==' : signed/unsigned mismatch +# pragma warning (disable : 4800) // Shut up: 'BOOL' : forcing value to bool 'true' or 'false' (performance warning) # define strcasecmp _stricmp # define strncasecmp _strnicmp From 365dfe80d917919f77968c65641cf8b029268855 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Thu, 23 Dec 2010 23:02:17 +0100 Subject: [PATCH 029/142] =?UTF-8?q?Turkish=20translation=20update=20by=20A?= =?UTF-8?q?yhan=20G=C3=B6rg=C3=BCl=C3=BC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2418. --- po/tr.po | 1669 +++++++++++++++++++++++++++--------------------------- 1 file changed, 836 insertions(+), 833 deletions(-) diff --git a/po/tr.po b/po/tr.po index 3daa032ba..ffce991d8 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" -"PO-Revision-Date: 2010-12-02 20:25+0200\n" +"POT-Creation-Date: 2010-12-23 22:59+0100\n" +"PO-Revision-Date: 2010-12-17 20:51+0200\n" "Last-Translator: Ayhan GORGULU \n" "Language-Team: Turkey \n" "Language: \n" @@ -1418,7 +1418,7 @@ msgstr "Savunmalar geliÅŸtirildi" #: data/base/messages/resmessages1.rmsg:96 #: data/mp/messages/resmessages1.rmsg:96 msgid "Improved Titanium-reinforced concrete" -msgstr "Titanyum destekli güçlendirilmiÅŸ sert girit" +msgstr "Titanyum destekli güçlendirilmiÅŸ sert Girit " #: data/base/messages/resmessages1.rmsg:97 msgid "Increases Armour and Body Points" @@ -2047,7 +2047,7 @@ msgstr "Hız: Orta" #: data/base/messages/resmessages1.rmsg:499 #: data/mp/messages/resmessages1.rmsg:500 msgid "Amphibious hover propulsion" -msgstr "Amfibi HoverCraft" +msgstr "Suda gidebilen HoverCraft Yürütücü" #: data/base/messages/resmessages1.rmsg:500 #: data/base/messages/resmessages1.rmsg:526 @@ -3764,12 +3764,12 @@ msgstr "Ãœretmek için Cyborg Fabrikası gerekli" #: data/base/messages/resmessages3.rmsg:213 #: data/mp/messages/resmessages3.rmsg:213 msgid "High tensile concrete-plastic composite" -msgstr "Yüksek gerilimli plastik, M. alaşımla destekli Girit" +msgstr "Yüksek gerilimli plastik, Maden alaşımla destekli duvar " #: data/base/messages/resmessages3.rmsg:226 #: data/mp/messages/resmessages3.rmsg:226 msgid "Bonded metallic laminates formed into walls and defenses" -msgstr "Metalık Laminler duvarlar ve saunmalar ile baÄŸlandı" +msgstr "Metalik Laminler duvarlar ve savunmalar ile baÄŸlandı" #: data/base/messages/resmessages3.rmsg:239 #: data/mp/messages/resmessages3.rmsg:239 @@ -4409,7 +4409,7 @@ msgstr "Titanyum-destekli Girit" #: data/base/messages/resmessagesall.rmsg:6 #: data/mp/messages/resmessagesall.rmsg:6 msgid "Enables Hardcrete walls" -msgstr "Sert Girit Duvarlarını aktif eder" +msgstr "Sert Girit duvarları aktif eder" #: data/base/messages/resmessagesall.rmsg:18 #: data/mp/messages/resmessagesall.rmsg:18 @@ -4460,7 +4460,7 @@ msgstr "Hasarlı Birimleri otomatik olarak tamir eder" #: data/mp/messages/resmessagesall.rmsg:373 #: data/mp/messages/strings/resstrings.txt:474 msgid "Or damaged units may be selected as target" -msgstr "Yada hasarblı birim direk hedef olarak seçilebilir" +msgstr "Yada hasarlı birim direk hedef olarak seçilebilir" #: data/base/messages/resmessagesall.rmsg:56 #: data/mp/messages/resmessagesall.rmsg:56 @@ -4986,7 +4986,7 @@ msgstr "Kod çözülüyor..." #: data/base/messages/strings/cam2strings.txt:18 #: data/base/messages/strings/cam2strings.txt:22 msgid "TRANSPORT MISSION: Transport Down" -msgstr "TAÅžIMA GÖREVÄ°: Taşıma G. Düştü" +msgstr "TAÅžIMA GÖREVÄ°: Taşıma Gemisi Düştü" #: data/base/messages/strings/cam2strings.txt:19 msgid "Our transport carrying units from team Alpha Base has been shot down." @@ -4998,7 +4998,7 @@ msgstr "Bu bölgeden saldırı altındalar.." #: data/base/messages/strings/cam2strings.txt:24 msgid "Assemble a rescue team to recover the transport and its cargo." -msgstr "Kargoyu ve Taşıma G. kurtarmak için bir saldırı düzenle." +msgstr "Kargoyu ve Taşıma Gemisini kurtarmak için bir saldırı düzenle." #: data/base/messages/strings/cam2strings.txt:27 msgid "IN-FLIGHT BRIEFING" @@ -5137,7 +5137,7 @@ msgstr "Onlar bilinmeyen bir bölgeye uçuyorlar." #: data/base/messages/strings/cam2strings.txt:92 msgid "Destroy or drive off The Collective's transport." -msgstr "Kolektif Taşıma G. sürücüsünü öldür." +msgstr "Kolektif Taşıma Gemisi sürücüsünü öldür." #: data/base/messages/strings/cam2strings.txt:93 msgid "Rescue as many civilians as possible." @@ -5196,7 +5196,7 @@ msgstr "NEXUS, K.A.S.S.A uyduları ile kendisininkileri tekrar baÄŸladı." #: data/base/messages/strings/cam2strings.txt:122 msgid "Use the transport to carry a strike force to this site." -msgstr "Bölgeye bir vuruÅŸ gücü taşımak için Taşıma G. kullan." +msgstr "Bölgeye bir vuruÅŸ gücü taşımak için Taşıma Gemini kullan." #: data/base/messages/strings/cam2strings.txt:123 msgid "Destroy the site and return to your base." @@ -5740,7 +5740,7 @@ msgid "New Design" msgstr "Yeni Tasarım" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Taşıyıcı" @@ -7234,7 +7234,7 @@ msgstr "Alev Atıcı Cyborg" #: data/base/messages/strings/names.txt:676 #: data/mp/messages/strings/names.txt:690 msgid "Machinegunner Cyborg" -msgstr "M.T'li Cyborg" +msgstr "Makinalı Tüfekli Cyborg" #: data/base/messages/strings/names.txt:677 msgid "Lancer Cyborg" @@ -7343,7 +7343,7 @@ msgstr "Süper Girit Kdm3" #: data/base/messages/strings/names.txt:707 #: data/mp/messages/strings/names.txt:721 msgid "Plascrete" -msgstr "Plas Girit" +msgstr "Plas Girit " #: data/base/messages/strings/names.txt:708 #: data/mp/messages/strings/names.txt:722 @@ -7353,7 +7353,7 @@ msgstr "Plas Girit Kdm2" #: data/base/messages/strings/names.txt:709 #: data/mp/messages/strings/names.txt:723 msgid "Plascrete Mk3" -msgstr "Plasgirit Kdm3" +msgstr "Plas Duvar Kdm3" #: data/base/messages/strings/names.txt:717 #: data/base/messages/strings/names.txt:1373 @@ -9888,7 +9888,7 @@ msgstr "Ödülünüz yolda." #: data/base/sequenceaudio/cam2/cam2diin.txt:4 msgid "The Project is fleeing its base and stealing your technology." -msgstr "Proje üssünüze sızıyor ve teknolojinizi çalıyor." +msgstr "Proje kendi üssüne sızıyor ve teknolojinizi çalıyor." #: data/base/sequenceaudio/cam2/cam2diin.txt:5 msgid "You must stop them!" @@ -9908,11 +9908,11 @@ msgstr "KUZEY BÖLGESÄ°" #: data/base/sequenceaudio/cam3/c003.txa:5 msgid "Congratulations your successful evacuation of Beta Base." -msgstr "BaÅŸarılı bir ÅŸekildi Beta üssünü boÅŸaltınız için tebrikler." +msgstr "BaÅŸarılı bir ÅŸekilde Beta üssünü boÅŸaltınız için tebrikler." #: data/base/sequenceaudio/cam3/c003.txa:8 msgid "Dusk, December 3rd, 2100" -msgstr "Alaca Karanlık, 3 Aralık, 2100" +msgstr "Alacakaranlık, 3 Aralık, 2100" #: data/base/sequenceaudio/cam3/c003.txa:9 msgid "In-flight to Northern Sector" @@ -10193,7 +10193,7 @@ msgstr "NASDA sistemleri bizi korumak için geliÅŸtirilmiÅŸtir. O Nükleer sald #: data/base/sequenceaudio/devastation.txt:3 msgid "Reports said that NASDA developed a fault during a routine systems check. Don't believe it. Someone wanted it to take us out." -msgstr "Raporlara göre sistemde bir arıza olmuÅŸ ve NASDA kontrol ediyormuÅŸ. Ä°nanmayın. Birileri bizi dışarı çıkarmak için aradılar." +msgstr "Raporlara göre sistemde bir arıza olmuÅŸ ve NASDA kontrol ediyormuÅŸ. Ä°nanmayın. Birileri bizi öldürmek istiyordu." #: data/base/sequenceaudio/devastation.txt:5 msgid "Those nukes were targeted on every major city around the world. NASDA was programmed to start the Collapse. When the counterstrikes launched, its laser defenses and anti-missile ground sites failed." @@ -10201,7 +10201,7 @@ msgstr "O Nükleer füzeler Dünyadaki bütün büyük ÅŸehirleri hedefliyordu. #: data/base/sequenceaudio/devastation.txt:7 msgid "The world as we knew it ended..." -msgstr "Bizim bildiÄŸmiz Dünya yok oldu..." +msgstr "Bizim bildiÄŸimiz Dünya yok oldu..." #: data/base/sequenceaudio/devastation.txt:9 msgid "The Nuclear Winter hit hard. Disease and famine claimed most of us who had survived the nuclear strikes. Wars over cans of dog food took even more." @@ -12012,1042 +12012,1043 @@ msgstr "Yüksek Hız Topu Piton Hovercraft" msgid "Plasmite Retribution VTOL" msgstr "Plasmit Aleci Atıcı Cezalandırıcı VTOL" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Yerel Sistem" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1028 msgid "Enter password here" msgstr "Parolayı buraya gir" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2021 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Konnte Lobbyserver-Namen nicht auflösen (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2035 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Lobi Sunucusu ile iletiÅŸim kurulamadı! TCP-Port %u u açıkmı?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:954 +#: src/hci.cpp:3533 +#: src/hci.cpp:3656 +#: src/hci.cpp:4120 +#: src/hci.cpp:5142 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:360 +#: src/transporter.cpp:821 msgid "Close" msgstr "Kapat" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Sohbet modunda devam ettir" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Yapılandırma dizinini ayarla" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "yapılandırma dizini" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Standart veri dizinin ayarla" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "veri dizini" # Aus dem Source ist ersichtlich, was mit "level" gemeint ist, kA, ob Sektion gut übersetzt ist -Kreuvf -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Verilen seviyede Debug seyivesini göster" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "Debug-Seviyesi" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Günlük Dosyaları Debugdan Çıkar" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "dosya" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "BoÅŸ ayıklama çıkışı stderr'e" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Tam ekran modunda yürüt" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Belirli Bir Oyun Yükle" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "oyun-ismi" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Bu Yardımı Görüntüle ve Çık" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Küresel Mod'u AktifleÅŸtir" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "Mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Sadece Tek Oyunculu bir mod etkinleÅŸtir" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Sadece Çok oyunculu bir mod etkinleÅŸtir" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Ä°ddia Devre Dışı" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Kaza iÅŸleyici test'i kazaya yol açtı" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Kayıtlı oyun yükle" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "Kayıtlı oyun" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Pencere Modunda Oyna" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Sürüm bilgisini göster ve çık" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Çözünürlüğü ayarlamak için kullan" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "GENÄ°ÅžLÄ°KxYÃœKSEKLÄ°K" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Gölgeler Devrede" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Gölgeler Devre Dışı" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Ses Devrede" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Ses Devre Dışı" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Öz-Test aktif" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "Direk olarak IP/Kurucu-adı' na baÄŸlan." -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "Kurucu" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "Direk kurulum ekranına git" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:431 +#: src/configuration.cpp:432 +#: src/multistat.cpp:130 msgid "Player" msgstr "Oyuncu" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Yeni Araç" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Araç Bedeni" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Araç Yürütücüsü" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Araç Tareti" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Tasarımı Sil" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Kinetik Zırh" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Termal Zırh" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Motor Gücü" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Ağırlık" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Toplam Güç Gereksinimi" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Toplam Beden Puanı" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Güç Kullanımı" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Püsküllü Bela" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Algılayıcı'nın Görüş Alanı" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Algılayıcı Gücü" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM-Güç" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Ä°nÅŸa Noktaları" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Menzil" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Hasar" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "AteÅŸ Oranı" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Hava Hızı" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Yol Hızı" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Yer Hızı" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Sudaki Hızı" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Silahlar" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemler" -#: src/display3d.c:544 +#: src/display3d.cpp:589 msgid "Player left" msgstr "Oyuncu Çıktı" -#: src/display3d.c:548 +#: src/display3d.cpp:593 msgid "Player dropped" msgstr "Oyuncu Düştü" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:597 +#: src/multiint.cpp:1840 msgid "Waiting for other players" msgstr "DiÄŸer oyuncular bekleniyor" -#: src/display3d.c:557 +#: src/display3d.cpp:602 msgid "Out of sync" msgstr "Senkronize edilmemiÅŸ" -#: src/display.c:1641 +#: src/display.cpp:1657 msgid "Cannot Build. Oil Resource Burning." msgstr "Ä°nÅŸa edilemiyor. Petrol Kaynağı Yanıyor." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1836 +#: src/display.cpp:2429 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Hasar %d%% - Tecrübe %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1852 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Müttefik - Hasar %d%% - Tecrübe %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2050 msgid "Truck ordered to build Oil Derrick" msgstr "Kamyon'a bir Petrol Kuyusu inÅŸatı emri verildi." -#: src/display.c:2035 +#: src/display.cpp:2051 msgid "2 trucks ordered to build Oil Derrick" msgstr "2 kamyona bir Petrol Kuyusu inÅŸatı emri verildi." -#: src/display.c:2036 +#: src/display.cpp:2052 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "%d kamyon'lara bir Petrol Kuyusu inÅŸatı emri verildi." -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Birim Kaybı!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Bina Yenilendi" -#: src/droid.c:2979 +#: src/droid.cpp:2957 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Grup %u Seçildi - %u Birim" msgstr[1] "Grup %u Seçildi - %u Birimler" -#: src/droid.c:2992 +#: src/droid.cpp:2970 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u Birim ÅŸu Gruba Atandı: %u " msgstr[1] "%u Birimler ÅŸu Gruba Atandı: %u " -#: src/droid.c:3005 +#: src/droid.cpp:2983 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "%u Numaralı Grup Merkezde - %u Birim" msgstr[1] "%u Numaralı Grup Merkezde - %u Birimler" -#: src/droid.c:3009 +#: src/droid.cpp:2987 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Grup %u 'e - %u Birim atandı" msgstr[1] "Grup %u 'e - %u Birimler Atandı" -#: src/droid.c:3301 +#: src/droid.cpp:3279 msgid "Rookie" msgstr "Er" -#: src/droid.c:3302 +#: src/droid.cpp:3280 msgctxt "rank" msgid "Green" msgstr "Onbaşı" -#: src/droid.c:3303 +#: src/droid.cpp:3281 msgid "Trained" msgstr "ÇavuÅŸ" -#: src/droid.c:3304 +#: src/droid.cpp:3282 msgid "Regular" msgstr "TeÄŸmen" -#: src/droid.c:3305 +#: src/droid.cpp:3283 msgid "Professional" msgstr "ÃœsteÄŸmen" -#: src/droid.c:3306 +#: src/droid.cpp:3284 msgid "Veteran" msgstr "Albay" -#: src/droid.c:3307 +#: src/droid.cpp:3285 msgid "Elite" msgstr "Korgeneral" -#: src/droid.c:3308 +#: src/droid.cpp:3286 msgid "Special" msgstr "Orgeneral" -#: src/droid.c:3309 +#: src/droid.cpp:3287 msgid "Hero" msgstr "MareÅŸal" -#: src/droid.c:4336 +#: src/droid.cpp:4313 #, c-format msgid "%s wanted to give you a %s but you have too many!" -msgstr "%s Sana vermek isterim %s ama, Daha çok var!" +msgstr "%s Sana vermek istedi %s ama, Sende daha çok var!" -#: src/droid.c:4340 +#: src/droid.cpp:4317 #, c-format msgid "You wanted to give %s a %s but they have too many!" -msgstr "%s Size vermek isterim %s ama, Daha çok var!" +msgstr "Sen %s 'a %s vermek istedin ama, Onda daha çok var!" -#: src/frontend.c:98 +#: src/frontend.cpp:98 msgid "Single Player" msgstr "Tek Oyuncu" -#: src/frontend.c:99 +#: src/frontend.cpp:99 msgid "Multi Player" msgstr "Çok Oyunculu" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:100 +#: src/frontend.cpp:156 msgid "Tutorial" msgstr "Öğretici" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:101 +#: src/hci.cpp:3642 msgid "Options" msgstr "Ayarlar" -#: src/frontend.c:102 +#: src/frontend.cpp:102 msgid "View Intro" msgstr "Oyun Videosunu Ä°zle" -#: src/frontend.c:104 +#: src/frontend.cpp:104 msgid "Quit Game" msgstr "Oyundan Çık" -#: src/frontend.c:106 +#: src/frontend.cpp:106 msgid "MAIN MENU" msgstr "ANA MENÃœ" -#: src/frontend.c:157 +#: src/frontend.cpp:157 msgid "Fast Play" msgstr "Hızlı Oyun" -#: src/frontend.c:158 +#: src/frontend.cpp:158 msgid "TUTORIALS" msgstr "VÄ°DEOLAR" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:160 +#: src/frontend.cpp:219 +#: src/frontend.cpp:363 +#: src/frontend.cpp:430 +#: src/frontend.cpp:564 +#: src/frontend.cpp:700 +#: src/frontend.cpp:807 +#: src/frontend.cpp:1026 +#: src/frontend.cpp:1187 msgctxt "menu" msgid "Return" msgstr "Geri dön" -#: src/frontend.c:213 +#: src/frontend.cpp:213 msgid "New Campaign" msgstr "Yeni Oyun" -#: src/frontend.c:214 +#: src/frontend.cpp:214 msgid "Start Skirmish Game" msgstr "Çatışma Oyunu BaÅŸlat" -#: src/frontend.c:215 +#: src/frontend.cpp:215 msgid "Challenges" msgstr "Mücadeleler" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:216 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Oyun Yükle" -#: src/frontend.c:218 +#: src/frontend.cpp:218 msgid "SINGLE PLAYER" msgstr "TEK OYUNCU" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:304 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2529 +#: src/mission.cpp:2632 msgid "Load Saved Game" msgstr "Kayıtlı Oyun Yükle" -#: src/frontend.c:358 +#: src/frontend.cpp:358 msgid "MULTI PLAYER" msgstr "ÇOK OYUNCULU" -#: src/frontend.c:360 +#: src/frontend.cpp:360 msgid "Host Game" msgstr "Oyun Kur" -#: src/frontend.c:361 +#: src/frontend.cpp:361 msgid "Join Game" msgstr "Oyuna Katıl" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:423 +#: src/multiint.cpp:1118 msgid "OPTIONS" msgstr "AYARLAR" -#: src/frontend.c:424 +#: src/frontend.cpp:424 msgid "Game Options" msgstr "Oyun Ayarları" -#: src/frontend.c:425 +#: src/frontend.cpp:425 msgid "Graphics Options" msgstr "Grafik Ayarları" -#: src/frontend.c:426 +#: src/frontend.cpp:426 msgid "Video Options" msgstr "Video Ayarları" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:427 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Ses Ayarları" -#: src/frontend.c:428 +#: src/frontend.cpp:428 msgid "Mouse Options" msgstr "Fare Ayarları" -#: src/frontend.c:429 +#: src/frontend.cpp:429 msgid "Key Mappings" msgstr "Klavye Kısayolları" -#: src/frontend.c:491 +#: src/frontend.cpp:491 msgid "Video Playback" msgstr "Video Oynatma" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:495 +#: src/frontend.cpp:654 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:499 +#: src/frontend.cpp:644 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:503 +#: src/frontend.cpp:649 +#: src/frontend.cpp:775 +#: src/frontend.cpp:829 msgid "Fullscreen" msgstr "Tam Ekran" -#: src/frontend.c:513 +#: src/frontend.cpp:513 msgid "Screen Shake" msgstr "Ekran Sarsıntısı" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:516 +#: src/frontend.cpp:544 +#: src/frontend.cpp:552 +#: src/frontend.cpp:587 +#: src/frontend.cpp:621 +#: src/frontend.cpp:630 +#: src/frontend.cpp:796 +#: src/frontend.cpp:890 +#: src/frontend.cpp:928 +#: src/frontend.cpp:967 +#: src/frontend.cpp:979 +#: src/frontend.cpp:991 +#: src/frontend.cpp:1003 +#: src/frontend.cpp:1048 +#: src/frontend.cpp:1061 +#: src/frontend.cpp:1075 +#: src/frontend.cpp:1089 msgid "On" msgstr "Açık" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:520 +#: src/frontend.cpp:540 +#: src/frontend.cpp:556 +#: src/frontend.cpp:582 +#: src/frontend.cpp:616 +#: src/frontend.cpp:634 +#: src/frontend.cpp:800 +#: src/frontend.cpp:885 +#: src/frontend.cpp:923 +#: src/frontend.cpp:971 +#: src/frontend.cpp:983 +#: src/frontend.cpp:995 +#: src/frontend.cpp:1007 +#: src/frontend.cpp:1043 +#: src/frontend.cpp:1056 +#: src/frontend.cpp:1070 +#: src/frontend.cpp:1084 msgid "Off" msgstr "Kapalı" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:525 +#: src/multiint.cpp:1187 msgid "Fog" msgstr "Sis" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:528 +#: src/frontend.cpp:603 msgid "Mist" msgstr "Duman" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:532 +#: src/frontend.cpp:597 +#: src/multiint.cpp:1189 msgid "Fog Of War" msgstr "Siste SavaÅŸ" -#: src/frontend.c:537 +#: src/frontend.cpp:537 msgid "Subtitles" msgstr "Altyazılar" -#: src/frontend.c:549 +#: src/frontend.cpp:549 msgid "Shadows" msgstr "Gölgeler" -#: src/frontend.c:560 +#: src/frontend.cpp:560 msgid "GRAPHICS OPTIONS" msgstr "GRAFÄ°K AYARLARI" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:688 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Ses Düzeyi" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:692 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Ses Efekti" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:696 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Müzik Sesi" -#: src/frontend.c:703 +#: src/frontend.cpp:703 msgid "AUDIO OPTIONS" msgstr "SES AYARLARI" -#: src/frontend.c:768 +#: src/frontend.cpp:768 msgid "* Takes effect on game restart" msgstr "* Ayarlar oyun tekrar baÅŸlatıldığında etkili olacaktır." -#: src/frontend.c:771 +#: src/frontend.cpp:771 msgid "Graphics Mode*" msgstr "Grafik Modu*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:779 +#: src/frontend.cpp:824 msgid "Windowed" msgstr "Pencere" -#: src/frontend.c:783 +#: src/frontend.cpp:783 msgid "Resolution*" msgstr "Çözünürlük*" -#: src/frontend.c:788 +#: src/frontend.cpp:788 msgid "Texture size" msgstr "Yazı Boyutu" -#: src/frontend.c:792 +#: src/frontend.cpp:792 msgid "Vertical sync*" msgstr "Dikey senk." -#: src/frontend.c:804 +#: src/frontend.cpp:804 msgid "VIDEO OPTIONS" msgstr "VIDEO AYARLARI" -#: src/frontend.c:960 +#: src/frontend.cpp:960 msgid "* May negatively affect performance" msgstr "* Performansı kötü etkileyebilir" -#: src/frontend.c:964 +#: src/frontend.cpp:964 msgid "Reverse Rotation" msgstr "Tersine Döndür" -#: src/frontend.c:975 +#: src/frontend.cpp:975 msgid "Trap Cursor" msgstr "Ä°mleci Yakala" -#: src/frontend.c:987 +#: src/frontend.cpp:987 msgid "Colored Cursors*" msgstr "Renkli Ä°mleçler*" -#: src/frontend.c:1000 +#: src/frontend.cpp:1000 msgid "Switch Mouse Buttons" msgstr "Fare Düşmelerini DeÄŸiÅŸtir" -#: src/frontend.c:1012 +#: src/frontend.cpp:1012 msgid "Rotate Screen" msgstr "Ekranı Çevir" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1015 +#: src/frontend.cpp:1103 msgid "Middle Mouse" msgstr "Orta TuÅŸ" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1019 +#: src/frontend.cpp:1098 msgid "Right Mouse" msgstr "SaÄŸ TuÅŸ" -#: src/frontend.c:1023 +#: src/frontend.cpp:1023 msgid "MOUSE OPTIONS" msgstr "FARE AYARLARI" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1138 +#: src/frontend.cpp:1208 msgid "Difficulty" msgstr "Zorluk" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1142 +#: src/frontend.cpp:1216 +#: src/frontend.cpp:1253 msgid "Easy" msgstr "Kolay" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1145 +#: src/frontend.cpp:1219 +#: src/frontend.cpp:1245 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1149 +#: src/frontend.cpp:1222 +#: src/frontend.cpp:1249 msgid "Hard" msgstr "Zor" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1154 +#: src/frontend.cpp:1209 msgid "Scroll Speed" msgstr "Kaydırma hızı" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1168 +#: src/frontend.cpp:1206 msgid "Language" msgstr "Lisan" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1180 +#: src/frontend.cpp:1207 msgid "Unit Colour" msgstr "Birim Rengi" -#: src/frontend.c:1183 +#: src/frontend.cpp:1183 msgid "Radar" msgstr "Radar" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1184 +#: src/frontend.cpp:1233 msgid "Rotating" msgstr "Dönüşlü" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1184 +#: src/frontend.cpp:1233 msgid "Fixed" msgstr "Tamir edilmiÅŸ" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1190 +#: src/frontend.cpp:1210 msgid "GAME OPTIONS" msgstr "OYUN AYARLARI" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1342 +#: src/multiint.cpp:2109 msgid "Mod: " msgstr "Mod: " -#: src/hci.c:1349 +#: src/hci.cpp:1277 msgid "MAP SAVED!" msgstr "HARÄ°TAN KAYDEDÄ°LDÄ°!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1628 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "OYUN KAYDEDÄ°LDÄ° :" -#: src/hci.c:2099 +#: src/hci.cpp:2015 msgid "Failed to create building" msgstr "Bina inÅŸası baÅŸarısız" -#: src/hci.c:2116 +#: src/hci.cpp:2032 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Oyuncu %u Yeni binasını (debug menü) inÅŸa etti: %s." -#: src/hci.c:2131 +#: src/hci.cpp:2047 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Oyuncu %u (debug menü) yeni doÄŸal maddesini oluÅŸturdu: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2069 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Oyuncu %u (debug menü) Yeni birimini oluÅŸturdu: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2080 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Oyuncu %u (debug menü) Yeni birimini oluÅŸturdu." # Commander kann als Eigenname im Deutschen allerdings mit deutschem Plural stehen bleiben -Kreuvf -#: src/hci.c:3643 +#: src/hci.cpp:3453 msgid "Commanders (F6)" msgstr "Komutanlar (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3466 msgid "Intelligence Display (F5)" msgstr "Görev Ekranı (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3479 msgid "Manufacture (F1)" msgstr "Ãœretim (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3492 msgid "Design (F4)" msgstr "Tasarım (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3505 msgid "Research (F2)" msgstr "AraÅŸtırma (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3518 msgid "Build (F3)" msgstr "Ä°nÅŸa (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3589 +#: src/multiint.cpp:1234 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Güç" -#: src/hci.c:3915 +#: src/hci.cpp:3680 msgid "Map:" msgstr "Harita:" -#: src/hci.c:3929 +#: src/hci.cpp:3693 msgid "Load" msgstr "Yükle" -#: src/hci.c:3930 +#: src/hci.cpp:3694 msgid "Load Map File" msgstr "Harita Dosyası Yükle" -#: src/hci.c:3937 +#: src/hci.cpp:3701 msgid "Save" msgstr "Kaydet" -#: src/hci.c:3938 +#: src/hci.cpp:3702 msgid "Save Map File" msgstr "Harita dosyası kaydet" -#: src/hci.c:3946 +#: src/hci.cpp:3710 msgid "New" msgstr "Yeni" -#: src/hci.c:3947 +#: src/hci.cpp:3711 msgid "New Blank Map" msgstr "Yeni BoÅŸ Harita" -#: src/hci.c:3985 +#: src/hci.cpp:3747 msgid "Tile" msgstr "Harita Ö." -#: src/hci.c:3986 +#: src/hci.cpp:3748 msgid "Place tiles on map" msgstr "Haritaya yeni öğeler yerleÅŸtir" -#: src/hci.c:3995 +#: src/hci.cpp:3757 msgid "Unit" msgstr "Birim" -#: src/hci.c:3996 +#: src/hci.cpp:3758 msgid "Place Unit on map" msgstr "Haritaya yeni birimler yerleÅŸtir" -#: src/hci.c:4004 +#: src/hci.cpp:3766 msgid "Struct" msgstr "Bina" -#: src/hci.c:4005 +#: src/hci.cpp:3767 msgid "Place Structures on map" msgstr "Haritaya yeni binalar yerleÅŸtir" # gemäß: http://dict.leo.org/ende?search=Feat -Kreuvf -#: src/hci.c:4013 +#: src/hci.cpp:3775 msgid "Feat" msgstr "Özellik" -#: src/hci.c:4014 +#: src/hci.cpp:3776 msgid "Place Features on map" msgstr "Haritaya Özel Öğeler ekle" -#: src/hci.c:4024 +#: src/hci.cpp:3786 msgid "Pause" msgstr "Durdur" -#: src/hci.c:4025 +#: src/hci.cpp:3787 msgid "Pause or unpause the game" msgstr "Oyunu durdur yada baÅŸlat" -#: src/hci.c:4039 +#: src/hci.cpp:3801 msgid "Align height of all map objects" msgstr "Tüm harita yüksekliÄŸini objelere uygun hale getir" -#: src/hci.c:4049 +#: src/hci.cpp:3811 msgid "Edit" msgstr "Düzenle" -#: src/hci.c:4050 +#: src/hci.cpp:3812 msgid "Start Edit Mode" msgstr "Düzenleme Modunu Aç" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3826 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Çıkış" -#: src/hci.c:4065 +#: src/hci.cpp:3827 msgid "Exit Game" msgstr "Oyundan Çık" -#: src/hci.c:4090 +#: src/hci.cpp:3851 msgid "Current Player:" msgstr "Geçerli Oyuncu:" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:4201 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Ä°lerleme ÇubuÄŸu" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "Sınırsız Ãœretim" - -#: src/hci.c:5472 +#: src/hci.cpp:5067 msgid "Factory Delivery Point" msgstr "Fabrika Teslim Noktası" -#: src/hci.c:5491 +#: src/hci.cpp:5085 msgid "Loop Production" msgstr "Ãœretimi Tekrarla" -#: src/hci.c:5578 +#: src/hci.cpp:5165 msgid "Tab Scroll left" msgstr "Tabloyu Sola Kaydır" -#: src/hci.c:5595 +#: src/hci.cpp:5180 msgid "Tab Scroll right" msgstr "Tabloyu SaÄŸa Kaydır" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Oyuna Dön" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "DÄ°KKAT: Sen Kurucusun. EÄŸer oyundan çıkarsan , oyun herkes için bitmiÅŸ olacak!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "Taktiksel UI (Hedef Kaynak Simgesi): Göster" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "Taktiksel UI (Hedef Kaynak Simgesi): Gizle" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2516 +#: src/mission.cpp:2635 msgid "Save Game" msgstr "Oyunu Kaydet" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Kurucu oyundan çıktı!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Oyun Kurucu olmadan devam edemez." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> ÇIKIÅž <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13058,1661 +13059,1663 @@ msgstr "" "\n" "Warzone , o olmadan oyunu yüklemeye çalışacak." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Bina Devam ediyor" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Ä°nÅŸaat Devam ediyor" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Güç BirikmiÅŸ" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1377 msgid "PAUSED" msgstr "DURDURULDU" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "AraÅŸtırma Güncellemesi" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Proje Hedefleri" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Geçerli Görev" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1512 msgid "New Intelligence Report" msgstr "Yeni Ä°stihbarat Raporu" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Kısa Menzil" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Uzun Menzil" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Uygun Menzil" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Orta hasarda geri dön" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ağır hasarda geri dön" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Yap veya Öl!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "AteÅŸ Edecek" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Karşı Saldırı" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Koruma AteÅŸi" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Devriye" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Saldırgan" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Koruma DuruÅŸu" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Durumunu Koru" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Tamir için Geri Dön" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Genel Merkeze Dön" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" -msgstr "Taşıma G.'sine git" +msgstr "Taşıma Gemisine git" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Geri Dönüşüme Git" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Geri Dönüşüm" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Fabrika Ãœretimine Ata" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Cyborg Fabrikası Ãœretimine Ata" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "AteÅŸ DesteÄŸine Ata" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "VTOL Fabrikası Ãœretimine Ata" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Daire Çiz" -#: src/keybind.c:137 +#: src/keybind.cpp:137 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Ãœzgünüm bu hile Çok oyunculu oyunda devre dışıdır." -#: src/keybind.c:143 +#: src/keybind.cpp:143 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Tehlike! Bu hile hatalıdır. Onu kullanmamanızı öneririz." -#: src/keybind.c:242 +#: src/keybind.cpp:242 msgid "Lets us see what you see!" msgstr "Hadi ne görüyorsan bizde görelim!" -#: src/keybind.c:244 +#: src/keybind.cpp:244 msgid "Fine, weapon & sensor display is off!" msgstr "Ä°yi, Silah & algılayıcı ışıkları kapalı!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:417 +#: src/keybind.cpp:447 +#: src/keybind.cpp:464 +#: src/keybind.cpp:508 +#: src/keybind.cpp:616 +#: src/keybind.cpp:656 +#: src/keybind.cpp:762 +#: src/keybind.cpp:1267 +#: src/keybind.cpp:1324 +#: src/keybind.cpp:1434 +#: src/keybind.cpp:1563 +#: src/keybind.cpp:1920 +#: src/keybind.cpp:1961 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Player %u) ÅŸu hileyi kullandı: %s" -#: src/keybind.c:418 +#: src/keybind.cpp:418 msgid "Hard as nails!!!" msgstr "Koçum Benim. Demir Gibi SaÄŸlam!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:432 msgid "Takings thing easy!" msgstr "HerÅŸeyi kolaya al!" -#: src/keybind.c:448 +#: src/keybind.cpp:448 msgid "1000 big ones!!!" msgstr "1000 Büyük güç!!!" # Ursprünglich kenne ich das nur als Cheat aus StarCraft und das sollte imho nicht übersetzt werden -Kreuvf -#: src/keybind.c:465 +#: src/keybind.cpp:465 msgid "Power overwhelming" msgstr "Sonsuz güç" -#: src/keybind.c:480 +#: src/keybind.cpp:480 msgid "Back to normality!" msgstr "Normale Dön!" -#: src/keybind.c:493 +#: src/keybind.cpp:493 msgid "Getting tricky!" msgstr "Hileli olmaya baÅŸlıyor!" -#: src/keybind.c:509 +#: src/keybind.cpp:509 msgid "Twice as nice!" msgstr "Çift iyidir!" -#: src/keybind.c:520 +#: src/keybind.cpp:520 msgid "FPS display is enabled." msgstr "FPS-Görünüşü aktif." -#: src/keybind.c:524 +#: src/keybind.cpp:524 msgid "FPS display is disabled." msgstr "FPS-Görünüşü devre dışı." -#: src/keybind.c:548 +#: src/keybind.cpp:548 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Sınır: %d; PIEs %d; Polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:580 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Oyuncu %u) Åžu hileyi kullanıyor: Draid sayısı: %d Bina Sayısı: %d Özel Öğe Sayısı: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:617 msgid "Infinite power disabled" msgstr "Sonsuz güç devre dışı" -#: src/keybind.c:617 +#: src/keybind.cpp:617 msgid "Infinite power enabled" msgstr "Sonsuz güç devrede" -#: src/keybind.c:657 +#: src/keybind.cpp:657 msgid "All items made available" msgstr "HerÅŸey kullanılabilir oldu" -#: src/keybind.c:763 +#: src/keybind.cpp:763 msgid "Fog on" msgstr "Sis açık" -#: src/keybind.c:763 +#: src/keybind.cpp:763 msgid "Fog off" msgstr "Sis kapalı" -#: src/keybind.c:1173 +#: src/keybind.cpp:1173 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Dikkat! Bu hile daha kötü sorunlara sebep olabilir! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1173 msgid "Ending Mission." msgstr "Görev sonlandırılıyor." -#: src/keybind.c:1268 +#: src/keybind.cpp:1268 msgid "CHEATS ARE NOW ENABLED!" msgstr "HÄ°LELER DEVREDE!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1268 msgid "CHEATS ARE NOW DISABLED!" msgstr "HÄ°LELER DEVRE DIÅžI!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1325 msgid "God Mode ON" msgstr "Tanrı Modu AÇIK" -#: src/keybind.c:1325 +#: src/keybind.cpp:1325 msgid "God Mode OFF" msgstr "Tanrı Modu KAPALI" -#: src/keybind.c:1337 +#: src/keybind.cpp:1337 msgid "View Aligned to North" msgstr "Görüntü Kuzeye sabitlendi" -#: src/keybind.c:1346 +#: src/keybind.cpp:1346 #, c-format msgid "Trap cursor %s" msgstr "Ä°mleci Yakala %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1435 msgid "Researched EVERYTHING for you!" msgstr "HERÅžEY senin için araÅŸtırıldı!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1499 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Oyuncu %u) ÅŸu hileyi kullanıyor: %s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1500 msgid "Researched" msgstr "AraÅŸtırıldı" -#: src/keybind.c:1521 +#: src/keybind.cpp:1521 msgid "Only displaying energy bars when selected" msgstr "Hayat Puanı çubuÄŸu sadece seçildiÄŸinde gösterilecek" -#: src/keybind.c:1524 +#: src/keybind.cpp:1524 msgid "Always displaying energy bars for units" msgstr "Birimlerin Hayat Puanı çubukları her zaman gösterilecek" -#: src/keybind.c:1527 +#: src/keybind.cpp:1527 msgid "Always displaying energy bars for units and structures" msgstr "Binaların Hayat Puanı çubukları her zaman gösterilecek" -#: src/keybind.c:1549 +#: src/keybind.cpp:1549 msgid "Demo mode off - Returning to normal game mode" msgstr "Demo modu devre dışı - Normal oyun moduna dönülüyor" -#: src/keybind.c:1564 +#: src/keybind.cpp:1564 msgid "Debug menu is Open" msgstr "Debug-Menüsü açıldı" -#: src/keybind.c:1595 +#: src/keybind.cpp:1601 msgid "Unable to locate any oil derricks!" -msgstr "Yerel Petrol Kuyuları Devre Dışı!" +msgstr "Yerel Petrol Pompaları Devre Dışı!" # Let it snow, let it snow, let it snow.. # Von daher sollte das unübersetzt bleiben -Kreuvf -#: src/keybind.c:1816 +#: src/keybind.cpp:1822 msgid "Oh, the weather outside is frightful... SNOW" -msgstr "Oh, dışarda hava korkunç.. KAR" +msgstr "Vay canına, dışarda hava korkunç.. KAR" # Das Lied ist im Original Englisch --> bleibt unübersetzt -Kreuvf -#: src/keybind.c:1822 +#: src/keybind.cpp:1828 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "YaÄŸmurda ÅŸarkı söyle, Ben yaÄŸmurda ÅŸarkı söylüyorum... YAÄžMUR" -#: src/keybind.c:1828 +#: src/keybind.cpp:1834 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Hava Durumu: Yer yerde gökyüzü temiz...YAÄžIÅž YOK" -#: src/keybind.c:1913 +#: src/keybind.cpp:1919 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Dikkat! Misyonların yanlış kullanılmasının ciddi etkileri olabilir." -#: src/keybind.c:1915 +#: src/keybind.cpp:1921 msgid "All enemies destroyed by cheating!" msgstr "Tüm düşmanların hile ile yok edildi!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1962 msgid "Destroying selected droids and structures!" msgstr "Seçili Birimler ve Birimler Yok Ediliyor!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2484 msgid "Centered on player HQ, direction NORTH" msgstr "Görüntü Merkezi: Genel Merkez, Yön: KUZEY" -#: src/keybind.c:2490 +#: src/keybind.cpp:2496 msgid "Unable to locate HQ!" msgstr "Yerel Genel Merkez Devre Dışı!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2503 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Hata nedeniyle formasyon hız limiti kaldırıldı." -#: src/keybind.c:2546 +#: src/keybind.cpp:2552 msgid "Vertical rotation direction: Normal" msgstr "Dikey Yön: Normal" -#: src/keybind.c:2551 +#: src/keybind.cpp:2557 msgid "Vertical rotation direction: Flipped" msgstr "Dikey Yön: Saygısız" -#: src/keybind.c:2560 +#: src/keybind.cpp:2566 msgid "Screen shake when things die: Off" msgstr "BiÅŸeyler öldüğünde ekran sarsıntısı: Kapalı" -#: src/keybind.c:2565 +#: src/keybind.cpp:2571 msgid "Screen shake when things die: On" msgstr "BiÅŸeyler öldüğünde ekran sarsıntısı: Açık" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2616 +#: src/keybind.cpp:2659 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Ãœzgünüm, fakat oyun hızı çoklu oyunculu oyunlarda deÄŸiÅŸtirilemez" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2637 +#: src/keybind.cpp:2680 +#: src/keybind.cpp:2702 msgid "Game Speed Reset" msgstr "Oyun Hızı Sıfırlandı" -#: src/keybind.c:2635 +#: src/keybind.cpp:2641 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Oyun Hızı %3.1f yükseltildi" -#: src/keybind.c:2678 +#: src/keybind.cpp:2684 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Oyun Hızı %3.1f ' indirildi" -#: src/keybind.c:2708 +#: src/keybind.cpp:2714 msgid "Radar showing friend-foe colors" msgstr "Radar Dost-Düşman haritasını gösterecek" -#: src/keybind.c:2712 +#: src/keybind.cpp:2718 msgid "Radar showing player colors" msgstr "Radar oyuncu renklerini gösterecek" -#: src/keybind.c:2733 +#: src/keybind.cpp:2739 msgid "Radar showing only objects" msgstr "Radar sadece nesneleri gösterecek" -#: src/keybind.c:2736 +#: src/keybind.cpp:2742 msgid "Radar blending terrain and height" msgstr "Radar bölge ve yüksekliÄŸi gösterecek" -#: src/keybind.c:2739 +#: src/keybind.cpp:2745 msgid "Radar showing terrain" msgstr "Radar bölgeyi gösterecek" -#: src/keybind.c:2742 +#: src/keybind.cpp:2748 msgid "Radar showing revealed terrain" msgstr "Radar keÅŸfedilen alanı gösterecek" -#: src/keybind.c:2745 +#: src/keybind.cpp:2751 msgid "Radar showing height" msgstr "Radar yüksekliÄŸi gösterecek" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "KLAVYE KISAYOLLARI" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:488 +#: src/multiint.cpp:913 +#: src/multiint.cpp:1320 msgid "Return To Previous Screen" msgstr "Bir Önceki Ekrana Dön" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Varsayılanı Seç" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Ãœretim" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "AraÅŸtırma" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Ä°nÅŸa" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Tasarım" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Görev Ekranı" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Komutanlar" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Radar Anahtarı" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Konsol Görünümü Anahtarı" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Hasar Çubukları Açık/Kapalı" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Ekran Görüntüsü Al" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Formasyon Hız Limitini Göster" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Önceki Mesajın Görüntüde Konumu" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "Algılayıcı Görünüşü Anahtarı" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Grup 0'a Ata" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Grup 1'e Ata" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Grup 2'ye Ata" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Grup 3'e Ata" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Grup 4'e Ata" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Grup 5'e Ata" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Grup 6'ya Ata" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Grup 7'ye Ata" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Grup 8'e Ata" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Grup 9'a Ata" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Grup 0'ı Seç" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Grup 1'i Seç" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Grup 2'yi Seç" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Grup 3'ü Seç" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Grup 4'ü Seç" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Grup 5'i Seç" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Grup 6'yı Seç" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Grup 7'yi Seç" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Grup 8'i Seç" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Grup 9'u Seç" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Komutan 0'ı Seç" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Komutan 1'i Seç" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Komutan 2'yi Seç" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Komutan 3'ü Seç" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Komutan 4'ü Seç" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Komutan 5'i Seç" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Komutan 6'yı Seç" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Komutan 7'yi Seç" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Komutan 8'i Seç" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Komutan 9'u Seç" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Çok Oyunculu O. Ayarları / Müttefikler ile sohbet" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Görüntüyü Kuzeye Sabitle" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Ä°zleyici Kamerası anahtarı" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Oyun-içi Ayarları göster" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Radar Görünüşünü Küçült" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Radar Görünüşünü Büyüt" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Görüntüyü Büyüt" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Görüntüyü Küçült" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Ä°leri Adım" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Sola Dön" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Dönüşü Sıfırla" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "SaÄŸa Dön" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Geri Adım" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Emir Menüsünü " -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Oyun Hızını Azalt" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Oyun Hızını Arttır" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Oyun Hızını Yeniden Kur" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Görüntü -Kuzey" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Görüntü -Güney" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Görüntü -DoÄŸu" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Görüntü - Batı" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Sonraki Petrol Kuyusunu göster" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Sonraki Tamir Birimini Göster" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Sonraki Kamyonu Göster" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Sonraki Algılayıcı Birimini Göster" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Sonraki Komutanı Göster" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Ayarları Göster" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konsol Açık/Kapalı" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Görüntü Merkezi: Genel Merkez" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Atanmış Birimleri Göster" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "AteÅŸ Edecek" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Genel Merkeze Dön" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Yazılı Mesaj Gönder" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "Bir Sinyal Bırak" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "Algılayıcı Görünüşü Açık" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "Algılayıcı Görünüşü Kapalı" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "Gölgeri Göster" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "Ä°mleci Yakala" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "Bölge Radarlı Haritayı etkinleÅŸtir" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "Dost-Düşman Radarlı Haritayı etkinleÅŸtir" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Tüm SavaÅŸ Birimlerini Seç" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Tüm Ağır Hasarlı Birimleri Seç" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Tüm Yarım Paletli Birimleri Seç" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Tüm Civciv-yuvasi'lı Araçları Seç" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Ekrandaki Tüm Birimleri Seç" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Tüm Paletli Araçları Seç" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "TÃœM Birimleri Seç" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Tüm VTOL'ları Seç" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Tüm Tekerlekli araçları Seç" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Benzer Tüm Birimleri Seç" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Sonraki Fabrikayı Seç" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Sonraki AraÅŸtırma Merkezi" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Sonraki Güç Jeneratörü" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Sonraki Cyborg Fabrikası" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Oyun Kaydedilemedi!" -#: src/mission.c:2067 +#: src/mission.cpp:2077 msgid "Load Transport" msgstr "Taşımaya Yükle" -#: src/mission.c:2461 +#: src/mission.cpp:2464 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "GÖREV BAÅžARILI--hileci seni!" -#: src/mission.c:2461 +#: src/mission.cpp:2464 msgid "OBJECTIVE ACHIEVED" msgstr "GÖREV BAÅžARILI" -#: src/mission.c:2467 +#: src/mission.cpp:2470 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "GÖREV BAÅžARISIZ--ve sen hile yaptın!" -#: src/mission.c:2467 +#: src/mission.cpp:2470 msgid "OBJECTIVE FAILED" msgstr "GÖREV BAÅžARISIZ" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2495 +#: src/mission.cpp:2535 +#: src/mission.cpp:2649 msgid "Quit To Main Menu" msgstr "Ana Menüye Dön" -#: src/mission.c:2501 +#: src/mission.cpp:2503 msgid "Continue Game" msgstr "Oyuna Devam" -#: src/mission.c:2598 +#: src/mission.cpp:2600 msgid "GAME SAVED :" msgstr "OYUN KAYDEDÄ°LDÄ° :" -#: src/move.c:2320 +#: src/move.cpp:2314 #, c-format msgid "You found %u power in an oil drum." msgstr "Sen %u güç varili buldun." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Ä°simli Oyuncu Sana Bir Görülebilirlik Raporu verdi." -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Ä°simli Oyuncu Sana %s Ä°simli Birimlerinden Verdi." -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "BoÅŸ olmamayı denedim %s -ama buna izin yok." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Ä°simli Oyuncu Sana Teknoloji Dökümanlarını Verdi" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Ä°simli Oyuncu, Sana %u Kadar Güç Bağışladı." -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Ä°simli Oyuncu Sana Ä°ttifak Olmayı Teklif Etti." -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr " Sen, %s Ä°simli Oyuncuya Ä°ttifak Daveti Gönderdin." -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Ä°simli Oyuncu %s ile AnlaÅŸmayı Bozdu." -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Ä°simli Oyuncu %s ile AnlaÅŸma Ä°mzaladı." -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Sen %s 'in kalıntılarını keÅŸfettin" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:424 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Ayarları Kabul et" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:426 +#: src/multiint.cpp:958 msgid "Cancel" msgstr "Ä°ptal" -#: src/multiint.c:442 +#: src/multiint.cpp:437 msgid "IP Address or Machine Name" msgstr "IP-Adresi yada Makine Ä°smi" -#: src/multiint.c:492 +#: src/multiint.cpp:485 msgid "CONNECTION" msgstr "BAÄžLANTI" -#: src/multiint.c:497 +#: src/multiint.cpp:490 msgid "Lobby" msgstr "Bekleme Odası" -#: src/multiint.c:498 +#: src/multiint.cpp:491 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:681 msgid "No games are available" msgstr "Geçerli oyun yok" -#: src/multiint.c:694 +#: src/multiint.cpp:684 msgid "Game is full" msgstr "Oyun Dolu" -#: src/multiint.c:698 +#: src/multiint.cpp:688 msgid "You were kicked!" msgstr "Oyundan Atıldın!" -#: src/multiint.c:701 +#: src/multiint.cpp:691 msgid "Wrong Game Version!" msgstr "Yanlış Oyun Sürümü!" -#: src/multiint.c:704 +#: src/multiint.cpp:694 msgid "You have an incompatible mod." msgstr "Uyumsuz bir mod." -#: src/multiint.c:708 +#: src/multiint.cpp:698 msgid "Host couldn't send file?" msgstr "Kurucu dosya gönderebilir mi?" -#: src/multiint.c:712 +#: src/multiint.cpp:702 msgid "Incorrect Password!" msgstr "Geçersiz Åžifre!" -#: src/multiint.c:715 +#: src/multiint.cpp:705 msgid "Host has dropped connection!" msgstr "Kurucu BaÄŸlantıyı Kesti" -#: src/multiint.c:719 +#: src/multiint.cpp:709 msgid "Connection Error" msgstr "BaÄŸlantı Hatası" -#: src/multiint.c:863 +#: src/multiint.cpp:853 msgid "Searching" msgstr "AraÅŸtırılıyor..." -#: src/multiint.c:924 +#: src/multiint.cpp:910 msgid "GAMES" msgstr "OYUNLAR" -#: src/multiint.c:932 +#: src/multiint.cpp:918 msgid "Refresh Games List" msgstr "Oyun Listesini Yenile" -#: src/multiint.c:952 +#: src/multiint.cpp:938 msgid "Enter Password:" msgstr "Åžifreyi gir:" -#: src/multiint.c:973 +#: src/multiint.cpp:956 msgid "OK" msgstr "TAMAM" -#: src/multiint.c:1095 +#: src/multiint.cpp:1073 msgid "Tanks disabled!!" msgstr "Tanklar Devre Dışı!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1074 msgid "Cyborgs disabled." msgstr "Cyborg'lar Devre Dışı" -#: src/multiint.c:1097 +#: src/multiint.cpp:1075 msgid "VTOLs disabled." msgstr "VTOL'lar Devre Dışı" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1123 +#: src/multiint.cpp:1130 msgid "Select Game Name" msgstr "Oyun Ä°smi Seç" -#: src/multiint.c:1147 +#: src/multiint.cpp:1123 msgid "One-Player Skirmish" msgstr "Tek KiÅŸilik Çatışma" -#: src/multiint.c:1157 +#: src/multiint.cpp:1133 msgid "Select Map" msgstr "Harita Seç" -#: src/multiint.c:1165 +#: src/multiint.cpp:1141 msgid "Click to set Password" msgstr "Parolayı kurmak için tıkla" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1151 +#: src/multiint.cpp:1152 msgid "Scavengers" msgstr "Çöpçüler var" -#: src/multiint.c:1178 +#: src/multiint.cpp:1154 msgid "No Scavengers" msgstr "Çöpçüler yok" -#: src/multiint.c:1208 +#: src/multiint.cpp:1184 msgid "Select Player Name" msgstr "Oyuncu Ä°smi Seç" -#: src/multiint.c:1214 +#: src/multiint.cpp:1190 msgid "Distance Fog" -msgstr "Sis Mesafesi" +msgstr "YoÄŸun Sis" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1201 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Müttefiklikler" -#: src/multiint.c:1228 +#: src/multiint.cpp:1204 msgid "No Alliances" msgstr "Müttefiklik yok" -#: src/multiint.c:1230 +#: src/multiint.cpp:1206 msgid "Allow Alliances" msgstr "Müttefiklikleri Göster" # festgelegt ungleich fest -Kreuvf -#: src/multiint.c:1234 +#: src/multiint.cpp:1210 msgid "Locked Teams" msgstr "Takım Kilidi" -#: src/multiint.c:1260 +#: src/multiint.cpp:1236 msgid "Low Power Levels" msgstr "Düşük güç seviyesi" -#: src/multiint.c:1262 +#: src/multiint.cpp:1238 msgid "Medium Power Levels" msgstr "Orta güç seviyesi" -#: src/multiint.c:1264 +#: src/multiint.cpp:1240 msgid "High Power Levels" msgstr "Yüksek güç seviyesi" -#: src/multiint.c:1296 +#: src/multiint.cpp:1272 msgid "Base" msgstr "Ãœs" -#: src/multiint.c:1298 +#: src/multiint.cpp:1274 msgid "Start with No Bases" msgstr "Ãœs olmadan baÅŸla." -#: src/multiint.c:1300 +#: src/multiint.cpp:1276 msgid "Start with Bases" msgstr "Ãœsler ile baÅŸla." -#: src/multiint.c:1302 +#: src/multiint.cpp:1278 msgid "Start with Advanced Bases" msgstr "GeliÅŸmiÅŸ üsler ile baÅŸla." -#: src/multiint.c:1334 +#: src/multiint.cpp:1310 msgid "Map Preview" msgstr "Haritayı Gör" -#: src/multiint.c:1336 +#: src/multiint.cpp:1312 msgid "Click to see Map" msgstr "Haritayı görmek için tıkla" -#: src/multiint.c:1350 +#: src/multiint.cpp:1326 msgid "Start Hosting Game" msgstr "Oyunu kurulumunu baÅŸlat" -#: src/multiint.c:1358 +#: src/multiint.cpp:1334 msgid "Show Structure Limits" msgstr "Bina limitlerini göster" -#: src/multiint.c:1358 +#: src/multiint.cpp:1334 msgid "Set Structure Limits" msgstr "Bina limitlerini ayarla" -#: src/multiint.c:1444 +#: src/multiint.cpp:1420 msgid "Player colour" msgstr "Oyuncu rengi" -#: src/multiint.c:1460 +#: src/multiint.cpp:1436 msgid "Kick player" msgstr "Oyundan at" -#: src/multiint.c:1471 -#, fuzzy +#: src/multiint.cpp:1447 msgid "Player position" -msgstr "Koruma DuruÅŸu" +msgstr "Oyuncu pozisyonu" -#: src/multiint.c:1831 +#: src/multiint.cpp:1807 msgid "Team" msgstr "Takım" -#: src/multiint.c:1870 +#: src/multiint.cpp:1846 msgid "Click when ready" msgstr "Hazırsan tıkla" -#: src/multiint.c:1874 +#: src/multiint.cpp:1850 msgid "READY?" msgstr "HAZIR?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1885 msgid "PLAYERS" msgstr "OYUNCULAR" -#: src/multiint.c:1965 +#: src/multiint.cpp:1938 msgid "Choose Team" msgstr "Takım seç" -#: src/multiint.c:2005 +#: src/multiint.cpp:1976 msgid "Click to change player settings" msgstr "Oyuncu ayarları için tıkla" -#: src/multiint.c:2036 +#: src/multiint.cpp:2006 msgid "Click to adjust AI difficulty" msgstr "Y.Z zorluÄŸunu ayarlamak için tıkla" -#: src/multiint.c:2115 +#: src/multiint.cpp:2082 msgid "CHAT" msgstr "SOHBET" -#: src/multiint.c:2149 +#: src/multiint.cpp:2114 msgid "All players need to have the same mods to join your game." msgstr "TÃœm oyuncular oyununa girebilmek için aynı moda ihtiyaç duyar." -#: src/multiint.c:2310 +#: src/multiint.cpp:2275 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** Åžifre [%s] ÅŸimdi isteniyor ! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2283 msgid "*** password is NOT required! ***" msgstr "*** Åžifreye gerek yok! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2526 msgid "Sorry! Failed to host the game." msgstr "Ãœzgünüm! Oyun kurulurken bir hata oldu." # festgelegt ungleich fest -Kreuvf -#: src/multiint.c:2646 +#: src/multiint.cpp:2611 msgid "'Locked Teams' mode enabled" msgstr "\"Takım Kilidi\"-Modu Aktif" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2650 +#: src/multiint.cpp:2700 #, c-format msgid "The host has kicked %s from the game!" msgstr "Kurucu %s isimli oyuncuyu oyundan attı!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2780 msgid "Host is Starting Game" msgstr "Kurucu oyunu baÅŸlatıyor" -#: src/multiint.c:3399 +#: src/multiint.cpp:3371 msgid "Players" msgstr "Oyuncular" -#: src/multiint.c:3517 +#: src/multiint.cpp:3489 #, c-format msgid "Sending Map: %d%% " msgstr "Harita Gönderiliyor: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3497 #, c-format msgid "Map: %d%% downloaded" msgstr "Harita: %d%% indirildi" -#: src/multiint.c:3551 +#: src/multiint.cpp:3523 msgid "HOST" msgstr "KURUCU" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Oyuncular hâlâ katılmakta " -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s Oyundan çıktı" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Dosya transferi iptal %d " -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) uyumsuz bir mod.Ve oyundan atıldı" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s Oyuna katılıyor" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Sistem Ä°letisi:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Varsayılana Ayarla ve Önceki Ekrana Dön" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Sınırları varsayılana sıfırla" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Teknoloji seviyesi 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Teknoloji seviyesi 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Teknoloji seviyesi 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Oyuncu herhangi bir sayı alacak" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 Oyuncu" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 msgid "3 players" msgstr "2 Oyuncu" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 Oyuncu" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 msgid "5 players" msgstr "2 Oyuncu" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 msgid "6 players" msgstr "2 Oyuncu" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 msgid "7 players" msgstr "2 Oyuncu" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 Oyuncu" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Puan Durumu" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Öldürme" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Birimler" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Binalar" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "Kanal" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Ä°liÅŸki durumunu görebilirsiniz" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Görünürlük raporu ver" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Teknoloji dökümanı bırak" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Seçili birimleri bağışla" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Oyuncuya güç ver" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Oyuncu atılıyor %s veri bütünlüğünü korumak için!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(Müttefikler" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(bir direk" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[gereksiz]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2046 msgid "Green" msgstr "YeÅŸil" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2047 msgid "Orange" msgstr "Portakal Sarısı" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2048 msgid "Grey" msgstr "Gri" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2049 msgid "Black" msgstr "Siyah" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2050 msgid "Red" msgstr "Kırmızı" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2051 msgid "Blue" msgstr "Koyu Mavi" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2052 msgid "Pink" msgstr "Pembe" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2053 msgid "Cyan" msgstr "Mavi" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "Bunu Yapamıyoruz! Biz Cyborg Taşıma Gemisi'ni kullanmak için bir Cyborg birimine sahip olmalıyız!" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "AraÅŸtırma Tamamlandı: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "AraÅŸtırma Tamamlandı" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "AraÅŸtırma Ödülü" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Bizim Birimlerimiz: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Düşman Birimleri: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Bizim Binalarımız: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Düşman Binaları: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Birim(ler) üretildi: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Toplam Birimler: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Bina Ä°nÅŸa Edildi: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Toplam Binalar: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Er: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Onbaşı: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "ÇavuÅŸ: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "TeÄŸmen: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "ÃœsteÄŸmen: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Albay: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Korgeneral: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Orgeneral: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "MareÅŸal: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Birim Kayıpları" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Bina Kayıpları" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Ordu Bilgileri" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ESER KURTARILDI: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Görev Zamanı - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Toplam Oyun Zamanı - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Hile Yaptın!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3200 msgid "YOU ARE VICTORIOUS!" msgstr "KAZANDIN!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3204 msgid "YOU WERE DEFEATED!" msgstr "YENÄ°LDÄ°N!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:10119 #, c-format msgid "Beacon received from %s!" msgstr "Sinyal alındı: %s !" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:10165 #, c-format msgid "Beacon %d" msgstr "Sinyal %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u Birim seçildi" msgstr[1] "%u Birimler seçildi" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Hiç tamir birimi bulunamadı!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Hiç Kamyon birimi bulunamadı!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Hiç Algılayıcı birimi bulunamadı!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Hiç Komutan birimi bulunamadı!" -#: src/structure.c:2912 +#: src/structure.cpp:2905 msgid "Command Control Limit Reached - Production Halted" msgstr "Komuta Kontrol Limitine UlaÅŸtın - Ãœretim Durduruldu" # nix Gruppe! -Kreuvf -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:6137 +#: src/structure.cpp:6162 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Birim Atandı" msgstr[1] "%s - %u Birimler Atandı" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:6167 +#: src/structure.cpp:6235 +#: src/structure.cpp:6251 +#: src/structure.cpp:6265 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Hasar %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:6217 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u de %u 'e BaÄŸlandı" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6381 +#: src/structure.cpp:6426 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronik Hasar Aldı" # Reward ist zwar nicht Beute, aber im Krieg erbeutet man eben Dinge -Kreuvf -#: src/structure.c:6675 +#: src/structure.cpp:6663 msgid "Electronic Reward - Visibility Report" msgstr "Elektronik Ödül - Görünebilirlik Raporu" -#: src/structure.c:6715 +#: src/structure.cpp:6703 msgid "Factory Reward - Propulsion" msgstr "Fabrika Ödülü - Yürütücü" -#: src/structure.c:6739 +#: src/structure.cpp:6727 msgid "Factory Reward - Body" msgstr "Fabrika Ödülü - Beden" -#: src/structure.c:6763 +#: src/structure.cpp:6751 msgid "Factory Reward - Weapon" msgstr "Fabrika Ödülü - Silah" -#: src/structure.c:6772 +#: src/structure.cpp:6760 msgid "Factory Reward - Nothing" msgstr "Fabrika Ödülü - Sıfır" -#: src/structure.c:6800 +#: src/structure.cpp:6788 msgid "Repair Facility Award - Repair" msgstr "Tamir Tesisi Ödülü - Tamir" -#: src/structure.c:6807 +#: src/structure.cpp:6795 msgid "Repair Facility Award - Nothing" msgstr "Tamir Tesisi Ödülü - Sıfır" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:397 +#: src/transporter.cpp:446 msgid "Launch Transport" msgstr "Taşımayı BaÅŸlat" -#: src/transporter.c:1462 +#: src/transporter.cpp:1424 msgid "There is not enough room in the Transport!" msgstr "Taşıma Gemisinde yeterince yer yok!" -#: src/transporter.c:1720 +#: src/transporter.cpp:1682 msgid "Reinforcements landing" -msgstr "Takviyeler Ä°niyor" +msgstr "Destek kuvvetler iniyor" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" -msgstr " (düzenlenmiÅŸ ve anahtarlanmış yerel dil dosyası)" +msgstr " (duzenlenmis ve anahtarlanmis yerel dil dosyasi)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" -msgstr " (düzenlenmiÅŸ yerel)" +msgstr " (duzenlenmis yerel)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" -msgstr " (yerel anahtarlı)" +msgstr " (yerel anahtarli)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - %s Ä°nÅŸa" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Sürüm %s%s%s%s" +#~ msgid "Infinite Production" +#~ msgstr "Sınırsız Ãœretim" + #~ msgid "Plascrete MK3" #~ msgstr "Plas Girit Kdm3" @@ -15677,7 +15680,7 @@ msgstr "Sürüm %s%s%s%s" #~ msgstr "Uydu Yer-Ãœssü Merkezi" #~ msgid "NASDA Central" -#~ msgstr "K.A.S.S.A Merkezi" +#~ msgstr "NASDA Merkezi" #~ msgid "SAM Site" #~ msgstr "SAM Sitesi" From 3e9c0ef263c21945bfd9e7f55eb8196104b0321f Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Thu, 23 Dec 2010 23:03:08 +0100 Subject: [PATCH 030/142] Italian translation update by Alpha93. Closes #2408. --- po/it.po | 1622 +++++++++++++++++++++++++++--------------------------- 1 file changed, 813 insertions(+), 809 deletions(-) diff --git a/po/it.po b/po/it.po index cd04b6c4d..8b319032c 100644 --- a/po/it.po +++ b/po/it.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" -"PO-Revision-Date: 2010-11-30 15:55+0100\n" +"POT-Creation-Date: 2010-12-23 22:59+0100\n" +"PO-Revision-Date: 2010-12-14 22:19+0100\n" "Last-Translator: Cristian Odorico \n" "Language-Team: Italian \n" "Language: it\n" @@ -5736,7 +5736,7 @@ msgid "New Design" msgstr "Nuovo Progetto" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Trasporto" @@ -11562,7 +11562,7 @@ msgstr "Testata Bomba avanzata" #: data/mp/messages/strings/names.txt:1100 msgid "Howitzer Fast Loader" -msgstr "Caricatore rapido per mortaio" +msgstr "Caricatore rapido per Obice" #: data/mp/messages/strings/names.txt:1116 msgid "Rapid Fire Chaingun" @@ -11993,1041 +11993,1042 @@ msgstr "Cannone ad ipervelocità Python Hover" msgid "Plasmite Retribution VTOL" msgstr "Plasmite Retribution VTOL" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "System locale" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1028 msgid "Enter password here" msgstr "Inserisci qua la password" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2021 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Non posso decidere il nome del server master (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2035 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Non posso comunicare con il server della Lobby! La porta TCP %u è aperta?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:954 +#: src/hci.cpp:3533 +#: src/hci.cpp:3656 +#: src/hci.cpp:4120 +#: src/hci.cpp:5142 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:360 +#: src/transporter.cpp:821 msgid "Close" msgstr "Chiudi" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Avvia in modalità Trucchi" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Imposta la cartella della configurazione" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "cartella della configurazione" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Imposta la cartella dei dati di default" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "cartella dei dati" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Mostra il debug per il livello scelto" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "avvia il debug del livello" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Log del debug su file" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "file" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Pulisci tutto l'output del Debug scritto nello stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Gioca in modalità fullscreen" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Carica una partita specifica" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "nome partita" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Mostra questo messaggio di aiuto ed esci" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Abilita un mod globale" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Abilita un mod per la sola campagna" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Abilita un mod per la sola modalità giocatore" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Disabilita asserzioni" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Causa un crash per testare l'handler dei crash" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Carica una partita salvata" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "salvataggio" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Gioca in modalità a finestra" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Mostra informazioni sulla versione ed esci" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Imposta la risoluzione da utilizzare" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "LARGHEZZAxALTEZZA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Abilita ombre" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Disabilita ombre" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Abilita suoni" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Disabilita suoni" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Attiva auto-test" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "Connetti direttamente a IP/hostname" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "Ospita" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "Vai direttamente alla schermata host" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:431 +#: src/configuration.cpp:432 +#: src/multistat.cpp:130 msgid "Player" msgstr "Giocatore" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nuovo veicolo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Corpo del Veicolo" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Propilsione del Veicolo" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Torretta del Veicolo" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Cancella il Progetto" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Armatura Cinetica" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Armatura Termica" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Potenza del Motore" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Peso" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Energia totale necessaria" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Punti Vita totali" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Utilizzo d'Energia" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hydra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Raggio dei Sensori" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Potenza dei Sensori" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Potenza dell'ECM" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Punti di Costruzione" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Raggio" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Danno" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Rateo di Fuoco" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Velocità in Aria" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Velocità sulla Strada" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Velocità Fuoristrada" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Velocità sull'Acqua" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Armi" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemi" -#: src/display3d.c:544 +#: src/display3d.cpp:589 msgid "Player left" msgstr "Un giocatore ha lasciato la partita" -#: src/display3d.c:548 +#: src/display3d.cpp:593 msgid "Player dropped" msgstr "Giocatore" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:597 +#: src/multiint.cpp:1840 msgid "Waiting for other players" msgstr "In attesa degli altri giocatori" -#: src/display3d.c:557 +#: src/display3d.cpp:602 msgid "Out of sync" msgstr "Fuori sincronia" -#: src/display.c:1641 +#: src/display.cpp:1657 msgid "Cannot Build. Oil Resource Burning." msgstr "Impossibile costruire. Risorsa d'olio in fiamme." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1836 +#: src/display.cpp:2429 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Danno %d%% - Esperienza %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1852 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Alleato - Danno %d%% - Esperienza %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2050 msgid "Truck ordered to build Oil Derrick" msgstr "Camion incaricato di costruire un Traliccio Petrolifero" -#: src/display.c:2035 +#: src/display.cpp:2051 msgid "2 trucks ordered to build Oil Derrick" msgstr "2 camion incaricati di costruire un Traliccio Petrolifero" -#: src/display.c:2036 +#: src/display.cpp:2052 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "%d camion incaricati di costruire un Traliccio Petrolifero" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Unità Persa!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Struttura Riparata" -#: src/droid.c:2979 +#: src/droid.cpp:2957 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Gruppo %u selezionato - %u Unità" msgstr[1] "Gruppo %u selezionato - %u Unità" -#: src/droid.c:2992 +#: src/droid.cpp:2970 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unità assegnata al Gruppo %u" msgstr[1] "%u unità assegnata al Gruppo %u" -#: src/droid.c:3005 +#: src/droid.cpp:2983 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Visuale Centrata sul Gruppo %u - %u Unit" msgstr[1] "Visuale Centrata sul gruppo %u - %u Unità" -#: src/droid.c:3009 +#: src/droid.cpp:2987 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Visuale affiancata al Gruppo %u - %u Unità" msgstr[1] "Visuale affiancata al Gruppo %u - %u Unità" -#: src/droid.c:3301 +#: src/droid.cpp:3279 msgid "Rookie" msgstr "Coscritta" -#: src/droid.c:3302 +#: src/droid.cpp:3280 msgctxt "rank" msgid "Green" msgstr "Inesperta" -#: src/droid.c:3303 +#: src/droid.cpp:3281 msgid "Trained" msgstr "Addestrata" -#: src/droid.c:3304 +#: src/droid.cpp:3282 msgid "Regular" msgstr "Normale" -#: src/droid.c:3305 +#: src/droid.cpp:3283 msgid "Professional" msgstr "Professionale" -#: src/droid.c:3306 +#: src/droid.cpp:3284 msgid "Veteran" msgstr "Veterana" -#: src/droid.c:3307 +#: src/droid.cpp:3285 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3286 msgid "Special" msgstr "Speciale" -#: src/droid.c:3309 +#: src/droid.cpp:3287 msgid "Hero" msgstr "Eroe" -#: src/droid.c:4336 +#: src/droid.cpp:4313 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "%s avrebbe voluto darti un %s ma ne hai troppi!" -#: src/droid.c:4340 +#: src/droid.cpp:4317 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "Volevi dare a %s un %s ma ne hanno troppi!" -#: src/frontend.c:98 +#: src/frontend.cpp:98 msgid "Single Player" msgstr "Giocatore singolo" -#: src/frontend.c:99 +#: src/frontend.cpp:99 msgid "Multi Player" msgstr "Multi Player" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:100 +#: src/frontend.cpp:156 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:101 +#: src/hci.cpp:3642 msgid "Options" msgstr "Opzioni" -#: src/frontend.c:102 +#: src/frontend.cpp:102 msgid "View Intro" msgstr "Guarda l'introduzione" -#: src/frontend.c:104 +#: src/frontend.cpp:104 msgid "Quit Game" msgstr "Esci dal Gioco" -#: src/frontend.c:106 +#: src/frontend.cpp:106 msgid "MAIN MENU" msgstr "MENU PRINCIPALE" -#: src/frontend.c:157 +#: src/frontend.cpp:157 msgid "Fast Play" msgstr "Partita Veloce" -#: src/frontend.c:158 +#: src/frontend.cpp:158 msgid "TUTORIALS" msgstr "TUTORIAL" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:160 +#: src/frontend.cpp:219 +#: src/frontend.cpp:363 +#: src/frontend.cpp:430 +#: src/frontend.cpp:564 +#: src/frontend.cpp:700 +#: src/frontend.cpp:807 +#: src/frontend.cpp:1026 +#: src/frontend.cpp:1187 msgctxt "menu" msgid "Return" msgstr "Indietro" -#: src/frontend.c:213 +#: src/frontend.cpp:213 msgid "New Campaign" msgstr "Nuova Campagna" -#: src/frontend.c:214 +#: src/frontend.cpp:214 msgid "Start Skirmish Game" msgstr "Inizia schermaglia" -#: src/frontend.c:215 +#: src/frontend.cpp:215 msgid "Challenges" msgstr "Sfide" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:216 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Carica Partita" -#: src/frontend.c:218 +#: src/frontend.cpp:218 msgid "SINGLE PLAYER" msgstr "GIOCATORE SINGOLO" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:304 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2529 +#: src/mission.cpp:2632 msgid "Load Saved Game" msgstr "Carica Partita" -#: src/frontend.c:358 +#: src/frontend.cpp:358 msgid "MULTI PLAYER" msgstr "MULTIGIOCATORE" -#: src/frontend.c:360 +#: src/frontend.cpp:360 msgid "Host Game" msgstr "Ospita una partita" -#: src/frontend.c:361 +#: src/frontend.cpp:361 msgid "Join Game" msgstr "Unisciti a una partita" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:423 +#: src/multiint.cpp:1118 msgid "OPTIONS" msgstr "OPZIONI" -#: src/frontend.c:424 +#: src/frontend.cpp:424 msgid "Game Options" msgstr "Opzioni di Gioco" -#: src/frontend.c:425 +#: src/frontend.cpp:425 msgid "Graphics Options" msgstr "Opzioni Grafiche" -#: src/frontend.c:426 +#: src/frontend.cpp:426 msgid "Video Options" msgstr "Opzioni video." -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:427 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Opzioni Audio" -#: src/frontend.c:428 +#: src/frontend.cpp:428 msgid "Mouse Options" msgstr "Opzioni del mouse" -#: src/frontend.c:429 +#: src/frontend.cpp:429 msgid "Key Mappings" msgstr "Assegnazione dei Tasti" -#: src/frontend.c:491 +#: src/frontend.cpp:491 msgid "Video Playback" msgstr "Riproduzione dei Video" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:495 +#: src/frontend.cpp:654 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:499 +#: src/frontend.cpp:644 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:503 +#: src/frontend.cpp:649 +#: src/frontend.cpp:775 +#: src/frontend.cpp:829 msgid "Fullscreen" msgstr "A schermo pieno" -#: src/frontend.c:513 +#: src/frontend.cpp:513 msgid "Screen Shake" msgstr "Scuoti lo Schermo" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:516 +#: src/frontend.cpp:544 +#: src/frontend.cpp:552 +#: src/frontend.cpp:587 +#: src/frontend.cpp:621 +#: src/frontend.cpp:630 +#: src/frontend.cpp:796 +#: src/frontend.cpp:890 +#: src/frontend.cpp:928 +#: src/frontend.cpp:967 +#: src/frontend.cpp:979 +#: src/frontend.cpp:991 +#: src/frontend.cpp:1003 +#: src/frontend.cpp:1048 +#: src/frontend.cpp:1061 +#: src/frontend.cpp:1075 +#: src/frontend.cpp:1089 msgid "On" msgstr "On" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:520 +#: src/frontend.cpp:540 +#: src/frontend.cpp:556 +#: src/frontend.cpp:582 +#: src/frontend.cpp:616 +#: src/frontend.cpp:634 +#: src/frontend.cpp:800 +#: src/frontend.cpp:885 +#: src/frontend.cpp:923 +#: src/frontend.cpp:971 +#: src/frontend.cpp:983 +#: src/frontend.cpp:995 +#: src/frontend.cpp:1007 +#: src/frontend.cpp:1043 +#: src/frontend.cpp:1056 +#: src/frontend.cpp:1070 +#: src/frontend.cpp:1084 msgid "Off" msgstr "Off" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:525 +#: src/multiint.cpp:1187 msgid "Fog" msgstr "Nebbia" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:528 +#: src/frontend.cpp:603 msgid "Mist" msgstr "Nebbia" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:532 +#: src/frontend.cpp:597 +#: src/multiint.cpp:1189 msgid "Fog Of War" msgstr "Nebbia di Guerra" -#: src/frontend.c:537 +#: src/frontend.cpp:537 msgid "Subtitles" msgstr "Sottotitoli" -#: src/frontend.c:549 +#: src/frontend.cpp:549 msgid "Shadows" msgstr "Ombre" -#: src/frontend.c:560 +#: src/frontend.cpp:560 msgid "GRAPHICS OPTIONS" msgstr "OPZIONI GRAFICHE" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:688 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volume Voce" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:692 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volume effetti" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:696 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volume musica" -#: src/frontend.c:703 +#: src/frontend.cpp:703 msgid "AUDIO OPTIONS" msgstr "OPZIONI AUDIO" -#: src/frontend.c:768 +#: src/frontend.cpp:768 msgid "* Takes effect on game restart" msgstr "* Ha effetto al riavvio del gioco" -#: src/frontend.c:771 +#: src/frontend.cpp:771 msgid "Graphics Mode*" msgstr "Modalità Grafica*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:779 +#: src/frontend.cpp:824 msgid "Windowed" msgstr "A finestra" -#: src/frontend.c:783 +#: src/frontend.cpp:783 msgid "Resolution*" msgstr "Risoluzione*" -#: src/frontend.c:788 +#: src/frontend.cpp:788 msgid "Texture size" msgstr "Dimensione della Texture" -#: src/frontend.c:792 +#: src/frontend.cpp:792 msgid "Vertical sync*" msgstr "Sincronia verticale" -#: src/frontend.c:804 +#: src/frontend.cpp:804 msgid "VIDEO OPTIONS" msgstr "OPZIONI VIDEO" -#: src/frontend.c:960 +#: src/frontend.cpp:960 msgid "* May negatively affect performance" msgstr "* Può avere effetti negativi sulla performance" -#: src/frontend.c:964 +#: src/frontend.cpp:964 msgid "Reverse Rotation" msgstr "Inverti la rotazione" -#: src/frontend.c:975 +#: src/frontend.cpp:975 msgid "Trap Cursor" msgstr "Blocca il Cursore" -#: src/frontend.c:987 +#: src/frontend.cpp:987 msgid "Colored Cursors*" msgstr "Cursori colorati*" -#: src/frontend.c:1000 +#: src/frontend.cpp:1000 msgid "Switch Mouse Buttons" msgstr "Inverti i tasti del mouse" -#: src/frontend.c:1012 +#: src/frontend.cpp:1012 msgid "Rotate Screen" msgstr "Ruota lo schermo" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1015 +#: src/frontend.cpp:1103 #, fuzzy msgid "Middle Mouse" msgstr "Pulsante centrale" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1019 +#: src/frontend.cpp:1098 #, fuzzy msgid "Right Mouse" msgstr "Pulsante destro" -#: src/frontend.c:1023 +#: src/frontend.cpp:1023 msgid "MOUSE OPTIONS" msgstr "OPZIONI DEL MOUSE" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1138 +#: src/frontend.cpp:1208 msgid "Difficulty" msgstr "Difficoltà" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1142 +#: src/frontend.cpp:1216 +#: src/frontend.cpp:1253 msgid "Easy" msgstr "Facile" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1145 +#: src/frontend.cpp:1219 +#: src/frontend.cpp:1245 msgid "Normal" msgstr "Normale" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1149 +#: src/frontend.cpp:1222 +#: src/frontend.cpp:1249 msgid "Hard" msgstr "Difficile" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1154 +#: src/frontend.cpp:1209 msgid "Scroll Speed" msgstr "Velocità di Scorrimento" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1168 +#: src/frontend.cpp:1206 msgid "Language" msgstr "Lingua" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1180 +#: src/frontend.cpp:1207 msgid "Unit Colour" msgstr "Colore delle Unità" -#: src/frontend.c:1183 +#: src/frontend.cpp:1183 msgid "Radar" msgstr "Radar" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1184 +#: src/frontend.cpp:1233 msgid "Rotating" msgstr "Rotazione in corso" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1184 +#: src/frontend.cpp:1233 msgid "Fixed" msgstr "Aggiustato" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1190 +#: src/frontend.cpp:1210 msgid "GAME OPTIONS" msgstr "OPZIONI DI GIOCO" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1342 +#: src/multiint.cpp:2109 msgid "Mod: " msgstr "Mod:" -#: src/hci.c:1349 +#: src/hci.cpp:1277 msgid "MAP SAVED!" msgstr "MAPPA SALVATA!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1628 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "PARTITA SALVATA:" -#: src/hci.c:2099 +#: src/hci.cpp:2015 msgid "Failed to create building" msgstr "Costruzione fallita" -#: src/hci.c:2116 +#: src/hci.cpp:2032 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Il giocatore %u sta ottenendo una nuova struttura per mezzo di trucchi (debug menu) : %s." -#: src/hci.c:2131 +#: src/hci.cpp:2047 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Il giocatore %u sta ottenendo una nuova caratteristica per mezzo di trucchi (debug menu) : %s." -#: src/hci.c:2153 +#: src/hci.cpp:2069 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Il giocatore %u sta ottenendo una nuova unità per mezzo di trucchi (debug menu) : %s." -#: src/hci.c:2164 +#: src/hci.cpp:2080 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Il giocatore %u sta ottenendo una nuova unità per mezzo di trucchi (debug menu)." -#: src/hci.c:3643 +#: src/hci.cpp:3453 msgid "Commanders (F6)" msgstr "Comandanti (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3466 msgid "Intelligence Display (F5)" msgstr "Intelligence (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3479 msgid "Manufacture (F1)" msgstr "Produzione (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3492 msgid "Design (F4)" msgstr "Progettazione (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3505 msgid "Research (F2)" msgstr "Ricerca (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3518 msgid "Build (F3)" msgstr "Costruzione (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3589 +#: src/multiint.cpp:1234 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.c:3915 +#: src/hci.cpp:3680 msgid "Map:" msgstr "Mappa:" -#: src/hci.c:3929 +#: src/hci.cpp:3693 msgid "Load" msgstr "Carica" -#: src/hci.c:3930 +#: src/hci.cpp:3694 msgid "Load Map File" msgstr "Carica File Mappa" -#: src/hci.c:3937 +#: src/hci.cpp:3701 msgid "Save" msgstr "Salva" -#: src/hci.c:3938 +#: src/hci.cpp:3702 msgid "Save Map File" msgstr "Salva File Mappa" -#: src/hci.c:3946 +#: src/hci.cpp:3710 msgid "New" msgstr "Nuovo" -#: src/hci.c:3947 +#: src/hci.cpp:3711 msgid "New Blank Map" msgstr "Nuova mappa vuota" -#: src/hci.c:3985 +#: src/hci.cpp:3747 msgid "Tile" msgstr "Texture" -#: src/hci.c:3986 +#: src/hci.cpp:3748 msgid "Place tiles on map" msgstr "Piazza texture sulla mappa" -#: src/hci.c:3995 +#: src/hci.cpp:3757 msgid "Unit" msgstr "Unità" -#: src/hci.c:3996 +#: src/hci.cpp:3758 msgid "Place Unit on map" msgstr "Piazza un' Unità sulla mappa" -#: src/hci.c:4004 +#: src/hci.cpp:3766 msgid "Struct" msgstr "Struttura" -#: src/hci.c:4005 +#: src/hci.cpp:3767 msgid "Place Structures on map" msgstr "Piazza Strutture sulla mappa" -#: src/hci.c:4013 +#: src/hci.cpp:3775 msgid "Feat" msgstr "Caratteristica" -#: src/hci.c:4014 +#: src/hci.cpp:3776 msgid "Place Features on map" msgstr "Piazza Oggetti sulla mappa" -#: src/hci.c:4024 +#: src/hci.cpp:3786 msgid "Pause" msgstr "Pausa" -#: src/hci.c:4025 +#: src/hci.cpp:3787 msgid "Pause or unpause the game" msgstr "Metti in pausa o riprendi la partita" -#: src/hci.c:4039 +#: src/hci.cpp:3801 msgid "Align height of all map objects" msgstr "Allinea le altezze di tutti gli oggetti della mappa" -#: src/hci.c:4049 +#: src/hci.cpp:3811 msgid "Edit" msgstr "Edita" -#: src/hci.c:4050 +#: src/hci.cpp:3812 msgid "Start Edit Mode" msgstr "Inizia Modalità Edit" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3826 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Abbandona" -#: src/hci.c:4065 +#: src/hci.cpp:3827 msgid "Exit Game" msgstr "Esci dal Gioco" -#: src/hci.c:4090 +#: src/hci.cpp:3851 msgid "Current Player:" msgstr "Player Attuale:" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:4201 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barra del Progresso" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "Produzione Infinita" - -#: src/hci.c:5472 +#: src/hci.cpp:5067 msgid "Factory Delivery Point" msgstr "Punto di Raduno della Fabbrica" -#: src/hci.c:5491 +#: src/hci.cpp:5085 msgid "Loop Production" msgstr "Produzione Ciclica" -#: src/hci.c:5578 +#: src/hci.cpp:5165 msgid "Tab Scroll left" msgstr "Scorri tabella a Sinistra" -#: src/hci.c:5595 +#: src/hci.cpp:5180 msgid "Tab Scroll right" msgstr "Scorri tabella a Destra" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Riprendi la partita" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "ATTENZIONE: Sei l'host. Se tu abbandoni, la partita termina per tutti!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "UI Tattica (Icona dell'Origine del bersaglio): Visualizza" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "UI Tattica (Icona dell'Origine del bersaglio): Nascondi" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2516 +#: src/mission.cpp:2635 msgid "Save Game" msgstr "Salva Partita" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "L'host ha abbandonato la partita!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Il gioco non può continuare senza l'host." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> ABBANDONA <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13038,1659 +13039,1653 @@ msgstr "" "\n" "Warzone proverà a caricare il gioco senza di esso." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Progresso della produzione" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Progresso della costruzione" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energia Accumulata" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1377 msgid "PAUSED" msgstr "IN PAUSA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Aggiornamento della Ricerca" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Obiettivi del Project" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Obiettivo Corrente" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1512 msgid "New Intelligence Report" msgstr "Nuovo rapporto dell'Intelligence." -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Corto Raggio" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Lungo Raggio" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Raggio Ottimale" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Ritirata quando i danni sono medi" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ritirata quando i danni sono gravi" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Nessuna Ritirata" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Fuoco a volontà" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Rispondere al fuoco" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Cessare il fuoco" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Pattugliare" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Inseguire" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Vigliare la Posizione" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Tenere al posizione" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Rientrare per riparazioni" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Rientrare al QG" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Salire sul Trasporto" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Rientrare per il riciclo" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Ricicla" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Assegna la produzione della fabbrica" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Assegna produzione della fabbrica di Cyborg" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Assegna Fuoco di Supporto" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Assegna produzione della fabbrica di VTOL" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Circola" -#: src/keybind.c:137 +#: src/keybind.cpp:137 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Spiacente, quel trucco è disabilitato nelle partite multigiocatore." -#: src/keybind.c:143 +#: src/keybind.cpp:143 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Attenzione! Questo trucco è buggato. Raccomandiamo di NON usarlo." -#: src/keybind.c:242 +#: src/keybind.cpp:242 msgid "Lets us see what you see!" msgstr "Lasciaci vedere cosa vedi!" -#: src/keybind.c:244 +#: src/keybind.cpp:244 msgid "Fine, weapon & sensor display is off!" msgstr "Va bene,il display delle armi e dei sensor è spento!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:417 +#: src/keybind.cpp:447 +#: src/keybind.cpp:464 +#: src/keybind.cpp:508 +#: src/keybind.cpp:616 +#: src/keybind.cpp:656 +#: src/keybind.cpp:762 +#: src/keybind.cpp:1267 +#: src/keybind.cpp:1324 +#: src/keybind.cpp:1434 +#: src/keybind.cpp:1563 +#: src/keybind.cpp:1920 +#: src/keybind.cpp:1961 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Il giocatore %u) sta usando il trucco:%s" -#: src/keybind.c:418 +#: src/keybind.cpp:418 msgid "Hard as nails!!!" msgstr "Duro come chiodi!" -#: src/keybind.c:432 +#: src/keybind.cpp:432 msgid "Takings thing easy!" msgstr "Prendendo le cose con calma!" -#: src/keybind.c:448 +#: src/keybind.cpp:448 msgid "1000 big ones!!!" msgstr "1000 belli grossi!" -#: src/keybind.c:465 +#: src/keybind.cpp:465 msgid "Power overwhelming" msgstr "Energia schiacciante!" -#: src/keybind.c:480 +#: src/keybind.cpp:480 msgid "Back to normality!" msgstr "Ritorno alla normalità!" -#: src/keybind.c:493 +#: src/keybind.cpp:493 msgid "Getting tricky!" msgstr "Si sta facendo complicato!" -#: src/keybind.c:509 +#: src/keybind.cpp:509 msgid "Twice as nice!" msgstr "Due volte più bello!" -#: src/keybind.c:520 +#: src/keybind.cpp:520 msgid "FPS display is enabled." msgstr "FPS display è attivato." -#: src/keybind.c:524 +#: src/keybind.cpp:524 msgid "FPS display is disabled." msgstr "FPS display è disattivato." -#: src/keybind.c:548 +#: src/keybind.cpp:548 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; Limite-FPS: %d; PIEs %d; polys %d; Terr. polys %d: States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:580 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Il player %u) usa un trucco:Unità %d Strut.re %d Caratt. %d" -#: src/keybind.c:617 +#: src/keybind.cpp:617 msgid "Infinite power disabled" msgstr "Energia infinita disabilitata" -#: src/keybind.c:617 +#: src/keybind.cpp:617 msgid "Infinite power enabled" msgstr "Energia infinita abilitata" -#: src/keybind.c:657 +#: src/keybind.cpp:657 msgid "All items made available" msgstr "Tutti gli oggetti resi disponibili" -#: src/keybind.c:763 +#: src/keybind.cpp:763 msgid "Fog on" msgstr "Nebbia attiva" -#: src/keybind.c:763 +#: src/keybind.cpp:763 msgid "Fog off" msgstr "Nebbia disattiva" -#: src/keybind.c:1173 +#: src/keybind.cpp:1173 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Attenzione! Questo trucco può causare problemi più avanti! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1173 msgid "Ending Mission." msgstr "Concludo la missione." -#: src/keybind.c:1268 +#: src/keybind.cpp:1268 msgid "CHEATS ARE NOW ENABLED!" msgstr "I TRUCCHI SONO ORA ABILITATI!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1268 msgid "CHEATS ARE NOW DISABLED!" msgstr "I TRUCCHI SONO ORA DISABILITATI!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1325 msgid "God Mode ON" msgstr "Modalità Dio ON" -#: src/keybind.c:1325 +#: src/keybind.cpp:1325 msgid "God Mode OFF" msgstr "Modalità Dio OFF" -#: src/keybind.c:1337 +#: src/keybind.cpp:1337 msgid "View Aligned to North" msgstr "Visuale allineata a Nord" -#: src/keybind.c:1346 +#: src/keybind.cpp:1346 #, c-format msgid "Trap cursor %s" msgstr "Blocca il Cursore %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1435 msgid "Researched EVERYTHING for you!" msgstr "Ricercato TUTTO per te!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1499 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Il giocatore %u) sta usando il trucco:%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1500 msgid "Researched" msgstr "Ricercato" -#: src/keybind.c:1521 +#: src/keybind.cpp:1521 msgid "Only displaying energy bars when selected" msgstr "Visualizza le barre di energia solo quando selezionato." -#: src/keybind.c:1524 +#: src/keybind.cpp:1524 msgid "Always displaying energy bars for units" msgstr "Visualizza sempre le barre d'energia per le unità" -#: src/keybind.c:1527 +#: src/keybind.cpp:1527 msgid "Always displaying energy bars for units and structures" msgstr "Visualizza sempre le barre di energia per le unità e le strutture" -#: src/keybind.c:1549 +#: src/keybind.cpp:1549 msgid "Demo mode off - Returning to normal game mode" msgstr "Modialità Demo disattiva - Ritorno alla modalità di gioco normale" -#: src/keybind.c:1564 +#: src/keybind.cpp:1564 msgid "Debug menu is Open" msgstr "Il menu Debug è aperto" -#: src/keybind.c:1595 +#: src/keybind.cpp:1601 msgid "Unable to locate any oil derricks!" msgstr "Impossibile localizzare alcun traliccio!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1822 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, il tempo fuori è pauroso... NEVE" -#: src/keybind.c:1822 +#: src/keybind.cpp:1828 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... PIOGGIA" -#: src/keybind.c:1828 +#: src/keybind.cpp:1834 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Previsioni del tempo: Cieli puliti in ogni area... TEMPO DISATTIVATO" -#: src/keybind.c:1913 +#: src/keybind.cpp:1919 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Attenzione!Questo può avere conseguenze drastiche se usato non correttamente nelle missioni." -#: src/keybind.c:1915 +#: src/keybind.cpp:1921 msgid "All enemies destroyed by cheating!" msgstr "Nemici distrutti con i trucchi!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1962 msgid "Destroying selected droids and structures!" msgstr "I droidi e le strutture selezione saranno distrutte." -#: src/keybind.c:2478 +#: src/keybind.cpp:2484 msgid "Centered on player HQ, direction NORTH" msgstr "Visuale centrata sul Quartier Generale, direzione NORD" -#: src/keybind.c:2490 +#: src/keybind.cpp:2496 msgid "Unable to locate HQ!" msgstr "Impossibile localizzare il Quartier Generale!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2503 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Limitazione della velocità della formazione è stata rimossa dal gioco a causa dei bug." -#: src/keybind.c:2546 +#: src/keybind.cpp:2552 msgid "Vertical rotation direction: Normal" msgstr "Direzione di rotazione verticale: Normale" -#: src/keybind.c:2551 +#: src/keybind.cpp:2557 msgid "Vertical rotation direction: Flipped" msgstr "Direzione di rotazione verticale: Capovolta" -#: src/keybind.c:2560 +#: src/keybind.cpp:2566 msgid "Screen shake when things die: Off" msgstr "Scuoti lo schermo quando gli oggetti esplodono: Off" -#: src/keybind.c:2565 +#: src/keybind.cpp:2571 msgid "Screen shake when things die: On" msgstr "Scuoti lo schermo quando gli oggetti esplodono: On" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2616 +#: src/keybind.cpp:2659 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Spiacente, ma la velocità del gioco non può essere cambiata in multiplayer." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2637 +#: src/keybind.cpp:2680 +#: src/keybind.cpp:2702 msgid "Game Speed Reset" msgstr "Velocità di Gioco Reimpostata" -#: src/keybind.c:2635 +#: src/keybind.cpp:2641 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Velocità di Gioco Aumentata a %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2684 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Velocità di Gioco Ridotta a %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2714 msgid "Radar showing friend-foe colors" msgstr "Il radar mostra i colori Amici-Nemici" -#: src/keybind.c:2712 +#: src/keybind.cpp:2718 msgid "Radar showing player colors" msgstr "Il radar mostra il colore dei giocatori" -#: src/keybind.c:2733 +#: src/keybind.cpp:2739 msgid "Radar showing only objects" msgstr "Il radar mostra solo oggetti" -#: src/keybind.c:2736 +#: src/keybind.cpp:2742 msgid "Radar blending terrain and height" msgstr "Radar visualizzante terreno e altitudine" -#: src/keybind.c:2739 +#: src/keybind.cpp:2745 msgid "Radar showing terrain" msgstr "Il radar mostra il terreno" -#: src/keybind.c:2742 +#: src/keybind.cpp:2748 msgid "Radar showing revealed terrain" msgstr "Il radar mostra il terreno scoperto" -#: src/keybind.c:2745 +#: src/keybind.cpp:2751 msgid "Radar showing height" msgstr "Il radar mostra l'altitudine" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "ASSEGNAZIONE TASTI" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:488 +#: src/multiint.cpp:913 +#: src/multiint.cpp:1320 msgid "Return To Previous Screen" msgstr "Ritorna alla Schermata Precedente" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Seleziona Default" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Produzione" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Ricerca" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Costruzione" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Progettazione" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Intelligence" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Comandanti" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Attiva il Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Attiva la visualizzazione della Console" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Cambia lo stato delle barre del danno On/Off" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Ottieni uno Screenshot" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Attiva la limitazione della velocità in formazione" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Visualizza la locazione del messaggio precedente" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "Attiva la visualizzazione dei sensori" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Assegna il gruppo 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Assegna il gruppo 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Assegna il gruppo 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Assegna il gruppo 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Assegna il gruppo 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Assegna il gruppo 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Assegna il gruppo 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Assegna il gruppo 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Assegna il gruppo 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Assegna il gruppo 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Seleziona il Gruppo 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Seleziona il Gruppo 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Seleziona il Gruppo 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Seleziona il Gruppo 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Seleziona il Gruppo 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Seleziona il Gruppo 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Seleziona il Gruppo 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Seleziona il Gruppo 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Seleziona il Gruppo 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Seleziona il Gruppo 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Seleziona il Comandante 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Seleziona il Comandante 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Seleziona il Comandante 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Seleziona il Comandante 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Seleziona il Comandante 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Seleziona il Comandante 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Seleziona il Comandante 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Seleziona il Comandante 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Seleziona il Comandante 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Seleziona il Comandante 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Opzioni Multigiocatore/ Dialogo d'Alleanza" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Sposta la Visuale a Nord" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Avvia la Telecamera a Inseguimento" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Mostra le opzioni in gioco" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Radar: Zoom indietro" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Radar: Zoom avanti" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoom Avanti" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoom Indietro" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Inclina in Avanti" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Ruota a Sinistra" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Reimposta l'Inclinazione" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Ruota a Destra" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Inclina Indietro" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menu degli Ordini" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Diminuisci la Velocità di Gioco" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Aumenta la Velocità di Gioco" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Reimposta la Velocità di Gioco" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Guarda a Nord" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Guarda a Sud" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Guarda a Est" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Guarda a Ovest" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Sposta la Visuale sul prossimo Traliccio Petrolifero" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Sposta la Visuale sulla prossima Unità di Riparazione" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Sposta la Visuale sul prossimo Camion" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Sposta la Visuale sulla prossima Unità Sensoria" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Sposta la Visuale sul prossimo Comandante" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Attiva gli Overlay" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Console On/Off" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centra la visuale sul QG" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Guarda tutte le Unità non assegnate" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Fuoco a Volontà" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Ritorna al QG" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Invia un messaggio di testo" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "Lascia un segnale" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "Visualizzazione Sensori ATTIVA" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "Visualizzazione Sensori DISATTIVA" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "Visualizza ombre" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "Blocca il cursore" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "Attiva il Radar del terreno" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "Visualizza visione radar alleato-nemico" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Seleziona tutte le unità combattenti" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Seleziona tutte le Unità danneggiate gravamente" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Seleziona tutti i semicingoli" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Seleziona tutti gli Hover" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Seleziona tutte le Unità sullo schermo" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Seleziona tutti i Cingoli" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Seleziona TUTTE le unità" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Seleziona tutti i VTOL" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Seleziona tutte le Ruote" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Seleziona tutte le unità simili" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Seleziona la prossima Fabbrica" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Seleziona il prossimo Centro di Ricerca" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Seleziona il prossimo Generatore di Energia" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Seleziona la prossima Fabbrica di Cyborg" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Non posso salvare la partita!" -#: src/mission.c:2067 +#: src/mission.cpp:2077 msgid "Load Transport" msgstr "Carica il trasporto" -#: src/mission.c:2461 +#: src/mission.cpp:2464 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "OBIETTIVO RAGGIUNTO barando!" -#: src/mission.c:2461 +#: src/mission.cpp:2464 msgid "OBJECTIVE ACHIEVED" msgstr "OBIETTIVO RAGGIUNTO" -#: src/mission.c:2467 +#: src/mission.cpp:2470 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "MISSIONE FALLITA e hai barato!" -#: src/mission.c:2467 +#: src/mission.cpp:2470 msgid "OBJECTIVE FAILED" msgstr "MISSIONE FALLITA" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2495 +#: src/mission.cpp:2535 +#: src/mission.cpp:2649 msgid "Quit To Main Menu" msgstr "Esci al Menu Principale" -#: src/mission.c:2501 +#: src/mission.cpp:2503 msgid "Continue Game" msgstr "Continua la Partita" -#: src/mission.c:2598 +#: src/mission.cpp:2600 msgid "GAME SAVED :" msgstr "PARTITA SALVATA!" -#: src/move.c:2320 +#: src/move.cpp:2314 #, c-format msgid "You found %u power in an oil drum." msgstr "Hai trovato %u di energia in un barile di petrolio" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Ti Invia un Rapporto di Visibilità" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Ti invia un %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Hai tentato di inviare un %s non vuoto - ma ciò non è consentito." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Ti Invia i Documenti delle Tecnologie" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Ti Invia %u Energia" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s richiede un'alleanza con te" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Hai invitato %s a formare un'alleanza" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s rompe l'alleanza con %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s forma un'alleanza con %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Hai scoperto i progetti per %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:424 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accetta le Impostazioni" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:426 +#: src/multiint.cpp:958 msgid "Cancel" msgstr "Cancella" -#: src/multiint.c:442 +#: src/multiint.cpp:437 msgid "IP Address or Machine Name" msgstr "Indirizzo IP o Nome Computer" -#: src/multiint.c:492 +#: src/multiint.cpp:485 msgid "CONNECTION" msgstr "CONNESSIONE" -#: src/multiint.c:497 +#: src/multiint.cpp:490 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:491 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:681 msgid "No games are available" msgstr "Non ci sono partite disponibili." -#: src/multiint.c:694 +#: src/multiint.cpp:684 msgid "Game is full" msgstr "La partita è piena" -#: src/multiint.c:698 +#: src/multiint.cpp:688 msgid "You were kicked!" msgstr "Sei stato kickato!" -#: src/multiint.c:701 +#: src/multiint.cpp:691 msgid "Wrong Game Version!" msgstr "Versione del Gioco sbagliata!" -#: src/multiint.c:704 +#: src/multiint.cpp:694 msgid "You have an incompatible mod." msgstr "Hai un mod incompatibile." -#: src/multiint.c:708 +#: src/multiint.cpp:698 msgid "Host couldn't send file?" msgstr "L'Host non può mandare il file?" -#: src/multiint.c:712 +#: src/multiint.cpp:702 msgid "Incorrect Password!" msgstr "Password non corretta!" -#: src/multiint.c:715 +#: src/multiint.cpp:705 msgid "Host has dropped connection!" msgstr "L'host ha terminato la connessione!" -#: src/multiint.c:719 +#: src/multiint.cpp:709 msgid "Connection Error" msgstr "Errore di connessione" -#: src/multiint.c:863 +#: src/multiint.cpp:853 msgid "Searching" msgstr "Ricerca in corso..." -#: src/multiint.c:924 +#: src/multiint.cpp:910 msgid "GAMES" msgstr "PARTITE" -#: src/multiint.c:932 +#: src/multiint.cpp:918 msgid "Refresh Games List" msgstr "Aggiorna la Lista Partite" -#: src/multiint.c:952 +#: src/multiint.cpp:938 msgid "Enter Password:" msgstr "Inserisci la password:" -#: src/multiint.c:973 +#: src/multiint.cpp:956 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1073 msgid "Tanks disabled!!" msgstr "Carri disabilitati!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1074 msgid "Cyborgs disabled." msgstr "Cyborg disabilitati." -#: src/multiint.c:1097 +#: src/multiint.cpp:1075 msgid "VTOLs disabled." msgstr "VTOL disabilitati." -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1123 +#: src/multiint.cpp:1130 msgid "Select Game Name" msgstr "Seleziona il Nome della Partita" -#: src/multiint.c:1147 +#: src/multiint.cpp:1123 msgid "One-Player Skirmish" msgstr "Schermaglia a Un Giocatore" -#: src/multiint.c:1157 +#: src/multiint.cpp:1133 msgid "Select Map" msgstr "Seleziona la Mappa" -#: src/multiint.c:1165 +#: src/multiint.cpp:1141 msgid "Click to set Password" msgstr "Clicca per settare la Password" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1151 +#: src/multiint.cpp:1152 msgid "Scavengers" msgstr "Sciacalli" -#: src/multiint.c:1178 +#: src/multiint.cpp:1154 msgid "No Scavengers" msgstr "No Sciacalli" -#: src/multiint.c:1208 +#: src/multiint.cpp:1184 msgid "Select Player Name" msgstr "Seleziona il Nome del Giocatore" -#: src/multiint.c:1214 +#: src/multiint.cpp:1190 msgid "Distance Fog" msgstr "Nebbia sulla Distanza" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1201 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alleanze" -#: src/multiint.c:1228 +#: src/multiint.cpp:1204 msgid "No Alliances" msgstr "Nessuna Alleanza" -#: src/multiint.c:1230 +#: src/multiint.cpp:1206 msgid "Allow Alliances" msgstr "Concedi Alleanze" -#: src/multiint.c:1234 +#: src/multiint.cpp:1210 msgid "Locked Teams" msgstr "Squadre Bloccate" -#: src/multiint.c:1260 +#: src/multiint.cpp:1236 msgid "Low Power Levels" msgstr "Livelli Energetici Bassi" -#: src/multiint.c:1262 +#: src/multiint.cpp:1238 msgid "Medium Power Levels" msgstr "Livelli Energetici Medi" -#: src/multiint.c:1264 +#: src/multiint.cpp:1240 msgid "High Power Levels" msgstr "Livelli Energetici Alti" -#: src/multiint.c:1296 +#: src/multiint.cpp:1272 msgid "Base" msgstr "Base" -#: src/multiint.c:1298 +#: src/multiint.cpp:1274 msgid "Start with No Bases" msgstr "Inizia senza Basi" -#: src/multiint.c:1300 +#: src/multiint.cpp:1276 msgid "Start with Bases" msgstr "Inizia con Basi" -#: src/multiint.c:1302 +#: src/multiint.cpp:1278 msgid "Start with Advanced Bases" msgstr "Inizia con Basi Avanzate" -#: src/multiint.c:1334 +#: src/multiint.cpp:1310 msgid "Map Preview" msgstr "Anteprima mappa" -#: src/multiint.c:1336 +#: src/multiint.cpp:1312 msgid "Click to see Map" msgstr "Clicca per visualizzare la mappa" -#: src/multiint.c:1350 +#: src/multiint.cpp:1326 msgid "Start Hosting Game" msgstr "Inizia ad ospitare la Partita" -#: src/multiint.c:1358 +#: src/multiint.cpp:1334 msgid "Show Structure Limits" msgstr "Mostra i limiti di strutture" -#: src/multiint.c:1358 +#: src/multiint.cpp:1334 msgid "Set Structure Limits" msgstr "Imposta i limiti di strutture" -#: src/multiint.c:1444 +#: src/multiint.cpp:1420 msgid "Player colour" msgstr "Colore Giocatore" -#: src/multiint.c:1460 +#: src/multiint.cpp:1436 msgid "Kick player" msgstr "Espelli giocatore" -#: src/multiint.c:1471 +#: src/multiint.cpp:1447 msgid "Player position" msgstr "Posizione del giocatore" -#: src/multiint.c:1831 +#: src/multiint.cpp:1807 msgid "Team" msgstr "Squadra" -#: src/multiint.c:1870 +#: src/multiint.cpp:1846 msgid "Click when ready" msgstr "Clicca quando sei pronto" -#: src/multiint.c:1874 +#: src/multiint.cpp:1850 msgid "READY?" msgstr "PRONTO?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1885 msgid "PLAYERS" msgstr "GIOCATORI" -#: src/multiint.c:1965 +#: src/multiint.cpp:1938 msgid "Choose Team" msgstr "Scegli la squadra" -#: src/multiint.c:2005 +#: src/multiint.cpp:1976 msgid "Click to change player settings" msgstr "Clicca per cambiare le impostazione del giocatore" -#: src/multiint.c:2036 +#: src/multiint.cpp:2006 msgid "Click to adjust AI difficulty" msgstr "Clicca per modificare la difficoltà dell'AI" -#: src/multiint.c:2115 +#: src/multiint.cpp:2082 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2114 msgid "All players need to have the same mods to join your game." msgstr "Tutti i giocatori devono avere gli stessi mod per entrare nella tua partita." -#: src/multiint.c:2310 +#: src/multiint.cpp:2275 #, c-format msgid "*** password [%s] is now required! ***" msgstr "***La password [%s] ora è richiesta! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2283 msgid "*** password is NOT required! ***" msgstr "*** La password non è richiesta! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2526 msgid "Sorry! Failed to host the game." msgstr "Spiacente! Host della partita fallito." -#: src/multiint.c:2646 +#: src/multiint.cpp:2611 msgid "'Locked Teams' mode enabled" msgstr "Squadre Bloccate" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2650 +#: src/multiint.cpp:2700 #, c-format msgid "The host has kicked %s from the game!" msgstr "L'host ha espulso %s dalla partita!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2780 msgid "Host is Starting Game" msgstr "L'host sta avviando la partita" -#: src/multiint.c:3399 +#: src/multiint.cpp:3371 msgid "Players" msgstr "Giocatori" -#: src/multiint.c:3517 +#: src/multiint.cpp:3489 #, c-format msgid "Sending Map: %d%% " msgstr "Invio mappa: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3497 #, c-format msgid "Map: %d%% downloaded" msgstr "Mappa: %d%% scaricata" -#: src/multiint.c:3551 +#: src/multiint.cpp:3523 msgid "HOST" msgstr "HOST" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Alcuni giocatori si stanno ancora unendo alla partita" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s ha abbandonato la partita" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Il trasferimento del file è stato annullato per %d" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) ha un mod incompatibile, ed è stato espulso." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s si sta unendo alla partita" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Messaggio di Sistema" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Applica i predefiniti e ritorna alla schermata precedente" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Limiti resettati ai valori di default" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Livello di tecnologia 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Livello di tecnologia 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Livello di tecnologia 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Qualsiasi numero di giocatori" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 giocatori" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 msgid "3 players" msgstr "3 giocatori" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 giocatori" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 msgid "5 players" msgstr "5 giocatori" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 msgid "6 players" msgstr "6 giocatori" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 msgid "7 players" msgstr "7 giocatori" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 giocatori" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Punteggio" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Uccisioni" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Unità" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Strutture" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "Canale" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Cambia lo stato dell'Alleanza" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Invia un Rapporto di Visibilità" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Invia Documenti delle Tecnologie" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Consegna le Unità Selezionate" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Invia Energia al Giocatore" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Il giocatore %s sarà kickato perchè hanno cercato di bypassare il controllo dell'integrità dei dati!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(alleati" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(privato a" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[invalido]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2046 msgid "Green" msgstr "Verde" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2047 msgid "Orange" msgstr "Arancione" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2048 msgid "Grey" msgstr "Grigio" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2049 msgid "Black" msgstr "Nero" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2050 msgid "Red" msgstr "Rosso" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2051 msgid "Blue" msgstr "Blu" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2052 msgid "Pink" msgstr "Rosa" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2053 msgid "Cyan" msgstr "Azzurro" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "Non possiamo farlo! Dobbiamo essere un'unità Cyborg per usare un trasporto Cyborg!" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Ricerca Completata: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Ricerca Completata" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Premio della Ricerca" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Unità Proprie: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Unità Nemiche: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Strutture Proprie: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Unità Nemiche: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Unità Prodotte: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Unità Totali: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Strutture Costruite: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Strutture Totali: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Coscritta: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Verde: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Addestrata: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Regolare: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professionale: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veterana: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Speciale: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Eroica: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Perdite di Unità" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Perdite di Strutture" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informazioni sulla Forza" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "MANUFATTI RECUPERATI: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Tempo della Missione - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Tempo di Gioco Totale - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Hai barato!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3200 msgid "YOU ARE VICTORIOUS!" msgstr "VITTORIA!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3204 msgid "YOU WERE DEFEATED!" msgstr "SEI STATO SCONFITTO" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:10119 #, c-format msgid "Beacon received from %s!" msgstr "Segnale ricevuto da %s" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:10165 #, c-format msgid "Beacon %d" msgstr "Segnale %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u unità selezionata" msgstr[1] "%u unità selezionate" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Impossibile localizzare alcuna unità di riparazione!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Impossibile localizzare alcun Camion!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Impossibile localizzare alcuna Unità Sensoria!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Impossibile localizzare alcun Comandante!" -#: src/structure.c:2912 +#: src/structure.cpp:2905 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limite di Controllo Raggiunto - Produzione Arrestata" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:6137 +#: src/structure.cpp:6162 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unità Assegnata" msgstr[1] "%s - %u Unità Assegnate" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:6167 +#: src/structure.cpp:6235 +#: src/structure.cpp:6251 +#: src/structure.cpp:6265 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Danno %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:6217 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Collegati %u di %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6381 +#: src/structure.cpp:6426 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danneggiato Elettronicamente" -#: src/structure.c:6675 +#: src/structure.cpp:6663 msgid "Electronic Reward - Visibility Report" msgstr "Premio Elettronico - Rapporto di Visibilità" -#: src/structure.c:6715 +#: src/structure.cpp:6703 msgid "Factory Reward - Propulsion" msgstr "Premio della Fabbrica - Propulsione" -#: src/structure.c:6739 +#: src/structure.cpp:6727 msgid "Factory Reward - Body" msgstr "Premio della Fabbrica - Corpo" -#: src/structure.c:6763 +#: src/structure.cpp:6751 msgid "Factory Reward - Weapon" msgstr "Premio della Fabbrica - Arma" -#: src/structure.c:6772 +#: src/structure.cpp:6760 msgid "Factory Reward - Nothing" msgstr "Premio della Fabbrica - Niente" -#: src/structure.c:6800 +#: src/structure.cpp:6788 msgid "Repair Facility Award - Repair" msgstr "Premio della Struttura di Riparazione - Ripara" -#: src/structure.c:6807 +#: src/structure.cpp:6795 msgid "Repair Facility Award - Nothing" msgstr "Premio della Struttura di Riparazione - Niente" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:397 +#: src/transporter.cpp:446 msgid "Launch Transport" msgstr "Lancia il Trasporto" -#: src/transporter.c:1462 +#: src/transporter.cpp:1424 msgid "There is not enough room in the Transport!" msgstr "Non c'è abbastanza spazio nel Trasporto!" -#: src/transporter.c:1720 +#: src/transporter.cpp:1682 msgid "Reinforcements landing" msgstr "I rinforzi stanno atterrando" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modificato e cambiato localmente)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modificato localmente)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (cambiato localmente)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Costruito %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versione %s%s%s%s" -#~ msgid "Plascrete MK3" -#~ msgstr "Plastitan Mk3" - -#~ msgid "Player number" -#~ msgstr "Numero giocatore" - #~ msgid "Cobra Hover Heavy-Repair" #~ msgstr "Cobra Hover Torretta Riparatrice Pesante" @@ -14820,6 +14815,9 @@ msgstr "Versione %s%s%s%s" #~ msgid ": Unknown cheat code." #~ msgstr ": Codice del trucco sconosciuto." +#~ msgid "Infinite Production" +#~ msgstr "Produzione Infinita" + #~ msgid "Player %u is cheating him/herself a new droid army of %s(s)." #~ msgstr "Il giocatore %u sta ottenendo per mezzo di trucchi un nuovo esercito di %s(s)" @@ -14895,6 +14893,12 @@ msgstr "Versione %s%s%s%s" #~ msgid "kicked %s : %s from the game, and added them to the banned list!" #~ msgstr "Espulso %s: %s dal gioco e aggiunto alla lista dei bannati!" +#~ msgid "Plascrete MK3" +#~ msgstr "Plastitan Mk3" + +#~ msgid "Player number" +#~ msgstr "Numero giocatore" + #~ msgid "Mini-Rocket accuracy +10%" #~ msgstr "Precisione dei Minirazzi +10%" From e6cd8d8d64d7841bbe52aa69c7d01e8882e86e34 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 23 Dec 2010 22:11:18 +0100 Subject: [PATCH 031/142] Simplify production run code. And fix production runs not being cleared when a structure is removed. --- src/droid.cpp | 36 +++--- src/game.cpp | 43 +++---- src/hci.cpp | 4 +- src/intdisplay.cpp | 34 ++---- src/structure.cpp | 299 ++++++++++++++------------------------------- src/structure.h | 9 +- src/structuredef.h | 51 +++++--- 7 files changed, 170 insertions(+), 306 deletions(-) diff --git a/src/droid.cpp b/src/droid.cpp index 22092207a..207b4dde3 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -2752,7 +2752,7 @@ UDWORD fillTemplateList(DROID_TEMPLATE **ppList, STRUCTURE *psFactory, UDWORD li psCurr = psCurr->psNext) { //must add Command Droid if currently in production - if (!getProductionQuantity(psFactory, psCurr)) + if (!getProduction(psFactory, psCurr).quantity) { //can only have (MAX_CMDDROIDS) in the world at any one time if (psCurr->droidType == DROID_COMMAND) @@ -4547,11 +4547,10 @@ BOOL checkValidWeaponForProp(DROID_TEMPLATE *psTemplate) void deleteTemplateFromProduction(DROID_TEMPLATE *psTemplate, UBYTE player, QUEUE_MODE mode) { STRUCTURE *psStruct; - UDWORD inc, i; STRUCTURE *psList; //see if any factory is currently using the template - for (i=0; i<2; i++) + for (unsigned i = 0; i < 2; ++i) { psList = NULL; switch (i) @@ -4569,27 +4568,22 @@ void deleteTemplateFromProduction(DROID_TEMPLATE *psTemplate, UBYTE player, QUEU { FACTORY *psFactory = &psStruct->pFunctionality->factory; + ProductionRun &productionRun = asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc]; + for (unsigned inc = 0; inc < productionRun.size(); ++inc) + { + if (productionRun[inc].psTemplate == psTemplate) + { + //just need to erase this production run entry + productionRun.erase(productionRun.begin() + inc); + --inc; + } + } + if (psFactory->psSubject == NULL) { continue; } - //if template belongs to the production player - check thru the production list (if struct is busy) - if (player == productionPlayer) - { - for (inc = 0; inc < MAX_PROD_RUN; inc++) - { - PRODUCTION_RUN *productionRun = &asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc][inc]; - if (productionRun->psTemplate == psTemplate) - { - //just need to initialise this production run - productionRun->psTemplate = NULL; - productionRun->quantity = 0; - productionRun->built = 0; - } - } - } - // check not being built in the factory for the template player if (psTemplate->multiPlayerID == ((DROID_TEMPLATE *)psFactory->psSubject)->multiPlayerID) { @@ -4627,11 +4621,11 @@ void deleteTemplateFromProduction(DROID_TEMPLATE *psTemplate, UBYTE player, QUEU DROID_TEMPLATE *oldTemplate = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); debug(LOG_ERROR, "TODO: Fix this memory leak when deleting templates."); - *oldTemplate = *(DROID_TEMPLATE *)psFactory->psSubject; + *oldTemplate = *psFactory->psSubject; oldTemplate->pName = NULL; oldTemplate->psNext = NULL; - psFactory->psSubject = (BASE_STATS *)oldTemplate; + psFactory->psSubject = oldTemplate; } } } diff --git a/src/game.cpp b/src/game.cpp index 82552aaea..9961fac5d 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -7316,15 +7316,13 @@ BOOL loadSaveStructureV19(char *pFileData, UDWORD filesize, UDWORD numStructures } else { - psFactory->psSubject = (BASE_STATS*) - getTemplateFromMultiPlayerID(psSaveStructure->subjectInc); + psFactory->psSubject = getTemplateFromMultiPlayerID(psSaveStructure->subjectInc); //if the build has started set the powerAccrued = //powerRequired to sync the interface if (psFactory->timeStarted != ACTION_START_TIME && psFactory->psSubject) { - psFactory->powerAccrued = ((DROID_TEMPLATE *)psFactory-> - psSubject)->powerPoints; + psFactory->powerAccrued = psFactory->psSubject->powerPoints; } } } @@ -7722,15 +7720,13 @@ BOOL loadSaveStructureV(char *pFileData, UDWORD filesize, UDWORD numStructures, } else { - psFactory->psSubject = (BASE_STATS*) - getTemplateFromMultiPlayerID(psSaveStructure->subjectInc); + psFactory->psSubject = getTemplateFromMultiPlayerID(psSaveStructure->subjectInc); //if the build has started set the powerAccrued = //powerRequired to sync the interface if (psFactory->timeStarted != ACTION_START_TIME && psFactory->psSubject) { - psFactory->powerAccrued = ((DROID_TEMPLATE *)psFactory-> - psSubject)->powerPoints; + psFactory->powerAccrued = psFactory->psSubject->powerPoints; } } if (version >= VERSION_21)//version 21 @@ -10883,10 +10879,10 @@ BOOL loadSaveProduction(char *pFileData, UDWORD filesize) BOOL loadSaveProductionV(char *pFileData, UDWORD filesize, UDWORD version) { SAVE_PRODUCTION *psSaveProduction; - PRODUCTION_RUN *psCurrentProd; UDWORD factoryType,factoryNum,runNum; //check file +#define MAX_PROD_RUN 20 if ((sizeof(SAVE_PRODUCTION) * NUM_FACTORY_TYPES * MAX_FACTORY * MAX_PROD_RUN + PRODUCTION_HEADER_SIZE) > filesize) { @@ -10903,20 +10899,20 @@ BOOL loadSaveProductionV(char *pFileData, UDWORD filesize, UDWORD version) for (runNum = 0; runNum < MAX_PROD_RUN; runNum++) { psSaveProduction = (SAVE_PRODUCTION *)pFileData; - psCurrentProd = &asProductionRun[factoryType][factoryNum][runNum]; + ProductionRunEntry currentProd; /* SAVE_PRODUCTION */ endian_udword(&psSaveProduction->multiPlayerID); - psCurrentProd->quantity = psSaveProduction->quantity; - psCurrentProd->built = psSaveProduction->built; + currentProd.quantity = psSaveProduction->quantity; + currentProd.built = psSaveProduction->built; if (psSaveProduction->multiPlayerID != NULL_ID) { - psCurrentProd->psTemplate = getTemplateFromMultiPlayerID(psSaveProduction->multiPlayerID); - } - else - { - psCurrentProd->psTemplate = NULL; + currentProd.psTemplate = getTemplateFromMultiPlayerID(psSaveProduction->multiPlayerID); + if (currentProd.isValid()) + { + asProductionRun[factoryType][factoryNum].push_back(currentProd); + } } pFileData += sizeof(SAVE_PRODUCTION); } @@ -10934,7 +10930,6 @@ static BOOL writeProductionFile(char *pFileName) SAVE_PRODUCTION *psSaveProduction; char *pFileData; UDWORD fileSize; - PRODUCTION_RUN *psCurrentProd; UDWORD factoryType,factoryNum,runNum; fileSize = PRODUCTION_HEADER_SIZE + (sizeof(SAVE_PRODUCTION) * @@ -10965,14 +10960,10 @@ static BOOL writeProductionFile(char *pFileName) { for (runNum = 0; runNum < MAX_PROD_RUN; runNum++) { - psCurrentProd = &asProductionRun[factoryType][factoryNum][runNum]; - psSaveProduction->quantity = psCurrentProd->quantity; - psSaveProduction->built = psCurrentProd->built; - psSaveProduction->multiPlayerID = NULL_ID; - if (psCurrentProd->psTemplate != NULL) - { - psSaveProduction->multiPlayerID = psCurrentProd->psTemplate->multiPlayerID; - } + ProductionRunEntry psCurrentProd = runNum < asProductionRun[factoryType][factoryNum].size()? asProductionRun[factoryType][factoryNum][runNum] : ProductionRunEntry(); + psSaveProduction->quantity = psCurrentProd.quantity; + psSaveProduction->built = psCurrentProd.built; + psSaveProduction->multiPlayerID = psCurrentProd.psTemplate != NULL? psCurrentProd.psTemplate->multiPlayerID : NULL_ID; /* SAVE_PRODUCTION */ endian_udword(&psSaveProduction->multiPlayerID); diff --git a/src/hci.cpp b/src/hci.cpp index 0cac2a6e6..578b5ab15 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -2626,7 +2626,7 @@ static void intProcessStats(UDWORD id) } //need to check if this was the template that was mid-production - if (getProductionQuantity(psStructure, FactoryGetTemplate(psFactory)) == 0) + if (getProduction(psStructure, FactoryGetTemplate(psFactory)).quantity == 0) { doNextProduction(psStructure, FactoryGetTemplate(psFactory), ModeQueue); psNext = FactoryGetTemplate(psFactory); @@ -5908,7 +5908,7 @@ static void intStatsRMBPressed(UDWORD id) } //need to check if this was the template that was mid-production - if (getProductionQuantity(psStructure, FactoryGetTemplate(psFactory)) == 0) + if (getProduction(psStructure, FactoryGetTemplate(psFactory)).quantity == 0) { doNextProduction(psStructure, FactoryGetTemplate(psFactory), ModeQueue); psNext = FactoryGetTemplate(psFactory); diff --git a/src/intdisplay.cpp b/src/intdisplay.cpp index fc75fc0dc..7c2f7d55e 100644 --- a/src/intdisplay.cpp +++ b/src/intdisplay.cpp @@ -323,7 +323,6 @@ void intUpdateQuantity(WIDGET *psWidget, W_CONTEXT *psContext) STRUCTURE *Structure; DROID_TEMPLATE * psTemplate; W_LABEL *Label = (W_LABEL*)psWidget; - int Quantity, Built; psObj = (BASE_OBJECT*)Label->pUserData; // Get the object associated with this widget. Structure = (STRUCTURE*)psObj; @@ -333,13 +332,8 @@ void intUpdateQuantity(WIDGET *psWidget, W_CONTEXT *psContext) ASSERT(!isDead(psObj),"intUpdateQuantity: object is dead"); psTemplate = FactoryGetTemplate(StructureGetFactory(Structure)); - Quantity = getProductionQuantity(Structure, psTemplate); - Built = getProductionBuilt(Structure, psTemplate); - snprintf(Label->aText, sizeof(Label->aText), "%02d", Quantity - Built); - if (Quantity - Built <= 0) // zero is always the case for script added production - { - sstrcpy(Label->aText, "01"); - } + int remaining = getProduction(Structure, psTemplate).numRemaining(); + snprintf(Label->aText, sizeof(Label->aText), "%02d", remaining); Label->style &= ~WIDG_HIDDEN; } else @@ -358,7 +352,7 @@ void intAddFactoryInc(WIDGET *psWidget, W_CONTEXT *psContext) if (psObj != NULL && !isDead(psObj)) { STRUCTURE *Structure = (STRUCTURE*)psObj; - FACTORY *Factory = (FACTORY *)Structure->pFunctionality; + FACTORY *Factory = &Structure->pFunctionality->factory; ASSERT( (Structure->pStructureType->type == REF_FACTORY || Structure->pStructureType->type == REF_CYBORG_FACTORY || @@ -379,39 +373,29 @@ void intAddFactoryInc(WIDGET *psWidget, W_CONTEXT *psContext) void intAddProdQuantity(WIDGET *psWidget, W_CONTEXT *psContext) { W_LABEL *Label = (W_LABEL*)psWidget; - BASE_STATS *psStat = (BASE_STATS *)Label->pUserData; + DROID_TEMPLATE * psTemplate = (DROID_TEMPLATE *)Label->pUserData; // Get the object associated with this widget. - if (psStat != NULL) + if (psTemplate != NULL) { - DROID_TEMPLATE *psTemplate = (DROID_TEMPLATE *)psStat; STRUCTURE *psStructure = NULL; BASE_OBJECT *psObj = getCurrentSelected(); - UDWORD quantity = 0, remaining = 0; if (psObj != NULL && psObj->type == OBJ_STRUCTURE && !isDead(psObj)) { psStructure = (STRUCTURE *)psObj; } + ProductionRunEntry entry; if (psStructure != NULL && StructIsFactory(psStructure)) { - quantity = getProductionQuantity(psStructure, psTemplate); - remaining = getProductionBuilt(psStructure, psTemplate); + entry = getProduction(psStructure, psTemplate); } // now find out how many we have built - if (quantity > remaining) + if (entry.isValid()) { - quantity -= remaining; - } - else - { - quantity = 0; - } - if (quantity != 0) - { - snprintf(Label->aText, sizeof(Label->aText), "%u", quantity); + snprintf(Label->aText, sizeof(Label->aText), "%u", entry.numRemaining()); Label->style &= ~WIDG_HIDDEN; } else diff --git a/src/structure.cpp b/src/structure.cpp index 732b3baac..b18d0fc9e 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -26,6 +26,7 @@ * file is almost as evil as hci.c */ #include +#include #include "lib/framework/frame.h" #include "lib/framework/strres.h" @@ -156,7 +157,7 @@ uint32_t factoryNumFlag[MAX_PLAYERS][NUM_FLAG_TYPES]; #define MAX_IN_RUN 9 //the list of what to build - only for selectedPlayer -PRODUCTION_RUN asProductionRun[NUM_FACTORY_TYPES][MAX_FACTORY][MAX_PROD_RUN]; +ProductionRun asProductionRun[NUM_FACTORY_TYPES][MAX_FACTORY]; //stores which player the production list has been set up for SBYTE productionPlayer; @@ -300,8 +301,11 @@ void structureInitVars(void) lasSatExists[i] = false; } //initialise the selectedPlayer's production run - memset(&asProductionRun, 0, sizeof(PRODUCTION_RUN) * NUM_FACTORY_TYPES * - MAX_FACTORY * MAX_PROD_RUN); + for (unsigned type = 0; type < NUM_FACTORY_TYPES; ++type) + for (unsigned facNum = 0; facNum < MAX_FACTORY; ++facNum) + { + asProductionRun[type][facNum].clear(); + } //set up at beginning of game which player will have a production list productionPlayer = (SBYTE)selectedPlayer; @@ -312,8 +316,11 @@ void structureInitVars(void) void changeProductionPlayer(UBYTE player) { //clear the production run - memset(&asProductionRun, 0, sizeof(PRODUCTION_RUN) * NUM_FACTORY_TYPES * - MAX_FACTORY * MAX_PROD_RUN); + for (unsigned type = 0; type < NUM_FACTORY_TYPES; ++type) + for (unsigned facNum = 0; facNum < MAX_FACTORY; ++facNum) + { + asProductionRun[type][facNum].clear(); + } //set this player to have the production list productionPlayer = player; } @@ -1367,7 +1374,7 @@ BOOL structSetManufacture(STRUCTURE *psStruct, DROID_TEMPLATE *psTempl, QUEUE_MO if (mode == ModeQueue) { sendStructureInfo(psStruct, STRUCTUREINFO_MANUFACTURE, psTempl); - psStruct->pFunctionality->factory.psSubjectPending = (BASE_STATS *)psTempl; + psStruct->pFunctionality->factory.psSubjectPending = psTempl; psStruct->pFunctionality->factory.statusPending = FACTORY_START_PENDING; ++psFact->pendingCount; @@ -1375,7 +1382,7 @@ BOOL structSetManufacture(STRUCTURE *psStruct, DROID_TEMPLATE *psTempl, QUEUE_MO } //assign it to the Factory - psFact->psSubject = (BASE_STATS *)psTempl; + psFact->psSubject = psTempl; //set up the start time and build time if (psTempl != NULL) @@ -6944,11 +6951,19 @@ STRUCTURE *findDeliveryFactory(FLAG_POSITION *psDelPoint) accrued but not used*/ void cancelProduction(STRUCTURE *psBuilding, QUEUE_MODE mode) { - FACTORY *psFactory; - ASSERT_OR_RETURN( , StructIsFactory(psBuilding), "structure not a factory"); - psFactory = &psBuilding->pFunctionality->factory; + FACTORY *psFactory = &psBuilding->pFunctionality->factory; + + if (psBuilding->player == productionPlayer) + { + //clear the production run for this factory + asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc].clear(); + psFactory->productionLoops = 0; + + //tell the interface + intManufactureFinished(psBuilding); + } if (mode == ModeQueue) { @@ -6958,16 +6973,6 @@ void cancelProduction(STRUCTURE *psBuilding, QUEUE_MODE mode) psFactory->statusPending = FACTORY_CANCEL_PENDING; ++psFactory->pendingCount; - if (psBuilding->player == productionPlayer) - { - //clear the production run for this factory - memset(asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc], 0, sizeof(PRODUCTION_RUN) * MAX_PROD_RUN); - psFactory->productionLoops = 0; - - //tell the interface - intManufactureFinished(psBuilding); - } - return; } @@ -6975,7 +6980,7 @@ void cancelProduction(STRUCTURE *psBuilding, QUEUE_MODE mode) if (psFactory->psSubject) { // give the power back that was used until now - int secondsToBuild = ((DROID_TEMPLATE*)psFactory->psSubject)->buildPoints/psFactory->productionOutput; + int secondsToBuild = psFactory->psSubject->buildPoints/psFactory->productionOutput; int secondsElapsed = secondsToBuild - psFactory->timeToBuild; int powerUsed = 0; if (secondsElapsed > secondsToBuild) // can happen if factory's been upgraded since droid was created @@ -6984,7 +6989,7 @@ void cancelProduction(STRUCTURE *psBuilding, QUEUE_MODE mode) } if (secondsElapsed > 0) { - powerUsed = (int)(((DROID_TEMPLATE *)psFactory->psSubject)->powerPoints*secondsElapsed)/secondsToBuild; + powerUsed = (int)psFactory->psSubject->powerPoints*secondsElapsed / secondsToBuild; } addPower(psBuilding->player, powerUsed); @@ -7076,11 +7081,7 @@ void doNextProduction(STRUCTURE *psStructure, DROID_TEMPLATE *current, QUEUE_MOD if (psNextTemplate != NULL) { - if (mode == ModeImmediate) - { - cancelProduction(psStructure, ModeImmediate); - } - structSetManufacture(psStructure, psNextTemplate, ModeQueue); + structSetManufacture(psStructure, psNextTemplate, ModeQueue); // ModeQueue instead of mode, since production lists aren't currently synchronised. } else { @@ -7088,54 +7089,49 @@ void doNextProduction(STRUCTURE *psStructure, DROID_TEMPLATE *current, QUEUE_MOD } } +bool ProductionRunEntry::operator ==(DROID_TEMPLATE *t) const +{ + return psTemplate->multiPlayerID == t->multiPlayerID; +} + /*this is called when a factory produces a droid. The Template returned is the next one to build - if any*/ DROID_TEMPLATE * factoryProdUpdate(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate) { - UDWORD inc, factoryType, factoryInc; - FACTORY *psFactory; - bool somethingInQueue = false; - CHECK_STRUCTURE(psStructure); if (psStructure->player != productionPlayer) { - return NULL; + return NULL; // Production lists not currently synchronised. } - psFactory = &psStructure->pFunctionality->factory; - factoryType = psFactory->psAssemblyPoint->factoryType; - factoryInc = psFactory->psAssemblyPoint->factoryInc; + FACTORY *psFactory = &psStructure->pFunctionality->factory; + ProductionRun &productionRun = asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc]; + + //ASSERT(productionRun[inc].isValid(), "Bad ProductionRunEntry"); if (psTemplate != NULL) { //find the entry in the array for this template - for (inc=0; inc < MAX_PROD_RUN; inc++) + ProductionRun::iterator entry = std::find(productionRun.begin(), productionRun.end(), psTemplate); + if (entry != productionRun.end()) { - somethingInQueue = somethingInQueue || asProductionRun[factoryType][factoryInc][inc].quantity != 0; - - if (asProductionRun[factoryType][factoryInc][inc].psTemplate != NULL && asProductionRun[factoryType][factoryInc][inc].psTemplate->multiPlayerID == psTemplate->multiPlayerID) + ++entry->built; + if (!entry->isComplete()) { - asProductionRun[factoryType][factoryInc][inc].built++; - if (asProductionRun[factoryType][factoryInc][inc].built < - asProductionRun[factoryType][factoryInc][inc].quantity) - { - return psTemplate; - } - break; + return psTemplate; } } } //find the next template to build - this just looks for the first uncompleted run - for (inc=0; inc < MAX_PROD_RUN; inc++) + for (unsigned inc = 0; inc < productionRun.size(); ++inc) { - if (asProductionRun[factoryType][factoryInc][inc].built < - asProductionRun[factoryType][factoryInc][inc].quantity) + if (!productionRun[inc].isComplete()) { - return asProductionRun[factoryType][factoryInc][inc].psTemplate; + return productionRun[inc].psTemplate; } } // Check that we aren't looping doing nothing. - if (!somethingInQueue) + if (productionRun.empty()) { psFactory->productionLoops = 0; // Don't do nothing infinitely many times. } @@ -7150,19 +7146,13 @@ DROID_TEMPLATE * factoryProdUpdate(STRUCTURE *psStructure, DROID_TEMPLATE *psTem } //need to reset the quantity built for each entry in the production list - for (inc=0; inc < MAX_PROD_RUN; inc++) - { - if (asProductionRun[factoryType][factoryInc][inc].psTemplate) - { - asProductionRun[factoryType][factoryInc][inc].built = 0; - } - } + std::for_each(productionRun.begin(), productionRun.end(), std::mem_fun_ref(&ProductionRunEntry::restart)); + //get the first to build again - return factoryProdUpdate(psStructure, NULL); + return productionRun[0].psTemplate; } //if got to here then nothing left to produce so clear the array - memset(asProductionRun[factoryType][factoryInc], 0, - sizeof(PRODUCTION_RUN) * MAX_PROD_RUN); + productionRun.clear(); return NULL; } @@ -7170,165 +7160,66 @@ DROID_TEMPLATE * factoryProdUpdate(STRUCTURE *psStructure, DROID_TEMPLATE *psTem //adjust the production run for this template type void factoryProdAdjust(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate, BOOL add) { - SDWORD spare = -1; - UDWORD inc, factoryType, factoryInc; - FACTORY *psFactory; - BOOL bAssigned = false, bCheckForCancel = false; - UBYTE built, quantity, remaining; - CHECK_STRUCTURE(psStructure); ASSERT_OR_RETURN( , psStructure->player == productionPlayer, "called for incorrect player"); + ASSERT_OR_RETURN( , psTemplate != NULL, "NULL template"); - psFactory = &psStructure->pFunctionality->factory; - factoryType = psFactory->psAssemblyPoint->factoryType; - factoryInc = psFactory->psAssemblyPoint->factoryInc; + FACTORY *psFactory = &psStructure->pFunctionality->factory; + ProductionRun &productionRun = asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc]; //see if the template is already in the list - for (inc=0; inc < MAX_PROD_RUN; inc++) - { - if (asProductionRun[factoryType][factoryInc][inc].psTemplate == psTemplate) - { - //adjust the prod run - if (add) //user left clicked, so increase # in queue - { - // Allows us to queue up more units up to MAX_IN_RUN instead of ignoring how many we have built from that queue - quantity = ++asProductionRun[factoryType][factoryInc][inc].quantity; - built = asProductionRun[factoryType][factoryInc][inc].built; - remaining = quantity - built; - // check to see if user canceled all orders in queue - if (remaining > MAX_IN_RUN) - { - asProductionRun[factoryType][factoryInc][inc].quantity = 0; - //initialise the template - asProductionRun[factoryType][factoryInc][inc].psTemplate = NULL; - bCheckForCancel = true; - //add power back if we were working on this one - if (psFactory->psSubject == (BASE_STATS *)psTemplate) - { - // FIXME: give power back - } - } - } - else //user right clicked, so we subtract form queue - { - if (asProductionRun[factoryType][factoryInc][inc].quantity == 0) - { - asProductionRun[factoryType][factoryInc][inc].quantity = MAX_IN_RUN; - } - else - { - asProductionRun[factoryType][factoryInc][inc].quantity--; - //add power back if we were working on this one - if (psFactory->psSubject == (BASE_STATS *)psTemplate) - { - // FIXME: give power back - } + ProductionRun::iterator entry = std::find(productionRun.begin(), productionRun.end(), psTemplate); - if (asProductionRun[factoryType][factoryInc][inc].quantity == 0) - { - //initialise the template - asProductionRun[factoryType][factoryInc][inc].psTemplate = NULL; - bCheckForCancel = true; - } - } - } - bAssigned = true; - break; - } - //check to see if any empty slots - if (spare == -1 && asProductionRun[factoryType][factoryInc][inc].quantity == 0) + if (entry != productionRun.end()) + { + //adjust the prod run + entry->quantity += add? 1 : -1; + + // Allows us to queue up more units up to MAX_IN_RUN instead of ignoring how many we have built from that queue + // check to see if user canceled all orders in queue + if (entry->isComplete() || entry->numRemaining() > MAX_IN_RUN) { - spare = inc; + productionRun.erase(entry); // Entry empty, so get rid of it. } } - - if (!bAssigned && spare != -1) + else { //start off a new template - asProductionRun[factoryType][factoryInc][spare].psTemplate = psTemplate; - if (add) - { - asProductionRun[factoryType][factoryInc][spare].quantity = 1; - } - else - { - //wrap around to max value - asProductionRun[factoryType][factoryInc][spare].quantity = MAX_IN_RUN; - } + ProductionRunEntry entry; + entry.psTemplate = psTemplate; + entry.quantity = add? 1 : MAX_IN_RUN; //wrap around to max value + entry.built = 0; + productionRun.push_back(entry); } //if nothing is allocated then the current factory may have been cancelled - if (bCheckForCancel) + if (productionRun.empty()) { - for (inc=0; inc < MAX_PROD_RUN; inc++) - { - if (asProductionRun[factoryType][factoryInc][inc].psTemplate != NULL) - { - break; - } - } - if (inc == MAX_PROD_RUN) - { - //must have cancelled eveything - so tell the struct - psFactory->productionLoops = 0; - } + //must have cancelled eveything - so tell the struct + psFactory->productionLoops = 0; } } /** checks the status of the production of a template - * if totalquantity is true, it will return the total ordered amount - * it it is false, it will return the amount that has already been built */ -static int getProduction(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate, BOOL totalQuantity) +ProductionRunEntry getProduction(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate) { - if (psTemplate == NULL) + if (psStructure == NULL || psStructure->player != productionPlayer || psTemplate == NULL) { - return 0; // Not producing any NULL pointers. + return ProductionRunEntry(); // Not producing any NULL pointers. } - if (psStructure != NULL && psStructure->player == productionPlayer) + FACTORY *psFactory = &psStructure->pFunctionality->factory; + ProductionRun &productionRun = asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc]; + + //see if the template is in the list + ProductionRun::iterator entry = std::find(productionRun.begin(), productionRun.end(), psTemplate); + if (entry != productionRun.end()) { - FACTORY *psFactory = &psStructure->pFunctionality->factory; - unsigned factoryType = psFactory->psAssemblyPoint->factoryType; - unsigned factoryInc = psFactory->psAssemblyPoint->factoryInc; - - //see if the template is in the list - unsigned inc; - for (inc=0; inc < MAX_PROD_RUN; inc++) - { - if (asProductionRun[factoryType][factoryInc][inc].psTemplate == NULL) - { - continue; - } - - if (asProductionRun[factoryType][factoryInc][inc].psTemplate->multiPlayerID == psTemplate->multiPlayerID) - { - if (totalQuantity) - { - return asProductionRun[factoryType][factoryInc][inc].quantity; - } - else - { - return asProductionRun[factoryType][factoryInc][inc].built; - } - } - } + return *entry; } //not in the list so none being produced - return 0; -} - -/// the total amount ordered of a specific template in the production list -UDWORD getProductionQuantity(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate) -{ - return getProduction(psStructure, psTemplate, true); -} - - -/// the number of times a specific template in the production list has been built -UDWORD getProductionBuilt(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate) -{ - return getProduction(psStructure, psTemplate, false); + return ProductionRunEntry(); } @@ -7336,31 +7227,25 @@ UDWORD getProductionBuilt(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate) are being built*/ UBYTE checkProductionForCommand(UBYTE player) { - UBYTE factoryInc, inc, factoryType; - uint32_t mask = 1; - UBYTE quantity = 0; + unsigned quantity = 0; if (player == productionPlayer) { //assumes Cyborg or VTOL droids are not Command types! - factoryType = FACTORY_FLAG; + unsigned factoryType = FACTORY_FLAG; - for (factoryInc = 0; factoryInc < MAX_FACTORY; factoryInc++) + uint32_t mask = 1; + for (unsigned factoryInc = 0; factoryInc < MAX_FACTORY; ++factoryInc) { //check to see if there is a factory if ((factoryNumFlag[player][factoryType] & mask) == mask) { - for (inc=0; inc < MAX_PROD_RUN; inc++) + ProductionRun &productionRun = asProductionRun[factoryType][factoryInc]; + for (unsigned inc = 0; inc < productionRun.size(); ++inc) { - if (asProductionRun[factoryType][factoryInc][inc].psTemplate) + if (productionRun[inc].psTemplate->droidType == DROID_COMMAND) { - if (asProductionRun[factoryType][factoryInc][inc].psTemplate-> - droidType == DROID_COMMAND) - { - quantity = (UBYTE)(quantity + (asProductionRun[factoryType][ - factoryInc][inc].quantity - asProductionRun[ - factoryType][factoryInc][inc].built)); - } + quantity += productionRun[inc].numRemaining(); } } } diff --git a/src/structure.h b/src/structure.h index c3e8c5047..3171c2f7d 100644 --- a/src/structure.h +++ b/src/structure.h @@ -53,8 +53,6 @@ /*This should correspond to the structLimits! */ #define MAX_FACTORY 5 -#define MAX_PROD_RUN 20 - //used to flag when the Factory is ready to start building @@ -67,7 +65,7 @@ extern iIMDShape * factoryModuleIMDs[NUM_FACTORY_MODULES][NUM_FACMOD_TYPES]; extern iIMDShape * researchModuleIMDs[NUM_RESEARCH_MODULES]; extern iIMDShape * powerModuleIMDs[NUM_POWER_MODULES]; -extern PRODUCTION_RUN asProductionRun[NUM_FACTORY_TYPES][MAX_FACTORY][MAX_PROD_RUN]; +extern ProductionRun asProductionRun[NUM_FACTORY_TYPES][MAX_FACTORY]; //Value is stored for easy access to this structure stat extern UDWORD factoryModuleStat; @@ -301,10 +299,7 @@ extern DROID_TEMPLATE * factoryProdUpdate(STRUCTURE *psStructure, DROID_TEMPLATE extern void factoryProdAdjust(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate, BOOL add); //returns the quantity of a specific template in the production list -extern UDWORD getProductionQuantity(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate); -/*returns the quantity of a specific template in the production list that -have already been built*/ -extern UDWORD getProductionBuilt(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate); +ProductionRunEntry getProduction(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate); //looks through a players production list to see if a command droid is being built extern UBYTE checkProductionForCommand(UBYTE player); diff --git a/src/structuredef.h b/src/structuredef.h index e9f7ab81b..367bffa3e 100644 --- a/src/structuredef.h +++ b/src/structuredef.h @@ -30,6 +30,8 @@ #include "statsdef.h" #include "weapondef.h" +#include + #define NUM_FACTORY_MODULES 2 #define NUM_RESEARCH_MODULES 4 #define NUM_POWER_MODULES 4 @@ -165,15 +167,17 @@ typedef struct _research_facility } RESEARCH_FACILITY; -typedef enum +enum FACTORY_STATUS_PENDING { FACTORY_NOTHING_PENDING = 0, FACTORY_START_PENDING, FACTORY_HOLD_PENDING, FACTORY_CANCEL_PENDING -} FACTORY_STATUS_PENDING; +}; -typedef struct _factory +struct DROID_TEMPLATE; + +struct FACTORY { UBYTE capacity; /* The max size of body the factory can produce*/ @@ -182,8 +186,8 @@ typedef struct _factory UBYTE productionOutput; /* Droid Build Points Produced Per Build Cycle*/ UDWORD powerAccrued; /* used to keep track of power before building a droid*/ - BASE_STATS * psSubject; ///< The subject the structure is working on. - BASE_STATS * psSubjectPending; ///< The subject the structure is going to working on. (Pending = not yet synchronised.) + DROID_TEMPLATE * psSubject; ///< The subject the structure is working on. + DROID_TEMPLATE * psSubjectPending; ///< The subject the structure is going to working on. (Pending = not yet synchronised.) FACTORY_STATUS_PENDING statusPending; ///< Pending = not yet synchronised. unsigned pendingCount; ///< Number of messages sent but not yet processed. @@ -194,7 +198,7 @@ typedef struct _factory struct DROID *psCommander; // command droid to produce droids for (if any) uint32_t secondaryOrder; ///< Secondary order state for all units coming out of the factory. // added AB 22/04/99 -} FACTORY; +}; typedef struct _res_extractor { @@ -299,23 +303,34 @@ typedef struct _structure_limits //the three different types of factory (currently) - FACTORY, CYBORG_FACTORY, VTOL_FACTORY // added repair facilities as they need an assebly point as well -#define NUM_FACTORY_TYPES 3 -#define FACTORY_FLAG 0 -#define CYBORG_FLAG 1 -#define VTOL_FLAG 2 -#define REPAIR_FLAG 3 +enum FLAG_TYPE +{ + FACTORY_FLAG, + CYBORG_FLAG, + VTOL_FLAG, + REPAIR_FLAG, //seperate the numfactory from numflag -#define NUM_FLAG_TYPES 4 + NUM_FLAG_TYPES, + NUM_FACTORY_TYPES = REPAIR_FLAG, +}; //this is used for module graphics - factory and vtol factory -#define NUM_FACMOD_TYPES 2 +static const int NUM_FACMOD_TYPES = 2; -typedef struct _production_run +struct ProductionRunEntry { - UBYTE quantity; //number to build - UBYTE built; //number built on current run - struct DROID_TEMPLATE * psTemplate; //template to build -} PRODUCTION_RUN; + ProductionRunEntry() : quantity(0), built(0), psTemplate(NULL) {} + void restart() { built = 0; } + unsigned numRemaining() const { return quantity - built; } + bool isComplete() const { return numRemaining() <= 0; } + bool isValid() const { return psTemplate != NULL && quantity > 0 && built <= quantity; } + bool operator ==(DROID_TEMPLATE *t) const; + + unsigned quantity; //number to build + unsigned built; //number built on current run + DROID_TEMPLATE * psTemplate; //template to build +}; +typedef std::vector ProductionRun; /* structure stats which can be upgraded by research*/ typedef struct _structure_upgrade From 9597a8f2f1b068568968ce3df295b16acb52dc27 Mon Sep 17 00:00:00 2001 From: Cyp Date: Fri, 24 Dec 2010 01:13:01 +0100 Subject: [PATCH 032/142] Try to make production interface behave less confusing. Changelog: Production interface with looping production now shows how much will be built each loop iteration. --- src/hci.cpp | 26 ++++++++++++-------------- src/intdisplay.cpp | 19 +++++++++++++++---- src/structure.cpp | 32 ++++++++++++++++++++++---------- src/structuredef.h | 7 ++++--- 4 files changed, 53 insertions(+), 31 deletions(-) diff --git a/src/hci.cpp b/src/hci.cpp index 578b5ab15..ea1a0ced1 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -2620,17 +2620,16 @@ static void intProcessStats(UDWORD id) //increase the production factoryProdAdjust(psStructure, psNext, true); - if (!StructureIsManufacturingPending(psStructure)) - { - structSetManufacture(psStructure, psNext, ModeQueue); - } - //need to check if this was the template that was mid-production - if (getProduction(psStructure, FactoryGetTemplate(psFactory)).quantity == 0) + if (getProduction(psStructure, FactoryGetTemplate(psFactory)).numRemaining() == 0) { doNextProduction(psStructure, FactoryGetTemplate(psFactory), ModeQueue); psNext = FactoryGetTemplate(psFactory); } + else if (!StructureIsManufacturingPending(psStructure)) + { + structSetManufacture(psStructure, psNext, ModeQueue); + } if (StructureIsOnHoldPending(psStructure)) { @@ -5120,9 +5119,9 @@ static BOOL intAddStats(BASE_STATS **ppsStatsList, UDWORD numStats, to produce (on each button).*/ sLabInit = W_LABINIT(); sLabInit.id = IDSTAT_PRODSTART; - sLabInit.style = WIDG_HIDDEN; + sLabInit.style = WIDG_HIDDEN | WLAB_ALIGNRIGHT; - sLabInit.x = STAT_BUTWIDTH-12; + sLabInit.x = STAT_BUTWIDTH-12-6; sLabInit.y = 2; sLabInit.width = 12; @@ -5902,17 +5901,16 @@ static void intStatsRMBPressed(UDWORD id) //decrease the production factoryProdAdjust(psStructure, psNext, false); - if (!StructureIsManufacturingPending(psStructure)) - { - structSetManufacture(psStructure, psNext, ModeQueue); - } - //need to check if this was the template that was mid-production - if (getProduction(psStructure, FactoryGetTemplate(psFactory)).quantity == 0) + if (getProduction(psStructure, FactoryGetTemplate(psFactory)).numRemaining() == 0) { doNextProduction(psStructure, FactoryGetTemplate(psFactory), ModeQueue); psNext = FactoryGetTemplate(psFactory); } + else if (!StructureIsManufacturingPending(psStructure)) + { + structSetManufacture(psStructure, psNext, ModeQueue); + } if (StructureIsOnHoldPending(psStructure)) { diff --git a/src/intdisplay.cpp b/src/intdisplay.cpp index 7c2f7d55e..ebc0cb7f9 100644 --- a/src/intdisplay.cpp +++ b/src/intdisplay.cpp @@ -333,7 +333,7 @@ void intUpdateQuantity(WIDGET *psWidget, W_CONTEXT *psContext) psTemplate = FactoryGetTemplate(StructureGetFactory(Structure)); int remaining = getProduction(Structure, psTemplate).numRemaining(); - snprintf(Label->aText, sizeof(Label->aText), "%02d", remaining); + snprintf(Label->aText, sizeof(Label->aText), "%d", remaining); Label->style &= ~WIDG_HIDDEN; } else @@ -395,7 +395,14 @@ void intAddProdQuantity(WIDGET *psWidget, W_CONTEXT *psContext) // now find out how many we have built if (entry.isValid()) { - snprintf(Label->aText, sizeof(Label->aText), "%u", entry.numRemaining()); + if (psStructure->pFunctionality->factory.productionLoops != 0) + { + snprintf(Label->aText, sizeof(Label->aText), "%u/%u", entry.numRemaining(), entry.quantity); + } + else + { + snprintf(Label->aText, sizeof(Label->aText), "%u", entry.numRemaining()); + } Label->style &= ~WIDG_HIDDEN; } else @@ -415,15 +422,19 @@ void intAddLoopQuantity(WIDGET *psWidget, W_CONTEXT *psContext) //loop depends on the factory if (psStruct && psStruct->pFunctionality && !psStruct->died) { - FACTORY *psFactory = (FACTORY *)psStruct->pFunctionality; + FACTORY *psFactory = &psStruct->pFunctionality->factory; if (psFactory->productionLoops == INFINITE_PRODUCTION) { sstrcpy(Label->aText, "∞"); } + else if (psFactory->productionLoops != 0) + { + snprintf(Label->aText, sizeof(Label->aText), "%u", psFactory->productionLoops + DEFAULT_LOOP); + } else { - snprintf(Label->aText, sizeof(Label->aText), "%02u", psFactory->productionLoops + DEFAULT_LOOP); + Label->aText[0] = '\0'; // Don't show "1" loop. } Label->style &= ~WIDG_HIDDEN; } diff --git a/src/structure.cpp b/src/structure.cpp index b18d0fc9e..6b0569854 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -7107,18 +7107,20 @@ DROID_TEMPLATE * factoryProdUpdate(STRUCTURE *psStructure, DROID_TEMPLATE *psTem FACTORY *psFactory = &psStructure->pFunctionality->factory; ProductionRun &productionRun = asProductionRun[psFactory->psAssemblyPoint->factoryType][psFactory->psAssemblyPoint->factoryInc]; - //ASSERT(productionRun[inc].isValid(), "Bad ProductionRunEntry"); - if (psTemplate != NULL) { //find the entry in the array for this template ProductionRun::iterator entry = std::find(productionRun.begin(), productionRun.end(), psTemplate); if (entry != productionRun.end()) { - ++entry->built; + entry->built = std::min(entry->built + 1, entry->quantity); if (!entry->isComplete()) { - return psTemplate; + return psTemplate; // Build another of the same type. + } + if (psFactory->productionLoops == 0) + { + productionRun.erase(entry); } } } @@ -7133,11 +7135,12 @@ DROID_TEMPLATE * factoryProdUpdate(STRUCTURE *psStructure, DROID_TEMPLATE *psTem // Check that we aren't looping doing nothing. if (productionRun.empty()) { - psFactory->productionLoops = 0; // Don't do nothing infinitely many times. + if (psFactory->productionLoops != INFINITE_PRODUCTION) + { + psFactory->productionLoops = 0; // Reset number of loops, unless set to infinite. + } } - /*If you've got here there's nothing left to build unless factory is - on loop production*/ - if (psFactory->productionLoops != 0) + else if (psFactory->productionLoops != 0) //If you've got here there's nothing left to build unless factory is on loop production { //reduce the loop count if not infinite if (psFactory->productionLoops != INFINITE_PRODUCTION) @@ -7172,12 +7175,18 @@ void factoryProdAdjust(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate, BOOL if (entry != productionRun.end()) { + if (psFactory->productionLoops == 0) + { + entry->removeComplete(); // We are not looping, so remove the built droids from the list, so that quantity corresponds to the displayed number. + } + //adjust the prod run entry->quantity += add? 1 : -1; + entry->built = std::min(entry->built, entry->quantity); // Allows us to queue up more units up to MAX_IN_RUN instead of ignoring how many we have built from that queue // check to see if user canceled all orders in queue - if (entry->isComplete() || entry->numRemaining() > MAX_IN_RUN) + if (entry->quantity <= 0 || entry->quantity > MAX_IN_RUN) { productionRun.erase(entry); // Entry empty, so get rid of it. } @@ -7195,7 +7204,10 @@ void factoryProdAdjust(STRUCTURE *psStructure, DROID_TEMPLATE *psTemplate, BOOL if (productionRun.empty()) { //must have cancelled eveything - so tell the struct - psFactory->productionLoops = 0; + if (psFactory->productionLoops != INFINITE_PRODUCTION) + { + psFactory->productionLoops = 0; // Reset number of loops, unless set to infinite. + } } } diff --git a/src/structuredef.h b/src/structuredef.h index 367bffa3e..1e3cb02b9 100644 --- a/src/structuredef.h +++ b/src/structuredef.h @@ -321,13 +321,14 @@ struct ProductionRunEntry { ProductionRunEntry() : quantity(0), built(0), psTemplate(NULL) {} void restart() { built = 0; } - unsigned numRemaining() const { return quantity - built; } + void removeComplete() { quantity -= built; built = 0; } + int numRemaining() const { return quantity - built; } bool isComplete() const { return numRemaining() <= 0; } bool isValid() const { return psTemplate != NULL && quantity > 0 && built <= quantity; } bool operator ==(DROID_TEMPLATE *t) const; - unsigned quantity; //number to build - unsigned built; //number built on current run + int quantity; //number to build + int built; //number built on current run DROID_TEMPLATE * psTemplate; //template to build }; typedef std::vector ProductionRun; From e8d59133724b7fcbce1b4acd87f941a1690ab7b5 Mon Sep 17 00:00:00 2001 From: buginator Date: Sat, 25 Dec 2010 00:38:06 +0100 Subject: [PATCH 033/142] =?UTF-8?q?Apply=20patch=20=E2=80=94=20kill=20some?= =?UTF-8?q?=20more=20warnings,=20and=20fix=20a=20few=20issues=20that=20Bug?= =?UTF-8?q?inator=20found.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/framework/framework.vcproj | 4 +-- lib/framework/wzglobal.h | 55 +++++++++++++++++----------------- lib/gamelib/gamelib.vcproj | 2 +- lib/netplay/netplay.vcproj | 4 +-- lib/script/script.vcproj | 4 +-- lib/sound/sound.vcproj | 1 + win32/MSVCdelparser.bat | 12 ++++---- win32/Warzone2100.vcproj | 24 ++------------- 8 files changed, 43 insertions(+), 63 deletions(-) diff --git a/lib/framework/framework.vcproj b/lib/framework/framework.vcproj index 328f5029c..989edecef 100644 --- a/lib/framework/framework.vcproj +++ b/lib/framework/framework.vcproj @@ -357,7 +357,7 @@ > -# define WZ_ASSERT_STATIC_STRING(_var) assert(typeid(_var) == typeid(char[sizeof(_var)])) -#elif defined(WZ_CC_GNU) || defined(WZ_CC_INTEL) -# define WZ_ASSERT_STATIC_STRING(_var) STATIC_ASSERT(__builtin_types_compatible_p(typeof(_var), char[])) -#else -# define WZ_ASSERT_STATIC_STRING(_var) (void)(_var) -#endif - -/*! \def WZ_ASSERT_ARRAY - * Asserts that the given variable is a (statically sized) array, not just a pointer. - */ -#if defined(__cplusplus) -# define WZ_ASSERT_ARRAY_EXPR(a) 0 -#elif defined(WZ_CC_GNU) || defined(WZ_CC_INTEL) -/* &a[0] degrades to a pointer: a different type from an array */ -# define WZ_ASSERT_ARRAY_EXPR(a) STATIC_ASSERT_EXPR(!__builtin_types_compatible_p(typeof(a), typeof(&(a)[0]))) -#else -# define WZ_ASSERT_ARRAY_EXPR(a) 0 -#endif -#define WZ_ASSERT_ARRAY(a) (void)WZ_ASSERT_ARRAY_EXPR(a) - - /* ---- Platform specific setup ---- */ - #if defined(WZ_OS_WIN) # if defined(WZ_CC_MINGW) # include @@ -625,4 +597,31 @@ # define va_copy(dest, src) (void)((dest) = (src)) #endif // !WZ_C99 && !va_copy +/*! \def WZ_ASSERT_STATIC_STRING + * Asserts that the given string is statically allocated. + */ +#if defined(__cplusplus) +# include +# define WZ_ASSERT_STATIC_STRING(_var) assert(typeid(_var) == typeid(char[sizeof(_var)])) +#elif defined(WZ_CC_GNU) || defined(WZ_CC_INTEL) +# define WZ_ASSERT_STATIC_STRING(_var) STATIC_ASSERT(__builtin_types_compatible_p(typeof(_var), char[])) +#else +# define WZ_ASSERT_STATIC_STRING(_var) (void)(_var) +#endif + +/*! \def WZ_ASSERT_ARRAY + * Asserts that the given variable is a (statically sized) array, not just a pointer. + */ +#if defined(__cplusplus) +# define WZ_ASSERT_ARRAY_EXPR(a) 0 +#elif defined(WZ_CC_GNU) || defined(WZ_CC_INTEL) +/* &a[0] degrades to a pointer: a different type from an array */ +# define WZ_ASSERT_ARRAY_EXPR(a) STATIC_ASSERT_EXPR(!__builtin_types_compatible_p(typeof(a), typeof(&(a)[0]))) +#else +# define WZ_ASSERT_ARRAY_EXPR(a) 0 +#endif +#define WZ_ASSERT_ARRAY(a) (void)WZ_ASSERT_ARRAY_EXPR(a) + + + #endif /* WZGLOBAL_H */ diff --git a/lib/gamelib/gamelib.vcproj b/lib/gamelib/gamelib.vcproj index f0c90ff61..6034877ed 100644 --- a/lib/gamelib/gamelib.vcproj +++ b/lib/gamelib/gamelib.vcproj @@ -207,7 +207,7 @@ > - - @@ -979,7 +975,7 @@ > - - - - @@ -1159,11 +1147,7 @@ > - - - - From 2ee63abdc64dd6bb061873a6c63e41afe15ac2a4 Mon Sep 17 00:00:00 2001 From: Cyp Date: Fri, 17 Dec 2010 14:40:55 +0100 Subject: [PATCH 034/142] Remove strange asymmetric check in structure height calculation, remove float and add syncDebug for defense height. Also, fix minor inconsistencies in structure map coverage calculations, which probably didn't change anything, since structures should always be aligned, anyway. --- src/structure.cpp | 228 +++++++++++++++++----------------------------- src/structure.h | 1 - 2 files changed, 83 insertions(+), 146 deletions(-) diff --git a/src/structure.cpp b/src/structure.cpp index 6b0569854..d941e9ba2 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -204,35 +204,29 @@ Check to see if the stats is some kind of expansion module static void auxStructureNonblocking(STRUCTURE *psStructure) { - int i, j; - int sWidth = getStructureWidth(psStructure); - int sBreadth = getStructureBreadth(psStructure); - int mapX = map_coord(psStructure->pos.x - sWidth * TILE_UNITS / 2); - int mapY = map_coord(psStructure->pos.y - sBreadth * TILE_UNITS / 2); + Vector2i size = getStructureSize(psStructure); + Vector2i map = map_coord(removeZ(psStructure->pos)) - size/2; - for (i = 0; i < sWidth; i++) + for (int i = 0; i < size.x; i++) { - for (j = 0; j < sBreadth; j++) + for (int j = 0; j < size.y; j++) { - auxClearAll(mapX + i, mapY + j, AUXBITS_ANY_BUILDING | AUXBITS_OUR_BUILDING); + auxClearAll(map.x + i, map.y + j, AUXBITS_ANY_BUILDING | AUXBITS_OUR_BUILDING); } } } static void auxStructureBlocking(STRUCTURE *psStructure) { - int i, j; - int sWidth = getStructureWidth(psStructure); - int sBreadth = getStructureBreadth(psStructure); - int mapX = map_coord(psStructure->pos.x - sWidth * TILE_UNITS / 2); - int mapY = map_coord(psStructure->pos.y - sBreadth * TILE_UNITS / 2); + Vector2i size = getStructureSize(psStructure); + Vector2i map = map_coord(removeZ(psStructure->pos)) - size/2; - for (i = 0; i < sWidth; i++) + for (int i = 0; i < size.x; i++) { - for (j = 0; j < sBreadth; j++) + for (int j = 0; j < size.y; j++) { - auxSetAllied(mapX + i, mapY + j, psStructure->player, AUXBITS_OUR_BUILDING); - auxSetAll(mapX + i, mapY + j, AUXBITS_ANY_BUILDING); + auxSetAllied(map.x + i, map.y + j, psStructure->player, AUXBITS_OUR_BUILDING); + auxSetAll(map.x + i, map.y + j, AUXBITS_ANY_BUILDING); } } } @@ -1554,24 +1548,55 @@ static SDWORD structChooseWallType(UDWORD player, UDWORD mapX, UDWORD mapY) } -static void buildFlatten(STRUCTURE *pStructure, UDWORD x, UDWORD y, UDWORD h) +/* For now all this does is work out what height the terrain needs to be set to +An actual foundation structure may end up being placed down +The x and y passed in are the CENTRE of the structure*/ +static int foundationHeight(STRUCTURE *psStruct) { - unsigned width; - unsigned breadth; + Vector2i size = getStructureSize(psStruct); + Vector2i map = map_coord(removeZ(psStruct->pos)) - size/2; - for (breadth = 0; breadth <= getStructureBreadth(pStructure); ++breadth) + //check the terrain is the correct type return -1 if not + + //may also have to check that overlapping terrain can be set to the average height + //eg water - don't want it to 'flow' into the structure if this effect is coded! + + //initialise the starting values so they get set in loop + int foundationMin = TILE_MAX_HEIGHT; + int foundationMax = TILE_MIN_HEIGHT; + + for (int breadth = 0; breadth <= map.y; breadth++) { - for (width = 0; width <= getStructureWidth(pStructure); ++width) + for (int width = 0; width <= map.x; width++) + { + int height = map_TileHeight(map.x + width, map.y + breadth); + foundationMin = std::min(foundationMin, height); + foundationMax = std::max(foundationMax, height); + } + } + //return the average of max/min height + return (foundationMin + foundationMax) / 2; +} + + +static void buildFlatten(STRUCTURE *pStructure, int h) +{ + Vector2i size = getStructureSize(pStructure); + Vector2i map = map_coord(removeZ(pStructure->pos)) - size/2; + + for (int breadth = 0; breadth <= size.y; ++breadth) + { + for (int width = 0; width <= size.x; ++width) { if (pStructure->pStructureType->type != REF_WALL && pStructure->pStructureType->type != REF_WALLCORNER && pStructure->pStructureType->type != REF_GATE) { - setTileHeight(x + width, y + breadth, h);//-1 + setTileHeight(map.x + width, map.y + breadth, h); // We need to raise features on raised tiles to the new height - if(TileHasFeature(mapTile(x+width,y+breadth))) + if (TileHasFeature(mapTile(map.x + width, map.y + breadth))) { - getTileFeature(x+width, y+breadth)->pos.z = (UWORD)h; + getTileFeature(map.x + width, map.y + breadth)->pos.z = h; } } } @@ -1580,43 +1605,29 @@ static void buildFlatten(STRUCTURE *pStructure, UDWORD x, UDWORD y, UDWORD h) void alignStructure(STRUCTURE *psBuilding) { - int x = psBuilding->pos.x; - int y = psBuilding->pos.y; - unsigned sWidth = getStructureWidth(psBuilding); - unsigned sBreadth = getStructureBreadth(psBuilding); - int mapX = map_coord(x) - sWidth/2; - int mapY = map_coord(y) - sBreadth/2; - /* DEFENSIVE structures are pulled to the terrain */ if (psBuilding->pStructureType->type != REF_DEFENSE) { - int mapH = buildFoundation(psBuilding, x, y); + int mapH = foundationHeight(psBuilding); - buildFlatten(psBuilding, mapX, mapY, mapH); + buildFlatten(psBuilding, mapH); psBuilding->pos.z = mapH; psBuilding->foundationDepth = 0.0f; } else { - iIMDShape *strImd = psBuilding->sDisplay.imd; - int i; - float pointHeight; + iIMDShape *strImd = psBuilding->sDisplay.imd; psBuilding->pos.z = TILE_MIN_HEIGHT; psBuilding->foundationDepth = TILE_MAX_HEIGHT; // Now we got through the shape looking for vertices on the edge - for (i = 0; i < strImd->npoints; i++) + for (int i = 0; i < strImd->npoints; i++) { - pointHeight = map_Height(psBuilding->pos.x + strImd->points[i].x, psBuilding->pos.y - strImd->points[i].z); - if (pointHeight > psBuilding->pos.z) - { - psBuilding->pos.z = pointHeight; - } - if (pointHeight < psBuilding->foundationDepth) - { - psBuilding->foundationDepth = pointHeight; - } + int pointHeight = map_Height(psBuilding->pos.x + strImd->points[i].x, psBuilding->pos.y - strImd->points[i].z); + syncDebug("pointHeight=%d", pointHeight); // Eeek, strImd->points[i] is a Vector3f! If this causes desynchs, need to fix! + psBuilding->pos.z = std::max(psBuilding->pos.z, pointHeight); + psBuilding->foundationDepth = std::min(psBuilding->foundationDepth, pointHeight); } } } @@ -1630,8 +1641,7 @@ STRUCTURE *buildStructure(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y, U STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y, uint16_t direction, UDWORD player, BOOL FromSave) { STRUCTURE *psBuilding = NULL; - unsigned sWidth = getStructureStatsWidth (pStructureType, direction); - unsigned sBreadth = getStructureStatsBreadth(pStructureType, direction); + Vector2i size = getStructureStatsSize(pStructureType, direction); ASSERT_OR_RETURN(NULL, pStructureType && pStructureType->type != REF_DEMOLISH, "You cannot build demolition!"); @@ -1639,8 +1649,6 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y { SDWORD wallType = 0, preScrollMinX = 0, preScrollMinY = 0, preScrollMaxX = 0, preScrollMaxY = 0; UDWORD max = pStructureType - asStructureStats; - UDWORD mapX, mapY; - UDWORD width, breadth; int i; ASSERT_OR_RETURN(NULL, max <= numStructureStats, "Invalid structure type"); @@ -1672,8 +1680,8 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y } // snap the coords to a tile - x = (x & ~TILE_MASK) + sWidth %2 * TILE_UNITS/2; - y = (y & ~TILE_MASK) + sBreadth%2 * TILE_UNITS/2; + x = (x & ~TILE_MASK) + size.x%2 * TILE_UNITS/2; + y = (y & ~TILE_MASK) + size.y%2 * TILE_UNITS/2; //check not trying to build too near the edge if (map_coord(x) < TOO_NEAR_EDGE || map_coord(x) > (mapWidth - TOO_NEAR_EDGE)) @@ -1719,8 +1727,7 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y //This needs to be done before the functionality bit... //load into the map data and structure list if not an upgrade - mapX = map_coord(x) - sWidth/2; - mapY = map_coord(y) - sBreadth/2; + Vector2i map = map_coord(Vector2i(x, y)) - size/2; //set up the imd to use for the display psBuilding->sDisplay.imd = pStructureType->pIMD; @@ -1750,11 +1757,11 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y } } - for (width = 0; width < sWidth; width++) + for (int width = 0; width < size.x; width++) { - for (breadth = 0; breadth < sBreadth; breadth++) + for (int breadth = 0; breadth < size.y; breadth++) { - MAPTILE *psTile = mapTile(mapX+width,mapY+breadth); + MAPTILE *psTile = mapTile(map.x + width, map.y + breadth); /* Remove any walls underneath the building. You can build defense buildings on top * of walls, you see. This is not the place to test whether we own it! */ @@ -1766,9 +1773,9 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y // don't really think this should be done here, but dont know otherwise.alexl if(pStructureType->type == REF_WALLCORNER || pStructureType->type == REF_WALL) { - if(TileHasStructure(mapTile(mapX+width,mapY+breadth))) + if (TileHasStructure(mapTile(map.x + width, map.y + breadth))) { - if(getTileStructure(mapX+width,mapY+breadth)->pStructureType->type == REF_WALLCORNER) + if (getTileStructure (map.x + width, map.y + breadth)->pStructureType->type == REF_WALLCORNER) { delete psBuilding; return NULL; // dont build. @@ -1778,11 +1785,10 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y // end of dodgy stuff else if (TileHasStructure(psTile)) { - debug(LOG_ERROR, - "Player %u (%s): is building %s at (%d, %d) but found %s already at (%d, %d)", - player,isHumanPlayer(player) ? "Human" : "AI", pStructureType->pName, mapX, mapY, - getTileStructure(mapX + width, mapY + breadth)->pStructureType->pName, - mapX + width, mapY + breadth); + debug(LOG_ERROR, "Player %u (%s): is building %s at (%d, %d) but found %s already at (%d, %d)", + player, isHumanPlayer(player) ? "Human" : "AI", pStructureType->pName, map.x, map.y, + getTileStructure(map.x + width, map.y + breadth)->pStructureType->pName, + map.x + width, map.y + breadth); delete psBuilding; return NULL; } @@ -1792,7 +1798,7 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y // if it's a tall structure then flag it in the map. if (psBuilding->sDisplay.imd->max.y > TALLOBJECT_YMAX) { - auxSetBlocking(mapX + width, mapY + breadth, AIR_BLOCKED); + auxSetBlocking(map.x + width, map.y + breadth, AIR_BLOCKED); } } } @@ -4960,23 +4966,19 @@ BOOL checkLength(UDWORD maxRange, UDWORD x, UDWORD y, UDWORD *pDroidX, UDWORD *p static void removeStructFromMap(STRUCTURE *psStruct) { UDWORD i,j; - UDWORD mapX, mapY; - MAPTILE *psTile; - unsigned sWidth = getStructureWidth(psStruct); - unsigned sBreadth = getStructureBreadth(psStruct); auxStructureNonblocking(psStruct); /* set tiles drawing */ - mapX = map_coord(psStruct->pos.x) - sWidth/2; - mapY = map_coord(psStruct->pos.y) - sBreadth/2; - for (i = 0; i < sWidth; i++) + Vector2i size = getStructureSize(psStruct); + Vector2i map = map_coord(removeZ(psStruct->pos)) - size/2; + for (i = 0; i < size.x; i++) { - for (j = 0; j < sBreadth; j++) + for (j = 0; j < size.y; j++) { - psTile = mapTile(mapX+i, mapY+j); + MAPTILE *psTile = mapTile(map.x + i, map.y + j); psTile->psObject = NULL; - auxClearBlocking(mapX + i, mapY + j, AIR_BLOCKED); + auxClearBlocking(map.x + i, map.y + j, AIR_BLOCKED); } } } @@ -5104,10 +5106,8 @@ BOOL removeStruct(STRUCTURE *psDel, BOOL bDestroy) /* Remove a structure */ BOOL destroyStruct(STRUCTURE *psDel) { - UDWORD mapX, mapY, width,breadth; UDWORD widthScatter,breadthScatter,heightScatter; BOOL resourceFound = false; - MAPTILE *psTile; bool bMinor; const unsigned burnDurationWall = 1000; @@ -5248,15 +5248,13 @@ BOOL destroyStruct(STRUCTURE *psDel) if (!resourceFound && !(psDel->pStructureType->type == REF_WALL) && !(psDel->pStructureType->type == REF_WALLCORNER)) { - unsigned sWidth = getStructureWidth(psDel); - unsigned sBreadth = getStructureBreadth(psDel); - mapX = map_coord(psDel->pos.x - sWidth * TILE_UNITS / 2); - mapY = map_coord(psDel->pos.y - sBreadth * TILE_UNITS / 2); - for (width = 0; width < sWidth; width++) + Vector2i size = getStructureSize(psDel); + Vector2i map = map_coord(removeZ(psDel->pos)) - size/2; + for (int width = 0; width < size.x; width++) { - for (breadth = 0; breadth < sBreadth; breadth++) + for (int breadth = 0; breadth < size.y; breadth++) { - psTile = mapTile(mapX+width,mapY+breadth); + MAPTILE *psTile = mapTile(map.x + width, map.y + breadth); if(TEST_TILE_VISIBLE(selectedPlayer,psTile)) { psTile->illumination /= 2; @@ -5290,66 +5288,6 @@ BOOL destroyStruct(STRUCTURE *psDel) } -/* For now all this does is work out what height the terrain needs to be set to -An actual foundation structure may end up being placed down -The x and y passed in are the CENTRE of the structure*/ -SWORD buildFoundation(STRUCTURE *psStruct, UDWORD x, UDWORD y) -{ - UDWORD width, breadth; - UDWORD startX, startY; - SWORD height,foundationMin, foundationMax; - unsigned sWidth = getStructureWidth(psStruct); - unsigned sBreadth = getStructureBreadth(psStruct); - - startX = map_coord(x) - sWidth/2; - startY = map_coord(y) - sBreadth/2; - - //check the terrain is the correct type return -1 if not - - //shouldn't need to do this but doesn't take long hey?! - /*check if there is a structure next to the new one - return the height of the - structure if found*/ - for (breadth = 0; breadth <= sBreadth; breadth++) - { - for (width = 0; width <= sWidth; width++) - { - if(TileHasStructure(mapTile(startX+width,startY+breadth))) - { - return map_TileHeight(startX+width, startY+breadth); - } - } - } - - //may also have to check that overlapping terrain can be set to the average height - //eg water - don't want it to 'flow' into the structure if this effect is coded! - - startX = map_coord(x) - sWidth/2; - startY = map_coord(y) - sBreadth/2; - - //initialise the starting values so they get set in loop - foundationMin = TILE_MAX_HEIGHT; - foundationMax = TILE_MIN_HEIGHT; - - for (breadth = 0; breadth <= sBreadth; breadth++) - { - for (width = 0; width <= sWidth; width++) - { - height = map_TileHeight(startX+width,startY+breadth); - if (foundationMin > height) - { - foundationMin = height; - } - if (foundationMax < height) - { - foundationMax = height; - } - } - } - //return the average of max/min height - return ((SWORD)((foundationMin + foundationMax) / 2)); -} - - /* gets a structure stat from its name - relies on the name being unique (or it will return the first one it finds!! */ int32_t getStructStatFromName(char const *pName) diff --git a/src/structure.h b/src/structure.h index 3171c2f7d..0bfeb2286 100644 --- a/src/structure.h +++ b/src/structure.h @@ -157,7 +157,6 @@ extern BOOL checkWidth(UDWORD maxRange, UDWORD x, UDWORD y, UDWORD *pDroidX, UDW /* check along the length of a structure for an empty space */ extern BOOL checkLength(UDWORD maxRange, UDWORD x, UDWORD y, UDWORD *pDroidX, UDWORD *pDroidY); -extern SWORD buildFoundation(STRUCTURE *psStruct, UDWORD x, UDWORD y); extern void alignStructure(STRUCTURE *psBuilding); //initialise the structure limits structure From e8b8abf4cbcc8b5d938262d468587e14bbf9452f Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 26 Dec 2010 16:17:03 +0100 Subject: [PATCH 035/142] Fix typo in last commit. Places structures more gently, structures should no longer form craters in the ground when being placed down. --- src/structure.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/structure.cpp b/src/structure.cpp index d941e9ba2..f6467285e 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -1565,9 +1565,9 @@ static int foundationHeight(STRUCTURE *psStruct) int foundationMin = TILE_MAX_HEIGHT; int foundationMax = TILE_MIN_HEIGHT; - for (int breadth = 0; breadth <= map.y; breadth++) + for (int breadth = 0; breadth <= size.y; breadth++) { - for (int width = 0; width <= map.x; width++) + for (int width = 0; width <= size.x; width++) { int height = map_TileHeight(map.x + width, map.y + breadth); foundationMin = std::min(foundationMin, height); From 72e5404db45b578f27987d357f0c29ede34c3eee Mon Sep 17 00:00:00 2001 From: Freddie Witherden Date: Sun, 26 Dec 2010 16:29:53 +0000 Subject: [PATCH 036/142] Improve formatting of cmdSelectSubDroids. --- src/cmddroid.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/cmddroid.cpp b/src/cmddroid.cpp index efa74f642..38aede389 100644 --- a/src/cmddroid.cpp +++ b/src/cmddroid.cpp @@ -220,19 +220,16 @@ unsigned int cmdGetCommanderLevel(const DROID* psDroid) } // Selects all droids for a given commander -void cmdSelectSubDroids(DROID *psDroid) +void cmdSelectSubDroids(DROID *psDroid) { -DROID *psCurr; + DROID *psCurr; for (psCurr = apsDroidLists[selectedPlayer]; psCurr; psCurr = psCurr->psNext) { - if( hasCommander(psCurr) ) + if (hasCommander(psCurr) + && psCurr->psGroup->psCommander == psDroid) { - if(psCurr->psGroup->psCommander == psDroid) - { -// psCurr->selected = true; - SelectDroid(psCurr); - } + SelectDroid(psCurr); } } } From f5ea79ed3cd1b5091becacfe1bdc48f74a44dbe1 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sun, 26 Dec 2010 22:12:53 +0100 Subject: [PATCH 037/142] Enable OpenGL lighting controlled through the vertex shader. Added two new script functions setSunPosition an setSunIntensity. Added a new PIE file directive MATERIALS that sets material properties for a mesh level. Original patch reviewed by SafetyOff. --- data/base/shaders/tcmask.vert | 18 ++++++-- lib/ivis_common/imdload.cpp | 55 +++++++++++++++++-------- lib/ivis_common/ivisdef.h | 2 + lib/ivis_common/piedef.h | 32 +-------------- lib/ivis_common/piestate.h | 42 ------------------- lib/ivis_common/pietypes.h | 77 +++++++++++++++++++++++++++++++++++ lib/ivis_opengl/piedraw.cpp | 52 ++++++++++------------- src/display3d.cpp | 3 -- src/hci.cpp | 42 ------------------- src/lighting.cpp | 3 +- src/lighting.h | 2 - src/scriptfuncs.cpp | 38 +++++++++++++++++ src/scriptfuncs.h | 2 + src/scripttabs.cpp | 8 ++++ 14 files changed, 205 insertions(+), 171 deletions(-) diff --git a/data/base/shaders/tcmask.vert b/data/base/shaders/tcmask.vert index ac404f5e8..a2080ddb4 100644 --- a/data/base/shaders/tcmask.vert +++ b/data/base/shaders/tcmask.vert @@ -2,19 +2,29 @@ #pragma debug(on) varying float vertexDistance; +varying vec3 normal; uniform float stretch; uniform int fogEnabled; void main(void) { + vec3 lightDir; + vec4 diffuse, ambient, globalAmbient; + float NdotL; vec4 position = gl_Vertex; - // Pass vertex color information to fragment shader - gl_FrontColor = gl_Color; - // Pass texture coordinates to fragment shader - gl_TexCoord[0] = gl_TextureMatrix [0] * gl_MultiTexCoord0; + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + // Lighting + normal = normalize(gl_NormalMatrix * gl_Normal); + lightDir = normalize(vec3(gl_LightSource[0].position)); + NdotL = max(dot(normal, lightDir), 0.0); + diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse; + ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient; + globalAmbient = gl_LightModel.ambient * gl_FrontMaterial.ambient; + gl_FrontColor = (NdotL * diffuse + globalAmbient + ambient) * gl_Color; if (position.y <= 0.0) { diff --git a/lib/ivis_common/imdload.cpp b/lib/ivis_common/imdload.cpp index a5b952bfe..5513af428 100644 --- a/lib/ivis_common/imdload.cpp +++ b/lib/ivis_common/imdload.cpp @@ -512,9 +512,9 @@ static BOOL _imd_load_connectors(const char **ppFileData, iIMDShape *s) */ static iIMDShape *_imd_load_level(const char **ppFileData, const char *FileDataEnd, int nlevels, int pieVersion) { - const char *pFileData = *ppFileData; + const char *pTmp, *pFileData = *ppFileData; char buffer[PATH_MAX] = {'\0'}; - int cnt = 0, n = 0; + int cnt = 0, n = 0, i; iIMDShape *s = NULL; if (nlevels == 0) @@ -543,6 +543,39 @@ static iIMDShape *_imd_load_level(const char **ppFileData, const char *FileDataE s->texpage = iV_TEX_INVALID; s->tcmaskpage = iV_TEX_INVALID; + // Load optional MATERIALS directive + pTmp = pFileData; // remember position + i = sscanf(pFileData, "%s %n", buffer, &cnt); + ASSERT_OR_RETURN(NULL, i == 1, "Bad directive following LEVEL"); + memset(s->material, 0, sizeof(s->material)); + s->material[LIGHT_AMBIENT][3] = 1.0f; + s->material[LIGHT_DIFFUSE][3] = 1.0f; + s->material[LIGHT_SPECULAR][3] = 1.0f; + if (strcmp(buffer, "MATERIALS") == 0) + { + i = sscanf(pFileData, "%s %f %f %f %f %f %f %f %f %f %f%n", buffer, + &s->material[LIGHT_AMBIENT][0], &s->material[LIGHT_AMBIENT][1], &s->material[LIGHT_AMBIENT][2], + &s->material[LIGHT_DIFFUSE][0], &s->material[LIGHT_DIFFUSE][1], &s->material[LIGHT_DIFFUSE][2], + &s->material[LIGHT_SPECULAR][0], &s->material[LIGHT_SPECULAR][1], &s->material[LIGHT_SPECULAR][2], + &s->shininess, &cnt); + ASSERT_OR_RETURN(NULL, i == 11, "Bad MATERIALS directive"); + pFileData += cnt; + } + else + { + // Set default values + s->material[LIGHT_AMBIENT][0] = 1.0f; + s->material[LIGHT_AMBIENT][1] = 1.0f; + s->material[LIGHT_AMBIENT][2] = 1.0f; + s->material[LIGHT_DIFFUSE][0] = 1.0f; + s->material[LIGHT_DIFFUSE][1] = 1.0f; + s->material[LIGHT_DIFFUSE][2] = 1.0f; + s->material[LIGHT_SPECULAR][0] = 1.0f; + s->material[LIGHT_SPECULAR][1] = 1.0f; + s->material[LIGHT_SPECULAR][2] = 1.0f; + s->shininess = 10; + pFileData = pTmp; + } if (sscanf(pFileData, "%s %d%n", buffer, &s->npoints, &cnt) != 2) { @@ -552,17 +585,9 @@ static iIMDShape *_imd_load_level(const char **ppFileData, const char *FileDataE pFileData += cnt; // load points - if (strcmp(buffer, "POINTS") != 0) - { - debug(LOG_ERROR, "_imd_load_level: expecting 'POINTS' directive, got: %s", buffer); - return NULL; - } - if (s->npoints > iV_IMD_MAX_POINTS) - { - debug(LOG_ERROR, "_imd_load_level: too many points in IMD"); - return NULL; - } + ASSERT_OR_RETURN(NULL, strcmp(buffer, "POINTS") == 0, "Expecting 'POINTS' directive, got: %s", buffer); + ASSERT_OR_RETURN(NULL, s->npoints < iV_IMD_MAX_POINTS, "Too many points in IMD, max %d", iV_IMD_MAX_POINTS); _imd_load_points( &pFileData, s ); @@ -574,11 +599,7 @@ static iIMDShape *_imd_load_level(const char **ppFileData, const char *FileDataE } pFileData += cnt; - if (strcmp(buffer, "POLYGONS") != 0) - { - debug(LOG_ERROR,"_imd_load_level: expecting 'POLYGONS' directive"); - return NULL; - } + ASSERT_OR_RETURN(NULL, strcmp(buffer, "POLYGONS") == 0, "Expecting 'POLYGONS' directive, got: %s", buffer); _imd_load_polys( &pFileData, s, pieVersion); diff --git a/lib/ivis_common/ivisdef.h b/lib/ivis_common/ivisdef.h index 4bbc97e41..ec297b34a 100644 --- a/lib/ivis_common/ivisdef.h +++ b/lib/ivis_common/ivisdef.h @@ -94,6 +94,8 @@ typedef struct _iIMDShape { unsigned int nShadowEdges; EDGE *shadowEdgeList; + float material[LIGHT_MAX][4]; + float shininess; struct _iIMDShape *next; // next pie in multilevel pies (NULL for non multilevel !) } iIMDShape; diff --git a/lib/ivis_common/piedef.h b/lib/ivis_common/piedef.h index 78d441f2f..6e77ee507 100644 --- a/lib/ivis_common/piedef.h +++ b/lib/ivis_common/piedef.h @@ -36,36 +36,6 @@ #include "ivisdef.h" #include "pietypes.h" -/***************************************************************************/ -/* - * Global Definitions (CONSTANTS) - */ -/***************************************************************************/ -#define STRETCHED_Z_SHIFT 10 // stretchs z range for (1000 to 4000) to (8000 to 32000) -#define MAX_Z (32000) // raised to 32000 from 6000 when stretched -#define MIN_STRETCHED_Z 256 -#define LONG_WAY (1<<15) -#define INTERFACE_DEPTH (MAX_Z - 1) -#define BUTTON_DEPTH 2000 // will be stretched to 16000 - -#define OLD_TEXTURE_SIZE_FIX 256.0f - -//Render style flags for all pie draw functions -#define pie_TRANSLUCENT 0x2 -#define pie_ADDITIVE 0x4 -#define pie_FORCE_FOG 0x8 -#define pie_HEIGHT_SCALED 0x10 -#define pie_RAISE 0x20 -#define pie_BUTTON 0x40 -#define pie_SHADOW 0x80 -#define pie_STATIC_SHADOW 0x100 - -#define pie_RAISE_SCALE 256 - -#define pie_MAX_VERTICES 768 -#define pie_MAX_POLYGONS 512 -#define pie_MAX_VERTICES_PER_POLYGON 6 - /***************************************************************************/ /* * Global Definitions (STRUCTURES) @@ -105,6 +75,8 @@ void pie_BeginLighting(const Vector3f * light, bool drawshadows); /* Stop using stencil shadows and OpenGL lighting (if enabled). */ void pie_EndLighting(void); +void pie_Lighting0(LIGHTING_TYPE entry, float value[4]); + void pie_RemainingPasses(void); void pie_SetUp(void); diff --git a/lib/ivis_common/piestate.h b/lib/ivis_common/piestate.h index f5271b716..fdf39ef89 100644 --- a/lib/ivis_common/piestate.h +++ b/lib/ivis_common/piestate.h @@ -29,7 +29,6 @@ #ifndef _piestate_h #define _piestate_h - /***************************************************************************/ #include "lib/framework/frame.h" @@ -41,34 +40,6 @@ */ /***************************************************************************/ -typedef enum REND_MODE - { - REND_ALPHA, - REND_ADDITIVE, - REND_OPAQUE, - REND_MULTIPLICATIVE - } - REND_MODE; - -typedef enum DEPTH_MODE - { - DEPTH_CMP_LEQ_WRT_ON, - DEPTH_CMP_ALWAYS_WRT_ON, - DEPTH_CMP_LEQ_WRT_OFF, - DEPTH_CMP_ALWAYS_WRT_OFF - } - DEPTH_MODE; - -typedef enum TRANSLUCENCY_MODE - { - TRANS_DECAL, - TRANS_FILTER, - TRANS_ALPHA, - TRANS_ADDITIVE, - TRANS_MULTIPLICATIVE - } - TRANSLUCENCY_MODE; - typedef struct RENDER_STATE { BOOL fogEnabled; @@ -81,19 +52,6 @@ typedef struct RENDER_STATE } RENDER_STATE; -typedef enum -{ - TEXPAGE_NONE = -1, - TEXPAGE_EXTERN = -2 -} TEXPAGE_TYPE; - -typedef enum -{ - SHADER_NONE, - SHADER_COMPONENT, - SHADER_MAX -} SHADER_MODE; - /***************************************************************************/ /* * Global Variables diff --git a/lib/ivis_common/pietypes.h b/lib/ivis_common/pietypes.h index 75ad46327..806908f67 100644 --- a/lib/ivis_common/pietypes.h +++ b/lib/ivis_common/pietypes.h @@ -32,6 +32,83 @@ #include "lib/framework/frame.h" #include "lib/framework/vector.h" +/***************************************************************************/ +/* + * Global Definitions (CONSTANTS) + */ +/***************************************************************************/ +#define STRETCHED_Z_SHIFT 10 // stretchs z range for (1000 to 4000) to (8000 to 32000) +#define MAX_Z (32000) // raised to 32000 from 6000 when stretched +#define MIN_STRETCHED_Z 256 +#define LONG_WAY (1<<15) +#define INTERFACE_DEPTH (MAX_Z - 1) +#define BUTTON_DEPTH 2000 // will be stretched to 16000 + +#define OLD_TEXTURE_SIZE_FIX 256.0f + +//Render style flags for all pie draw functions +#define pie_TRANSLUCENT 0x2 +#define pie_ADDITIVE 0x4 +#define pie_FORCE_FOG 0x8 +#define pie_HEIGHT_SCALED 0x10 +#define pie_RAISE 0x20 +#define pie_BUTTON 0x40 +#define pie_SHADOW 0x80 +#define pie_STATIC_SHADOW 0x100 + +#define pie_RAISE_SCALE 256 + +#define pie_MAX_VERTICES 768 +#define pie_MAX_POLYGONS 512 +#define pie_MAX_VERTICES_PER_POLYGON 6 + +typedef enum +{ + LIGHT_EMISSIVE, + LIGHT_AMBIENT, + LIGHT_DIFFUSE, + LIGHT_SPECULAR, + LIGHT_MAX +} LIGHTING_TYPE; + +typedef enum +{ + REND_ALPHA, + REND_ADDITIVE, + REND_OPAQUE, + REND_MULTIPLICATIVE +} REND_MODE; + +typedef enum +{ + DEPTH_CMP_LEQ_WRT_ON, + DEPTH_CMP_ALWAYS_WRT_ON, + DEPTH_CMP_LEQ_WRT_OFF, + DEPTH_CMP_ALWAYS_WRT_OFF +} DEPTH_MODE; + +typedef enum +{ + TRANS_DECAL, + TRANS_FILTER, + TRANS_ALPHA, + TRANS_ADDITIVE, + TRANS_MULTIPLICATIVE +} TRANSLUCENCY_MODE; + +typedef enum +{ + TEXPAGE_NONE = -1, + TEXPAGE_EXTERN = -2 +} TEXPAGE_TYPE; + +typedef enum SHADER_MODE +{ + SHADER_NONE, + SHADER_COMPONENT, + SHADER_MAX +} SHADER_MODE; + //************************************************************************* // // Simple derived types diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index bd57336bd..e2cf21355 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -54,31 +54,33 @@ extern BOOL drawing_interface; static unsigned int pieCount = 0; static unsigned int tileCount = 0; static unsigned int polyCount = 0; -static bool lighting = false; -static bool lightingstate = false; static bool shadows = false; +static GLfloat lighting0[LIGHT_MAX][4] = {{0.0f, 0.0f, 0.0f, 0.0f}, {0.6f, 0.6f, 0.6f, 1.0f}, {0.8f, 0.8f, 0.8f, 1.0f}, {1.0f, 1.0f, 1.0f, 1.0f}}; /* * Source */ -void pie_BeginLighting(const Vector3f * light, bool drawshadows) +void pie_Lighting0(LIGHTING_TYPE entry, float value[4]) +{ + lighting0[entry][0] = value[0]; + lighting0[entry][1] = value[1]; + lighting0[entry][2] = value[2]; + lighting0[entry][3] = value[3]; +} + +void pie_BeginLighting(const Vector3f *light, bool drawshadows) { const float pos[4] = {light->x, light->y, light->z, 0.0f}; - const float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f}; - const float ambient[4] = {0.3f, 0.3f, 0.3f, 1.0f}; - const float diffuse[4] = {0.8f, 0.8f, 0.8f, 1.0f}; - const float specular[4] = {1.0f, 1.0f, 1.0f, 1.0f}; - glLightModelfv(GL_LIGHT_MODEL_AMBIENT, zero); + glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lighting0[LIGHT_EMISSIVE]); glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE); glLightfv(GL_LIGHT0, GL_POSITION, pos); - glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); - glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); - glLightfv(GL_LIGHT0, GL_SPECULAR, specular); + glLightfv(GL_LIGHT0, GL_AMBIENT, lighting0[LIGHT_AMBIENT]); + glLightfv(GL_LIGHT0, GL_DIFFUSE, lighting0[LIGHT_DIFFUSE]); + glLightfv(GL_LIGHT0, GL_SPECULAR, lighting0[LIGHT_SPECULAR]); glEnable(GL_LIGHT0); - lighting = lightingstate; if (drawshadows) { shadows = true; @@ -87,18 +89,16 @@ void pie_BeginLighting(const Vector3f * light, bool drawshadows) bool pie_GetLightingState(void) { - return lightingstate; + return true; } void pie_SetLightingState(bool val) { - lightingstate = val; } void pie_EndLighting(void) { shadows = false; - lighting = false; } /*************************************************************************** @@ -137,7 +137,7 @@ static unsigned int nb_tshapes = 0; static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELIGHT teamcolour, WZ_DECL_UNUSED PIELIGHT specular, int pieFlag, int pieFlagData) { iIMDPoly *pPolys; - bool light = lighting; + bool light = true; pie_SetAlphaTest(true); @@ -176,18 +176,13 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI if (light) { - const float ambient[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; - const float diffuse[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; - const float specular[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; - const float shininess = 10; - glEnable(GL_LIGHTING); glEnable(GL_NORMALIZE); - glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient); - glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse); - glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular); - glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess); + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, shape->material[LIGHT_AMBIENT]); + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, shape->material[LIGHT_DIFFUSE]); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, shape->material[LIGHT_SPECULAR]); + glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shape->shininess); } if (pieFlag & pie_HEIGHT_SCALED) // construct @@ -230,11 +225,7 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI glBegin(GL_TRIANGLE_FAN); - if (light) - { - glNormal3fv((GLfloat*)&pPolys->normal); - } - + glNormal3fv((GLfloat*)&pPolys->normal); for (n = 0; n < pPolys->npnts; n++) { glTexCoord2fv((GLfloat*)&pPolys->texCoord[fidx * pPolys->npnts + n]); @@ -414,6 +405,7 @@ static void pie_DrawShadow(iIMDShape *shape, int flag, int flag_data, Vector3f* // draw the shadow volume glBegin(GL_QUADS); + glNormal3f(0.0, 1.0, 0.0); for(i=0;i Date: Mon, 27 Dec 2010 16:53:13 +0100 Subject: [PATCH 038/142] Do not spend value resources shading the backsides of polygons or setting irrelevant GL states. --- lib/ivis_common/piestate.h | 4 ---- lib/ivis_opengl/piedraw.cpp | 32 +++++++++++--------------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/lib/ivis_common/piestate.h b/lib/ivis_common/piestate.h index fdf39ef89..551f9cdee 100644 --- a/lib/ivis_common/piestate.h +++ b/lib/ivis_common/piestate.h @@ -101,10 +101,6 @@ void pie_SetShaderStretchDepth(float stretch); /* Actually in piedraw.c */ -// Lighting cotrols -extern void pie_SetLightingState(bool); -extern bool pie_GetLightingState(void); - /* Errors control routine */ #define glErrors() \ _glerrors(__FUNCTION__, __FILE__, __LINE__) diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index e2cf21355..6fe27803c 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -55,7 +55,7 @@ static unsigned int pieCount = 0; static unsigned int tileCount = 0; static unsigned int polyCount = 0; static bool shadows = false; -static GLfloat lighting0[LIGHT_MAX][4] = {{0.0f, 0.0f, 0.0f, 0.0f}, {0.6f, 0.6f, 0.6f, 1.0f}, {0.8f, 0.8f, 0.8f, 1.0f}, {1.0f, 1.0f, 1.0f, 1.0f}}; +static GLfloat lighting0[LIGHT_MAX][4] = {{0.0f, 0.0f, 0.0f, 1.0f}, {0.5f, 0.5f, 0.5f, 1.0f}, {0.8f, 0.8f, 0.8f, 1.0f}, {1.0f, 1.0f, 1.0f, 1.0f}}; /* * Source @@ -92,10 +92,6 @@ bool pie_GetLightingState(void) return true; } -void pie_SetLightingState(bool val) -{ -} - void pie_EndLighting(void) { shadows = false; @@ -176,13 +172,12 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI if (light) { - glEnable(GL_LIGHTING); - glEnable(GL_NORMALIZE); - - glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, shape->material[LIGHT_AMBIENT]); - glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, shape->material[LIGHT_DIFFUSE]); - glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, shape->material[LIGHT_SPECULAR]); - glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shape->shininess); + glMaterialfv(GL_FRONT, GL_AMBIENT, shape->material[LIGHT_AMBIENT]); + glMaterialfv(GL_FRONT, GL_DIFFUSE, shape->material[LIGHT_DIFFUSE]); + glMaterialfv(GL_FRONT, GL_SPECULAR, shape->material[LIGHT_SPECULAR]); + glMaterialf(GL_FRONT, GL_SHININESS, shape->shininess); + glMaterialfv(GL_FRONT, GL_EMISSION, shape->material[LIGHT_EMISSIVE]); + pie_ActivateShader_TCMask(teamcolour, shape->tcmaskpage); } if (pieFlag & pie_HEIGHT_SCALED) // construct @@ -197,8 +192,6 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI glColor4ubv(colour.vector); // Only need to set once for entire model pie_SetTexturePage(shape->texpage); - pie_ActivateShader_TCMask(teamcolour, shape->tcmaskpage); - frame %= MAX(1, shape->numFrames); for (pPolys = shape->polys; pPolys < shape->polys + shape->npolys; pPolys++) @@ -235,18 +228,15 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI glEnd(); } - pie_DeactivateShader(); + if (light) + { + pie_DeactivateShader(); + } if (pieFlag & pie_BUTTON) { pie_SetDepthBufferStatus(DEPTH_CMP_ALWAYS_WRT_ON); } - - if (light) - { - glDisable(GL_LIGHTING); - glDisable(GL_NORMALIZE); - } } /// returns true if the edges are adjacent From aafe14fbc2d473f6577b457c99e8009260503516 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Tue, 28 Dec 2010 23:35:57 +0100 Subject: [PATCH 039/142] Add separate shader for models rendered for buttons to remove lighting effects from those. Add support for per-pixel lighting. Patch reviewed by SafetyOff. --- data/base/shaders/button.frag | 29 ++++++++++++++++++++ data/base/shaders/button.vert | 14 ++++++++++ data/base/shaders/tcmask.frag | 21 ++++++++++++--- data/base/shaders/tcmask.vert | 32 +++++++++------------- lib/ivis_common/piestate.h | 2 +- lib/ivis_common/pietypes.h | 1 + lib/ivis_opengl/piedraw.cpp | 6 +++-- lib/ivis_opengl/piestate.cpp | 51 +++++++++++++++++------------------ lib/ivis_opengl/screen.cpp | 3 +-- 9 files changed, 104 insertions(+), 55 deletions(-) create mode 100644 data/base/shaders/button.frag create mode 100644 data/base/shaders/button.vert diff --git a/data/base/shaders/button.frag b/data/base/shaders/button.frag new file mode 100644 index 000000000..ca5e27e6a --- /dev/null +++ b/data/base/shaders/button.frag @@ -0,0 +1,29 @@ +#version 120 +#pragma debug(on) + +uniform sampler2D Texture0; +uniform sampler2D Texture1; +uniform vec4 teamcolour; +uniform int tcmask; +//uniform int fogEnabled; + +void main(void) +{ + vec4 mask, colour; + + // Get color from texture unit 0 + colour = texture2D(Texture0, gl_TexCoord[0].st); + + if (tcmask == 1) + { + // Get tcmask information from texture unit 1 + mask = texture2D(Texture1, gl_TexCoord[0].st); + + // Apply color using grain merge with tcmask + gl_FragColor = (colour + (teamcolour - 0.5) * mask.a) * gl_Color; + } + else + { + gl_FragColor = colour * gl_Color; + } +} diff --git a/data/base/shaders/button.vert b/data/base/shaders/button.vert new file mode 100644 index 000000000..22bb67c8c --- /dev/null +++ b/data/base/shaders/button.vert @@ -0,0 +1,14 @@ +#version 120 +#pragma debug(on) + +void main(void) +{ + // Pass texture coordinates to fragment shader + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + // Pass glColor to fragment shader + gl_FrontColor = gl_Color; + + // Translate every vertex according to the Model View and Projection Matrix + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; +} diff --git a/data/base/shaders/tcmask.frag b/data/base/shaders/tcmask.frag index 35840fca2..35a6dd2a2 100644 --- a/data/base/shaders/tcmask.frag +++ b/data/base/shaders/tcmask.frag @@ -2,6 +2,7 @@ #pragma debug(on) varying float vertexDistance; +varying vec3 normal, lightDir, eyeVec; uniform sampler2D Texture0; uniform sampler2D Texture1; @@ -11,15 +12,27 @@ uniform int fogEnabled; void main(void) { - vec4 colour, mask; + vec4 mask, colour; + vec4 light = (gl_FrontLightModelProduct.sceneColor * gl_FrontMaterial.ambient) + (gl_LightSource[0].ambient * gl_FrontMaterial.ambient); + vec3 N = normalize(normal); + vec3 L = normalize(lightDir); + float lambertTerm = dot(N, L); + if (lambertTerm > 0.0) + { + light += gl_LightSource[0].diffuse * gl_FrontMaterial.diffuse * lambertTerm; + vec3 E = normalize(eyeVec); + vec3 R = reflect(-L, N); + float specular = pow(max(dot(R, E), 0.0), gl_FrontMaterial.shininess); + light += gl_LightSource[0].specular * gl_FrontMaterial.specular * specular; + } - // Get color from texture unit 0 - colour = texture2D(Texture0, gl_TexCoord[0].st); + // Get color from texture unit 0, merge with lighting + colour = texture2D(Texture0, gl_TexCoord[0].st) * light; if (tcmask == 1) { // Get tcmask information from texture unit 1 - mask = texture2D(Texture1, gl_TexCoord[0].st); + mask = texture2D(Texture1, gl_TexCoord[0].st); // Apply color using grain merge with tcmask gl_FragColor = (colour + (teamcolour - 0.5) * mask.a) * gl_Color; diff --git a/data/base/shaders/tcmask.vert b/data/base/shaders/tcmask.vert index a2080ddb4..d8a6e64fb 100644 --- a/data/base/shaders/tcmask.vert +++ b/data/base/shaders/tcmask.vert @@ -1,31 +1,26 @@ #version 120 #pragma debug(on) -varying float vertexDistance; -varying vec3 normal; - uniform float stretch; -uniform int fogEnabled; + +varying float vertexDistance; +varying vec3 normal, lightDir, eyeVec; void main(void) { - vec3 lightDir; - vec4 diffuse, ambient, globalAmbient; - float NdotL; + vec3 vVertex = vec3(gl_ModelViewMatrix * gl_Vertex); vec4 position = gl_Vertex; // Pass texture coordinates to fragment shader gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; - // Lighting - normal = normalize(gl_NormalMatrix * gl_Normal); - lightDir = normalize(vec3(gl_LightSource[0].position)); - NdotL = max(dot(normal, lightDir), 0.0); - diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse; - ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient; - globalAmbient = gl_LightModel.ambient * gl_FrontMaterial.ambient; - gl_FrontColor = (NdotL * diffuse + globalAmbient + ambient) * gl_Color; + // Lighting -- we pass these to the fragment shader + normal = gl_NormalMatrix * gl_Normal; + lightDir = vec3(gl_LightSource[0].position.xyz - vVertex); + eyeVec = -vVertex; + gl_FrontColor = gl_Color; + // Implement building stretching to accomodate terrain if (position.y <= 0.0) { position.y -= stretch; @@ -34,9 +29,6 @@ void main(void) // Translate every vertex according to the Model View and Projection Matrix gl_Position = gl_ModelViewProjectionMatrix * position; - if (fogEnabled > 0) - { - // Remember vertex distance - vertexDistance = gl_Position.z; - } + // Remember vertex distance + vertexDistance = gl_Position.z; } diff --git a/lib/ivis_common/piestate.h b/lib/ivis_common/piestate.h index 551f9cdee..85fed5e62 100644 --- a/lib/ivis_common/piestate.h +++ b/lib/ivis_common/piestate.h @@ -96,7 +96,7 @@ extern void pie_SetTranslucencyMode(TRANSLUCENCY_MODE transMode); bool pie_LoadShaders(void); // Actual shaders (we do not want to export these calls) void pie_DeactivateShader(void); -void pie_ActivateShader_TCMask(PIELIGHT teamcolour, int maskpage); +void pie_ActivateShader(SHADER_MODE shaderMode, PIELIGHT teamcolour, int maskpage); void pie_SetShaderStretchDepth(float stretch); /* Actually in piedraw.c */ diff --git a/lib/ivis_common/pietypes.h b/lib/ivis_common/pietypes.h index 806908f67..d8f637aad 100644 --- a/lib/ivis_common/pietypes.h +++ b/lib/ivis_common/pietypes.h @@ -106,6 +106,7 @@ typedef enum SHADER_MODE { SHADER_NONE, SHADER_COMPONENT, + SHADER_BUTTON, SHADER_MAX } SHADER_MODE; diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index 6fe27803c..065c0a752 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -166,6 +166,8 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI if (pieFlag & pie_BUTTON) { pie_SetDepthBufferStatus(DEPTH_CMP_LEQ_WRT_ON); + light = false; + pie_ActivateShader(SHADER_BUTTON, teamcolour, shape->tcmaskpage); } pie_SetRendMode(REND_OPAQUE); } @@ -177,7 +179,7 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI glMaterialfv(GL_FRONT, GL_SPECULAR, shape->material[LIGHT_SPECULAR]); glMaterialf(GL_FRONT, GL_SHININESS, shape->shininess); glMaterialfv(GL_FRONT, GL_EMISSION, shape->material[LIGHT_EMISSIVE]); - pie_ActivateShader_TCMask(teamcolour, shape->tcmaskpage); + pie_ActivateShader(SHADER_COMPONENT, teamcolour, shape->tcmaskpage); } if (pieFlag & pie_HEIGHT_SCALED) // construct @@ -228,7 +230,7 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI glEnd(); } - if (light) + if (light || (pieFlag & pie_BUTTON)) { pie_DeactivateShader(); } diff --git a/lib/ivis_opengl/piestate.cpp b/lib/ivis_opengl/piestate.cpp index fe7e8dfe9..0a3fcaf48 100644 --- a/lib/ivis_opengl/piestate.cpp +++ b/lib/ivis_opengl/piestate.cpp @@ -214,25 +214,43 @@ static bool loadShaders(GLuint *program, const char *definitions, bool pie_LoadShaders() { GLuint program; + bool result; // Try to load some shaders shaderProgram[SHADER_NONE] = 0; - // TCMask shader + // TCMask shader for map-placed models with advanced lighting debug(LOG_3D, "Loading shader: SHADER_COMPONENT"); - if (!loadShaders(&program, "", "shaders/tcmask.vert", "shaders/tcmask.frag")) - { - assert(false); - return false; - } + result = loadShaders(&program, "", "shaders/tcmask.vert", "shaders/tcmask.frag"); + ASSERT_OR_RETURN(false, result, "Failed to load component shader"); shaderProgram[SHADER_COMPONENT] = program; + + // TCMask shader for buttons with flat lighting + debug(LOG_3D, "Loading shader: SHADER_BUTTON"); + result = loadShaders(&program, "", "shaders/button.vert", "shaders/button.frag"); + ASSERT_OR_RETURN(false, result, "Failed to load button shader"); + shaderProgram[SHADER_BUTTON] = program; + currentShaderMode = SHADER_NONE; return true; } -static inline GLuint pie_SetShader(SHADER_MODE shaderMode) +void pie_DeactivateShader(void) { + currentShaderMode = SHADER_NONE; + glUseProgram(0); +} + +void pie_SetShaderStretchDepth(float stretch) +{ + shaderStretch = stretch; +} + +void pie_ActivateShader(SHADER_MODE shaderMode, PIELIGHT teamcolour, int maskpage) +{ + GLfloat colour4f[4]; + if (shaderMode != currentShaderMode) { GLint locTex0, locTex1; @@ -251,25 +269,6 @@ static inline GLuint pie_SetShader(SHADER_MODE shaderMode) currentShaderMode = shaderMode; } - return shaderProgram[shaderMode]; -} - -void pie_DeactivateShader(void) -{ - currentShaderMode = SHADER_NONE; - glUseProgram(0); -} - -void pie_SetShaderStretchDepth(float stretch) -{ - shaderStretch = stretch; -} - -void pie_ActivateShader_TCMask(PIELIGHT teamcolour, int maskpage) -{ - GLfloat colour4f[4]; - - pie_SetShader(SHADER_COMPONENT); pal_PIELIGHTtoRGBA4f(&colour4f[0], teamcolour); glUniform4fv(locTeam, 1, &colour4f[0]); diff --git a/lib/ivis_opengl/screen.cpp b/lib/ivis_opengl/screen.cpp index 7dc285872..b453574db 100644 --- a/lib/ivis_opengl/screen.cpp +++ b/lib/ivis_opengl/screen.cpp @@ -256,8 +256,7 @@ bool screenInitialise( glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &glMaxTIUs); debug(LOG_3D, " * Total number of Texture Image Units (TIUs) supported is %d.", (int) glMaxTIUs); - if (!pie_LoadShaders()) - debug(LOG_INFO, "Can't use shaders, switching back to fixed pipeline.");; + pie_LoadShaders(); } else { From 06ab993d26b2d353fdb23b4bf021529ee15afe1a Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 29 Dec 2010 00:07:53 +0100 Subject: [PATCH 040/142] Remove some dead code --- src/frontend.cpp | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/frontend.cpp b/src/frontend.cpp index 1341758a5..f65393ce4 100644 --- a/src/frontend.cpp +++ b/src/frontend.cpp @@ -88,7 +88,6 @@ BOOL CancelPressed(void) // Title Screen static BOOL startTitleMenu(void) { -// widgDelete(psWScreen,1); // close reticule if it's open. MAGIC NUMBERS? intRemoveReticule(); addBackdrop(); @@ -458,7 +457,6 @@ BOOL runOptionsMenu(void) case FRONTEND_KEYMAP: changeTitleMode(KEYMAP); break; - case FRONTEND_QUIT: changeTitleMode(TITLE); break; @@ -1714,36 +1712,24 @@ void changeTitleMode(tMode mode) switch(mode) { -/* case DEMOMODE:// demo case. remove for release - startDemoMenu(); - break; - case VIDEO: - startVideoOptionsMenu(); - break; -*/ case SINGLE: startSinglePlayerMenu(); break; case GAME: startGameOptionsMenu(); break; - case GRAPHICS_OPTIONS: startGraphicsOptionsMenu(); break; - case AUDIO_OPTIONS: startAudioOptionsMenu(); break; - case VIDEO_OPTIONS: startVideoOptionsMenu(); break; - case MOUSE_OPTIONS: startMouseOptionsMenu(); break; - case TUTORIAL: startTutorialMenu(); break; @@ -1753,14 +1739,9 @@ void changeTitleMode(tMode mode) case TITLE: startTitleMenu(); break; - -// case GRAPHICS: -// startGraphicsOptionsMenu(); -// break; case CREDITS: startCreditsScreen(); break; - case MULTI: startMultiPlayerMenu(); // goto multiplayer menu break; @@ -1786,14 +1767,12 @@ void changeTitleMode(tMode mode) case KEYMAP: startKeyMapEditor(true); break; - case STARTGAME: case QUIT: case LOADSAVEGAME: bLimiterLoaded = false; case SHOWINTRO: break; - default: debug( LOG_FATAL, "Unknown title mode requested" ); abort(); @@ -1805,4 +1784,3 @@ void changeTitleMode(tMode mode) return; } - From 4eed3bef79a346143db06a4c374e519c64a08956 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 29 Dec 2010 00:24:45 +0100 Subject: [PATCH 041/142] Remove the now obsolete distinction between configurable FPS rates for MP and campaign. Up the maximum FPS to 500 from 200. To change the max fps rate now change only the "framerate" line. Patch reviewed by Cyp. --- lib/framework/SDL_framerate.h | 2 +- src/configuration.cpp | 65 ++++++----------------------------- src/configuration.h | 2 -- src/frontend.cpp | 3 -- src/main.cpp | 2 -- 5 files changed, 11 insertions(+), 63 deletions(-) diff --git a/lib/framework/SDL_framerate.h b/lib/framework/SDL_framerate.h index 1a4468d29..48b31be5e 100644 --- a/lib/framework/SDL_framerate.h +++ b/lib/framework/SDL_framerate.h @@ -16,7 +16,7 @@ /* Some rates in Hz */ -#define FPS_UPPER_LIMIT 200 +#define FPS_UPPER_LIMIT 500 #define FPS_LOWER_LIMIT 1 #define FPS_DEFAULT 30 diff --git a/src/configuration.cpp b/src/configuration.cpp index 2747d6e57..935aff6bb 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -52,44 +52,17 @@ #define MASTERSERVERPORT 9990 #define GAMESERVERPORT 2100 -/* Frame limit for multiplayer games (excluding skirmish and campaign) */ -#define MP_FRAME_LIMIT 45 - -/* Default frame limit for single player: skirmish ans campaign */ -#define SP_FRAME_LIMIT 60 - -// current frame limit for single player modes -static SDWORD spFrameLimit = SP_FRAME_LIMIT; - -static void setSinglePlayerFrameLimit(SDWORD limit) -{ - spFrameLimit = limit; -} - -static SDWORD getSinglePlayerFrameLimit(void) -{ - return spFrameLimit; -} - -void setDefaultFrameRateLimit(void) -{ - if(bMultiPlayer && NetPlay.bComms) - { - setFramerateLimit(MP_FRAME_LIMIT); // true multiplayer - } - else - { - setFramerateLimit(getSinglePlayerFrameLimit()); // single player - } -} - // //////////////////////////////////////////////////////////////////////////// BOOL loadConfig(void) { int val; char sBuf[255]; + bool bad_resolution = false; - openWarzoneKey(); + if (!openWarzoneKey()) + { + return false; + } // options screens. // ////////////////////////// @@ -134,17 +107,6 @@ BOOL loadConfig(void) war_SetMusicEnabled(val); } - if (getWarzoneKeyNumeric("SinglePlayerFPS", &val)) - { - setSinglePlayerFrameLimit(val); - setFramerateLimit(getSinglePlayerFrameLimit()); - } - else - { - setFramerateLimit(getSinglePlayerFrameLimit()); - setWarzoneKeyNumeric("SinglePlayerFPS", getSinglePlayerFrameLimit()); - } - if (getWarzoneKeyString("language", sBuf)) { setLanguage(sBuf); @@ -566,18 +528,6 @@ BOOL loadConfig(void) NetPlay.isUPNP = 1; } - return closeWarzoneKey(); -} - -BOOL loadRenderMode(void) -{ - SDWORD val; - bool bad_resolution = false; - - if( !openWarzoneKey() ) { - return false; - } - if (getWarzoneKeyNumeric("FSAA", &val)) { war_setFSAA(val); @@ -666,6 +616,11 @@ BOOL loadRenderMode(void) pie_SetVideoBufferDepth(val); } + if (getWarzoneKeyNumeric("framerate", &val)) + { + setFramerateLimit(val); + } + return closeWarzoneKey(); } diff --git a/src/configuration.h b/src/configuration.h index b7618c6b6..02c16d54c 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -25,11 +25,9 @@ #define __INCLUDED_SRC_CONFIGURATION_H__ BOOL loadConfig(void); -BOOL loadRenderMode(void); BOOL saveConfig(void); BOOL reloadMPConfig(void); void closeConfig( void ); -void setDefaultFrameRateLimit(void); /// Default map for Skirmish static const char DEFAULTSKIRMISHMAP[] = "Sk-Rush"; diff --git a/src/frontend.cpp b/src/frontend.cpp index f65393ce4..aff4a9889 100644 --- a/src/frontend.cpp +++ b/src/frontend.cpp @@ -1779,8 +1779,5 @@ void changeTitleMode(tMode mode) break; } - /* Set default frame rate limit */ - setDefaultFrameRateLimit(); - return; } diff --git a/src/main.cpp b/src/main.cpp index cdb37854a..058ec6a05 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1232,8 +1232,6 @@ int main(int argc, char *argv[]) loadConfig(); - loadRenderMode(); //get the registry entry for clRendMode - NETinit(true); // parse the command line From 086a0fd4bc3ab718f65df6c07e4da36920ced8a5 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 29 Dec 2010 10:57:38 +0100 Subject: [PATCH 042/142] Add new PIE flag 0x00001000 that specifies that the PIE model should not be stretched to fit to terrain. --- lib/ivis_common/imd.h | 5 +++-- src/display3d.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/ivis_common/imd.h b/lib/ivis_common/imd.h index 35f718a3e..4944e707e 100644 --- a/lib/ivis_common/imd.h +++ b/lib/ivis_common/imd.h @@ -37,12 +37,13 @@ //************************************************************************* // PIE model flags -#define iV_IMD_TCMASK 0x00010000 +#define iV_IMD_NOSTRETCH 0x00001000 +#define iV_IMD_TCMASK 0x00010000 // polygon flags b0..b7: col, b24..b31: anim index -#define iV_IMD_TEX 0x00000200 +#define iV_IMD_TEX 0x00000200 // this is both a polygon and pie flag #define iV_IMD_TEXANIM 0x00004000 // iV_IMD_TEX must be set also //************************************************************************* diff --git a/src/display3d.cpp b/src/display3d.cpp index 6ab506c8d..7c67b2e09 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -2232,7 +2232,7 @@ void renderStructure(STRUCTURE *psStructure) pieFlag = pie_STATIC_SHADOW; pieFlagData = 0; } - if (defensive && !structureIsBlueprint(psStructure)) + if (defensive && !structureIsBlueprint(psStructure) && !(strImd->flags & iV_IMD_NOSTRETCH)) { pie_SetShaderStretchDepth(psStructure->pos.z - psStructure->foundationDepth); } From b72332ba42b7791d30a7930eb473c3a4c9230642 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 29 Dec 2010 12:44:18 +0100 Subject: [PATCH 043/142] Simplify shadow rendering for objects by removing unused/useless hacks for droid transport. --- src/display3d.cpp | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/src/display3d.cpp b/src/display3d.cpp index 7c67b2e09..969f4798c 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -2690,9 +2690,8 @@ static BOOL renderWallSection(STRUCTURE *psStructure) /// Draws a shadow under a droid void renderShadow( DROID *psDroid, iIMDShape *psShadowIMD ) { - Vector3i dv; - Vector3f *pVecTemp; - SDWORD shadowScale, rx, rz; + Vector3i dv; + SDWORD rx, rz; dv.x = (psDroid->pos.x - player.p.x) - terrainMidX*TILE_UNITS; if(psDroid->droidType == DROID_TRANSPORTER) @@ -2714,27 +2713,11 @@ void renderShadow( DROID *psDroid, iIMDShape *psShadowIMD ) /* Translate */ pie_TRANSLATE(rx,0,-rz); - if(psDroid->droidType == DROID_TRANSPORTER) - { - pie_MatRotY(-psDroid->rot.direction); - } - - pVecTemp = psShadowIMD->points; - if(psDroid->droidType == DROID_TRANSPORTER) - { - flattenImd( psShadowIMD, psDroid->pos.x, psDroid->pos.y, 0); - shadowScale = 100-(psDroid->pos.z/100); - if(shadowScale < 50) shadowScale = 50; - } - else - { - pie_MatRotY(-psDroid->rot.direction); - pie_MatRotX(psDroid->rot.pitch); - pie_MatRotZ(psDroid->rot.roll); - } + pie_MatRotY(-psDroid->rot.direction); + pie_MatRotX(psDroid->rot.pitch); + pie_MatRotZ(psDroid->rot.roll); pie_Draw3DShape(psShadowIMD, 0, 0, WZCOL_WHITE, WZCOL_BLACK, pie_TRANSLUCENT, 128); - psShadowIMD->points = pVecTemp; pie_MatEnd(); } From 7d1e719e13d8fe9175218c34b07b9fda13b8de8e Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 29 Dec 2010 12:46:10 +0100 Subject: [PATCH 044/142] Remove hard-coded limit for number of polygons in models. This limit is now only relevant for delivery point, oil resource and wall models. --- lib/ivis_common/imdload.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/ivis_common/imdload.cpp b/lib/ivis_common/imdload.cpp index 5513af428..a287c731c 100644 --- a/lib/ivis_common/imdload.cpp +++ b/lib/ivis_common/imdload.cpp @@ -587,11 +587,9 @@ static iIMDShape *_imd_load_level(const char **ppFileData, const char *FileDataE // load points ASSERT_OR_RETURN(NULL, strcmp(buffer, "POINTS") == 0, "Expecting 'POINTS' directive, got: %s", buffer); - ASSERT_OR_RETURN(NULL, s->npoints < iV_IMD_MAX_POINTS, "Too many points in IMD, max %d", iV_IMD_MAX_POINTS); _imd_load_points( &pFileData, s ); - if (sscanf(pFileData, "%s %d%n", buffer, &s->npolys, &cnt) != 2) { debug(LOG_ERROR, "_imd_load_level(3): file corrupt"); From fca489ce4279c0679210ff2a9ba978587da76c2d Mon Sep 17 00:00:00 2001 From: Freddie Witherden Date: Wed, 29 Dec 2010 21:17:12 +0000 Subject: [PATCH 045/142] Iniparser rewrite as per ticket #2012. This code completely replaces the old iniparser with a new, cleaner API. All existing uses of the old code have been ported. The Xcode and MSVC projects will require updating. --- lib/framework/physfs_ext.h | 50 ++ lib/iniparser/LICENSE | 21 - lib/iniparser/Makefile.am | 4 +- lib/iniparser/README | 12 - lib/iniparser/dictionary.cpp | 277 ------- lib/iniparser/dictionary.h | 177 ----- lib/iniparser/iniparser.cpp | 1333 ++++++++++++++++++---------------- lib/iniparser/iniparser.h | 367 ++++------ src/challenge.cpp | 29 +- src/multiint.cpp | 26 +- src/scriptfuncs.cpp | 30 +- 11 files changed, 935 insertions(+), 1391 deletions(-) delete mode 100644 lib/iniparser/LICENSE delete mode 100644 lib/iniparser/README delete mode 100644 lib/iniparser/dictionary.cpp delete mode 100644 lib/iniparser/dictionary.h diff --git a/lib/framework/physfs_ext.h b/lib/framework/physfs_ext.h index 1e1a95cd3..8d2437705 100644 --- a/lib/framework/physfs_ext.h +++ b/lib/framework/physfs_ext.h @@ -87,4 +87,54 @@ static inline bool PHYSFS_readBEFloat(PHYSFS_file* file, float* val) bool PHYSFS_printf(PHYSFS_file *file, const char *format, ...) WZ_DECL_FORMAT(printf, 2, 3); +/** + * @brief fgets() implemented using PHYSFS. + * @param s Pointer to an array where the read chars will be stored. + * @param size Maximum number of chars to read (includes terminating null character). + * @param stream PHYSFS file handle. + * @return s on success, NULL on error or if no characters were read. + * @note PHYSFS_getLastError() or PHYSFS_eof() can help find the source + * of the error. + * @note If a EOF is encountered before any chars are read, the chars + * pointed by s are not changed. + * + * This function reads in at most size - 1 characters from stream + * and stores them into the buffer pointed to by s. + * Reading stops after an EOF or a newline and a null char is automatically appended. + * If a newline is read, it is stored into the buffer. + */ +static inline char *PHYSFS_fgets(char *s, int size, PHYSFS_file *stream) +{ + char c; + int i = 0; + PHYSFS_sint64 retval; + + if (size <= 0 || !stream || !s || PHYSFS_eof(stream)) + { + return NULL; + } + do + { + retval = PHYSFS_read(stream, &c, 1, 1); + + if (retval < 1) + { + break; + } + s[i++] = c; + } while (c != '\n' && i < size - 1); + s[i] = '\0'; + + // Success conditions + if (retval == 1 // Read maximum chars or newline + || (i != 0 && PHYSFS_eof(stream) != 0)) /* Read something and stopped at EOF + * (note: i!=0 *should* be redundant) */ + { + return s; + } + + // Complete failure + return NULL; +} + #endif // _physfs_ext_h diff --git a/lib/iniparser/LICENSE b/lib/iniparser/LICENSE deleted file mode 100644 index dbfa45dae..000000000 --- a/lib/iniparser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2000-2007 by Nicolas Devillard. -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - diff --git a/lib/iniparser/Makefile.am b/lib/iniparser/Makefile.am index a32273905..3ee6a6fca 100644 --- a/lib/iniparser/Makefile.am +++ b/lib/iniparser/Makefile.am @@ -2,6 +2,6 @@ AM_CFLAGS = $(WZ_CFLAGS) AM_CXXFLAGS = $(WZ_CXXFLAGS) AM_CPPFLAGS = $(SDL_CFLAGS) $(WZ_CPPFLAGS) noinst_LIBRARIES = libiniparser.a -noinst_HEADERS = dictionary.h iniparser.h -libiniparser_a_SOURCES = dictionary.cpp iniparser.cpp +noinst_HEADERS = iniparser.h +libiniparser_a_SOURCES = iniparser.cpp EXTRA_DIST = LICENSE AUTHORS diff --git a/lib/iniparser/README b/lib/iniparser/README deleted file mode 100644 index acb73ce54..000000000 --- a/lib/iniparser/README +++ /dev/null @@ -1,12 +0,0 @@ - -Welcome to iniParser -- version 3.0b (beta) -released 03 Jan 2008 - -This modules offers parsing of ini files from the C level. -See a complete documentation in HTML format, from this directory -open the file html/index.html with any HTML-capable browser. - -Enjoy! - -N.Devillard -Thu Jan 3 19:36:31 CET 2008 diff --git a/lib/iniparser/dictionary.cpp b/lib/iniparser/dictionary.cpp deleted file mode 100644 index 6c971633e..000000000 --- a/lib/iniparser/dictionary.cpp +++ /dev/null @@ -1,277 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/** - @file dictionary.c - @author N. Devillard - @date Sep 2007 - @version $Revision: 1.27 $ - @brief Implements a dictionary for string variables. - - This module implements a simple dictionary object, i.e. a list - of string/string associations. This object is useful to store e.g. - informations retrieved from a configuration file (ini files). -*/ -/*--------------------------------------------------------------------------*/ - -/* - $Id: dictionary.c,v 1.27 2007-11-23 21:39:18 ndevilla Exp $ - $Revision: 1.27 $ -*/ -/*--------------------------------------------------------------------------- - Includes - ---------------------------------------------------------------------------*/ -#include "lib/framework/wzglobal.h" -#include "lib/framework/frame.h" -#include "dictionary.h" - -#include -#include -#if defined(WZ_OS_UNIX) -#include -#endif - -/** Maximum value size for integers and doubles. */ -#define MAXVALSZ 1024 - -/** Minimal allocated number of entries in a dictionary */ -#define DICTMINSZ 128 - -/** Invalid key token */ -#define DICT_INVALID_KEY ((char*)-1) - -/*--------------------------------------------------------------------------- - Private functions - ---------------------------------------------------------------------------*/ - -/** - * Doubles the allocated size associated to a pointer. - * @param size The current allocated size. - */ -static void * mem_double(void * ptr, int size) -{ - void * newptr ; - - newptr = calloc(2 * size, 1); - if (newptr == NULL) - { - return NULL; - } - memcpy(newptr, ptr, size); - free(ptr); - return newptr; -} - -/*--------------------------------------------------------------------------- - Function codes - ---------------------------------------------------------------------------*/ -unsigned dictionary_hash(const char *key) -{ - int len; - unsigned hash; - int i; - - len = strlen(key); - for (hash = 0, i = 0 ; i < len ; i++) - { - hash += (unsigned)key[i]; - hash += (hash << 10); - hash ^= (hash >> 6); - } - hash += (hash << 3); - hash ^= (hash >> 11); - hash += (hash << 15); - return hash; -} - -dictionary *dictionary_new(int size) -{ - dictionary *d; - - /* If no size was specified, allocate space for DICTMINSZ */ - if (size < DICTMINSZ) size = DICTMINSZ ; - - if (!(d = (dictionary *)calloc(1, sizeof(dictionary)))) - { - return NULL; - } - d->size = size ; - d->val = (char **)calloc(size, sizeof(char*)); - d->key = (char **)calloc(size, sizeof(char*)); - d->hash = (unsigned int *)calloc(size, sizeof(unsigned)); - return d; -} - -void dictionary_del(dictionary * d) -{ - int i; - - if (d == NULL) return; - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] != NULL) - free(d->key[i]); - if (d->val[i] != NULL) - free(d->val[i]); - } - free(d->val); - free(d->key); - free(d->hash); - free(d); -} - -const char *dictionary_get(dictionary *d, const char *key, const char *def) -{ - unsigned hash; - int i; - - hash = dictionary_hash(key); - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue; - /* Compare hash */ - if (hash == d->hash[i]) - { - /* Compare string, to avoid hash collisions */ - if (!strcmp(key, d->key[i])) - { - return d->val[i]; - } - } - } - return def; -} - -int dictionary_set(dictionary *d, const char *key, const char *val) -{ - int i; - unsigned hash; - - if (d == NULL || key == NULL) return -1; - - /* Compute hash for this key */ - hash = dictionary_hash(key) ; - /* Find if value is already in dictionary */ - if (d->n > 0) - { - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue; - if (hash == d->hash[i]) /* Same hash value */ - { - if (!strcmp(key, d->key[i])) /* Same key */ - { - /* Found a value: modify and return */ - if (d->val[i] != NULL) - free(d->val[i]); - d->val[i] = val ? strdup(val) : NULL ; - /* Value has been modified: return */ - return 0; - } - } - } - } - /* Add a new value */ - /* See if dictionary needs to grow */ - if (d->n == d->size) - { - - /* Reached maximum size: reallocate dictionary */ - d->val = (char **)mem_double(d->val, d->size * sizeof(char*)); - d->key = (char **)mem_double(d->key, d->size * sizeof(char*)); - d->hash = (unsigned int *)mem_double(d->hash, d->size * sizeof(unsigned)); - if ((d->val == NULL) || (d->key == NULL) || (d->hash == NULL)) - { - /* Cannot grow dictionary */ - return -1; - } - /* Double size */ - d->size *= 2; - } - - /* Insert key in the first empty slot */ - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - { - /* Add key here */ - break; - } - } - /* Copy key */ - d->key[i] = strdup(key); - d->val[i] = val ? strdup(val) : NULL; - d->hash[i] = hash; - d->n++; - return 0; -} - -int dictionary_set_int(dictionary *d, const char *key, int val) -{ - char *strval; - sasprintf(&strval, "%d", val); - - return dictionary_set(d, key, strval); -} - -void dictionary_unset(dictionary *d, char *key) -{ - unsigned hash; - int i; - - if (key == NULL) - { - return; - } - - hash = dictionary_hash(key); - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue ; - /* Compare hash */ - if (hash == d->hash[i]) - { - /* Compare string, to avoid hash collisions */ - if (!strcmp(key, d->key[i])) - { - /* Found key */ - break; - } - } - } - if (i >= d->size) - /* Key not found */ - return ; - - free(d->key[i]); - d->key[i] = NULL; - if (d->val[i] != NULL) - { - free(d->val[i]); - d->val[i] = NULL; - } - d->hash[i] = 0; - d->n--; -} - -void dictionary_dump(dictionary * d, FILE * out) -{ - int i; - - if (d == NULL || out == NULL) return; - if (d->n < 1) - { - fprintf(out, "empty dictionary\n"); - return; - } - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i]) - { - fprintf(out, "%20s\t[%s]\n", - d->key[i], - d->val[i] ? d->val[i] : "UNDEF"); - } - } -} diff --git a/lib/iniparser/dictionary.h b/lib/iniparser/dictionary.h deleted file mode 100644 index 899e54dbd..000000000 --- a/lib/iniparser/dictionary.h +++ /dev/null @@ -1,177 +0,0 @@ -/*-------------------------------------------------------------------------*/ -/** - @file dictionary.h - @author N. Devillard - @date Sep 2007 - @version $Revision: 1.12 $ - @brief Implements a dictionary for string variables. - - This module implements a simple dictionary object, i.e. a list - of string/string associations. This object is useful to store e.g. - informations retrieved from a configuration file (ini files). -*/ -/*--------------------------------------------------------------------------*/ - -/* - $Id: dictionary.h,v 1.12 2007-11-23 21:37:00 ndevilla Exp $ - $Author: ndevilla $ - $Date: 2007-11-23 21:37:00 $ - $Revision: 1.12 $ -*/ - -#ifndef _DICTIONARY_H_ -#define _DICTIONARY_H_ - -/*--------------------------------------------------------------------------- - Includes - ---------------------------------------------------------------------------*/ -#include - -/*--------------------------------------------------------------------------- - New types - ---------------------------------------------------------------------------*/ - - -/*-------------------------------------------------------------------------*/ -/** - @brief Dictionary object - - This object contains a list of string/string associations. Each - association is identified by a unique string key. Looking up values - in the dictionary is speeded up by the use of a (hopefully collision-free) - hash function. - */ -/*-------------------------------------------------------------------------*/ -typedef struct _dictionary_ { - int n; /** Number of entries in dictionary */ - int size; /** Storage size */ - char **val; /** List of string values */ - char **key; /** List of string keys */ - unsigned int *hash; /** List of hash values for keys */ -} dictionary ; - - -/*--------------------------------------------------------------------------- - Function prototypes - ---------------------------------------------------------------------------*/ - -/*-------------------------------------------------------------------------*/ -/** - @brief Compute the hash key for a string. - @param key Character string to use for key. - @return 1 unsigned int on at least 32 bits. - - This hash function has been taken from an Article in Dr Dobbs Journal. - This is normally a collision-free function, distributing keys evenly. - The key is stored anyway in the struct so that collision can be avoided - by comparing the key itself in last resort. - */ -/*--------------------------------------------------------------------------*/ -unsigned dictionary_hash(const char * key); - -/*-------------------------------------------------------------------------*/ -/** - @brief Create a new dictionary object. - @param size Optional initial size of the dictionary. - @return 1 newly allocated dictionary objet. - - This function allocates a new dictionary object of given size and returns - it. If you do not know in advance (roughly) the number of entries in the - dictionary, give size=0. - */ -/*--------------------------------------------------------------------------*/ -dictionary * dictionary_new(int size); - -/*-------------------------------------------------------------------------*/ -/** - @brief Delete a dictionary object - @param d dictionary object to deallocate. - @return void - - Deallocate a dictionary object and all memory associated to it. - */ -/*--------------------------------------------------------------------------*/ -void dictionary_del(dictionary * vd); - -/*-------------------------------------------------------------------------*/ -/** - @brief Get a value from a dictionary. - @param d dictionary object to search. - @param key Key to look for in the dictionary. - @param def Default value to return if key not found. - @return 1 pointer to internally allocated character string. - - This function locates a key in a dictionary and returns a pointer to its - value, or the passed 'def' pointer if no such key can be found in - dictionary. The returned character pointer points to data internal to the - dictionary object, you should not try to free it or modify it. - */ -/*--------------------------------------------------------------------------*/ -const char * dictionary_get(dictionary * d, const char * key, const char * def); - - -/*-------------------------------------------------------------------------*/ -/** - @brief Set a value in a dictionary. - @param d dictionary object to modify. - @param key Key to modify or add. - @param val Value to add. - @return int 0 if Ok, anything else otherwise - - If the given key is found in the dictionary, the associated value is - replaced by the provided one. If the key cannot be found in the - dictionary, it is added to it. - - It is Ok to provide a NULL value for val, but NULL values for the dictionary - or the key are considered as errors: the function will return immediately - in such a case. - - Notice that if you dictionary_set a variable to NULL, a call to - dictionary_get will return a NULL value: the variable will be found, and - its value (NULL) is returned. In other words, setting the variable - content to NULL is equivalent to deleting the variable from the - dictionary. It is not possible (in this implementation) to have a key in - the dictionary without value. - - This function returns non-zero in case of failure. - */ -/*--------------------------------------------------------------------------*/ -int dictionary_set(dictionary * vd, const char * key, const char * val); - - -/** - * An overloaded member function provided for convenience. Converts the integer - * val to a char* and calls dictionary_set. - */ -int dictionary_set_int(dictionary *d, const char *key, int val); - - -/*-------------------------------------------------------------------------*/ -/** - @brief Delete a key in a dictionary - @param d dictionary object to modify. - @param key Key to remove. - @return void - - This function deletes a key in a dictionary. Nothing is done if the - key cannot be found. - */ -/*--------------------------------------------------------------------------*/ -void dictionary_unset(dictionary * d, char * key); - - -/*-------------------------------------------------------------------------*/ -/** - @brief Dump a dictionary to an opened file pointer. - @param d Dictionary to dump - @param f Opened file pointer. - @return void - - Dumps a dictionary onto an opened file pointer. Key pairs are printed out - as @c [Key]=[Value], one per line. It is Ok to provide stdout or stderr as - output file pointers. - */ -/*--------------------------------------------------------------------------*/ -void dictionary_dump(dictionary * d, FILE * out); - -#endif diff --git a/lib/iniparser/iniparser.cpp b/lib/iniparser/iniparser.cpp index 7b578c352..b702eece2 100644 --- a/lib/iniparser/iniparser.cpp +++ b/lib/iniparser/iniparser.cpp @@ -1,37 +1,67 @@ -/*-------------------------------------------------------------------------*/ -/** - @file iniparser.c - @author N. Devillard - @date Sep 2007 - @version 3.0 - @brief Parser for ini files. -*/ -/*--------------------------------------------------------------------------*/ /* - $Id: iniparser.c,v 2.18 2008-01-03 18:35:39 ndevilla Exp $ - $Revision: 2.18 $ - $Date: 2008-01-03 18:35:39 $ + This file is part of Warzone 2100. + Copyright (C) 2010 Freddie Witherden + Copyright (C) 2010 Warzone 2100 Project + + Warzone 2100 is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + Warzone 2100 is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Warzone 2100; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -/*---------------------------- Includes ------------------------------------*/ + #include -#include "lib/framework/wzglobal.h" -#include "lib/framework/types.h" +#include "lib/framework/frame.h" #include "lib/framework/physfs_ext.h" +#include "lib/framework/stdio_ext.h" #include "iniparser.h" -/*---------------------------- Defines -------------------------------------*/ -#define ASCIILINESZ (1024) -#define INI_INVALID_KEY ((char*)-1) +struct _inifile_entry +{ + /// Section pointer for entry + char *sec; + /// Key of the entry + char *key; + /// Value of the entry + char *value; +}; + +struct _inifile +{ + /// The number of unique sections + int nsec; + /// The names of the sections in the inifile + char **sec; + + // The current section number + char *currsec; + + /// The number of entries in the file + int n; + /// The amount of space allocated for the keys and values + int size; + + /// Entries + struct _inifile_entry *entry; + + /// Path of the inifile + char *path; +}; -/*--------------------------------------------------------------------------- - Private to this module - ---------------------------------------------------------------------------*/ /** * This enum stores the status for each parsed line (internal use only). */ -typedef enum _line_status_ +typedef enum { LINE_UNPROCESSED, LINE_ERROR, @@ -39,9 +69,632 @@ typedef enum _line_status_ LINE_COMMENT, LINE_SECTION, LINE_VALUE -} line_status ; +} LINE_STATUS; + + +#define ASCIILINESZ (1024) +#define INIFILE_MIN_SIZE 64 + +// Utility function prototypes +static LINE_STATUS parse_line(const char *input_line, + char *section, + char *key, + char *value); + +static char *strstrip(const char *s); +static char *strlwc(const char *s); + +inifile *inifile_new() +{ + inifile *inif = new inifile; + + inif->nsec = 0; + inif->sec = NULL; + + inif->currsec = NULL; + + inif->n = 0; + inif->size = INIFILE_MIN_SIZE; + inif->entry = static_cast( + malloc(inif->size * sizeof(*inif->entry))); + + ASSERT(inif->entry, "Failed to allocate inifile memory."); + + inif->path = NULL; + + return inif; +} + +inifile *inifile_load(const char *path) +{ + PHYSFS_File *in; + + char line[ASCIILINESZ + 1]; + char section[ASCIILINESZ + 1]; + char key[ASCIILINESZ + 1]; + char val[ASCIILINESZ + 1]; + + int last = 0; + int len; + int lineno = 0; + int errors = 0; + + inifile *inif; + + if ((in = PHYSFS_openRead(path)) == NULL) + { + return NULL; + } + + inif = inifile_new(); + inif->path = strdup(path); + + ASSERT(inif->path, "Failed to allocate inifile memory."); + + memset(line, 0, ASCIILINESZ + 1); + memset(section, 0, ASCIILINESZ + 1); + memset(key, 0, ASCIILINESZ + 1); + memset(val, 0, ASCIILINESZ + 1); + last = 0 ; + + // Loop over each line in the file + while (PHYSFS_fgets(line + last, ASCIILINESZ - last, in) != NULL) + { + lineno++; + len = strlen(line) - 1; + + // Ensure that we read the entire line + if (line[len] != '\n') + { + fprintf(stderr, + "iniparser: input line too long in %s (%d)\n", + path, + lineno); + + inifile_delete(inif); + inif = NULL; + + break; + } + // Get rid of \n and spaces at end of line + while (len >= 0 + && (line[len] == '\n' + || isspace(line[len]))) + { + line[len] = 0; + len--; + } + // Detect multi-line + if (line[len] == '\\') + { + last = len; + continue; + } + else + { + last = 0; + } + + switch (parse_line(line, section, key, val)) + { + case LINE_EMPTY: + case LINE_COMMENT: + break; + case LINE_SECTION: + inifile_set_current_section(inif, section); + break; + case LINE_VALUE: + inifile_set(inif, key, val); + break; + case LINE_ERROR: + fprintf(stderr, "inifile: syntax error in %s (%d):\n", + path, + lineno); + fprintf(stderr, "-> %s\n", line); + errors++; + break; + default: + break; + } + + if (errors) + { + inifile_delete(inif); + inif = NULL; + break; + } + + memset(line, 0, ASCIILINESZ + 1); + last = 0; + } + + PHYSFS_close(in); + + return inif; +} + +int inifile_get_section_count(inifile *inif) +{ + return inif->nsec; +} + +const char *inifile_get_section(inifile *inif, int n) +{ + return inif->sec[n]; +} + +const char *inifile_get_current_section(inifile *inif) +{ + return inif->currsec; +} + +void inifile_set_current_section(inifile *inif, const char *sec) +{ + int i; + void *newsec; + + // See if the section exists in the file already + for (i = 0; i < inif->nsec; i++) + { + // Found it + if (strcmp(strlwc(sec), inif->sec[i]) == 0) + { + inif->currsec = inif->sec[i]; + return; + } + } + + // Otherwise we need to add a new section entry + newsec = realloc(inif->sec, sizeof(char *) * ++inif->nsec); + + ASSERT(newsec, "Failed to allocate inifile memory."); + + inif->sec = static_cast(newsec); + inif->sec[inif->nsec - 1] = strdup(sec); + + // Make this new section entry current + inif->currsec = inif->sec[inif->nsec - 1]; + + ASSERT(inif->currsec, "Failed to allocate inifile memory."); +} + +BOOL inifile_key_exists(inifile *inif, const char *key) +{ + int i; + + for (i = 0; i < inif->n; i++) + { + if (strcmp(inif->entry[i].key, key) == 0) + { + return true; + } + } + + // Not found, return false + return false; +} + +const char *inifile_get(inifile *inif, const char *key, const char *dflt) +{ + int i; + + // Search for the entry + for (i = 0; i < inif->n; i++) + { + if (inif->entry[i].sec == inif->currsec + && strcmp(inif->entry[i].key, strlwc(key)) == 0) + { + return inif->entry[i].value; + } + } + + // Not found + return dflt; +} + +void inifile_set(inifile *inif, const char *key, const char *value) +{ + int i; + int index; + + // Ensure that key is valid + ASSERT(key, "Attempting to set a NULL key"); + + // If value is NULL then replace it with an empty string + value = (value == NULL) ? "" : value; + + // If there is no active section we need to create one + if (!inif->currsec) + { + inifile_set_current_section(inif, "main"); + } + // If there is an active section then key may already exist + else + { + for (i = 0; i < inif->size; i++) + { + if (inif->entry[i].sec == inif->currsec + && strcmp(inif->entry[i].key, key) == 0) + { + // Update the current value for the key + free(inif->entry[i].value); + inif->entry[i].value = strdup(value); + return; + } + } + } + + // See if necessary allocate some more space + if (inif->n == inif->size) + { + int newsize = inif->size * 2; + void *newentry = realloc(inif->entry, sizeof(*inif->entry) * newsize); + + ASSERT(newentry, "Failed to allocate inifile memory."); + + inif->size = newsize; + inif->entry = static_cast(newentry); + } + + // Insert + index = inif->n++; + + inif->entry[index].sec = inif->currsec; + inif->entry[index].key = strdup(key); + inif->entry[index].value = strdup(value); + + ASSERT(inif->entry[index].key && inif->entry[index].value, + "Failed to allocate inifile memory."); +} + +int inifile_get_as_int(inifile *inif, const char *key, int dflt) +{ + const char *strint = inifile_get(inif, key, NULL); + + if (strint == NULL) + { + return dflt; + } + else + { + return atoi(strint); + } +} + +void inifile_set_as_int(inifile *inif, const char *key, int value) +{ + char *strval; + sasprintf(&strval, "%d", value); + + inifile_set(inif, key, strval); +} + +int inifile_get_as_bool(inifile *inif, const char *key, int dflt) +{ + const char *strbool = inifile_get(inif, key, NULL); + + if (strbool == NULL) + { + return dflt; + } + else + { + switch (tolower(strbool[0])) + { + case 'y': + case '1': + case 't': + return 1; + case 'n': + case '0': + case 'f': + return 0; + default: + return dflt; + } + } +} + +void inifile_unset(inifile *inif, const char *sec, const char *key) +{ + int i; + int secoffset = -1; + + // First get the section offset + for (i = 0; i < inif->nsec; i++) + { + if (strcmp(inif->sec[i], sec) == 0) + { + secoffset = i; + } + } + + // If we didn't find the section then give up + if (secoffset == -1) + { + return; + } + + // Look for the key in that section + for (i = 0; i < inif->n; i++) + { + if (inif->entry[i].sec == inif->sec[secoffset] + && strcmp(inif->entry[i].key, key) == 0) + { + // Free the memory allocated by the entry + free(inif->entry[i].key); + free(inif->entry[i].value); + + // Shift all subsequent entries back a slot + memmove(&inif->entry[i], &inif->entry[i + 1], + (inif->n - i - 1) * sizeof(*inif->entry)); + + inif->n--; + + break; + } + } + + /* + * If the section is not currently active then we need to see if any other + * entries are in the section and, if not, to delete the section. + */ + if (inif->currsec != inif->sec[secoffset]) + { + void *newsec; + + // Look for other entries in the section + for (i = 0; i < inif->n; i++) + { + if (inif->entry[i].sec == inif->sec[secoffset]) + { + return; + } + } + + // Otherwise, if there are none, get rid of the section + free(inif->sec[secoffset]); + memmove(&inif->sec[secoffset], &inif->sec[secoffset + 1], + (inif->nsec - secoffset - 1) * sizeof(char *)); + + newsec = realloc(inif->sec, --inif->nsec * sizeof(char *)); + inif->sec = static_cast(newsec); + + ASSERT(newsec, "Failed to allocate inifile memory."); + } +} + +void inifile_save(inifile *inif) +{ + ASSERT(inif->path, "Attempt to save an inifile with no valid (internal) path"); + + inifile_save_as(inif, inif->path); +} + +void inifile_save_as(inifile *inif, const char *path) +{ + PHYSFS_file *f = PHYSFS_openWrite(path); + int i, j; + int nsec; + + nsec = inifile_get_section_count(inif); + + // Loop over each section of the inifile + for (i = 0; i < nsec; i++) + { + const char *currsec = inifile_get_section(inif, i); + + /* + * Only print the section title if there are multiple sections in the + * file; otherwise if we are the only section just dump the keys + * directly. + */ + if (nsec > 1) + { + // Print out the section title + PHYSFS_printf(f, "[%s]\n", currsec); + } + + // Then the key => value pairs + for (j = 0; j < inif->n; j++) + { + if (inif->entry[j].sec == currsec) + { + PHYSFS_printf(f, "%-30s = %s\n", inif->entry[j].key, + inif->entry[j].value); + } + } + + PHYSFS_printf(f, "\n"); + } + + PHYSFS_close(f); +} + +void inifile_delete(inifile *inif) +{ + int i; + + // Free the sections + for (i = 0; i < inif->nsec; i++) + { + free(inif->sec[i]); + } + + // Then the list of sections + free(inif->sec); + + // Free the entries + for (i = 0; i < inif->n; i++) + { + free(inif->entry[i].key); + free(inif->entry[i].value); + } + + // Then the list of entries + free(inif->entry); + + // Finally the original file path (if given) + free(inif->path); + + delete inif; +} + +void inifile_test() +{ + // Internal consistency check + inifile *inif = inifile_new(); + + inifile_set(inif, "string", "a string"); + inifile_set_as_int(inif, "int", 31415); + + ASSERT(inifile_get_section_count(inif) == 1, + "Section count unit test failed"); + ASSERT(strcmp(inifile_get_current_section(inif), "main") == 0, + "Default section unit test failed"); + + ASSERT(strcmp(inifile_get(inif, "string", ""), "a string") == 0, + "String retrieval failed"); + ASSERT(inifile_get_as_int(inif, "int", -1) == 31415, + "Int retrieval failed"); + + ASSERT(strcmp(inifile_get(inif, "invalid key", "dflt"), "dflt") == 0, + "Default value retrieval failed"); + + inifile_set_current_section(inif, "Casetest"); + inifile_set(inif, "Upperkey", "Any String"); + + inifile_set_current_section(inif, "newsec"); + inifile_set(inif, "third", "a third entry"); + + // Save the current inifile; we'll load it up again later + inifile_save_as(inif, "selftest.ini"); + + ASSERT(inifile_get_section_count(inif) == 3, + "Section addition test failed"); + + inifile_unset(inif, "main", "string"); + inifile_unset(inif, "main", "int"); + + ASSERT(inifile_get_section_count(inif) == 2, + "Automatic section removal test failed"); + ASSERT(inif->n == 2, + "Key deletion test failed"); + ASSERT(strcmp(inifile_get(inif, "third", ""), "a third entry") == 0, + "Key deletion test failed"); + + inifile_delete(inif); + + // Load up the file we saved earlier + inif = inifile_load("selftest.ini"); + + ASSERT(inifile_get_section_count(inif) == 3, + "Save/Load test failed"); + + inifile_set_current_section(inif, "newsec"); + + ASSERT(strcmp(inifile_get(inif, "third", ""), "a third entry") == 0, + "Save/Load test failed"); + + inifile_set_current_section(inif, "main"); + inifile_unset(inif, "newsec", "third"); + + inifile_set_current_section(inif, "casetest"); + ASSERT(strcmp(inifile_get(inif, "Upperkey", "1"), inifile_get(inif, "upperkey", "2")) == 0, + "Case insensitivity test failed."); + inifile_unset(inif, "Casetest", "Upperkey"); + + // Save again, this time there should be no section titles + inifile_save(inif); + inifile_delete(inif); + + // Delete the saved file + PHYSFS_delete("selftest.ini"); + + fprintf(stdout, "\tinifile self-test: PASSED\n"); +} + +/** + @brief Load a single line from an INI file + @param input_line Input line, may be concatenated multi-line input + @param section Output space to store section + @param key Output space to store key + @param value Output space to store value + @return LINE_STATUS value + */ +LINE_STATUS parse_line(const char *input_line, + char *section, char *key, char *value) +{ + LINE_STATUS status = LINE_UNPROCESSED; + char line[ASCIILINESZ+1]; + int len; + + // Strip the line and copy it into line + strcpy(line, strstrip(input_line)); + len = strlen(line); + + // Empty line + if (len < 1) + { + status = LINE_EMPTY; + } + // Starts with a # and therefore a comment + else if (line[0] == '#') + { + status = LINE_COMMENT; + } + // Section identifier + else if (line[0] == '[' + && line[len-1] == ']') + { + sscanf(line, "[%[^]]", section); + strcpy(section, strstrip(section)); + strcpy(section, strlwc(section)); + status = LINE_SECTION; + } + // Of the form key=value # optional comment + else if (sscanf(line, "%[^=] = \"%[^\"]\"", key, value) == 2 + || sscanf(line, "%[^=] = '%[^\']'", key, value) == 2 + || sscanf(line, "%[^=] = %[^;#]", key, value) == 2) + { + strcpy(key, strstrip(key)); + strcpy(key, strlwc(key)); + strcpy(value, strstrip(value)); + /* + * sscanf cannot handle '' or "" as empty values + * this is done here + */ + if (!strcmp(value, "\"\"") || (!strcmp(value, "''"))) + { + value[0] = '\0'; + } + + status = LINE_VALUE; + } + // Annoying special cases + else if (sscanf(line, "%[^=] = %[;#]", key, value) == 2 + || sscanf(line, "%[^=] %[=]", key, value) == 2) + { + /* + * Special cases: + * key= + * key=; + * key=# + */ + strcpy(key, strstrip(key)); + strcpy(key, strlwc(key)); + value[0] = 0; + status = LINE_VALUE; + } + // Otherwise it is invalid + else + { + status = LINE_ERROR; + } + + return status; +} -/*-------------------------------------------------------------------------*/ /** @brief Convert a string to lowercase. @param s String to convert. @@ -52,8 +705,7 @@ typedef enum _line_status_ or modify the returned string! Since the returned string is statically allocated, it will be modified at each function call (not re-entrant). */ -/*--------------------------------------------------------------------------*/ -static char * strlwc(const char * s) +char *strlwc(const char *s) { static char l[ASCIILINESZ+1]; int i; @@ -70,7 +722,6 @@ static char * strlwc(const char * s) return l; } -/*-------------------------------------------------------------------------*/ /** @brief Remove blanks at the beginning and the end of a string. @param s String to parse. @@ -83,626 +734,32 @@ static char * strlwc(const char * s) is statically allocated, it will be modified at each function call (not re-entrant). */ -/*--------------------------------------------------------------------------*/ -static char * strstrip(char * s) +char *strstrip(const char *s) { static char l[ASCIILINESZ+1]; - char * last; + char *last; - if (s == NULL) return NULL; + if (s == NULL) + { + return NULL; + } + + while (isspace(*s) && *s) s++; - while (isspace((int)*s) && *s) s++; memset(l, 0, ASCIILINESZ + 1); - strcpy(l, s); + strncpy(l, s, sizeof(l)); last = l + strlen(l); while (last > l) { - if (!isspace((int)*(last - 1))) + if (!isspace(*(last - 1))) + { break; + } + last--; } - *last = (char)0; - return (char*)l; + + *last = '\0'; + + return l; } - -/*-------------------------------------------------------------------------*/ -/** - @brief Get number of sections in a dictionary - @param d Dictionary to examine - @return int Number of sections found in dictionary - - This function returns the number of sections found in a dictionary. - The test to recognize sections is done on the string stored in the - dictionary: a section name is given as "section" whereas a key is - stored as "section:key", thus the test looks for entries that do not - contain a colon. - - This clearly fails in the case a section name contains a colon, but - this should simply be avoided. - - This function returns -1 in case of error. - */ -/*--------------------------------------------------------------------------*/ -int iniparser_getnsec(dictionary * d) -{ - int i; - int nsec; - - if (d == NULL) return -1; - nsec = 0; - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue; - if (strchr(d->key[i], ':') == NULL) - { - nsec++; - } - } - return nsec; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Get name for section n in a dictionary. - @param d Dictionary to examine - @param n Section number (from 0 to nsec-1). - @return Pointer to char string - - This function locates the n-th section in a dictionary and returns - its name as a pointer to a string statically allocated inside the - dictionary. Do not free or modify the returned string! - - This function returns NULL in case of error. - */ -/*--------------------------------------------------------------------------*/ -char * iniparser_getsecname(dictionary * d, int n) -{ - int i; - int foundsec; - - if (d == NULL || n < 0) return NULL; - foundsec = 0; - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue; - if (strchr(d->key[i], ':') == NULL) - { - foundsec++; - if (foundsec > n) - break; - } - } - if (foundsec <= n) { - return NULL ; - } - return d->key[i] ; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Dump a dictionary to an opened file pointer. - @param d Dictionary to dump. - @param f Opened file pointer to dump to. - @return void - - This function prints out the contents of a dictionary, one element by - line, onto the provided file pointer. It is OK to specify @c stderr - or @c stdout as output files. This function is meant for debugging - purposes mostly. - */ -/*--------------------------------------------------------------------------*/ -void iniparser_dump(dictionary * d, FILE * f) -{ - int i; - - if (d == NULL || f == NULL) return; - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue; - if (d->val[i] != NULL) - { - fprintf(f, "[%s]=[%s]\n", d->key[i], d->val[i]); - } else { - fprintf(f, "[%s]=UNDEF\n", d->key[i]); - } - } -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Save a dictionary to a loadable ini file - @param d Dictionary to dump - @param f Opened file pointer to dump to - @return void - - This function dumps a given dictionary into a loadable ini file. - It is Ok to specify @c stderr or @c stdout as output files. - */ -/*--------------------------------------------------------------------------*/ -void iniparser_dump_ini(dictionary * d, const char *path) -{ - PHYSFS_file *f = PHYSFS_openWrite(path); - int i, j; - char keym[ASCIILINESZ+1]; - int nsec; - char * secname; - int seclen; - - if (d == NULL || f == NULL) return; - - nsec = iniparser_getnsec(d); - if (nsec < 1) - { - /* No section in file: dump all keys as they are */ - for (i = 0 ; i < d->size ; i++) - { - if (d->key[i] == NULL) - continue; - PHYSFS_printf(f, "%s = %s\n", d->key[i], d->val[i]); - } - PHYSFS_close(f); - return ; - } - for (i = 0 ; i < nsec ; i++) - { - secname = iniparser_getsecname(d, i); - seclen = (int)strlen(secname); - PHYSFS_printf(f, "\n[%s]\n", secname); - sprintf(keym, "%s:", secname); - for (j = 0 ; j < d->size ; j++) - { - if (d->key[j] == NULL) - continue; - if (!strncmp(d->key[j], keym, seclen + 1)) - { - PHYSFS_printf(f, - "%-30s = %s\n", - d->key[j] + seclen + 1, - d->val[j] ? d->val[j] : ""); - } - } - } - PHYSFS_printf(f, "\n"); - PHYSFS_close(f); -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Get the string associated to a key - @param d Dictionary to search - @param key Key string to look for - @param def Default value to return if key not found. - @return pointer to statically allocated character string - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the pointer passed as 'def' is returned. - The returned char pointer is pointing to a string allocated in - the dictionary, do not free or modify it. - */ -/*--------------------------------------------------------------------------*/ -const char * iniparser_getstring(dictionary * d, const char * key, const char * def) -{ - const char *lc_key; - const char *sval; - - if (d == NULL || key == NULL) - return def; - - lc_key = strlwc(key); - sval = dictionary_get(d, lc_key, def); - return sval; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Get the string associated to a key, convert to an int - @param d Dictionary to search - @param key Key string to look for - @param notfound Value to return in case of error - @return integer - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the notfound value is returned. - - Supported values for integers include the usual C notation - so decimal, octal (starting with 0) and hexadecimal (starting with 0x) - are supported. Examples: - - "42" -> 42 - "042" -> 34 (octal -> decimal) - "0x42" -> 66 (hexa -> decimal) - - Warning: the conversion may overflow in various ways. Conversion is - totally outsourced to strtol(), see the associated man page for overflow - handling. - - Credits: Thanks to A. Becker for suggesting strtol() - */ -/*--------------------------------------------------------------------------*/ -int iniparser_getint(dictionary * d, const char * key, int notfound) -{ - const char *str; - - str = iniparser_getstring(d, key, INI_INVALID_KEY); - if (str == INI_INVALID_KEY) return notfound; - return (int)strtol(str, NULL, 0); -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Get the string associated to a key, convert to a double - @param d Dictionary to search - @param key Key string to look for - @param notfound Value to return in case of error - @return double - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the notfound value is returned. - */ -/*--------------------------------------------------------------------------*/ -double iniparser_getdouble(dictionary * d, char * key, double notfound) -{ - const char *str; - - str = iniparser_getstring(d, key, INI_INVALID_KEY); - if (str == INI_INVALID_KEY) return notfound; - return atof(str); -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Get the string associated to a key, convert to a boolean - @param d Dictionary to search - @param key Key string to look for - @param notfound Value to return in case of error - @return integer - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the notfound value is returned. - - A true boolean is found if one of the following is matched: - - - A string starting with 'y' - - A string starting with 'Y' - - A string starting with 't' - - A string starting with 'T' - - A string starting with '1' - - A false boolean is found if one of the following is matched: - - - A string starting with 'n' - - A string starting with 'N' - - A string starting with 'f' - - A string starting with 'F' - - A string starting with '0' - - The notfound value returned if no boolean is identified, does not - necessarily have to be 0 or 1. - */ -/*--------------------------------------------------------------------------*/ -int iniparser_getboolean(dictionary * d, const char * key, int notfound) -{ - const char *c; - int ret; - - c = iniparser_getstring(d, key, INI_INVALID_KEY); - if (c == INI_INVALID_KEY) return notfound; - if (c[0] == 'y' || c[0] == 'Y' || c[0] == '1' || c[0] == 't' || c[0] == 'T') - { - ret = 1; - } else if (c[0] == 'n' || c[0] == 'N' || c[0] == '0' || c[0] == 'f' || c[0] == 'F') - { - ret = 0; - } else { - ret = notfound; - } - return ret; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Finds out if a given entry exists in a dictionary - @param ini Dictionary to search - @param entry Name of the entry to look for - @return integer 1 if entry exists, 0 otherwise - - Finds out if a given entry exists in the dictionary. Since sections - are stored as keys with NULL associated values, this is the only way - of querying for the presence of sections in a dictionary. - */ -/*--------------------------------------------------------------------------*/ -int iniparser_find_entry(dictionary *ini, char *entry) -{ - int found = 0; - - if (iniparser_getstring(ini, entry, INI_INVALID_KEY) != INI_INVALID_KEY) - { - found = 1; - } - return found; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Set an entry in a dictionary. - @param ini Dictionary to modify. - @param entry Entry to modify (entry name) - @param val New value to associate to the entry. - @return int 0 if Ok, -1 otherwise. - - If the given entry can be found in the dictionary, it is modified to - contain the provided value. If it cannot be found, -1 is returned. - It is Ok to set val to NULL. - */ -/*--------------------------------------------------------------------------*/ -int iniparser_setstring(dictionary * ini, const char * entry, const char * val) -{ - return dictionary_set(ini, strlwc(entry), val); -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Delete an entry in a dictionary - @param ini Dictionary to modify - @param entry Entry to delete (entry name) - @return void - - If the given entry can be found, it is deleted from the dictionary. - */ -/*--------------------------------------------------------------------------*/ -void iniparser_unset(dictionary * ini, char * entry) -{ - dictionary_unset(ini, strlwc(entry)); -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Load a single line from an INI file - @param input_line Input line, may be concatenated multi-line input - @param section Output space to store section - @param key Output space to store key - @param value Output space to store value - @return line_status value - */ -/*--------------------------------------------------------------------------*/ -static line_status iniparser_line( - char * input_line, - char * section, - char * key, - char * value) -{ - line_status sta; - char line[ASCIILINESZ+1]; - int len; - - strcpy(line, strstrip(input_line)); - len = (int)strlen(line); - - sta = LINE_UNPROCESSED; - if (len < 1) - { - /* Empty line */ - sta = LINE_EMPTY; - } else if (line[0] == '#') { - /* Comment line */ - sta = LINE_COMMENT; - } else if (line[0] == '[' && line[len-1] == ']') { - /* Section name */ - sscanf(line, "[%[^]]", section); - strcpy(section, strstrip(section)); - strcpy(section, strlwc(section)); - sta = LINE_SECTION; - } else if (sscanf(line, "%[^=] = \"%[^\"]\"", key, value) == 2 - || sscanf(line, "%[^=] = '%[^\']'", key, value) == 2 - || sscanf(line, "%[^=] = %[^;#]", key, value) == 2) - { - /* Usual key=value, with or without comments */ - strcpy(key, strstrip(key)); - strcpy(key, strlwc(key)); - strcpy(value, strstrip(value)); - /* - * sscanf cannot handle '' or "" as empty values - * this is done here - */ - if (!strcmp(value, "\"\"") || (!strcmp(value, "''"))) - { - value[0] = 0; - } - sta = LINE_VALUE; - } else if (sscanf(line, "%[^=] = %[;#]", key, value) == 2 - || sscanf(line, "%[^=] %[=]", key, value) == 2) - { - /* - * Special cases: - * key= - * key=; - * key=# - */ - strcpy(key, strstrip(key)); - strcpy(key, strlwc(key)); - value[0] = 0; - sta = LINE_VALUE; - } else { - /* Generate syntax error */ - sta = LINE_ERROR; - } - return sta; -} - -/** - * fgets() reads in at most one less than size characters from stream and stores them into the - * buffer pointed to by s. Reading stops after an EOF or a newline. If a newline is read, it is - * stored into the buffer. A '\0' is stored after the last character in the buffer. - * return s on success, and NULL on error or when end of file occurs while no characters have been read. - */ -static char *PHYSFS_fgets(char *s, int size, PHYSFS_file *stream) -{ - char c; - int i = 0; - - if (size <= 0 || !stream || !s || PHYSFS_eof(stream)) - { - return NULL; - } - do - { - PHYSFS_sint64 retval = PHYSFS_read(stream, &c, 1, 1); - - if (retval != 1) - { - fprintf(stderr, "Bad reading of INI file: %s\n", PHYSFS_getLastError()); - return NULL; - } - s[i++] = c; - } while (!PHYSFS_eof(stream) && c != '\n' && i < size - 1); - s[i] = '\0'; - return s; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Parse an ini file and return an allocated dictionary object - @param ininame Name of the ini file to read. - @return Pointer to newly allocated dictionary - - This is the parser for ini files. This function is called, providing - the name of the file to be read. It returns a dictionary object that - should not be accessed directly, but through accessor functions - instead. - - The returned dictionary must be freed using iniparser_freedict(). - */ -/*--------------------------------------------------------------------------*/ -dictionary *iniparser_load(const char * ininame) -{ - PHYSFS_file * in; - - char line [ASCIILINESZ + 1]; - char section [ASCIILINESZ + 1]; - char key [ASCIILINESZ + 1]; - char tmp [ASCIILINESZ + 1]; - char val [ASCIILINESZ + 1]; - - int last = 0; - int len; - int lineno = 0; - int errs = 0; - - dictionary *dict; - - if ((in = PHYSFS_openRead(ininame)) == NULL) - { - return NULL ; - } - - dict = dictionary_new(0); - if (!dict) - { - PHYSFS_close(in); - return NULL; - } - - memset(line, 0, ASCIILINESZ); - memset(section, 0, ASCIILINESZ); - memset(key, 0, ASCIILINESZ); - memset(val, 0, ASCIILINESZ); - last = 0 ; - - while (PHYSFS_fgets(line + last, ASCIILINESZ - last, in) != NULL) - { - lineno++; - len = (int)strlen(line) - 1; - /* Safety check against buffer overflows */ - if (line[len] != '\n') - { - fprintf(stderr, - "iniparser: input line too long in %s (%d)\n", - ininame, - lineno); - dictionary_del(dict); - PHYSFS_close(in); - return NULL; - } - /* Get rid of \n and spaces at end of line */ - while ((len >= 0) && - ((line[len] == '\n') || (isspace(line[len])))) - { - line[len] = 0; - len--; - } - /* Detect multi-line */ - if (line[len] == '\\') - { - /* Multi-line value */ - last = len; - continue; - } else { - last = 0; - } - switch (iniparser_line(line, section, key, val)) - { - case LINE_EMPTY: - case LINE_COMMENT: - break; - - case LINE_SECTION: - errs = dictionary_set(dict, section, NULL); - break; - - case LINE_VALUE: - sprintf(tmp, "%s:%s", section, key); - errs = dictionary_set(dict, tmp, val) ; - break; - - case LINE_ERROR: - fprintf(stderr, "iniparser: syntax error in %s (%d):\n", - ininame, - lineno); - fprintf(stderr, "-> %s\n", line); - errs++; - break; - - default: - break; - } - memset(line, 0, ASCIILINESZ); - last = 0; - if (errs < 0) - { - fprintf(stderr, "iniparser: memory allocation failure\n"); - break; - } - } - if (errs) - { - dictionary_del(dict); - dict = NULL; - } - PHYSFS_close(in); - return dict; -} - -/*-------------------------------------------------------------------------*/ -/** - @brief Free all memory associated to an ini dictionary - @param d Dictionary to free - @return void - - Free all memory associated to an ini dictionary. - It is mandatory to call this function before the dictionary object - gets out of the current context. - */ -/*--------------------------------------------------------------------------*/ -void iniparser_freedict(dictionary *d) -{ - dictionary_del(d); -} - -/* vim: set ts=4 et sw=4 tw=75 */ diff --git a/lib/iniparser/iniparser.h b/lib/iniparser/iniparser.h index 79d79cf1e..c9c8d28e3 100644 --- a/lib/iniparser/iniparser.h +++ b/lib/iniparser/iniparser.h @@ -1,272 +1,197 @@ -/*-------------------------------------------------------------------------*/ -/** - @file iniparser.h - @author N. Devillard - @date Sep 2007 - @version 3.0 - @brief Parser for ini files. -*/ -/*--------------------------------------------------------------------------*/ - /* - $Id: iniparser.h,v 1.24 2007-11-23 21:38:19 ndevilla Exp $ - $Revision: 1.24 $ + This file is part of Warzone 2100. + Copyright (C) 2010 Freddie Witherden + Copyright (C) 2010 Warzone 2100 Project + + Warzone 2100 is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + Warzone 2100 is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Warzone 2100; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _INIPARSER_H_ #define _INIPARSER_H_ -/*--------------------------------------------------------------------------- - Includes - ---------------------------------------------------------------------------*/ - #include #include #include -/* - * The following #include is necessary on many Unixes but not Linux. - * It is not needed for Windows platforms. - * Uncomment it if needed. - */ -/* #include */ +/// Opaque handle to an inifile structure. +typedef struct _inifile inifile; -#include "dictionary.h" - -/*-------------------------------------------------------------------------*/ /** - @brief Get number of sections in a dictionary - @param d Dictionary to examine - @return int Number of sections found in dictionary - - This function returns the number of sections found in a dictionary. - The test to recognize sections is done on the string stored in the - dictionary: a section name is given as "section" whereas a key is - stored as "section:key", thus the test looks for entries that do not - contain a colon. - - This clearly fails in the case a section name contains a colon, but - this should simply be avoided. - - This function returns -1 in case of error. + * Returns a handle to a new inifile instance. This should be used when creating + * a new inifile as opposed to loading an existing one. + * + * @return A handle to a newly allocated inifile. */ -/*--------------------------------------------------------------------------*/ +inifile *inifile_new(); -int iniparser_getnsec(dictionary * d); - - -/*-------------------------------------------------------------------------*/ /** - @brief Get name for section n in a dictionary. - @param d Dictionary to examine - @param n Section number (from 0 to nsec-1). - @return Pointer to char string - - This function locates the n-th section in a dictionary and returns - its name as a pointer to a string statically allocated inside the - dictionary. Do not free or modify the returned string! - - This function returns NULL in case of error. + * Loads the inifile referenced by path. Should the inifile referenced by path + * not exist or be invalid NULL is returned. + * + * @param path The path to the inifile to load. + * @return A handle to the inifile. */ -/*--------------------------------------------------------------------------*/ +inifile *inifile_load(const char *path); -char * iniparser_getsecname(dictionary * d, int n); - - -/*-------------------------------------------------------------------------*/ /** - @brief Save a dictionary to a loadable ini file - @param d Dictionary to dump - @param f Opened file pointer to dump to - @return void - - This function dumps a given dictionary into a loadable ini file. - It is Ok to specify @c stderr or @c stdout as output files. + * Returns the number of sections in inif. + * + * @param inif The inifile handle. + * @return The number of sections in inif. */ -/*--------------------------------------------------------------------------*/ +int inifile_get_section_count(inifile *inif); -void iniparser_dump_ini(dictionary * d, const char *path); - -/*-------------------------------------------------------------------------*/ /** - @brief Dump a dictionary to an opened file pointer. - @param d Dictionary to dump. - @param f Opened file pointer to dump to. - @return void - - This function prints out the contents of a dictionary, one element by - line, onto the provided file pointer. It is OK to specify @c stderr - or @c stdout as output files. This function is meant for debugging - purposes mostly. + * Returns the `n'-th section in the inifile inif. The section number is + * subject to the constraint that 0 <= n < get_section_count(). + * + * @param inif The inifile handle. + * @param n The number of the section, indexed from 0. + * @return A pointer to the section name. Valid until either the section or + * inifile is deleted. */ -/*--------------------------------------------------------------------------*/ -void iniparser_dump(dictionary * d, FILE * f); +const char *inifile_get_section(inifile *inif, int n); -/*-------------------------------------------------------------------------*/ /** - @brief Get the string associated to a key - @param d Dictionary to search - @param key Key string to look for - @param def Default value to return if key not found. - @return pointer to statically allocated character string - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the pointer passed as 'def' is returned. - The returned char pointer is pointing to a string allocated in - the dictionary, do not free or modify it. + * Returns a pointer to the currently active section in the inifile inif. + * + * @param inif The inifile handle. + * @return A pointer to the section name. */ -/*--------------------------------------------------------------------------*/ -const char * iniparser_getstring(dictionary * d, const char * key, const char * def); +const char *inifile_get_current_section(inifile *inif); -/*-------------------------------------------------------------------------*/ /** - @brief Get the string associated to a key, convert to an int - @param d Dictionary to search - @param key Key string to look for - @param notfound Value to return in case of error - @return integer - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the notfound value is returned. - - Supported values for integers include the usual C notation - so decimal, octal (starting with 0) and hexadecimal (starting with 0x) - are supported. Examples: - - - "42" -> 42 - - "042" -> 34 (octal -> decimal) - - "0x42" -> 66 (hexa -> decimal) - - Warning: the conversion may overflow in various ways. Conversion is - totally outsourced to strtol(), see the associated man page for overflow - handling. - - Credits: Thanks to A. Becker for suggesting strtol() + * Sets the currently active section in inif to sec. If the section does not + * exist in the inifile then a new one is created. + * + * @param inif The inifile handle. + * @param sec The section to use. This is duplicated before the function + * returns. */ -/*--------------------------------------------------------------------------*/ -int iniparser_getint(dictionary * d, const char * key, int notfound); +void inifile_set_current_section(inifile *inif, const char *sec); -/*-------------------------------------------------------------------------*/ /** - @brief Get the string associated to a key, convert to a double - @param d Dictionary to search - @param key Key string to look for - @param notfound Value to return in case of error - @return double - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the notfound value is returned. + * Checks to see if the key, key, exists in the inifile inif. + * + * @param inif The inifile handle. + * @param key The key to check the existence of. + * @return True if the key exists, false otherwise. */ -/*--------------------------------------------------------------------------*/ -double iniparser_getdouble(dictionary * d, char * key, double notfound); +BOOL inifile_key_exists(inifile *inif, const char *key); -/*-------------------------------------------------------------------------*/ /** - @brief Get the string associated to a key, convert to a boolean - @param d Dictionary to search - @param key Key string to look for - @param notfound Value to return in case of error - @return integer - - This function queries a dictionary for a key. A key as read from an - ini file is given as "section:key". If the key cannot be found, - the notfound value is returned. - - A true boolean is found if one of the following is matched: - - - A string starting with 'y' - - A string starting with 'Y' - - A string starting with 't' - - A string starting with 'T' - - A string starting with '1' - - A false boolean is found if one of the following is matched: - - - A string starting with 'n' - - A string starting with 'N' - - A string starting with 'f' - - A string starting with 'F' - - A string starting with '0' - - The notfound value returned if no boolean is identified, does not - necessarily have to be 0 or 1. + * Fetches the value of the key specified by key in the inifile inif. If the key + * does not exist then dflt is returned. The pointer returned is valid until + * either the key is set/unset or the inifile is deleted. + * + * It is necessary to specify the section to search beforehand using the + * set_current_section method. + * + * @param inif The inifile handle. + * @param key The key to fetch the value for. + * @param dflt The default string to return if the key is not found. + * @return The value associated with the key, dflt otherwise. */ -/*--------------------------------------------------------------------------*/ -int iniparser_getboolean(dictionary * d, const char * key, int notfound); +const char *inifile_get(inifile *inif, const char *key, const char *dflt); - -/*-------------------------------------------------------------------------*/ /** - @brief Set an entry in a dictionary. - @param ini Dictionary to modify. - @param entry Entry to modify (entry name) - @param val New value to associate to the entry. - @return int 0 if Ok, -1 otherwise. - - If the given entry can be found in the dictionary, it is modified to - contain the provided value. If it cannot be found, -1 is returned. - It is Ok to set val to NULL. + * Sets the entry \a key to be \a value. If \a key already exists its value is + * updated. + * + * @param inif The inifile handle. + * @param key The key to set/updated. + * @param value The value to set. */ -/*--------------------------------------------------------------------------*/ -int iniparser_setstring(dictionary * ini, const char * entry, const char * val); +void inifile_set(inifile *inif, const char *key, const char *value); - -/*-------------------------------------------------------------------------*/ /** - @brief Delete an entry in a dictionary - @param ini Dictionary to modify - @param entry Entry to delete (entry name) - @return void - - If the given entry can be found, it is deleted from the dictionary. + * A helper function provided for convenience. Automatically converts the + * result returned by get method to an integer. + * + * @param inif The inifile handle. + * @param key The key to fetch the value for. + * @param dflt The default integer to return if the key is not found. + * @return The integer value associated with the key, dflt otherwise. */ -/*--------------------------------------------------------------------------*/ -void iniparser_unset(dictionary * ini, char * entry); +int inifile_get_as_int(inifile *inif, const char *key, int dflt); -/*-------------------------------------------------------------------------*/ /** - @brief Finds out if a given entry exists in a dictionary - @param ini Dictionary to search - @param entry Name of the entry to look for - @return integer 1 if entry exists, 0 otherwise - - Finds out if a given entry exists in the dictionary. Since sections - are stored as keys with NULL associated values, this is the only way - of querying for the presence of sections in a dictionary. + * A helper function provided for convenience. Automatically converts the + * integer to a string and sets the \a key entry in the current section to + * be that value. + * + * @param inif The inifile handle. + * @param key The key to set. + * @param value The integer value to set the key to. */ -/*--------------------------------------------------------------------------*/ -int iniparser_find_entry(dictionary * ini, char * entry) ; +void inifile_set_as_int(inifile *inif, const char *key, int value); -/*-------------------------------------------------------------------------*/ /** - @brief Parse an ini file and return an allocated dictionary object - @param ininame Name of the ini file to read. - @return Pointer to newly allocated dictionary - - This is the parser for ini files. This function is called, providing - the name of the file to be read. It returns a dictionary object that - should not be accessed directly, but through accessor functions - instead. - - The returned dictionary must be freed using iniparser_freedict(). + * A helper function provided for convenience. As \a dflt is an integer it can + * be used to help determine if \a key exists or not by passing say -1. + * + * @param inif The inifile handle. + * @param key The key to get. + * @param dflt Default value to return should the key not exist. + * @return The value associated with the key converted to a boolean value, or + * \a dflt should the key not exist. */ -/*--------------------------------------------------------------------------*/ -dictionary * iniparser_load(const char * ininame); +int inifile_get_as_bool(inifile *inif, const char *key, int dflt); -/*-------------------------------------------------------------------------*/ /** - @brief Free all memory associated to an ini dictionary - @param d Dictionary to free - @return void - - Free all memory associated to an ini dictionary. - It is mandatory to call this function before the dictionary object - gets out of the current context. + * Removes \a key from the \a inif in the section \a section. + * + * @param inif The inifile handle. + * @param section The section to remove the key from. + * @param key The key to remove. */ -/*--------------------------------------------------------------------------*/ -void iniparser_freedict(dictionary * d); +void inifile_unset(inifile *inif, const char *section, const char *key); + +/** + * Saves the inifile back to the file which is was loaded from. This is only + * meaningful if the file was loaded using inifile_load. + * + * @param inif The inifile handle. + */ +void inifile_save(inifile *inif); + +/** + * Saves \a inif to the file referenced by \a path. + * + * @param inif The inifile handle. + * @param path The path to save the file as. + */ +void inifile_save_as(inifile *inif, const char *path); + +/** + * Frees the memory associated with the inifile inif. This must be called; + * failure to do so may result in ones program spontaneously turning to custard + * and other bad things. + * + * Calling this method does not affect the on-disk representation of the + * inifile. Therefore the file must be saved, using the inifile_save* methods + * first. + * + * @param inif The inifile handle. + */ +void inifile_delete(inifile *inif); + +/** + * Unit tests for the inifile module. Asserts should any test fail. The + * implementation can also serve as basic API documentation. + */ +void inifile_test(void); #endif diff --git a/src/challenge.cpp b/src/challenge.cpp index 86a9588d7..04ea68f3d 100644 --- a/src/challenge.cpp +++ b/src/challenge.cpp @@ -233,7 +233,7 @@ bool addChallenges() char description[totalslotspace]; char highscore[totalslotspace]; const char *name, *difficulty, *map, *givendescription; - dictionary *dict; + inifile *inif; // See if this filename contains the extension we're looking for if (!strstr(*i, ".ini")) @@ -243,41 +243,42 @@ bool addChallenges() } /* First grab any high score associated with this challenge */ - dict = iniparser_load(CHALLENGE_SCORES); + inif = inifile_load(CHALLENGE_SCORES); sstrcpy(sPath, *i); sPath[strlen(sPath) - 4] = '\0'; // remove .ini sstrcpy(highscore, "no score"); - if (dict) + if (inif) { char key[64]; bool victory; int seconds; ssprintf(key, "%s:Player", sPath); - name = iniparser_getstring(dict, key, "NO NAME"); + name = inifile_get(inif, key, "NO NAME"); ssprintf(key, "%s:Victory", sPath); - victory = iniparser_getboolean(dict, key, false); + victory = inifile_get_as_bool(inif, key, false); ssprintf(key, "%s:Seconds", sPath); - seconds = iniparser_getint(dict, key, -1); + seconds = inifile_get_as_int(inif, key, -1); if (seconds > 0) { getAsciiTime(key, seconds * GAME_TICKS_PER_SEC); ssprintf(highscore, "%s by %s (%s)", key, name, victory ? "Victory" : "Survived"); } - iniparser_freedict(dict); + inifile_delete(inif); } ssprintf(sPath, "%s/%s", sSearchPath, *i); - dict = iniparser_load(sPath); - if (!dict) + inif = inifile_load(sPath); + inifile_set_current_section(inif, "challenge"); + if (!inif) { debug(LOG_ERROR, "Could not open \"%s\"", sPath); continue; } - name = iniparser_getstring(dict, "challenge:Name", "BAD NAME"); - map = iniparser_getstring(dict, "challenge:Map", "BAD MAP"); - difficulty = iniparser_getstring(dict, "challenge:difficulty", "BAD DIFFICULTY"); - givendescription = iniparser_getstring(dict, "challenge:description", ""); + name = inifile_get(inif, "Name", "BAD NAME"); + map = inifile_get(inif, "Map", "BAD MAP"); + difficulty = inifile_get(inif, "difficulty", "BAD DIFFICULTY"); + givendescription = inifile_get(inif, "description", ""); ssprintf(description, "%s, %s, %s. %s", map, difficulty, highscore, givendescription); button = (W_BUTTON*)widgGetFromID(psRequestScreen, CHALLENGE_ENTRY_START + slotCount); @@ -288,7 +289,7 @@ bool addChallenges() sstrcpy(sSlotCaps[slotCount], name); // store it! sstrcpy(sSlotTips[slotCount], description); // store it, too! sstrcpy(sSlotFile[slotCount], sPath); // store filename - iniparser_freedict(dict); + inifile_delete(inif); /* Add button */ button->pTip = sSlotTips[slotCount]; diff --git a/src/multiint.cpp b/src/multiint.cpp index 690541b63..0b59f35c6 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -3227,7 +3227,8 @@ BOOL startMultiOptions(BOOL bReenter) if (challengeActive) { int i; - dictionary *dict = iniparser_load(sRequestResult); + inifile *inif = inifile_load(sRequestResult); + inifile_set_current_section(inif, "challenge"); resetReadyStatus(false); removeWildcards((char*)sPlayer); @@ -3239,36 +3240,37 @@ BOOL startMultiOptions(BOOL bReenter) } bHosted = true; - sstrcpy(game.map, iniparser_getstring(dict, "challenge:Map", game.map)); - game.maxPlayers = iniparser_getint(dict, "challenge:MaxPlayers", game.maxPlayers); // TODO, read from map itself, not here!! + sstrcpy(game.map, inifile_get(inif, "Map", game.map)); + game.maxPlayers = inifile_get_as_int(inif, "MaxPlayers", game.maxPlayers); // TODO, read from map itself, not here!! NetPlay.maxPlayers = game.maxPlayers; - game.scavengers = iniparser_getboolean(dict, "challenge:Scavengers", game.scavengers); + game.scavengers = inifile_get_as_bool(inif, "Scavengers", game.scavengers); game.alliance = ALLIANCES_TEAMS; netPlayersUpdated = true; mapDownloadProgress = 100; - game.power = iniparser_getint(dict, "challenge:Power", game.power); - game.base = iniparser_getint(dict, "challenge:Bases", game.base + 1) - 1; // count from 1 like the humans do - allowChangePosition = iniparser_getboolean(dict, "challenge:AllowPositionChange", false); + game.power = inifile_get_as_int(inif, "challenge:Power", game.power); + game.base = inifile_get_as_int(inif, "challenge:Bases", game.base + 1) - 1; // count from 1 like the humans do + allowChangePosition = inifile_get_as_bool(inif, "challenge:AllowPositionChange", false); for (i = 0; i < MAX_PLAYERS; i++) { char key[64]; + ssprintf(key, "player_%d:team", i + 1); - NetPlay.players[i].team = iniparser_getint(dict, key, NetPlay.players[i].team + 1) - 1; + NetPlay.players[i].team = inifile_get_as_int(inif, key, NetPlay.players[i].team + 1) - 1; ssprintf(key, "player_%d:position", i + 1); - if (iniparser_find_entry(dict, key)) + if (inifile_key_exists(inif, key)) { - changePosition(i, iniparser_getint(dict, key, NetPlay.players[i].position)); + changePosition(i, inifile_get_as_int(inif, key, NetPlay.players[i].position)); } if (i != 0) { ssprintf(key, "player_%d:difficulty", i + 1); - game.skDiff[i] = iniparser_getint(dict, key, game.skDiff[i]); + game.skDiff[i] = inifile_get_as_int(inif, key, game.skDiff[i]); } } - iniparser_freedict(dict); + inifile_delete(inif); ingame.localOptionsReceived = true; addGameOptions(false); // update game options box. diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 75f663135..6d63e16f3 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -3265,10 +3265,10 @@ BOOL scrGameOverMessage(void) if (challengeActive) { - char sPath[64], key[64], timestr[32], *fStr; + char sPath[64], timestr[32], *fStr; int seconds = 0, newtime = (gameTime - mission.startTime) / GAME_TICKS_PER_SEC; bool victory = false; - dictionary *dict = iniparser_load(CHALLENGE_SCORES); + inifile *inif = inifile_load(CHALLENGE_SCORES); fStr = strrchr(sRequestResult, '/'); fStr++; // skip slash @@ -3279,16 +3279,15 @@ BOOL scrGameOverMessage(void) } sstrcpy(sPath, fStr); sPath[strlen(sPath) - 4] = '\0'; // remove .ini - if (dict) + if (inif) { - ssprintf(key, "%s:Victory", sPath); - victory = iniparser_getboolean(dict, key, false); - ssprintf(key, "%s:seconds", sPath); - seconds = iniparser_getint(dict, key, 0); + inifile_set_current_section(inif, sPath); + victory = inifile_get_as_bool(inif, "Victory", false); + seconds = inifile_get_as_int(inif, "seconds", 0); } else { - dict = dictionary_new(3); + inif = inifile_new(); } // Update score if we have a victory and best recorded was a loss, @@ -3298,17 +3297,14 @@ BOOL scrGameOverMessage(void) || (!gameWon && !victory && newtime > seconds) || (gameWon && victory && newtime < seconds)) { - dictionary_set(dict, sPath, NULL); - ssprintf(key, "%s:Seconds", sPath); + inifile_set_current_section(inif, sPath); ssprintf(timestr, "%d", newtime); - iniparser_setstring(dict, key, timestr); - ssprintf(key, "%s:Player", sPath); - iniparser_setstring(dict, key, NetPlay.players[selectedPlayer].name); - ssprintf(key, "%s:Victory", sPath); - iniparser_setstring(dict, key, gameWon ? "true": "false"); + inifile_set(inif, "Seconds", timestr); + inifile_set(inif, "Player", NetPlay.players[selectedPlayer].name); + inifile_set(inif, "Victory", gameWon ? "true": "false"); } - iniparser_dump_ini(dict, CHALLENGE_SCORES); - iniparser_freedict(dict); + inifile_save_as(inif, CHALLENGE_SCORES); + inifile_delete(inif); } return true; From 5c4b81fa637d444f73527e790bde62d926b36e3c Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 30 Dec 2010 00:38:21 +0100 Subject: [PATCH 046/142] Make C++ WZ_ASSERT_STATIC_STRING a compile-time check without using typeid, make C++ WZ_ASSERT_ARRAY_EXPR work. --- lib/framework/debug.h | 2 +- lib/framework/wzglobal.h | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/framework/debug.h b/lib/framework/debug.h index c062267a4..c788a3948 100644 --- a/lib/framework/debug.h +++ b/lib/framework/debug.h @@ -129,7 +129,7 @@ extern bool assertEnabled; template class StaticAssert; template<> class StaticAssert{}; #define STATIC_ASSERT_EXPR(expr) \ - (sizeof(StaticAssert<(expr)>)) + (0*sizeof(StaticAssert<(expr)>)) /** * Compile time assert * Not to be used in global context! diff --git a/lib/framework/wzglobal.h b/lib/framework/wzglobal.h index 189136608..bb9c74125 100644 --- a/lib/framework/wzglobal.h +++ b/lib/framework/wzglobal.h @@ -601,8 +601,11 @@ * Asserts that the given string is statically allocated. */ #if defined(__cplusplus) -# include -# define WZ_ASSERT_STATIC_STRING(_var) assert(typeid(_var) == typeid(char[sizeof(_var)])) + template + static inline char _WZ_ASSERT_STATIC_STRING_FUNCTION(char const (&)[N]) { return '\0'; } // Regular array. + static inline char *_WZ_ASSERT_STATIC_STRING_FUNCTION(char const *&) { return NULL; } // Eeek, it's a pointer! + static inline char *_WZ_ASSERT_STATIC_STRING_FUNCTION(char *&) { return NULL; } // Eeek, it's a pointer! +# define WZ_ASSERT_STATIC_STRING(_var) STATIC_ASSERT(sizeof(_WZ_ASSERT_STATIC_STRING_FUNCTION(_var)) == sizeof(char)) #elif defined(WZ_CC_GNU) || defined(WZ_CC_INTEL) # define WZ_ASSERT_STATIC_STRING(_var) STATIC_ASSERT(__builtin_types_compatible_p(typeof(_var), char[])) #else @@ -613,7 +616,12 @@ * Asserts that the given variable is a (statically sized) array, not just a pointer. */ #if defined(__cplusplus) -# define WZ_ASSERT_ARRAY_EXPR(a) 0 + template + static inline char _WZ_ASSERT_ARRAY_EXPR_FUNCTION(T (&)[N]) { return '\0'; } // Regular array. + static inline char _WZ_ASSERT_ARRAY_EXPR_FUNCTION(void const *) { return NULL; } // Catch static arrays of unnamed structs. + template + static inline char *_WZ_ASSERT_ARRAY_EXPR_FUNCTION(T *&) { return NULL; } // Eeek, it's a pointer! +# define WZ_ASSERT_ARRAY_EXPR(_var) STATIC_ASSERT_EXPR(sizeof(_WZ_ASSERT_ARRAY_EXPR_FUNCTION(_var)) == sizeof(char)) #elif defined(WZ_CC_GNU) || defined(WZ_CC_INTEL) /* &a[0] degrades to a pointer: a different type from an array */ # define WZ_ASSERT_ARRAY_EXPR(a) STATIC_ASSERT_EXPR(!__builtin_types_compatible_p(typeof(a), typeof(&(a)[0]))) From ffe096fea43dacba84567dc496df7e6345ecedbf Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 30 Dec 2010 00:46:06 +0100 Subject: [PATCH 047/142] Make zoom rate when scrolling framerate-independent. --- src/display.cpp | 8 ++------ src/keybind.cpp | 24 ++++++++++++------------ src/keybind.h | 2 ++ 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/display.cpp b/src/display.cpp index a9f543fec..41cfcd67a 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -476,8 +476,6 @@ void processInput(void) BOOL mOverRadar = false; BOOL mOverConstruction = false; - int WheelZoomIterator; - if (InGameOpUp || isInGamePopupUp) { dragBox3D.status = DRAG_RELEASED; // disengage the dragging since it stops menu input @@ -521,8 +519,7 @@ void processInput(void) } else { - for (WheelZoomIterator = 0; WheelZoomIterator < 10; WheelZoomIterator++) - kf_ZoomIn(); + kf_ZoomInStep(); } } @@ -544,8 +541,7 @@ void processInput(void) } else { - for (WheelZoomIterator = 0; WheelZoomIterator < 10; WheelZoomIterator++) - kf_ZoomOut(); + kf_ZoomOutStep(); } } diff --git a/src/keybind.cpp b/src/keybind.cpp index a8d6d3f9f..c23eee88b 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -849,13 +849,13 @@ void kf_SystemClose( void ) /* Zooms out from display */ void kf_ZoomOut( void ) { - float zoomInterval = realTimeAdjustedIncrement(MAP_ZOOM_RATE); + distance = std::min(distance + realTimeAdjustedIncrement(MAP_ZOOM_RATE), MAXDISTANCE); + UpdateFogDistance(distance); +} - distance += zoomInterval; - if(distance > MAXDISTANCE) - { - distance = MAXDISTANCE; - } +void kf_ZoomOutStep(void) +{ + distance = std::min(distance + MAP_ZOOM_RATE/3, MAXDISTANCE); UpdateFogDistance(distance); } @@ -888,13 +888,13 @@ void kf_RadarZoomOut( void ) /* Zooms in the map */ void kf_ZoomIn( void ) { - float zoomInterval = realTimeAdjustedIncrement(MAP_ZOOM_RATE); + distance = std::max(distance - realTimeAdjustedIncrement(MAP_ZOOM_RATE), MINDISTANCE); + UpdateFogDistance(distance); +} - distance -= zoomInterval; - if (distance < MINDISTANCE) - { - distance = MINDISTANCE; - } +void kf_ZoomInStep(void) +{ + distance = std::max(distance - MAP_ZOOM_RATE/3, MINDISTANCE); UpdateFogDistance(distance); } diff --git a/src/keybind.h b/src/keybind.h index 837219b72..699cab683 100644 --- a/src/keybind.h +++ b/src/keybind.h @@ -52,7 +52,9 @@ extern void kf_LowerTile( void ); extern void kf_MapCheck( void ); extern void kf_SystemClose( void ); extern void kf_ZoomOut( void ); +void kf_ZoomOutStep(); extern void kf_ZoomIn( void ); +void kf_ZoomInStep(); extern void kf_ShrinkScreen( void ); extern void kf_ExpandScreen( void ); extern void kf_RotateLeft( void ); From 5362cf2217431143242bfc221a2ca6972ad082dc Mon Sep 17 00:00:00 2001 From: Freddie Witherden Date: Thu, 30 Dec 2010 20:45:35 +0000 Subject: [PATCH 048/142] Fix compilation under GCC 4.5. Previously, _WZ_ASSERT_ARRAY_EXPR_FUNCTION would return NULL ((void *) 0) for a function with a declared return type of char. --- lib/framework/wzglobal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/framework/wzglobal.h b/lib/framework/wzglobal.h index bb9c74125..79ad49a45 100644 --- a/lib/framework/wzglobal.h +++ b/lib/framework/wzglobal.h @@ -618,7 +618,7 @@ #if defined(__cplusplus) template static inline char _WZ_ASSERT_ARRAY_EXPR_FUNCTION(T (&)[N]) { return '\0'; } // Regular array. - static inline char _WZ_ASSERT_ARRAY_EXPR_FUNCTION(void const *) { return NULL; } // Catch static arrays of unnamed structs. + static inline char _WZ_ASSERT_ARRAY_EXPR_FUNCTION(void const *) { return '\0'; } // Catch static arrays of unnamed structs. template static inline char *_WZ_ASSERT_ARRAY_EXPR_FUNCTION(T *&) { return NULL; } // Eeek, it's a pointer! # define WZ_ASSERT_ARRAY_EXPR(_var) STATIC_ASSERT_EXPR(sizeof(_WZ_ASSERT_ARRAY_EXPR_FUNCTION(_var)) == sizeof(char)) From 7b7b2b8e0efdecb3eac64a1ce5a3b714e457711e Mon Sep 17 00:00:00 2001 From: Freddie Witherden Date: Thu, 30 Dec 2010 21:17:18 +0000 Subject: [PATCH 049/142] Fix a section-titling bug in the inifile code. --- lib/iniparser/iniparser.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/iniparser/iniparser.cpp b/lib/iniparser/iniparser.cpp index b702eece2..b47be242f 100644 --- a/lib/iniparser/iniparser.cpp +++ b/lib/iniparser/iniparser.cpp @@ -485,11 +485,10 @@ void inifile_save_as(inifile *inif, const char *path) const char *currsec = inifile_get_section(inif, i); /* - * Only print the section title if there are multiple sections in the - * file; otherwise if we are the only section just dump the keys - * directly. + * Print the section title if there are either multiple sections in the + * file or if the singular section has been explicitly named. */ - if (nsec > 1) + if (nsec > 1 || strcmp("main", currsec) != 0) { // Print out the section title PHYSFS_printf(f, "[%s]\n", currsec); From 00cf0767ba8537cffd2346f9727a4afda130dcdb Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Fri, 24 Dec 2010 14:08:30 +0100 Subject: [PATCH 050/142] Get rid of force-linker.cpp. Shouldn't be needed anymore since everything is C++ now. --- .gitignore | 1 - src/Makefile.am | 7 ------- 2 files changed, 8 deletions(-) diff --git a/.gitignore b/.gitignore index e9efbe29b..2350f2d13 100644 --- a/.gitignore +++ b/.gitignore @@ -76,7 +76,6 @@ win32/release/* *.lex.[ch] *.tab.[ch] /src/autorevision.h -/src/force-linker.cpp /tests/maplist.txt # Generated executables: diff --git a/src/Makefile.am b/src/Makefile.am index 883f2cebf..9982b9191 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,10 +4,6 @@ %.lex.hpp %.lex.cpp:: %.l $(LEX) $(LFLAGS) $(AM_LFLAGS) -o$@ $< -# Required to force using a C++ linker -force-linker.cpp: - touch $@ - AM_CPPFLAGS = -DYY_NO_INPUT $(SDL_CFLAGS) $(PHYSFS_CFLAGS) $(PNG_CFLAGS) $(OGGVORBIS_CFLAGS) $(OPENAL_CFLAGS) $(OPENGLC_CFLAGS) $(OPENGL_CFLAGS) $(WZ_CPPFLAGS) $(GLee_CFLAGS) AM_CFLAGS = $(WZ_CFLAGS) AM_CXXFLAGS = $(WZ_CXXFLAGS) @@ -15,7 +11,6 @@ AM_LFLAGS = $(FLEX_FLAGS) AM_YFLAGS = -d BUILT_SOURCES = \ - force-linker.cpp \ level_lexer.lex.cpp \ message_lexer.lex.cpp \ message_parser.tab.cpp \ @@ -25,7 +20,6 @@ BUILT_SOURCES = \ scriptvals_parser.tab.hpp CLEANFILES = \ - force-linker.cpp \ level_lexer.lex.cpp \ message_lexer.lex.cpp \ message_parser.tab.cpp \ @@ -203,7 +197,6 @@ warzone2100_SOURCES = \ edit3d.cpp \ effects.cpp \ feature.cpp \ - force-linker.cpp \ fpath.cpp \ frontend.cpp \ function.cpp \ From ffaaf87c8b1c5a9fec64f5d8afea59786f045ca6 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Fri, 24 Dec 2010 14:16:05 +0100 Subject: [PATCH 051/142] Unignore build_tools. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2350f2d13..095afd0fe 100644 --- a/.gitignore +++ b/.gitignore @@ -187,6 +187,7 @@ macosx/configs/codeident /macosx/prebuilt/ /build /build_*/ +!/build_tools/ /2.3 /trunk /newnet From e6324cd4c4726c4278d8220602cefc3640ab35fb Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Fri, 24 Dec 2010 14:43:51 +0100 Subject: [PATCH 052/142] Update Windows cross-build dependencies. freetype 2.4.4 libogg 1.2.2 libpng 1.4.5 --- win32/libs/freetype2/Makefile | 4 ++-- win32/libs/ogg/Makefile | 4 ++-- win32/libs/png/Makefile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/win32/libs/freetype2/Makefile b/win32/libs/freetype2/Makefile index c5ce9dd4e..33e8ee7cb 100644 --- a/win32/libs/freetype2/Makefile +++ b/win32/libs/freetype2/Makefile @@ -1,12 +1,12 @@ PKG_NAME:=freetype -PKG_VERSION=2.4.3 +PKG_VERSION=2.4.4 PKG_SOURCEBASE:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCEBASE).tar.bz2 PKG_SOURCE_URL:= \ @SF/freetype \ http://www.il.fontys.nl/~giel/warzone/devpkg/ -PKG_MD5SUM:=75ac7082bde7b3805dc5d6bc806fa045 +PKG_MD5SUM:=b3e2b6e2f1c3e0dffa1fd2a0f848b671 TARGET:=$(TOPDIR)/build/libs/lib/libfreetype.la diff --git a/win32/libs/ogg/Makefile b/win32/libs/ogg/Makefile index d3233f4fa..e656020b2 100644 --- a/win32/libs/ogg/Makefile +++ b/win32/libs/ogg/Makefile @@ -1,12 +1,12 @@ PKG_NAME:=libogg -PKG_VERSION:=1.2.1 +PKG_VERSION:=1.2.2 PKG_SOURCEBASE=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCEBASE).tar.gz PKG_SOURCE_URL:= \ http://downloads.xiph.org/releases/ogg/ \ http://www.il.fontys.nl/~giel/warzone/devpkg/ -PKG_MD5SUM:=b998c2420721146df3b3d0e7776c97b9 +PKG_MD5SUM:=5a9fcabc9a1b7c6f1cd75ddc78f36c56 TARGETS:= \ $(TOPDIR)/build/libs/include/ogg/ogg.h \ diff --git a/win32/libs/png/Makefile b/win32/libs/png/Makefile index f4593a4e8..5195bfe1f 100644 --- a/win32/libs/png/Makefile +++ b/win32/libs/png/Makefile @@ -1,12 +1,12 @@ PKG_NAME:=libpng -PKG_VERSION=1.4.4 +PKG_VERSION=1.4.5 PKG_SOURCEBASE:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCEBASE).tar.bz2 PKG_SOURCE_URL:= \ @SF/libpng \ http://www.il.fontys.nl/~giel/warzone/devpkg/ -PKG_MD5SUM:=e6446d6cc10621ce0ed27ff82a70a7e8 +PKG_MD5SUM:=d500e117e4a08d5ca3bd51dca0a0bc5f TARGET:=$(TOPDIR)/build/libs/lib/libpng14.la From 663b3e69eeb273151b69d507cd80de22ec653c6f Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Thu, 30 Dec 2010 23:59:22 +0100 Subject: [PATCH 053/142] Add semperfi to the nsis installer. Untested. --- pkg/nsis/warzone2100.nsi | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pkg/nsis/warzone2100.nsi b/pkg/nsis/warzone2100.nsi index 2bd36a7b1..446bbe859 100644 --- a/pkg/nsis/warzone2100.nsi +++ b/pkg/nsis/warzone2100.nsi @@ -261,6 +261,20 @@ Section $(TEXT_SecDyDoAIMod) SecDyDoAIMod SectionEnd +Section $(TEXT_SecSemperfiMod) SecSemperfiMod + + SetOutPath "$INSTDIR\mods\multiplay" + + File "${TOP_BUILDDIR}\data\mods\multiplay\semperfi.wz" + + SetOutPath "$INSTDIR" + + !insertmacro MUI_STARTMENU_WRITE_BEGIN "Application" + CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${PACKAGE_NAME} - Semperfi.lnk" "$INSTDIR\${PACKAGE}.exe" "--mod_mp=semperfi.wz" + !insertmacro MUI_STARTMENU_WRITE_END + +SectionEnd + Section $(TEXT_SecOriginalMod) SecOriginalMod SetOutPath "$INSTDIR\mods\multiplay" @@ -522,6 +536,9 @@ FunctionEnd LangString TEXT_SecDyDoAIMod ${LANG_ENGLISH} "DyDo-AI" LangString DESC_SecDyDoAIMod ${LANG_ENGLISH} "DyDo-AI: New computer opponent" + LangString TEXT_SecDyDoAIMod ${LANG_ENGLISH} "Semperfi" + LangString DESC_SecDyDoAIMod ${LANG_ENGLISH} "Semperfi: New computer opponent" + LangString TEXT_SecOriginalMod ${LANG_ENGLISH} "1.10 balance" LangString DESC_SecOriginalMod ${LANG_ENGLISH} "Play the game as it was back in the 1.10 days." @@ -556,6 +573,9 @@ FunctionEnd LangString TEXT_SecDyDoAIMod ${LANG_DUTCH} "DyDo-AI" LangString DESC_SecDyDoAIMod ${LANG_DUTCH} "DyDo-AI: Nieuwe computertegenstander" + LangString TEXT_SecDyDoAIMod ${LANG_DUTCH} "Semperfi" + LangString DESC_SecDyDoAIMod ${LANG_DUTCH} "Semperfi: Nieuwe computertegenstander" + LangString TEXT_SecOriginalMod ${LANG_DUTCH} "1.10 balance" LangString DESC_SecOriginalMod ${LANG_DUTCH} "Speel het spel met de originele 1.10 versie balans stats." @@ -590,6 +610,9 @@ FunctionEnd LangString TEXT_SecDyDoAIMod ${LANG_GERMAN} "DyDo-AI" LangString DESC_SecDyDoAIMod ${LANG_GERMAN} "DyDo-AI: Neuer Computergegner" + LangString TEXT_SecDyDoAIMod ${LANG_GERMAN} "Semperfi" + LangString DESC_SecDyDoAIMod ${LANG_GERMAN} "Semperfi: Neuer Computergegner" + LangString TEXT_SecOriginalMod ${LANG_GERMAN} "1.10 balance" LangString DESC_SecOriginalMod ${LANG_GERMAN} "Spielen Sie das Spiel mit dem Balancing aus der Originalversion 1.10." @@ -624,6 +647,9 @@ FunctionEnd LangString TEXT_SecDyDoAIMod ${LANG_RUSSIAN} "DyDo-AI" LangString DESC_SecDyDoAIMod ${LANG_RUSSIAN} "DyDo-AI: Íîâûé êîìïüþòåðíûé ïðîòèâíèê." + LangString TEXT_SecDyDoAIMod ${LANG_RUSSIAN} "Semperfi" + LangString DESC_SecDyDoAIMod ${LANG_RUSSIAN} "Semperfi: Íîâûé êîìïüþòåðíûé ïðîòèâíèê." + LangString TEXT_SecOriginalMod ${LANG_RUSSIAN} "Áàëàíñ 1.10" LangString DESC_SecOriginalMod ${LANG_RUSSIAN} "Èãðàòü â èãðó ñ áàëàíñîì îò îðèãèíàëüíîé âåðñèè 1.10." @@ -635,6 +661,7 @@ FunctionEnd !insertmacro MUI_DESCRIPTION_TEXT ${SecMods} $(DESC_SecMods) !insertmacro MUI_DESCRIPTION_TEXT ${SecDyDoAIMod} $(DESC_SecDyDoAIMod) + !insertmacro MUI_DESCRIPTION_TEXT ${SecSemperfiMod} $(DESC_SecSemperfiMod) !insertmacro MUI_DESCRIPTION_TEXT ${SecOriginalMod} $(DESC_SecOriginalMod) !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs} $(DESC_SecFMVs) @@ -700,6 +727,7 @@ Section "Uninstall" Delete "$INSTDIR\mods\music\music_1.0.wz" Delete "$INSTDIR\mods\multiplay\dydo-ai.wz" + Delete "$INSTDIR\mods\multiplay\semperfi.wz" Delete "$INSTDIR\mods\multiplay\old-1.10-balance.wz" RMDir "$INSTDIR\mods\multiplay" @@ -840,6 +868,7 @@ Section "Uninstall" Delete "$SMPROGRAMS\$MUI_TEMP\${PACKAGE_NAME}.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\${PACKAGE_NAME} - Old 1.10 Balance.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\${PACKAGE_NAME} - DyDo-AI.lnk" + Delete "$SMPROGRAMS\$MUI_TEMP\${PACKAGE_NAME} - Semperfi.lnk" ;Delete empty start menu parent diretories StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" From 612872a437d9cf2222540a22af69b51a9ff49bc5 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 16:00:42 +0100 Subject: [PATCH 054/142] Remove unused variable, clean up some indentation. --- src/structuredef.h | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/structuredef.h b/src/structuredef.h index 1e3cb02b9..646504b95 100644 --- a/src/structuredef.h +++ b/src/structuredef.h @@ -72,14 +72,10 @@ struct FLAG_POSITION : public OBJECT_POSITION Vector3i coords; //the world coords of the Position UBYTE factoryInc; //indicates whether the first, second etc factory UBYTE factoryType; //indicates whether standard, cyborg or vtol factory -// UBYTE factorySub; //sub value. needed to order production points. -// UBYTE primary; FLAG_POSITION * psNext; }; -//only allowed one weapon per structure (more memory for Tim) -//Watermelon:only allowed 4 weapons per structure(sorry Tim...) #define STRUCT_MAXWEAPS 4 typedef enum _struct_strength @@ -215,28 +211,24 @@ typedef struct _power_gen typedef struct REPAIR_FACILITY { - UDWORD power; /* Power used in repairing */ - UDWORD timeStarted; /* Time repair started on current object */ - BASE_OBJECT *psObj; /* Object being repaired */ - UDWORD powerAccrued; /* used to keep track of power before - repairing a droid */ - FLAG_POSITION *psDeliveryPoint; /* Place for the repaired droids to assemble - at */ - UDWORD currentPtsAdded; /* stores the amount of body points added to the unit - that is being worked on */ + UDWORD power; /* Power used in repairing */ + UDWORD timeStarted; /* Time repair started on current object */ + BASE_OBJECT *psObj; /* Object being repaired */ + UDWORD powerAccrued; /* Used to keep track of power before repairing a droid */ + FLAG_POSITION *psDeliveryPoint; /* Place for the repaired droids to assemble at */ + UDWORD currentPtsAdded; /* stores the amount of body points added to the unit that is being worked on */ // The group the droids to be repaired by this facility belong to - struct _droid_group *psGroup; - struct DROID *psGrpNext; - int droidQueue; ///< Last count of droid queue for this facility + struct _droid_group *psGroup; + int droidQueue; ///< Last count of droid queue for this facility } REPAIR_FACILITY; typedef struct _rearm_pad { - UDWORD reArmPoints; /* rearm points per cycle */ - UDWORD timeStarted; /* Time reArm started on current object */ - BASE_OBJECT *psObj; /* Object being rearmed */ - UDWORD timeLastUpdated; /* Time rearm was last updated */ + UDWORD reArmPoints; /* rearm points per cycle */ + UDWORD timeStarted; /* Time reArm started on current object */ + BASE_OBJECT *psObj; /* Object being rearmed */ + UDWORD timeLastUpdated; /* Time rearm was last updated */ } REARM_PAD; typedef union From 2133cd5ec6b9ee432ea154624b0486474291a54c Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 16:51:44 +0100 Subject: [PATCH 055/142] simplipie: Add support for triangle tessellation --- tools/conversion/simplipie.c | 38 ++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/tools/conversion/simplipie.c b/tools/conversion/simplipie.c index 6357a8f29..15e73622b 100644 --- a/tools/conversion/simplipie.c +++ b/tools/conversion/simplipie.c @@ -304,6 +304,7 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) { faceList[j].index[m] = posList[faceList[j].index[m]].reindex; } + facesPIE3 += faceList[j].vertices - 3; // easy tessellation } if (verbose && (facesPIE3 - faces)) @@ -330,19 +331,32 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) if (faceList[j].cull) { - fprintf(ctl, "\n\t%x %d", flags, faceList[j].vertices); - for (k = faceList[j].vertices - 1; k >= 0; k--) - fprintf(ctl, " %d", faceList[j].index[k]); - fprintf(ctl, "%s", fill); - for (k = faceList[j].vertices - 1; k >= 0; k--) - fprintf(ctl, " %d %d", faceList[j].texCoord[k][0], faceList[j].texCoord[k][1]); + fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[2], faceList[j].index[1], faceList[j].index[0], fill, + faceList[j].texCoord[2][0], faceList[j].texCoord[2][1], + faceList[j].texCoord[1][0], faceList[j].texCoord[1][1], + faceList[j].texCoord[0][0], faceList[j].texCoord[0][1]); + printf("+nocull(%d) ", j); + } + fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[1], faceList[j].index[2], fill, + faceList[j].texCoord[0][0], faceList[j].texCoord[0][1], + faceList[j].texCoord[1][0], faceList[j].texCoord[1][1], + faceList[j].texCoord[2][0], faceList[j].texCoord[2][1]); + + // Tessellate higher than triangle polygons + for (k = 3; k < faceList[j].vertices; k++) + { + if (faceList[j].cull) + { + fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[k], faceList[j].index[k - 1], fill, + faceList[j].texCoord[0][0], faceList[j].texCoord[0][1], + faceList[j].texCoord[k][0], faceList[j].texCoord[k][1], + faceList[j].texCoord[k - 1][0], faceList[j].texCoord[k - 1][1]); + } + fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[k - 1], faceList[j].index[k], fill, + faceList[j].texCoord[0][0], faceList[j].texCoord[0][1], + faceList[j].texCoord[k - 1][0], faceList[j].texCoord[k - 1][1], + faceList[j].texCoord[k][0], faceList[j].texCoord[k][1]); } - fprintf(ctl, "\n\t%x %d", flags, faceList[j].vertices); - for (k = 0; k < faceList[j].vertices; k++) - fprintf(ctl, " %d", faceList[j].index[k]); - fprintf(ctl, "%s", fill); - for (k = 0; k < faceList[j].vertices; k++) - fprintf(ctl, " %d %d", faceList[j].texCoord[k][0], faceList[j].texCoord[k][1]); } num = fscanf(fp, "\nCONNECTORS %d", &x); From 22bbd8dd51e3eaaf67e8361b3022a77741cc4581 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 17:12:17 +0100 Subject: [PATCH 056/142] simplipie: Fix missing space in frame animation directive print out. --- tools/conversion/simplipie.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/conversion/simplipie.c b/tools/conversion/simplipie.c index 15e73622b..be7377419 100644 --- a/tools/conversion/simplipie.c +++ b/tools/conversion/simplipie.c @@ -331,13 +331,13 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) if (faceList[j].cull) { - fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[2], faceList[j].index[1], faceList[j].index[0], fill, + fprintf(ctl, "\n\t%x 3 %d %d %d%s %d %d %d %d %d %d", flags, faceList[j].index[2], faceList[j].index[1], faceList[j].index[0], fill, faceList[j].texCoord[2][0], faceList[j].texCoord[2][1], faceList[j].texCoord[1][0], faceList[j].texCoord[1][1], faceList[j].texCoord[0][0], faceList[j].texCoord[0][1]); printf("+nocull(%d) ", j); } - fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[1], faceList[j].index[2], fill, + fprintf(ctl, "\n\t%x 3 %d %d %d%s %d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[1], faceList[j].index[2], fill, faceList[j].texCoord[0][0], faceList[j].texCoord[0][1], faceList[j].texCoord[1][0], faceList[j].texCoord[1][1], faceList[j].texCoord[2][0], faceList[j].texCoord[2][1]); @@ -347,12 +347,12 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) { if (faceList[j].cull) { - fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[k], faceList[j].index[k - 1], fill, + fprintf(ctl, "\n\t%x 3 %d %d %d%s %d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[k], faceList[j].index[k - 1], fill, faceList[j].texCoord[0][0], faceList[j].texCoord[0][1], faceList[j].texCoord[k][0], faceList[j].texCoord[k][1], faceList[j].texCoord[k - 1][0], faceList[j].texCoord[k - 1][1]); } - fprintf(ctl, "\n\t%x 3 %d %d %d %s%d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[k - 1], faceList[j].index[k], fill, + fprintf(ctl, "\n\t%x 3 %d %d %d%s %d %d %d %d %d %d", flags, faceList[j].index[0], faceList[j].index[k - 1], faceList[j].index[k], fill, faceList[j].texCoord[0][0], faceList[j].texCoord[0][1], faceList[j].texCoord[k - 1][0], faceList[j].texCoord[k - 1][1], faceList[j].texCoord[k][0], faceList[j].texCoord[k][1]); From 961d38b6ab5173e3be013e39c50811074856156b Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 17:20:29 +0100 Subject: [PATCH 057/142] Tessellate all structure models. --- data/base/structs/blaamnt1.pie | 44 ++-- data/base/structs/blaamnt2.pie | 44 ++-- data/base/structs/bladvlab.pie | 40 ++-- data/base/structs/blaerolb.pie | 49 +++-- data/base/structs/blbcfact.pie | 5 +- data/base/structs/blbdrdcm.pie | 8 +- data/base/structs/blbfact.pie | 5 +- data/base/structs/blbgen.pie | 5 +- data/base/structs/blbhq.pie | 5 +- data/base/structs/blbpower.pie | 5 +- data/base/structs/blbrbbnk.pie | 41 ++-- data/base/structs/blbrbcr1.pie | 20 +- data/base/structs/blbrbfac.pie | 113 +++++++---- data/base/structs/blbrbgen.pie | 353 ++++++++++++++++++++++----------- data/base/structs/blbrbtw1.pie | 74 ++++--- data/base/structs/blbrbtw2.pie | 65 ++++-- data/base/structs/blbrbwlh.pie | 11 +- data/base/structs/blbrepr2.pie | 5 +- data/base/structs/blbresch.pie | 5 +- data/base/structs/blbrlook.pie | 65 ++++-- data/base/structs/blbrmrtp.pie | 53 +++-- data/base/structs/blbrtowf.pie | 32 ++- data/base/structs/blbrtowr.pie | 56 ++++-- data/base/structs/blbunkms.pie | 20 +- data/base/structs/blcanpil.pie | 29 ++- data/base/structs/blcfact1.pie | 77 ++++--- data/base/structs/blderik.pie | 159 ++++++++++----- data/base/structs/bldrdcm0.pie | 124 ++++++++---- data/base/structs/blfact0.pie | 50 +++-- data/base/structs/blfact1.pie | 86 +++++--- data/base/structs/blfact2.pie | 125 ++++++++---- data/base/structs/blgaurdn.pie | 41 ++-- data/base/structs/blgrdnex.pie | 41 ++-- data/base/structs/blguard1.pie | 119 +++++++---- data/base/structs/blguard2.pie | 41 ++-- data/base/structs/blguard3.pie | 53 +++-- data/base/structs/blguardm.pie | 50 +++-- data/base/structs/blguardr.pie | 47 +++-- data/base/structs/blgyrlab.pie | 143 ++++++++----- data/base/structs/blhardpt.pie | 29 ++- data/base/structs/blhevlab.pie | 53 +++-- data/base/structs/blhowmnt.pie | 17 +- data/base/structs/blhq.pie | 330 +++++++++++++++++------------- data/base/structs/blhq2.pie | 59 ++++-- data/base/structs/blhq3.pie | 68 ++++--- data/base/structs/blhq4.pie | 101 ++++++---- data/base/structs/blindlab.pie | 35 ++-- data/base/structs/bllaslab.pie | 59 ++++-- data/base/structs/blmrtpit.pie | 41 ++-- data/base/structs/blmssilo.pie | 53 +++-- data/base/structs/blnanlab.pie | 68 ++++--- data/base/structs/blnavbak.pie | 8 +- data/base/structs/blnavbnk.pie | 17 +- data/base/structs/blpilbox.pie | 32 ++- data/base/structs/blpower0.pie | 119 +++++++---- data/base/structs/blpower4.pie | 179 +++++++++++------ data/base/structs/blpowlab.pie | 103 ++++++---- data/base/structs/blresch0.pie | 32 ++- data/base/structs/blresch4.pie | 188 ++++++++++++------ data/base/structs/blrotlab.pie | 20 +- data/base/structs/blrpair1.pie | 92 ++++++--- data/base/structs/blrpair2.pie | 44 ++-- data/base/structs/blrpair3.pie | 17 +- data/base/structs/blvfact0.pie | 77 ++++--- data/base/structs/blvfact1.pie | 137 ++++++++----- data/base/structs/blvfact2.pie | 197 ++++++++++++------ data/base/structs/blvtolpd.pie | 14 +- data/base/structs/blwall2.pie | 26 ++- data/base/structs/blwall3.pie | 26 ++- data/base/structs/blwallc1.pie | 107 ++++++---- data/base/structs/blwallc2.pie | 29 ++- data/base/structs/blwallc3.pie | 41 ++-- data/base/structs/blwallh.pie | 44 ++-- data/base/structs/dummy.pie | 38 ++-- data/base/structs/exrocket.pie | 38 ++-- data/base/structs/icdozer.pie | 59 ++++-- data/base/structs/mibar.pie | 50 +++-- data/base/structs/mibcool.pie | 5 +- data/base/structs/micool.pie | 146 +++++++++----- data/base/structs/minuke.pie | 137 ++++++++----- data/base/structs/mitrap2.pie | 28 ++- data/base/structs/mitrapst.pie | 92 ++++++--- data/base/structs/miupbase.pie | 41 ++-- data/base/structs/miupdish.pie | 74 ++++--- data/base/structs/miuptrim.pie | 26 ++- data/mp/structs/blgateh.pie | 67 ++++--- data/mp/structs/milasbas.pie | 47 +++-- data/mp/structs/stwpfcan.pie | 113 +++++++---- data/mp/structs/trmflmrp.pie | 44 ++-- 89 files changed, 3782 insertions(+), 1993 deletions(-) diff --git a/data/base/structs/blaamnt1.pie b/data/base/structs/blaamnt1.pie index 4de466491..3501531fe 100644 --- a/data/base/structs/blaamnt1.pie +++ b/data/base/structs/blaamnt1.pie @@ -22,20 +22,34 @@ POINTS 18 21 0 -53 61 0 18 36 0 49 -POLYGONS 14 - 200 4 3 2 1 0 18 176 18 165 4 165 4 176 - 200 4 7 6 5 4 18 165 18 176 4 176 4 165 - 200 4 6 3 0 5 18 165 18 176 4 175 4 165 - 200 4 2 9 8 1 18 176 18 165 4 165 4 176 - 200 4 9 11 10 8 18 176 18 165 4 165 4 175 - 200 4 11 7 4 10 18 165 18 176 4 176 4 165 - 200 4 11 9 2 3 206 0 216 0 220 5 214 14 - 200 4 7 11 3 6 203 5 206 0 214 14 208 14 - 200 4 13 12 10 4 82 60 63 60 68 48 83 48 - 200 4 14 13 4 5 124 60 82 60 83 48 119 48 - 200 4 16 15 0 1 105 60 63 60 68 48 104 48 - 200 4 17 16 1 8 124 60 105 60 104 48 119 48 - 200 4 15 14 5 0 89 60 63 60 65 48 87 48 - 200 4 12 17 8 10 112 60 75 60 78 48 109 48 +POLYGONS 28 + 200 3 3 2 1 18 176 18 165 4 165 + 200 3 3 1 0 18 176 4 165 4 176 + 200 3 7 6 5 18 165 18 176 4 176 + 200 3 7 5 4 18 165 4 176 4 165 + 200 3 6 3 0 18 165 18 176 4 175 + 200 3 6 0 5 18 165 4 175 4 165 + 200 3 2 9 8 18 176 18 165 4 165 + 200 3 2 8 1 18 176 4 165 4 176 + 200 3 9 11 10 18 176 18 165 4 165 + 200 3 9 10 8 18 176 4 165 4 175 + 200 3 11 7 4 18 165 18 176 4 176 + 200 3 11 4 10 18 165 4 176 4 165 + 200 3 11 9 2 206 0 216 0 220 5 + 200 3 11 2 3 206 0 220 5 214 14 + 200 3 7 11 3 203 5 206 0 214 14 + 200 3 7 3 6 203 5 214 14 208 14 + 200 3 13 12 10 82 60 63 60 68 48 + 200 3 13 10 4 82 60 68 48 83 48 + 200 3 14 13 4 124 60 82 60 83 48 + 200 3 14 4 5 124 60 83 48 119 48 + 200 3 16 15 0 105 60 63 60 68 48 + 200 3 16 0 1 105 60 68 48 104 48 + 200 3 17 16 1 124 60 105 60 104 48 + 200 3 17 1 8 124 60 104 48 119 48 + 200 3 15 14 5 89 60 63 60 65 48 + 200 3 15 5 0 89 60 65 48 87 48 + 200 3 12 17 8 112 60 75 60 78 48 + 200 3 12 8 10 112 60 78 48 109 48 CONNECTORS 1 0 0 25 diff --git a/data/base/structs/blaamnt2.pie b/data/base/structs/blaamnt2.pie index 2488bc8b8..c4c1a9da8 100644 --- a/data/base/structs/blaamnt2.pie +++ b/data/base/structs/blaamnt2.pie @@ -22,20 +22,34 @@ POINTS 18 21 0 -53 61 0 18 36 0 49 -POLYGONS 14 - 200 4 3 2 1 0 22 176 22 165 0 165 0 176 - 200 4 7 6 5 4 22 165 22 176 0 176 0 165 - 200 4 6 3 0 5 22 165 22 176 0 175 0 165 - 200 4 2 9 8 1 22 176 22 165 0 165 0 176 - 200 4 9 11 10 8 22 176 22 165 0 165 0 175 - 200 4 11 7 4 10 22 165 22 176 0 176 0 165 - 200 4 11 9 2 3 206 0 216 0 220 5 214 14 - 200 4 7 11 3 6 203 5 206 0 214 14 208 14 - 200 4 13 12 10 4 115 159 104 159 107 141 116 141 - 200 4 14 13 4 5 139 159 115 159 116 141 136 141 - 200 4 16 15 0 1 128 159 104 159 107 141 127 141 - 200 4 17 16 1 8 139 159 128 159 127 141 136 141 - 200 4 15 14 5 0 124 159 104 159 106 141 123 141 - 200 4 12 17 8 10 132 159 111 159 113 141 130 141 +POLYGONS 28 + 200 3 3 2 1 22 176 22 165 0 165 + 200 3 3 1 0 22 176 0 165 0 176 + 200 3 7 6 5 22 165 22 176 0 176 + 200 3 7 5 4 22 165 0 176 0 165 + 200 3 6 3 0 22 165 22 176 0 175 + 200 3 6 0 5 22 165 0 175 0 165 + 200 3 2 9 8 22 176 22 165 0 165 + 200 3 2 8 1 22 176 0 165 0 176 + 200 3 9 11 10 22 176 22 165 0 165 + 200 3 9 10 8 22 176 0 165 0 175 + 200 3 11 7 4 22 165 22 176 0 176 + 200 3 11 4 10 22 165 0 176 0 165 + 200 3 11 9 2 206 0 216 0 220 5 + 200 3 11 2 3 206 0 220 5 214 14 + 200 3 7 11 3 203 5 206 0 214 14 + 200 3 7 3 6 203 5 214 14 208 14 + 200 3 13 12 10 115 159 104 159 107 141 + 200 3 13 10 4 115 159 107 141 116 141 + 200 3 14 13 4 139 159 115 159 116 141 + 200 3 14 4 5 139 159 116 141 136 141 + 200 3 16 15 0 128 159 104 159 107 141 + 200 3 16 0 1 128 159 107 141 127 141 + 200 3 17 16 1 139 159 128 159 127 141 + 200 3 17 1 8 139 159 127 141 136 141 + 200 3 15 14 5 124 159 104 159 106 141 + 200 3 15 5 0 124 159 106 141 123 141 + 200 3 12 17 8 132 159 111 159 113 141 + 200 3 12 8 10 132 159 113 141 130 141 CONNECTORS 1 0 0 25 diff --git a/data/base/structs/bladvlab.pie b/data/base/structs/bladvlab.pie index e09a8e635..41d82d9bd 100644 --- a/data/base/structs/bladvlab.pie +++ b/data/base/structs/bladvlab.pie @@ -28,26 +28,38 @@ POINTS 24 13 0 -13 -11 0 12 52 0 52 -POLYGONS 22 - 200 4 3 2 1 0 172 1 191 1 194 29 166 29 +POLYGONS 34 + 200 3 3 2 1 172 1 191 1 194 29 + 200 3 3 1 0 172 1 194 29 166 29 200 3 6 5 4 173 31 182 40 178 41 200 3 6 4 7 173 31 178 41 171 36 200 3 9 8 7 156 57 156 36 171 36 200 3 4 10 9 178 41 178 57 156 57 200 3 9 7 4 156 57 171 36 178 41 - 200 4 2 12 11 1 210 0 195 0 197 28 218 28 - 200 4 7 8 14 13 195 0 211 0 218 28 197 28 - 200 4 10 4 16 15 211 0 196 0 198 28 217 28 - 200 4 20 19 18 17 195 0 211 0 218 28 197 28 - 200 4 12 6 21 11 218 0 224 0 224 28 220 28 - 200 4 6 7 13 21 224 0 229 0 227 28 224 28 - 200 4 4 5 22 16 229 0 223 0 224 28 227 28 - 200 4 5 20 17 22 223 0 218 0 220 28 224 28 - 200 4 19 3 0 18 190 1 172 1 166 29 194 29 - 200 4 8 9 23 14 190 1 172 1 166 29 194 29 - 200 4 9 10 15 23 172 1 190 1 194 29 166 29 + 200 3 2 12 11 210 0 195 0 197 28 + 200 3 2 11 1 210 0 197 28 218 28 + 200 3 7 8 14 195 0 211 0 218 28 + 200 3 7 14 13 195 0 218 28 197 28 + 200 3 10 4 16 211 0 196 0 198 28 + 200 3 10 16 15 211 0 198 28 217 28 + 200 3 20 19 18 195 0 211 0 218 28 + 200 3 20 18 17 195 0 218 28 197 28 + 200 3 12 6 21 218 0 224 0 224 28 + 200 3 12 21 11 218 0 224 28 220 28 + 200 3 6 7 13 224 0 229 0 227 28 + 200 3 6 13 21 224 0 227 28 224 28 + 200 3 4 5 22 229 0 223 0 224 28 + 200 3 4 22 16 229 0 224 28 227 28 + 200 3 5 20 17 223 0 218 0 220 28 + 200 3 5 17 22 223 0 220 28 224 28 + 200 3 19 3 0 190 1 172 1 166 29 + 200 3 19 0 18 190 1 166 29 194 29 + 200 3 8 9 23 190 1 172 1 166 29 + 200 3 8 23 14 190 1 166 29 194 29 + 200 3 9 10 15 172 1 190 1 194 29 + 200 3 9 15 23 172 1 194 29 166 29 200 3 3 19 20 156 57 156 35 172 35 200 3 12 2 3 177 42 178 57 156 57 200 3 3 20 12 156 57 172 35 177 42 200 3 6 12 5 182 40 177 42 173 31 - 200 3 20 5 12 172 35 173 31 177 42 + 200 3 20 5 12 172 35 173 31 177 42 \ No newline at end of file diff --git a/data/base/structs/blaerolb.pie b/data/base/structs/blaerolb.pie index 098110d14..ff46a421a 100644 --- a/data/base/structs/blaerolb.pie +++ b/data/base/structs/blaerolb.pie @@ -49,27 +49,42 @@ POINTS 45 -20 33 20 -51 0 -41 -51 0 42 -POLYGONS 23 - 200 4 3 2 1 0 229 36 248 36 248 36 229 36 +POLYGONS 38 + 200 3 3 2 1 229 36 248 36 248 36 + 200 3 3 1 0 229 36 248 36 229 36 200 3 4 0 1 229 1 229 36 248 36 200 3 3 5 2 229 36 229 1 248 36 - 200 4 9 8 7 6 88 33 57 33 57 56 88 56 - 200 4 13 12 11 10 57 33 88 33 88 56 57 56 - 200 4 8 9 15 14 219 37 183 37 183 30 219 30 - 200 4 17 16 12 13 219 37 183 37 183 30 219 30 - 200 4 20 19 14 18 57 58 95 58 95 70 57 70 - 200 4 22 21 16 17 95 58 57 58 57 70 95 70 + 200 3 9 8 7 88 33 57 33 57 56 + 200 3 9 7 6 88 33 57 56 88 56 + 200 3 13 12 11 57 33 88 33 88 56 + 200 3 13 11 10 57 33 88 56 57 56 + 200 3 8 9 15 219 37 183 37 183 30 + 200 3 8 15 14 219 37 183 30 219 30 + 200 3 17 16 12 219 37 183 37 183 30 + 200 3 17 12 13 219 37 183 30 219 30 + 200 3 20 19 14 57 58 95 58 95 70 + 200 3 20 14 18 57 58 95 70 57 70 + 200 3 22 21 16 95 58 57 58 57 70 + 200 3 22 16 17 95 58 57 70 95 70 200 3 25 24 23 235 50 221 37 221 50 200 3 28 27 26 221 37 235 50 221 50 - 200 4 5 3 0 4 15 34 2 68 54 68 41 34 - 200 4 2 5 4 1 2 68 15 33 41 33 54 68 - 200 4 32 31 30 29 183 37 221 37 221 50 183 50 - 200 4 27 28 24 25 73 69 73 58 79 58 79 69 - 200 4 36 35 34 33 72 69 72 58 80 58 80 69 + 200 3 5 3 0 15 34 2 68 54 68 + 200 3 5 0 4 15 34 54 68 41 34 + 200 3 2 5 4 2 68 15 33 41 33 + 200 3 2 4 1 2 68 41 33 54 68 + 200 3 32 31 30 183 37 221 37 221 50 + 200 3 32 30 29 183 37 221 50 183 50 + 200 3 27 28 24 73 69 73 58 79 58 + 200 3 27 24 25 73 69 79 58 79 69 + 200 3 36 35 34 72 69 72 58 80 58 + 200 3 36 34 33 72 69 80 58 80 69 200 3 33 34 37 235 50 221 37 221 50 200 3 35 36 38 221 37 235 50 221 50 - 200 4 42 41 40 39 15 34 2 68 54 68 41 34 - 200 4 44 42 39 43 54 68 41 33 15 33 2 68 - 200 4 41 44 43 40 229 36 248 36 248 36 229 36 + 200 3 42 41 40 15 34 2 68 54 68 + 200 3 42 40 39 15 34 54 68 41 34 + 200 3 44 42 39 54 68 41 33 15 33 + 200 3 44 39 43 54 68 15 33 2 68 + 200 3 41 44 43 229 36 248 36 248 36 + 200 3 41 43 40 229 36 248 36 229 36 200 3 39 40 43 229 1 229 36 248 36 - 200 3 41 42 44 229 36 229 1 248 36 + 200 3 41 42 44 229 36 229 1 248 36 \ No newline at end of file diff --git a/data/base/structs/blbcfact.pie b/data/base/structs/blbcfact.pie index 70f6228d8..48e8335fb 100644 --- a/data/base/structs/blbcfact.pie +++ b/data/base/structs/blbcfact.pie @@ -8,5 +8,6 @@ POINTS 4 67 0 -130 67 0 132 -67 0 132 -POLYGONS 1 - 200 4 3 2 1 0 193 62 256 62 256 192 193 192 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 193 62 256 62 256 192 + 200 3 3 1 0 193 62 256 192 193 192 \ No newline at end of file diff --git a/data/base/structs/blbdrdcm.pie b/data/base/structs/blbdrdcm.pie index 627b3e7e0..0f1ae48d7 100644 --- a/data/base/structs/blbdrdcm.pie +++ b/data/base/structs/blbdrdcm.pie @@ -8,6 +8,8 @@ POINTS 4 131 0 -130 131 0 131 -131 0 131 -POLYGONS 2 - 200 4 0 1 2 3 130 256 256 256 256 128 130 128 - 200 4 3 2 1 0 130 128 256 128 256 256 130 256 \ No newline at end of file +POLYGONS 4 + 200 3 0 1 2 130 256 256 256 256 128 + 200 3 0 2 3 130 256 256 128 130 128 + 200 3 3 2 1 130 128 256 128 256 256 + 200 3 3 1 0 130 128 256 256 130 256 \ No newline at end of file diff --git a/data/base/structs/blbfact.pie b/data/base/structs/blbfact.pie index 5e8f8bc63..74387c139 100644 --- a/data/base/structs/blbfact.pie +++ b/data/base/structs/blbfact.pie @@ -8,5 +8,6 @@ POINTS 4 195 0 -195 195 0 195 -195 0 195 -POLYGONS 1 - 200 4 3 2 1 0 0 0 193 0 193 192 0 192 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 0 0 193 0 193 192 + 200 3 3 1 0 0 0 193 192 0 192 \ No newline at end of file diff --git a/data/base/structs/blbgen.pie b/data/base/structs/blbgen.pie index fd28d3a5a..c46213438 100644 --- a/data/base/structs/blbgen.pie +++ b/data/base/structs/blbgen.pie @@ -8,5 +8,6 @@ POINTS 4 65 0 -65 65 0 65 -65 0 65 -POLYGONS 1 - 200 4 3 2 1 0 192 0 256 0 256 64 192 64 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 192 0 256 0 256 64 + 200 3 3 1 0 192 0 256 64 192 64 \ No newline at end of file diff --git a/data/base/structs/blbhq.pie b/data/base/structs/blbhq.pie index e53a6505d..b3609c92c 100644 --- a/data/base/structs/blbhq.pie +++ b/data/base/structs/blbhq.pie @@ -8,5 +8,6 @@ POINTS 4 131 0 -131 131 0 131 -131 0 131 -POLYGONS 1 - 200 4 3 2 1 0 130 0 256 0 256 129 130 129 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 130 0 256 0 256 129 + 200 3 3 1 0 130 0 256 129 130 129 \ No newline at end of file diff --git a/data/base/structs/blbpower.pie b/data/base/structs/blbpower.pie index 32e96cab2..284b32af2 100644 --- a/data/base/structs/blbpower.pie +++ b/data/base/structs/blbpower.pie @@ -8,5 +8,6 @@ POINTS 4 131 0 -131 131 0 131 -131 0 131 -POLYGONS 1 - 200 4 3 2 1 0 0 0 129 0 129 129 0 129 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 0 0 129 0 129 129 + 200 3 3 1 0 0 0 129 129 0 129 \ No newline at end of file diff --git a/data/base/structs/blbrbbnk.pie b/data/base/structs/blbrbbnk.pie index 7aa1033d6..5f1eb7f61 100644 --- a/data/base/structs/blbrbbnk.pie +++ b/data/base/structs/blbrbbnk.pie @@ -31,17 +31,30 @@ POINTS 27 -36 20 -35 36 20 -35 36 20 36 -POLYGONS 13 - 200 4 3 2 1 0 168 126 168 94 198 94 198 126 - 200 4 4 5 6 7 190 142 219 142 219 139 190 139 - 200 4 7 6 5 4 190 139 219 139 219 142 190 142 - 200 4 8 9 10 11 219 142 190 142 190 139 219 139 - 200 4 11 10 9 8 219 139 190 139 190 142 219 142 - 200 4 15 14 13 12 185 17 184 17 169 17 170 17 - 200 4 17 14 15 16 184 23 184 17 185 17 185 23 - 200 4 19 18 14 17 232 99 232 131 220 131 220 99 - 200 4 18 20 13 14 234 129 234 103 219 101 219 131 - 200 4 22 19 17 21 232 102 232 129 220 131 220 99 - 200 4 0 1 24 23 158 58 166 58 166 46 158 46 - 200 4 2 3 26 25 166 58 158 58 158 46 166 46 - 200 4 20 22 21 13 232 129 232 102 220 99 220 131 \ No newline at end of file +POLYGONS 26 + 200 3 3 2 1 168 126 168 94 198 94 + 200 3 3 1 0 168 126 198 94 198 126 + 200 3 4 5 6 190 142 219 142 219 139 + 200 3 4 6 7 190 142 219 139 190 139 + 200 3 7 6 5 190 139 219 139 219 142 + 200 3 7 5 4 190 139 219 142 190 142 + 200 3 8 9 10 219 142 190 142 190 139 + 200 3 8 10 11 219 142 190 139 219 139 + 200 3 11 10 9 219 139 190 139 190 142 + 200 3 11 9 8 219 139 190 142 219 142 + 200 3 15 14 13 185 17 184 17 169 17 + 200 3 15 13 12 185 17 169 17 170 17 + 200 3 17 14 15 184 23 184 17 185 17 + 200 3 17 15 16 184 23 185 17 185 23 + 200 3 19 18 14 232 99 232 131 220 131 + 200 3 19 14 17 232 99 220 131 220 99 + 200 3 18 20 13 234 129 234 103 219 101 + 200 3 18 13 14 234 129 219 101 219 131 + 200 3 22 19 17 232 102 232 129 220 131 + 200 3 22 17 21 232 102 220 131 220 99 + 200 3 0 1 24 158 58 166 58 166 46 + 200 3 0 24 23 158 58 166 46 158 46 + 200 3 2 3 26 166 58 158 58 158 46 + 200 3 2 26 25 166 58 158 46 166 46 + 200 3 20 22 21 232 129 232 102 220 99 + 200 3 20 21 13 232 129 220 99 220 131 \ No newline at end of file diff --git a/data/base/structs/blbrbcr1.pie b/data/base/structs/blbrbcr1.pie index d88645c7e..241ab0e77 100644 --- a/data/base/structs/blbrbcr1.pie +++ b/data/base/structs/blbrbcr1.pie @@ -20,15 +20,21 @@ POINTS 16 -65 0 -7 8 0 7 -65 0 7 -POLYGONS 12 - 200 4 3 2 1 0 224 20 224 0 228 0 228 20 - 200 4 7 6 5 4 224 20 224 0 228 0 228 20 - 200 4 9 4 5 8 158 27 162 27 162 10 158 10 - 200 4 6 7 11 10 162 10 162 27 158 27 158 10 +POLYGONS 18 + 200 3 3 2 1 224 20 224 0 228 0 + 200 3 3 1 0 224 20 228 0 228 20 + 200 3 7 6 5 224 20 224 0 228 0 + 200 3 7 5 4 224 20 228 0 228 20 + 200 3 9 4 5 158 27 162 27 162 10 + 200 3 9 5 8 158 27 162 10 158 10 + 200 3 6 7 11 162 10 162 27 158 27 + 200 3 6 11 10 162 10 158 27 158 10 200 3 6 10 8 162 21 158 21 158 16 200 3 8 5 6 158 16 162 16 162 21 - 200 4 13 0 1 12 158 28 162 28 162 9 158 9 - 200 4 2 3 15 14 162 9 162 28 158 28 158 9 + 200 3 13 0 1 158 28 162 28 162 9 + 200 3 13 1 12 158 28 162 9 158 9 + 200 3 2 3 15 162 9 162 28 158 28 + 200 3 2 15 14 162 9 158 28 158 9 200 3 2 14 12 162 21 158 21 158 16 200 3 12 1 2 158 16 162 16 162 21 200 3 0 13 15 162 16 158 16 158 21 diff --git a/data/base/structs/blbrbfac.pie b/data/base/structs/blbrbfac.pie index 4e1abc996..6e5f1a709 100644 --- a/data/base/structs/blbrbfac.pie +++ b/data/base/structs/blbrbfac.pie @@ -64,43 +64,80 @@ POINTS 60 -32 37 57 -32 2 57 -31 2 57 -POLYGONS 39 - 200 4 3 2 1 0 128 49 113 49 113 46 128 46 - 200 4 7 6 5 4 113 46 113 33 128 33 128 46 - 200 4 11 10 9 8 113 33 113 7 128 7 128 33 - 200 4 14 13 12 3 28 1 79 1 79 56 28 56 - 200 4 15 16 17 18 195 27 213 27 213 21 195 21 - 200 4 18 17 16 15 195 21 213 21 213 27 195 27 - 200 4 19 20 21 22 77 48 46 48 46 56 77 56 - 200 4 22 21 20 19 77 56 46 56 46 48 77 48 - 200 4 23 24 20 19 46 56 77 56 77 48 46 48 - 200 4 19 20 24 23 46 48 77 48 77 56 46 56 - 200 4 24 25 21 20 46 56 77 56 77 48 46 48 - 200 4 20 21 25 24 46 48 77 48 77 56 46 56 - 200 4 25 26 22 21 46 56 77 56 77 48 46 48 - 200 4 21 22 26 25 46 48 77 48 77 56 46 56 - 200 4 26 23 19 22 46 56 77 56 77 48 46 48 - 200 4 22 19 23 26 46 48 77 48 77 56 46 56 - 200 4 27 28 29 30 194 0 194 9 224 9 224 0 - 200 4 30 29 28 27 224 0 224 9 194 9 194 0 - 200 4 34 33 32 31 203 21 196 21 196 10 203 10 - 200 4 33 36 35 32 196 21 193 21 193 10 196 10 - 200 4 31 32 38 37 212 9 206 9 206 20 212 15 - 200 4 32 35 39 38 206 9 203 9 203 20 206 20 - 200 4 35 36 40 39 212 9 203 9 203 20 212 20 - 200 4 36 33 41 40 203 9 206 9 206 20 203 20 - 200 4 33 34 42 41 206 9 212 9 212 15 206 20 - 200 4 34 31 37 42 203 9 212 9 212 15 203 15 - 200 4 46 45 44 43 19 62 9 62 9 0 19 0 - 200 4 45 48 47 44 9 62 0 62 0 0 9 0 - 200 4 48 50 49 47 97 62 81 62 81 0 97 0 - 200 4 49 51 43 47 192 28 164 28 164 13 192 12 +POLYGONS 76 + 200 3 3 2 1 128 49 113 49 113 46 + 200 3 3 1 0 128 49 113 46 128 46 + 200 3 7 6 5 113 46 113 33 128 33 + 200 3 7 5 4 113 46 128 33 128 46 + 200 3 11 10 9 113 33 113 7 128 7 + 200 3 11 9 8 113 33 128 7 128 33 + 200 3 14 13 12 28 1 79 1 79 56 + 200 3 14 12 3 28 1 79 56 28 56 + 200 3 15 16 17 195 27 213 27 213 21 + 200 3 15 17 18 195 27 213 21 195 21 + 200 3 18 17 16 195 21 213 21 213 27 + 200 3 18 16 15 195 21 213 27 195 27 + 200 3 19 20 21 77 48 46 48 46 56 + 200 3 19 21 22 77 48 46 56 77 56 + 200 3 22 21 20 77 56 46 56 46 48 + 200 3 22 20 19 77 56 46 48 77 48 + 200 3 23 24 20 46 56 77 56 77 48 + 200 3 23 20 19 46 56 77 48 46 48 + 200 3 19 20 24 46 48 77 48 77 56 + 200 3 19 24 23 46 48 77 56 46 56 + 200 3 24 25 21 46 56 77 56 77 48 + 200 3 24 21 20 46 56 77 48 46 48 + 200 3 20 21 25 46 48 77 48 77 56 + 200 3 20 25 24 46 48 77 56 46 56 + 200 3 25 26 22 46 56 77 56 77 48 + 200 3 25 22 21 46 56 77 48 46 48 + 200 3 21 22 26 46 48 77 48 77 56 + 200 3 21 26 25 46 48 77 56 46 56 + 200 3 26 23 19 46 56 77 56 77 48 + 200 3 26 19 22 46 56 77 48 46 48 + 200 3 22 19 23 46 48 77 48 77 56 + 200 3 22 23 26 46 48 77 56 46 56 + 200 3 27 28 29 194 0 194 9 224 9 + 200 3 27 29 30 194 0 224 9 224 0 + 200 3 30 29 28 224 0 224 9 194 9 + 200 3 30 28 27 224 0 194 9 194 0 + 200 3 34 33 32 203 21 196 21 196 10 + 200 3 34 32 31 203 21 196 10 203 10 + 200 3 33 36 35 196 21 193 21 193 10 + 200 3 33 35 32 196 21 193 10 196 10 + 200 3 31 32 38 212 9 206 9 206 20 + 200 3 31 38 37 212 9 206 20 212 15 + 200 3 32 35 39 206 9 203 9 203 20 + 200 3 32 39 38 206 9 203 20 206 20 + 200 3 35 36 40 212 9 203 9 203 20 + 200 3 35 40 39 212 9 203 20 212 20 + 200 3 36 33 41 203 9 206 9 206 20 + 200 3 36 41 40 203 9 206 20 203 20 + 200 3 33 34 42 206 9 212 9 212 15 + 200 3 33 42 41 206 9 212 15 206 20 + 200 3 34 31 37 203 9 212 9 212 15 + 200 3 34 37 42 203 9 212 15 203 15 + 200 3 46 45 44 19 62 9 62 9 0 + 200 3 46 44 43 19 62 9 0 19 0 + 200 3 45 48 47 9 62 0 62 0 0 + 200 3 45 47 44 9 62 0 0 9 0 + 200 3 48 50 49 97 62 81 62 81 0 + 200 3 48 49 47 97 62 81 0 97 0 + 200 3 49 51 43 192 28 164 28 164 13 + 200 3 49 43 47 192 28 164 13 192 12 200 3 43 44 47 164 13 178 0 192 12 - 200 4 46 52 50 48 192 13 192 28 164 28 164 12 + 200 3 46 52 50 192 13 192 28 164 28 + 200 3 46 50 48 192 13 164 28 164 12 200 3 45 46 48 178 0 192 13 164 12 - 200 4 6 53 10 11 36 35 24 0 72 0 72 35 - 200 4 7 1 53 6 36 52 24 52 24 0 36 35 - 200 4 1 7 4 54 159 0 159 11 143 11 143 0 - 200 4 6 11 8 5 159 11 159 43 143 43 143 11 - 200 4 58 57 56 55 111 52 98 52 98 52 111 52 - 200 4 10 53 59 9 98 0 98 52 111 52 111 0 \ No newline at end of file + 200 3 6 53 10 36 35 24 0 72 0 + 200 3 6 10 11 36 35 72 0 72 35 + 200 3 7 1 53 36 52 24 52 24 0 + 200 3 7 53 6 36 52 24 0 36 35 + 200 3 1 7 4 159 0 159 11 143 11 + 200 3 1 4 54 159 0 143 11 143 0 + 200 3 6 11 8 159 11 159 43 143 43 + 200 3 6 8 5 159 11 143 43 143 11 + 200 3 58 57 56 111 52 98 52 98 52 + 200 3 58 56 55 111 52 98 52 111 52 + 200 3 10 53 59 98 0 98 52 111 52 + 200 3 10 59 9 98 0 111 52 111 0 \ No newline at end of file diff --git a/data/base/structs/blbrbgen.pie b/data/base/structs/blbrbgen.pie index ce3801533..008b3ad47 100644 --- a/data/base/structs/blbrbgen.pie +++ b/data/base/structs/blbrbgen.pie @@ -148,79 +148,147 @@ POINTS 144 23 41 41 44 37 48 25 41 47 -POLYGONS 152 - 200 4 79 84 83 77 138 49 139 95 125 95 125 49 - 200 4 77 83 82 73 138 49 139 95 125 95 125 49 - 200 4 76 73 82 81 125 49 138 49 138 95 125 95 - 200 4 74 75 85 86 125 49 138 49 138 95 125 95 - 200 4 87 78 74 86 125 95 125 49 138 49 138 95 - 200 4 88 80 78 87 125 95 125 49 138 49 138 95 - 200 4 80 79 77 78 124 62 112 63 112 49 124 49 - 200 4 78 77 73 74 124 62 112 63 112 49 124 49 - 200 4 76 75 74 73 112 49 124 49 124 62 112 62 - 200 4 75 76 81 85 138 49 125 49 125 95 138 95 - 200 4 3 0 4 7 244 10 250 10 250 41 244 41 - 200 4 0 1 5 4 244 10 250 10 250 41 244 41 - 200 4 3 2 1 0 251 10 244 11 244 0 251 0 - 200 4 79 80 88 84 125 49 138 49 138 95 125 95 - 200 4 1 2 6 5 244 10 250 10 250 41 244 41 - 200 4 33 27 30 34 72 96 90 96 90 62 72 62 - 200 4 34 30 27 33 72 62 90 62 90 96 72 96 - 200 4 100 101 23 24 70 130 111 129 111 99 70 99 - 200 4 24 23 101 100 70 99 111 99 111 129 70 130 - 200 4 99 53 18 17 58 80 58 58 70 58 70 80 - 200 4 17 18 53 99 70 80 70 58 58 58 58 80 - 200 4 47 48 49 50 168 28 168 40 183 40 182 28 - 200 4 50 49 48 47 182 28 183 40 168 40 168 28 - 200 4 47 50 51 52 250 52 254 52 253 44 248 44 - 200 4 52 51 50 47 248 44 253 44 254 52 250 52 - 200 4 49 48 53 54 248 52 254 51 254 44 249 45 - 200 4 54 53 48 49 249 45 254 44 254 51 248 52 - 200 4 103 102 25 26 111 140 70 141 70 151 111 150 - 200 4 26 25 102 103 111 150 70 151 70 141 111 140 - 200 4 20 21 12 22 50 80 70 80 70 58 50 58 - 200 4 22 12 21 20 50 58 70 58 70 80 50 80 - 200 4 107 106 10 11 170 28 170 40 183 40 182 28 - 200 4 11 10 106 107 182 28 183 40 170 40 170 28 - 200 4 106 105 15 10 252 51 252 43 249 44 248 52 - 200 4 10 15 105 106 248 52 249 44 252 43 252 51 - 200 4 104 39 20 22 53 58 53 80 50 80 50 58 - 200 4 22 20 39 104 50 58 50 80 53 80 53 58 - 200 4 45 42 39 44 170 42 178 42 178 69 170 69 - 200 4 45 46 41 42 178 42 179 69 170 69 170 42 - 200 4 41 46 43 40 170 42 178 42 178 69 170 69 - 200 4 46 45 44 43 213 83 214 29 183 29 183 83 - 200 4 57 60 65 58 5 104 10 101 10 64 0 94 - 200 4 58 65 60 57 0 94 10 64 10 101 5 104 - 200 4 120 119 8 9 167 40 167 28 167 28 167 40 - 200 4 9 8 119 120 167 40 167 28 167 28 167 40 - 200 4 98 97 118 117 103 99 103 150 75 150 75 99 - 200 4 114 113 93 109 108 95 108 62 94 62 94 95 - 200 4 109 93 113 114 94 95 94 62 108 62 108 95 - 200 4 119 120 106 107 167 28 167 40 170 40 170 28 - 200 4 107 106 120 119 170 28 170 40 167 40 167 28 - 200 4 115 116 96 95 74 62 74 96 87 96 87 62 - 200 4 95 96 116 115 87 62 87 96 74 96 74 62 - 200 4 105 106 9 14 252 43 252 51 254 51 254 43 - 200 4 14 9 106 105 254 43 254 51 252 51 252 43 - 200 4 118 37 121 122 75 150 70 151 70 123 75 123 - 200 4 123 124 115 32 72 77 74 77 74 62 72 62 - 200 4 32 115 124 123 72 62 74 62 74 77 72 77 +POLYGONS 269 + 200 3 79 84 83 138 49 139 95 125 95 + 200 3 79 83 77 138 49 125 95 125 49 + 200 3 77 83 82 138 49 139 95 125 95 + 200 3 77 82 73 138 49 125 95 125 49 + 200 3 76 73 82 125 49 138 49 138 95 + 200 3 76 82 81 125 49 138 95 125 95 + 200 3 74 75 85 125 49 138 49 138 95 + 200 3 74 85 86 125 49 138 95 125 95 + 200 3 87 78 74 125 95 125 49 138 49 + 200 3 87 74 86 125 95 138 49 138 95 + 200 3 88 80 78 125 95 125 49 138 49 + 200 3 88 78 87 125 95 138 49 138 95 + 200 3 80 79 77 124 62 112 63 112 49 + 200 3 80 77 78 124 62 112 49 124 49 + 200 3 78 77 73 124 62 112 63 112 49 + 200 3 78 73 74 124 62 112 49 124 49 + 200 3 76 75 74 112 49 124 49 124 62 + 200 3 76 74 73 112 49 124 62 112 62 + 200 3 75 76 81 138 49 125 49 125 95 + 200 3 75 81 85 138 49 125 95 138 95 + 200 3 3 0 4 244 10 250 10 250 41 + 200 3 3 4 7 244 10 250 41 244 41 + 200 3 0 1 5 244 10 250 10 250 41 + 200 3 0 5 4 244 10 250 41 244 41 + 200 3 3 2 1 251 10 244 11 244 0 + 200 3 3 1 0 251 10 244 0 251 0 + 200 3 79 80 88 125 49 138 49 138 95 + 200 3 79 88 84 125 49 138 95 125 95 + 200 3 1 2 6 244 10 250 10 250 41 + 200 3 1 6 5 244 10 250 41 244 41 + 200 3 33 27 30 72 96 90 96 90 62 + 200 3 33 30 34 72 96 90 62 72 62 + 200 3 34 30 27 72 62 90 62 90 96 + 200 3 34 27 33 72 62 90 96 72 96 + 200 3 100 101 23 70 130 111 129 111 99 + 200 3 100 23 24 70 130 111 99 70 99 + 200 3 24 23 101 70 99 111 99 111 129 + 200 3 24 101 100 70 99 111 129 70 130 + 200 3 99 53 18 58 80 58 58 70 58 + 200 3 99 18 17 58 80 70 58 70 80 + 200 3 17 18 53 70 80 70 58 58 58 + 200 3 17 53 99 70 80 58 58 58 80 + 200 3 47 48 49 168 28 168 40 183 40 + 200 3 47 49 50 168 28 183 40 182 28 + 200 3 50 49 48 182 28 183 40 168 40 + 200 3 50 48 47 182 28 168 40 168 28 + 200 3 47 50 51 250 52 254 52 253 44 + 200 3 47 51 52 250 52 253 44 248 44 + 200 3 52 51 50 248 44 253 44 254 52 + 200 3 52 50 47 248 44 254 52 250 52 + 200 3 49 48 53 248 52 254 51 254 44 + 200 3 49 53 54 248 52 254 44 249 45 + 200 3 54 53 48 249 45 254 44 254 51 + 200 3 54 48 49 249 45 254 51 248 52 + 200 3 103 102 25 111 140 70 141 70 151 + 200 3 103 25 26 111 140 70 151 111 150 + 200 3 26 25 102 111 150 70 151 70 141 + 200 3 26 102 103 111 150 70 141 111 140 + 200 3 20 21 12 50 80 70 80 70 58 + 200 3 20 12 22 50 80 70 58 50 58 + 200 3 22 12 21 50 58 70 58 70 80 + 200 3 22 21 20 50 58 70 80 50 80 + 200 3 107 106 10 170 28 170 40 183 40 + 200 3 107 10 11 170 28 183 40 182 28 + 200 3 11 10 106 182 28 183 40 170 40 + 200 3 11 106 107 182 28 170 40 170 28 + 200 3 106 105 15 252 51 252 43 249 44 + 200 3 106 15 10 252 51 249 44 248 52 + 200 3 10 15 105 248 52 249 44 252 43 + 200 3 10 105 106 248 52 252 43 252 51 + 200 3 104 39 20 53 58 53 80 50 80 + 200 3 104 20 22 53 58 50 80 50 58 + 200 3 22 20 39 50 58 50 80 53 80 + 200 3 22 39 104 50 58 53 80 53 58 + 200 3 45 42 39 170 42 178 42 178 69 + 200 3 45 39 44 170 42 178 69 170 69 + 200 3 45 46 41 178 42 179 69 170 69 + 200 3 45 41 42 178 42 170 69 170 42 + 200 3 41 46 43 170 42 178 42 178 69 + 200 3 41 43 40 170 42 178 69 170 69 + 200 3 46 45 44 213 83 214 29 183 29 + 200 3 46 44 43 213 83 183 29 183 83 + 200 3 57 60 65 5 104 10 101 10 64 + 200 3 57 65 58 5 104 10 64 0 94 + 200 3 58 65 60 0 94 10 64 10 101 + 200 3 58 60 57 0 94 10 101 5 104 + 200 3 120 119 8 167 40 167 28 167 28 + 200 3 120 8 9 167 40 167 28 167 40 + 200 3 9 8 119 167 40 167 28 167 28 + 200 3 9 119 120 167 40 167 28 167 40 + 200 3 98 97 118 103 99 103 150 75 150 + 200 3 98 118 117 103 99 75 150 75 99 + 200 3 114 113 93 108 95 108 62 94 62 + 200 3 114 93 109 108 95 94 62 94 95 + 200 3 109 93 113 94 95 94 62 108 62 + 200 3 109 113 114 94 95 108 62 108 95 + 200 3 119 120 106 167 28 167 40 170 40 + 200 3 119 106 107 167 28 170 40 170 28 + 200 3 107 106 120 170 28 170 40 167 40 + 200 3 107 120 119 170 28 167 40 167 28 + 200 3 115 116 96 74 62 74 96 87 96 + 200 3 115 96 95 74 62 87 96 87 62 + 200 3 95 96 116 87 62 87 96 74 96 + 200 3 95 116 115 87 62 74 96 74 62 + 200 3 105 106 9 252 43 252 51 254 51 + 200 3 105 9 14 252 43 254 51 254 43 + 200 3 14 9 106 254 43 254 51 252 51 + 200 3 14 106 105 254 43 252 51 252 43 + 200 3 118 37 121 75 150 70 151 70 123 + 200 3 118 121 122 75 150 70 123 75 123 + 200 3 123 124 115 72 77 74 77 74 62 + 200 3 123 115 32 72 77 74 62 72 62 + 200 3 32 115 124 72 62 74 62 74 77 + 200 3 32 124 123 72 62 74 77 72 77 200 3 125 123 32 73 62 90 77 90 62 200 3 32 123 125 90 62 90 77 73 62 200 3 71 69 55 1 82 0 74 0 92 200 3 55 69 71 0 92 0 74 1 82 - 200 4 56 127 134 133 24 83 26 83 26 121 24 121 - 200 4 36 117 122 121 70 99 75 99 75 123 70 123 - 200 4 132 131 29 113 108 76 111 83 111 62 108 62 - 200 4 113 29 131 132 108 62 111 62 111 83 108 76 - 200 4 126 57 133 134 26 125 24 126 24 121 26 121 - 200 4 56 129 128 57 217 36 222 36 222 65 218 65 - 200 4 57 128 129 56 218 65 222 65 222 36 217 36 - 200 4 131 132 114 108 111 83 108 76 108 95 111 95 - 200 4 108 114 132 131 111 95 108 95 108 76 111 83 - 200 4 124 56 130 31 74 77 73 77 72 80 72 96 - 200 4 31 130 56 124 72 96 72 80 73 77 74 77 + 200 3 56 127 134 24 83 26 83 26 121 + 200 3 56 134 133 24 83 26 121 24 121 + 200 3 36 117 122 70 99 75 99 75 123 + 200 3 36 122 121 70 99 75 123 70 123 + 200 3 132 131 29 108 76 111 83 111 62 + 200 3 132 29 113 108 76 111 62 108 62 + 200 3 113 29 131 108 62 111 62 111 83 + 200 3 113 131 132 108 62 111 83 108 76 + 200 3 126 57 133 26 125 24 126 24 121 + 200 3 126 133 134 26 125 24 121 26 121 + 200 3 56 129 128 217 36 222 36 222 65 + 200 3 56 128 57 217 36 222 65 218 65 + 200 3 57 128 129 218 65 222 65 222 36 + 200 3 57 129 56 218 65 222 36 217 36 + 200 3 131 132 114 111 83 108 76 108 95 + 200 3 131 114 108 111 83 108 95 111 95 + 200 3 108 114 132 111 95 108 95 108 76 + 200 3 108 132 131 111 95 108 76 111 83 + 200 3 124 56 130 74 77 73 77 72 80 + 200 3 124 130 31 74 77 72 80 72 96 + 200 3 31 130 56 72 96 72 80 73 77 + 200 3 31 56 124 72 96 73 77 74 77 200 3 116 124 31 74 96 74 77 72 96 200 3 31 124 116 72 96 74 77 74 96 200 3 129 56 129 222 36 217 36 223 36 @@ -229,75 +297,124 @@ POLYGONS 152 200 3 56 129 127 2 102 9 101 1 100 200 3 130 56 123 72 80 73 77 72 77 200 3 123 56 130 72 77 73 77 72 80 - 200 4 123 125 29 31 90 77 73 62 72 62 90 96 - 200 4 31 29 125 123 90 96 72 62 73 62 90 77 - 200 4 29 108 28 31 72 62 72 94 72 96 90 96 - 200 4 31 28 108 29 90 96 72 96 72 94 72 62 + 200 3 123 125 29 90 77 73 62 72 62 + 200 3 123 29 31 90 77 72 62 90 96 + 200 3 31 29 125 90 96 72 62 73 62 + 200 3 31 125 123 90 96 73 62 90 77 + 200 3 29 108 28 72 62 72 94 72 96 + 200 3 29 28 31 72 62 72 96 90 96 + 200 3 31 28 108 90 96 72 96 72 94 + 200 3 31 108 29 90 96 72 94 72 62 200 3 70 139 65 0 74 3 83 10 64 200 3 65 139 70 10 64 3 83 0 74 200 3 68 70 65 4 63 0 73 10 63 200 3 65 70 68 10 63 0 73 4 63 - 200 4 70 72 137 138 55 124 47 125 47 92 55 95 - 200 4 139 70 72 58 3 83 0 74 2 84 0 93 - 200 4 58 72 70 139 0 93 2 84 0 74 3 83 - 200 4 72 58 55 137 46 125 36 125 36 88 46 92 - 200 4 135 55 59 129 2 100 0 92 12 101 9 101 - 200 4 129 59 55 135 9 101 12 101 0 92 2 100 - 200 4 138 137 140 69 55 95 47 92 47 91 55 87 + 200 3 70 72 137 55 124 47 125 47 92 + 200 3 70 137 138 55 124 47 92 55 95 + 200 3 139 70 72 3 83 0 74 2 84 + 200 3 139 72 58 3 83 2 84 0 93 + 200 3 58 72 70 0 93 2 84 0 74 + 200 3 58 70 139 0 93 0 74 3 83 + 200 3 72 58 55 46 125 36 125 36 88 + 200 3 72 55 137 46 125 36 88 46 92 + 200 3 135 55 59 2 100 0 92 12 101 + 200 3 135 59 129 2 100 12 101 9 101 + 200 3 129 59 55 9 101 12 101 0 92 + 200 3 129 55 135 9 101 0 92 2 100 + 200 3 138 137 140 55 95 47 92 47 91 + 200 3 138 140 69 55 95 47 91 55 87 200 3 137 141 140 46 92 45 91 46 91 200 3 69 136 110 0 74 4 63 11 65 200 3 110 136 69 11 65 4 63 0 74 - 200 4 55 111 112 59 0 92 12 65 12 66 12 101 - 200 4 59 112 111 55 12 101 12 66 12 65 0 92 - 200 4 55 142 110 111 0 92 3 70 11 65 11 65 - 200 4 111 110 142 55 11 65 11 65 3 70 0 92 - 200 4 55 71 140 141 36 88 46 85 46 91 45 91 + 200 3 55 111 112 0 92 12 65 12 66 + 200 3 55 112 59 0 92 12 66 12 101 + 200 3 59 112 111 12 101 12 66 12 65 + 200 3 59 111 55 12 101 12 65 0 92 + 200 3 55 142 110 0 92 3 70 11 65 + 200 3 55 110 111 0 92 11 65 11 65 + 200 3 111 110 142 11 65 11 65 3 70 + 200 3 111 142 55 11 65 3 70 0 92 + 200 3 55 71 140 36 88 46 85 46 91 + 200 3 55 140 141 36 88 46 91 45 91 200 3 140 143 69 47 91 47 87 55 87 200 3 142 55 69 3 70 0 92 0 74 200 3 69 55 142 0 74 0 92 3 70 200 3 71 69 143 47 85 55 87 47 87 - 200 4 68 70 69 67 68 126 56 125 56 88 68 83 + 200 3 68 70 69 68 126 56 125 56 88 + 200 3 68 69 67 68 126 56 88 68 83 200 3 136 69 67 4 63 0 74 3 63 200 3 67 69 136 3 63 0 74 4 63 - 200 4 55 58 126 127 35 87 35 124 26 125 26 83 + 200 3 55 58 126 35 87 35 124 26 125 + 200 3 55 126 127 35 87 26 125 26 83 200 3 55 135 127 0 92 2 100 1 100 200 3 127 135 55 1 100 2 100 0 92 - 200 4 128 129 59 60 222 65 223 36 226 36 224 66 - 200 4 60 59 129 128 224 66 226 36 223 36 222 65 - 200 4 59 61 62 60 227 36 239 37 239 62 225 65 - 200 4 60 62 61 59 225 65 239 62 239 37 227 36 - 200 4 64 67 68 65 226 36 217 37 219 66 225 65 - 200 4 65 68 67 64 225 65 219 66 217 37 226 36 - 200 4 63 64 65 66 239 36 226 36 225 65 239 61 - 200 4 66 65 64 63 239 61 225 65 226 36 239 36 + 200 3 128 129 59 222 65 223 36 226 36 + 200 3 128 59 60 222 65 226 36 224 66 + 200 3 60 59 129 224 66 226 36 223 36 + 200 3 60 129 128 224 66 223 36 222 65 + 200 3 59 61 62 227 36 239 37 239 62 + 200 3 59 62 60 227 36 239 62 225 65 + 200 3 60 62 61 225 65 239 62 239 37 + 200 3 60 61 59 225 65 239 37 227 36 + 200 3 64 67 68 226 36 217 37 219 66 + 200 3 64 68 65 226 36 219 66 225 65 + 200 3 65 68 67 225 65 219 66 217 37 + 200 3 65 67 64 225 65 217 37 226 36 + 200 3 63 64 65 239 36 226 36 225 65 + 200 3 63 65 66 239 36 225 65 239 61 + 200 3 66 65 64 239 61 225 65 226 36 + 200 3 66 64 63 239 61 226 36 239 36 200 3 111 110 64 11 65 11 65 12 65 200 3 64 110 111 12 65 11 65 11 65 200 3 112 111 64 12 66 12 65 13 65 200 3 64 111 112 13 65 12 65 12 66 200 3 110 67 64 11 65 3 63 12 65 200 3 64 67 110 12 65 3 63 11 65 - 200 4 60 91 92 65 11 101 18 100 18 64 11 64 - 200 4 65 92 91 60 11 64 18 64 18 100 11 101 - 200 4 108 109 94 28 111 95 94 95 94 97 111 97 - 200 4 28 94 109 108 111 97 94 97 94 95 111 95 + 200 3 60 91 92 11 101 18 100 18 64 + 200 3 60 92 65 11 101 18 64 11 64 + 200 3 65 92 91 11 64 18 64 18 100 + 200 3 65 91 60 11 64 18 100 11 101 + 200 3 108 109 94 111 95 94 95 94 97 + 200 3 108 94 28 111 95 94 97 111 97 + 200 3 28 94 109 111 97 94 97 94 95 + 200 3 28 109 108 111 97 94 95 111 95 200 3 28 108 28 72 96 72 94 72 96 200 3 28 108 28 72 96 72 94 72 96 - 200 4 42 41 40 39 213 29 214 83 183 83 183 29 - 200 4 102 103 101 100 70 141 111 140 111 129 70 130 - 200 4 100 101 103 102 70 130 111 129 111 140 70 141 - 200 4 39 104 53 99 53 80 53 58 58 58 58 80 - 200 4 99 53 104 39 58 80 58 58 53 58 53 80 - 200 4 21 16 19 12 24 80 50 80 50 58 24 58 - 200 4 12 19 16 21 24 58 50 58 50 80 24 80 - 200 4 8 11 12 13 250 52 254 52 253 44 248 43 - 200 4 13 12 11 8 248 43 253 44 254 52 250 52 - 200 4 35 38 97 98 110 99 110 150 103 150 103 99 - 200 4 94 93 30 27 94 97 94 62 91 62 91 97 - 200 4 27 30 93 94 91 97 91 62 94 62 94 97 - 200 4 95 96 33 34 87 62 87 96 90 96 90 62 - 200 4 34 33 96 95 90 62 90 96 87 96 87 62 - 200 4 16 17 18 19 24 80 50 80 50 58 24 58 - 200 4 19 18 17 16 24 58 50 58 50 80 24 80 - 200 4 2 3 7 6 244 10 250 10 250 41 244 41 - 200 4 59 64 89 90 13 100 13 65 19 66 18 100 - 200 4 90 89 64 59 18 100 19 66 13 65 13 100 \ No newline at end of file + 200 3 42 41 40 213 29 214 83 183 83 + 200 3 42 40 39 213 29 183 83 183 29 + 200 3 102 103 101 70 141 111 140 111 129 + 200 3 102 101 100 70 141 111 129 70 130 + 200 3 100 101 103 70 130 111 129 111 140 + 200 3 100 103 102 70 130 111 140 70 141 + 200 3 39 104 53 53 80 53 58 58 58 + 200 3 39 53 99 53 80 58 58 58 80 + 200 3 99 53 104 58 80 58 58 53 58 + 200 3 99 104 39 58 80 53 58 53 80 + 200 3 21 16 19 24 80 50 80 50 58 + 200 3 21 19 12 24 80 50 58 24 58 + 200 3 12 19 16 24 58 50 58 50 80 + 200 3 12 16 21 24 58 50 80 24 80 + 200 3 8 11 12 250 52 254 52 253 44 + 200 3 8 12 13 250 52 253 44 248 43 + 200 3 13 12 11 248 43 253 44 254 52 + 200 3 13 11 8 248 43 254 52 250 52 + 200 3 35 38 97 110 99 110 150 103 150 + 200 3 35 97 98 110 99 103 150 103 99 + 200 3 94 93 30 94 97 94 62 91 62 + 200 3 94 30 27 94 97 91 62 91 97 + 200 3 27 30 93 91 97 91 62 94 62 + 200 3 27 93 94 91 97 94 62 94 97 + 200 3 95 96 33 87 62 87 96 90 96 + 200 3 95 33 34 87 62 90 96 90 62 + 200 3 34 33 96 90 62 90 96 87 96 + 200 3 34 96 95 90 62 87 96 87 62 + 200 3 16 17 18 24 80 50 80 50 58 + 200 3 16 18 19 24 80 50 58 24 58 + 200 3 19 18 17 24 58 50 58 50 80 + 200 3 19 17 16 24 58 50 80 24 80 + 200 3 2 3 7 244 10 250 10 250 41 + 200 3 2 7 6 244 10 250 41 244 41 + 200 3 59 64 89 13 100 13 65 19 66 + 200 3 59 89 90 13 100 19 66 18 100 + 200 3 90 89 64 18 100 19 66 13 65 + 200 3 90 64 59 18 100 13 65 13 100 \ No newline at end of file diff --git a/data/base/structs/blbrbtw1.pie b/data/base/structs/blbrbtw1.pie index 7cb4dc884..48043748a 100644 --- a/data/base/structs/blbrbtw1.pie +++ b/data/base/structs/blbrbtw1.pie @@ -44,36 +44,60 @@ POINTS 40 -16 85 17 -16 85 -18 16 85 -18 -POLYGONS 32 +POLYGONS 56 200 3 2 1 0 162 21 158 21 158 16 200 3 0 3 2 158 16 162 16 162 21 200 3 6 5 4 162 16 158 16 158 21 200 3 4 7 6 158 21 162 21 162 16 - 200 4 11 10 9 8 224 20 224 0 228 0 228 20 - 200 4 13 8 9 12 158 27 162 27 162 10 158 10 - 200 4 10 11 15 14 162 10 162 27 158 27 158 10 + 200 3 11 10 9 224 20 224 0 228 0 + 200 3 11 9 8 224 20 228 0 228 20 + 200 3 13 8 9 158 27 162 27 162 10 + 200 3 13 9 12 158 27 162 10 158 10 + 200 3 10 11 15 162 10 162 27 158 27 + 200 3 10 15 14 162 10 158 27 158 10 200 3 10 14 12 162 21 158 21 158 16 200 3 12 9 10 158 16 162 16 162 21 - 200 4 19 18 17 16 158 27 162 27 162 10 158 10 - 200 4 23 22 21 20 162 10 162 27 158 27 158 10 + 200 3 19 18 17 158 27 162 27 162 10 + 200 3 19 17 16 158 27 162 10 158 10 + 200 3 23 22 21 162 10 162 27 158 27 + 200 3 23 21 20 162 10 158 27 158 10 200 3 23 20 16 162 21 158 21 158 16 200 3 16 17 23 158 16 162 16 162 21 - 200 4 22 23 17 18 224 20 224 0 228 0 228 20 - 200 4 24 25 26 27 234 9 237 9 237 6 234 6 - 200 4 27 26 25 24 234 6 237 6 237 9 234 9 - 200 4 28 29 30 31 131 44 141 44 141 8 131 8 - 200 4 31 30 29 28 131 8 141 8 141 44 131 44 - 200 4 29 32 33 30 131 44 141 44 141 8 131 8 - 200 4 30 33 32 29 131 8 141 8 141 44 131 44 - 200 4 32 34 35 33 131 44 141 44 141 8 131 8 - 200 4 33 35 34 32 131 8 141 8 141 44 131 44 - 200 4 34 28 31 35 131 44 141 44 141 8 131 8 - 200 4 35 31 28 34 131 8 141 8 141 44 131 44 - 200 4 36 37 25 24 228 15 243 15 237 9 234 9 - 200 4 24 25 37 36 234 9 237 9 243 15 228 15 - 200 4 37 38 26 25 243 15 243 0 237 6 237 9 - 200 4 25 26 38 37 237 9 237 6 243 0 243 15 - 200 4 38 39 27 26 243 0 228 0 234 6 237 6 - 200 4 26 27 39 38 237 6 234 6 228 0 243 0 - 200 4 39 36 24 27 228 0 228 15 234 9 234 6 - 200 4 27 24 36 39 234 6 234 9 228 15 228 0 \ No newline at end of file + 200 3 22 23 17 224 20 224 0 228 0 + 200 3 22 17 18 224 20 228 0 228 20 + 200 3 24 25 26 234 9 237 9 237 6 + 200 3 24 26 27 234 9 237 6 234 6 + 200 3 27 26 25 234 6 237 6 237 9 + 200 3 27 25 24 234 6 237 9 234 9 + 200 3 28 29 30 131 44 141 44 141 8 + 200 3 28 30 31 131 44 141 8 131 8 + 200 3 31 30 29 131 8 141 8 141 44 + 200 3 31 29 28 131 8 141 44 131 44 + 200 3 29 32 33 131 44 141 44 141 8 + 200 3 29 33 30 131 44 141 8 131 8 + 200 3 30 33 32 131 8 141 8 141 44 + 200 3 30 32 29 131 8 141 44 131 44 + 200 3 32 34 35 131 44 141 44 141 8 + 200 3 32 35 33 131 44 141 8 131 8 + 200 3 33 35 34 131 8 141 8 141 44 + 200 3 33 34 32 131 8 141 44 131 44 + 200 3 34 28 31 131 44 141 44 141 8 + 200 3 34 31 35 131 44 141 8 131 8 + 200 3 35 31 28 131 8 141 8 141 44 + 200 3 35 28 34 131 8 141 44 131 44 + 200 3 36 37 25 228 15 243 15 237 9 + 200 3 36 25 24 228 15 237 9 234 9 + 200 3 24 25 37 234 9 237 9 243 15 + 200 3 24 37 36 234 9 243 15 228 15 + 200 3 37 38 26 243 15 243 0 237 6 + 200 3 37 26 25 243 15 237 6 237 9 + 200 3 25 26 38 237 9 237 6 243 0 + 200 3 25 38 37 237 9 243 0 243 15 + 200 3 38 39 27 243 0 228 0 234 6 + 200 3 38 27 26 243 0 234 6 237 6 + 200 3 26 27 39 237 6 234 6 228 0 + 200 3 26 39 38 237 6 228 0 243 0 + 200 3 39 36 24 228 0 228 15 234 9 + 200 3 39 24 27 228 0 234 9 234 6 + 200 3 27 24 36 234 6 234 9 228 15 + 200 3 27 36 39 234 6 228 15 228 0 \ No newline at end of file diff --git a/data/base/structs/blbrbtw2.pie b/data/base/structs/blbrbtw2.pie index 88bfbdcbd..059100f59 100644 --- a/data/base/structs/blbrbtw2.pie +++ b/data/base/structs/blbrbtw2.pie @@ -36,31 +36,52 @@ POINTS 32 -16 85 17 -16 85 -18 16 85 -18 -POLYGONS 27 +POLYGONS 48 200 3 2 1 0 162 21 158 21 158 16 200 3 0 3 2 158 16 162 16 162 21 200 3 6 5 4 162 16 158 16 158 21 200 3 4 7 6 158 21 162 21 162 16 - 200 4 11 10 9 8 158 27 162 27 162 10 158 10 - 200 4 15 14 13 12 162 10 162 27 158 27 158 10 + 200 3 11 10 9 158 27 162 27 162 10 + 200 3 11 9 8 158 27 162 10 158 10 + 200 3 15 14 13 162 10 162 27 158 27 + 200 3 15 13 12 162 10 158 27 158 10 200 3 15 12 8 162 21 158 21 158 16 200 3 8 9 15 158 16 162 16 162 21 - 200 4 14 15 9 10 224 20 224 0 228 0 228 20 - 200 4 16 17 18 19 234 9 237 9 237 6 234 6 - 200 4 19 18 17 16 234 6 237 6 237 9 234 9 - 200 4 20 21 22 23 131 44 141 44 141 8 131 8 - 200 4 23 22 21 20 131 8 141 8 141 44 131 44 - 200 4 21 24 25 22 131 44 141 44 141 8 131 8 - 200 4 22 25 24 21 131 8 141 8 141 44 131 44 - 200 4 24 26 27 25 131 44 141 44 141 8 131 8 - 200 4 25 27 26 24 131 8 141 8 141 44 131 44 - 200 4 26 20 23 27 131 44 141 44 141 8 131 8 - 200 4 27 23 20 26 131 8 141 8 141 44 131 44 - 200 4 28 29 17 16 228 15 243 15 237 9 234 9 - 200 4 16 17 29 28 234 9 237 9 243 15 228 15 - 200 4 29 30 18 17 243 15 243 0 237 6 237 9 - 200 4 17 18 30 29 237 9 237 6 243 0 243 15 - 200 4 30 31 19 18 243 0 228 0 234 6 237 6 - 200 4 18 19 31 30 237 6 234 6 228 0 243 0 - 200 4 31 28 16 19 228 0 228 15 234 9 234 6 - 200 4 19 16 28 31 234 6 234 9 228 15 228 0 \ No newline at end of file + 200 3 14 15 9 224 20 224 0 228 0 + 200 3 14 9 10 224 20 228 0 228 20 + 200 3 16 17 18 234 9 237 9 237 6 + 200 3 16 18 19 234 9 237 6 234 6 + 200 3 19 18 17 234 6 237 6 237 9 + 200 3 19 17 16 234 6 237 9 234 9 + 200 3 20 21 22 131 44 141 44 141 8 + 200 3 20 22 23 131 44 141 8 131 8 + 200 3 23 22 21 131 8 141 8 141 44 + 200 3 23 21 20 131 8 141 44 131 44 + 200 3 21 24 25 131 44 141 44 141 8 + 200 3 21 25 22 131 44 141 8 131 8 + 200 3 22 25 24 131 8 141 8 141 44 + 200 3 22 24 21 131 8 141 44 131 44 + 200 3 24 26 27 131 44 141 44 141 8 + 200 3 24 27 25 131 44 141 8 131 8 + 200 3 25 27 26 131 8 141 8 141 44 + 200 3 25 26 24 131 8 141 44 131 44 + 200 3 26 20 23 131 44 141 44 141 8 + 200 3 26 23 27 131 44 141 8 131 8 + 200 3 27 23 20 131 8 141 8 141 44 + 200 3 27 20 26 131 8 141 44 131 44 + 200 3 28 29 17 228 15 243 15 237 9 + 200 3 28 17 16 228 15 237 9 234 9 + 200 3 16 17 29 234 9 237 9 243 15 + 200 3 16 29 28 234 9 243 15 228 15 + 200 3 29 30 18 243 15 243 0 237 6 + 200 3 29 18 17 243 15 237 6 237 9 + 200 3 17 18 30 237 9 237 6 243 0 + 200 3 17 30 29 237 9 243 0 243 15 + 200 3 30 31 19 243 0 228 0 234 6 + 200 3 30 19 18 243 0 234 6 237 6 + 200 3 18 19 31 237 6 234 6 228 0 + 200 3 18 31 30 237 6 228 0 243 0 + 200 3 31 28 16 228 0 228 15 234 9 + 200 3 31 16 19 228 0 234 9 234 6 + 200 3 19 16 28 234 6 234 9 228 15 + 200 3 19 28 31 234 6 228 15 228 0 \ No newline at end of file diff --git a/data/base/structs/blbrbwlh.pie b/data/base/structs/blbrbwlh.pie index aa3edcd6e..076a4c6bd 100644 --- a/data/base/structs/blbrbwlh.pie +++ b/data/base/structs/blbrbwlh.pie @@ -12,11 +12,14 @@ POINTS 8 -64 38 7 65 38 7 65 0 7 -POLYGONS 7 - 200 4 3 2 1 0 162 1 162 36 158 36 158 1 +POLYGONS 10 + 200 3 3 2 1 162 1 162 36 158 36 + 200 3 3 1 0 162 1 158 36 158 1 200 3 3 0 4 162 22 158 22 158 15 200 3 4 5 3 158 15 162 15 162 22 - 200 4 2 3 5 6 224 20 224 0 228 0 228 20 - 200 4 7 6 5 4 158 36 162 36 162 1 158 1 + 200 3 2 3 5 224 20 224 0 228 0 + 200 3 2 5 6 224 20 228 0 228 20 + 200 3 7 6 5 158 36 162 36 162 1 + 200 3 7 5 4 158 36 162 1 158 1 200 3 6 7 1 162 22 158 22 158 15 200 3 1 2 6 158 15 162 15 162 22 \ No newline at end of file diff --git a/data/base/structs/blbrepr2.pie b/data/base/structs/blbrepr2.pie index 19b2124ec..bbc3e76bf 100644 --- a/data/base/structs/blbrepr2.pie +++ b/data/base/structs/blbrepr2.pie @@ -8,5 +8,6 @@ POINTS 4 69 0 -134 69 0 136 -69 0 136 -POLYGONS 1 - 200 4 3 2 1 0 128 256 128 129 256 129 256 256 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 128 256 128 129 256 129 + 200 3 3 1 0 128 256 256 129 256 256 \ No newline at end of file diff --git a/data/base/structs/blbresch.pie b/data/base/structs/blbresch.pie index 451c65500..ea3abaa0f 100644 --- a/data/base/structs/blbresch.pie +++ b/data/base/structs/blbresch.pie @@ -8,5 +8,6 @@ POINTS 4 131 0 -131 131 0 131 -131 0 131 -POLYGONS 1 - 200 4 3 2 1 0 0 128 128 128 128 255 0 255 \ No newline at end of file +POLYGONS 2 + 200 3 3 2 1 0 128 128 128 128 255 + 200 3 3 1 0 0 128 128 255 0 255 \ No newline at end of file diff --git a/data/base/structs/blbrlook.pie b/data/base/structs/blbrlook.pie index 4a1051df7..344e74333 100644 --- a/data/base/structs/blbrlook.pie +++ b/data/base/structs/blbrlook.pie @@ -32,25 +32,46 @@ POINTS 28 -11 98 -19 -11 98 20 11 98 -19 -POLYGONS 21 - 200 4 0 1 2 3 196 249 173 249 177 192 192 192 - 200 4 3 2 1 0 192 192 177 192 173 249 196 249 - 200 4 7 6 5 4 226 200 238 225 226 225 220 213 - 200 4 9 6 7 8 244 213 238 225 226 200 238 200 - 200 4 13 12 11 10 219 224 248 224 248 240 219 240 - 200 4 12 15 14 11 219 224 248 224 248 240 219 240 - 200 4 15 17 16 14 219 224 248 224 248 240 219 240 - 200 4 17 13 10 16 219 224 248 224 248 240 219 240 - 200 4 18 0 3 19 174 249 195 249 192 192 177 192 - 200 4 19 3 0 18 177 192 192 192 195 249 174 249 - 200 4 1 20 21 2 195 249 174 249 177 192 192 192 - 200 4 2 21 20 1 192 192 177 192 174 249 195 249 - 200 4 20 18 19 21 196 249 219 249 215 192 200 192 - 200 4 21 19 18 20 200 192 215 192 219 249 196 249 - 200 4 9 8 23 22 241 240 221 240 221 256 241 256 - 200 4 4 5 25 24 221 240 241 240 241 256 221 256 - 200 4 7 4 24 26 241 240 221 240 221 256 241 256 - 200 4 6 9 22 27 221 240 241 240 241 256 221 256 - 200 4 8 7 26 23 241 240 221 240 221 256 241 256 - 200 4 5 6 27 25 221 240 241 240 241 256 221 256 - 200 4 17 15 12 13 221 201 243 201 243 224 221 224 \ No newline at end of file +POLYGONS 42 + 200 3 0 1 2 196 249 173 249 177 192 + 200 3 0 2 3 196 249 177 192 192 192 + 200 3 3 2 1 192 192 177 192 173 249 + 200 3 3 1 0 192 192 173 249 196 249 + 200 3 7 6 5 226 200 238 225 226 225 + 200 3 7 5 4 226 200 226 225 220 213 + 200 3 9 6 7 244 213 238 225 226 200 + 200 3 9 7 8 244 213 226 200 238 200 + 200 3 13 12 11 219 224 248 224 248 240 + 200 3 13 11 10 219 224 248 240 219 240 + 200 3 12 15 14 219 224 248 224 248 240 + 200 3 12 14 11 219 224 248 240 219 240 + 200 3 15 17 16 219 224 248 224 248 240 + 200 3 15 16 14 219 224 248 240 219 240 + 200 3 17 13 10 219 224 248 224 248 240 + 200 3 17 10 16 219 224 248 240 219 240 + 200 3 18 0 3 174 249 195 249 192 192 + 200 3 18 3 19 174 249 192 192 177 192 + 200 3 19 3 0 177 192 192 192 195 249 + 200 3 19 0 18 177 192 195 249 174 249 + 200 3 1 20 21 195 249 174 249 177 192 + 200 3 1 21 2 195 249 177 192 192 192 + 200 3 2 21 20 192 192 177 192 174 249 + 200 3 2 20 1 192 192 174 249 195 249 + 200 3 20 18 19 196 249 219 249 215 192 + 200 3 20 19 21 196 249 215 192 200 192 + 200 3 21 19 18 200 192 215 192 219 249 + 200 3 21 18 20 200 192 219 249 196 249 + 200 3 9 8 23 241 240 221 240 221 256 + 200 3 9 23 22 241 240 221 256 241 256 + 200 3 4 5 25 221 240 241 240 241 256 + 200 3 4 25 24 221 240 241 256 221 256 + 200 3 7 4 24 241 240 221 240 221 256 + 200 3 7 24 26 241 240 221 256 241 256 + 200 3 6 9 22 221 240 241 240 241 256 + 200 3 6 22 27 221 240 241 256 221 256 + 200 3 8 7 26 241 240 221 240 221 256 + 200 3 8 26 23 241 240 221 256 241 256 + 200 3 5 6 27 221 240 241 240 241 256 + 200 3 5 27 25 221 240 241 256 221 256 + 200 3 17 15 12 221 201 243 201 243 224 + 200 3 17 12 13 221 201 243 224 221 224 \ No newline at end of file diff --git a/data/base/structs/blbrmrtp.pie b/data/base/structs/blbrmrtp.pie index 453317e51..90acab07d 100644 --- a/data/base/structs/blbrmrtp.pie +++ b/data/base/structs/blbrmrtp.pie @@ -36,21 +36,38 @@ POINTS 32 -9 0 3 -9 20 0 -9 20 -5 -POLYGONS 17 - 200 4 3 2 1 0 122 120 122 115 122 110 122 115 - 200 4 5 4 3 0 113 115 113 120 122 120 122 115 - 200 4 4 6 2 3 113 120 113 115 122 115 122 120 - 200 4 6 7 1 2 113 115 113 110 122 110 122 115 - 200 4 7 5 0 1 113 110 113 115 122 115 122 110 - 200 4 11 10 9 8 122 107 113 107 113 98 122 98 - 200 4 12 13 14 15 230 96 218 96 220 66 228 83 - 200 4 15 14 13 12 228 83 220 66 218 96 230 96 - 200 4 16 17 18 19 218 96 230 96 228 83 220 66 - 200 4 19 18 17 16 220 66 228 83 230 96 218 96 - 200 4 13 16 19 14 218 96 230 96 228 66 220 66 - 200 4 14 19 16 13 220 66 228 66 230 96 218 96 - 200 4 23 22 21 20 154 144 170 144 170 159 154 159 - 200 4 24 25 26 27 112 97 125 97 121 81 116 81 - 200 4 27 26 25 24 116 81 121 81 125 97 112 97 - 200 4 28 29 30 31 112 97 125 97 121 81 116 81 - 200 4 31 30 29 28 116 81 121 81 125 97 112 97 \ No newline at end of file +POLYGONS 34 + 200 3 3 2 1 122 120 122 115 122 110 + 200 3 3 1 0 122 120 122 110 122 115 + 200 3 5 4 3 113 115 113 120 122 120 + 200 3 5 3 0 113 115 122 120 122 115 + 200 3 4 6 2 113 120 113 115 122 115 + 200 3 4 2 3 113 120 122 115 122 120 + 200 3 6 7 1 113 115 113 110 122 110 + 200 3 6 1 2 113 115 122 110 122 115 + 200 3 7 5 0 113 110 113 115 122 115 + 200 3 7 0 1 113 110 122 115 122 110 + 200 3 11 10 9 122 107 113 107 113 98 + 200 3 11 9 8 122 107 113 98 122 98 + 200 3 12 13 14 230 96 218 96 220 66 + 200 3 12 14 15 230 96 220 66 228 83 + 200 3 15 14 13 228 83 220 66 218 96 + 200 3 15 13 12 228 83 218 96 230 96 + 200 3 16 17 18 218 96 230 96 228 83 + 200 3 16 18 19 218 96 228 83 220 66 + 200 3 19 18 17 220 66 228 83 230 96 + 200 3 19 17 16 220 66 230 96 218 96 + 200 3 13 16 19 218 96 230 96 228 66 + 200 3 13 19 14 218 96 228 66 220 66 + 200 3 14 19 16 220 66 228 66 230 96 + 200 3 14 16 13 220 66 230 96 218 96 + 200 3 23 22 21 154 144 170 144 170 159 + 200 3 23 21 20 154 144 170 159 154 159 + 200 3 24 25 26 112 97 125 97 121 81 + 200 3 24 26 27 112 97 121 81 116 81 + 200 3 27 26 25 116 81 121 81 125 97 + 200 3 27 25 24 116 81 125 97 112 97 + 200 3 28 29 30 112 97 125 97 121 81 + 200 3 28 30 31 112 97 121 81 116 81 + 200 3 31 30 29 116 81 121 81 125 97 + 200 3 31 29 28 116 81 125 97 112 97 \ No newline at end of file diff --git a/data/base/structs/blbrtowf.pie b/data/base/structs/blbrtowf.pie index 6a0db2e58..ce4e0c1ae 100644 --- a/data/base/structs/blbrtowf.pie +++ b/data/base/structs/blbrtowf.pie @@ -12,16 +12,26 @@ POINTS 8 -11 62 -12 10 0 -12 10 62 -12 -POLYGONS 10 - 200 4 0 1 2 3 131 44 141 44 141 17 131 17 - 200 4 3 2 1 0 131 17 141 17 141 44 131 44 - 200 4 1 4 5 2 131 44 141 44 141 17 131 17 - 200 4 2 5 4 1 131 17 141 17 141 44 131 44 - 200 4 4 6 7 5 131 44 141 44 141 17 131 17 - 200 4 5 7 6 4 131 17 141 17 141 44 131 44 - 200 4 6 0 3 7 131 44 141 44 141 17 131 17 - 200 4 7 3 0 6 131 17 141 17 141 44 131 44 - 200 4 2 5 7 3 201 89 201 103 216 103 216 89 - 200 4 3 7 5 2 216 89 216 103 201 103 201 89 +POLYGONS 20 + 200 3 0 1 2 131 44 141 44 141 17 + 200 3 0 2 3 131 44 141 17 131 17 + 200 3 3 2 1 131 17 141 17 141 44 + 200 3 3 1 0 131 17 141 44 131 44 + 200 3 1 4 5 131 44 141 44 141 17 + 200 3 1 5 2 131 44 141 17 131 17 + 200 3 2 5 4 131 17 141 17 141 44 + 200 3 2 4 1 131 17 141 44 131 44 + 200 3 4 6 7 131 44 141 44 141 17 + 200 3 4 7 5 131 44 141 17 131 17 + 200 3 5 7 6 131 17 141 17 141 44 + 200 3 5 6 4 131 17 141 44 131 44 + 200 3 6 0 3 131 44 141 44 141 17 + 200 3 6 3 7 131 44 141 17 131 17 + 200 3 7 3 0 131 17 141 17 141 44 + 200 3 7 0 6 131 17 141 44 131 44 + 200 3 2 5 7 201 89 201 103 216 103 + 200 3 2 7 3 201 89 216 103 216 89 + 200 3 3 7 5 216 89 216 103 201 103 + 200 3 3 5 2 216 89 201 103 201 89 CONNECTORS 1 0 0 62 diff --git a/data/base/structs/blbrtowr.pie b/data/base/structs/blbrtowr.pie index 8b7c620a2..d48d783b6 100644 --- a/data/base/structs/blbrtowr.pie +++ b/data/base/structs/blbrtowr.pie @@ -20,22 +20,40 @@ POINTS 16 -16 85 17 -16 85 -18 16 85 -18 -POLYGONS 18 - 200 4 0 1 2 3 234 9 237 9 237 6 234 6 - 200 4 3 2 1 0 234 6 237 6 237 9 234 9 - 200 4 4 5 6 7 131 44 141 44 141 8 131 8 - 200 4 7 6 5 4 131 8 141 8 141 44 131 44 - 200 4 5 8 9 6 131 44 141 44 141 8 131 8 - 200 4 6 9 8 5 131 8 141 8 141 44 131 44 - 200 4 8 10 11 9 131 44 141 44 141 8 131 8 - 200 4 9 11 10 8 131 8 141 8 141 44 131 44 - 200 4 10 4 7 11 131 44 141 44 141 8 131 8 - 200 4 11 7 4 10 131 8 141 8 141 44 131 44 - 200 4 12 13 1 0 228 15 243 15 237 9 234 9 - 200 4 0 1 13 12 234 9 237 9 243 15 228 15 - 200 4 13 14 2 1 243 15 243 0 237 6 237 9 - 200 4 1 2 14 13 237 9 237 6 243 0 243 15 - 200 4 14 15 3 2 243 0 228 0 234 6 237 6 - 200 4 2 3 15 14 237 6 234 6 228 0 243 0 - 200 4 15 12 0 3 228 0 228 15 234 9 234 6 - 200 4 3 0 12 15 234 6 234 9 228 15 228 0 \ No newline at end of file +POLYGONS 36 + 200 3 0 1 2 234 9 237 9 237 6 + 200 3 0 2 3 234 9 237 6 234 6 + 200 3 3 2 1 234 6 237 6 237 9 + 200 3 3 1 0 234 6 237 9 234 9 + 200 3 4 5 6 131 44 141 44 141 8 + 200 3 4 6 7 131 44 141 8 131 8 + 200 3 7 6 5 131 8 141 8 141 44 + 200 3 7 5 4 131 8 141 44 131 44 + 200 3 5 8 9 131 44 141 44 141 8 + 200 3 5 9 6 131 44 141 8 131 8 + 200 3 6 9 8 131 8 141 8 141 44 + 200 3 6 8 5 131 8 141 44 131 44 + 200 3 8 10 11 131 44 141 44 141 8 + 200 3 8 11 9 131 44 141 8 131 8 + 200 3 9 11 10 131 8 141 8 141 44 + 200 3 9 10 8 131 8 141 44 131 44 + 200 3 10 4 7 131 44 141 44 141 8 + 200 3 10 7 11 131 44 141 8 131 8 + 200 3 11 7 4 131 8 141 8 141 44 + 200 3 11 4 10 131 8 141 44 131 44 + 200 3 12 13 1 228 15 243 15 237 9 + 200 3 12 1 0 228 15 237 9 234 9 + 200 3 0 1 13 234 9 237 9 243 15 + 200 3 0 13 12 234 9 243 15 228 15 + 200 3 13 14 2 243 15 243 0 237 6 + 200 3 13 2 1 243 15 237 6 237 9 + 200 3 1 2 14 237 9 237 6 243 0 + 200 3 1 14 13 237 9 243 0 243 15 + 200 3 14 15 3 243 0 228 0 234 6 + 200 3 14 3 2 243 0 234 6 237 6 + 200 3 2 3 15 237 6 234 6 228 0 + 200 3 2 15 14 237 6 228 0 243 0 + 200 3 15 12 0 228 0 228 15 234 9 + 200 3 15 0 3 228 0 234 9 234 6 + 200 3 3 0 12 234 6 234 9 228 15 + 200 3 3 12 15 234 6 228 15 228 0 \ No newline at end of file diff --git a/data/base/structs/blbunkms.pie b/data/base/structs/blbunkms.pie index a5a72751c..c24188e42 100644 --- a/data/base/structs/blbunkms.pie +++ b/data/base/structs/blbunkms.pie @@ -14,12 +14,18 @@ POINTS 10 35 37 -31 -43 2 41 -43 2 -40 -POLYGONS 6 - 200 4 3 2 1 0 21 225 53 225 53 242 21 242 - 200 4 7 6 5 4 103 97 129 97 129 113 103 113 - 200 4 6 2 8 5 103 97 129 97 129 113 103 113 - 200 4 2 3 9 8 103 97 129 97 129 113 103 113 - 200 4 3 7 4 9 103 97 129 97 129 113 103 113 - 200 4 6 7 0 1 21 225 53 225 53 242 21 242 +POLYGONS 12 + 200 3 3 2 1 21 225 53 225 53 242 + 200 3 3 1 0 21 225 53 242 21 242 + 200 3 7 6 5 103 97 129 97 129 113 + 200 3 7 5 4 103 97 129 113 103 113 + 200 3 6 2 8 103 97 129 97 129 113 + 200 3 6 8 5 103 97 129 113 103 113 + 200 3 2 3 9 103 97 129 97 129 113 + 200 3 2 9 8 103 97 129 113 103 113 + 200 3 3 7 4 103 97 129 97 129 113 + 200 3 3 4 9 103 97 129 113 103 113 + 200 3 6 7 0 21 225 53 225 53 242 + 200 3 6 0 1 21 225 53 242 21 242 CONNECTORS 1 0 0 38 diff --git a/data/base/structs/blcanpil.pie b/data/base/structs/blcanpil.pie index aef9de869..907dcbeae 100644 --- a/data/base/structs/blcanpil.pie +++ b/data/base/structs/blcanpil.pie @@ -17,15 +17,24 @@ POINTS 13 20 0 -35 12 21 -21 0 21 0 -POLYGONS 9 - 200 4 3 2 1 0 16 193 59 193 59 208 16 208 - 200 4 2 5 4 1 59 193 16 193 16 208 59 208 - 200 4 5 7 6 4 59 193 16 193 16 208 59 208 - 200 4 7 9 8 6 59 193 16 193 16 208 59 208 - 200 4 9 11 10 8 16 193 59 193 59 208 16 208 - 200 4 11 3 0 10 16 193 59 193 59 208 16 208 - 200 4 2 3 11 12 81 179 88 194 81 209 75 194 - 200 4 7 5 2 12 62 194 68 179 81 179 75 194 - 200 4 11 9 7 12 81 209 68 209 62 194 75 194 +POLYGONS 18 + 200 3 3 2 1 16 193 59 193 59 208 + 200 3 3 1 0 16 193 59 208 16 208 + 200 3 2 5 4 59 193 16 193 16 208 + 200 3 2 4 1 59 193 16 208 59 208 + 200 3 5 7 6 59 193 16 193 16 208 + 200 3 5 6 4 59 193 16 208 59 208 + 200 3 7 9 8 59 193 16 193 16 208 + 200 3 7 8 6 59 193 16 208 59 208 + 200 3 9 11 10 16 193 59 193 59 208 + 200 3 9 10 8 16 193 59 208 16 208 + 200 3 11 3 0 16 193 59 193 59 208 + 200 3 11 0 10 16 193 59 208 16 208 + 200 3 2 3 11 81 179 88 194 81 209 + 200 3 2 11 12 81 179 81 209 75 194 + 200 3 7 5 2 62 194 68 179 81 179 + 200 3 7 2 12 62 194 81 179 75 194 + 200 3 11 9 7 81 209 68 209 62 194 + 200 3 11 7 12 81 209 62 194 75 194 CONNECTORS 1 0 0 23 diff --git a/data/base/structs/blcfact1.pie b/data/base/structs/blcfact1.pie index 1197452b4..b58118e90 100644 --- a/data/base/structs/blcfact1.pie +++ b/data/base/structs/blcfact1.pie @@ -50,33 +50,58 @@ POINTS 46 -17 0 26 32 0 26 19 0 26 -POLYGONS 27 - 200 4 34 37 36 33 140 84 91 84 91 134 140 134 - 200 4 39 35 32 38 91 84 140 84 140 134 91 134 - 200 4 3 0 28 31 91 84 140 84 140 134 91 134 - 200 4 1 2 30 29 140 84 91 84 91 134 140 134 - 200 4 39 37 34 35 253 63 210 63 210 108 253 108 - 200 4 3 2 1 0 253 63 210 63 210 108 253 108 - 200 4 0 1 29 28 91 84 140 84 140 134 91 134 - 200 4 35 34 33 32 91 84 140 84 140 134 91 134 - 200 4 12 41 43 13 9 41 9 73 14 73 14 41 - 200 4 13 14 25 24 3 61 36 61 36 68 5 68 - 200 4 44 17 16 45 35 73 35 41 29 41 29 73 - 200 4 19 16 23 22 36 61 3 61 4 68 36 68 - 200 4 13 43 45 16 14 41 14 73 29 73 29 41 - 200 4 17 18 21 20 3 61 36 61 36 68 5 68 - 200 4 9 42 17 44 46 73 39 41 35 41 35 73 - 200 4 19 18 17 16 36 61 37 68 3 68 3 61 - 200 4 15 14 13 12 36 61 37 68 3 68 3 61 - 200 4 10 7 12 42 37 27 10 27 9 41 39 41 - 200 4 15 12 27 26 36 61 3 61 4 68 36 68 +POLYGONS 52 + 200 3 34 37 36 140 84 91 84 91 134 + 200 3 34 36 33 140 84 91 134 140 134 + 200 3 39 35 32 91 84 140 84 140 134 + 200 3 39 32 38 91 84 140 134 91 134 + 200 3 3 0 28 91 84 140 84 140 134 + 200 3 3 28 31 91 84 140 134 91 134 + 200 3 1 2 30 140 84 91 84 91 134 + 200 3 1 30 29 140 84 91 134 140 134 + 200 3 39 37 34 253 63 210 63 210 108 + 200 3 39 34 35 253 63 210 108 253 108 + 200 3 3 2 1 253 63 210 63 210 108 + 200 3 3 1 0 253 63 210 108 253 108 + 200 3 0 1 29 91 84 140 84 140 134 + 200 3 0 29 28 91 84 140 134 91 134 + 200 3 35 34 33 91 84 140 84 140 134 + 200 3 35 33 32 91 84 140 134 91 134 + 200 3 12 41 43 9 41 9 73 14 73 + 200 3 12 43 13 9 41 14 73 14 41 + 200 3 13 14 25 3 61 36 61 36 68 + 200 3 13 25 24 3 61 36 68 5 68 + 200 3 44 17 16 35 73 35 41 29 41 + 200 3 44 16 45 35 73 29 41 29 73 + 200 3 19 16 23 36 61 3 61 4 68 + 200 3 19 23 22 36 61 4 68 36 68 + 200 3 13 43 45 14 41 14 73 29 73 + 200 3 13 45 16 14 41 29 73 29 41 + 200 3 17 18 21 3 61 36 61 36 68 + 200 3 17 21 20 3 61 36 68 5 68 + 200 3 9 42 17 46 73 39 41 35 41 + 200 3 9 17 44 46 73 35 41 35 73 + 200 3 19 18 17 36 61 37 68 3 68 + 200 3 19 17 16 36 61 3 68 3 61 + 200 3 15 14 13 36 61 37 68 3 68 + 200 3 15 13 12 36 61 3 68 3 61 + 200 3 10 7 12 37 27 10 27 9 41 + 200 3 10 12 42 37 27 9 41 39 41 + 200 3 15 12 27 36 61 3 61 4 68 + 200 3 15 27 26 36 61 4 68 36 68 200 3 40 41 7 1 73 9 73 10 27 - 200 4 7 6 5 4 22 18 56 13 60 76 14 76 + 200 3 7 6 5 22 18 56 13 60 76 + 200 3 7 5 4 22 18 60 76 14 76 200 3 4 40 7 0 73 1 73 10 27 - 200 4 6 11 8 5 224 186 250 186 254 233 221 233 - 200 4 11 10 9 8 57 13 23 17 14 76 60 76 - 200 4 7 10 11 6 184 191 218 191 218 243 184 243 - 200 4 2 3 31 30 140 84 91 84 91 134 140 134 - 200 4 37 39 38 36 140 84 91 84 91 134 140 134 + 200 3 6 11 8 224 186 250 186 254 233 + 200 3 6 8 5 224 186 254 233 221 233 + 200 3 11 10 9 57 13 23 17 14 76 + 200 3 11 9 8 57 13 14 76 60 76 + 200 3 7 10 11 184 191 218 191 218 243 + 200 3 7 11 6 184 191 218 243 184 243 + 200 3 2 3 31 140 84 91 84 91 134 + 200 3 2 31 30 140 84 91 134 140 134 + 200 3 37 39 38 140 84 91 84 91 134 + 200 3 37 38 36 140 84 91 134 140 134 CONNECTORS 1 3 -63 114 diff --git a/data/base/structs/blderik.pie b/data/base/structs/blderik.pie index 739d92517..d05e2ce86 100644 --- a/data/base/structs/blderik.pie +++ b/data/base/structs/blderik.pie @@ -58,39 +58,71 @@ POINTS 54 17 80 9 22 8 21 17 8 21 -POLYGONS 32 - 200 4 3 2 1 0 65 8 127 8 127 15 65 15 - 200 4 0 1 5 4 254 48 210 48 210 0 254 0 - 200 4 1 2 6 5 1 140 57 140 57 176 1 176 - 200 4 2 3 7 6 254 48 210 48 210 0 254 0 - 200 4 3 0 4 7 1 140 57 140 57 176 1 176 - 200 4 11 10 9 8 92 10 123 10 123 13 92 13 - 200 4 8 9 13 12 235 14 213 14 211 4 237 4 - 200 4 9 10 14 13 20 165 38 165 41 173 18 173 - 200 4 10 11 15 14 252 14 230 14 228 4 254 4 - 200 4 11 8 12 15 20 165 38 165 41 173 18 173 - 200 4 16 17 18 19 64 47 106 47 106 37 64 37 - 200 4 19 18 17 16 64 37 106 37 106 47 64 47 - 200 4 17 20 21 18 64 47 106 47 106 37 64 37 - 200 4 18 21 20 17 64 37 106 37 106 47 64 47 - 200 4 20 22 23 21 64 47 106 47 106 37 64 37 - 200 4 21 23 22 20 64 37 106 37 106 47 64 47 - 200 4 22 16 19 23 64 47 106 47 106 37 64 37 - 200 4 23 19 16 22 64 37 106 37 106 47 64 47 - 200 4 27 26 25 24 242 36 242 39 219 4 220 4 - 200 4 29 28 25 26 42 147 57 173 54 173 36 147 - 200 4 33 32 31 30 242 36 242 39 219 4 220 4 - 200 4 37 36 35 34 115 9 82 14 82 13 113 9 - 200 4 36 37 31 32 20 147 5 173 2 173 13 147 - 200 4 41 40 39 38 104 8 106 8 106 10 104 10 - 200 4 43 41 38 42 94 8 98 8 98 10 94 10 - 200 4 45 43 42 44 86 8 87 8 87 10 86 10 - 200 4 40 45 44 39 94 8 98 8 98 10 94 10 - 200 4 49 48 47 46 255 48 210 48 210 0 255 0 - 200 4 48 51 50 47 109 15 83 15 83 8 109 8 - 200 4 51 53 52 50 255 48 210 48 210 0 255 0 - 200 4 46 47 50 52 58 140 42 176 17 176 0 140 - 200 4 51 48 49 53 41 176 17 176 0 140 58 140 +POLYGONS 64 + 200 3 3 2 1 65 8 127 8 127 15 + 200 3 3 1 0 65 8 127 15 65 15 + 200 3 0 1 5 254 48 210 48 210 0 + 200 3 0 5 4 254 48 210 0 254 0 + 200 3 1 2 6 1 140 57 140 57 176 + 200 3 1 6 5 1 140 57 176 1 176 + 200 3 2 3 7 254 48 210 48 210 0 + 200 3 2 7 6 254 48 210 0 254 0 + 200 3 3 0 4 1 140 57 140 57 176 + 200 3 3 4 7 1 140 57 176 1 176 + 200 3 11 10 9 92 10 123 10 123 13 + 200 3 11 9 8 92 10 123 13 92 13 + 200 3 8 9 13 235 14 213 14 211 4 + 200 3 8 13 12 235 14 211 4 237 4 + 200 3 9 10 14 20 165 38 165 41 173 + 200 3 9 14 13 20 165 41 173 18 173 + 200 3 10 11 15 252 14 230 14 228 4 + 200 3 10 15 14 252 14 228 4 254 4 + 200 3 11 8 12 20 165 38 165 41 173 + 200 3 11 12 15 20 165 41 173 18 173 + 200 3 16 17 18 64 47 106 47 106 37 + 200 3 16 18 19 64 47 106 37 64 37 + 200 3 19 18 17 64 37 106 37 106 47 + 200 3 19 17 16 64 37 106 47 64 47 + 200 3 17 20 21 64 47 106 47 106 37 + 200 3 17 21 18 64 47 106 37 64 37 + 200 3 18 21 20 64 37 106 37 106 47 + 200 3 18 20 17 64 37 106 47 64 47 + 200 3 20 22 23 64 47 106 47 106 37 + 200 3 20 23 21 64 47 106 37 64 37 + 200 3 21 23 22 64 37 106 37 106 47 + 200 3 21 22 20 64 37 106 47 64 47 + 200 3 22 16 19 64 47 106 47 106 37 + 200 3 22 19 23 64 47 106 37 64 37 + 200 3 23 19 16 64 37 106 37 106 47 + 200 3 23 16 22 64 37 106 47 64 47 + 200 3 27 26 25 242 36 242 39 219 4 + 200 3 27 25 24 242 36 219 4 220 4 + 200 3 29 28 25 42 147 57 173 54 173 + 200 3 29 25 26 42 147 54 173 36 147 + 200 3 33 32 31 242 36 242 39 219 4 + 200 3 33 31 30 242 36 219 4 220 4 + 200 3 37 36 35 115 9 82 14 82 13 + 200 3 37 35 34 115 9 82 13 113 9 + 200 3 36 37 31 20 147 5 173 2 173 + 200 3 36 31 32 20 147 2 173 13 147 + 200 3 41 40 39 104 8 106 8 106 10 + 200 3 41 39 38 104 8 106 10 104 10 + 200 3 43 41 38 94 8 98 8 98 10 + 200 3 43 38 42 94 8 98 10 94 10 + 200 3 45 43 42 86 8 87 8 87 10 + 200 3 45 42 44 86 8 87 10 86 10 + 200 3 40 45 44 94 8 98 8 98 10 + 200 3 40 44 39 94 8 98 10 94 10 + 200 3 49 48 47 255 48 210 48 210 0 + 200 3 49 47 46 255 48 210 0 255 0 + 200 3 48 51 50 109 15 83 15 83 8 + 200 3 48 50 47 109 15 83 8 109 8 + 200 3 51 53 52 255 48 210 48 210 0 + 200 3 51 52 50 255 48 210 0 255 0 + 200 3 46 47 50 58 140 42 176 17 176 + 200 3 46 50 52 58 140 17 176 0 140 + 200 3 51 48 49 41 176 17 176 0 140 + 200 3 51 49 53 41 176 0 140 58 140 LEVEL 2 POINTS 8 -26 73 -5 @@ -101,12 +133,17 @@ POINTS 8 -20 22 0 -26 22 5 -32 22 0 -POLYGONS 5 - 200 4 3 2 1 0 84 12 87 11 90 12 87 12 - 200 4 0 1 5 4 104 14 96 14 96 10 104 10 - 200 4 1 2 6 5 96 14 88 14 88 10 96 10 - 200 4 2 3 7 6 104 14 96 14 96 10 104 10 - 200 4 3 0 4 7 96 14 88 14 88 10 96 10 +POLYGONS 10 + 200 3 3 2 1 84 12 87 11 90 12 + 200 3 3 1 0 84 12 90 12 87 12 + 200 3 0 1 5 104 14 96 14 96 10 + 200 3 0 5 4 104 14 96 10 104 10 + 200 3 1 2 6 96 14 88 14 88 10 + 200 3 1 6 5 96 14 88 10 96 10 + 200 3 2 3 7 104 14 96 14 96 10 + 200 3 2 7 6 104 14 96 10 104 10 + 200 3 3 0 4 96 14 88 14 88 10 + 200 3 3 4 7 96 14 88 10 96 10 LEVEL 3 POINTS 26 12 80 7 @@ -135,20 +172,34 @@ POINTS 26 -50 35 -2 -44 39 3 -44 39 -2 -POLYGONS 16 - 200 4 3 2 1 0 247 40 246 48 239 46 240 38 - 200 4 7 6 5 4 226 46 219 48 217 40 224 38 - 200 4 5 6 2 3 20 146 20 140 38 140 38 146 - 200 4 6 7 1 2 114 13 105 13 105 10 114 10 - 200 4 7 4 0 1 38 141 38 147 20 147 20 141 - 200 4 11 10 9 8 111 14 110 15 68 13 69 13 - 200 4 15 14 13 12 123 13 82 15 81 14 122 13 - 200 4 14 15 9 10 110 12 68 12 68 11 110 11 - 200 4 19 18 17 16 31 252 30 247 30 247 31 252 - 200 4 18 21 20 17 30 247 17 241 17 241 30 247 - 200 4 21 23 22 20 17 241 0 244 0 244 17 241 - 200 4 25 19 16 24 1 248 31 252 31 252 1 248 - 200 4 22 24 16 20 0 244 1 248 31 252 17 241 +POLYGONS 30 + 200 3 3 2 1 247 40 246 48 239 46 + 200 3 3 1 0 247 40 239 46 240 38 + 200 3 7 6 5 226 46 219 48 217 40 + 200 3 7 5 4 226 46 217 40 224 38 + 200 3 5 6 2 20 146 20 140 38 140 + 200 3 5 2 3 20 146 38 140 38 146 + 200 3 6 7 1 114 13 105 13 105 10 + 200 3 6 1 2 114 13 105 10 114 10 + 200 3 7 4 0 38 141 38 147 20 147 + 200 3 7 0 1 38 141 20 147 20 141 + 200 3 11 10 9 111 14 110 15 68 13 + 200 3 11 9 8 111 14 68 13 69 13 + 200 3 15 14 13 123 13 82 15 81 14 + 200 3 15 13 12 123 13 81 14 122 13 + 200 3 14 15 9 110 12 68 12 68 11 + 200 3 14 9 10 110 12 68 11 110 11 + 200 3 19 18 17 31 252 30 247 30 247 + 200 3 19 17 16 31 252 30 247 31 252 + 200 3 18 21 20 30 247 17 241 17 241 + 200 3 18 20 17 30 247 17 241 30 247 + 200 3 21 23 22 17 241 0 244 0 244 + 200 3 21 22 20 17 241 0 244 17 241 + 200 3 25 19 16 1 248 31 252 31 252 + 200 3 25 16 24 1 248 31 252 1 248 + 200 3 22 24 16 0 244 1 248 31 252 + 200 3 22 16 20 0 244 31 252 17 241 200 3 20 16 17 17 241 31 252 30 247 - 200 4 19 25 23 21 31 252 1 248 0 244 17 241 + 200 3 19 25 23 31 252 1 248 0 244 + 200 3 19 23 21 31 252 0 244 17 241 200 3 19 21 18 31 252 17 241 30 247 \ No newline at end of file diff --git a/data/base/structs/bldrdcm0.pie b/data/base/structs/bldrdcm0.pie index b8448fa5a..f446cdc85 100644 --- a/data/base/structs/bldrdcm0.pie +++ b/data/base/structs/bldrdcm0.pie @@ -77,56 +77,96 @@ POINTS 73 2 130 -2 2 159 -2 -39 5 39 -POLYGONS 52 - 200 4 3 2 1 0 88 145 131 145 141 175 78 175 - 200 4 7 6 5 4 131 145 88 145 78 175 141 175 - 200 4 4 5 9 8 141 175 78 175 91 207 128 207 - 200 4 1 11 10 0 141 175 128 207 91 207 78 175 - 200 4 2 3 6 7 176 146 143 146 143 179 176 179 - 200 4 6 3 0 5 131 145 88 145 78 175 141 175 - 200 4 2 7 4 1 88 145 131 145 141 175 78 175 - 200 4 5 0 13 12 141 175 78 175 90 207 129 207 - 200 4 4 15 14 1 141 175 129 207 90 207 78 175 +POLYGONS 92 + 200 3 3 2 1 88 145 131 145 141 175 + 200 3 3 1 0 88 145 141 175 78 175 + 200 3 7 6 5 131 145 88 145 78 175 + 200 3 7 5 4 131 145 78 175 141 175 + 200 3 4 5 9 141 175 78 175 91 207 + 200 3 4 9 8 141 175 91 207 128 207 + 200 3 1 11 10 141 175 128 207 91 207 + 200 3 1 10 0 141 175 91 207 78 175 + 200 3 2 3 6 176 146 143 146 143 179 + 200 3 2 6 7 176 146 143 179 176 179 + 200 3 6 3 0 131 145 88 145 78 175 + 200 3 6 0 5 131 145 78 175 141 175 + 200 3 2 7 4 88 145 131 145 141 175 + 200 3 2 4 1 88 145 141 175 78 175 + 200 3 5 0 13 141 175 78 175 90 207 + 200 3 5 13 12 141 175 90 207 129 207 + 200 3 4 15 14 141 175 129 207 90 207 + 200 3 4 14 1 141 175 90 207 78 175 200 3 5 16 9 212 199 219 218 206 218 200 3 4 8 17 212 199 206 218 219 218 - 200 4 21 20 19 18 166 169 152 169 152 155 166 155 - 200 4 18 19 23 22 193 175 208 175 208 183 193 183 - 200 4 19 20 24 23 193 175 208 175 208 183 193 183 - 200 4 20 21 25 24 193 175 208 175 208 183 193 183 - 200 4 21 18 22 25 193 175 208 175 208 183 193 183 + 200 3 21 20 19 166 169 152 169 152 155 + 200 3 21 19 18 166 169 152 155 166 155 + 200 3 18 19 23 193 175 208 175 208 183 + 200 3 18 23 22 193 175 208 183 193 183 + 200 3 19 20 24 193 175 208 175 208 183 + 200 3 19 24 23 193 175 208 183 193 183 + 200 3 20 21 25 193 175 208 175 208 183 + 200 3 20 25 24 193 175 208 183 193 183 + 200 3 21 18 22 193 175 208 175 208 183 + 200 3 21 22 25 193 175 208 183 193 183 200 3 0 26 13 191 198 184 218 196 218 200 3 5 12 16 191 198 196 218 184 218 - 200 4 27 28 29 30 157 194 142 194 142 181 157 181 - 200 4 30 29 28 27 157 181 142 181 142 194 157 194 - 200 4 31 32 33 34 157 194 142 194 142 181 157 181 - 200 4 34 33 32 31 157 181 142 181 142 194 157 194 - 200 4 38 37 36 35 87 147 92 147 92 165 87 165 - 200 4 37 40 39 36 146 154 148 154 148 177 146 177 - 200 4 40 42 41 39 87 147 92 147 92 165 87 165 - 200 4 42 38 35 41 146 154 148 154 148 177 146 177 - 200 4 43 44 45 46 157 194 142 194 142 181 157 181 - 200 4 46 45 44 43 157 181 142 181 142 194 157 194 - 200 4 35 36 48 47 87 147 92 147 92 165 87 165 - 200 4 36 39 49 48 146 154 148 154 148 177 146 177 - 200 4 39 41 50 49 87 147 92 147 92 165 87 165 - 200 4 41 35 47 50 146 154 148 154 148 177 146 177 - 200 4 54 53 52 51 87 147 92 147 92 165 87 165 - 200 4 53 56 55 52 146 154 148 154 148 177 146 177 - 200 4 56 58 57 55 87 147 92 147 92 165 87 165 - 200 4 58 54 51 57 146 154 148 154 148 177 146 177 + 200 3 27 28 29 157 194 142 194 142 181 + 200 3 27 29 30 157 194 142 181 157 181 + 200 3 30 29 28 157 181 142 181 142 194 + 200 3 30 28 27 157 181 142 194 157 194 + 200 3 31 32 33 157 194 142 194 142 181 + 200 3 31 33 34 157 194 142 181 157 181 + 200 3 34 33 32 157 181 142 181 142 194 + 200 3 34 32 31 157 181 142 194 157 194 + 200 3 38 37 36 87 147 92 147 92 165 + 200 3 38 36 35 87 147 92 165 87 165 + 200 3 37 40 39 146 154 148 154 148 177 + 200 3 37 39 36 146 154 148 177 146 177 + 200 3 40 42 41 87 147 92 147 92 165 + 200 3 40 41 39 87 147 92 165 87 165 + 200 3 42 38 35 146 154 148 154 148 177 + 200 3 42 35 41 146 154 148 177 146 177 + 200 3 43 44 45 157 194 142 194 142 181 + 200 3 43 45 46 157 194 142 181 157 181 + 200 3 46 45 44 157 181 142 181 142 194 + 200 3 46 44 43 157 181 142 194 157 194 + 200 3 35 36 48 87 147 92 147 92 165 + 200 3 35 48 47 87 147 92 165 87 165 + 200 3 36 39 49 146 154 148 154 148 177 + 200 3 36 49 48 146 154 148 177 146 177 + 200 3 39 41 50 87 147 92 147 92 165 + 200 3 39 50 49 87 147 92 165 87 165 + 200 3 41 35 47 146 154 148 154 148 177 + 200 3 41 47 50 146 154 148 177 146 177 + 200 3 54 53 52 87 147 92 147 92 165 + 200 3 54 52 51 87 147 92 165 87 165 + 200 3 53 56 55 146 154 148 154 148 177 + 200 3 53 55 52 146 154 148 177 146 177 + 200 3 56 58 57 87 147 92 147 92 165 + 200 3 56 57 55 87 147 92 165 87 165 + 200 3 58 54 51 146 154 148 154 148 177 + 200 3 58 51 57 146 154 148 177 146 177 200 3 61 60 59 109 150 116 173 109 173 200 3 61 59 62 109 150 116 173 109 173 200 3 61 63 60 109 150 116 173 109 173 200 3 61 62 63 109 150 116 173 109 173 - 200 4 67 66 65 64 87 147 92 147 92 165 87 165 - 200 4 66 69 68 65 146 154 148 154 148 177 146 177 - 200 4 69 71 70 68 87 147 92 147 92 165 87 165 - 200 4 71 67 64 70 146 154 148 154 148 177 146 177 - 200 4 63 62 56 53 109 150 116 150 112 173 109 173 - 200 4 62 59 58 56 109 150 116 150 112 173 109 173 - 200 4 59 60 54 58 109 150 116 150 112 173 109 173 - 200 4 60 63 53 54 109 150 116 150 112 173 109 173 + 200 3 67 66 65 87 147 92 147 92 165 + 200 3 67 65 64 87 147 92 165 87 165 + 200 3 66 69 68 146 154 148 154 148 177 + 200 3 66 68 65 146 154 148 177 146 177 + 200 3 69 71 70 87 147 92 147 92 165 + 200 3 69 70 68 87 147 92 165 87 165 + 200 3 71 67 64 146 154 148 154 148 177 + 200 3 71 64 70 146 154 148 177 146 177 + 200 3 63 62 56 109 150 116 150 112 173 + 200 3 63 56 53 109 150 112 173 109 173 + 200 3 62 59 58 109 150 116 150 112 173 + 200 3 62 58 56 109 150 112 173 109 173 + 200 3 59 60 54 109 150 116 150 112 173 + 200 3 59 54 58 109 150 112 173 109 173 + 200 3 60 63 53 109 150 116 150 112 173 + 200 3 60 53 54 109 150 112 173 109 173 200 3 1 72 11 213 199 206 218 219 218 200 3 10 26 0 219 218 206 218 213 199 200 3 1 14 72 189 198 184 218 196 218 - 200 3 4 17 15 189 198 196 218 184 218 + 200 3 4 17 15 189 198 196 218 184 218 \ No newline at end of file diff --git a/data/base/structs/blfact0.pie b/data/base/structs/blfact0.pie index ee28e4885..76958e6d0 100644 --- a/data/base/structs/blfact0.pie +++ b/data/base/structs/blfact0.pie @@ -35,34 +35,50 @@ POINTS 31 -73 100 -185 -72 100 -136 -72 100 -185 -POLYGONS 28 +POLYGONS 44 200 3 5 2 16 232 108 246 103 232 86 200 3 7 5 16 216 102 231 108 231 86 200 3 2 3 16 246 102 253 86 232 86 200 3 9 7 16 210 86 215 102 231 86 - 200 4 15 3 0 14 160 189 182 189 182 236 160 236 + 200 3 15 3 0 160 189 182 189 182 236 + 200 3 15 0 14 160 189 182 236 160 236 200 3 11 9 16 216 70 210 85 231 85 - 200 4 13 15 14 12 137 189 159 189 159 236 137 236 + 200 3 13 15 14 137 189 159 189 159 236 + 200 3 13 14 12 137 189 159 236 137 236 200 3 13 11 16 231 63 216 69 231 85 - 200 4 9 11 10 8 91 189 113 189 113 236 91 236 + 200 3 9 11 10 91 189 113 189 113 236 + 200 3 9 10 8 91 189 113 236 91 236 200 3 15 13 16 246 70 232 63 232 85 - 200 4 7 9 8 6 69 189 90 189 90 236 69 236 + 200 3 7 9 8 69 189 90 189 90 236 + 200 3 7 8 6 69 189 90 236 69 236 200 3 3 15 16 253 85 247 70 232 85 - 200 4 11 13 12 10 114 189 136 189 136 236 114 236 + 200 3 11 13 12 114 189 136 189 136 236 + 200 3 11 12 10 114 189 136 236 114 236 200 3 17 22 21 7 26 68 26 61 0 200 3 24 20 23 68 25 7 26 60 0 - 200 4 24 23 21 22 87 21 91 0 116 0 120 21 - 200 4 22 27 30 29 248 184 248 157 222 157 222 183 - 200 4 20 24 26 19 6 27 68 26 85 76 0 76 + 200 3 24 23 21 87 21 91 0 116 0 + 200 3 24 21 22 87 21 116 0 120 21 + 200 3 22 27 30 248 184 248 157 222 157 + 200 3 22 30 29 248 184 222 157 222 183 + 200 3 20 24 26 6 27 68 26 85 76 + 200 3 20 26 19 6 27 85 76 0 76 200 3 28 26 24 85 26 86 76 69 26 - 200 4 28 24 29 30 222 157 222 183 222 183 222 157 - 200 4 20 19 18 17 0 27 0 77 12 77 12 27 - 200 4 5 7 6 4 46 189 68 189 68 236 46 236 - 200 4 25 22 17 18 85 76 69 26 7 26 0 76 + 200 3 28 24 29 222 157 222 183 222 183 + 200 3 28 29 30 222 157 222 183 222 157 + 200 3 20 19 18 0 27 0 77 12 77 + 200 3 20 18 17 0 27 12 77 12 27 + 200 3 5 7 6 46 189 68 189 68 236 + 200 3 5 6 4 46 189 68 236 46 236 + 200 3 25 22 17 85 76 69 26 7 26 + 200 3 25 17 18 85 76 7 26 0 76 200 3 22 25 27 69 26 85 76 85 26 - 200 4 2 5 4 1 23 189 45 189 45 236 23 236 - 200 4 23 20 17 21 189 248 184 165 218 165 214 248 - 200 4 3 2 1 0 0 189 22 189 22 236 0 236 - 200 4 27 25 26 28 254 190 255 232 220 232 220 190 + 200 3 2 5 4 23 189 45 189 45 236 + 200 3 2 4 1 23 189 45 236 23 236 + 200 3 23 20 17 189 248 184 165 218 165 + 200 3 23 17 21 189 248 218 165 214 248 + 200 3 3 2 1 0 189 22 189 22 236 + 200 3 3 1 0 0 189 22 236 0 236 + 200 3 27 25 26 254 190 255 232 220 232 + 200 3 27 26 28 254 190 220 232 220 190 CONNECTORS 1 -37 -65 135 diff --git a/data/base/structs/blfact1.pie b/data/base/structs/blfact1.pie index a91b6f849..5e84eed9f 100644 --- a/data/base/structs/blfact1.pie +++ b/data/base/structs/blfact1.pie @@ -61,55 +61,83 @@ POINTS 57 -116 93 136 -72 100 -136 -72 100 -185 -POLYGONS 50 +POLYGONS 78 200 3 5 2 16 232 108 246 103 232 86 200 3 7 5 16 216 102 231 108 231 86 200 3 2 3 16 246 102 253 86 232 86 200 3 9 7 16 209 86 215 102 231 86 - 200 4 15 3 0 14 160 189 182 189 182 236 160 236 + 200 3 15 3 0 160 189 182 189 182 236 + 200 3 15 0 14 160 189 182 236 160 236 200 3 11 9 16 216 70 209 85 231 85 - 200 4 13 15 14 12 137 189 159 189 159 236 137 236 + 200 3 13 15 14 137 189 159 189 159 236 + 200 3 13 14 12 137 189 159 236 137 236 200 3 13 11 16 231 63 216 69 231 85 - 200 4 9 11 10 8 91 189 113 189 113 236 91 236 + 200 3 9 11 10 91 189 113 189 113 236 + 200 3 9 10 8 91 189 113 236 91 236 200 3 15 13 16 246 70 232 63 232 85 - 200 4 7 9 8 6 69 189 90 189 90 236 69 236 + 200 3 7 9 8 69 189 90 189 90 236 + 200 3 7 8 6 69 189 90 236 69 236 200 3 3 15 16 253 85 247 70 232 85 - 200 4 11 13 12 10 114 189 136 189 136 236 114 236 + 200 3 11 13 12 114 189 136 189 136 236 + 200 3 11 12 10 114 189 136 236 114 236 200 3 24 20 23 68 25 7 26 60 0 200 3 17 22 21 7 26 68 26 61 0 200 3 30 29 28 7 26 68 26 61 0 200 3 22 17 31 68 25 7 26 60 0 - 200 4 24 23 21 22 87 21 91 0 116 0 120 21 - 200 4 22 31 28 29 88 45 92 24 116 24 121 45 - 200 4 22 29 34 27 222 183 248 184 248 157 222 157 - 200 4 22 27 56 55 248 184 248 157 222 157 222 183 - 200 4 20 24 25 19 6 27 68 26 85 76 0 76 + 200 3 24 23 21 87 21 91 0 116 0 + 200 3 24 21 22 87 21 116 0 120 21 + 200 3 22 31 28 88 45 92 24 116 24 + 200 3 22 28 29 88 45 116 24 121 45 + 200 3 22 29 34 222 183 248 184 248 157 + 200 3 22 34 27 222 183 248 157 222 157 + 200 3 22 27 56 248 184 248 157 222 157 + 200 3 22 56 55 248 184 222 157 222 183 + 200 3 20 24 25 6 27 68 26 85 76 + 200 3 20 25 19 6 27 85 76 0 76 200 3 26 25 24 85 26 86 76 69 26 - 200 4 26 24 55 56 222 157 222 183 222 183 222 157 - 200 4 33 29 30 32 85 76 69 26 7 26 0 76 + 200 3 26 24 55 222 157 222 183 222 183 + 200 3 26 55 56 222 157 222 183 222 157 + 200 3 33 29 30 85 76 69 26 7 26 + 200 3 33 30 32 85 76 7 26 0 76 200 3 29 33 34 69 26 85 76 85 26 - 200 4 23 20 17 21 189 248 184 165 218 165 214 248 - 200 4 31 17 30 28 189 248 184 165 218 165 214 248 - 200 4 5 7 6 4 46 189 68 189 68 236 46 236 - 200 4 20 19 18 17 0 27 0 77 12 77 12 27 - 200 4 17 18 32 30 0 27 0 77 12 77 12 27 - 200 4 2 5 4 1 23 189 45 189 45 236 23 236 - 200 4 26 37 36 35 185 112 254 112 254 153 185 153 - 200 4 3 2 1 0 0 189 22 189 22 236 0 236 - 200 4 53 41 38 52 160 137 182 137 182 186 160 186 - 200 4 51 53 52 50 137 137 159 137 159 186 137 186 + 200 3 23 20 17 189 248 184 165 218 165 + 200 3 23 17 21 189 248 218 165 214 248 + 200 3 31 17 30 189 248 184 165 218 165 + 200 3 31 30 28 189 248 218 165 214 248 + 200 3 5 7 6 46 189 68 189 68 236 + 200 3 5 6 4 46 189 68 236 46 236 + 200 3 20 19 18 0 27 0 77 12 77 + 200 3 20 18 17 0 27 12 77 12 27 + 200 3 17 18 32 0 27 0 77 12 77 + 200 3 17 32 30 0 27 12 77 12 27 + 200 3 2 5 4 23 189 45 189 45 236 + 200 3 2 4 1 23 189 45 236 23 236 + 200 3 26 37 36 185 112 254 112 254 153 + 200 3 26 36 35 185 112 254 153 185 153 + 200 3 3 2 1 0 189 22 189 22 236 + 200 3 3 1 0 0 189 22 236 0 236 + 200 3 53 41 38 160 137 182 137 182 186 + 200 3 53 38 52 160 137 182 186 160 186 + 200 3 51 53 52 137 137 159 137 159 186 + 200 3 51 52 50 137 137 159 186 137 186 200 3 40 41 54 254 85 248 70 233 84 - 200 4 49 51 50 48 114 137 136 137 136 186 114 186 + 200 3 49 51 50 114 137 136 137 136 186 + 200 3 49 50 48 114 137 136 186 114 186 200 3 45 43 54 232 108 247 103 233 85 - 200 4 47 49 48 46 91 137 113 137 113 186 91 186 + 200 3 47 49 48 91 137 113 137 113 186 + 200 3 47 48 46 91 137 113 186 91 186 200 3 47 45 54 216 102 231 108 232 85 - 200 4 45 47 46 44 69 137 90 137 90 186 69 186 + 200 3 45 47 46 69 137 90 137 90 186 + 200 3 45 46 44 69 137 90 186 69 186 200 3 49 47 54 210 85 215 102 232 85 - 200 4 43 45 44 42 46 137 68 137 68 186 46 186 + 200 3 43 45 44 46 137 68 137 68 186 + 200 3 43 44 42 46 137 68 186 46 186 200 3 51 49 54 216 70 210 85 232 85 - 200 4 40 43 42 39 23 137 45 137 45 186 23 186 + 200 3 40 43 42 23 137 45 137 45 186 + 200 3 40 42 39 23 137 45 186 23 186 200 3 53 51 54 232 63 216 69 232 84 - 200 4 41 40 39 38 0 137 22 137 22 186 0 186 + 200 3 41 40 39 0 137 22 137 22 186 + 200 3 41 39 38 0 137 22 186 0 186 200 3 41 53 54 247 70 232 63 232 84 200 3 43 40 54 247 102 254 86 233 85 CONNECTORS 1 diff --git a/data/base/structs/blfact2.pie b/data/base/structs/blfact2.pie index b0d59d6f6..ab18fbec8 100644 --- a/data/base/structs/blfact2.pie +++ b/data/base/structs/blfact2.pie @@ -83,79 +83,120 @@ POINTS 79 113 0 93 -72 100 -136 -72 100 -185 -POLYGONS 73 +POLYGONS 114 200 3 61 68 60 210 82 213 99 231 86 - 200 4 61 62 70 69 0 84 22 84 22 133 0 133 + 200 3 61 62 70 0 84 22 84 22 133 + 200 3 61 70 69 0 84 22 133 0 133 200 3 68 67 60 214 99 228 108 231 86 - 200 4 62 63 71 70 23 84 45 84 45 133 23 133 + 200 3 62 63 71 23 84 45 84 45 133 + 200 3 62 71 70 23 84 45 133 23 133 200 3 67 66 60 229 108 245 105 232 86 - 200 4 63 64 72 71 46 84 68 84 68 133 46 133 + 200 3 63 64 72 46 84 68 84 68 133 + 200 3 63 72 71 46 84 68 133 46 133 200 3 66 65 60 245 104 254 90 232 86 - 200 4 64 65 73 72 69 84 90 84 90 133 69 133 + 200 3 64 65 73 69 84 90 84 90 133 + 200 3 64 73 72 69 84 90 133 69 133 200 3 65 64 60 254 89 252 73 232 85 - 200 4 65 66 74 73 91 84 113 84 113 133 91 133 + 200 3 65 66 74 91 84 113 84 113 133 + 200 3 65 74 73 91 84 113 133 91 133 200 3 64 63 60 251 73 237 64 232 85 - 200 4 66 67 75 74 114 84 136 84 136 133 114 133 + 200 3 66 67 75 114 84 136 84 136 133 + 200 3 66 75 74 114 84 136 133 114 133 200 3 63 62 60 236 64 220 66 231 85 - 200 4 68 61 69 76 160 84 182 84 182 133 160 133 + 200 3 68 61 69 160 84 182 84 182 133 + 200 3 68 69 76 160 84 182 133 160 133 200 3 62 61 60 220 67 210 81 231 85 - 200 4 67 68 76 75 137 84 159 84 159 133 137 133 + 200 3 67 68 76 137 84 159 84 159 133 + 200 3 67 76 75 137 84 159 133 137 133 200 3 5 2 16 234 109 247 103 234 87 200 3 7 5 16 219 102 233 109 233 87 200 3 2 3 16 247 102 253 87 234 87 200 3 9 7 16 213 87 218 102 233 87 - 200 4 15 3 0 14 160 189 182 189 182 236 160 236 + 200 3 15 3 0 160 189 182 189 182 236 + 200 3 15 0 14 160 189 182 236 160 236 200 3 11 9 16 219 71 213 86 233 86 - 200 4 13 15 14 12 137 189 159 189 159 236 137 236 + 200 3 13 15 14 137 189 159 189 159 236 + 200 3 13 14 12 137 189 159 236 137 236 200 3 13 11 16 233 64 219 70 233 86 - 200 4 9 11 10 8 91 189 113 189 113 236 91 236 + 200 3 9 11 10 91 189 113 189 113 236 + 200 3 9 10 8 91 189 113 236 91 236 200 3 15 13 16 247 71 234 64 234 86 - 200 4 7 9 8 6 69 189 90 189 90 236 69 236 + 200 3 7 9 8 69 189 90 189 90 236 + 200 3 7 8 6 69 189 90 236 69 236 200 3 3 15 16 253 86 248 71 234 86 - 200 4 11 13 12 10 114 189 136 189 136 236 114 236 + 200 3 11 13 12 114 189 136 189 136 236 + 200 3 11 12 10 114 189 136 236 114 236 200 3 24 20 23 68 25 7 26 60 0 200 3 17 22 21 7 26 68 26 61 0 200 3 56 53 54 7 26 68 26 61 0 200 3 29 30 55 68 25 7 26 60 0 200 3 22 17 31 68 25 7 26 60 0 200 3 30 29 28 7 26 68 26 61 0 - 200 4 24 23 21 22 87 21 91 0 116 0 120 21 - 200 4 22 31 28 29 87 45 91 24 115 24 120 45 - 200 4 29 55 54 53 87 69 91 48 116 48 120 69 - 200 4 32 29 53 35 222 157 222 183 247 183 247 157 - 200 4 22 29 32 27 222 183 248 184 248 157 222 157 - 200 4 22 27 78 77 248 184 248 157 222 157 222 183 - 200 4 20 24 25 19 6 27 68 26 85 76 0 76 + 200 3 24 23 21 87 21 91 0 116 0 + 200 3 24 21 22 87 21 116 0 120 21 + 200 3 22 31 28 87 45 91 24 115 24 + 200 3 22 28 29 87 45 115 24 120 45 + 200 3 29 55 54 87 69 91 48 116 48 + 200 3 29 54 53 87 69 116 48 120 69 + 200 3 32 29 53 222 157 222 183 247 183 + 200 3 32 53 35 222 157 247 183 247 157 + 200 3 22 29 32 222 183 248 184 248 157 + 200 3 22 32 27 222 183 248 157 222 157 + 200 3 22 27 78 248 184 248 157 222 157 + 200 3 22 78 77 248 184 222 157 222 183 + 200 3 20 24 25 6 27 68 26 85 76 + 200 3 20 25 19 6 27 85 76 0 76 200 3 26 25 24 85 26 86 76 69 26 - 200 4 26 24 77 78 222 157 222 183 222 183 222 157 - 200 4 34 53 56 59 85 76 69 26 7 26 0 76 + 200 3 26 24 77 222 157 222 183 222 183 + 200 3 26 77 78 222 157 222 183 222 157 + 200 3 34 53 56 85 76 69 26 7 26 + 200 3 34 56 59 85 76 7 26 0 76 200 3 53 34 57 69 26 85 76 85 26 - 200 4 58 57 35 53 248 184 248 157 247 157 247 183 - 200 4 26 57 34 25 124 0 231 0 231 45 124 45 - 200 4 5 7 6 4 46 189 68 189 68 236 46 236 - 200 4 23 20 17 21 189 248 184 165 218 165 214 248 - 200 4 31 17 30 28 189 248 184 165 218 165 214 248 - 200 4 55 30 56 54 189 248 184 165 218 165 214 248 - 200 4 2 5 4 1 23 189 45 189 45 236 23 236 - 200 4 20 19 18 17 0 27 0 77 12 77 12 27 - 200 4 17 18 33 30 0 27 0 77 12 77 12 27 - 200 4 30 33 59 56 0 27 0 77 12 77 12 27 - 200 4 3 2 1 0 0 189 22 189 22 236 0 236 - 200 4 51 39 36 50 160 137 182 137 182 186 160 186 + 200 3 58 57 35 248 184 248 157 247 157 + 200 3 58 35 53 248 184 247 157 247 183 + 200 3 26 57 34 124 0 231 0 231 45 + 200 3 26 34 25 124 0 231 45 124 45 + 200 3 5 7 6 46 189 68 189 68 236 + 200 3 5 6 4 46 189 68 236 46 236 + 200 3 23 20 17 189 248 184 165 218 165 + 200 3 23 17 21 189 248 218 165 214 248 + 200 3 31 17 30 189 248 184 165 218 165 + 200 3 31 30 28 189 248 218 165 214 248 + 200 3 55 30 56 189 248 184 165 218 165 + 200 3 55 56 54 189 248 218 165 214 248 + 200 3 2 5 4 23 189 45 189 45 236 + 200 3 2 4 1 23 189 45 236 23 236 + 200 3 20 19 18 0 27 0 77 12 77 + 200 3 20 18 17 0 27 12 77 12 27 + 200 3 17 18 33 0 27 0 77 12 77 + 200 3 17 33 30 0 27 12 77 12 27 + 200 3 30 33 59 0 27 0 77 12 77 + 200 3 30 59 56 0 27 12 77 12 27 + 200 3 3 2 1 0 189 22 189 22 236 + 200 3 3 1 0 0 189 22 236 0 236 + 200 3 51 39 36 160 137 182 137 182 186 + 200 3 51 36 50 160 137 182 186 160 186 200 3 38 39 52 248 70 233 63 233 84 - 200 4 49 51 50 48 137 137 159 137 159 186 137 186 + 200 3 49 51 50 137 137 159 137 159 186 + 200 3 49 50 48 137 137 159 186 137 186 200 3 41 38 52 254 85 249 70 233 84 - 200 4 47 49 48 46 114 137 136 137 136 186 114 186 + 200 3 47 49 48 114 137 136 137 136 186 + 200 3 47 48 46 114 137 136 186 114 186 200 3 43 41 52 248 102 254 86 233 85 - 200 4 45 47 46 44 91 137 113 137 113 186 91 186 + 200 3 45 47 46 91 137 113 137 113 186 + 200 3 45 46 44 91 137 113 186 91 186 200 3 45 43 52 233 108 248 103 233 85 - 200 4 43 45 44 42 69 137 90 137 90 186 69 186 + 200 3 43 45 44 69 137 90 137 90 186 + 200 3 43 44 42 69 137 90 186 69 186 200 3 47 45 52 217 102 232 108 232 85 - 200 4 41 43 42 40 46 137 68 137 68 186 46 186 + 200 3 41 43 42 46 137 68 137 68 186 + 200 3 41 42 40 46 137 68 186 46 186 200 3 49 47 52 210 85 216 102 232 85 - 200 4 38 41 40 37 23 137 45 137 45 186 23 186 + 200 3 38 41 40 23 137 45 137 45 186 + 200 3 38 40 37 23 137 45 186 23 186 200 3 51 49 52 217 70 210 85 232 85 - 200 4 39 38 37 36 0 137 22 137 22 186 0 186 + 200 3 39 38 37 0 137 22 137 22 186 + 200 3 39 37 36 0 137 22 186 0 186 200 3 39 51 52 232 63 217 69 232 84 CONNECTORS 1 101 -63 136 diff --git a/data/base/structs/blgaurdn.pie b/data/base/structs/blgaurdn.pie index 3077faa5b..3d2266dac 100644 --- a/data/base/structs/blgaurdn.pie +++ b/data/base/structs/blgaurdn.pie @@ -24,19 +24,32 @@ POINTS 20 33 0 36 -33 0 36 -33 0 -36 -POLYGONS 13 - 200 4 3 2 1 0 0 34 18 34 18 47 0 47 - 200 4 2 5 4 1 0 34 18 34 18 47 0 47 - 200 4 5 7 6 4 0 34 18 34 18 47 0 47 - 200 4 7 3 0 6 0 34 18 34 18 47 0 47 - 200 4 7 5 2 3 22 161 40 161 40 176 22 176 - 200 4 11 10 9 8 197 239 197 247 165 250 165 236 - 200 4 13 11 8 12 197 239 197 247 165 250 165 236 - 200 4 10 15 14 9 197 239 197 247 165 250 165 236 - 200 4 15 13 12 14 197 239 197 247 165 250 165 236 - 200 4 9 14 17 16 119 95 119 78 130 76 130 96 - 200 4 14 12 18 17 119 94 119 78 130 76 130 96 - 200 4 12 8 19 18 119 93 119 80 130 76 130 96 - 200 4 8 9 16 19 119 93 119 80 130 76 130 96 +POLYGONS 26 + 200 3 3 2 1 0 34 18 34 18 47 + 200 3 3 1 0 0 34 18 47 0 47 + 200 3 2 5 4 0 34 18 34 18 47 + 200 3 2 4 1 0 34 18 47 0 47 + 200 3 5 7 6 0 34 18 34 18 47 + 200 3 5 6 4 0 34 18 47 0 47 + 200 3 7 3 0 0 34 18 34 18 47 + 200 3 7 0 6 0 34 18 47 0 47 + 200 3 7 5 2 22 161 40 161 40 176 + 200 3 7 2 3 22 161 40 176 22 176 + 200 3 11 10 9 197 239 197 247 165 250 + 200 3 11 9 8 197 239 165 250 165 236 + 200 3 13 11 8 197 239 197 247 165 250 + 200 3 13 8 12 197 239 165 250 165 236 + 200 3 10 15 14 197 239 197 247 165 250 + 200 3 10 14 9 197 239 165 250 165 236 + 200 3 15 13 12 197 239 197 247 165 250 + 200 3 15 12 14 197 239 165 250 165 236 + 200 3 9 14 17 119 95 119 78 130 76 + 200 3 9 17 16 119 95 130 76 130 96 + 200 3 14 12 18 119 94 119 78 130 76 + 200 3 14 18 17 119 94 130 76 130 96 + 200 3 12 8 19 119 93 119 80 130 76 + 200 3 12 19 18 119 93 130 76 130 96 + 200 3 8 9 16 119 93 119 80 130 76 + 200 3 8 16 19 119 93 130 76 130 96 CONNECTORS 1 -1 0 113 diff --git a/data/base/structs/blgrdnex.pie b/data/base/structs/blgrdnex.pie index 9eeb949bc..3dc78a8d1 100644 --- a/data/base/structs/blgrdnex.pie +++ b/data/base/structs/blgrdnex.pie @@ -24,19 +24,32 @@ POINTS 20 33 0 36 -33 0 36 -33 0 -36 -POLYGONS 13 - 200 4 3 2 1 0 0 34 18 34 18 47 0 47 - 200 4 2 5 4 1 0 34 18 34 18 47 0 47 - 200 4 5 7 6 4 0 34 18 34 18 47 0 47 - 200 4 7 3 0 6 0 34 18 34 18 47 0 47 - 200 4 7 5 2 3 22 161 40 161 40 176 22 176 - 200 4 11 10 9 8 160 81 160 93 116 96 116 77 - 200 4 13 11 8 12 160 82 160 92 116 96 116 77 - 200 4 10 15 14 9 160 82 160 92 116 96 116 77 - 200 4 15 13 12 14 160 81 160 93 116 96 116 77 - 200 4 9 14 17 16 119 95 119 78 130 76 130 96 - 200 4 14 12 18 17 119 94 119 78 130 76 130 96 - 200 4 12 8 19 18 119 93 119 80 130 76 130 96 - 200 4 8 9 16 19 119 93 119 80 130 76 130 96 +POLYGONS 26 + 200 3 3 2 1 0 34 18 34 18 47 + 200 3 3 1 0 0 34 18 47 0 47 + 200 3 2 5 4 0 34 18 34 18 47 + 200 3 2 4 1 0 34 18 47 0 47 + 200 3 5 7 6 0 34 18 34 18 47 + 200 3 5 6 4 0 34 18 47 0 47 + 200 3 7 3 0 0 34 18 34 18 47 + 200 3 7 0 6 0 34 18 47 0 47 + 200 3 7 5 2 22 161 40 161 40 176 + 200 3 7 2 3 22 161 40 176 22 176 + 200 3 11 10 9 160 81 160 93 116 96 + 200 3 11 9 8 160 81 116 96 116 77 + 200 3 13 11 8 160 82 160 92 116 96 + 200 3 13 8 12 160 82 116 96 116 77 + 200 3 10 15 14 160 82 160 92 116 96 + 200 3 10 14 9 160 82 116 96 116 77 + 200 3 15 13 12 160 81 160 93 116 96 + 200 3 15 12 14 160 81 116 96 116 77 + 200 3 9 14 17 119 95 119 78 130 76 + 200 3 9 17 16 119 95 130 76 130 96 + 200 3 14 12 18 119 94 119 78 130 76 + 200 3 14 18 17 119 94 130 76 130 96 + 200 3 12 8 19 119 93 119 80 130 76 + 200 3 12 19 18 119 93 130 76 130 96 + 200 3 8 9 16 119 93 119 80 130 76 + 200 3 8 16 19 119 93 130 76 130 96 CONNECTORS 1 -1 0 113 diff --git a/data/base/structs/blguard1.pie b/data/base/structs/blguard1.pie index e8e548972..d540a01c1 100644 --- a/data/base/structs/blguard1.pie +++ b/data/base/structs/blguard1.pie @@ -65,45 +65,84 @@ POINTS 61 13 121 -12 13 121 13 -13 121 13 -POLYGONS 39 - 200 4 3 1 0 2 227 175 227 203 254 203 254 175 - 200 4 4 5 0 1 130 207 90 207 90 172 130 172 - 200 4 6 7 3 2 130 207 90 207 90 172 130 172 - 200 4 7 4 1 3 130 207 90 207 90 172 130 172 - 200 4 5 6 2 0 130 207 90 207 90 172 130 172 - 200 4 13 12 11 10 100 171 120 171 130 207 90 207 - 200 4 13 10 8 9 110 171 110 207 129 207 129 171 - 200 4 11 12 15 14 91 207 91 171 110 171 110 207 - 200 4 16 17 18 19 28 225 28 238 55 238 55 225 - 200 4 18 17 13 9 55 225 28 225 28 238 55 238 - 200 4 19 15 12 16 55 225 55 238 28 238 28 225 - 200 4 9 8 14 15 100 171 90 207 130 207 120 171 - 200 4 18 9 15 19 5 225 5 238 55 238 55 225 - 200 4 25 22 20 21 110 171 110 207 129 207 129 171 - 200 4 23 24 27 26 91 207 91 171 110 171 110 207 - 200 4 28 29 30 31 28 225 28 238 55 238 55 225 - 200 4 30 29 25 21 55 225 28 225 28 238 55 238 - 200 4 31 27 24 28 55 225 55 238 28 238 28 225 - 200 4 21 20 26 27 100 171 90 207 130 207 120 171 - 200 4 30 21 27 31 5 225 5 238 55 238 55 225 - 200 4 37 34 32 33 110 171 110 207 129 207 129 171 - 200 4 35 36 39 38 91 207 91 171 110 171 110 207 - 200 4 40 41 42 43 28 225 28 238 55 238 55 225 - 200 4 42 41 37 33 55 225 28 225 28 238 55 238 - 200 4 43 39 36 40 55 225 55 238 28 238 28 225 - 200 4 33 32 38 39 100 171 90 207 130 207 120 171 - 200 4 42 33 39 43 5 225 5 238 55 238 55 225 - 200 4 49 46 44 45 110 171 110 207 129 207 129 171 - 200 4 47 48 51 50 91 207 91 171 110 171 110 207 - 200 4 52 53 54 55 28 225 28 238 55 238 55 225 - 200 4 54 53 49 45 55 225 28 225 28 238 55 238 - 200 4 55 51 48 52 55 225 55 238 28 238 28 225 - 200 4 45 44 50 51 100 171 90 207 130 207 120 171 - 200 4 54 45 51 55 5 225 5 238 55 238 55 225 - 200 4 60 57 1 0 9 209 46 209 54 223 0 223 - 200 4 58 59 2 3 8 209 45 209 54 223 0 223 - 200 4 57 58 3 1 9 209 45 209 54 223 0 223 - 200 4 59 60 0 2 9 209 45 209 54 223 0 223 - 200 4 60 59 58 57 227 177 255 177 255 202 227 202 +POLYGONS 78 + 200 3 3 1 0 227 175 227 203 254 203 + 200 3 3 0 2 227 175 254 203 254 175 + 200 3 4 5 0 130 207 90 207 90 172 + 200 3 4 0 1 130 207 90 172 130 172 + 200 3 6 7 3 130 207 90 207 90 172 + 200 3 6 3 2 130 207 90 172 130 172 + 200 3 7 4 1 130 207 90 207 90 172 + 200 3 7 1 3 130 207 90 172 130 172 + 200 3 5 6 2 130 207 90 207 90 172 + 200 3 5 2 0 130 207 90 172 130 172 + 200 3 13 12 11 100 171 120 171 130 207 + 200 3 13 11 10 100 171 130 207 90 207 + 200 3 13 10 8 110 171 110 207 129 207 + 200 3 13 8 9 110 171 129 207 129 171 + 200 3 11 12 15 91 207 91 171 110 171 + 200 3 11 15 14 91 207 110 171 110 207 + 200 3 16 17 18 28 225 28 238 55 238 + 200 3 16 18 19 28 225 55 238 55 225 + 200 3 18 17 13 55 225 28 225 28 238 + 200 3 18 13 9 55 225 28 238 55 238 + 200 3 19 15 12 55 225 55 238 28 238 + 200 3 19 12 16 55 225 28 238 28 225 + 200 3 9 8 14 100 171 90 207 130 207 + 200 3 9 14 15 100 171 130 207 120 171 + 200 3 18 9 15 5 225 5 238 55 238 + 200 3 18 15 19 5 225 55 238 55 225 + 200 3 25 22 20 110 171 110 207 129 207 + 200 3 25 20 21 110 171 129 207 129 171 + 200 3 23 24 27 91 207 91 171 110 171 + 200 3 23 27 26 91 207 110 171 110 207 + 200 3 28 29 30 28 225 28 238 55 238 + 200 3 28 30 31 28 225 55 238 55 225 + 200 3 30 29 25 55 225 28 225 28 238 + 200 3 30 25 21 55 225 28 238 55 238 + 200 3 31 27 24 55 225 55 238 28 238 + 200 3 31 24 28 55 225 28 238 28 225 + 200 3 21 20 26 100 171 90 207 130 207 + 200 3 21 26 27 100 171 130 207 120 171 + 200 3 30 21 27 5 225 5 238 55 238 + 200 3 30 27 31 5 225 55 238 55 225 + 200 3 37 34 32 110 171 110 207 129 207 + 200 3 37 32 33 110 171 129 207 129 171 + 200 3 35 36 39 91 207 91 171 110 171 + 200 3 35 39 38 91 207 110 171 110 207 + 200 3 40 41 42 28 225 28 238 55 238 + 200 3 40 42 43 28 225 55 238 55 225 + 200 3 42 41 37 55 225 28 225 28 238 + 200 3 42 37 33 55 225 28 238 55 238 + 200 3 43 39 36 55 225 55 238 28 238 + 200 3 43 36 40 55 225 28 238 28 225 + 200 3 33 32 38 100 171 90 207 130 207 + 200 3 33 38 39 100 171 130 207 120 171 + 200 3 42 33 39 5 225 5 238 55 238 + 200 3 42 39 43 5 225 55 238 55 225 + 200 3 49 46 44 110 171 110 207 129 207 + 200 3 49 44 45 110 171 129 207 129 171 + 200 3 47 48 51 91 207 91 171 110 171 + 200 3 47 51 50 91 207 110 171 110 207 + 200 3 52 53 54 28 225 28 238 55 238 + 200 3 52 54 55 28 225 55 238 55 225 + 200 3 54 53 49 55 225 28 225 28 238 + 200 3 54 49 45 55 225 28 238 55 238 + 200 3 55 51 48 55 225 55 238 28 238 + 200 3 55 48 52 55 225 28 238 28 225 + 200 3 45 44 50 100 171 90 207 130 207 + 200 3 45 50 51 100 171 130 207 120 171 + 200 3 54 45 51 5 225 5 238 55 238 + 200 3 54 51 55 5 225 55 238 55 225 + 200 3 60 57 1 9 209 46 209 54 223 + 200 3 60 1 0 9 209 54 223 0 223 + 200 3 58 59 2 8 209 45 209 54 223 + 200 3 58 2 3 8 209 54 223 0 223 + 200 3 57 58 3 9 209 45 209 54 223 + 200 3 57 3 1 9 209 54 223 0 223 + 200 3 59 60 0 9 209 45 209 54 223 + 200 3 59 0 2 9 209 54 223 0 223 + 200 3 60 59 58 227 177 255 177 255 202 + 200 3 60 58 57 227 177 255 202 227 202 CONNECTORS 1 0 0 122 diff --git a/data/base/structs/blguard2.pie b/data/base/structs/blguard2.pie index f7ab3cae1..06ad3d07a 100644 --- a/data/base/structs/blguard2.pie +++ b/data/base/structs/blguard2.pie @@ -32,35 +32,48 @@ POINTS 28 26 0 65 -26 0 65 -26 0 26 -POLYGONS 29 - 200 4 3 0 4 7 9 209 46 209 54 223 0 223 - 200 4 4 9 8 7 56 238 0 235 0 228 56 225 +POLYGONS 42 + 200 3 3 0 4 9 209 46 209 54 223 + 200 3 3 4 7 9 209 54 223 0 223 + 200 3 4 9 8 56 238 0 235 0 228 + 200 3 4 8 7 56 238 0 228 56 225 200 3 9 4 16 131 177 170 172 131 208 - 200 4 8 9 16 20 160 172 141 172 131 208 170 208 - 200 4 1 2 6 5 8 209 45 209 54 223 0 223 - 200 4 5 6 15 14 0 238 0 225 56 228 56 235 + 200 3 8 9 16 160 172 141 172 131 208 + 200 3 8 16 20 160 172 131 208 170 208 + 200 3 1 2 6 8 209 45 209 54 223 + 200 3 1 6 5 8 209 54 223 0 223 + 200 3 5 6 15 0 238 0 225 56 228 + 200 3 5 15 14 0 238 56 228 56 235 200 3 5 14 22 131 172 170 177 170 208 - 200 4 0 1 5 4 9 209 45 209 54 223 0 223 - 200 4 14 15 23 22 141 172 160 172 170 208 131 208 + 200 3 0 1 5 9 209 45 209 54 223 + 200 3 0 5 4 9 209 54 223 0 223 + 200 3 14 15 23 141 172 160 172 170 208 + 200 3 14 23 22 141 172 170 208 131 208 200 3 21 5 22 131 208 131 172 170 208 200 3 4 17 16 170 172 170 208 131 208 200 3 17 4 18 170 208 170 172 131 208 - 200 4 13 12 19 18 140 172 161 172 170 208 131 208 + 200 3 13 12 19 140 172 161 172 170 208 + 200 3 13 19 18 140 172 170 208 131 208 200 3 4 13 18 170 172 131 177 131 208 200 3 5 21 19 170 172 170 208 131 208 - 200 4 13 4 5 12 0 228 56 225 56 238 0 235 + 200 3 13 4 5 0 228 56 225 56 238 + 200 3 13 5 12 0 228 56 238 0 235 200 3 12 5 19 131 177 170 172 131 208 200 3 15 6 23 170 177 131 172 170 208 - 200 4 2 3 7 6 9 209 45 209 54 223 0 223 + 200 3 2 3 7 9 209 45 209 54 223 + 200 3 2 7 6 9 209 54 223 0 223 200 3 7 8 20 170 172 131 177 131 208 - 200 4 3 2 1 0 227 177 255 177 255 202 227 202 + 200 3 3 2 1 227 177 255 177 255 202 + 200 3 3 1 0 227 177 255 202 227 202 200 3 6 24 23 131 172 131 208 170 208 200 3 27 7 20 170 208 170 172 131 208 - 200 4 10 11 26 25 161 172 140 172 131 208 170 208 + 200 3 10 11 26 161 172 140 172 131 208 + 200 3 10 26 25 161 172 131 208 170 208 200 3 24 6 25 131 208 131 172 170 208 200 3 7 27 26 131 172 131 208 170 208 200 3 6 10 25 131 172 170 177 170 208 200 3 11 7 26 170 177 131 172 170 208 - 200 4 6 7 11 10 0 238 0 225 56 228 56 235 + 200 3 6 7 11 0 238 0 225 56 228 + 200 3 6 11 10 0 238 56 228 56 235 CONNECTORS 1 0 0 122 diff --git a/data/base/structs/blguard3.pie b/data/base/structs/blguard3.pie index 7f7b01b0d..d9a5cf560 100644 --- a/data/base/structs/blguard3.pie +++ b/data/base/structs/blguard3.pie @@ -28,27 +28,44 @@ POINTS 24 -26 0 65 -65 0 26 -65 0 -26 -POLYGONS 21 - 200 4 3 2 1 0 227 177 255 177 255 202 227 202 - 200 4 0 1 5 4 10 209 44 209 53 222 1 222 - 200 4 1 2 6 5 9 209 44 209 53 222 1 222 - 200 4 2 3 7 6 10 209 44 209 53 222 1 222 - 200 4 3 0 4 7 10 209 45 209 53 222 1 222 - 200 4 5 6 9 8 0 238 0 225 56 228 56 235 - 200 4 6 7 11 10 0 238 0 225 56 228 56 235 - 200 4 4 13 12 7 56 238 0 235 0 228 56 225 +POLYGONS 38 + 200 3 3 2 1 227 177 255 177 255 202 + 200 3 3 1 0 227 177 255 202 227 202 + 200 3 0 1 5 10 209 44 209 53 222 + 200 3 0 5 4 10 209 53 222 1 222 + 200 3 1 2 6 9 209 44 209 53 222 + 200 3 1 6 5 9 209 53 222 1 222 + 200 3 2 3 7 10 209 44 209 53 222 + 200 3 2 7 6 10 209 53 222 1 222 + 200 3 3 0 4 10 209 45 209 53 222 + 200 3 3 4 7 10 209 53 222 1 222 + 200 3 5 6 9 0 238 0 225 56 228 + 200 3 5 9 8 0 238 56 228 56 235 + 200 3 6 7 11 0 238 0 225 56 228 + 200 3 6 11 10 0 238 56 228 56 235 + 200 3 4 13 12 56 238 0 235 0 228 + 200 3 4 12 7 56 238 0 228 56 225 200 3 7 12 11 56 231 0 224 0 239 200 3 6 10 9 56 231 0 224 0 239 200 3 5 8 14 56 231 0 224 0 239 - 200 4 14 8 16 15 171 171 209 171 209 207 171 207 - 200 4 18 14 15 17 170 171 210 171 210 207 170 207 - 200 4 18 4 5 14 0 228 56 225 56 238 0 235 + 200 3 14 8 16 171 171 209 171 209 207 + 200 3 14 16 15 171 171 209 207 171 207 + 200 3 18 14 15 170 171 210 171 210 207 + 200 3 18 15 17 170 171 210 207 170 207 + 200 3 18 4 5 0 228 56 225 56 238 + 200 3 18 5 14 0 228 56 238 0 235 200 3 4 18 13 56 231 0 224 0 239 - 200 4 8 9 19 16 170 171 210 171 210 207 170 207 - 200 4 9 10 20 19 171 171 209 171 209 207 171 207 - 200 4 10 11 21 20 170 171 210 171 210 207 170 207 - 200 4 11 12 22 21 171 171 209 171 209 207 171 207 - 200 4 12 13 23 22 170 171 210 171 210 207 170 207 - 200 4 13 18 17 23 171 171 209 171 209 207 171 207 + 200 3 8 9 19 170 171 210 171 210 207 + 200 3 8 19 16 170 171 210 207 170 207 + 200 3 9 10 20 171 171 209 171 209 207 + 200 3 9 20 19 171 171 209 207 171 207 + 200 3 10 11 21 170 171 210 171 210 207 + 200 3 10 21 20 170 171 210 207 170 207 + 200 3 11 12 22 171 171 209 171 209 207 + 200 3 11 22 21 171 171 209 207 171 207 + 200 3 12 13 23 170 171 210 171 210 207 + 200 3 12 23 22 170 171 210 207 170 207 + 200 3 13 18 17 171 171 209 171 209 207 + 200 3 13 17 23 171 171 209 207 171 207 CONNECTORS 1 0 0 122 diff --git a/data/base/structs/blguardm.pie b/data/base/structs/blguardm.pie index 19aa18621..1619fef36 100644 --- a/data/base/structs/blguardm.pie +++ b/data/base/structs/blguardm.pie @@ -24,22 +24,38 @@ POINTS 20 -11 98 -19 -11 98 20 11 98 -19 -POLYGONS 16 - 200 4 0 1 2 3 196 249 173 249 177 192 192 192 - 200 4 3 2 1 0 192 192 177 192 173 249 196 249 - 200 4 7 6 5 4 226 200 238 225 226 225 220 213 - 200 4 9 6 7 8 244 213 238 225 226 200 238 200 - 200 4 10 0 3 11 174 249 195 249 192 192 177 192 - 200 4 11 3 0 10 177 192 192 192 195 249 174 249 - 200 4 1 12 13 2 195 249 174 249 177 192 192 192 - 200 4 2 13 12 1 192 192 177 192 174 249 195 249 - 200 4 12 10 11 13 196 249 219 249 215 192 200 192 - 200 4 13 11 10 12 200 192 215 192 219 249 196 249 - 200 4 9 8 15 14 241 240 221 240 221 256 241 256 - 200 4 4 5 17 16 221 240 241 240 241 256 221 256 - 200 4 7 4 16 18 241 240 221 240 221 256 241 256 - 200 4 6 9 14 19 221 240 241 240 241 256 221 256 - 200 4 8 7 18 15 241 240 221 240 221 256 241 256 - 200 4 5 6 19 17 221 240 241 240 241 256 221 256 +POLYGONS 32 + 200 3 0 1 2 196 249 173 249 177 192 + 200 3 0 2 3 196 249 177 192 192 192 + 200 3 3 2 1 192 192 177 192 173 249 + 200 3 3 1 0 192 192 173 249 196 249 + 200 3 7 6 5 226 200 238 225 226 225 + 200 3 7 5 4 226 200 226 225 220 213 + 200 3 9 6 7 244 213 238 225 226 200 + 200 3 9 7 8 244 213 226 200 238 200 + 200 3 10 0 3 174 249 195 249 192 192 + 200 3 10 3 11 174 249 192 192 177 192 + 200 3 11 3 0 177 192 192 192 195 249 + 200 3 11 0 10 177 192 195 249 174 249 + 200 3 1 12 13 195 249 174 249 177 192 + 200 3 1 13 2 195 249 177 192 192 192 + 200 3 2 13 12 192 192 177 192 174 249 + 200 3 2 12 1 192 192 174 249 195 249 + 200 3 12 10 11 196 249 219 249 215 192 + 200 3 12 11 13 196 249 215 192 200 192 + 200 3 13 11 10 200 192 215 192 219 249 + 200 3 13 10 12 200 192 219 249 196 249 + 200 3 9 8 15 241 240 221 240 221 256 + 200 3 9 15 14 241 240 221 256 241 256 + 200 3 4 5 17 221 240 241 240 241 256 + 200 3 4 17 16 221 240 241 256 221 256 + 200 3 7 4 16 241 240 221 240 221 256 + 200 3 7 16 18 241 240 221 256 241 256 + 200 3 6 9 14 221 240 241 240 241 256 + 200 3 6 14 19 221 240 241 256 221 256 + 200 3 8 7 18 241 240 221 240 221 256 + 200 3 8 18 15 241 240 221 256 241 256 + 200 3 5 6 19 221 240 241 240 241 256 + 200 3 5 19 17 221 240 241 256 221 256 CONNECTORS 1 0 0 116 diff --git a/data/base/structs/blguardr.pie b/data/base/structs/blguardr.pie index b3da6a6a9..a783f8d56 100644 --- a/data/base/structs/blguardr.pie +++ b/data/base/structs/blguardr.pie @@ -28,21 +28,36 @@ POINTS 24 34 0 31 -32 0 31 -32 0 -31 -POLYGONS 15 - 200 4 18 19 23 22 163 112 179 112 179 124 163 124 - 200 4 17 18 22 21 163 112 179 112 179 124 163 124 - 200 4 19 16 20 23 163 112 179 112 179 124 163 124 - 200 4 16 17 21 20 163 112 179 112 179 124 163 124 - 200 4 19 18 17 16 60 179 90 179 90 207 60 207 - 200 4 1 2 6 5 163 78 179 78 179 124 163 124 - 200 4 2 3 7 6 163 78 179 78 179 124 163 124 - 200 4 0 1 5 4 163 78 179 78 179 124 163 124 - 200 4 3 0 4 7 163 78 179 78 179 124 163 124 - 200 4 3 2 1 0 163 78 179 78 179 124 163 124 - 200 4 13 15 14 12 0 34 18 34 18 47 0 47 - 200 4 10 13 12 9 0 34 18 34 18 47 0 47 - 200 4 15 11 8 14 0 34 18 34 18 47 0 47 - 200 4 11 10 9 8 0 34 18 34 18 47 0 47 - 200 4 15 13 10 11 22 161 40 161 40 176 22 176 +POLYGONS 30 + 200 3 18 19 23 163 112 179 112 179 124 + 200 3 18 23 22 163 112 179 124 163 124 + 200 3 17 18 22 163 112 179 112 179 124 + 200 3 17 22 21 163 112 179 124 163 124 + 200 3 19 16 20 163 112 179 112 179 124 + 200 3 19 20 23 163 112 179 124 163 124 + 200 3 16 17 21 163 112 179 112 179 124 + 200 3 16 21 20 163 112 179 124 163 124 + 200 3 19 18 17 60 179 90 179 90 207 + 200 3 19 17 16 60 179 90 207 60 207 + 200 3 1 2 6 163 78 179 78 179 124 + 200 3 1 6 5 163 78 179 124 163 124 + 200 3 2 3 7 163 78 179 78 179 124 + 200 3 2 7 6 163 78 179 124 163 124 + 200 3 0 1 5 163 78 179 78 179 124 + 200 3 0 5 4 163 78 179 124 163 124 + 200 3 3 0 4 163 78 179 78 179 124 + 200 3 3 4 7 163 78 179 124 163 124 + 200 3 3 2 1 163 78 179 78 179 124 + 200 3 3 1 0 163 78 179 124 163 124 + 200 3 13 15 14 0 34 18 34 18 47 + 200 3 13 14 12 0 34 18 47 0 47 + 200 3 10 13 12 0 34 18 34 18 47 + 200 3 10 12 9 0 34 18 47 0 47 + 200 3 15 11 8 0 34 18 34 18 47 + 200 3 15 8 14 0 34 18 47 0 47 + 200 3 11 10 9 0 34 18 34 18 47 + 200 3 11 9 8 0 34 18 47 0 47 + 200 3 15 13 10 22 161 40 161 40 176 + 200 3 15 10 11 22 161 40 176 22 176 CONNECTORS 1 0 0 113 diff --git a/data/base/structs/blgyrlab.pie b/data/base/structs/blgyrlab.pie index 5221f7ab7..e8a0019cb 100644 --- a/data/base/structs/blgyrlab.pie +++ b/data/base/structs/blgyrlab.pie @@ -83,65 +83,112 @@ POINTS 79 -48 53 -9 -48 47 9 -48 53 9 -POLYGONS 61 - 200 4 3 2 1 0 165 127 185 127 185 145 165 145 - 200 4 2 5 4 1 186 127 207 127 207 145 186 145 - 200 4 9 8 7 6 207 127 186 127 186 145 207 145 - 200 4 8 11 10 7 186 127 165 127 165 145 186 145 - 200 4 5 13 12 4 165 127 186 127 186 145 165 145 - 200 4 11 3 0 10 207 127 226 127 226 145 207 145 - 200 4 13 15 14 12 226 127 206 127 206 145 226 145 - 200 4 15 9 6 14 165 127 184 127 184 145 165 145 - 200 4 14 6 7 10 14 221 0 207 0 187 14 174 - 200 4 0 12 14 10 34 174 33 221 14 221 14 174 - 200 4 0 1 4 12 34 174 47 188 47 207 33 221 - 200 4 16 17 18 19 48 135 37 135 37 137 48 137 - 200 4 19 18 17 16 48 137 37 137 37 135 48 135 - 200 4 23 22 21 20 6 231 11 231 11 241 6 241 - 200 4 22 25 24 21 11 231 16 231 16 241 11 241 - 200 4 25 27 26 24 16 231 22 231 22 241 16 241 - 200 4 27 29 28 26 22 231 27 231 27 241 22 241 - 200 4 29 31 30 28 27 231 32 231 32 241 27 241 - 200 4 31 23 20 30 0 231 6 231 6 241 0 241 - 200 4 33 32 22 23 6 226 11 226 11 231 6 231 - 200 4 32 34 25 22 11 226 16 226 16 231 11 231 - 200 4 34 35 27 25 16 226 22 226 22 231 16 231 - 200 4 35 36 29 27 22 226 27 226 27 231 22 231 - 200 4 36 37 31 29 27 226 32 226 32 231 27 231 - 200 4 37 33 23 31 0 226 6 226 6 231 0 231 +POLYGONS 108 + 200 3 3 2 1 165 127 185 127 185 145 + 200 3 3 1 0 165 127 185 145 165 145 + 200 3 2 5 4 186 127 207 127 207 145 + 200 3 2 4 1 186 127 207 145 186 145 + 200 3 9 8 7 207 127 186 127 186 145 + 200 3 9 7 6 207 127 186 145 207 145 + 200 3 8 11 10 186 127 165 127 165 145 + 200 3 8 10 7 186 127 165 145 186 145 + 200 3 5 13 12 165 127 186 127 186 145 + 200 3 5 12 4 165 127 186 145 165 145 + 200 3 11 3 0 207 127 226 127 226 145 + 200 3 11 0 10 207 127 226 145 207 145 + 200 3 13 15 14 226 127 206 127 206 145 + 200 3 13 14 12 226 127 206 145 226 145 + 200 3 15 9 6 165 127 184 127 184 145 + 200 3 15 6 14 165 127 184 145 165 145 + 200 3 14 6 7 14 221 0 207 0 187 + 200 3 14 7 10 14 221 0 187 14 174 + 200 3 0 12 14 34 174 33 221 14 221 + 200 3 0 14 10 34 174 14 221 14 174 + 200 3 0 1 4 34 174 47 188 47 207 + 200 3 0 4 12 34 174 47 207 33 221 + 200 3 16 17 18 48 135 37 135 37 137 + 200 3 16 18 19 48 135 37 137 48 137 + 200 3 19 18 17 48 137 37 137 37 135 + 200 3 19 17 16 48 137 37 135 48 135 + 200 3 23 22 21 6 231 11 231 11 241 + 200 3 23 21 20 6 231 11 241 6 241 + 200 3 22 25 24 11 231 16 231 16 241 + 200 3 22 24 21 11 231 16 241 11 241 + 200 3 25 27 26 16 231 22 231 22 241 + 200 3 25 26 24 16 231 22 241 16 241 + 200 3 27 29 28 22 231 27 231 27 241 + 200 3 27 28 26 22 231 27 241 22 241 + 200 3 29 31 30 27 231 32 231 32 241 + 200 3 29 30 28 27 231 32 241 27 241 + 200 3 31 23 20 0 231 6 231 6 241 + 200 3 31 20 30 0 231 6 241 0 241 + 200 3 33 32 22 6 226 11 226 11 231 + 200 3 33 22 23 6 226 11 231 6 231 + 200 3 32 34 25 11 226 16 226 16 231 + 200 3 32 25 22 11 226 16 231 11 231 + 200 3 34 35 27 16 226 22 226 22 231 + 200 3 34 27 25 16 226 22 231 16 231 + 200 3 35 36 29 22 226 27 226 27 231 + 200 3 35 29 27 22 226 27 231 22 231 + 200 3 36 37 31 27 226 32 226 32 231 + 200 3 36 31 29 27 226 32 231 27 231 + 200 3 37 33 23 0 226 6 226 6 231 + 200 3 37 23 31 0 226 6 231 0 231 200 3 32 33 38 11 226 6 226 18 222 200 3 34 32 38 16 226 11 226 18 222 200 3 35 34 38 22 226 16 226 18 222 200 3 36 35 38 27 226 22 226 18 222 200 3 37 36 38 32 226 27 226 18 222 200 3 33 37 38 6 226 0 226 18 222 - 200 4 42 41 40 39 62 141 49 141 49 197 62 197 - 200 4 44 42 39 43 64 141 77 141 77 197 64 197 - 200 4 41 46 45 40 77 141 64 141 64 197 77 197 - 200 4 50 49 48 47 62 197 49 197 49 141 62 141 - 200 4 49 52 51 48 77 197 64 197 64 141 77 141 - 200 4 54 50 47 53 64 197 77 197 77 141 64 141 - 200 4 58 57 56 55 156 77 156 73 167 73 167 77 - 200 4 57 60 59 56 156 73 156 67 167 67 167 73 - 200 4 60 62 61 59 156 67 156 63 167 63 167 67 + 200 3 42 41 40 62 141 49 141 49 197 + 200 3 42 40 39 62 141 49 197 62 197 + 200 3 44 42 39 64 141 77 141 77 197 + 200 3 44 39 43 64 141 77 197 64 197 + 200 3 41 46 45 77 141 64 141 64 197 + 200 3 41 45 40 77 141 64 197 77 197 + 200 3 50 49 48 62 197 49 197 49 141 + 200 3 50 48 47 62 197 49 141 62 141 + 200 3 49 52 51 77 197 64 197 64 141 + 200 3 49 51 48 77 197 64 141 77 141 + 200 3 54 50 47 64 197 77 197 77 141 + 200 3 54 47 53 64 197 77 141 64 141 + 200 3 58 57 56 156 77 156 73 167 73 + 200 3 58 56 55 156 77 167 73 167 77 + 200 3 57 60 59 156 73 156 67 167 67 + 200 3 57 59 56 156 73 167 67 167 73 + 200 3 60 62 61 156 67 156 63 167 63 + 200 3 60 61 59 156 67 167 63 167 67 200 3 55 56 63 167 77 167 73 167 72 - 200 4 56 59 64 63 167 73 167 67 167 68 167 72 - 200 4 66 60 57 65 156 68 156 67 156 73 156 72 + 200 3 56 59 64 167 73 167 67 167 68 + 200 3 56 64 63 167 73 167 68 167 72 + 200 3 66 60 57 156 68 156 67 156 73 + 200 3 66 57 65 156 68 156 73 156 72 200 3 62 60 66 156 63 156 67 156 68 200 3 61 64 59 167 63 167 68 167 67 200 3 65 57 58 156 72 156 73 156 77 - 200 4 66 65 63 64 167 72 167 69 156 69 156 72 - 200 4 61 62 66 64 156 77 167 77 167 72 156 72 - 200 4 63 65 58 55 156 69 167 69 167 65 156 65 - 200 4 70 69 68 67 156 77 156 73 167 73 167 77 - 200 4 69 72 71 68 156 73 156 67 167 67 167 73 - 200 4 72 74 73 71 156 67 156 63 167 63 167 67 + 200 3 66 65 63 167 72 167 69 156 69 + 200 3 66 63 64 167 72 156 69 156 72 + 200 3 61 62 66 156 77 167 77 167 72 + 200 3 61 66 64 156 77 167 72 156 72 + 200 3 63 65 58 156 69 167 69 167 65 + 200 3 63 58 55 156 69 167 65 156 65 + 200 3 70 69 68 156 77 156 73 167 73 + 200 3 70 68 67 156 77 167 73 167 77 + 200 3 69 72 71 156 73 156 67 167 67 + 200 3 69 71 68 156 73 167 67 167 73 + 200 3 72 74 73 156 67 156 63 167 63 + 200 3 72 73 71 156 67 167 63 167 67 200 3 67 68 75 167 77 167 73 167 72 - 200 4 68 71 76 75 167 73 167 67 167 68 167 72 - 200 4 78 72 69 77 156 68 156 67 156 73 156 72 + 200 3 68 71 76 167 73 167 67 167 68 + 200 3 68 76 75 167 73 167 68 167 72 + 200 3 78 72 69 156 68 156 67 156 73 + 200 3 78 69 77 156 68 156 73 156 72 200 3 74 72 78 156 63 156 67 156 68 200 3 73 76 71 167 63 167 68 167 67 200 3 77 69 70 156 72 156 73 156 77 - 200 4 78 77 75 76 167 72 167 69 156 69 156 72 - 200 4 73 74 78 76 156 77 167 77 167 72 156 72 - 200 4 75 77 70 67 156 69 167 69 167 65 156 65 + 200 3 78 77 75 167 72 167 69 156 69 + 200 3 78 75 76 167 72 156 69 156 72 + 200 3 73 74 78 156 77 167 77 167 72 + 200 3 73 78 76 156 77 167 72 156 72 + 200 3 75 77 70 156 69 167 69 167 65 + 200 3 75 70 67 156 69 167 65 156 65 \ No newline at end of file diff --git a/data/base/structs/blhardpt.pie b/data/base/structs/blhardpt.pie index 92acb5db7..f6446f66c 100644 --- a/data/base/structs/blhardpt.pie +++ b/data/base/structs/blhardpt.pie @@ -17,15 +17,24 @@ POINTS 13 37 0 0 26 13 0 0 13 0 -POLYGONS 9 - 200 4 3 2 1 0 13 180 0 180 0 191 13 191 - 200 4 2 5 4 1 13 180 0 180 0 191 13 191 - 200 4 5 7 6 4 13 180 0 180 0 191 13 191 - 200 4 7 9 8 6 0 180 13 180 13 191 0 191 - 200 4 9 11 10 8 0 180 13 180 13 191 0 191 - 200 4 3 11 9 12 141 51 145 59 141 67 136 59 - 200 4 5 2 3 12 127 59 131 51 141 51 136 59 - 200 4 9 7 5 12 141 67 131 67 127 59 136 59 - 200 4 11 3 0 10 0 180 13 180 13 191 0 191 +POLYGONS 18 + 200 3 3 2 1 13 180 0 180 0 191 + 200 3 3 1 0 13 180 0 191 13 191 + 200 3 2 5 4 13 180 0 180 0 191 + 200 3 2 4 1 13 180 0 191 13 191 + 200 3 5 7 6 13 180 0 180 0 191 + 200 3 5 6 4 13 180 0 191 13 191 + 200 3 7 9 8 0 180 13 180 13 191 + 200 3 7 8 6 0 180 13 191 0 191 + 200 3 9 11 10 0 180 13 180 13 191 + 200 3 9 10 8 0 180 13 191 0 191 + 200 3 3 11 9 141 51 145 59 141 67 + 200 3 3 9 12 141 51 141 67 136 59 + 200 3 5 2 3 127 59 131 51 141 51 + 200 3 5 3 12 127 59 141 51 136 59 + 200 3 9 7 5 141 67 131 67 127 59 + 200 3 9 5 12 141 67 127 59 136 59 + 200 3 11 3 0 0 180 13 180 13 191 + 200 3 11 0 10 0 180 13 191 0 191 CONNECTORS 1 0 0 14 diff --git a/data/base/structs/blhevlab.pie b/data/base/structs/blhevlab.pie index 755a5feda..92af03e55 100644 --- a/data/base/structs/blhevlab.pie +++ b/data/base/structs/blhevlab.pie @@ -29,21 +29,38 @@ POINTS 25 51 0 52 -51 0 52 -51 0 -52 -POLYGONS 17 - 200 4 3 2 1 0 60 80 60 103 52 111 52 71 - 200 4 5 3 0 4 84 80 60 80 52 71 92 71 - 200 4 7 5 4 6 84 103 84 80 92 71 92 111 - 200 4 11 10 9 8 154 81 126 81 126 53 154 53 - 200 4 15 14 13 12 60 103 84 103 92 111 52 111 - 200 4 18 17 16 1 11 102 40 102 50 71 1 71 - 200 4 20 19 6 4 40 102 11 102 1 71 50 71 - 200 4 17 18 22 21 40 102 11 102 1 132 50 132 - 200 4 19 20 24 23 11 102 40 102 50 132 1 132 - 200 4 19 18 1 6 40 102 11 102 1 71 50 71 - 200 4 17 20 4 16 11 102 40 102 50 71 1 71 - 200 4 20 17 21 24 40 102 11 102 1 132 50 132 - 200 4 18 19 23 22 11 102 40 102 50 132 1 132 - 200 4 8 9 3 5 154 45 126 45 126 52 154 52 - 200 4 10 11 7 2 126 45 154 45 154 52 126 52 - 200 4 9 10 2 3 154 45 126 45 126 52 154 52 - 200 4 11 8 5 7 126 45 154 45 154 52 126 52 +POLYGONS 34 + 200 3 3 2 1 60 80 60 103 52 111 + 200 3 3 1 0 60 80 52 111 52 71 + 200 3 5 3 0 84 80 60 80 52 71 + 200 3 5 0 4 84 80 52 71 92 71 + 200 3 7 5 4 84 103 84 80 92 71 + 200 3 7 4 6 84 103 92 71 92 111 + 200 3 11 10 9 154 81 126 81 126 53 + 200 3 11 9 8 154 81 126 53 154 53 + 200 3 15 14 13 60 103 84 103 92 111 + 200 3 15 13 12 60 103 92 111 52 111 + 200 3 18 17 16 11 102 40 102 50 71 + 200 3 18 16 1 11 102 50 71 1 71 + 200 3 20 19 6 40 102 11 102 1 71 + 200 3 20 6 4 40 102 1 71 50 71 + 200 3 17 18 22 40 102 11 102 1 132 + 200 3 17 22 21 40 102 1 132 50 132 + 200 3 19 20 24 11 102 40 102 50 132 + 200 3 19 24 23 11 102 50 132 1 132 + 200 3 19 18 1 40 102 11 102 1 71 + 200 3 19 1 6 40 102 1 71 50 71 + 200 3 17 20 4 11 102 40 102 50 71 + 200 3 17 4 16 11 102 50 71 1 71 + 200 3 20 17 21 40 102 11 102 1 132 + 200 3 20 21 24 40 102 1 132 50 132 + 200 3 18 19 23 11 102 40 102 50 132 + 200 3 18 23 22 11 102 50 132 1 132 + 200 3 8 9 3 154 45 126 45 126 52 + 200 3 8 3 5 154 45 126 52 154 52 + 200 3 10 11 7 126 45 154 45 154 52 + 200 3 10 7 2 126 45 154 52 126 52 + 200 3 9 10 2 154 45 126 45 126 52 + 200 3 9 2 3 154 45 126 52 154 52 + 200 3 11 8 5 126 45 154 45 154 52 + 200 3 11 5 7 126 45 154 52 126 52 \ No newline at end of file diff --git a/data/base/structs/blhowmnt.pie b/data/base/structs/blhowmnt.pie index 7a2d960f7..7d12fa39b 100644 --- a/data/base/structs/blhowmnt.pie +++ b/data/base/structs/blhowmnt.pie @@ -20,12 +20,17 @@ POINTS 16 -16 0 -16 16 0 -16 16 0 16 -POLYGONS 17 - 200 4 3 2 1 0 197 17 197 0 225 7 225 11 - 200 4 6 2 5 4 207 17 197 0 225 0 214 17 - 200 4 9 3 8 7 197 0 225 0 214 17 207 17 - 200 4 5 9 11 10 197 17 197 0 225 6 225 10 - 200 4 5 2 3 9 225 17 197 17 197 0 225 0 +POLYGONS 22 + 200 3 3 2 1 197 17 197 0 225 7 + 200 3 3 1 0 197 17 225 7 225 11 + 200 3 6 2 5 207 17 197 0 225 0 + 200 3 6 5 4 207 17 225 0 214 17 + 200 3 9 3 8 197 0 225 0 214 17 + 200 3 9 8 7 197 0 214 17 207 17 + 200 3 5 9 11 197 17 197 0 225 6 + 200 3 5 11 10 197 17 225 6 225 10 + 200 3 5 2 3 225 17 197 17 197 0 + 200 3 5 3 9 225 17 197 0 225 0 200 3 12 0 8 211 2 200 0 221 0 200 3 13 6 1 201 9 198 16 198 2 200 3 14 10 4 211 15 221 17 200 17 diff --git a/data/base/structs/blhq.pie b/data/base/structs/blhq.pie index 4051e93e0..c6c15d7e3 100644 --- a/data/base/structs/blhq.pie +++ b/data/base/structs/blhq.pie @@ -3,147 +3,195 @@ TYPE 10200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 92 - 30 281 -72 - 30 281 -95 - 30 227 -95 - 30 227 -72 - 42 281 -83 - 19 281 -83 - 19 227 -83 - 42 227 -83 - -14 0 -88 - 14 0 -88 - 9 156 -57 - -9 156 -57 - 42 0 -14 - 85 0 -14 - 55 156 -9 - 27 156 -9 - 85 0 15 - 42 0 15 - 27 156 10 - 55 156 10 - 14 0 90 - -14 0 90 - -9 156 59 - 9 156 59 - -42 0 15 - -85 0 15 - -55 156 10 - -27 156 10 - -85 0 -14 - -42 0 -14 - -27 156 -9 - -55 156 -9 - 33 227 -97 - 132 227 0 - 33 227 96 - -34 227 -97 - -34 227 96 - -133 227 0 - -34 155 -97 - 33 155 -97 - 132 155 0 - 33 155 96 - -34 155 96 - -133 155 0 - -14 0 -44 - -9 156 -28 - 14 0 -44 - 9 156 -28 - 14 0 45 - 9 156 29 - -14 0 45 - -9 156 29 - 43 0 15 - 14 0 44 - 8 156 29 - 28 156 10 - -43 0 -14 - -13 0 -42 - -8 156 -27 - -28 156 -9 - -32 281 -72 - -32 281 -95 - -32 227 -95 - -32 227 -72 - -20 281 -83 - -43 281 -83 - -43 227 -83 - -20 227 -83 - -32 281 95 - -32 281 72 - -32 227 72 - -32 227 95 - -20 281 83 - -43 281 83 - -43 227 83 - -20 227 83 - 30 281 95 - 30 281 72 - 30 227 72 - 30 227 95 - 42 281 83 - 19 281 83 - 19 227 83 - 42 227 83 - 30 281 83 - 30 227 83 - -32 281 83 - -32 227 83 - 30 281 -83 - 30 227 -83 - -32 281 -83 +POINTS 92 + 30 281 -72 + 30 281 -95 + 30 227 -95 + 30 227 -72 + 42 281 -83 + 19 281 -83 + 19 227 -83 + 42 227 -83 + -14 0 -88 + 14 0 -88 + 9 156 -57 + -9 156 -57 + 42 0 -14 + 85 0 -14 + 55 156 -9 + 27 156 -9 + 85 0 15 + 42 0 15 + 27 156 10 + 55 156 10 + 14 0 90 + -14 0 90 + -9 156 59 + 9 156 59 + -42 0 15 + -85 0 15 + -55 156 10 + -27 156 10 + -85 0 -14 + -42 0 -14 + -27 156 -9 + -55 156 -9 + 33 227 -97 + 132 227 0 + 33 227 96 + -34 227 -97 + -34 227 96 + -133 227 0 + -34 155 -97 + 33 155 -97 + 132 155 0 + 33 155 96 + -34 155 96 + -133 155 0 + -14 0 -44 + -9 156 -28 + 14 0 -44 + 9 156 -28 + 14 0 45 + 9 156 29 + -14 0 45 + -9 156 29 + 43 0 15 + 14 0 44 + 8 156 29 + 28 156 10 + -43 0 -14 + -13 0 -42 + -8 156 -27 + -28 156 -9 + -32 281 -72 + -32 281 -95 + -32 227 -95 + -32 227 -72 + -20 281 -83 + -43 281 -83 + -43 227 -83 + -20 227 -83 + -32 281 95 + -32 281 72 + -32 227 72 + -32 227 95 + -20 281 83 + -43 281 83 + -43 227 83 + -20 227 83 + 30 281 95 + 30 281 72 + 30 227 72 + 30 227 95 + 42 281 83 + 19 281 83 + 19 227 83 + 42 227 83 + 30 281 83 + 30 227 83 + -32 281 83 + -32 227 83 + 30 281 -83 + 30 227 -83 + -32 281 -83 -32 227 -83 -POLYGONS 48 - 200 4 27 26 25 24 29 100 16 100 0 179 21 179 - 200 4 19 18 17 16 73 100 59 100 66 179 88 179 - 200 4 55 54 53 52 54 103 35 103 30 179 58 179 - 200 4 49 23 20 48 29 102 16 102 0 180 21 180 - 200 4 23 22 21 20 49 100 40 100 37 179 51 179 - 200 4 22 51 50 21 15 102 29 102 22 180 0 180 - 200 4 51 27 24 50 54 103 35 103 30 179 58 179 - 200 4 14 19 16 13 50 102 40 102 37 180 51 180 - 200 4 31 30 29 28 15 100 29 100 22 179 0 179 - 200 4 15 14 13 12 59 100 72 100 88 179 67 179 - 200 4 59 58 57 56 54 103 35 103 30 179 58 179 - 200 4 45 11 8 44 59 102 73 102 88 180 67 180 - 200 4 10 47 46 9 74 102 59 102 66 180 88 180 - 200 4 47 15 12 46 54 103 35 103 30 179 58 179 - 200 4 33 34 41 40 254 144 255 91 221 91 221 144 - 200 4 11 10 9 8 39 100 48 100 51 179 37 179 - 200 4 34 36 42 41 254 90 255 54 221 54 221 90 - 200 4 32 33 40 39 254 91 255 144 221 144 221 91 - 200 4 26 31 28 25 39 102 49 102 51 180 37 180 - 200 4 35 32 39 38 254 54 255 90 221 90 221 54 - 200 4 36 37 43 42 254 53 255 0 221 0 221 53 - 200 4 34 35 37 36 78 0 47 98 0 50 46 0 - 200 4 35 34 33 32 47 98 78 0 125 49 79 98 - 200 4 76 79 85 84 219 147 246 147 246 154 219 154 - 200 4 79 76 84 85 246 147 219 147 219 154 246 154 - 200 4 71 68 86 87 246 147 219 147 219 154 246 154 - 200 4 68 71 87 86 219 147 246 147 246 154 219 154 - 200 4 73 72 75 74 219 162 219 147 246 147 246 162 - 200 4 81 80 83 82 219 162 219 147 246 147 246 162 - 200 4 75 72 73 74 246 147 219 147 219 162 246 162 - 200 4 83 80 81 82 246 147 219 147 219 162 246 162 - 200 4 4 7 89 88 219 147 246 147 246 154 219 154 - 200 4 7 4 88 89 246 147 219 147 219 154 246 154 - 200 4 77 78 85 84 219 162 246 162 246 154 219 154 - 200 4 3 0 1 2 246 147 219 147 219 162 246 162 - 200 4 78 77 84 85 246 162 219 162 219 154 246 154 - 200 4 1 0 3 2 219 162 219 147 246 147 246 162 - 200 4 65 66 91 90 219 162 246 162 246 154 219 154 - 200 4 66 65 90 91 246 162 219 162 219 154 246 154 - 200 4 61 60 63 62 219 162 219 147 246 147 246 162 - 200 4 70 69 86 87 246 162 219 162 219 154 246 154 - 200 4 63 60 61 62 246 147 219 147 219 162 246 162 - 200 4 69 70 87 86 219 162 246 162 246 154 219 154 - 200 4 67 64 90 91 246 147 219 147 219 154 246 154 - 200 4 5 6 89 88 219 162 246 162 246 154 219 154 - 200 4 64 67 91 90 219 147 246 147 246 154 219 154 - 200 4 6 5 88 89 246 162 219 162 219 154 246 154 - 200 4 37 35 38 43 254 0 255 53 221 53 221 0 +POLYGONS 96 + 200 3 27 26 25 29 100 16 100 0 179 + 200 3 27 25 24 29 100 0 179 21 179 + 200 3 19 18 17 73 100 59 100 66 179 + 200 3 19 17 16 73 100 66 179 88 179 + 200 3 55 54 53 54 103 35 103 30 179 + 200 3 55 53 52 54 103 30 179 58 179 + 200 3 49 23 20 29 102 16 102 0 180 + 200 3 49 20 48 29 102 0 180 21 180 + 200 3 23 22 21 49 100 40 100 37 179 + 200 3 23 21 20 49 100 37 179 51 179 + 200 3 22 51 50 15 102 29 102 22 180 + 200 3 22 50 21 15 102 22 180 0 180 + 200 3 51 27 24 54 103 35 103 30 179 + 200 3 51 24 50 54 103 30 179 58 179 + 200 3 14 19 16 50 102 40 102 37 180 + 200 3 14 16 13 50 102 37 180 51 180 + 200 3 31 30 29 15 100 29 100 22 179 + 200 3 31 29 28 15 100 22 179 0 179 + 200 3 15 14 13 59 100 72 100 88 179 + 200 3 15 13 12 59 100 88 179 67 179 + 200 3 59 58 57 54 103 35 103 30 179 + 200 3 59 57 56 54 103 30 179 58 179 + 200 3 45 11 8 59 102 73 102 88 180 + 200 3 45 8 44 59 102 88 180 67 180 + 200 3 10 47 46 74 102 59 102 66 180 + 200 3 10 46 9 74 102 66 180 88 180 + 200 3 47 15 12 54 103 35 103 30 179 + 200 3 47 12 46 54 103 30 179 58 179 + 200 3 33 34 41 254 144 255 91 221 91 + 200 3 33 41 40 254 144 221 91 221 144 + 200 3 11 10 9 39 100 48 100 51 179 + 200 3 11 9 8 39 100 51 179 37 179 + 200 3 34 36 42 254 90 255 54 221 54 + 200 3 34 42 41 254 90 221 54 221 90 + 200 3 32 33 40 254 91 255 144 221 144 + 200 3 32 40 39 254 91 221 144 221 91 + 200 3 26 31 28 39 102 49 102 51 180 + 200 3 26 28 25 39 102 51 180 37 180 + 200 3 35 32 39 254 54 255 90 221 90 + 200 3 35 39 38 254 54 221 90 221 54 + 200 3 36 37 43 254 53 255 0 221 0 + 200 3 36 43 42 254 53 221 0 221 53 + 200 3 34 35 37 78 0 47 98 0 50 + 200 3 34 37 36 78 0 0 50 46 0 + 200 3 35 34 33 47 98 78 0 125 49 + 200 3 35 33 32 47 98 125 49 79 98 + 200 3 76 79 85 219 147 246 147 246 154 + 200 3 76 85 84 219 147 246 154 219 154 + 200 3 79 76 84 246 147 219 147 219 154 + 200 3 79 84 85 246 147 219 154 246 154 + 200 3 71 68 86 246 147 219 147 219 154 + 200 3 71 86 87 246 147 219 154 246 154 + 200 3 68 71 87 219 147 246 147 246 154 + 200 3 68 87 86 219 147 246 154 219 154 + 200 3 73 72 75 219 162 219 147 246 147 + 200 3 73 75 74 219 162 246 147 246 162 + 200 3 81 80 83 219 162 219 147 246 147 + 200 3 81 83 82 219 162 246 147 246 162 + 200 3 75 72 73 246 147 219 147 219 162 + 200 3 75 73 74 246 147 219 162 246 162 + 200 3 83 80 81 246 147 219 147 219 162 + 200 3 83 81 82 246 147 219 162 246 162 + 200 3 4 7 89 219 147 246 147 246 154 + 200 3 4 89 88 219 147 246 154 219 154 + 200 3 7 4 88 246 147 219 147 219 154 + 200 3 7 88 89 246 147 219 154 246 154 + 200 3 77 78 85 219 162 246 162 246 154 + 200 3 77 85 84 219 162 246 154 219 154 + 200 3 3 0 1 246 147 219 147 219 162 + 200 3 3 1 2 246 147 219 162 246 162 + 200 3 78 77 84 246 162 219 162 219 154 + 200 3 78 84 85 246 162 219 154 246 154 + 200 3 1 0 3 219 162 219 147 246 147 + 200 3 1 3 2 219 162 246 147 246 162 + 200 3 65 66 91 219 162 246 162 246 154 + 200 3 65 91 90 219 162 246 154 219 154 + 200 3 66 65 90 246 162 219 162 219 154 + 200 3 66 90 91 246 162 219 154 246 154 + 200 3 61 60 63 219 162 219 147 246 147 + 200 3 61 63 62 219 162 246 147 246 162 + 200 3 70 69 86 246 162 219 162 219 154 + 200 3 70 86 87 246 162 219 154 246 154 + 200 3 63 60 61 246 147 219 147 219 162 + 200 3 63 61 62 246 147 219 162 246 162 + 200 3 69 70 87 219 162 246 162 246 154 + 200 3 69 87 86 219 162 246 154 219 154 + 200 3 67 64 90 246 147 219 147 219 154 + 200 3 67 90 91 246 147 219 154 246 154 + 200 3 5 6 89 219 162 246 162 246 154 + 200 3 5 89 88 219 162 246 154 219 154 + 200 3 64 67 91 219 147 246 147 246 154 + 200 3 64 91 90 219 147 246 154 219 154 + 200 3 6 5 88 246 162 219 162 219 154 + 200 3 6 88 89 246 162 219 154 246 154 + 200 3 37 35 38 254 0 255 53 221 53 + 200 3 37 38 43 254 0 221 53 221 0 CONNECTORS 1 1 0 229 diff --git a/data/base/structs/blhq2.pie b/data/base/structs/blhq2.pie index 8d50ca7de..6db3f2c49 100644 --- a/data/base/structs/blhq2.pie +++ b/data/base/structs/blhq2.pie @@ -36,29 +36,48 @@ POINTS 32 -11 156 -68 -29 0 11 -11 156 68 -POLYGONS 23 - 200 4 27 26 23 31 76 100 65 139 24 139 21 100 - 200 4 22 23 26 30 28 179 24 140 64 140 51 179 - 200 4 18 23 22 17 24 140 64 140 61 179 28 179 - 200 4 24 23 18 28 76 100 65 139 24 139 21 100 +POLYGONS 42 + 200 3 27 26 23 76 100 65 139 24 139 + 200 3 27 23 31 76 100 24 139 21 100 + 200 3 22 23 26 28 179 24 140 64 140 + 200 3 22 26 30 28 179 64 140 51 179 + 200 3 18 23 22 24 140 64 140 61 179 + 200 3 18 22 17 24 140 61 179 28 179 + 200 3 24 23 18 76 100 65 139 24 139 + 200 3 24 18 28 76 100 24 139 21 100 200 3 24 31 23 12 100 21 100 24 139 - 200 4 26 27 29 19 24 139 12 100 66 100 65 139 - 200 4 26 19 16 25 24 140 64 140 61 179 28 179 + 200 3 26 27 29 24 139 12 100 66 100 + 200 3 26 29 19 24 139 66 100 65 139 + 200 3 26 19 16 24 140 64 140 61 179 + 200 3 26 16 25 24 140 61 179 28 179 200 3 25 30 26 61 179 51 179 64 140 - 200 4 19 18 17 16 24 140 64 140 61 179 28 179 + 200 3 19 18 17 24 140 64 140 61 179 + 200 3 19 17 16 24 140 61 179 28 179 200 3 20 28 18 12 100 21 100 24 139 - 200 4 21 20 18 19 12 100 76 100 65 139 24 139 + 200 3 21 20 18 12 100 76 100 65 139 + 200 3 21 18 19 12 100 65 139 24 139 200 3 21 19 29 76 100 65 139 66 100 - 200 4 11 13 12 10 254 41 255 0 221 0 221 41 - 200 4 8 11 10 7 254 103 255 42 221 42 221 103 - 200 4 15 3 0 14 254 0 255 41 221 41 221 0 - 200 4 9 8 7 6 254 144 255 104 221 104 221 144 - 200 4 2 3 15 13 81 98 45 99 20 71 20 28 - 200 4 8 2 13 11 81 0 82 98 20 28 44 0 - 200 4 5 2 8 9 106 70 82 98 82 0 106 27 - 200 4 2 5 4 1 254 104 255 144 221 144 221 104 - 200 4 5 9 6 4 254 37 255 108 221 108 221 37 - 200 4 3 2 1 0 254 42 255 103 221 103 221 42 - 200 4 13 15 14 12 254 110 255 35 221 35 221 110 + 200 3 11 13 12 254 41 255 0 221 0 + 200 3 11 12 10 254 41 221 0 221 41 + 200 3 8 11 10 254 103 255 42 221 42 + 200 3 8 10 7 254 103 221 42 221 103 + 200 3 15 3 0 254 0 255 41 221 41 + 200 3 15 0 14 254 0 221 41 221 0 + 200 3 9 8 7 254 144 255 104 221 104 + 200 3 9 7 6 254 144 221 104 221 144 + 200 3 2 3 15 81 98 45 99 20 71 + 200 3 2 15 13 81 98 20 71 20 28 + 200 3 8 2 13 81 0 82 98 20 28 + 200 3 8 13 11 81 0 20 28 44 0 + 200 3 5 2 8 106 70 82 98 82 0 + 200 3 5 8 9 106 70 82 0 106 27 + 200 3 2 5 4 254 104 255 144 221 144 + 200 3 2 4 1 254 104 221 144 221 104 + 200 3 5 9 6 254 37 255 108 221 108 + 200 3 5 6 4 254 37 221 108 221 37 + 200 3 3 2 1 254 42 255 103 221 103 + 200 3 3 1 0 254 42 221 103 221 42 + 200 3 13 15 14 254 110 255 35 221 35 + 200 3 13 14 12 254 110 221 35 221 110 CONNECTORS 1 1 0 229 diff --git a/data/base/structs/blhq3.pie b/data/base/structs/blhq3.pie index 92b09c91b..60c422d0c 100644 --- a/data/base/structs/blhq3.pie +++ b/data/base/structs/blhq3.pie @@ -36,28 +36,50 @@ POINTS 32 -18 198 42 -91 72 39 -42 198 18 -POLYGONS 22 - 200 4 15 3 0 14 254 0 255 41 221 41 221 0 - 200 4 5 9 6 4 254 37 255 108 221 108 221 37 - 200 4 2 5 4 1 254 104 255 144 221 144 221 104 - 200 4 13 15 14 12 254 110 255 35 221 35 221 110 - 200 4 5 2 8 9 106 70 82 98 82 0 106 27 - 200 4 8 2 13 11 81 0 82 98 20 28 44 0 - 200 4 2 3 15 13 81 98 45 99 20 71 20 28 - 200 4 18 21 20 17 35 100 52 100 63 179 25 179 - 200 4 21 23 22 20 53 100 64 100 88 179 64 179 - 200 4 19 18 17 16 23 100 35 100 25 179 0 179 - 200 4 27 26 25 24 65 100 53 100 63 179 88 179 - 200 4 26 29 28 25 53 100 36 100 25 179 63 179 - 200 4 11 13 12 10 254 41 255 0 221 0 221 41 - 200 4 29 31 30 28 35 100 24 100 0 179 24 179 - 200 4 8 11 10 7 254 103 255 42 221 42 221 103 - 200 4 31 19 16 30 56 100 33 100 20 179 68 179 - 200 4 9 8 7 6 254 144 255 104 221 104 221 144 - 200 4 23 27 24 22 33 100 54 100 66 179 22 179 - 200 4 3 2 1 0 254 42 255 103 221 103 221 42 - 200 4 26 19 31 29 78 15 27 63 27 35 47 15 - 200 4 23 19 26 27 98 63 27 64 78 15 98 34 - 200 4 18 19 23 21 48 83 27 64 98 64 79 83 +POLYGONS 44 + 200 3 15 3 0 254 0 255 41 221 41 + 200 3 15 0 14 254 0 221 41 221 0 + 200 3 5 9 6 254 37 255 108 221 108 + 200 3 5 6 4 254 37 221 108 221 37 + 200 3 2 5 4 254 104 255 144 221 144 + 200 3 2 4 1 254 104 221 144 221 104 + 200 3 13 15 14 254 110 255 35 221 35 + 200 3 13 14 12 254 110 221 35 221 110 + 200 3 5 2 8 106 70 82 98 82 0 + 200 3 5 8 9 106 70 82 0 106 27 + 200 3 8 2 13 81 0 82 98 20 28 + 200 3 8 13 11 81 0 20 28 44 0 + 200 3 2 3 15 81 98 45 99 20 71 + 200 3 2 15 13 81 98 20 71 20 28 + 200 3 18 21 20 35 100 52 100 63 179 + 200 3 18 20 17 35 100 63 179 25 179 + 200 3 21 23 22 53 100 64 100 88 179 + 200 3 21 22 20 53 100 88 179 64 179 + 200 3 19 18 17 23 100 35 100 25 179 + 200 3 19 17 16 23 100 25 179 0 179 + 200 3 27 26 25 65 100 53 100 63 179 + 200 3 27 25 24 65 100 63 179 88 179 + 200 3 26 29 28 53 100 36 100 25 179 + 200 3 26 28 25 53 100 25 179 63 179 + 200 3 11 13 12 254 41 255 0 221 0 + 200 3 11 12 10 254 41 221 0 221 41 + 200 3 29 31 30 35 100 24 100 0 179 + 200 3 29 30 28 35 100 0 179 24 179 + 200 3 8 11 10 254 103 255 42 221 42 + 200 3 8 10 7 254 103 221 42 221 103 + 200 3 31 19 16 56 100 33 100 20 179 + 200 3 31 16 30 56 100 20 179 68 179 + 200 3 9 8 7 254 144 255 104 221 104 + 200 3 9 7 6 254 144 221 104 221 144 + 200 3 23 27 24 33 100 54 100 66 179 + 200 3 23 24 22 33 100 66 179 22 179 + 200 3 3 2 1 254 42 255 103 221 103 + 200 3 3 1 0 254 42 221 103 221 42 + 200 3 26 19 31 78 15 27 63 27 35 + 200 3 26 31 29 78 15 27 35 47 15 + 200 3 23 19 26 98 63 27 64 78 15 + 200 3 23 26 27 98 63 78 15 98 34 + 200 3 18 19 23 48 83 27 64 98 64 + 200 3 18 23 21 48 83 98 64 79 83 CONNECTORS 1 1 0 200 diff --git a/data/base/structs/blhq4.pie b/data/base/structs/blhq4.pie index 84d58396f..85d4bae92 100644 --- a/data/base/structs/blhq4.pie +++ b/data/base/structs/blhq4.pie @@ -73,40 +73,73 @@ POINTS 69 -15 232 96 -15 194 96 15 195 96 -POLYGONS 34 - 200 4 56 58 64 63 236 90 237 54 221 54 221 90 - 200 4 57 56 55 54 47 98 78 0 125 49 79 98 - 200 4 56 57 59 58 78 0 47 98 0 50 46 0 - 200 4 6 11 8 5 50 102 40 102 37 180 51 180 - 200 4 19 18 17 16 29 100 16 100 0 179 21 179 - 200 4 11 10 9 8 73 100 59 100 66 179 88 179 - 200 4 49 48 47 46 54 103 35 103 30 179 58 179 - 200 4 42 43 68 12 21 180 29 102 16 102 0 180 - 200 4 33 26 66 67 221 90 236 90 236 64 221 64 +POLYGONS 67 + 200 3 56 58 64 236 90 237 54 221 54 + 200 3 56 64 63 236 90 221 54 221 90 + 200 3 57 56 55 47 98 78 0 125 49 + 200 3 57 55 54 47 98 125 49 79 98 + 200 3 56 57 59 78 0 47 98 0 50 + 200 3 56 59 58 78 0 0 50 46 0 + 200 3 6 11 8 50 102 40 102 37 180 + 200 3 6 8 5 50 102 37 180 51 180 + 200 3 19 18 17 29 100 16 100 0 179 + 200 3 19 17 16 29 100 0 179 21 179 + 200 3 11 10 9 73 100 59 100 66 179 + 200 3 11 9 8 73 100 66 179 88 179 + 200 3 49 48 47 54 103 35 103 30 179 + 200 3 49 47 46 54 103 30 179 58 179 + 200 3 42 43 68 21 180 29 102 16 102 + 200 3 42 68 12 21 180 16 102 0 180 + 200 3 33 26 66 221 90 236 90 236 64 + 200 3 33 66 67 221 90 236 64 221 64 200 3 15 12 68 16 102 0 180 16 102 - 200 4 14 45 44 13 15 102 29 102 22 180 0 180 - 200 4 45 19 16 44 54 103 35 103 30 179 58 179 - 200 4 28 34 67 66 237 54 221 54 221 64 236 64 - 200 4 15 14 13 12 49 100 40 100 37 179 51 179 - 200 4 18 23 20 17 39 102 49 102 51 180 37 180 - 200 4 23 22 21 20 15 100 29 100 22 179 0 179 - 200 4 7 6 5 4 59 100 72 100 88 179 67 179 - 200 4 53 52 51 50 54 103 35 103 30 179 58 179 - 200 4 3 2 1 0 39 100 48 100 51 179 37 179 - 200 4 38 37 0 36 59 102 73 102 88 180 67 180 - 200 4 41 40 39 1 74 102 59 102 66 180 88 180 - 200 4 40 7 4 39 54 103 35 103 30 179 58 179 - 200 4 54 55 62 61 236 91 237 144 221 144 221 91 - 200 4 24 25 32 31 236 91 237 144 221 144 221 91 - 200 4 25 26 33 32 236 144 237 91 221 91 221 144 - 200 4 55 56 63 62 236 144 237 91 221 91 221 144 - 200 4 57 54 61 60 236 54 237 90 221 90 221 54 - 200 4 27 24 31 30 236 54 237 90 221 90 221 54 - 200 4 28 29 35 34 236 53 237 0 221 0 221 53 - 200 4 58 59 65 64 236 53 237 0 221 0 221 53 - 200 4 26 27 29 28 78 0 47 98 0 50 46 0 - 200 4 27 26 25 24 47 98 78 0 125 49 79 98 - 200 4 29 27 30 35 236 0 237 53 221 53 221 0 - 200 4 59 57 60 65 236 0 237 53 221 53 221 0 + 200 3 14 45 44 15 102 29 102 22 180 + 200 3 14 44 13 15 102 22 180 0 180 + 200 3 45 19 16 54 103 35 103 30 179 + 200 3 45 16 44 54 103 30 179 58 179 + 200 3 28 34 67 237 54 221 54 221 64 + 200 3 28 67 66 237 54 221 64 236 64 + 200 3 15 14 13 49 100 40 100 37 179 + 200 3 15 13 12 49 100 37 179 51 179 + 200 3 18 23 20 39 102 49 102 51 180 + 200 3 18 20 17 39 102 51 180 37 180 + 200 3 23 22 21 15 100 29 100 22 179 + 200 3 23 21 20 15 100 22 179 0 179 + 200 3 7 6 5 59 100 72 100 88 179 + 200 3 7 5 4 59 100 88 179 67 179 + 200 3 53 52 51 54 103 35 103 30 179 + 200 3 53 51 50 54 103 30 179 58 179 + 200 3 3 2 1 39 100 48 100 51 179 + 200 3 3 1 0 39 100 51 179 37 179 + 200 3 38 37 0 59 102 73 102 88 180 + 200 3 38 0 36 59 102 88 180 67 180 + 200 3 41 40 39 74 102 59 102 66 180 + 200 3 41 39 1 74 102 66 180 88 180 + 200 3 40 7 4 54 103 35 103 30 179 + 200 3 40 4 39 54 103 30 179 58 179 + 200 3 54 55 62 236 91 237 144 221 144 + 200 3 54 62 61 236 91 221 144 221 91 + 200 3 24 25 32 236 91 237 144 221 144 + 200 3 24 32 31 236 91 221 144 221 91 + 200 3 25 26 33 236 144 237 91 221 91 + 200 3 25 33 32 236 144 221 91 221 144 + 200 3 55 56 63 236 144 237 91 221 91 + 200 3 55 63 62 236 144 221 91 221 144 + 200 3 57 54 61 236 54 237 90 221 90 + 200 3 57 61 60 236 54 221 90 221 54 + 200 3 27 24 31 236 54 237 90 221 90 + 200 3 27 31 30 236 54 221 90 221 54 + 200 3 28 29 35 236 53 237 0 221 0 + 200 3 28 35 34 236 53 221 0 221 53 + 200 3 58 59 65 236 53 237 0 221 0 + 200 3 58 65 64 236 53 221 0 221 53 + 200 3 26 27 29 78 0 47 98 0 50 + 200 3 26 29 28 78 0 0 50 46 0 + 200 3 27 26 25 47 98 78 0 125 49 + 200 3 27 25 24 47 98 125 49 79 98 + 200 3 29 27 30 236 0 237 53 221 53 + 200 3 29 30 35 236 0 221 53 221 0 + 200 3 59 57 60 236 0 237 53 221 53 + 200 3 59 60 65 236 0 221 53 221 0 CONNECTORS 1 1 0 234 diff --git a/data/base/structs/blindlab.pie b/data/base/structs/blindlab.pie index 49328bace..dfa27b1fa 100644 --- a/data/base/structs/blindlab.pie +++ b/data/base/structs/blindlab.pie @@ -24,17 +24,28 @@ POINTS 20 -13 95 -12 -32 0 -13 -13 0 -12 -POLYGONS 13 - 200 4 3 2 1 0 111 112 103 83 153 83 134 112 - 200 4 2 5 4 1 103 83 96 112 172 112 153 83 +POLYGONS 24 + 200 3 3 2 1 111 112 103 83 153 83 + 200 3 3 1 0 111 112 153 83 134 112 + 200 3 2 5 4 103 83 96 112 172 112 + 200 3 2 4 1 103 83 172 112 153 83 200 3 8 7 6 102 68 111 46 125 68 - 200 4 6 7 2 3 96 112 106 83 155 83 141 112 - 200 4 7 8 5 2 106 83 99 112 169 112 155 83 - 200 4 0 1 10 9 127 112 149 83 107 83 101 112 - 200 4 1 4 11 10 149 83 174 112 101 112 107 83 + 200 3 6 7 2 96 112 106 83 155 83 + 200 3 6 2 3 96 112 155 83 141 112 + 200 3 7 8 5 106 83 99 112 169 112 + 200 3 7 5 2 106 83 169 112 155 83 + 200 3 0 1 10 127 112 149 83 107 83 + 200 3 0 10 9 127 112 107 83 101 112 + 200 3 1 4 11 149 83 174 112 101 112 + 200 3 1 11 10 149 83 101 112 107 83 200 3 10 11 9 115 46 125 68 100 68 - 200 4 15 14 13 12 245 49 256 49 256 82 245 82 - 200 4 14 15 17 16 247 48 235 48 235 37 247 37 - 200 4 16 17 19 18 245 49 256 49 256 82 245 82 - 200 4 17 15 12 19 245 49 256 49 256 82 245 82 - 200 4 14 16 18 13 256 49 245 49 245 82 256 82 + 200 3 15 14 13 245 49 256 49 256 82 + 200 3 15 13 12 245 49 256 82 245 82 + 200 3 14 15 17 247 48 235 48 235 37 + 200 3 14 17 16 247 48 235 37 247 37 + 200 3 16 17 19 245 49 256 49 256 82 + 200 3 16 19 18 245 49 256 82 245 82 + 200 3 17 15 12 245 49 256 49 256 82 + 200 3 17 12 19 245 49 256 82 245 82 + 200 3 14 16 18 256 49 245 49 245 82 + 200 3 14 18 13 256 49 245 82 256 82 \ No newline at end of file diff --git a/data/base/structs/bllaslab.pie b/data/base/structs/bllaslab.pie index 045958336..19acca73d 100644 --- a/data/base/structs/bllaslab.pie +++ b/data/base/structs/bllaslab.pie @@ -40,27 +40,46 @@ POINTS 36 -21 0 -9 21 0 -34 21 0 -9 -POLYGONS 23 - 200 4 3 2 1 0 179 59 191 59 191 88 179 88 - 200 4 7 6 5 4 191 59 179 59 179 88 191 88 - 200 4 11 10 9 8 179 59 191 59 191 88 179 88 - 200 4 15 14 13 12 191 59 179 59 179 88 191 88 - 200 4 19 18 17 16 179 59 191 59 191 88 179 88 - 200 4 23 22 21 20 191 59 179 59 179 88 191 88 - 200 4 27 26 25 24 176 114 176 90 192 90 192 114 - 200 4 26 29 28 25 176 90 176 114 192 114 192 90 +POLYGONS 42 + 200 3 3 2 1 179 59 191 59 191 88 + 200 3 3 1 0 179 59 191 88 179 88 + 200 3 7 6 5 191 59 179 59 179 88 + 200 3 7 5 4 191 59 179 88 191 88 + 200 3 11 10 9 179 59 191 59 191 88 + 200 3 11 9 8 179 59 191 88 179 88 + 200 3 15 14 13 191 59 179 59 179 88 + 200 3 15 13 12 191 59 179 88 191 88 + 200 3 19 18 17 179 59 191 59 191 88 + 200 3 19 17 16 179 59 191 88 179 88 + 200 3 23 22 21 191 59 179 59 179 88 + 200 3 23 21 20 191 59 179 88 191 88 + 200 3 27 26 25 176 114 176 90 192 90 + 200 3 27 25 24 176 114 192 90 192 114 + 200 3 26 29 28 176 90 176 114 192 114 + 200 3 26 28 25 176 90 192 114 192 90 200 3 25 28 24 192 90 192 114 192 114 200 3 29 26 27 176 114 176 90 176 114 - 200 4 33 32 31 30 176 114 176 90 192 90 192 114 - 200 4 32 35 34 31 176 90 176 114 192 114 192 90 + 200 3 33 32 31 176 114 176 90 192 90 + 200 3 33 31 30 176 114 192 90 192 114 + 200 3 32 35 34 176 90 176 114 192 114 + 200 3 32 34 31 176 90 192 114 192 90 200 3 31 34 30 192 90 192 114 192 114 200 3 35 32 33 176 114 176 90 176 114 - 200 4 19 22 23 18 174 126 132 126 132 114 174 114 - 200 4 11 14 15 10 174 126 132 126 132 114 174 114 - 200 4 3 6 7 2 174 126 132 126 132 114 174 114 - 200 4 22 19 16 21 88 114 122 114 130 142 80 142 - 200 4 18 23 20 17 122 114 88 114 80 142 130 142 - 200 4 14 11 8 13 88 114 122 114 130 142 80 142 - 200 4 10 15 12 9 122 114 88 114 80 142 130 142 - 200 4 6 3 0 5 88 114 122 114 130 142 80 142 - 200 4 2 7 4 1 122 114 88 114 80 142 130 142 + 200 3 19 22 23 174 126 132 126 132 114 + 200 3 19 23 18 174 126 132 114 174 114 + 200 3 11 14 15 174 126 132 126 132 114 + 200 3 11 15 10 174 126 132 114 174 114 + 200 3 3 6 7 174 126 132 126 132 114 + 200 3 3 7 2 174 126 132 114 174 114 + 200 3 22 19 16 88 114 122 114 130 142 + 200 3 22 16 21 88 114 130 142 80 142 + 200 3 18 23 20 122 114 88 114 80 142 + 200 3 18 20 17 122 114 80 142 130 142 + 200 3 14 11 8 88 114 122 114 130 142 + 200 3 14 8 13 88 114 130 142 80 142 + 200 3 10 15 12 122 114 88 114 80 142 + 200 3 10 12 9 122 114 80 142 130 142 + 200 3 6 3 0 88 114 122 114 130 142 + 200 3 6 0 5 88 114 130 142 80 142 + 200 3 2 7 4 122 114 88 114 80 142 + 200 3 2 4 1 122 114 80 142 130 142 \ No newline at end of file diff --git a/data/base/structs/blmrtpit.pie b/data/base/structs/blmrtpit.pie index 4aec1ad92..634db9e65 100644 --- a/data/base/structs/blmrtpit.pie +++ b/data/base/structs/blmrtpit.pie @@ -22,21 +22,34 @@ POINTS 18 -48 0 27 0 14 43 0 0 56 -POLYGONS 15 +POLYGONS 28 200 3 2 1 0 109 199 91 202 129 208 - 200 4 5 1 4 3 61 185 89 199 75 206 61 199 - 200 4 7 6 1 5 75 179 89 185 89 199 61 185 + 200 3 5 1 4 61 185 89 199 75 206 + 200 3 5 4 3 61 185 75 206 61 199 + 200 3 7 6 1 75 179 89 185 89 199 + 200 3 7 1 5 75 179 89 199 61 185 200 3 9 8 6 109 199 129 208 91 202 - 200 4 11 10 2 0 91 208 96 199 125 199 129 208 - 200 4 10 4 1 2 64 179 67 195 84 195 86 179 - 200 4 13 12 10 11 91 208 96 199 125 199 129 208 - 200 4 12 3 4 10 64 179 67 195 84 195 86 179 - 200 4 15 14 12 13 101 208 103 199 118 199 120 208 - 200 4 14 5 3 12 81 179 79 195 71 195 70 179 - 200 4 17 16 14 15 129 208 125 199 96 199 91 208 - 200 4 16 7 5 14 86 179 84 195 67 195 64 179 - 200 4 8 9 16 17 129 208 125 199 96 199 91 208 - 200 4 9 6 7 16 86 179 84 195 67 195 64 179 - 200 4 1 6 8 0 139 118 139 105 154 100 154 122 + 200 3 11 10 2 91 208 96 199 125 199 + 200 3 11 2 0 91 208 125 199 129 208 + 200 3 10 4 1 64 179 67 195 84 195 + 200 3 10 1 2 64 179 84 195 86 179 + 200 3 13 12 10 91 208 96 199 125 199 + 200 3 13 10 11 91 208 125 199 129 208 + 200 3 12 3 4 64 179 67 195 84 195 + 200 3 12 4 10 64 179 84 195 86 179 + 200 3 15 14 12 101 208 103 199 118 199 + 200 3 15 12 13 101 208 118 199 120 208 + 200 3 14 5 3 81 179 79 195 71 195 + 200 3 14 3 12 81 179 71 195 70 179 + 200 3 17 16 14 129 208 125 199 96 199 + 200 3 17 14 15 129 208 96 199 91 208 + 200 3 16 7 5 86 179 84 195 67 195 + 200 3 16 5 14 86 179 67 195 64 179 + 200 3 8 9 16 129 208 125 199 96 199 + 200 3 8 16 17 129 208 96 199 91 208 + 200 3 9 6 7 86 179 84 195 67 195 + 200 3 9 7 16 86 179 67 195 64 179 + 200 3 1 6 8 139 118 139 105 154 100 + 200 3 1 8 0 139 118 154 100 154 122 CONNECTORS 1 0 0 6 diff --git a/data/base/structs/blmssilo.pie b/data/base/structs/blmssilo.pie index d760b51ad..dad6a31e0 100644 --- a/data/base/structs/blmssilo.pie +++ b/data/base/structs/blmssilo.pie @@ -32,21 +32,38 @@ POINTS 28 -18 16 44 -23 3 56 -13 3 33 -POLYGONS 17 - 200 4 3 2 1 0 185 129 227 129 227 171 185 171 - 200 4 7 6 5 4 121 84 120 66 128 66 132 84 - 200 4 6 9 8 5 144 64 146 82 139 82 136 64 - 200 4 11 10 6 7 107 84 108 66 120 66 121 84 - 200 4 10 12 9 6 156 64 154 82 146 82 144 64 - 200 4 14 13 10 11 157 82 156 64 164 64 168 82 - 200 4 13 15 12 10 108 66 110 84 103 84 100 66 - 200 4 17 16 13 14 143 82 144 64 156 64 157 82 - 200 4 16 18 15 13 120 66 118 84 110 84 108 66 - 200 4 20 19 16 17 121 84 120 66 128 66 132 84 - 200 4 19 21 18 16 144 64 146 82 139 82 136 64 - 200 4 23 22 19 20 107 84 108 66 120 66 121 84 - 200 4 22 24 21 19 156 64 154 82 146 82 144 64 - 200 4 26 25 22 23 157 82 156 64 164 64 168 82 - 200 4 25 27 24 22 108 66 110 84 103 84 100 66 - 200 4 4 5 25 26 143 82 144 64 156 64 157 82 - 200 4 5 8 27 25 120 66 118 84 110 84 108 66 +POLYGONS 34 + 200 3 3 2 1 185 129 227 129 227 171 + 200 3 3 1 0 185 129 227 171 185 171 + 200 3 7 6 5 121 84 120 66 128 66 + 200 3 7 5 4 121 84 128 66 132 84 + 200 3 6 9 8 144 64 146 82 139 82 + 200 3 6 8 5 144 64 139 82 136 64 + 200 3 11 10 6 107 84 108 66 120 66 + 200 3 11 6 7 107 84 120 66 121 84 + 200 3 10 12 9 156 64 154 82 146 82 + 200 3 10 9 6 156 64 146 82 144 64 + 200 3 14 13 10 157 82 156 64 164 64 + 200 3 14 10 11 157 82 164 64 168 82 + 200 3 13 15 12 108 66 110 84 103 84 + 200 3 13 12 10 108 66 103 84 100 66 + 200 3 17 16 13 143 82 144 64 156 64 + 200 3 17 13 14 143 82 156 64 157 82 + 200 3 16 18 15 120 66 118 84 110 84 + 200 3 16 15 13 120 66 110 84 108 66 + 200 3 20 19 16 121 84 120 66 128 66 + 200 3 20 16 17 121 84 128 66 132 84 + 200 3 19 21 18 144 64 146 82 139 82 + 200 3 19 18 16 144 64 139 82 136 64 + 200 3 23 22 19 107 84 108 66 120 66 + 200 3 23 19 20 107 84 120 66 121 84 + 200 3 22 24 21 156 64 154 82 146 82 + 200 3 22 21 19 156 64 146 82 144 64 + 200 3 26 25 22 157 82 156 64 164 64 + 200 3 26 22 23 157 82 164 64 168 82 + 200 3 25 27 24 108 66 110 84 103 84 + 200 3 25 24 22 108 66 103 84 100 66 + 200 3 4 5 25 143 82 144 64 156 64 + 200 3 4 25 26 143 82 156 64 157 82 + 200 3 5 8 27 120 66 118 84 110 84 + 200 3 5 27 25 120 66 110 84 108 66 \ No newline at end of file diff --git a/data/base/structs/blnanlab.pie b/data/base/structs/blnanlab.pie index 535c4db16..76e541b82 100644 --- a/data/base/structs/blnanlab.pie +++ b/data/base/structs/blnanlab.pie @@ -36,26 +36,48 @@ POINTS 32 -32 0 18 -23 40 18 -23 40 39 -POLYGONS 22 - 200 4 3 2 1 0 165 0 156 0 156 10 165 10 - 200 4 7 6 5 4 156 0 165 0 165 10 156 10 - 200 4 11 10 9 8 38 1 21 1 27 31 38 31 - 200 4 15 14 13 12 21 1 35 1 35 31 27 31 - 200 4 19 18 17 16 35 1 9 1 2 31 35 31 - 200 4 23 22 21 20 9 1 21 1 27 31 2 31 - 200 4 27 26 25 24 21 1 49 1 56 31 27 31 - 200 4 31 30 29 28 49 1 38 1 38 31 56 31 - 200 4 30 11 8 29 73 1 91 1 91 31 67 31 - 200 4 10 15 12 9 91 1 83 1 83 31 91 31 - 200 4 14 19 16 13 83 1 67 1 59 31 83 31 - 200 4 18 23 20 17 67 1 107 1 115 31 59 31 - 200 4 22 27 24 21 107 1 101 1 107 31 115 31 - 200 4 26 31 28 25 101 1 73 1 67 31 107 31 - 200 4 2 3 6 7 156 11 165 11 165 20 156 20 - 200 4 2 7 4 1 165 0 156 0 156 10 165 10 - 200 4 6 3 0 5 156 0 165 0 165 10 156 10 - 200 4 11 30 31 26 139 13 122 13 122 1 149 1 - 200 4 10 11 26 27 139 31 139 13 149 1 149 31 - 200 4 27 22 23 18 149 31 154 31 154 44 117 44 - 200 4 15 10 27 18 132 31 139 31 149 31 117 44 - 200 4 14 15 18 19 132 16 132 31 117 44 117 16 +POLYGONS 44 + 200 3 3 2 1 165 0 156 0 156 10 + 200 3 3 1 0 165 0 156 10 165 10 + 200 3 7 6 5 156 0 165 0 165 10 + 200 3 7 5 4 156 0 165 10 156 10 + 200 3 11 10 9 38 1 21 1 27 31 + 200 3 11 9 8 38 1 27 31 38 31 + 200 3 15 14 13 21 1 35 1 35 31 + 200 3 15 13 12 21 1 35 31 27 31 + 200 3 19 18 17 35 1 9 1 2 31 + 200 3 19 17 16 35 1 2 31 35 31 + 200 3 23 22 21 9 1 21 1 27 31 + 200 3 23 21 20 9 1 27 31 2 31 + 200 3 27 26 25 21 1 49 1 56 31 + 200 3 27 25 24 21 1 56 31 27 31 + 200 3 31 30 29 49 1 38 1 38 31 + 200 3 31 29 28 49 1 38 31 56 31 + 200 3 30 11 8 73 1 91 1 91 31 + 200 3 30 8 29 73 1 91 31 67 31 + 200 3 10 15 12 91 1 83 1 83 31 + 200 3 10 12 9 91 1 83 31 91 31 + 200 3 14 19 16 83 1 67 1 59 31 + 200 3 14 16 13 83 1 59 31 83 31 + 200 3 18 23 20 67 1 107 1 115 31 + 200 3 18 20 17 67 1 115 31 59 31 + 200 3 22 27 24 107 1 101 1 107 31 + 200 3 22 24 21 107 1 107 31 115 31 + 200 3 26 31 28 101 1 73 1 67 31 + 200 3 26 28 25 101 1 67 31 107 31 + 200 3 2 3 6 156 11 165 11 165 20 + 200 3 2 6 7 156 11 165 20 156 20 + 200 3 2 7 4 165 0 156 0 156 10 + 200 3 2 4 1 165 0 156 10 165 10 + 200 3 6 3 0 156 0 165 0 165 10 + 200 3 6 0 5 156 0 165 10 156 10 + 200 3 11 30 31 139 13 122 13 122 1 + 200 3 11 31 26 139 13 122 1 149 1 + 200 3 10 11 26 139 31 139 13 149 1 + 200 3 10 26 27 139 31 149 1 149 31 + 200 3 27 22 23 149 31 154 31 154 44 + 200 3 27 23 18 149 31 154 44 117 44 + 200 3 15 10 27 132 31 139 31 149 31 + 200 3 15 27 18 132 31 149 31 117 44 + 200 3 14 15 18 132 16 132 31 117 44 + 200 3 14 18 19 132 16 117 44 117 16 \ No newline at end of file diff --git a/data/base/structs/blnavbak.pie b/data/base/structs/blnavbak.pie index 0e229499d..463b74900 100644 --- a/data/base/structs/blnavbak.pie +++ b/data/base/structs/blnavbak.pie @@ -10,8 +10,10 @@ POINTS 6 -48 51 64 -64 0 64 64 0 64 -POLYGONS 4 - 200 4 3 2 1 0 59 186 91 186 91 208 59 208 +POLYGONS 6 + 200 3 3 2 1 59 186 91 186 91 208 + 200 3 3 1 0 59 186 91 208 59 208 200 3 4 3 0 51 192 51 208 59 208 200 3 1 2 5 47 208 55 192 55 208 - 200 4 5 2 3 4 26 240 28 227 37 227 39 240 + 200 3 5 2 3 26 240 28 227 37 227 + 200 3 5 3 4 26 240 37 227 39 240 \ No newline at end of file diff --git a/data/base/structs/blnavbnk.pie b/data/base/structs/blnavbnk.pie index fec985926..d51475ff0 100644 --- a/data/base/structs/blnavbnk.pie +++ b/data/base/structs/blnavbnk.pie @@ -16,11 +16,16 @@ POINTS 12 13 0 -51 13 0 52 -65 0 64 -POLYGONS 5 - 200 4 3 2 1 0 0 256 13 256 13 240 0 240 - 200 4 7 6 5 4 59 208 91 208 91 186 59 186 - 200 4 5 6 9 8 58 195 36 195 36 208 58 208 - 200 4 6 7 10 9 25 195 47 195 47 208 25 208 - 200 4 7 4 11 10 36 195 58 195 58 208 36 208 +POLYGONS 10 + 200 3 3 2 1 0 256 13 256 13 240 + 200 3 3 1 0 0 256 13 240 0 240 + 200 3 7 6 5 59 208 91 208 91 186 + 200 3 7 5 4 59 208 91 186 59 186 + 200 3 5 6 9 58 195 36 195 36 208 + 200 3 5 9 8 58 195 36 208 58 208 + 200 3 6 7 10 25 195 47 195 47 208 + 200 3 6 10 9 25 195 47 208 25 208 + 200 3 7 4 11 36 195 58 195 58 208 + 200 3 7 11 10 36 195 58 208 36 208 CONNECTORS 1 -23 0 20 diff --git a/data/base/structs/blpilbox.pie b/data/base/structs/blpilbox.pie index 8d0fca8b2..2f4872d77 100644 --- a/data/base/structs/blpilbox.pie +++ b/data/base/structs/blpilbox.pie @@ -21,16 +21,26 @@ POINTS 17 20 0 -35 20 21 -35 0 21 0 -POLYGONS 10 - 200 4 3 2 1 0 0 239 13 239 13 256 0 256 - 200 4 7 6 5 4 16 193 59 193 59 208 16 208 - 200 4 6 9 8 5 59 193 16 193 16 208 59 208 - 200 4 9 11 10 8 59 193 16 193 16 208 59 208 - 200 4 11 13 12 10 59 193 16 193 16 208 59 208 - 200 4 13 15 14 12 16 193 59 193 59 208 16 208 - 200 4 15 7 4 14 16 193 59 193 59 208 16 208 - 200 4 6 7 15 16 81 180 87 193 81 207 74 193 - 200 4 11 9 6 16 61 193 68 180 81 180 74 193 - 200 4 15 13 11 16 81 207 68 207 61 193 74 193 +POLYGONS 20 + 200 3 3 2 1 0 239 13 239 13 256 + 200 3 3 1 0 0 239 13 256 0 256 + 200 3 7 6 5 16 193 59 193 59 208 + 200 3 7 5 4 16 193 59 208 16 208 + 200 3 6 9 8 59 193 16 193 16 208 + 200 3 6 8 5 59 193 16 208 59 208 + 200 3 9 11 10 59 193 16 193 16 208 + 200 3 9 10 8 59 193 16 208 59 208 + 200 3 11 13 12 59 193 16 193 16 208 + 200 3 11 12 10 59 193 16 208 59 208 + 200 3 13 15 14 16 193 59 193 59 208 + 200 3 13 14 12 16 193 59 208 16 208 + 200 3 15 7 4 16 193 59 193 59 208 + 200 3 15 4 14 16 193 59 208 16 208 + 200 3 6 7 15 81 180 87 193 81 207 + 200 3 6 15 16 81 180 81 207 74 193 + 200 3 11 9 6 61 193 68 180 81 180 + 200 3 11 6 16 61 193 81 180 74 193 + 200 3 15 13 11 81 207 68 207 61 193 + 200 3 15 11 16 81 207 61 193 74 193 CONNECTORS 1 0 0 27 diff --git a/data/base/structs/blpower0.pie b/data/base/structs/blpower0.pie index dc4dfc2f4..83615c710 100644 --- a/data/base/structs/blpower0.pie +++ b/data/base/structs/blpower0.pie @@ -97,56 +97,95 @@ POINTS 93 51 65 40 40 38 51 51 38 40 -POLYGONS 51 - 200 4 20 23 76 77 0 109 0 81 0 81 0 109 - 200 4 25 24 75 76 125 34 120 34 120 12 125 13 - 200 4 22 21 77 76 40 81 40 109 0 109 0 81 - 200 4 69 68 67 66 63 47 67 47 67 51 63 51 - 200 4 70 74 76 75 120 0 125 0 125 13 120 12 +POLYGONS 90 + 200 3 20 23 76 0 109 0 81 0 81 + 200 3 20 76 77 0 109 0 81 0 109 + 200 3 25 24 75 125 34 120 34 120 12 + 200 3 25 75 76 125 34 120 12 125 13 + 200 3 22 21 77 40 81 40 109 0 109 + 200 3 22 77 76 40 81 0 109 0 81 + 200 3 69 68 67 63 47 67 47 67 51 + 200 3 69 67 66 63 47 67 51 63 51 + 200 3 70 74 76 120 0 125 0 125 13 + 200 3 70 76 75 120 0 125 13 120 12 200 3 25 22 23 42 168 0 169 42 136 - 200 4 40 43 81 82 0 109 0 81 0 81 0 109 - 200 4 45 44 80 79 125 34 120 34 120 12 125 12 - 200 4 42 41 82 81 40 81 40 109 0 109 0 81 - 200 4 65 64 63 62 63 47 67 47 67 51 63 51 - 200 4 78 73 79 80 120 0 125 0 125 12 120 12 + 200 3 40 43 81 0 109 0 81 0 81 + 200 3 40 81 82 0 109 0 81 0 109 + 200 3 45 44 80 125 34 120 34 120 12 + 200 3 45 80 79 125 34 120 12 125 12 + 200 3 42 41 82 40 81 40 109 0 109 + 200 3 42 82 81 40 81 0 109 0 81 + 200 3 65 64 63 63 47 67 47 67 51 + 200 3 65 63 62 63 47 67 51 63 51 + 200 3 78 73 79 120 0 125 0 125 12 + 200 3 78 79 80 120 0 125 12 120 12 200 3 41 44 40 42 168 0 169 0 136 - 200 4 7 9 8 6 87 0 113 0 113 34 87 34 - 200 4 8 9 78 44 114 34 114 0 120 0 120 34 - 200 4 7 6 25 74 132 0 132 34 125 34 125 0 + 200 3 7 9 8 87 0 113 0 113 34 + 200 3 7 8 6 87 0 113 34 87 34 + 200 3 8 9 78 114 34 114 0 120 0 + 200 3 8 78 44 114 34 120 0 120 34 + 200 3 7 6 25 132 0 132 34 125 34 + 200 3 7 25 74 132 0 125 34 125 0 200 3 45 42 43 42 168 0 169 42 136 - 200 4 34 37 87 88 0 109 0 81 0 81 0 109 - 200 4 39 38 86 85 124 34 119 34 119 12 124 12 - 200 4 36 35 88 87 40 81 40 109 0 109 0 81 - 200 4 61 60 59 58 63 47 67 47 67 51 63 51 - 200 4 84 83 85 86 119 0 124 0 124 12 119 12 + 200 3 34 37 87 0 109 0 81 0 81 + 200 3 34 87 88 0 109 0 81 0 109 + 200 3 39 38 86 124 34 119 34 119 12 + 200 3 39 86 85 124 34 119 12 124 12 + 200 3 36 35 88 40 81 40 109 0 109 + 200 3 36 88 87 40 81 0 109 0 81 + 200 3 61 60 59 63 47 67 47 67 51 + 200 3 61 59 58 63 47 67 51 63 51 + 200 3 84 83 85 119 0 124 0 124 12 + 200 3 84 85 86 119 0 124 12 119 12 200 3 35 38 34 42 168 0 169 0 136 - 200 4 11 13 12 10 87 0 113 0 113 34 87 34 - 200 4 12 13 84 38 114 34 114 0 119 0 119 34 + 200 3 11 13 12 87 0 113 0 113 34 + 200 3 11 12 10 87 0 113 34 87 34 + 200 3 12 13 84 114 34 114 0 119 0 + 200 3 12 84 38 114 34 119 0 119 34 200 3 39 36 37 42 168 0 169 42 136 - 200 4 71 72 39 83 126 0 126 34 124 34 124 0 - 200 4 11 10 45 73 132 0 132 34 125 34 125 0 + 200 3 71 72 39 126 0 126 34 124 34 + 200 3 71 39 83 126 0 124 34 124 0 + 200 3 11 10 45 132 0 132 34 125 34 + 200 3 11 45 73 132 0 125 34 125 0 200 3 21 24 20 42 168 0 169 0 136 - 200 4 28 31 91 92 0 109 0 81 0 81 0 109 - 200 4 33 32 92 91 125 34 120 34 120 13 125 13 - 200 4 30 29 92 91 40 81 40 109 0 109 0 81 - 200 4 57 56 55 54 63 47 67 47 67 51 63 51 - 200 4 90 89 91 92 120 0 125 0 125 13 120 13 + 200 3 28 31 91 0 109 0 81 0 81 + 200 3 28 91 92 0 109 0 81 0 109 + 200 3 33 32 92 125 34 120 34 120 13 + 200 3 33 92 91 125 34 120 13 125 13 + 200 3 30 29 92 40 81 40 109 0 109 + 200 3 30 92 91 40 81 0 109 0 81 + 200 3 57 56 55 63 47 67 47 67 51 + 200 3 57 55 54 63 47 67 51 63 51 + 200 3 90 89 91 120 0 125 0 125 13 + 200 3 90 91 92 120 0 125 13 120 13 200 3 29 32 28 42 168 0 169 0 136 - 200 4 0 3 90 32 114 34 114 0 120 0 120 34 - 200 4 15 3 0 14 87 0 113 0 113 34 87 34 + 200 3 0 3 90 114 34 114 0 120 0 + 200 3 0 90 32 114 34 120 0 120 34 + 200 3 15 3 0 87 0 113 0 113 34 + 200 3 15 0 14 87 0 113 34 87 34 200 3 33 30 31 42 168 0 169 42 136 - 200 4 2 5 4 1 87 0 113 0 113 34 87 34 - 200 4 2 1 33 89 132 0 132 34 125 34 125 0 - 200 4 4 5 70 24 114 34 114 0 120 0 120 34 - 200 4 15 14 72 71 132 0 132 34 126 34 126 0 - 200 4 2 3 15 16 42 2 59 18 59 41 31 31 - 200 4 7 5 2 16 2 19 18 2 42 2 31 30 - 200 4 11 9 7 16 19 58 2 42 2 19 30 30 - 200 4 15 13 11 16 59 41 43 58 19 58 30 31 + 200 3 2 5 4 87 0 113 0 113 34 + 200 3 2 4 1 87 0 113 34 87 34 + 200 3 2 1 33 132 0 132 34 125 34 + 200 3 2 33 89 132 0 125 34 125 0 + 200 3 4 5 70 114 34 114 0 120 0 + 200 3 4 70 24 114 34 120 0 120 34 + 200 3 15 14 72 132 0 132 34 126 34 + 200 3 15 72 71 132 0 126 34 126 0 + 200 3 2 3 15 42 2 59 18 59 41 + 200 3 2 15 16 42 2 59 41 31 31 + 200 3 7 5 2 2 19 18 2 42 2 + 200 3 7 2 16 2 19 42 2 31 30 + 200 3 11 9 7 19 58 2 42 2 19 + 200 3 11 7 16 19 58 2 19 30 30 + 200 3 15 13 11 59 41 43 58 19 58 + 200 3 15 11 16 59 41 19 58 30 31 200 3 19 27 18 200 12 141 21 141 4 - 200 4 49 48 47 46 63 47 67 47 67 51 63 51 + 200 3 49 48 47 63 47 67 47 67 51 + 200 3 49 47 46 63 47 67 51 63 51 200 3 19 17 26 200 13 141 4 141 21 - 200 4 53 52 51 50 63 47 67 47 67 51 63 51 + 200 3 53 52 51 63 47 67 47 67 51 + 200 3 53 51 50 63 47 67 51 63 51 200 3 19 26 27 200 13 141 4 141 21 200 3 19 18 17 200 12 141 21 141 4 CONNECTORS 1 diff --git a/data/base/structs/blpower4.pie b/data/base/structs/blpower4.pie index b984eac18..726dad974 100644 --- a/data/base/structs/blpower4.pie +++ b/data/base/structs/blpower4.pie @@ -129,77 +129,136 @@ POINTS 125 51 65 40 40 38 51 51 38 40 -POLYGONS 71 - 200 4 33 32 31 30 213 33 214 41 151 48 151 27 - 200 4 33 28 29 32 26 193 41 193 41 208 26 208 - 200 4 29 28 27 26 151 42 151 34 213 27 213 48 - 200 4 28 33 30 27 213 42 214 34 151 27 151 48 - 200 4 32 29 26 31 213 33 214 41 151 48 151 27 - 200 4 65 66 76 75 151 42 151 34 213 27 213 48 - 200 4 67 64 74 77 213 33 214 41 151 48 151 27 - 200 4 67 66 65 64 26 193 41 193 41 208 26 208 - 200 4 64 65 75 74 213 33 214 41 151 48 151 27 - 200 4 38 39 49 48 213 42 214 34 151 27 151 48 - 200 4 37 38 48 47 151 42 151 34 213 27 213 48 - 200 4 39 38 37 36 26 193 41 193 41 208 26 208 - 200 4 39 36 46 49 213 33 214 41 151 48 151 27 - 200 4 36 37 47 46 213 33 214 41 151 48 151 27 - 200 4 51 52 62 61 151 42 151 34 213 27 213 48 - 200 4 53 52 51 50 26 193 41 193 41 208 26 208 - 200 4 53 50 60 63 213 33 214 41 151 48 151 27 - 200 4 50 51 61 60 213 33 214 41 151 48 151 27 - 200 4 20 23 108 109 0 109 0 81 0 81 0 109 - 200 4 25 24 107 108 125 34 120 34 120 12 125 13 - 200 4 22 21 109 108 40 81 40 109 0 109 0 81 - 200 4 101 100 99 98 63 47 67 47 67 51 63 51 - 200 4 102 106 108 107 120 0 125 0 125 13 120 12 +POLYGONS 130 + 200 3 33 32 31 213 33 214 41 151 48 + 200 3 33 31 30 213 33 151 48 151 27 + 200 3 33 28 29 26 193 41 193 41 208 + 200 3 33 29 32 26 193 41 208 26 208 + 200 3 29 28 27 151 42 151 34 213 27 + 200 3 29 27 26 151 42 213 27 213 48 + 200 3 28 33 30 213 42 214 34 151 27 + 200 3 28 30 27 213 42 151 27 151 48 + 200 3 32 29 26 213 33 214 41 151 48 + 200 3 32 26 31 213 33 151 48 151 27 + 200 3 65 66 76 151 42 151 34 213 27 + 200 3 65 76 75 151 42 213 27 213 48 + 200 3 67 64 74 213 33 214 41 151 48 + 200 3 67 74 77 213 33 151 48 151 27 + 200 3 67 66 65 26 193 41 193 41 208 + 200 3 67 65 64 26 193 41 208 26 208 + 200 3 64 65 75 213 33 214 41 151 48 + 200 3 64 75 74 213 33 151 48 151 27 + 200 3 38 39 49 213 42 214 34 151 27 + 200 3 38 49 48 213 42 151 27 151 48 + 200 3 37 38 48 151 42 151 34 213 27 + 200 3 37 48 47 151 42 213 27 213 48 + 200 3 39 38 37 26 193 41 193 41 208 + 200 3 39 37 36 26 193 41 208 26 208 + 200 3 39 36 46 213 33 214 41 151 48 + 200 3 39 46 49 213 33 151 48 151 27 + 200 3 36 37 47 213 33 214 41 151 48 + 200 3 36 47 46 213 33 151 48 151 27 + 200 3 51 52 62 151 42 151 34 213 27 + 200 3 51 62 61 151 42 213 27 213 48 + 200 3 53 52 51 26 193 41 193 41 208 + 200 3 53 51 50 26 193 41 208 26 208 + 200 3 53 50 60 213 33 214 41 151 48 + 200 3 53 60 63 213 33 151 48 151 27 + 200 3 50 51 61 213 33 214 41 151 48 + 200 3 50 61 60 213 33 151 48 151 27 + 200 3 20 23 108 0 109 0 81 0 81 + 200 3 20 108 109 0 109 0 81 0 109 + 200 3 25 24 107 125 34 120 34 120 12 + 200 3 25 107 108 125 34 120 12 125 13 + 200 3 22 21 109 40 81 40 109 0 109 + 200 3 22 109 108 40 81 0 109 0 81 + 200 3 101 100 99 63 47 67 47 67 51 + 200 3 101 99 98 63 47 67 51 63 51 + 200 3 102 106 108 120 0 125 0 125 13 + 200 3 102 108 107 120 0 125 13 120 12 200 3 25 22 23 42 168 0 169 42 136 - 200 4 68 71 113 114 0 109 0 81 0 81 0 109 - 200 4 73 72 112 111 125 34 120 34 120 12 125 12 - 200 4 70 69 114 113 40 81 40 109 0 109 0 81 - 200 4 97 96 95 94 63 47 67 47 67 51 63 51 - 200 4 110 105 111 112 120 0 125 0 125 12 120 12 + 200 3 68 71 113 0 109 0 81 0 81 + 200 3 68 113 114 0 109 0 81 0 109 + 200 3 73 72 112 125 34 120 34 120 12 + 200 3 73 112 111 125 34 120 12 125 12 + 200 3 70 69 114 40 81 40 109 0 109 + 200 3 70 114 113 40 81 0 109 0 81 + 200 3 97 96 95 63 47 67 47 67 51 + 200 3 97 95 94 63 47 67 51 63 51 + 200 3 110 105 111 120 0 125 0 125 12 + 200 3 110 111 112 120 0 125 12 120 12 200 3 69 72 68 42 168 0 169 0 136 - 200 4 7 9 8 6 87 0 113 0 113 34 87 34 - 200 4 8 9 110 72 114 34 114 0 120 0 120 34 - 200 4 7 6 25 106 132 0 132 34 125 34 125 0 + 200 3 7 9 8 87 0 113 0 113 34 + 200 3 7 8 6 87 0 113 34 87 34 + 200 3 8 9 110 114 34 114 0 120 0 + 200 3 8 110 72 114 34 120 0 120 34 + 200 3 7 6 25 132 0 132 34 125 34 + 200 3 7 25 106 132 0 125 34 125 0 200 3 73 70 71 42 168 0 169 42 136 - 200 4 54 57 119 120 0 109 0 81 0 81 0 109 - 200 4 59 58 118 117 124 34 119 34 119 12 124 12 - 200 4 56 55 120 119 40 81 40 109 0 109 0 81 - 200 4 93 92 91 90 63 47 67 47 67 51 63 51 - 200 4 116 115 117 118 119 0 124 0 124 12 119 12 + 200 3 54 57 119 0 109 0 81 0 81 + 200 3 54 119 120 0 109 0 81 0 109 + 200 3 59 58 118 124 34 119 34 119 12 + 200 3 59 118 117 124 34 119 12 124 12 + 200 3 56 55 120 40 81 40 109 0 109 + 200 3 56 120 119 40 81 0 109 0 81 + 200 3 93 92 91 63 47 67 47 67 51 + 200 3 93 91 90 63 47 67 51 63 51 + 200 3 116 115 117 119 0 124 0 124 12 + 200 3 116 117 118 119 0 124 12 119 12 200 3 55 58 54 42 168 0 169 0 136 - 200 4 11 13 12 10 87 0 113 0 113 34 87 34 - 200 4 12 13 116 58 114 34 114 0 119 0 119 34 + 200 3 11 13 12 87 0 113 0 113 34 + 200 3 11 12 10 87 0 113 34 87 34 + 200 3 12 13 116 114 34 114 0 119 0 + 200 3 12 116 58 114 34 119 0 119 34 200 3 59 56 57 42 168 0 169 42 136 - 200 4 103 104 59 115 126 0 126 34 124 34 124 0 - 200 4 11 10 73 105 132 0 132 34 125 34 125 0 + 200 3 103 104 59 126 0 126 34 124 34 + 200 3 103 59 115 126 0 124 34 124 0 + 200 3 11 10 73 132 0 132 34 125 34 + 200 3 11 73 105 132 0 125 34 125 0 200 3 21 24 20 42 168 0 169 0 136 - 200 4 40 43 123 124 0 109 0 81 0 81 0 109 - 200 4 45 44 124 123 125 34 120 34 120 13 125 13 - 200 4 42 41 124 123 40 81 40 109 0 109 0 81 - 200 4 89 88 87 86 63 47 67 47 67 51 63 51 - 200 4 122 121 123 124 120 0 125 0 125 13 120 13 + 200 3 40 43 123 0 109 0 81 0 81 + 200 3 40 123 124 0 109 0 81 0 109 + 200 3 45 44 124 125 34 120 34 120 13 + 200 3 45 124 123 125 34 120 13 125 13 + 200 3 42 41 124 40 81 40 109 0 109 + 200 3 42 124 123 40 81 0 109 0 81 + 200 3 89 88 87 63 47 67 47 67 51 + 200 3 89 87 86 63 47 67 51 63 51 + 200 3 122 121 123 120 0 125 0 125 13 + 200 3 122 123 124 120 0 125 13 120 13 200 3 41 44 40 42 168 0 169 0 136 - 200 4 0 3 122 44 114 34 114 0 120 0 120 34 - 200 4 15 3 0 14 87 0 113 0 113 34 87 34 + 200 3 0 3 122 114 34 114 0 120 0 + 200 3 0 122 44 114 34 120 0 120 34 + 200 3 15 3 0 87 0 113 0 113 34 + 200 3 15 0 14 87 0 113 34 87 34 200 3 45 42 43 42 168 0 169 42 136 - 200 4 2 5 4 1 87 0 113 0 113 34 87 34 - 200 4 2 1 45 121 132 0 132 34 125 34 125 0 - 200 4 4 5 102 24 114 34 114 0 120 0 120 34 - 200 4 15 14 104 103 132 0 132 34 126 34 126 0 - 200 4 2 3 15 16 42 2 59 18 59 41 31 31 - 200 4 7 5 2 16 2 19 18 2 42 2 31 30 - 200 4 11 9 7 16 19 58 2 42 2 19 30 30 - 200 4 15 13 11 16 59 41 43 58 19 58 30 31 + 200 3 2 5 4 87 0 113 0 113 34 + 200 3 2 4 1 87 0 113 34 87 34 + 200 3 2 1 45 132 0 132 34 125 34 + 200 3 2 45 121 132 0 125 34 125 0 + 200 3 4 5 102 114 34 114 0 120 0 + 200 3 4 102 24 114 34 120 0 120 34 + 200 3 15 14 104 132 0 132 34 126 34 + 200 3 15 104 103 132 0 126 34 126 0 + 200 3 2 3 15 42 2 59 18 59 41 + 200 3 2 15 16 42 2 59 41 31 31 + 200 3 7 5 2 2 19 18 2 42 2 + 200 3 7 2 16 2 19 42 2 31 30 + 200 3 11 9 7 19 58 2 42 2 19 + 200 3 11 7 16 19 58 2 19 30 30 + 200 3 15 13 11 59 41 43 58 19 58 + 200 3 15 11 16 59 41 19 58 30 31 200 3 19 35 18 200 12 141 21 141 4 - 200 4 81 80 79 78 63 47 67 47 67 51 63 51 + 200 3 81 80 79 63 47 67 47 67 51 + 200 3 81 79 78 63 47 67 51 63 51 200 3 19 17 34 200 13 141 4 141 21 - 200 4 85 84 83 82 63 47 67 47 67 51 63 51 + 200 3 85 84 83 63 47 67 47 67 51 + 200 3 85 83 82 63 47 67 51 63 51 200 3 19 34 35 200 13 141 4 141 21 200 3 19 18 17 200 12 141 21 141 4 - 200 4 52 53 63 62 213 42 214 34 151 27 151 48 - 200 4 66 67 77 76 213 42 214 34 151 27 151 48 + 200 3 52 53 63 213 42 214 34 151 27 + 200 3 52 63 62 213 42 151 27 151 48 + 200 3 66 67 77 213 42 214 34 151 27 + 200 3 66 77 76 213 42 151 27 151 48 CONNECTORS 1 90 -90 0 diff --git a/data/base/structs/blpowlab.pie b/data/base/structs/blpowlab.pie index ab1b270cb..b0c1acf28 100644 --- a/data/base/structs/blpowlab.pie +++ b/data/base/structs/blpowlab.pie @@ -89,55 +89,88 @@ POINTS 85 0 15 14 28 25 -13 22 0 -7 -POLYGONS 58 +POLYGONS 91 200 3 42 55 54 178 124 176 122 178 124 - 200 4 40 39 53 52 176 122 177 124 177 124 176 122 + 200 3 40 39 53 176 122 177 124 177 124 + 200 3 40 53 52 176 122 177 124 176 122 200 3 40 52 56 217 124 216 124 216 122 200 3 48 12 51 19 146 19 135 25 150 200 3 22 15 12 19 171 35 172 19 135 200 3 12 15 14 18 135 2 170 18 170 - 200 4 50 17 64 65 26 170 19 171 19 156 26 155 - 200 4 17 59 66 64 18 170 15 170 15 156 18 156 - 200 4 14 34 63 62 19 170 26 170 26 156 19 156 - 200 4 0 3 60 61 194 105 235 105 235 111 194 111 - 200 4 45 56 72 73 216 122 216 122 216 122 215 122 + 200 3 50 17 64 26 170 19 171 19 156 + 200 3 50 64 65 26 170 19 156 26 155 + 200 3 17 59 66 18 170 15 170 15 156 + 200 3 17 66 64 18 170 15 156 18 156 + 200 3 14 34 63 19 170 26 170 26 156 + 200 3 14 63 62 19 170 26 156 19 156 + 200 3 0 3 60 194 105 235 105 235 111 + 200 3 0 60 61 194 105 235 111 194 111 + 200 3 45 56 72 216 122 216 122 216 122 + 200 3 45 72 73 216 122 216 122 215 122 200 3 45 73 73 216 122 215 122 215 122 200 3 12 69 69 19 135 21 139 20 139 - 200 4 12 62 71 69 19 135 19 156 21 156 21 139 - 200 4 64 66 75 74 18 156 15 156 15 147 18 147 - 200 4 70 64 74 76 21 155 19 156 19 147 21 146 - 200 4 52 41 73 72 216 124 175 124 215 122 216 122 - 200 4 41 44 73 73 175 124 175 122 215 122 215 122 + 200 3 12 62 71 19 135 19 156 21 156 + 200 3 12 71 69 19 135 21 156 21 139 + 200 3 64 66 75 18 156 15 156 15 147 + 200 3 64 75 74 18 156 15 147 18 147 + 200 3 70 64 74 21 155 19 156 19 147 + 200 3 70 74 76 21 155 19 147 21 146 + 200 3 52 41 73 216 124 175 124 215 122 + 200 3 52 73 72 216 124 215 122 216 122 + 200 3 41 44 73 175 124 175 122 215 122 + 200 3 41 73 73 175 124 215 122 215 122 200 3 16 67 68 18 135 18 138 20 139 - 200 4 58 16 74 75 15 141 18 135 18 147 15 147 + 200 3 58 16 74 15 141 18 135 18 147 + 200 3 58 74 75 15 141 18 147 15 147 200 3 16 58 57 18 135 20 141 18 139 - 200 4 16 68 76 74 19 135 21 139 21 146 19 147 - 200 4 43 54 55 45 216 124 178 124 176 122 176 122 + 200 3 16 68 76 19 135 21 139 21 146 + 200 3 16 76 74 19 135 21 146 19 147 + 200 3 43 54 55 216 124 178 124 176 122 + 200 3 43 55 45 216 124 176 122 176 122 200 3 43 45 44 216 124 176 122 217 122 - 200 4 49 51 69 69 26 151 25 150 20 139 21 139 - 200 4 63 49 69 71 26 156 26 151 21 139 21 156 - 200 4 46 65 70 68 26 150 26 155 21 155 21 139 - 200 4 47 46 68 67 18 145 25 151 20 139 18 138 - 200 4 38 41 52 53 215 124 217 122 176 122 177 124 - 200 4 5 32 32 82 115 32 115 43 114 43 114 32 - 200 4 37 33 81 80 158 143 142 143 141 134 159 134 + 200 3 49 51 69 26 151 25 150 20 139 + 200 3 49 69 69 26 151 20 139 21 139 + 200 3 63 49 69 26 156 26 151 21 139 + 200 3 63 69 71 26 156 21 139 21 156 + 200 3 46 65 70 26 150 26 155 21 155 + 200 3 46 70 68 26 150 21 155 21 139 + 200 3 47 46 68 18 145 25 151 20 139 + 200 3 47 68 67 18 145 20 139 18 138 + 200 3 38 41 52 215 124 217 122 176 122 + 200 3 38 52 53 215 124 176 122 177 124 + 200 3 5 32 32 115 32 115 43 114 43 + 200 3 5 32 82 115 32 114 43 114 32 + 200 3 37 33 81 158 143 142 143 141 134 + 200 3 37 81 80 158 143 141 134 159 134 200 3 4 82 32 102 43 114 32 114 43 - 200 4 7 6 5 4 142 143 142 134 151 134 151 143 - 200 4 79 2 80 81 141 129 161 129 159 134 141 134 + 200 3 7 6 5 142 143 142 134 151 134 + 200 3 7 5 4 142 143 151 134 151 143 + 200 3 79 2 80 141 129 161 129 159 134 + 200 3 79 80 81 141 129 159 134 141 134 200 3 6 7 33 115 32 102 43 115 43 - 200 4 36 1 83 84 136 143 132 129 132 129 136 143 - 200 4 19 29 78 77 34 171 18 172 18 156 27 156 - 200 4 59 19 77 66 15 170 1 171 7 156 15 156 - 200 4 79 33 84 83 141 129 142 143 136 143 132 129 - 200 4 2 1 61 60 236 115 194 115 194 111 235 111 + 200 3 36 1 83 136 143 132 129 132 129 + 200 3 36 83 84 136 143 132 129 136 143 + 200 3 19 29 78 34 171 18 172 18 156 + 200 3 19 78 77 34 171 18 156 27 156 + 200 3 59 19 77 15 170 1 171 7 156 + 200 3 59 77 66 15 170 7 156 15 156 + 200 3 79 33 84 141 129 142 143 136 143 + 200 3 79 84 83 141 129 136 143 132 129 + 200 3 2 1 61 236 115 194 115 194 111 + 200 3 2 61 60 236 115 194 111 235 111 200 3 58 66 77 15 141 15 156 7 156 - 200 4 57 58 77 78 18 139 20 141 27 156 18 156 - 200 4 3 0 35 34 161 129 132 129 135 143 157 143 - 200 4 13 21 48 49 35 171 19 172 19 146 26 151 + 200 3 57 58 77 18 139 20 141 27 156 + 200 3 57 77 78 18 139 27 156 18 156 + 200 3 3 0 35 161 129 132 129 135 143 + 200 3 3 35 34 161 129 135 143 157 143 + 200 3 13 21 48 35 171 19 172 19 146 + 200 3 13 48 49 35 171 19 146 26 151 200 3 13 49 34 35 171 26 151 26 170 - 200 4 28 18 46 47 18 171 34 172 25 151 18 145 + 200 3 28 18 46 18 171 34 172 25 151 + 200 3 28 46 47 18 171 25 151 18 145 200 3 18 50 46 35 170 26 170 26 150 - 200 4 11 10 9 8 150 143 151 134 143 134 143 143 + 200 3 11 10 9 150 143 151 134 143 134 + 200 3 11 9 8 150 143 143 134 143 143 200 3 8 9 30 115 32 102 43 102 32 200 3 10 11 31 102 43 115 32 102 32 200 3 24 23 12 18 170 1 171 18 135 @@ -147,4 +180,4 @@ POLYGONS 58 200 3 23 22 12 1 171 18 172 18 135 200 3 25 28 16 2 171 17 172 17 135 200 3 21 20 12 18 171 1 172 18 135 - 200 3 29 27 16 17 171 2 172 17 135 + 200 3 29 27 16 17 171 2 172 17 135 \ No newline at end of file diff --git a/data/base/structs/blresch0.pie b/data/base/structs/blresch0.pie index f4ab19f0f..d2678518c 100644 --- a/data/base/structs/blresch0.pie +++ b/data/base/structs/blresch0.pie @@ -20,14 +20,24 @@ POINTS 16 -3 52 -28 -28 52 -3 -54 52 -28 -POLYGONS 10 - 200 4 3 2 1 0 159 171 90 171 90 100 159 100 - 200 4 0 1 5 4 127 29 201 29 201 55 127 55 - 200 4 1 2 6 5 127 0 202 0 202 26 127 26 - 200 4 2 3 7 6 127 29 201 29 201 55 127 55 - 200 4 3 0 4 7 127 0 202 0 202 26 127 26 - 200 4 11 10 9 8 158 55 182 55 182 81 158 81 - 200 4 8 9 13 12 177 82 157 82 160 99 174 99 - 200 4 9 10 14 13 177 82 157 82 160 99 174 99 - 200 4 10 11 15 14 177 82 157 82 160 99 174 99 - 200 4 11 8 12 15 177 82 157 82 160 99 174 99 +POLYGONS 20 + 200 3 3 2 1 159 171 90 171 90 100 + 200 3 3 1 0 159 171 90 100 159 100 + 200 3 0 1 5 127 29 201 29 201 55 + 200 3 0 5 4 127 29 201 55 127 55 + 200 3 1 2 6 127 0 202 0 202 26 + 200 3 1 6 5 127 0 202 26 127 26 + 200 3 2 3 7 127 29 201 29 201 55 + 200 3 2 7 6 127 29 201 55 127 55 + 200 3 3 0 4 127 0 202 0 202 26 + 200 3 3 4 7 127 0 202 26 127 26 + 200 3 11 10 9 158 55 182 55 182 81 + 200 3 11 9 8 158 55 182 81 158 81 + 200 3 8 9 13 177 82 157 82 160 99 + 200 3 8 13 12 177 82 160 99 174 99 + 200 3 9 10 14 177 82 157 82 160 99 + 200 3 9 14 13 177 82 160 99 174 99 + 200 3 10 11 15 177 82 157 82 160 99 + 200 3 10 15 14 177 82 160 99 174 99 + 200 3 11 8 12 177 82 157 82 160 99 + 200 3 11 12 15 177 82 160 99 174 99 \ No newline at end of file diff --git a/data/base/structs/blresch4.pie b/data/base/structs/blresch4.pie index f0225001c..af88457da 100644 --- a/data/base/structs/blresch4.pie +++ b/data/base/structs/blresch4.pie @@ -104,74 +104,136 @@ POINTS 100 44 43 -59 58 43 -44 44 32 -59 -POLYGONS 70 +POLYGONS 132 200 3 16 86 21 128 75 142 75 128 80 - 200 4 21 20 19 16 204 61 204 74 194 75 198 56 + 200 3 21 20 19 204 61 204 74 194 75 + 200 3 21 19 16 204 61 194 75 198 56 200 3 19 83 16 194 75 186 68 198 56 - 200 4 19 20 29 28 117 209 125 209 125 222 117 222 - 200 4 20 21 24 29 126 209 133 209 133 222 126 222 + 200 3 19 20 29 117 209 125 209 125 222 + 200 3 19 29 28 117 209 125 222 117 222 + 200 3 20 21 24 126 209 133 209 133 222 + 200 3 20 24 29 126 209 133 222 126 222 200 3 51 81 51 155 75 155 76 154 75 - 200 4 89 85 91 92 167 54 157 54 157 38 167 38 - 200 4 86 22 87 88 142 75 155 75 155 78 128 79 - 200 4 84 90 92 91 157 29 167 29 167 38 157 38 - 200 4 48 51 51 48 136 203 136 190 135 189 135 203 - 200 4 25 89 92 23 167 54 167 54 167 38 167 38 - 200 4 23 21 88 87 155 79 128 80 128 79 155 78 - 200 4 90 93 23 92 167 29 167 29 167 38 167 38 - 200 4 21 23 25 24 107 185 136 189 136 203 107 203 - 200 4 39 96 99 40 168 25 158 25 158 8 168 8 - 200 4 40 37 32 41 155 79 128 80 128 75 155 75 - 200 4 97 98 40 99 158 3 168 3 168 8 158 8 - 200 4 37 40 39 38 107 185 136 189 136 203 107 203 - 200 4 36 37 38 45 126 209 133 209 133 222 126 222 - 200 4 94 6 39 98 201 3 201 25 168 25 168 3 - 200 4 41 32 43 42 136 190 107 185 107 203 136 203 - 200 4 5 95 97 96 127 25 127 3 158 3 158 25 - 200 4 33 34 47 46 98 209 106 209 106 222 98 222 - 200 4 32 33 46 43 89 209 97 209 97 222 89 222 - 200 4 37 36 35 32 204 61 204 74 194 75 198 56 - 200 4 35 34 33 32 194 75 185 68 186 57 198 56 - 200 4 1 2 94 95 127 0 201 0 201 3 127 3 - 200 4 1 5 25 93 200 29 200 54 167 54 167 29 - 200 4 22 16 27 26 136 190 107 185 107 203 136 203 - 200 4 70 69 69 70 136 189 136 203 135 203 135 188 + 200 3 89 85 91 167 54 157 54 157 38 + 200 3 89 91 92 167 54 157 38 167 38 + 200 3 86 22 87 142 75 155 75 155 78 + 200 3 86 87 88 142 75 155 78 128 79 + 200 3 84 90 92 157 29 167 29 167 38 + 200 3 84 92 91 157 29 167 38 157 38 + 200 3 48 51 51 136 203 136 190 135 189 + 200 3 48 51 48 136 203 135 189 135 203 + 200 3 25 89 92 167 54 167 54 167 38 + 200 3 25 92 23 167 54 167 38 167 38 + 200 3 23 21 88 155 79 128 80 128 79 + 200 3 23 88 87 155 79 128 79 155 78 + 200 3 90 93 23 167 29 167 29 167 38 + 200 3 90 23 92 167 29 167 38 167 38 + 200 3 21 23 25 107 185 136 189 136 203 + 200 3 21 25 24 107 185 136 203 107 203 + 200 3 39 96 99 168 25 158 25 158 8 + 200 3 39 99 40 168 25 158 8 168 8 + 200 3 40 37 32 155 79 128 80 128 75 + 200 3 40 32 41 155 79 128 75 155 75 + 200 3 97 98 40 158 3 168 3 168 8 + 200 3 97 40 99 158 3 168 8 158 8 + 200 3 37 40 39 107 185 136 189 136 203 + 200 3 37 39 38 107 185 136 203 107 203 + 200 3 36 37 38 126 209 133 209 133 222 + 200 3 36 38 45 126 209 133 222 126 222 + 200 3 94 6 39 201 3 201 25 168 25 + 200 3 94 39 98 201 3 168 25 168 3 + 200 3 41 32 43 136 190 107 185 107 203 + 200 3 41 43 42 136 190 107 203 136 203 + 200 3 5 95 97 127 25 127 3 158 3 + 200 3 5 97 96 127 25 158 3 158 25 + 200 3 33 34 47 98 209 106 209 106 222 + 200 3 33 47 46 98 209 106 222 98 222 + 200 3 32 33 46 89 209 97 209 97 222 + 200 3 32 46 43 89 209 97 222 89 222 + 200 3 37 36 35 204 61 204 74 194 75 + 200 3 37 35 32 204 61 194 75 198 56 + 200 3 35 34 33 194 75 185 68 186 57 + 200 3 35 33 32 194 75 186 57 198 56 + 200 3 1 2 94 127 0 201 0 201 3 + 200 3 1 94 95 127 0 201 3 127 3 + 200 3 1 5 25 200 29 200 54 167 54 + 200 3 1 25 93 200 29 167 54 167 29 + 200 3 22 16 27 136 190 107 185 107 203 + 200 3 22 27 26 136 190 107 203 136 203 + 200 3 70 69 69 136 189 136 203 135 203 + 200 3 70 69 70 136 189 135 203 135 188 200 3 70 70 67 155 79 154 79 155 75 - 200 4 4 7 7 82 201 25 127 25 127 24 129 0 + 200 3 4 7 7 201 25 127 25 127 24 + 200 3 4 7 82 201 25 127 24 129 0 200 3 0 4 82 201 0 201 25 129 0 - 200 4 68 71 70 69 107 203 107 185 135 188 135 203 - 200 4 74 71 68 73 126 209 133 209 133 222 126 222 - 200 4 71 66 67 70 128 80 128 75 155 75 154 79 - 200 4 67 66 65 64 136 190 107 185 107 203 136 203 - 200 4 66 77 76 65 89 209 97 209 97 222 89 222 - 200 4 75 79 77 66 194 75 185 68 186 57 198 56 - 200 4 71 74 75 66 204 61 204 74 194 75 198 56 - 200 4 75 74 73 72 117 209 125 209 125 222 117 222 - 200 4 4 0 84 85 127 54 127 29 157 29 157 54 - 200 4 17 18 31 30 98 209 106 209 106 222 98 222 - 200 4 18 17 16 83 185 68 186 57 198 56 186 68 - 200 4 16 17 30 27 89 209 97 209 97 222 89 222 - 200 4 76 77 79 80 98 222 98 209 106 209 105 222 + 200 3 68 71 70 107 203 107 185 135 188 + 200 3 68 70 69 107 203 135 188 135 203 + 200 3 74 71 68 126 209 133 209 133 222 + 200 3 74 68 73 126 209 133 222 126 222 + 200 3 71 66 67 128 80 128 75 155 75 + 200 3 71 67 70 128 80 155 75 154 79 + 200 3 67 66 65 136 190 107 185 107 203 + 200 3 67 65 64 136 190 107 203 136 203 + 200 3 66 77 76 89 209 97 209 97 222 + 200 3 66 76 65 89 209 97 222 89 222 + 200 3 75 79 77 194 75 185 68 186 57 + 200 3 75 77 66 194 75 186 57 198 56 + 200 3 71 74 75 204 61 204 74 194 75 + 200 3 71 75 66 204 61 194 75 198 56 + 200 3 75 74 73 117 209 125 209 125 222 + 200 3 75 73 72 117 209 125 222 117 222 + 200 3 4 0 84 127 54 127 29 157 29 + 200 3 4 84 85 127 54 157 29 157 54 + 200 3 17 18 31 98 209 106 209 106 222 + 200 3 17 31 30 98 209 106 222 98 222 + 200 3 18 17 16 185 68 186 57 198 56 + 200 3 18 16 83 185 68 198 56 186 68 + 200 3 16 17 30 89 209 97 209 97 222 + 200 3 16 30 27 89 209 97 222 89 222 + 200 3 76 77 79 98 222 98 209 106 209 + 200 3 76 79 80 98 222 106 209 105 222 200 3 3 82 7 127 0 129 0 127 24 - 200 4 35 36 45 44 117 209 125 209 125 222 117 222 - 200 4 2 3 7 6 127 29 200 29 200 54 127 54 - 200 4 50 51 81 54 128 75 154 75 155 76 155 79 + 200 3 35 36 45 117 209 125 209 125 222 + 200 3 35 45 44 117 209 125 222 117 222 + 200 3 2 3 7 127 29 200 29 200 54 + 200 3 2 7 6 127 29 200 54 127 54 + 200 3 50 51 81 128 75 154 75 155 76 + 200 3 50 81 54 128 75 155 76 155 79 200 3 50 54 55 128 75 155 79 128 80 - 200 4 55 54 53 52 107 185 136 189 136 203 107 203 - 200 4 58 55 52 57 126 209 133 209 133 222 126 222 - 200 4 59 58 57 56 117 209 125 209 125 222 117 222 - 200 4 50 49 48 51 107 185 107 203 135 203 135 189 - 200 4 50 61 60 49 89 209 97 209 97 222 89 222 - 200 4 61 63 62 60 98 209 106 209 106 222 98 222 - 200 4 59 63 61 50 194 75 185 68 186 57 198 56 - 200 4 55 58 59 50 204 61 204 74 194 75 198 56 - 200 4 79 75 72 78 107 209 116 209 116 222 107 222 + 200 3 55 54 53 107 185 136 189 136 203 + 200 3 55 53 52 107 185 136 203 107 203 + 200 3 58 55 52 126 209 133 209 133 222 + 200 3 58 52 57 126 209 133 222 126 222 + 200 3 59 58 57 117 209 125 209 125 222 + 200 3 59 57 56 117 209 125 222 117 222 + 200 3 50 49 48 107 185 107 203 135 203 + 200 3 50 48 51 107 185 135 203 135 189 + 200 3 50 61 60 89 209 97 209 97 222 + 200 3 50 60 49 89 209 97 222 89 222 + 200 3 61 63 62 98 209 106 209 106 222 + 200 3 61 62 60 98 209 106 222 98 222 + 200 3 59 63 61 194 75 185 68 186 57 + 200 3 59 61 50 194 75 186 57 198 56 + 200 3 55 58 59 204 61 204 74 194 75 + 200 3 55 59 50 204 61 194 75 198 56 + 200 3 79 75 72 107 209 116 209 116 222 + 200 3 79 72 78 107 209 116 222 107 222 200 3 78 80 79 106 222 105 222 106 209 - 200 4 18 19 28 31 107 209 116 209 116 222 107 222 - 200 4 34 35 44 47 107 209 116 209 116 222 107 222 - 200 4 3 2 1 0 158 170 90 171 90 100 158 100 - 200 4 9 10 14 13 176 82 157 82 159 98 173 98 - 200 4 8 9 13 12 176 82 157 82 159 98 173 98 - 200 4 10 11 15 14 176 82 157 82 159 98 173 98 - 200 4 11 10 9 8 158 55 181 55 181 80 158 80 - 200 4 11 8 12 15 176 82 157 82 159 98 173 98 - 200 4 63 59 56 62 107 209 116 209 116 222 107 222 + 200 3 18 19 28 107 209 116 209 116 222 + 200 3 18 28 31 107 209 116 222 107 222 + 200 3 34 35 44 107 209 116 209 116 222 + 200 3 34 44 47 107 209 116 222 107 222 + 200 3 3 2 1 158 170 90 171 90 100 + 200 3 3 1 0 158 170 90 100 158 100 + 200 3 9 10 14 176 82 157 82 159 98 + 200 3 9 14 13 176 82 159 98 173 98 + 200 3 8 9 13 176 82 157 82 159 98 + 200 3 8 13 12 176 82 159 98 173 98 + 200 3 10 11 15 176 82 157 82 159 98 + 200 3 10 15 14 176 82 159 98 173 98 + 200 3 11 10 9 158 55 181 55 181 80 + 200 3 11 9 8 158 55 181 80 158 80 + 200 3 11 8 12 176 82 157 82 159 98 + 200 3 11 12 15 176 82 159 98 173 98 + 200 3 63 59 56 107 209 116 209 116 222 + 200 3 63 56 62 107 209 116 222 107 222 \ No newline at end of file diff --git a/data/base/structs/blrotlab.pie b/data/base/structs/blrotlab.pie index c045b2048..8841aaf84 100644 --- a/data/base/structs/blrotlab.pie +++ b/data/base/structs/blrotlab.pie @@ -12,10 +12,16 @@ POINTS 8 30 110 -30 -30 110 -30 -30 110 30 -POLYGONS 6 - 200 4 3 2 1 0 78 139 78 139 78 139 78 139 - 200 4 5 4 2 3 233 52 204 52 194 102 243 102 - 200 4 7 6 0 1 204 52 233 52 243 102 194 102 - 200 4 7 4 5 6 78 139 52 139 52 113 78 113 - 200 4 6 5 3 0 233 52 204 52 194 102 243 102 - 200 4 4 7 1 2 204 52 233 52 243 102 194 102 +POLYGONS 12 + 200 3 3 2 1 78 139 78 139 78 139 + 200 3 3 1 0 78 139 78 139 78 139 + 200 3 5 4 2 233 52 204 52 194 102 + 200 3 5 2 3 233 52 194 102 243 102 + 200 3 7 6 0 204 52 233 52 243 102 + 200 3 7 0 1 204 52 243 102 194 102 + 200 3 7 4 5 78 139 52 139 52 113 + 200 3 7 5 6 78 139 52 113 78 113 + 200 3 6 5 3 233 52 204 52 194 102 + 200 3 6 3 0 233 52 194 102 243 102 + 200 3 4 7 1 204 52 233 52 243 102 + 200 3 4 1 2 204 52 243 102 194 102 \ No newline at end of file diff --git a/data/base/structs/blrpair1.pie b/data/base/structs/blrpair1.pie index 9a0f6c5d2..0bfdba4c5 100644 --- a/data/base/structs/blrpair1.pie +++ b/data/base/structs/blrpair1.pie @@ -49,34 +49,64 @@ POINTS 45 -78 0 -78 -117 0 78 -117 0 -78 -POLYGONS 30 - 200 4 0 1 2 3 25 211 44 211 44 191 25 191 - 200 4 3 2 1 0 25 191 44 191 44 211 25 211 - 200 4 0 1 5 4 79 185 79 205 46 205 46 185 - 200 4 1 2 6 5 79 205 79 185 46 185 46 205 - 200 4 2 3 7 6 79 185 79 205 46 205 46 185 - 200 4 3 0 4 7 79 185 79 205 46 205 46 185 - 200 4 8 9 10 11 44 211 25 211 25 191 44 191 - 200 4 11 10 9 8 44 191 25 191 25 211 44 211 - 200 4 8 9 13 12 79 205 79 185 46 185 46 205 - 200 4 11 8 12 14 79 185 79 205 46 205 46 185 - 200 4 10 11 14 15 79 205 79 185 46 185 46 205 - 200 4 9 10 15 13 79 205 79 185 46 185 46 205 - 200 4 16 17 18 19 25 211 44 211 44 191 25 191 - 200 4 19 18 17 16 25 191 44 191 44 211 25 211 - 200 4 16 17 21 20 79 185 79 205 46 205 46 185 - 200 4 17 18 22 21 79 205 79 185 46 185 46 205 - 200 4 18 19 23 22 79 185 79 205 46 205 46 185 - 200 4 19 16 20 23 79 185 79 205 46 205 46 185 - 200 4 24 25 26 27 44 211 25 211 25 191 44 191 - 200 4 27 26 25 24 44 191 25 191 25 211 44 211 - 200 4 24 25 29 28 79 205 79 185 46 185 46 205 - 200 4 27 24 28 30 79 185 79 205 46 205 46 185 - 200 4 26 27 30 31 79 205 79 185 46 185 46 205 - 200 4 25 26 31 29 79 205 79 185 46 185 46 205 - 200 4 35 34 33 32 54 64 61 64 61 182 54 182 - 200 4 33 34 37 36 16 182 16 64 61 64 61 182 - 200 4 35 32 21 12 61 64 61 182 16 182 16 64 - 200 4 41 40 39 38 54 64 61 64 61 182 54 182 - 200 4 39 40 5 42 61 182 61 64 16 64 16 182 - 200 4 41 38 44 43 61 64 61 182 16 182 16 64 +POLYGONS 60 + 200 3 0 1 2 25 211 44 211 44 191 + 200 3 0 2 3 25 211 44 191 25 191 + 200 3 3 2 1 25 191 44 191 44 211 + 200 3 3 1 0 25 191 44 211 25 211 + 200 3 0 1 5 79 185 79 205 46 205 + 200 3 0 5 4 79 185 46 205 46 185 + 200 3 1 2 6 79 205 79 185 46 185 + 200 3 1 6 5 79 205 46 185 46 205 + 200 3 2 3 7 79 185 79 205 46 205 + 200 3 2 7 6 79 185 46 205 46 185 + 200 3 3 0 4 79 185 79 205 46 205 + 200 3 3 4 7 79 185 46 205 46 185 + 200 3 8 9 10 44 211 25 211 25 191 + 200 3 8 10 11 44 211 25 191 44 191 + 200 3 11 10 9 44 191 25 191 25 211 + 200 3 11 9 8 44 191 25 211 44 211 + 200 3 8 9 13 79 205 79 185 46 185 + 200 3 8 13 12 79 205 46 185 46 205 + 200 3 11 8 12 79 185 79 205 46 205 + 200 3 11 12 14 79 185 46 205 46 185 + 200 3 10 11 14 79 205 79 185 46 185 + 200 3 10 14 15 79 205 46 185 46 205 + 200 3 9 10 15 79 205 79 185 46 185 + 200 3 9 15 13 79 205 46 185 46 205 + 200 3 16 17 18 25 211 44 211 44 191 + 200 3 16 18 19 25 211 44 191 25 191 + 200 3 19 18 17 25 191 44 191 44 211 + 200 3 19 17 16 25 191 44 211 25 211 + 200 3 16 17 21 79 185 79 205 46 205 + 200 3 16 21 20 79 185 46 205 46 185 + 200 3 17 18 22 79 205 79 185 46 185 + 200 3 17 22 21 79 205 46 185 46 205 + 200 3 18 19 23 79 185 79 205 46 205 + 200 3 18 23 22 79 185 46 205 46 185 + 200 3 19 16 20 79 185 79 205 46 205 + 200 3 19 20 23 79 185 46 205 46 185 + 200 3 24 25 26 44 211 25 211 25 191 + 200 3 24 26 27 44 211 25 191 44 191 + 200 3 27 26 25 44 191 25 191 25 211 + 200 3 27 25 24 44 191 25 211 44 211 + 200 3 24 25 29 79 205 79 185 46 185 + 200 3 24 29 28 79 205 46 185 46 205 + 200 3 27 24 28 79 185 79 205 46 205 + 200 3 27 28 30 79 185 46 205 46 185 + 200 3 26 27 30 79 205 79 185 46 185 + 200 3 26 30 31 79 205 46 185 46 205 + 200 3 25 26 31 79 205 79 185 46 185 + 200 3 25 31 29 79 205 46 185 46 205 + 200 3 35 34 33 54 64 61 64 61 182 + 200 3 35 33 32 54 64 61 182 54 182 + 200 3 33 34 37 16 182 16 64 61 64 + 200 3 33 37 36 16 182 61 64 61 182 + 200 3 35 32 21 61 64 61 182 16 182 + 200 3 35 21 12 61 64 16 182 16 64 + 200 3 41 40 39 54 64 61 64 61 182 + 200 3 41 39 38 54 64 61 182 54 182 + 200 3 39 40 5 61 182 61 64 16 64 + 200 3 39 5 42 61 182 16 64 16 182 + 200 3 41 38 44 61 64 61 182 16 182 + 200 3 41 44 43 61 64 16 182 16 64 \ No newline at end of file diff --git a/data/base/structs/blrpair2.pie b/data/base/structs/blrpair2.pie index b0d787e52..5bc96a87f 100644 --- a/data/base/structs/blrpair2.pie +++ b/data/base/structs/blrpair2.pie @@ -36,24 +36,38 @@ POINTS 32 -21 0 -78 52 0 -78 52 0 78 -POLYGONS 18 - 200 4 3 2 1 0 64 159 102 159 102 178 64 178 - 200 4 0 1 5 4 46 205 46 185 79 185 79 205 - 200 4 1 2 6 5 46 205 46 185 79 185 79 205 - 200 4 2 3 7 6 79 185 79 205 46 205 46 185 - 200 4 3 0 4 7 79 185 79 205 46 205 46 185 - 200 4 11 10 9 8 64 159 102 159 102 178 64 178 - 200 4 8 9 13 12 46 205 46 185 79 185 79 205 - 200 4 9 10 14 13 46 205 46 185 79 185 79 205 - 200 4 10 11 15 14 79 185 79 205 46 205 46 185 - 200 4 11 8 12 15 79 185 79 205 46 205 46 185 +POLYGONS 32 + 200 3 3 2 1 64 159 102 159 102 178 + 200 3 3 1 0 64 159 102 178 64 178 + 200 3 0 1 5 46 205 46 185 79 185 + 200 3 0 5 4 46 205 79 185 79 205 + 200 3 1 2 6 46 205 46 185 79 185 + 200 3 1 6 5 46 205 79 185 79 205 + 200 3 2 3 7 79 185 79 205 46 205 + 200 3 2 7 6 79 185 46 205 46 185 + 200 3 3 0 4 79 185 79 205 46 205 + 200 3 3 4 7 79 185 46 205 46 185 + 200 3 11 10 9 64 159 102 159 102 178 + 200 3 11 9 8 64 159 102 178 64 178 + 200 3 8 9 13 46 205 46 185 79 185 + 200 3 8 13 12 46 205 79 185 79 205 + 200 3 9 10 14 46 205 46 185 79 185 + 200 3 9 14 13 46 205 79 185 79 205 + 200 3 10 11 15 79 185 79 205 46 205 + 200 3 10 15 14 79 185 46 205 46 185 + 200 3 11 8 12 79 185 79 205 46 205 + 200 3 11 12 15 79 185 46 205 46 185 200 3 18 17 16 63 97 63 52 102 123 200 3 16 17 19 102 123 63 52 63 97 200 3 22 21 20 101 52 63 123 102 121 200 3 25 24 23 101 52 102 121 63 123 - 200 4 27 25 22 26 134 52 102 52 102 123 134 123 - 200 4 22 25 23 21 102 123 102 52 66 52 66 123 - 200 4 27 26 29 28 0 68 0 178 39 182 39 64 - 200 4 22 25 31 30 0 68 0 178 39 182 39 64 + 200 3 27 25 22 134 52 102 52 102 123 + 200 3 27 22 26 134 52 102 123 134 123 + 200 3 22 25 23 102 123 102 52 66 52 + 200 3 22 23 21 102 123 66 52 66 123 + 200 3 27 26 29 0 68 0 178 39 182 + 200 3 27 29 28 0 68 39 182 39 64 + 200 3 22 25 31 0 68 0 178 39 182 + 200 3 22 31 30 0 68 39 182 39 64 CONNECTORS 1 129 0 77 diff --git a/data/base/structs/blrpair3.pie b/data/base/structs/blrpair3.pie index f2af1c83c..91200d098 100644 --- a/data/base/structs/blrpair3.pie +++ b/data/base/structs/blrpair3.pie @@ -12,11 +12,16 @@ POINTS 8 -15 88 15 15 88 15 39 0 39 -POLYGONS 5 - 200 4 3 2 1 0 62 95 62 113 26 127 26 80 - 200 4 5 3 0 4 62 95 62 113 26 127 26 80 - 200 4 5 6 2 3 0 97 17 97 17 113 0 113 - 200 4 2 6 7 1 62 113 62 95 26 80 26 127 - 200 4 6 5 4 7 62 113 62 95 26 80 26 127 +POLYGONS 10 + 200 3 3 2 1 62 95 62 113 26 127 + 200 3 3 1 0 62 95 26 127 26 80 + 200 3 5 3 0 62 95 62 113 26 127 + 200 3 5 0 4 62 95 26 127 26 80 + 200 3 5 6 2 0 97 17 97 17 113 + 200 3 5 2 3 0 97 17 113 0 113 + 200 3 2 6 7 62 113 62 95 26 80 + 200 3 2 7 1 62 113 26 80 26 127 + 200 3 6 5 4 62 113 62 95 26 80 + 200 3 6 4 7 62 113 26 80 26 127 CONNECTORS 1 0 0 90 diff --git a/data/base/structs/blvfact0.pie b/data/base/structs/blvfact0.pie index a951f97dc..505863f89 100644 --- a/data/base/structs/blvfact0.pie +++ b/data/base/structs/blvfact0.pie @@ -43,41 +43,66 @@ POINTS 39 -73 74 -178 -73 1 -178 -4 1 -178 -POLYGONS 35 - 200 4 38 37 36 35 254 232 220 233 220 186 254 186 - 200 4 35 36 29 31 221 157 248 157 248 185 221 185 - 200 4 31 30 18 19 76 254 87 255 87 239 76 239 - 200 4 30 32 23 18 88 254 105 255 105 239 88 239 - 200 4 28 29 20 17 87 254 76 255 76 239 87 239 - 200 4 32 27 22 23 106 254 129 255 129 239 106 239 - 200 4 26 28 17 21 105 254 88 255 88 239 105 239 - 200 4 30 31 29 28 120 8 122 17 87 17 89 8 - 200 4 27 30 28 26 104 0 120 7 90 7 96 1 +POLYGONS 60 + 200 3 38 37 36 254 232 220 233 220 186 + 200 3 38 36 35 254 232 220 186 254 186 + 200 3 35 36 29 221 157 248 157 248 185 + 200 3 35 29 31 221 157 248 185 221 185 + 200 3 31 30 18 76 254 87 255 87 239 + 200 3 31 18 19 76 254 87 239 76 239 + 200 3 30 32 23 88 254 105 255 105 239 + 200 3 30 23 18 88 254 105 239 88 239 + 200 3 28 29 20 87 254 76 255 76 239 + 200 3 28 20 17 87 254 76 239 87 239 + 200 3 32 27 22 106 254 129 255 129 239 + 200 3 32 22 23 106 254 129 239 106 239 + 200 3 26 28 17 105 254 88 255 88 239 + 200 3 26 17 21 105 254 88 239 105 239 + 200 3 30 31 29 120 8 122 17 87 17 + 200 3 30 29 28 120 8 87 17 89 8 + 200 3 27 30 28 104 0 120 7 90 7 + 200 3 27 28 26 104 0 90 7 96 1 200 3 32 30 27 113 0 120 7 105 0 - 200 4 27 26 21 22 129 254 106 255 106 239 129 239 - 200 4 25 24 19 20 144 237 180 238 180 205 144 205 + 200 3 27 26 21 129 254 106 255 106 239 + 200 3 27 21 22 129 254 106 239 129 239 + 200 3 25 24 19 144 237 180 238 180 205 + 200 3 25 19 20 144 237 180 205 144 205 200 3 18 23 22 177 195 171 190 162 189 - 200 4 17 18 22 21 147 195 177 196 162 189 153 189 - 200 4 20 19 18 17 144 204 180 205 178 196 147 196 - 200 4 33 25 20 29 141 234 95 235 95 188 141 188 - 200 4 36 37 33 29 221 157 248 157 248 185 221 185 + 200 3 17 18 22 147 195 177 196 162 189 + 200 3 17 22 21 147 195 162 189 153 189 + 200 3 20 19 18 144 204 180 205 178 196 + 200 3 20 18 17 144 204 178 196 147 196 + 200 3 33 25 20 141 234 95 235 95 188 + 200 3 33 20 29 141 234 95 188 141 188 + 200 3 36 37 33 221 157 248 157 248 185 + 200 3 36 33 29 221 157 248 185 221 185 200 3 2 3 16 246 102 253 86 232 86 200 3 5 2 16 232 108 246 103 232 86 - 200 4 15 3 0 14 160 189 182 189 182 236 160 236 + 200 3 15 3 0 160 189 182 189 182 236 + 200 3 15 0 14 160 189 182 236 160 236 200 3 7 5 16 216 102 231 108 231 86 - 200 4 13 15 14 12 137 189 159 189 159 236 137 236 + 200 3 13 15 14 137 189 159 189 159 236 + 200 3 13 14 12 137 189 159 236 137 236 200 3 9 7 16 210 86 215 102 231 86 - 200 4 11 13 12 10 114 189 136 189 136 236 114 236 + 200 3 11 13 12 114 189 136 189 136 236 + 200 3 11 12 10 114 189 136 236 114 236 200 3 11 9 16 216 70 210 85 231 85 - 200 4 9 11 10 8 91 189 113 189 113 236 91 236 + 200 3 9 11 10 91 189 113 189 113 236 + 200 3 9 10 8 91 189 113 236 91 236 200 3 13 11 16 231 63 216 69 231 85 - 200 4 7 9 8 6 69 189 90 189 90 236 69 236 + 200 3 7 9 8 69 189 90 189 90 236 + 200 3 7 8 6 69 189 90 236 69 236 200 3 15 13 16 246 70 232 63 232 85 - 200 4 5 7 6 4 46 189 68 189 68 236 46 236 + 200 3 5 7 6 46 189 68 189 68 236 + 200 3 5 6 4 46 189 68 236 46 236 200 3 3 15 16 253 85 247 70 232 85 - 200 4 2 5 4 1 23 189 45 189 45 236 23 236 - 200 4 3 2 1 0 0 189 22 189 22 236 0 236 - 200 4 24 34 31 19 95 234 141 235 141 188 95 188 - 200 4 38 35 31 34 248 157 221 157 221 185 248 185 + 200 3 2 5 4 23 189 45 189 45 236 + 200 3 2 4 1 23 189 45 236 23 236 + 200 3 3 2 1 0 189 22 189 22 236 + 200 3 3 1 0 0 189 22 236 0 236 + 200 3 24 34 31 95 234 141 235 141 188 + 200 3 24 31 19 95 234 141 188 95 188 + 200 3 38 35 31 248 157 221 157 221 185 + 200 3 38 31 34 248 157 221 185 248 185 CONNECTORS 1 -140 -3 93 diff --git a/data/base/structs/blvfact1.pie b/data/base/structs/blvfact1.pie index 1bd6b72f7..02525c49f 100644 --- a/data/base/structs/blvfact1.pie +++ b/data/base/structs/blvfact1.pie @@ -74,70 +74,115 @@ POINTS 70 -74 0 135 -74 78 135 -116 93 136 -POLYGONS 65 +POLYGONS 110 200 3 5 2 16 232 108 246 103 232 86 200 3 7 5 16 216 102 231 108 231 86 200 3 2 3 16 246 102 253 86 232 86 200 3 9 7 16 210 86 215 102 231 86 - 200 4 15 3 0 14 160 189 182 189 182 236 160 236 + 200 3 15 3 0 160 189 182 189 182 236 + 200 3 15 0 14 160 189 182 236 160 236 200 3 11 9 16 216 70 210 85 231 85 - 200 4 13 15 14 12 137 189 159 189 159 236 137 236 + 200 3 13 15 14 137 189 159 189 159 236 + 200 3 13 14 12 137 189 159 236 137 236 200 3 13 11 16 231 63 216 69 231 85 - 200 4 9 11 10 8 91 189 113 189 113 236 91 236 + 200 3 9 11 10 91 189 113 189 113 236 + 200 3 9 10 8 91 189 113 236 91 236 200 3 15 13 16 246 70 232 63 232 85 - 200 4 7 9 8 6 69 189 90 189 90 236 69 236 + 200 3 7 9 8 69 189 90 189 90 236 + 200 3 7 8 6 69 189 90 236 69 236 200 3 3 15 16 253 85 247 70 232 85 - 200 4 11 13 12 10 114 189 136 189 136 236 114 236 - 200 4 35 34 33 29 221 157 248 157 248 185 221 185 - 200 4 33 25 20 29 141 234 95 235 95 188 141 188 - 200 4 36 35 29 31 221 157 248 157 248 185 221 185 - 200 4 51 36 31 46 221 157 248 157 248 185 221 185 - 200 4 30 32 23 18 88 254 105 255 105 239 88 239 - 200 4 32 27 22 23 106 254 129 255 129 239 106 239 - 200 4 31 30 18 19 76 254 87 255 87 239 76 239 - 200 4 39 42 41 38 105 254 88 255 88 239 105 239 - 200 4 42 31 19 41 87 254 76 255 76 239 87 239 - 200 4 40 39 38 37 129 254 106 255 106 239 129 239 - 200 4 46 45 44 43 76 254 87 255 87 239 76 239 - 200 4 45 48 47 44 88 254 105 255 105 239 88 239 - 200 4 28 29 20 17 87 254 76 255 76 239 87 239 - 200 4 48 40 37 47 106 254 129 255 129 239 106 239 - 200 4 26 28 17 21 105 254 88 255 88 239 105 239 - 200 4 30 31 29 28 120 8 122 17 87 17 89 8 - 200 4 27 30 28 26 104 0 120 7 90 7 96 1 + 200 3 11 13 12 114 189 136 189 136 236 + 200 3 11 12 10 114 189 136 236 114 236 + 200 3 35 34 33 221 157 248 157 248 185 + 200 3 35 33 29 221 157 248 185 221 185 + 200 3 33 25 20 141 234 95 235 95 188 + 200 3 33 20 29 141 234 95 188 141 188 + 200 3 36 35 29 221 157 248 157 248 185 + 200 3 36 29 31 221 157 248 185 221 185 + 200 3 51 36 31 221 157 248 157 248 185 + 200 3 51 31 46 221 157 248 185 221 185 + 200 3 30 32 23 88 254 105 255 105 239 + 200 3 30 23 18 88 254 105 239 88 239 + 200 3 32 27 22 106 254 129 255 129 239 + 200 3 32 22 23 106 254 129 239 106 239 + 200 3 31 30 18 76 254 87 255 87 239 + 200 3 31 18 19 76 254 87 239 76 239 + 200 3 39 42 41 105 254 88 255 88 239 + 200 3 39 41 38 105 254 88 239 105 239 + 200 3 42 31 19 87 254 76 255 76 239 + 200 3 42 19 41 87 254 76 239 87 239 + 200 3 40 39 38 129 254 106 255 106 239 + 200 3 40 38 37 129 254 106 239 129 239 + 200 3 46 45 44 76 254 87 255 87 239 + 200 3 46 44 43 76 254 87 239 76 239 + 200 3 45 48 47 88 254 105 255 105 239 + 200 3 45 47 44 88 254 105 239 88 239 + 200 3 28 29 20 87 254 76 255 76 239 + 200 3 28 20 17 87 254 76 239 87 239 + 200 3 48 40 37 106 254 129 255 129 239 + 200 3 48 37 47 106 254 129 239 106 239 + 200 3 26 28 17 105 254 88 255 88 239 + 200 3 26 17 21 105 254 88 239 105 239 + 200 3 30 31 29 120 8 122 17 87 17 + 200 3 30 29 28 120 8 87 17 89 8 + 200 3 27 30 28 104 0 120 7 90 7 + 200 3 27 28 26 104 0 90 7 96 1 200 3 32 30 27 113 0 120 7 105 0 - 200 4 45 46 31 42 118 31 120 41 87 41 89 31 - 200 4 40 45 42 39 103 23 118 30 90 30 95 25 + 200 3 45 46 31 118 31 120 41 87 41 + 200 3 45 31 42 118 31 87 41 89 31 + 200 3 40 45 42 103 23 118 30 90 30 + 200 3 40 42 39 103 23 90 30 95 25 200 3 48 45 40 111 24 118 30 104 23 - 200 4 27 26 21 22 129 254 106 255 106 239 129 239 - 200 4 20 19 18 17 144 204 180 205 178 196 147 196 - 200 4 17 18 22 21 147 195 177 196 162 189 153 189 + 200 3 27 26 21 129 254 106 255 106 239 + 200 3 27 21 22 129 254 106 239 129 239 + 200 3 20 19 18 144 204 180 205 178 196 + 200 3 20 18 17 144 204 178 196 147 196 + 200 3 17 18 22 147 195 177 196 162 189 + 200 3 17 22 21 147 195 162 189 153 189 200 3 18 23 22 177 195 171 190 162 189 - 200 4 25 24 19 20 144 237 180 238 180 205 144 205 - 200 4 19 43 44 41 144 204 180 205 178 196 147 196 - 200 4 41 44 37 38 147 195 177 196 162 189 153 189 + 200 3 25 24 19 144 237 180 238 180 205 + 200 3 25 19 20 144 237 180 205 144 205 + 200 3 19 43 44 144 204 180 205 178 196 + 200 3 19 44 41 144 204 178 196 147 196 + 200 3 41 44 37 147 195 177 196 162 189 + 200 3 41 37 38 147 195 162 189 153 189 200 3 44 47 37 177 195 171 190 162 189 - 200 4 24 50 43 19 144 237 180 238 180 205 144 205 - 200 4 5 7 6 4 46 189 68 189 68 236 46 236 - 200 4 50 49 46 43 95 234 141 235 141 188 95 188 - 200 4 52 51 46 49 248 157 221 157 221 185 248 185 - 200 4 2 5 4 1 23 189 45 189 45 236 23 236 - 200 4 52 34 35 51 254 153 186 154 186 111 254 111 - 200 4 3 2 1 0 0 189 22 189 22 236 0 236 - 200 4 68 56 53 67 160 137 182 137 182 186 160 186 - 200 4 66 68 67 65 137 137 159 137 159 186 137 186 + 200 3 24 50 43 144 237 180 238 180 205 + 200 3 24 43 19 144 237 180 205 144 205 + 200 3 5 7 6 46 189 68 189 68 236 + 200 3 5 6 4 46 189 68 236 46 236 + 200 3 50 49 46 95 234 141 235 141 188 + 200 3 50 46 43 95 234 141 188 95 188 + 200 3 52 51 46 248 157 221 157 221 185 + 200 3 52 46 49 248 157 221 185 248 185 + 200 3 2 5 4 23 189 45 189 45 236 + 200 3 2 4 1 23 189 45 236 23 236 + 200 3 52 34 35 254 153 186 154 186 111 + 200 3 52 35 51 254 153 186 111 254 111 + 200 3 3 2 1 0 189 22 189 22 236 + 200 3 3 1 0 0 189 22 236 0 236 + 200 3 68 56 53 160 137 182 137 182 186 + 200 3 68 53 67 160 137 182 186 160 186 + 200 3 66 68 67 137 137 159 137 159 186 + 200 3 66 67 65 137 137 159 186 137 186 200 3 55 56 69 254 85 248 70 233 84 - 200 4 64 66 65 63 114 137 136 137 136 186 114 186 + 200 3 64 66 65 114 137 136 137 136 186 + 200 3 64 65 63 114 137 136 186 114 186 200 3 58 55 69 247 102 254 86 233 85 - 200 4 62 64 63 61 91 137 113 137 113 186 91 186 + 200 3 62 64 63 91 137 113 137 113 186 + 200 3 62 63 61 91 137 113 186 91 186 200 3 62 60 69 216 102 231 108 232 85 - 200 4 60 62 61 59 69 137 90 137 90 186 69 186 + 200 3 60 62 61 69 137 90 137 90 186 + 200 3 60 61 59 69 137 90 186 69 186 200 3 64 62 69 210 85 215 102 232 85 - 200 4 58 60 59 57 46 137 68 137 68 186 46 186 + 200 3 58 60 59 46 137 68 137 68 186 + 200 3 58 59 57 46 137 68 186 46 186 200 3 66 64 69 216 70 210 85 232 85 - 200 4 55 58 57 54 23 137 45 137 45 186 23 186 + 200 3 55 58 57 23 137 45 137 45 186 + 200 3 55 57 54 23 137 45 186 23 186 200 3 68 66 69 232 63 216 69 232 84 - 200 4 56 55 54 53 0 137 22 137 22 186 0 186 + 200 3 56 55 54 0 137 22 137 22 186 + 200 3 56 54 53 0 137 22 186 0 186 200 3 56 68 69 247 70 232 63 232 84 200 3 60 58 69 232 108 247 103 233 85 CONNECTORS 1 diff --git a/data/base/structs/blvfact2.pie b/data/base/structs/blvfact2.pie index 4de45515e..a097c4cc2 100644 --- a/data/base/structs/blvfact2.pie +++ b/data/base/structs/blvfact2.pie @@ -105,101 +105,166 @@ POINTS 101 102 0 153 95 0 120 113 0 93 -POLYGONS 95 +POLYGONS 160 200 3 85 92 84 210 82 213 99 231 86 - 200 4 85 86 94 93 0 84 22 84 22 133 0 133 + 200 3 85 86 94 0 84 22 84 22 133 + 200 3 85 94 93 0 84 22 133 0 133 200 3 92 91 84 214 99 228 108 231 86 - 200 4 86 87 95 94 23 84 45 84 45 133 23 133 + 200 3 86 87 95 23 84 45 84 45 133 + 200 3 86 95 94 23 84 45 133 23 133 200 3 91 90 84 229 108 245 105 232 86 - 200 4 87 88 96 95 46 84 68 84 68 133 46 133 + 200 3 87 88 96 46 84 68 84 68 133 + 200 3 87 96 95 46 84 68 133 46 133 200 3 90 89 84 245 104 254 90 232 86 - 200 4 88 89 97 96 69 84 90 84 90 133 69 133 + 200 3 88 89 97 69 84 90 84 90 133 + 200 3 88 97 96 69 84 90 133 69 133 200 3 89 88 84 254 89 252 73 232 85 - 200 4 89 90 98 97 91 84 113 84 113 133 91 133 + 200 3 89 90 98 91 84 113 84 113 133 + 200 3 89 98 97 91 84 113 133 91 133 200 3 88 87 84 251 73 237 64 232 85 - 200 4 90 91 99 98 114 84 136 84 136 133 114 133 + 200 3 90 91 99 114 84 136 84 136 133 + 200 3 90 99 98 114 84 136 133 114 133 200 3 87 86 84 236 64 220 66 231 85 - 200 4 92 85 93 100 160 84 182 84 182 133 160 133 + 200 3 92 85 93 160 84 182 84 182 133 + 200 3 92 93 100 160 84 182 133 160 133 200 3 86 85 84 220 67 210 81 231 85 - 200 4 91 92 100 99 137 84 159 84 159 133 137 133 + 200 3 91 92 100 137 84 159 84 159 133 + 200 3 91 100 99 137 84 159 133 137 133 200 3 5 2 16 232 108 246 103 232 86 200 3 7 5 16 216 102 231 108 231 86 200 3 2 3 16 246 102 253 86 232 86 200 3 9 7 16 210 86 215 102 231 86 - 200 4 15 3 0 14 160 189 182 189 182 236 160 236 + 200 3 15 3 0 160 189 182 189 182 236 + 200 3 15 0 14 160 189 182 236 160 236 200 3 11 9 16 216 70 210 85 231 85 - 200 4 13 15 14 12 137 189 159 189 159 236 137 236 + 200 3 13 15 14 137 189 159 189 159 236 + 200 3 13 14 12 137 189 159 236 137 236 200 3 13 11 16 231 63 216 69 231 85 - 200 4 9 11 10 8 91 189 113 189 113 236 91 236 + 200 3 9 11 10 91 189 113 189 113 236 + 200 3 9 10 8 91 189 113 236 91 236 200 3 15 13 16 246 70 232 63 232 85 - 200 4 7 9 8 6 69 189 90 189 90 236 69 236 + 200 3 7 9 8 69 189 90 189 90 236 + 200 3 7 8 6 69 189 90 236 69 236 200 3 3 15 16 253 85 247 70 232 85 - 200 4 11 13 12 10 114 189 136 189 136 236 114 236 - 200 4 35 34 33 29 221 157 248 157 248 185 221 185 - 200 4 33 25 20 29 141 234 95 235 95 188 141 188 - 200 4 36 35 29 31 221 157 248 157 248 185 221 185 - 200 4 50 36 31 46 221 157 248 157 248 185 221 185 - 200 4 65 50 46 60 221 157 248 157 248 185 221 185 - 200 4 30 32 23 18 88 254 105 255 105 239 88 239 - 200 4 32 27 22 23 106 254 129 255 129 239 106 239 - 200 4 31 30 18 19 76 254 87 255 87 239 76 239 - 200 4 53 56 55 52 105 254 88 255 88 239 105 239 - 200 4 54 53 52 51 129 254 106 255 106 239 129 239 - 200 4 56 46 43 55 87 254 76 255 76 239 87 239 - 200 4 46 45 44 43 76 254 87 255 87 239 76 239 - 200 4 45 48 47 44 88 254 105 255 105 239 88 239 - 200 4 42 31 19 41 87 254 76 255 76 239 87 239 - 200 4 48 40 37 47 106 254 129 255 129 239 106 239 - 200 4 39 42 41 38 105 254 88 255 88 239 105 239 - 200 4 40 39 38 37 129 254 106 255 106 239 129 239 - 200 4 60 59 58 57 76 254 87 255 87 239 76 239 - 200 4 59 62 61 58 88 254 105 255 105 239 88 239 - 200 4 28 29 20 17 87 254 76 255 76 239 87 239 - 200 4 62 54 51 61 106 254 129 255 129 239 106 239 - 200 4 26 28 17 21 105 254 88 255 88 239 105 239 - 200 4 30 31 29 28 120 8 122 17 87 17 89 8 - 200 4 27 30 28 26 104 0 120 7 90 7 96 1 + 200 3 11 13 12 114 189 136 189 136 236 + 200 3 11 12 10 114 189 136 236 114 236 + 200 3 35 34 33 221 157 248 157 248 185 + 200 3 35 33 29 221 157 248 185 221 185 + 200 3 33 25 20 141 234 95 235 95 188 + 200 3 33 20 29 141 234 95 188 141 188 + 200 3 36 35 29 221 157 248 157 248 185 + 200 3 36 29 31 221 157 248 185 221 185 + 200 3 50 36 31 221 157 248 157 248 185 + 200 3 50 31 46 221 157 248 185 221 185 + 200 3 65 50 46 221 157 248 157 248 185 + 200 3 65 46 60 221 157 248 185 221 185 + 200 3 30 32 23 88 254 105 255 105 239 + 200 3 30 23 18 88 254 105 239 88 239 + 200 3 32 27 22 106 254 129 255 129 239 + 200 3 32 22 23 106 254 129 239 106 239 + 200 3 31 30 18 76 254 87 255 87 239 + 200 3 31 18 19 76 254 87 239 76 239 + 200 3 53 56 55 105 254 88 255 88 239 + 200 3 53 55 52 105 254 88 239 105 239 + 200 3 54 53 52 129 254 106 255 106 239 + 200 3 54 52 51 129 254 106 239 129 239 + 200 3 56 46 43 87 254 76 255 76 239 + 200 3 56 43 55 87 254 76 239 87 239 + 200 3 46 45 44 76 254 87 255 87 239 + 200 3 46 44 43 76 254 87 239 76 239 + 200 3 45 48 47 88 254 105 255 105 239 + 200 3 45 47 44 88 254 105 239 88 239 + 200 3 42 31 19 87 254 76 255 76 239 + 200 3 42 19 41 87 254 76 239 87 239 + 200 3 48 40 37 106 254 129 255 129 239 + 200 3 48 37 47 106 254 129 239 106 239 + 200 3 39 42 41 105 254 88 255 88 239 + 200 3 39 41 38 105 254 88 239 105 239 + 200 3 40 39 38 129 254 106 255 106 239 + 200 3 40 38 37 129 254 106 239 129 239 + 200 3 60 59 58 76 254 87 255 87 239 + 200 3 60 58 57 76 254 87 239 76 239 + 200 3 59 62 61 88 254 105 255 105 239 + 200 3 59 61 58 88 254 105 239 88 239 + 200 3 28 29 20 87 254 76 255 76 239 + 200 3 28 20 17 87 254 76 239 87 239 + 200 3 62 54 51 106 254 129 255 129 239 + 200 3 62 51 61 106 254 129 239 106 239 + 200 3 26 28 17 105 254 88 255 88 239 + 200 3 26 17 21 105 254 88 239 105 239 + 200 3 30 31 29 120 8 122 17 87 17 + 200 3 30 29 28 120 8 87 17 89 8 + 200 3 27 30 28 104 0 120 7 90 7 + 200 3 27 28 26 104 0 90 7 96 1 200 3 32 30 27 113 0 120 7 105 0 - 200 4 45 46 31 42 118 31 120 41 87 41 89 31 - 200 4 40 45 42 39 103 23 118 30 90 30 95 24 + 200 3 45 46 31 118 31 120 41 87 41 + 200 3 45 31 42 118 31 87 41 89 31 + 200 3 40 45 42 103 23 118 30 90 30 + 200 3 40 42 39 103 23 90 30 95 24 200 3 48 45 40 111 23 118 30 104 23 - 200 4 59 60 46 56 118 55 120 65 87 65 89 55 - 200 4 54 59 56 53 103 46 118 54 90 54 95 47 + 200 3 59 60 46 118 55 120 65 87 65 + 200 3 59 46 56 118 55 87 65 89 55 + 200 3 54 59 56 103 46 118 54 90 54 + 200 3 54 56 53 103 46 90 54 95 47 200 3 62 59 54 111 46 118 54 104 46 - 200 4 27 26 21 22 129 254 106 255 106 239 129 239 - 200 4 20 19 18 17 144 204 180 205 178 196 147 196 - 200 4 17 18 22 21 147 195 177 196 162 189 153 189 + 200 3 27 26 21 129 254 106 255 106 239 + 200 3 27 21 22 129 254 106 239 129 239 + 200 3 20 19 18 144 204 180 205 178 196 + 200 3 20 18 17 144 204 178 196 147 196 + 200 3 17 18 22 147 195 177 196 162 189 + 200 3 17 22 21 147 195 162 189 153 189 200 3 18 23 22 177 195 171 190 162 189 - 200 4 25 24 19 20 144 237 180 238 180 205 144 205 - 200 4 19 43 44 41 144 204 180 205 178 196 147 196 - 200 4 41 44 37 38 147 195 177 196 162 189 153 189 + 200 3 25 24 19 144 237 180 238 180 205 + 200 3 25 19 20 144 237 180 205 144 205 + 200 3 19 43 44 144 204 180 205 178 196 + 200 3 19 44 41 144 204 178 196 147 196 + 200 3 41 44 37 147 195 177 196 162 189 + 200 3 41 37 38 147 195 162 189 153 189 200 3 44 47 37 177 195 171 190 162 189 - 200 4 24 49 43 19 144 237 180 238 180 205 144 205 - 200 4 43 57 58 55 144 204 180 205 178 196 147 196 - 200 4 55 58 51 52 147 195 177 196 162 189 153 189 + 200 3 24 49 43 144 237 180 238 180 205 + 200 3 24 43 19 144 237 180 205 144 205 + 200 3 43 57 58 144 204 180 205 178 196 + 200 3 43 58 55 144 204 178 196 147 196 + 200 3 55 58 51 147 195 177 196 162 189 + 200 3 55 51 52 147 195 162 189 153 189 200 3 58 61 51 177 195 171 190 162 189 - 200 4 49 64 57 43 144 237 180 238 180 205 144 205 - 200 4 5 7 6 4 46 189 68 189 68 236 46 236 - 200 4 64 63 60 57 95 234 141 235 141 188 95 188 - 200 4 66 65 60 63 248 157 221 157 221 185 248 185 - 200 4 2 5 4 1 23 189 45 189 45 236 23 236 - 200 4 66 34 35 65 231 42 123 43 123 0 231 0 - 200 4 3 2 1 0 0 189 22 189 22 236 0 236 - 200 4 82 70 67 81 160 137 182 137 182 186 160 186 + 200 3 49 64 57 144 237 180 238 180 205 + 200 3 49 57 43 144 237 180 205 144 205 + 200 3 5 7 6 46 189 68 189 68 236 + 200 3 5 6 4 46 189 68 236 46 236 + 200 3 64 63 60 95 234 141 235 141 188 + 200 3 64 60 57 95 234 141 188 95 188 + 200 3 66 65 60 248 157 221 157 221 185 + 200 3 66 60 63 248 157 221 185 248 185 + 200 3 2 5 4 23 189 45 189 45 236 + 200 3 2 4 1 23 189 45 236 23 236 + 200 3 66 34 35 231 42 123 43 123 0 + 200 3 66 35 65 231 42 123 0 231 0 + 200 3 3 2 1 0 189 22 189 22 236 + 200 3 3 1 0 0 189 22 236 0 236 + 200 3 82 70 67 160 137 182 137 182 186 + 200 3 82 67 81 160 137 182 186 160 186 200 3 69 70 83 254 85 248 70 233 84 - 200 4 80 82 81 79 137 137 159 137 159 186 137 186 + 200 3 80 82 81 137 137 159 137 159 186 + 200 3 80 81 79 137 137 159 186 137 186 200 3 72 69 83 247 102 254 86 233 85 - 200 4 78 80 79 77 114 137 136 137 136 186 114 186 + 200 3 78 80 79 114 137 136 137 136 186 + 200 3 78 79 77 114 137 136 186 114 186 200 3 74 72 83 232 108 247 103 233 85 - 200 4 76 78 77 75 91 137 113 137 113 186 91 186 + 200 3 76 78 77 91 137 113 137 113 186 + 200 3 76 77 75 91 137 113 186 91 186 200 3 76 74 83 216 102 231 108 232 85 - 200 4 74 76 75 73 69 137 90 137 90 186 69 186 + 200 3 74 76 75 69 137 90 137 90 186 + 200 3 74 75 73 69 137 90 186 69 186 200 3 78 76 83 210 85 215 102 232 85 - 200 4 72 74 73 71 46 137 68 137 68 186 46 186 + 200 3 72 74 73 46 137 68 137 68 186 + 200 3 72 73 71 46 137 68 186 46 186 200 3 80 78 83 216 70 210 85 232 85 - 200 4 69 72 71 68 23 137 45 137 45 186 23 186 + 200 3 69 72 71 23 137 45 137 45 186 + 200 3 69 71 68 23 137 45 186 23 186 200 3 82 80 83 232 63 216 69 232 84 - 200 4 70 69 68 67 0 137 22 137 22 186 0 186 + 200 3 70 69 68 0 137 22 137 22 186 + 200 3 70 68 67 0 137 22 186 0 186 200 3 70 82 83 247 70 232 63 232 84 CONNECTORS 1 -140 -3 93 diff --git a/data/base/structs/blvtolpd.pie b/data/base/structs/blvtolpd.pie index 517b12190..efaa53806 100644 --- a/data/base/structs/blvtolpd.pie +++ b/data/base/structs/blvtolpd.pie @@ -13,10 +13,14 @@ POINTS 9 45 2 45 0 2 45 -44 2 45 -POLYGONS 4 - 200 4 3 2 1 0 244 210 244 240 214 240 214 210 - 200 4 3 5 4 2 244 210 214 210 214 240 244 240 - 200 4 3 7 6 5 244 210 244 240 214 240 214 210 - 200 4 3 0 8 7 244 210 214 210 214 240 244 240 +POLYGONS 8 + 200 3 3 2 1 244 210 244 240 214 240 + 200 3 3 1 0 244 210 214 240 214 210 + 200 3 3 5 4 244 210 214 210 214 240 + 200 3 3 4 2 244 210 214 240 244 240 + 200 3 3 7 6 244 210 244 240 214 240 + 200 3 3 6 5 244 210 214 240 214 210 + 200 3 3 0 8 244 210 214 210 214 240 + 200 3 3 8 7 244 210 214 240 244 240 CONNECTORS 1 0 0 2 diff --git a/data/base/structs/blwall2.pie b/data/base/structs/blwall2.pie index b6a5b9341..daa538401 100644 --- a/data/base/structs/blwall2.pie +++ b/data/base/structs/blwall2.pie @@ -16,12 +16,20 @@ POINTS 12 -65 0 25 -65 78 13 0 78 13 -POLYGONS 8 - 200 4 3 2 1 0 131 171 150 171 150 207 131 207 - 200 4 7 6 5 4 140 171 160 171 170 207 130 207 - 200 4 11 10 9 8 150 171 169 171 169 207 150 207 - 200 4 10 3 0 9 140 171 160 171 170 207 130 207 - 200 4 7 4 1 2 169 171 169 207 150 207 150 171 - 200 4 5 6 11 8 131 207 131 171 150 171 150 207 - 200 4 10 11 2 3 1 225 28 225 28 238 1 238 - 200 4 6 7 2 11 55 225 55 238 28 238 28 225 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 131 171 150 171 150 207 + 200 3 3 1 0 131 171 150 207 131 207 + 200 3 7 6 5 140 171 160 171 170 207 + 200 3 7 5 4 140 171 170 207 130 207 + 200 3 11 10 9 150 171 169 171 169 207 + 200 3 11 9 8 150 171 169 207 150 207 + 200 3 10 3 0 140 171 160 171 170 207 + 200 3 10 0 9 140 171 170 207 130 207 + 200 3 7 4 1 169 171 169 207 150 207 + 200 3 7 1 2 169 171 150 207 150 171 + 200 3 5 6 11 131 207 131 171 150 171 + 200 3 5 11 8 131 207 150 171 150 207 + 200 3 10 11 2 1 225 28 225 28 238 + 200 3 10 2 3 1 225 28 238 1 238 + 200 3 6 7 2 55 225 55 238 28 238 + 200 3 6 2 11 55 225 28 238 28 225 \ No newline at end of file diff --git a/data/base/structs/blwall3.pie b/data/base/structs/blwall3.pie index e2aafb0e1..fe90550a8 100644 --- a/data/base/structs/blwall3.pie +++ b/data/base/structs/blwall3.pie @@ -16,12 +16,20 @@ POINTS 12 -65 0 25 -65 78 13 0 78 13 -POLYGONS 8 - 200 4 3 2 1 0 171 172 190 172 190 205 171 205 - 200 4 7 6 5 4 181 172 199 172 208 205 172 205 - 200 4 11 10 9 8 190 172 209 172 209 205 190 205 - 200 4 10 3 0 9 181 172 199 172 208 205 172 205 - 200 4 7 4 1 2 209 172 209 205 190 205 190 172 - 200 4 5 6 11 8 171 205 171 172 190 172 190 205 - 200 4 10 11 2 3 1 225 28 225 28 238 1 238 - 200 4 6 7 2 11 55 225 55 238 28 238 28 225 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 171 172 190 172 190 205 + 200 3 3 1 0 171 172 190 205 171 205 + 200 3 7 6 5 181 172 199 172 208 205 + 200 3 7 5 4 181 172 208 205 172 205 + 200 3 11 10 9 190 172 209 172 209 205 + 200 3 11 9 8 190 172 209 205 190 205 + 200 3 10 3 0 181 172 199 172 208 205 + 200 3 10 0 9 181 172 208 205 172 205 + 200 3 7 4 1 209 172 209 205 190 205 + 200 3 7 1 2 209 172 190 205 190 172 + 200 3 5 6 11 171 205 171 172 190 172 + 200 3 5 11 8 171 205 190 172 190 205 + 200 3 10 11 2 1 225 28 225 28 238 + 200 3 10 2 3 1 225 28 238 1 238 + 200 3 6 7 2 55 225 55 238 28 238 + 200 3 6 2 11 55 225 28 238 28 225 \ No newline at end of file diff --git a/data/base/structs/blwallc1.pie b/data/base/structs/blwallc1.pie index 5fa653d23..9e7d73a0d 100644 --- a/data/base/structs/blwallc1.pie +++ b/data/base/structs/blwallc1.pie @@ -60,39 +60,74 @@ POINTS 56 -13 91 26 -13 78 64 13 78 64 -POLYGONS 35 - 200 4 3 1 0 2 129 204 90 204 90 176 129 176 - 200 4 4 5 0 1 130 207 90 207 90 172 130 172 - 200 4 6 7 3 2 130 207 90 207 90 172 130 172 - 200 4 7 4 1 3 130 207 90 207 90 172 130 172 - 200 4 5 6 2 0 130 207 90 207 90 172 130 172 - 200 4 13 12 11 10 100 171 120 171 130 207 90 207 - 200 4 13 10 8 9 110 171 110 207 129 207 129 171 - 200 4 11 12 15 14 91 207 91 171 110 171 110 207 - 200 4 16 17 18 19 28 225 28 238 55 238 55 225 - 200 4 17 16 12 13 1 225 55 225 55 238 1 238 - 200 4 18 17 13 9 55 225 28 225 28 238 55 238 - 200 4 19 15 12 16 55 225 55 238 28 238 28 225 - 200 4 9 8 14 15 100 171 90 207 130 207 120 171 - 200 4 18 9 15 19 5 225 5 238 55 238 55 225 - 200 4 25 22 20 21 110 171 110 207 129 207 129 171 - 200 4 23 24 27 26 91 207 91 171 110 171 110 207 - 200 4 28 29 30 31 28 225 28 238 55 238 55 225 - 200 4 30 29 25 21 55 225 28 225 28 238 55 238 - 200 4 31 27 24 28 55 225 55 238 28 238 28 225 - 200 4 21 20 26 27 100 171 90 207 130 207 120 171 - 200 4 30 21 27 31 5 225 5 238 55 238 55 225 - 200 4 37 34 32 33 110 171 110 207 129 207 129 171 - 200 4 35 36 39 38 91 207 91 171 110 171 110 207 - 200 4 40 41 42 43 28 225 28 238 55 238 55 225 - 200 4 42 41 37 33 55 225 28 225 28 238 55 238 - 200 4 43 39 36 40 55 225 55 238 28 238 28 225 - 200 4 33 32 38 39 100 171 90 207 130 207 120 171 - 200 4 42 33 39 43 5 225 5 238 55 238 55 225 - 200 4 49 46 44 45 110 171 110 207 129 207 129 171 - 200 4 47 48 51 50 91 207 91 171 110 171 110 207 - 200 4 52 53 54 55 28 225 28 238 55 238 55 225 - 200 4 54 53 49 45 55 225 28 225 28 238 55 238 - 200 4 55 51 48 52 55 225 55 238 28 238 28 225 - 200 4 45 44 50 51 100 171 90 207 130 207 120 171 - 200 4 54 45 51 55 5 225 5 238 55 238 55 225 \ No newline at end of file +POLYGONS 70 + 200 3 3 1 0 129 204 90 204 90 176 + 200 3 3 0 2 129 204 90 176 129 176 + 200 3 4 5 0 130 207 90 207 90 172 + 200 3 4 0 1 130 207 90 172 130 172 + 200 3 6 7 3 130 207 90 207 90 172 + 200 3 6 3 2 130 207 90 172 130 172 + 200 3 7 4 1 130 207 90 207 90 172 + 200 3 7 1 3 130 207 90 172 130 172 + 200 3 5 6 2 130 207 90 207 90 172 + 200 3 5 2 0 130 207 90 172 130 172 + 200 3 13 12 11 100 171 120 171 130 207 + 200 3 13 11 10 100 171 130 207 90 207 + 200 3 13 10 8 110 171 110 207 129 207 + 200 3 13 8 9 110 171 129 207 129 171 + 200 3 11 12 15 91 207 91 171 110 171 + 200 3 11 15 14 91 207 110 171 110 207 + 200 3 16 17 18 28 225 28 238 55 238 + 200 3 16 18 19 28 225 55 238 55 225 + 200 3 17 16 12 1 225 55 225 55 238 + 200 3 17 12 13 1 225 55 238 1 238 + 200 3 18 17 13 55 225 28 225 28 238 + 200 3 18 13 9 55 225 28 238 55 238 + 200 3 19 15 12 55 225 55 238 28 238 + 200 3 19 12 16 55 225 28 238 28 225 + 200 3 9 8 14 100 171 90 207 130 207 + 200 3 9 14 15 100 171 130 207 120 171 + 200 3 18 9 15 5 225 5 238 55 238 + 200 3 18 15 19 5 225 55 238 55 225 + 200 3 25 22 20 110 171 110 207 129 207 + 200 3 25 20 21 110 171 129 207 129 171 + 200 3 23 24 27 91 207 91 171 110 171 + 200 3 23 27 26 91 207 110 171 110 207 + 200 3 28 29 30 28 225 28 238 55 238 + 200 3 28 30 31 28 225 55 238 55 225 + 200 3 30 29 25 55 225 28 225 28 238 + 200 3 30 25 21 55 225 28 238 55 238 + 200 3 31 27 24 55 225 55 238 28 238 + 200 3 31 24 28 55 225 28 238 28 225 + 200 3 21 20 26 100 171 90 207 130 207 + 200 3 21 26 27 100 171 130 207 120 171 + 200 3 30 21 27 5 225 5 238 55 238 + 200 3 30 27 31 5 225 55 238 55 225 + 200 3 37 34 32 110 171 110 207 129 207 + 200 3 37 32 33 110 171 129 207 129 171 + 200 3 35 36 39 91 207 91 171 110 171 + 200 3 35 39 38 91 207 110 171 110 207 + 200 3 40 41 42 28 225 28 238 55 238 + 200 3 40 42 43 28 225 55 238 55 225 + 200 3 42 41 37 55 225 28 225 28 238 + 200 3 42 37 33 55 225 28 238 55 238 + 200 3 43 39 36 55 225 55 238 28 238 + 200 3 43 36 40 55 225 28 238 28 225 + 200 3 33 32 38 100 171 90 207 130 207 + 200 3 33 38 39 100 171 130 207 120 171 + 200 3 42 33 39 5 225 5 238 55 238 + 200 3 42 39 43 5 225 55 238 55 225 + 200 3 49 46 44 110 171 110 207 129 207 + 200 3 49 44 45 110 171 129 207 129 171 + 200 3 47 48 51 91 207 91 171 110 171 + 200 3 47 51 50 91 207 110 171 110 207 + 200 3 52 53 54 28 225 28 238 55 238 + 200 3 52 54 55 28 225 55 238 55 225 + 200 3 54 53 49 55 225 28 225 28 238 + 200 3 54 49 45 55 225 28 238 55 238 + 200 3 55 51 48 55 225 55 238 28 238 + 200 3 55 48 52 55 225 28 238 28 225 + 200 3 45 44 50 100 171 90 207 130 207 + 200 3 45 50 51 100 171 130 207 120 171 + 200 3 54 45 51 5 225 5 238 55 238 + 200 3 54 51 55 5 225 55 238 55 225 \ No newline at end of file diff --git a/data/base/structs/blwallc2.pie b/data/base/structs/blwallc2.pie index ea9c0c0ee..3cf97dd9e 100644 --- a/data/base/structs/blwallc2.pie +++ b/data/base/structs/blwallc2.pie @@ -28,29 +28,38 @@ POINTS 24 26 0 65 -26 0 65 -26 0 26 -POLYGONS 25 - 200 4 1 2 12 16 160 172 141 172 131 208 170 208 +POLYGONS 34 + 200 3 1 2 12 160 172 141 172 131 208 + 200 3 1 12 16 160 172 131 208 170 208 200 3 8 10 18 131 172 170 177 170 208 200 3 2 3 12 131 177 170 172 131 208 200 3 3 13 12 170 172 170 208 131 208 200 3 17 8 18 131 208 131 172 170 208 - 200 4 9 7 15 14 140 172 161 172 170 208 131 208 + 200 3 9 7 15 140 172 161 172 170 208 + 200 3 9 15 14 140 172 170 208 131 208 200 3 8 17 15 170 172 170 208 131 208 200 3 13 3 14 170 208 170 172 131 208 200 3 7 8 15 131 177 170 172 131 208 200 3 3 9 14 170 172 131 177 131 208 - 200 4 8 3 0 6 170 204 131 204 131 176 170 176 - 200 4 10 11 19 18 141 172 160 172 170 208 131 208 - 200 4 8 6 11 10 0 238 0 225 56 228 56 235 + 200 3 8 3 0 170 204 131 204 131 176 + 200 3 8 0 6 170 204 131 176 170 176 + 200 3 10 11 19 141 172 160 172 170 208 + 200 3 10 19 18 141 172 170 208 131 208 + 200 3 8 6 11 0 238 0 225 56 228 + 200 3 8 11 10 0 238 56 228 56 235 200 3 11 6 19 170 177 131 172 170 208 - 200 4 9 3 8 7 0 228 56 225 56 238 0 235 + 200 3 9 3 8 0 228 56 225 56 238 + 200 3 9 8 7 0 228 56 238 0 235 200 3 0 1 16 170 172 131 177 131 208 - 200 4 3 2 1 0 56 238 0 235 0 228 56 225 + 200 3 3 2 1 56 238 0 235 0 228 + 200 3 3 1 0 56 238 0 228 56 225 200 3 6 20 19 131 172 131 208 170 208 200 3 23 0 16 170 208 170 172 131 208 - 200 4 4 5 22 21 161 172 140 172 131 208 170 208 + 200 3 4 5 22 161 172 140 172 131 208 + 200 3 4 22 21 161 172 131 208 170 208 200 3 20 6 21 131 208 131 172 170 208 200 3 0 23 22 131 172 131 208 170 208 200 3 6 4 21 131 172 170 177 170 208 200 3 5 0 22 170 177 131 172 170 208 - 200 4 6 0 5 4 0 238 0 225 56 228 56 235 \ No newline at end of file + 200 3 6 0 5 0 238 0 225 56 228 + 200 3 6 5 4 0 238 56 228 56 235 \ No newline at end of file diff --git a/data/base/structs/blwallc3.pie b/data/base/structs/blwallc3.pie index 869626053..9e7ebc804 100644 --- a/data/base/structs/blwallc3.pie +++ b/data/base/structs/blwallc3.pie @@ -24,21 +24,34 @@ POINTS 20 26 0 -65 26 0 65 -26 0 65 -POLYGONS 17 - 200 4 3 2 1 0 0 228 56 225 56 238 0 235 - 200 4 1 6 5 4 0 238 0 225 56 228 56 235 - 200 4 10 9 8 7 200 172 180 172 170 205 210 205 - 200 4 4 5 12 11 180 172 200 172 210 205 170 205 - 200 4 6 15 14 13 0 238 0 225 56 228 56 235 - 200 4 2 9 10 15 56 238 0 235 0 228 56 225 - 200 4 3 0 17 16 180 172 200 172 210 205 170 205 - 200 4 13 14 19 18 200 172 180 172 170 205 210 205 - 200 4 1 2 15 6 53 238 3 238 3 225 53 225 +POLYGONS 30 + 200 3 3 2 1 0 228 56 225 56 238 + 200 3 3 1 0 0 228 56 238 0 235 + 200 3 1 6 5 0 238 0 225 56 228 + 200 3 1 5 4 0 238 56 228 56 235 + 200 3 10 9 8 200 172 180 172 170 205 + 200 3 10 8 7 200 172 170 205 210 205 + 200 3 4 5 12 180 172 200 172 210 205 + 200 3 4 12 11 180 172 210 205 170 205 + 200 3 6 15 14 0 238 0 225 56 228 + 200 3 6 14 13 0 238 56 228 56 235 + 200 3 2 9 10 56 238 0 235 0 228 + 200 3 2 10 15 56 238 0 228 56 225 + 200 3 3 0 17 180 172 200 172 210 205 + 200 3 3 17 16 180 172 210 205 170 205 + 200 3 13 14 19 200 172 180 172 170 205 + 200 3 13 19 18 200 172 170 205 210 205 + 200 3 1 2 15 53 238 3 238 3 225 + 200 3 1 15 6 53 238 3 225 53 225 200 3 2 3 9 56 231 0 224 0 239 - 200 4 9 3 16 8 171 172 209 172 209 205 171 205 - 200 4 0 4 11 17 171 172 209 172 209 205 171 205 + 200 3 9 3 16 171 172 209 172 209 205 + 200 3 9 16 8 171 172 209 205 171 205 + 200 3 0 4 11 171 172 209 172 209 205 + 200 3 0 11 17 171 172 209 205 171 205 200 3 1 4 0 56 231 0 224 0 239 - 200 4 5 13 18 12 171 172 209 172 209 205 171 205 + 200 3 5 13 18 171 172 209 172 209 205 + 200 3 5 18 12 171 172 209 205 171 205 200 3 6 13 5 56 231 0 224 0 239 - 200 4 14 10 7 19 171 172 209 172 209 205 171 205 + 200 3 14 10 7 171 172 209 172 209 205 + 200 3 14 7 19 171 172 209 205 171 205 200 3 15 10 14 56 231 0 224 0 239 \ No newline at end of file diff --git a/data/base/structs/blwallh.pie b/data/base/structs/blwallh.pie index d115966a2..d561d2519 100644 --- a/data/base/structs/blwallh.pie +++ b/data/base/structs/blwallh.pie @@ -22,18 +22,32 @@ POINTS 18 0 78 13 -65 78 13 -65 78 -13 -POLYGONS 14 - 200 4 3 2 1 0 91 171 110 171 110 207 91 207 - 200 4 7 6 5 4 100 171 120 171 130 207 90 207 - 200 4 11 10 9 8 110 171 129 171 129 207 110 207 - 200 4 10 3 0 9 100 171 120 171 130 207 90 207 - 200 4 7 4 1 2 129 171 129 207 110 207 110 171 - 200 4 5 6 11 8 91 207 91 171 110 171 110 207 - 200 4 12 13 14 15 55 225 55 238 28 238 28 225 - 200 4 13 12 6 7 5 225 55 225 55 238 5 238 - 200 4 14 13 7 2 28 225 55 225 55 238 28 238 - 200 4 12 15 11 6 55 225 28 225 28 238 55 238 - 200 4 16 15 14 17 2 225 28 225 28 238 2 238 - 200 4 15 16 10 11 28 225 2 225 2 238 28 238 - 200 4 17 14 2 3 2 225 28 225 28 238 2 238 - 200 4 16 17 3 10 5 225 55 225 55 238 5 238 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 91 171 110 171 110 207 + 200 3 3 1 0 91 171 110 207 91 207 + 200 3 7 6 5 100 171 120 171 130 207 + 200 3 7 5 4 100 171 130 207 90 207 + 200 3 11 10 9 110 171 129 171 129 207 + 200 3 11 9 8 110 171 129 207 110 207 + 200 3 10 3 0 100 171 120 171 130 207 + 200 3 10 0 9 100 171 130 207 90 207 + 200 3 7 4 1 129 171 129 207 110 207 + 200 3 7 1 2 129 171 110 207 110 171 + 200 3 5 6 11 91 207 91 171 110 171 + 200 3 5 11 8 91 207 110 171 110 207 + 200 3 12 13 14 55 225 55 238 28 238 + 200 3 12 14 15 55 225 28 238 28 225 + 200 3 13 12 6 5 225 55 225 55 238 + 200 3 13 6 7 5 225 55 238 5 238 + 200 3 14 13 7 28 225 55 225 55 238 + 200 3 14 7 2 28 225 55 238 28 238 + 200 3 12 15 11 55 225 28 225 28 238 + 200 3 12 11 6 55 225 28 238 55 238 + 200 3 16 15 14 2 225 28 225 28 238 + 200 3 16 14 17 2 225 28 238 2 238 + 200 3 15 16 10 28 225 2 225 2 238 + 200 3 15 10 11 28 225 2 238 28 238 + 200 3 17 14 2 2 225 28 225 28 238 + 200 3 17 2 3 2 225 28 238 2 238 + 200 3 16 17 3 5 225 55 225 55 238 + 200 3 16 3 10 5 225 55 238 5 238 \ No newline at end of file diff --git a/data/base/structs/dummy.pie b/data/base/structs/dummy.pie index 203191dd9..b5cc2dc9f 100644 --- a/data/base/structs/dummy.pie +++ b/data/base/structs/dummy.pie @@ -12,16 +12,28 @@ POINTS 8 -127 128 128 128 128 127 127 128 -128 -POLYGONS 12 - 200 4 3 2 1 0 224 129 224 168 185 168 185 128 - 200 4 0 1 2 3 185 128 185 168 224 168 224 129 - 200 4 5 6 7 4 225 128 225 169 185 169 185 128 - 200 4 4 7 6 5 185 128 185 169 225 169 225 128 - 200 4 1 5 4 0 225 127 225 169 184 169 184 127 - 200 4 0 4 5 1 184 127 184 169 225 169 225 127 - 200 4 2 6 5 1 225 128 225 169 184 169 184 128 - 200 4 1 5 6 2 184 128 184 169 225 169 225 128 - 200 4 3 7 6 2 225 128 225 169 184 169 184 128 - 200 4 2 6 7 3 184 128 184 169 225 169 225 128 - 200 4 7 3 0 4 225 128 225 169 185 169 185 128 - 200 4 4 0 3 7 185 128 185 169 225 169 225 128 +POLYGONS 24 + 200 3 3 2 1 224 129 224 168 185 168 + 200 3 3 1 0 224 129 185 168 185 128 + 200 3 0 1 2 185 128 185 168 224 168 + 200 3 0 2 3 185 128 224 168 224 129 + 200 3 5 6 7 225 128 225 169 185 169 + 200 3 5 7 4 225 128 185 169 185 128 + 200 3 4 7 6 185 128 185 169 225 169 + 200 3 4 6 5 185 128 225 169 225 128 + 200 3 1 5 4 225 127 225 169 184 169 + 200 3 1 4 0 225 127 184 169 184 127 + 200 3 0 4 5 184 127 184 169 225 169 + 200 3 0 5 1 184 127 225 169 225 127 + 200 3 2 6 5 225 128 225 169 184 169 + 200 3 2 5 1 225 128 184 169 184 128 + 200 3 1 5 6 184 128 184 169 225 169 + 200 3 1 6 2 184 128 225 169 225 128 + 200 3 3 7 6 225 128 225 169 184 169 + 200 3 3 6 2 225 128 184 169 184 128 + 200 3 2 6 7 184 128 184 169 225 169 + 200 3 2 7 3 184 128 225 169 225 128 + 200 3 7 3 0 225 128 225 169 185 169 + 200 3 7 0 4 225 128 185 169 185 128 + 200 3 4 0 3 185 128 185 169 225 169 + 200 3 4 3 7 185 128 225 169 225 128 \ No newline at end of file diff --git a/data/base/structs/exrocket.pie b/data/base/structs/exrocket.pie index 42235b2ae..ad709abd1 100644 --- a/data/base/structs/exrocket.pie +++ b/data/base/structs/exrocket.pie @@ -31,23 +31,35 @@ POINTS 27 0 11 -13 -11 11 6 -23 0 13 -POLYGONS 17 - 200 4 3 2 1 0 12 79 6 67 6 67 12 79 +POLYGONS 29 + 200 3 3 2 1 12 79 6 67 6 67 + 200 3 3 1 0 12 79 6 67 12 79 200 3 4 0 1 10 74 8 69 8 77 200 3 3 5 2 8 69 10 74 8 77 - 200 4 9 8 7 6 69 60 97 60 97 48 69 48 - 200 4 8 11 10 7 97 60 126 60 115 48 97 48 + 200 3 9 8 7 69 60 97 60 97 48 + 200 3 9 7 6 69 60 97 48 69 48 + 200 3 8 11 10 97 60 126 60 115 48 + 200 3 8 10 7 97 60 115 48 97 48 200 3 11 12 10 128 59 62 60 127 48 - 200 4 6 7 14 13 69 48 97 48 97 60 69 60 - 200 4 7 10 12 14 97 48 118 48 126 60 97 60 - 200 4 9 6 16 15 126 59 126 48 94 48 94 59 - 200 4 15 16 18 17 94 59 94 48 74 48 62 59 + 200 3 6 7 14 69 48 97 48 97 60 + 200 3 6 14 13 69 48 97 60 69 60 + 200 3 7 10 12 97 48 118 48 126 60 + 200 3 7 12 14 97 48 126 60 97 60 + 200 3 9 6 16 126 59 126 48 94 48 + 200 3 9 16 15 126 59 94 48 94 59 + 200 3 15 16 18 94 59 94 48 74 48 + 200 3 15 18 17 94 59 74 48 62 59 200 3 17 18 19 128 59 127 48 62 60 - 200 4 6 13 20 16 62 48 62 59 94 59 94 48 - 200 4 16 20 19 18 94 48 94 59 125 59 117 48 - 200 4 24 23 22 21 33 62 64 62 64 69 33 69 + 200 3 6 13 20 62 48 62 59 94 59 + 200 3 6 20 16 62 48 94 59 94 48 + 200 3 16 20 19 94 48 94 59 125 59 + 200 3 16 19 18 94 48 125 59 117 48 + 200 3 24 23 22 33 62 64 62 64 69 + 200 3 24 22 21 33 62 64 69 33 69 200 3 25 23 24 129 63 143 63 136 48 - 200 4 23 25 26 22 33 62 64 62 64 69 33 69 - 200 4 25 24 21 26 33 62 64 62 64 69 33 69 + 200 3 23 25 26 33 62 64 62 64 69 + 200 3 23 26 22 33 62 64 69 33 69 + 200 3 25 24 21 33 62 64 62 64 69 + 200 3 25 21 26 33 62 64 69 33 69 CONNECTORS 1 0 0 13 diff --git a/data/base/structs/icdozer.pie b/data/base/structs/icdozer.pie index ab0c25ef6..a53666ff5 100644 --- a/data/base/structs/icdozer.pie +++ b/data/base/structs/icdozer.pie @@ -40,35 +40,54 @@ POINTS 36 19 1 11 13 1 53 -12 1 53 -POLYGONS 31 - 200 4 0 1 2 3 235 77 232 77 232 128 235 128 - 200 4 3 2 1 0 235 128 232 128 232 77 235 77 - 200 4 4 5 6 7 235 77 232 77 232 128 235 128 - 200 4 7 6 5 4 235 128 232 128 232 77 235 77 - 200 4 8 9 10 11 247 231 256 231 255 190 252 190 - 200 4 11 10 9 8 252 190 255 190 256 231 247 231 - 200 4 12 13 10 11 247 231 256 231 255 190 252 190 - 200 4 11 10 13 12 252 190 255 190 256 231 247 231 +POLYGONS 50 + 200 3 0 1 2 235 77 232 77 232 128 + 200 3 0 2 3 235 77 232 128 235 128 + 200 3 3 2 1 235 128 232 128 232 77 + 200 3 3 1 0 235 128 232 77 235 77 + 200 3 4 5 6 235 77 232 77 232 128 + 200 3 4 6 7 235 77 232 128 235 128 + 200 3 7 6 5 235 128 232 128 232 77 + 200 3 7 5 4 235 128 232 77 235 77 + 200 3 8 9 10 247 231 256 231 255 190 + 200 3 8 10 11 247 231 255 190 252 190 + 200 3 11 10 9 252 190 255 190 256 231 + 200 3 11 9 8 252 190 256 231 247 231 + 200 3 12 13 10 247 231 256 231 255 190 + 200 3 12 10 11 247 231 255 190 252 190 + 200 3 11 10 13 252 190 255 190 256 231 + 200 3 11 13 12 252 190 256 231 247 231 200 3 16 15 14 90 182 92 182 91 185 200 3 15 17 14 83 182 84 182 84 185 200 3 17 18 14 84 182 86 182 85 185 200 3 18 19 14 86 182 87 182 87 185 200 3 19 20 14 87 182 89 182 88 185 200 3 20 16 14 89 182 90 182 90 185 - 200 4 22 21 15 16 90 178 92 178 92 182 90 182 - 200 4 21 23 17 15 83 178 84 178 84 182 83 182 - 200 4 23 24 18 17 84 178 86 178 86 182 84 182 - 200 4 24 25 19 18 86 178 87 178 87 182 86 182 - 200 4 25 26 20 19 87 178 89 178 89 182 87 182 - 200 4 26 22 16 20 89 178 90 178 90 182 89 182 + 200 3 22 21 15 90 178 92 178 92 182 + 200 3 22 15 16 90 178 92 182 90 182 + 200 3 21 23 17 83 178 84 178 84 182 + 200 3 21 17 15 83 178 84 182 83 182 + 200 3 23 24 18 84 178 86 178 86 182 + 200 3 23 18 17 84 178 86 182 84 182 + 200 3 24 25 19 86 178 87 178 87 182 + 200 3 24 19 18 86 178 87 182 86 182 + 200 3 25 26 20 87 178 89 178 89 182 + 200 3 25 20 19 87 178 89 182 87 182 + 200 3 26 22 16 89 178 90 178 90 182 + 200 3 26 16 20 89 178 90 182 89 182 200 3 21 22 27 92 178 90 178 91 175 200 3 23 21 27 84 178 83 178 84 175 200 3 24 23 27 86 178 84 178 85 175 200 3 25 24 27 87 178 86 178 87 175 200 3 26 25 27 89 178 87 178 88 175 200 3 22 26 27 90 178 89 178 90 175 - 200 4 31 30 29 28 83 62 67 62 70 54 80 54 - 200 4 28 29 33 32 68 52 80 52 85 62 65 62 - 200 4 30 31 35 34 67 52 83 52 85 62 65 62 - 200 4 31 28 32 35 66 52 81 53 85 62 65 62 - 200 4 29 30 34 33 81 53 66 52 65 62 85 62 \ No newline at end of file + 200 3 31 30 29 83 62 67 62 70 54 + 200 3 31 29 28 83 62 70 54 80 54 + 200 3 28 29 33 68 52 80 52 85 62 + 200 3 28 33 32 68 52 85 62 65 62 + 200 3 30 31 35 67 52 83 52 85 62 + 200 3 30 35 34 67 52 85 62 65 62 + 200 3 31 28 32 66 52 81 53 85 62 + 200 3 31 32 35 66 52 85 62 65 62 + 200 3 29 30 34 81 53 66 52 65 62 + 200 3 29 34 33 81 53 65 62 85 62 \ No newline at end of file diff --git a/data/base/structs/mibar.pie b/data/base/structs/mibar.pie index e79cfd8a9..58711a301 100644 --- a/data/base/structs/mibar.pie +++ b/data/base/structs/mibar.pie @@ -28,20 +28,36 @@ POINTS 24 66 36 0 66 36 4 -61 36 4 -POLYGONS 16 - 200 4 3 2 1 0 74 186 78 186 78 205 74 205 - 200 4 0 1 5 4 74 186 78 186 78 205 74 205 - 200 4 1 2 6 5 74 186 78 186 78 205 74 205 - 200 4 2 3 7 6 74 186 78 186 78 205 74 205 - 200 4 3 0 4 7 74 186 78 186 78 205 74 205 - 200 4 11 10 9 8 74 186 78 186 78 205 74 205 - 200 4 8 9 13 12 74 186 78 186 78 205 74 205 - 200 4 9 10 14 13 74 186 78 186 78 205 74 205 - 200 4 10 11 15 14 74 186 78 186 78 205 74 205 - 200 4 11 8 12 15 74 186 78 186 78 205 74 205 - 200 4 19 18 17 16 143 52 143 47 95 47 95 52 - 200 4 23 22 21 20 95 47 143 47 143 52 95 52 - 200 4 20 21 19 16 95 52 143 52 143 52 95 52 - 200 4 21 22 18 19 143 52 143 47 143 47 143 52 - 200 4 22 23 17 18 143 47 95 47 95 47 143 47 - 200 4 23 20 16 17 95 47 95 52 95 52 95 47 +POLYGONS 32 + 200 3 3 2 1 74 186 78 186 78 205 + 200 3 3 1 0 74 186 78 205 74 205 + 200 3 0 1 5 74 186 78 186 78 205 + 200 3 0 5 4 74 186 78 205 74 205 + 200 3 1 2 6 74 186 78 186 78 205 + 200 3 1 6 5 74 186 78 205 74 205 + 200 3 2 3 7 74 186 78 186 78 205 + 200 3 2 7 6 74 186 78 205 74 205 + 200 3 3 0 4 74 186 78 186 78 205 + 200 3 3 4 7 74 186 78 205 74 205 + 200 3 11 10 9 74 186 78 186 78 205 + 200 3 11 9 8 74 186 78 205 74 205 + 200 3 8 9 13 74 186 78 186 78 205 + 200 3 8 13 12 74 186 78 205 74 205 + 200 3 9 10 14 74 186 78 186 78 205 + 200 3 9 14 13 74 186 78 205 74 205 + 200 3 10 11 15 74 186 78 186 78 205 + 200 3 10 15 14 74 186 78 205 74 205 + 200 3 11 8 12 74 186 78 186 78 205 + 200 3 11 12 15 74 186 78 205 74 205 + 200 3 19 18 17 143 52 143 47 95 47 + 200 3 19 17 16 143 52 95 47 95 52 + 200 3 23 22 21 95 47 143 47 143 52 + 200 3 23 21 20 95 47 143 52 95 52 + 200 3 20 21 19 95 52 143 52 143 52 + 200 3 20 19 16 95 52 143 52 95 52 + 200 3 21 22 18 143 52 143 47 143 47 + 200 3 21 18 19 143 52 143 47 143 52 + 200 3 22 23 17 143 47 95 47 95 47 + 200 3 22 17 18 143 47 95 47 143 47 + 200 3 23 20 16 95 47 95 52 95 52 + 200 3 23 16 17 95 47 95 52 95 47 \ No newline at end of file diff --git a/data/base/structs/mibcool.pie b/data/base/structs/mibcool.pie index ce3bfdce1..7ec7e9175 100644 --- a/data/base/structs/mibcool.pie +++ b/data/base/structs/mibcool.pie @@ -8,5 +8,6 @@ POINTS 4 65 0 -65 65 0 65 -65 0 65 -POLYGONS 1 - 200 4 3 2 1 0 209 63 255 63 255 110 209 110 +POLYGONS 2 + 200 3 3 2 1 209 63 255 63 255 110 + 200 3 3 1 0 209 63 255 110 209 110 \ No newline at end of file diff --git a/data/base/structs/micool.pie b/data/base/structs/micool.pie index 79554033e..3de9db0e5 100644 --- a/data/base/structs/micool.pie +++ b/data/base/structs/micool.pie @@ -36,52 +36,100 @@ POINTS 32 21 143 52 21 143 -52 -21 143 -52 -POLYGONS 48 - 200 4 0 1 2 3 48 208 78 208 75 186 51 186 - 200 4 3 2 1 0 51 186 75 186 78 208 48 208 - 200 4 4 5 6 7 78 208 48 208 51 186 75 186 - 200 4 7 6 5 4 75 186 51 186 48 208 78 208 - 200 4 3 2 8 9 51 186 75 186 74 160 52 160 - 200 4 9 8 2 3 52 160 74 160 75 186 51 186 - 200 4 7 6 10 11 75 186 51 186 52 160 74 160 - 200 4 11 10 6 7 74 160 52 160 51 186 75 186 - 200 4 9 8 12 13 52 160 74 160 75 140 51 140 - 200 4 13 12 8 9 51 140 75 140 74 160 52 160 - 200 4 11 10 14 15 74 160 52 160 51 140 75 140 - 200 4 15 14 10 11 75 140 51 140 52 160 74 160 - 200 4 16 17 18 19 78 208 48 208 51 186 75 186 - 200 4 19 18 17 16 75 186 51 186 48 208 78 208 - 200 4 20 21 22 23 48 208 78 208 75 186 51 186 - 200 4 23 22 21 20 51 186 75 186 78 208 48 208 - 200 4 19 18 24 25 75 186 51 186 52 160 74 160 - 200 4 25 24 18 19 74 160 52 160 51 186 75 186 - 200 4 23 22 26 27 51 186 75 186 74 160 52 160 - 200 4 27 26 22 23 52 160 74 160 75 186 51 186 - 200 4 25 24 28 29 74 160 52 160 51 140 75 140 - 200 4 29 28 24 25 75 140 51 140 52 160 74 160 - 200 4 27 26 30 31 52 160 74 160 75 140 51 140 - 200 4 31 30 26 27 51 140 75 140 74 160 52 160 - 200 4 17 4 7 18 78 208 48 208 51 186 75 186 - 200 4 18 7 4 17 75 186 51 186 48 208 78 208 - 200 4 21 0 3 22 48 208 78 208 75 186 51 186 - 200 4 22 3 0 21 51 186 75 186 78 208 48 208 - 200 4 18 7 11 24 75 186 51 186 52 160 74 160 - 200 4 24 11 7 18 74 160 52 160 51 186 75 186 - 200 4 22 3 9 26 51 186 75 186 74 160 52 160 - 200 4 26 9 3 22 52 160 74 160 75 186 51 186 - 200 4 24 11 15 28 74 160 52 160 51 140 75 140 - 200 4 28 15 11 24 75 140 51 140 52 160 74 160 - 200 4 26 9 13 30 52 160 74 160 75 140 51 140 - 200 4 30 13 9 26 51 140 75 140 74 160 52 160 - 200 4 1 16 19 2 78 208 48 208 51 186 75 186 - 200 4 2 19 16 1 75 186 51 186 48 208 78 208 - 200 4 5 20 23 6 48 208 78 208 75 186 51 186 - 200 4 6 23 20 5 51 186 75 186 78 208 48 208 - 200 4 2 19 25 8 75 186 51 186 52 160 74 160 - 200 4 8 25 19 2 74 160 52 160 51 186 75 186 - 200 4 6 23 27 10 51 186 75 186 74 160 52 160 - 200 4 10 27 23 6 52 160 74 160 75 186 51 186 - 200 4 8 25 29 12 74 160 52 160 51 140 75 140 - 200 4 12 29 25 8 75 140 51 140 52 160 74 160 - 200 4 10 27 31 14 52 160 74 160 75 140 51 140 - 200 4 14 31 27 10 51 140 75 140 74 160 52 160 +POLYGONS 96 + 200 3 0 1 2 48 208 78 208 75 186 + 200 3 0 2 3 48 208 75 186 51 186 + 200 3 3 2 1 51 186 75 186 78 208 + 200 3 3 1 0 51 186 78 208 48 208 + 200 3 4 5 6 78 208 48 208 51 186 + 200 3 4 6 7 78 208 51 186 75 186 + 200 3 7 6 5 75 186 51 186 48 208 + 200 3 7 5 4 75 186 48 208 78 208 + 200 3 3 2 8 51 186 75 186 74 160 + 200 3 3 8 9 51 186 74 160 52 160 + 200 3 9 8 2 52 160 74 160 75 186 + 200 3 9 2 3 52 160 75 186 51 186 + 200 3 7 6 10 75 186 51 186 52 160 + 200 3 7 10 11 75 186 52 160 74 160 + 200 3 11 10 6 74 160 52 160 51 186 + 200 3 11 6 7 74 160 51 186 75 186 + 200 3 9 8 12 52 160 74 160 75 140 + 200 3 9 12 13 52 160 75 140 51 140 + 200 3 13 12 8 51 140 75 140 74 160 + 200 3 13 8 9 51 140 74 160 52 160 + 200 3 11 10 14 74 160 52 160 51 140 + 200 3 11 14 15 74 160 51 140 75 140 + 200 3 15 14 10 75 140 51 140 52 160 + 200 3 15 10 11 75 140 52 160 74 160 + 200 3 16 17 18 78 208 48 208 51 186 + 200 3 16 18 19 78 208 51 186 75 186 + 200 3 19 18 17 75 186 51 186 48 208 + 200 3 19 17 16 75 186 48 208 78 208 + 200 3 20 21 22 48 208 78 208 75 186 + 200 3 20 22 23 48 208 75 186 51 186 + 200 3 23 22 21 51 186 75 186 78 208 + 200 3 23 21 20 51 186 78 208 48 208 + 200 3 19 18 24 75 186 51 186 52 160 + 200 3 19 24 25 75 186 52 160 74 160 + 200 3 25 24 18 74 160 52 160 51 186 + 200 3 25 18 19 74 160 51 186 75 186 + 200 3 23 22 26 51 186 75 186 74 160 + 200 3 23 26 27 51 186 74 160 52 160 + 200 3 27 26 22 52 160 74 160 75 186 + 200 3 27 22 23 52 160 75 186 51 186 + 200 3 25 24 28 74 160 52 160 51 140 + 200 3 25 28 29 74 160 51 140 75 140 + 200 3 29 28 24 75 140 51 140 52 160 + 200 3 29 24 25 75 140 52 160 74 160 + 200 3 27 26 30 52 160 74 160 75 140 + 200 3 27 30 31 52 160 75 140 51 140 + 200 3 31 30 26 51 140 75 140 74 160 + 200 3 31 26 27 51 140 74 160 52 160 + 200 3 17 4 7 78 208 48 208 51 186 + 200 3 17 7 18 78 208 51 186 75 186 + 200 3 18 7 4 75 186 51 186 48 208 + 200 3 18 4 17 75 186 48 208 78 208 + 200 3 21 0 3 48 208 78 208 75 186 + 200 3 21 3 22 48 208 75 186 51 186 + 200 3 22 3 0 51 186 75 186 78 208 + 200 3 22 0 21 51 186 78 208 48 208 + 200 3 18 7 11 75 186 51 186 52 160 + 200 3 18 11 24 75 186 52 160 74 160 + 200 3 24 11 7 74 160 52 160 51 186 + 200 3 24 7 18 74 160 51 186 75 186 + 200 3 22 3 9 51 186 75 186 74 160 + 200 3 22 9 26 51 186 74 160 52 160 + 200 3 26 9 3 52 160 74 160 75 186 + 200 3 26 3 22 52 160 75 186 51 186 + 200 3 24 11 15 74 160 52 160 51 140 + 200 3 24 15 28 74 160 51 140 75 140 + 200 3 28 15 11 75 140 51 140 52 160 + 200 3 28 11 24 75 140 52 160 74 160 + 200 3 26 9 13 52 160 74 160 75 140 + 200 3 26 13 30 52 160 75 140 51 140 + 200 3 30 13 9 51 140 75 140 74 160 + 200 3 30 9 26 51 140 74 160 52 160 + 200 3 1 16 19 78 208 48 208 51 186 + 200 3 1 19 2 78 208 51 186 75 186 + 200 3 2 19 16 75 186 51 186 48 208 + 200 3 2 16 1 75 186 48 208 78 208 + 200 3 5 20 23 48 208 78 208 75 186 + 200 3 5 23 6 48 208 75 186 51 186 + 200 3 6 23 20 51 186 75 186 78 208 + 200 3 6 20 5 51 186 78 208 48 208 + 200 3 2 19 25 75 186 51 186 52 160 + 200 3 2 25 8 75 186 52 160 74 160 + 200 3 8 25 19 74 160 52 160 51 186 + 200 3 8 19 2 74 160 51 186 75 186 + 200 3 6 23 27 51 186 75 186 74 160 + 200 3 6 27 10 51 186 74 160 52 160 + 200 3 10 27 23 52 160 74 160 75 186 + 200 3 10 23 6 52 160 75 186 51 186 + 200 3 8 25 29 74 160 52 160 51 140 + 200 3 8 29 12 74 160 51 140 75 140 + 200 3 12 29 25 75 140 51 140 52 160 + 200 3 12 25 8 75 140 52 160 74 160 + 200 3 10 27 31 52 160 74 160 75 140 + 200 3 10 31 14 52 160 75 140 51 140 + 200 3 14 31 27 51 140 75 140 74 160 + 200 3 14 27 10 51 140 74 160 52 160 \ No newline at end of file diff --git a/data/base/structs/minuke.pie b/data/base/structs/minuke.pie index 2ec116e7f..27d8afe38 100644 --- a/data/base/structs/minuke.pie +++ b/data/base/structs/minuke.pie @@ -78,49 +78,94 @@ POINTS 74 -95 0 129 95 0 26 95 0 129 -POLYGONS 45 - 200 4 3 2 1 0 163 113 163 83 173 83 173 113 - 200 4 7 6 5 4 163 83 163 113 173 113 173 83 - 200 4 11 10 9 8 162 85 162 96 103 96 103 85 - 200 4 7 2 3 6 97 59 132 59 132 81 97 81 - 200 4 13 12 11 8 162 96 103 96 103 85 162 85 - 200 4 17 16 15 14 147 83 147 112 122 112 122 83 - 200 4 21 20 19 18 103 113 103 83 93 83 93 113 - 200 4 23 22 19 20 167 59 167 81 132 81 132 59 - 200 4 22 23 25 24 97 59 132 59 132 81 97 81 - 200 4 25 23 20 21 163 113 163 83 173 83 173 113 - 200 4 22 24 18 19 163 83 163 113 173 113 173 83 - 200 4 0 1 4 5 103 113 103 83 93 83 93 113 - 200 4 2 7 4 1 167 59 167 81 132 81 132 59 - 200 4 9 10 27 26 105 83 160 83 160 113 105 113 - 200 4 12 13 29 28 160 83 105 83 105 113 160 113 - 200 4 33 32 31 30 147 83 147 112 122 112 122 83 - 200 4 37 36 35 34 103 113 103 83 93 83 93 113 - 200 4 39 38 35 36 167 59 167 81 132 81 132 59 - 200 4 38 39 41 40 97 59 132 59 132 81 97 81 - 200 4 41 39 36 37 163 113 163 83 173 83 173 113 - 200 4 38 40 34 35 163 83 163 113 173 113 173 83 - 200 4 45 44 43 42 167 59 167 81 132 81 132 59 - 200 4 44 45 47 46 97 59 132 59 132 81 97 81 - 200 4 47 45 42 48 163 113 163 83 173 83 173 113 - 200 4 44 46 49 43 163 83 163 113 173 113 173 83 - 200 4 48 42 43 49 103 113 103 83 93 83 93 113 - 200 4 53 52 51 50 48 161 55 182 71 182 78 161 - 200 4 57 56 55 54 71 182 55 182 48 161 78 161 - 200 4 52 56 57 51 48 192 78 192 78 203 48 203 - 200 4 61 60 59 58 48 169 48 158 78 158 78 169 - 200 4 65 64 63 62 52 192 52 169 74 169 74 192 - 200 4 62 63 67 66 78 163 50 163 56 143 72 143 - 200 4 64 65 69 68 50 163 78 163 72 143 56 143 - 200 4 71 60 61 70 48 161 55 182 71 182 78 161 - 200 4 58 59 73 72 71 182 55 182 48 161 78 161 - 200 4 73 59 60 71 50 143 52 163 76 163 78 143 - 200 4 51 57 54 50 76 163 52 163 50 143 78 143 - 200 4 63 67 72 58 55 163 53 143 50 143 52 163 - 200 4 66 62 56 55 53 143 55 163 52 163 50 143 - 200 4 68 64 61 70 75 143 73 163 76 163 78 143 - 200 4 65 69 53 52 73 163 75 143 78 143 76 163 - 200 4 67 63 58 72 53 143 55 163 52 163 50 143 - 200 4 62 66 55 56 55 163 53 143 50 143 52 163 - 200 4 70 61 64 68 78 143 76 163 73 163 75 143 - 200 4 52 53 69 65 76 163 78 143 75 143 73 163 +POLYGONS 90 + 200 3 3 2 1 163 113 163 83 173 83 + 200 3 3 1 0 163 113 173 83 173 113 + 200 3 7 6 5 163 83 163 113 173 113 + 200 3 7 5 4 163 83 173 113 173 83 + 200 3 11 10 9 162 85 162 96 103 96 + 200 3 11 9 8 162 85 103 96 103 85 + 200 3 7 2 3 97 59 132 59 132 81 + 200 3 7 3 6 97 59 132 81 97 81 + 200 3 13 12 11 162 96 103 96 103 85 + 200 3 13 11 8 162 96 103 85 162 85 + 200 3 17 16 15 147 83 147 112 122 112 + 200 3 17 15 14 147 83 122 112 122 83 + 200 3 21 20 19 103 113 103 83 93 83 + 200 3 21 19 18 103 113 93 83 93 113 + 200 3 23 22 19 167 59 167 81 132 81 + 200 3 23 19 20 167 59 132 81 132 59 + 200 3 22 23 25 97 59 132 59 132 81 + 200 3 22 25 24 97 59 132 81 97 81 + 200 3 25 23 20 163 113 163 83 173 83 + 200 3 25 20 21 163 113 173 83 173 113 + 200 3 22 24 18 163 83 163 113 173 113 + 200 3 22 18 19 163 83 173 113 173 83 + 200 3 0 1 4 103 113 103 83 93 83 + 200 3 0 4 5 103 113 93 83 93 113 + 200 3 2 7 4 167 59 167 81 132 81 + 200 3 2 4 1 167 59 132 81 132 59 + 200 3 9 10 27 105 83 160 83 160 113 + 200 3 9 27 26 105 83 160 113 105 113 + 200 3 12 13 29 160 83 105 83 105 113 + 200 3 12 29 28 160 83 105 113 160 113 + 200 3 33 32 31 147 83 147 112 122 112 + 200 3 33 31 30 147 83 122 112 122 83 + 200 3 37 36 35 103 113 103 83 93 83 + 200 3 37 35 34 103 113 93 83 93 113 + 200 3 39 38 35 167 59 167 81 132 81 + 200 3 39 35 36 167 59 132 81 132 59 + 200 3 38 39 41 97 59 132 59 132 81 + 200 3 38 41 40 97 59 132 81 97 81 + 200 3 41 39 36 163 113 163 83 173 83 + 200 3 41 36 37 163 113 173 83 173 113 + 200 3 38 40 34 163 83 163 113 173 113 + 200 3 38 34 35 163 83 173 113 173 83 + 200 3 45 44 43 167 59 167 81 132 81 + 200 3 45 43 42 167 59 132 81 132 59 + 200 3 44 45 47 97 59 132 59 132 81 + 200 3 44 47 46 97 59 132 81 97 81 + 200 3 47 45 42 163 113 163 83 173 83 + 200 3 47 42 48 163 113 173 83 173 113 + 200 3 44 46 49 163 83 163 113 173 113 + 200 3 44 49 43 163 83 173 113 173 83 + 200 3 48 42 43 103 113 103 83 93 83 + 200 3 48 43 49 103 113 93 83 93 113 + 200 3 53 52 51 48 161 55 182 71 182 + 200 3 53 51 50 48 161 71 182 78 161 + 200 3 57 56 55 71 182 55 182 48 161 + 200 3 57 55 54 71 182 48 161 78 161 + 200 3 52 56 57 48 192 78 192 78 203 + 200 3 52 57 51 48 192 78 203 48 203 + 200 3 61 60 59 48 169 48 158 78 158 + 200 3 61 59 58 48 169 78 158 78 169 + 200 3 65 64 63 52 192 52 169 74 169 + 200 3 65 63 62 52 192 74 169 74 192 + 200 3 62 63 67 78 163 50 163 56 143 + 200 3 62 67 66 78 163 56 143 72 143 + 200 3 64 65 69 50 163 78 163 72 143 + 200 3 64 69 68 50 163 72 143 56 143 + 200 3 71 60 61 48 161 55 182 71 182 + 200 3 71 61 70 48 161 71 182 78 161 + 200 3 58 59 73 71 182 55 182 48 161 + 200 3 58 73 72 71 182 48 161 78 161 + 200 3 73 59 60 50 143 52 163 76 163 + 200 3 73 60 71 50 143 76 163 78 143 + 200 3 51 57 54 76 163 52 163 50 143 + 200 3 51 54 50 76 163 50 143 78 143 + 200 3 63 67 72 55 163 53 143 50 143 + 200 3 63 72 58 55 163 50 143 52 163 + 200 3 66 62 56 53 143 55 163 52 163 + 200 3 66 56 55 53 143 52 163 50 143 + 200 3 68 64 61 75 143 73 163 76 163 + 200 3 68 61 70 75 143 76 163 78 143 + 200 3 65 69 53 73 163 75 143 78 143 + 200 3 65 53 52 73 163 78 143 76 163 + 200 3 67 63 58 53 143 55 163 52 163 + 200 3 67 58 72 53 143 52 163 50 143 + 200 3 62 66 55 55 163 53 143 50 143 + 200 3 62 55 56 55 163 50 143 52 163 + 200 3 70 61 64 78 143 76 163 73 163 + 200 3 70 64 68 78 143 73 163 75 143 + 200 3 52 53 69 76 163 78 143 75 143 + 200 3 52 69 65 76 163 75 143 73 163 \ No newline at end of file diff --git a/data/base/structs/mitrap2.pie b/data/base/structs/mitrap2.pie index 18d28c162..48ca923e5 100644 --- a/data/base/structs/mitrap2.pie +++ b/data/base/structs/mitrap2.pie @@ -21,16 +21,24 @@ POINTS 17 65 2 -5 65 31 0 65 2 5 -POLYGONS 12 - 200 4 3 2 1 0 201 167 204 155 163 155 163 167 - 200 4 2 5 4 1 204 155 201 167 163 167 163 155 +POLYGONS 20 + 200 3 3 2 1 201 167 204 155 163 155 + 200 3 3 1 0 201 167 163 155 163 167 + 200 3 2 5 4 204 155 201 167 163 167 + 200 3 2 4 1 204 155 163 167 163 155 200 3 1 4 0 163 155 163 167 163 167 - 200 4 8 2 7 6 202 167 206 155 164 155 164 167 - 200 4 2 3 9 7 206 155 202 167 164 167 164 155 + 200 3 8 2 7 202 167 206 155 164 155 + 200 3 8 7 6 202 167 164 155 164 167 + 200 3 2 3 9 206 155 202 167 164 167 + 200 3 2 9 7 206 155 164 167 164 155 200 3 7 9 6 164 155 164 167 164 167 - 200 4 5 2 11 10 202 167 206 155 164 155 164 167 - 200 4 2 13 12 11 206 155 202 167 164 167 164 155 + 200 3 5 2 11 202 167 206 155 164 155 + 200 3 5 11 10 202 167 164 155 164 167 + 200 3 2 13 12 206 155 202 167 164 167 + 200 3 2 12 11 206 155 164 167 164 155 200 3 11 12 10 164 155 164 167 164 167 - 200 4 13 2 15 14 202 167 205 155 164 155 164 167 - 200 4 2 8 16 15 205 155 202 167 164 167 164 155 - 200 3 15 16 14 164 155 164 167 164 167 + 200 3 13 2 15 202 167 205 155 164 155 + 200 3 13 15 14 202 167 164 155 164 167 + 200 3 2 8 16 205 155 202 167 164 167 + 200 3 2 16 15 205 155 164 167 164 155 + 200 3 15 16 14 164 155 164 167 164 167 \ No newline at end of file diff --git a/data/base/structs/mitrapst.pie b/data/base/structs/mitrapst.pie index a61f80ab1..5d263fa6c 100644 --- a/data/base/structs/mitrapst.pie +++ b/data/base/structs/mitrapst.pie @@ -49,34 +49,64 @@ POINTS 45 0 17 0 -42 17 -1 41 17 0 -POLYGONS 30 - 200 4 3 2 1 0 106 202 110 202 110 209 106 209 - 200 4 2 5 4 1 93 202 98 202 98 209 93 209 - 200 4 5 7 6 4 98 202 102 202 102 209 98 209 - 200 4 7 3 0 6 102 202 106 202 106 209 102 209 - 200 4 11 10 9 8 106 202 110 202 110 209 106 209 - 200 4 10 13 12 9 93 202 98 202 98 209 93 209 - 200 4 13 15 14 12 98 202 102 202 102 209 98 209 - 200 4 15 11 8 14 102 202 106 202 106 209 102 209 - 200 4 19 18 17 16 106 202 110 202 110 209 106 209 - 200 4 18 21 20 17 93 202 98 202 98 209 93 209 - 200 4 21 23 22 20 98 202 102 202 102 209 98 209 - 200 4 23 19 16 22 102 202 106 202 106 209 102 209 - 200 4 27 26 25 24 106 202 110 202 110 209 106 209 - 200 4 26 29 28 25 93 202 98 202 98 209 93 209 - 200 4 29 31 30 28 98 202 102 202 102 209 98 209 - 200 4 31 27 24 30 102 202 106 202 106 209 102 209 - 200 4 35 34 33 32 106 202 110 202 110 209 106 209 - 200 4 34 37 36 33 93 202 98 202 98 209 93 209 - 200 4 37 39 38 36 98 202 102 202 102 209 98 209 - 200 4 39 35 32 38 102 202 106 202 106 209 102 209 - 200 4 18 19 23 40 113 173 120 184 113 196 113 184 - 200 4 23 21 18 40 113 196 105 184 113 173 113 184 - 200 4 26 27 31 41 113 173 120 184 113 196 113 184 - 200 4 31 29 26 41 113 196 105 184 113 173 113 184 - 200 4 34 35 39 42 113 173 120 184 113 196 113 184 - 200 4 39 37 34 42 113 196 105 184 113 173 113 184 - 200 4 10 11 15 43 113 173 120 184 113 196 113 184 - 200 4 15 13 10 43 113 196 105 184 113 173 113 184 - 200 4 2 3 7 44 113 173 120 184 113 196 113 184 - 200 4 7 5 2 44 113 196 105 184 113 173 113 184 +POLYGONS 60 + 200 3 3 2 1 106 202 110 202 110 209 + 200 3 3 1 0 106 202 110 209 106 209 + 200 3 2 5 4 93 202 98 202 98 209 + 200 3 2 4 1 93 202 98 209 93 209 + 200 3 5 7 6 98 202 102 202 102 209 + 200 3 5 6 4 98 202 102 209 98 209 + 200 3 7 3 0 102 202 106 202 106 209 + 200 3 7 0 6 102 202 106 209 102 209 + 200 3 11 10 9 106 202 110 202 110 209 + 200 3 11 9 8 106 202 110 209 106 209 + 200 3 10 13 12 93 202 98 202 98 209 + 200 3 10 12 9 93 202 98 209 93 209 + 200 3 13 15 14 98 202 102 202 102 209 + 200 3 13 14 12 98 202 102 209 98 209 + 200 3 15 11 8 102 202 106 202 106 209 + 200 3 15 8 14 102 202 106 209 102 209 + 200 3 19 18 17 106 202 110 202 110 209 + 200 3 19 17 16 106 202 110 209 106 209 + 200 3 18 21 20 93 202 98 202 98 209 + 200 3 18 20 17 93 202 98 209 93 209 + 200 3 21 23 22 98 202 102 202 102 209 + 200 3 21 22 20 98 202 102 209 98 209 + 200 3 23 19 16 102 202 106 202 106 209 + 200 3 23 16 22 102 202 106 209 102 209 + 200 3 27 26 25 106 202 110 202 110 209 + 200 3 27 25 24 106 202 110 209 106 209 + 200 3 26 29 28 93 202 98 202 98 209 + 200 3 26 28 25 93 202 98 209 93 209 + 200 3 29 31 30 98 202 102 202 102 209 + 200 3 29 30 28 98 202 102 209 98 209 + 200 3 31 27 24 102 202 106 202 106 209 + 200 3 31 24 30 102 202 106 209 102 209 + 200 3 35 34 33 106 202 110 202 110 209 + 200 3 35 33 32 106 202 110 209 106 209 + 200 3 34 37 36 93 202 98 202 98 209 + 200 3 34 36 33 93 202 98 209 93 209 + 200 3 37 39 38 98 202 102 202 102 209 + 200 3 37 38 36 98 202 102 209 98 209 + 200 3 39 35 32 102 202 106 202 106 209 + 200 3 39 32 38 102 202 106 209 102 209 + 200 3 18 19 23 113 173 120 184 113 196 + 200 3 18 23 40 113 173 113 196 113 184 + 200 3 23 21 18 113 196 105 184 113 173 + 200 3 23 18 40 113 196 113 173 113 184 + 200 3 26 27 31 113 173 120 184 113 196 + 200 3 26 31 41 113 173 113 196 113 184 + 200 3 31 29 26 113 196 105 184 113 173 + 200 3 31 26 41 113 196 113 173 113 184 + 200 3 34 35 39 113 173 120 184 113 196 + 200 3 34 39 42 113 173 113 196 113 184 + 200 3 39 37 34 113 196 105 184 113 173 + 200 3 39 34 42 113 196 113 173 113 184 + 200 3 10 11 15 113 173 120 184 113 196 + 200 3 10 15 43 113 173 113 196 113 184 + 200 3 15 13 10 113 196 105 184 113 173 + 200 3 15 10 43 113 196 113 173 113 184 + 200 3 2 3 7 113 173 120 184 113 196 + 200 3 2 7 44 113 173 113 196 113 184 + 200 3 7 5 2 113 196 105 184 113 173 + 200 3 7 2 44 113 196 113 173 113 184 \ No newline at end of file diff --git a/data/base/structs/miupbase.pie b/data/base/structs/miupbase.pie index 1d68fc5e2..e70add86e 100644 --- a/data/base/structs/miupbase.pie +++ b/data/base/structs/miupbase.pie @@ -24,19 +24,32 @@ POINTS 20 -45 0 113 39 75 93 47 0 112 -POLYGONS 13 - 200 4 0 1 2 3 48 135 37 135 37 137 48 137 - 200 4 3 2 1 0 48 137 37 137 37 135 48 135 - 200 4 7 6 5 4 97 59 132 59 132 81 97 81 - 200 4 6 9 8 5 133 59 166 59 166 81 133 81 - 200 4 13 12 11 10 166 59 133 59 133 81 166 81 - 200 4 12 15 14 11 132 59 97 59 97 81 132 81 - 200 4 9 17 16 8 97 59 132 59 132 81 97 81 - 200 4 15 7 4 14 133 59 166 59 166 81 133 81 - 200 4 17 19 18 16 165 59 132 59 132 81 165 81 - 200 4 19 13 10 18 97 59 131 59 131 81 97 81 - 200 4 18 10 11 14 14 221 0 207 0 187 14 174 - 200 4 4 16 18 14 34 174 33 221 14 221 14 174 - 200 4 4 5 8 16 34 174 47 188 47 207 33 221 +POLYGONS 26 + 200 3 0 1 2 48 135 37 135 37 137 + 200 3 0 2 3 48 135 37 137 48 137 + 200 3 3 2 1 48 137 37 137 37 135 + 200 3 3 1 0 48 137 37 135 48 135 + 200 3 7 6 5 97 59 132 59 132 81 + 200 3 7 5 4 97 59 132 81 97 81 + 200 3 6 9 8 133 59 166 59 166 81 + 200 3 6 8 5 133 59 166 81 133 81 + 200 3 13 12 11 166 59 133 59 133 81 + 200 3 13 11 10 166 59 133 81 166 81 + 200 3 12 15 14 132 59 97 59 97 81 + 200 3 12 14 11 132 59 97 81 132 81 + 200 3 9 17 16 97 59 132 59 132 81 + 200 3 9 16 8 97 59 132 81 97 81 + 200 3 15 7 4 133 59 166 59 166 81 + 200 3 15 4 14 133 59 166 81 133 81 + 200 3 17 19 18 165 59 132 59 132 81 + 200 3 17 18 16 165 59 132 81 165 81 + 200 3 19 13 10 97 59 131 59 131 81 + 200 3 19 10 18 97 59 131 81 97 81 + 200 3 18 10 11 14 221 0 207 0 187 + 200 3 18 11 14 14 221 0 187 14 174 + 200 3 4 16 18 34 174 33 221 14 221 + 200 3 4 18 14 34 174 14 221 14 174 + 200 3 4 5 8 34 174 47 188 47 207 + 200 3 4 8 16 34 174 47 207 33 221 CONNECTORS 1 0 0 79 diff --git a/data/base/structs/miupdish.pie b/data/base/structs/miupdish.pie index b4a9058bc..56eb9812b 100644 --- a/data/base/structs/miupdish.pie +++ b/data/base/structs/miupdish.pie @@ -41,49 +41,73 @@ POINTS 37 -66 154 -4 -94 97 29 -66 39 64 -POLYGONS 45 +POLYGONS 69 200 3 2 1 0 168 69 164 64 169 78 200 3 5 4 3 154 78 159 64 155 69 - 200 4 4 5 0 1 159 64 154 78 169 78 164 64 - 200 4 7 3 2 6 82 34 84 19 86 19 88 34 + 200 3 4 5 0 159 64 154 78 169 78 + 200 3 4 0 1 159 64 169 78 164 64 + 200 3 7 3 2 82 34 84 19 86 19 + 200 3 7 2 6 82 34 86 19 88 34 200 3 0 6 2 84 32 84 14 64 29 200 3 3 7 5 64 29 84 14 84 32 - 200 4 11 10 9 8 197 132 199 95 202 95 204 132 - 200 4 14 13 10 12 204 132 202 95 199 95 197 132 - 200 4 16 9 13 15 204 132 202 95 199 95 197 132 + 200 3 11 10 9 197 132 199 95 202 95 + 200 3 11 9 8 197 132 202 95 204 132 + 200 3 14 13 10 204 132 202 95 199 95 + 200 3 14 10 12 204 132 199 95 197 132 + 200 3 16 9 13 204 132 202 95 199 95 + 200 3 16 13 15 204 132 199 95 197 132 200 3 19 18 17 90 55 88 54 88 55 200 3 22 21 20 15 171 8 186 32 186 200 3 23 22 20 32 164 15 171 32 186 200 3 24 23 20 49 171 32 164 32 186 200 3 25 24 20 57 186 49 171 32 186 - 200 4 22 27 26 21 15 171 10 165 1 186 8 186 - 200 4 23 28 27 22 32 164 33 157 10 165 15 171 - 200 4 24 29 28 23 49 171 56 165 33 157 32 164 - 200 4 25 30 29 24 57 186 66 186 56 165 49 171 + 200 3 22 27 26 15 171 10 165 1 186 + 200 3 22 26 21 15 171 1 186 8 186 + 200 3 23 28 27 32 164 33 157 10 165 + 200 3 23 27 22 32 164 10 165 15 171 + 200 3 24 29 28 49 171 56 165 33 157 + 200 3 24 28 23 49 171 33 157 32 164 + 200 3 25 30 29 57 186 66 186 56 165 + 200 3 25 29 24 57 186 56 165 49 171 200 3 31 20 25 15 171 32 186 8 186 200 3 32 20 31 32 164 32 186 15 171 200 3 33 20 32 50 171 32 186 32 164 200 3 21 20 33 57 186 32 186 50 171 - 200 4 34 31 25 30 10 165 15 171 8 186 0 186 - 200 4 35 32 31 34 33 157 32 164 15 171 10 165 - 200 4 36 33 32 35 55 165 50 171 32 164 33 157 - 200 4 26 21 33 36 65 186 57 186 50 171 55 165 + 200 3 34 31 25 10 165 15 171 8 186 + 200 3 34 25 30 10 165 8 186 0 186 + 200 3 35 32 31 33 157 32 164 15 171 + 200 3 35 31 34 33 157 15 171 10 165 + 200 3 36 33 32 55 165 50 171 32 164 + 200 3 36 32 35 55 165 32 164 33 157 + 200 3 26 21 33 65 186 57 186 50 171 + 200 3 26 33 36 65 186 50 171 55 165 200 3 22 20 21 50 171 33 186 57 186 200 3 23 20 22 33 164 33 186 50 171 200 3 24 20 23 16 171 33 186 33 164 200 3 25 20 24 8 186 33 186 16 171 - 200 4 27 22 21 26 55 166 50 171 57 186 65 186 - 200 4 28 23 22 27 32 157 33 164 50 171 55 166 - 200 4 29 24 23 28 10 166 16 171 33 164 32 157 - 200 4 30 25 24 29 0 186 8 186 16 171 10 166 + 200 3 27 22 21 55 166 50 171 57 186 + 200 3 27 21 26 55 166 57 186 65 186 + 200 3 28 23 22 32 157 33 164 50 171 + 200 3 28 22 27 32 157 50 171 55 166 + 200 3 29 24 23 10 166 16 171 33 164 + 200 3 29 23 28 10 166 33 164 32 157 + 200 3 30 25 24 0 186 8 186 16 171 + 200 3 30 24 29 0 186 16 171 10 166 200 3 31 25 20 50 171 57 186 33 186 200 3 32 31 20 33 164 50 171 33 186 200 3 33 32 20 15 171 33 164 33 186 200 3 21 33 20 8 186 15 171 33 186 - 200 4 31 34 30 25 50 171 55 165 65 186 57 186 - 200 4 32 35 34 31 33 164 33 157 55 165 50 171 - 200 4 33 36 35 32 15 171 10 165 33 157 33 164 - 200 4 21 26 36 33 8 186 0 186 10 165 15 171 - 200 4 10 11 8 9 206 95 204 132 210 132 208 95 - 200 4 13 14 12 10 208 95 210 132 204 132 206 95 - 200 4 9 16 15 13 208 95 210 132 204 132 206 95 + 200 3 31 34 30 50 171 55 165 65 186 + 200 3 31 30 25 50 171 65 186 57 186 + 200 3 32 35 34 33 164 33 157 55 165 + 200 3 32 34 31 33 164 55 165 50 171 + 200 3 33 36 35 15 171 10 165 33 157 + 200 3 33 35 32 15 171 33 157 33 164 + 200 3 21 26 36 8 186 0 186 10 165 + 200 3 21 36 33 8 186 10 165 15 171 + 200 3 10 11 8 206 95 204 132 210 132 + 200 3 10 8 9 206 95 210 132 208 95 + 200 3 13 14 12 208 95 210 132 204 132 + 200 3 13 12 10 208 95 204 132 206 95 + 200 3 9 16 15 208 95 210 132 204 132 + 200 3 9 15 13 208 95 204 132 206 95 \ No newline at end of file diff --git a/data/base/structs/miuptrim.pie b/data/base/structs/miuptrim.pie index d25a94563..0f2f29b3b 100644 --- a/data/base/structs/miuptrim.pie +++ b/data/base/structs/miuptrim.pie @@ -20,12 +20,20 @@ POINTS 16 -46 0 114 46 18 109 48 0 113 -POLYGONS 8 - 200 4 3 2 1 0 0 224 56 224 56 239 0 239 - 200 4 2 5 4 1 2 224 54 224 54 239 2 239 - 200 4 9 8 7 6 54 224 2 224 2 239 54 239 - 200 4 8 11 10 7 56 224 0 224 0 239 55 239 - 200 4 5 13 12 4 1 224 56 224 56 239 0 239 - 200 4 11 3 0 10 1 224 55 224 55 239 1 239 - 200 4 13 15 14 12 53 224 0 224 0 239 53 239 - 200 4 15 9 6 14 1 224 54 224 54 239 1 239 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 0 224 56 224 56 239 + 200 3 3 1 0 0 224 56 239 0 239 + 200 3 2 5 4 2 224 54 224 54 239 + 200 3 2 4 1 2 224 54 239 2 239 + 200 3 9 8 7 54 224 2 224 2 239 + 200 3 9 7 6 54 224 2 239 54 239 + 200 3 8 11 10 56 224 0 224 0 239 + 200 3 8 10 7 56 224 0 239 55 239 + 200 3 5 13 12 1 224 56 224 56 239 + 200 3 5 12 4 1 224 56 239 0 239 + 200 3 11 3 0 1 224 55 224 55 239 + 200 3 11 0 10 1 224 55 239 1 239 + 200 3 13 15 14 53 224 0 224 0 239 + 200 3 13 14 12 53 224 0 239 53 239 + 200 3 15 9 6 1 224 54 224 54 239 + 200 3 15 6 14 1 224 54 239 1 239 \ No newline at end of file diff --git a/data/mp/structs/blgateh.pie b/data/mp/structs/blgateh.pie index f2589706c..4ebb43d4e 100644 --- a/data/mp/structs/blgateh.pie +++ b/data/mp/structs/blgateh.pie @@ -3,32 +3,43 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 16 - 65 0 14 - 65 62 12 - -65 0 14 - -65 0 -14 - -65 62 -12 - -65 62 12 - 65 0 -14 - 65 62 -12 - 65 62 0 - 65 0 0 - -65 62 0 - -65 0 0 - -65 78 -12 - -65 78 12 - 65 78 12 +POINTS 16 + 65 0 14 + 65 62 12 + -65 0 14 + -65 0 -14 + -65 62 -12 + -65 62 12 + 65 0 -14 + 65 62 -12 + 65 62 0 + 65 0 0 + -65 62 0 + -65 0 0 + -65 78 -12 + -65 78 12 + 65 78 12 65 78 -12 -POLYGONS 11 - 200 4 3 4 7 6 21 175 21 117 69 117 69 175 - 200 4 8 1 0 9 0 117 21 117 21 175 0 175 - 200 4 9 6 7 8 90 175 69 175 69 117 90 117 - 200 4 0 1 5 2 21 175 21 117 69 117 69 175 - 200 4 10 4 3 11 0 117 21 117 21 175 0 175 - 200 4 11 2 5 10 90 175 69 175 69 117 90 117 - 4200 4 12 13 14 15 8 1 56 14 55 225 55 238 2 238 2 225 - 4200 4 13 12 4 5 8 1 56 14 55 238 4 238 4 225 55 225 - 4200 4 14 13 5 1 8 1 56 14 2 238 55 238 55 225 2 225 - 4200 4 15 14 1 7 8 1 56 14 5 225 55 225 55 238 5 238 - 4200 4 12 15 7 4 8 1 56 14 55 225 2 225 2 238 55 238 +POLYGONS 22 + 200 3 3 4 7 21 175 21 117 69 117 + 200 3 3 7 6 21 175 69 117 69 175 + 200 3 8 1 0 0 117 21 117 21 175 + 200 3 8 0 9 0 117 21 175 0 175 + 200 3 9 6 7 90 175 69 175 69 117 + 200 3 9 7 8 90 175 69 117 90 117 + 200 3 0 1 5 21 175 21 117 69 117 + 200 3 0 5 2 21 175 69 117 69 175 + 200 3 10 4 3 0 117 21 117 21 175 + 200 3 10 3 11 0 117 21 175 0 175 + 200 3 11 2 5 90 175 69 175 69 117 + 200 3 11 5 10 90 175 69 117 90 117 + 4200 3 12 13 14 8 1 56 14 55 225 55 238 2 238 + 4200 3 12 14 15 8 1 56 14 55 225 2 238 2 225 + 4200 3 13 12 4 8 1 56 14 55 238 4 238 4 225 + 4200 3 13 4 5 8 1 56 14 55 238 4 225 55 225 + 4200 3 14 13 5 8 1 56 14 2 238 55 238 55 225 + 4200 3 14 5 1 8 1 56 14 2 238 55 225 2 225 + 4200 3 15 14 1 8 1 56 14 5 225 55 225 55 238 + 4200 3 15 1 7 8 1 56 14 5 225 55 238 5 238 + 4200 3 12 15 7 8 1 56 14 55 225 2 225 2 238 + 4200 3 12 7 4 8 1 56 14 55 225 2 238 55 238 \ No newline at end of file diff --git a/data/mp/structs/milasbas.pie b/data/mp/structs/milasbas.pie index f9eedb88c..ca633336d 100644 --- a/data/mp/structs/milasbas.pie +++ b/data/mp/structs/milasbas.pie @@ -28,21 +28,36 @@ POINTS 24 36 0 -38 36 0 -131 115 0 -131 -POLYGONS 15 - 200 4 3 2 1 0 51 70 93 70 93 112 51 112 - 200 4 0 1 5 4 193 50 244 50 244 104 193 104 - 200 4 1 2 6 5 193 50 244 50 244 104 193 104 - 200 4 2 3 7 6 193 50 244 50 244 104 193 104 - 200 4 3 0 4 7 193 50 244 50 244 104 193 104 - 200 4 11 10 9 8 4 174 43 174 43 216 4 216 - 200 4 8 9 13 12 4 102 47 102 51 133 0 133 - 200 4 9 10 14 13 5 102 51 102 51 133 0 133 - 200 4 10 11 15 14 4 102 47 102 51 133 0 133 - 200 4 11 8 12 15 0 102 46 102 51 133 0 133 - 200 4 19 18 17 16 51 70 93 70 93 112 51 112 - 200 4 16 17 21 20 193 50 244 50 244 104 193 104 - 200 4 17 18 22 21 193 50 244 50 244 104 193 104 - 200 4 18 19 23 22 193 50 244 50 244 104 193 104 - 200 4 19 16 20 23 193 50 244 50 244 104 193 104 +POLYGONS 30 + 200 3 3 2 1 51 70 93 70 93 112 + 200 3 3 1 0 51 70 93 112 51 112 + 200 3 0 1 5 193 50 244 50 244 104 + 200 3 0 5 4 193 50 244 104 193 104 + 200 3 1 2 6 193 50 244 50 244 104 + 200 3 1 6 5 193 50 244 104 193 104 + 200 3 2 3 7 193 50 244 50 244 104 + 200 3 2 7 6 193 50 244 104 193 104 + 200 3 3 0 4 193 50 244 50 244 104 + 200 3 3 4 7 193 50 244 104 193 104 + 200 3 11 10 9 4 174 43 174 43 216 + 200 3 11 9 8 4 174 43 216 4 216 + 200 3 8 9 13 4 102 47 102 51 133 + 200 3 8 13 12 4 102 51 133 0 133 + 200 3 9 10 14 5 102 51 102 51 133 + 200 3 9 14 13 5 102 51 133 0 133 + 200 3 10 11 15 4 102 47 102 51 133 + 200 3 10 15 14 4 102 51 133 0 133 + 200 3 11 8 12 0 102 46 102 51 133 + 200 3 11 12 15 0 102 51 133 0 133 + 200 3 19 18 17 51 70 93 70 93 112 + 200 3 19 17 16 51 70 93 112 51 112 + 200 3 16 17 21 193 50 244 50 244 104 + 200 3 16 21 20 193 50 244 104 193 104 + 200 3 17 18 22 193 50 244 50 244 104 + 200 3 17 22 21 193 50 244 104 193 104 + 200 3 18 19 23 193 50 244 50 244 104 + 200 3 18 23 22 193 50 244 104 193 104 + 200 3 19 16 20 193 50 244 50 244 104 + 200 3 19 20 23 193 50 244 104 193 104 CONNECTORS 1 0 45 78 diff --git a/data/mp/structs/stwpfcan.pie b/data/mp/structs/stwpfcan.pie index 9c2b7633d..694d21407 100644 --- a/data/mp/structs/stwpfcan.pie +++ b/data/mp/structs/stwpfcan.pie @@ -70,55 +70,92 @@ POINTS 66 -77 127 0 78 127 0 0 127 77 -POLYGONS 49 - 200 4 3 2 1 0 100 172 121 172 130 208 90 208 - 200 4 7 6 5 4 12 225 44 225 44 238 12 238 - 200 4 3 8 6 2 12 225 44 225 44 238 12 238 - 200 4 2 6 9 1 90 172 130 172 111 208 90 208 - 200 4 8 3 0 10 90 172 130 172 130 208 110 208 +POLYGONS 86 + 200 3 3 2 1 100 172 121 172 130 208 + 200 3 3 1 0 100 172 130 208 90 208 + 200 3 7 6 5 12 225 44 225 44 238 + 200 3 7 5 4 12 225 44 238 12 238 + 200 3 3 8 6 12 225 44 225 44 238 + 200 3 3 6 2 12 225 44 238 12 238 + 200 3 2 6 9 90 172 130 172 111 208 + 200 3 2 9 1 90 172 111 208 90 208 + 200 3 8 3 0 90 172 130 172 130 208 + 200 3 8 0 10 90 172 130 208 110 208 200 3 5 12 11 130 172 111 208 90 208 200 3 11 4 5 90 208 90 172 130 172 - 200 4 6 7 13 9 90 172 130 172 130 208 110 208 - 200 4 7 4 11 13 100 172 121 172 130 208 90 208 - 200 4 17 16 15 14 100 172 121 172 130 208 90 208 - 200 4 21 20 19 18 12 225 44 225 44 238 12 238 - 200 4 17 19 22 16 12 225 44 225 44 238 12 238 + 200 3 6 7 13 90 172 130 172 130 208 + 200 3 6 13 9 90 172 130 208 110 208 + 200 3 7 4 11 100 172 121 172 130 208 + 200 3 7 11 13 100 172 130 208 90 208 + 200 3 17 16 15 100 172 121 172 130 208 + 200 3 17 15 14 100 172 130 208 90 208 + 200 3 21 20 19 12 225 44 225 44 238 + 200 3 21 19 18 12 225 44 238 12 238 + 200 3 17 19 22 12 225 44 225 44 238 + 200 3 17 22 16 12 225 44 238 12 238 200 3 19 24 23 130 172 111 208 90 208 200 3 23 18 19 90 208 90 172 130 172 - 200 4 20 21 26 25 90 172 130 172 130 208 110 208 - 200 4 21 18 23 26 100 172 121 172 130 208 90 208 + 200 3 20 21 26 90 172 130 172 130 208 + 200 3 20 26 25 90 172 130 208 110 208 + 200 3 21 18 23 100 172 121 172 130 208 + 200 3 21 23 26 100 172 130 208 90 208 200 3 22 27 15 130 172 111 208 90 208 200 3 15 16 22 90 208 90 172 130 172 - 200 4 19 17 14 24 90 172 130 172 130 208 110 208 - 200 4 31 30 29 28 100 172 121 172 130 208 90 208 - 200 4 35 34 33 32 100 172 121 172 130 208 90 208 - 200 4 31 37 36 30 12 225 44 225 44 238 12 238 - 200 4 35 36 38 34 12 225 44 225 44 238 12 238 - 200 4 34 38 39 33 90 172 130 172 111 208 90 208 - 200 4 36 35 32 40 90 172 130 172 130 208 110 208 + 200 3 19 17 14 90 172 130 172 130 208 + 200 3 19 14 24 90 172 130 208 110 208 + 200 3 31 30 29 100 172 121 172 130 208 + 200 3 31 29 28 100 172 130 208 90 208 + 200 3 35 34 33 100 172 121 172 130 208 + 200 3 35 33 32 100 172 130 208 90 208 + 200 3 31 37 36 12 225 44 225 44 238 + 200 3 31 36 30 12 225 44 238 12 238 + 200 3 35 36 38 12 225 44 225 44 238 + 200 3 35 38 34 12 225 44 238 12 238 + 200 3 34 38 39 90 172 130 172 111 208 + 200 3 34 39 33 90 172 111 208 90 208 + 200 3 36 35 32 90 172 130 172 130 208 + 200 3 36 32 40 90 172 130 208 110 208 200 3 36 40 29 130 172 111 208 90 208 200 3 29 30 36 90 208 90 172 130 172 - 200 4 37 31 28 41 90 172 130 172 130 208 110 208 - 200 4 45 44 43 42 100 172 121 172 130 208 90 208 - 200 4 49 48 47 46 100 172 121 172 130 208 90 208 - 200 4 49 51 50 48 12 225 44 225 44 238 12 238 - 200 4 45 50 52 44 12 225 44 225 44 238 12 238 - 200 4 44 52 53 43 90 172 130 172 111 208 90 208 - 200 4 50 45 42 54 90 172 130 172 130 208 110 208 - 200 4 48 50 54 47 90 172 130 172 111 208 90 208 - 200 4 51 49 46 55 90 172 130 172 130 208 110 208 - 200 4 37 41 27 22 130 171 130 208 90 208 90 171 - 200 4 20 25 12 5 130 171 130 208 90 208 90 171 - 200 4 51 55 39 38 130 171 130 208 90 208 90 171 - 200 4 57 56 8 10 90 208 90 171 130 171 130 208 + 200 3 37 31 28 90 172 130 172 130 208 + 200 3 37 28 41 90 172 130 208 110 208 + 200 3 45 44 43 100 172 121 172 130 208 + 200 3 45 43 42 100 172 130 208 90 208 + 200 3 49 48 47 100 172 121 172 130 208 + 200 3 49 47 46 100 172 130 208 90 208 + 200 3 49 51 50 12 225 44 225 44 238 + 200 3 49 50 48 12 225 44 238 12 238 + 200 3 45 50 52 12 225 44 225 44 238 + 200 3 45 52 44 12 225 44 238 12 238 + 200 3 44 52 53 90 172 130 172 111 208 + 200 3 44 53 43 90 172 111 208 90 208 + 200 3 50 45 42 90 172 130 172 130 208 + 200 3 50 42 54 90 172 130 208 110 208 + 200 3 48 50 54 90 172 130 172 111 208 + 200 3 48 54 47 90 172 111 208 90 208 + 200 3 51 49 46 90 172 130 172 130 208 + 200 3 51 46 55 90 172 130 208 110 208 + 200 3 37 41 27 130 171 130 208 90 208 + 200 3 37 27 22 130 171 90 208 90 171 + 200 3 20 25 12 130 171 130 208 90 208 + 200 3 20 12 5 130 171 90 208 90 171 + 200 3 51 55 39 130 171 130 208 90 208 + 200 3 51 39 38 130 171 90 208 90 171 + 200 3 57 56 8 90 208 90 171 130 171 + 200 3 57 8 10 90 208 130 171 130 208 200 3 59 36 58 130 172 130 208 90 208 200 3 60 58 19 90 172 130 208 90 208 200 3 6 61 60 90 172 130 172 90 208 200 3 59 61 50 130 208 90 172 130 172 - 200 4 63 62 58 60 0 224 56 224 56 239 0 239 - 200 4 62 64 59 58 56 224 0 224 0 239 56 239 - 200 4 64 65 61 59 56 224 0 224 0 239 56 239 - 200 4 65 63 60 61 0 224 56 224 56 239 0 239 - 200 4 65 64 62 63 64 0 127 50 63 100 0 50 + 200 3 63 62 58 0 224 56 224 56 239 + 200 3 63 58 60 0 224 56 239 0 239 + 200 3 62 64 59 56 224 0 224 0 239 + 200 3 62 59 58 56 224 0 239 56 239 + 200 3 64 65 61 56 224 0 224 0 239 + 200 3 64 61 59 56 224 0 239 56 239 + 200 3 65 63 60 0 224 56 224 56 239 + 200 3 65 60 61 0 224 56 239 0 239 + 200 3 65 64 62 64 0 127 50 63 100 + 200 3 65 62 63 64 0 63 100 0 50 CONNECTORS 1 0 0 129 diff --git a/data/mp/structs/trmflmrp.pie b/data/mp/structs/trmflmrp.pie index 1e1378022..688bbe6d1 100644 --- a/data/mp/structs/trmflmrp.pie +++ b/data/mp/structs/trmflmrp.pie @@ -22,18 +22,32 @@ POINTS 18 -6 17 -9 8 0 -18 7 17 -9 -POLYGONS 14 - 200 4 3 2 1 0 46 177 46 192 60 192 60 177 - 200 4 6 5 2 4 46 177 46 192 60 192 60 177 - 200 4 10 9 8 7 60 192 46 192 46 177 60 177 - 200 4 12 11 0 1 226 23 245 23 245 1 226 1 - 200 4 13 10 2 3 245 23 226 23 226 1 245 1 - 200 4 12 10 13 11 60 192 46 192 46 177 60 177 - 200 4 10 7 4 2 226 23 245 23 245 1 226 1 - 200 4 8 9 5 6 245 23 226 23 226 1 245 1 - 200 4 7 8 6 4 226 23 245 23 245 1 226 1 - 200 4 11 13 3 0 226 23 245 23 245 1 226 1 - 4200 4 5 9 15 14 8 1 25 7 25 27 25 20 0 20 0 27 - 4200 4 17 12 1 16 8 1 25 7 0 20 25 20 25 27 0 27 - 4200 4 12 17 15 9 8 1 16 19 16 0 0 0 0 19 16 19 - 4200 4 17 16 14 15 8 1 18 9 18 28 0 28 0 37 18 37 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 46 177 46 192 60 192 + 200 3 3 1 0 46 177 60 192 60 177 + 200 3 6 5 2 46 177 46 192 60 192 + 200 3 6 2 4 46 177 60 192 60 177 + 200 3 10 9 8 60 192 46 192 46 177 + 200 3 10 8 7 60 192 46 177 60 177 + 200 3 12 11 0 226 23 245 23 245 1 + 200 3 12 0 1 226 23 245 1 226 1 + 200 3 13 10 2 245 23 226 23 226 1 + 200 3 13 2 3 245 23 226 1 245 1 + 200 3 12 10 13 60 192 46 192 46 177 + 200 3 12 13 11 60 192 46 177 60 177 + 200 3 10 7 4 226 23 245 23 245 1 + 200 3 10 4 2 226 23 245 1 226 1 + 200 3 8 9 5 245 23 226 23 226 1 + 200 3 8 5 6 245 23 226 1 245 1 + 200 3 7 8 6 226 23 245 23 245 1 + 200 3 7 6 4 226 23 245 1 226 1 + 200 3 11 13 3 226 23 245 23 245 1 + 200 3 11 3 0 226 23 245 1 226 1 + 4200 3 5 9 15 8 1 25 7 25 27 25 20 0 20 + 4200 3 5 15 14 8 1 25 7 25 27 0 20 0 27 + 4200 3 17 12 1 8 1 25 7 0 20 25 20 25 27 + 4200 3 17 1 16 8 1 25 7 0 20 25 27 0 27 + 4200 3 12 17 15 8 1 16 19 16 0 0 0 0 19 + 4200 3 12 15 9 8 1 16 19 16 0 0 19 16 19 + 4200 3 17 16 14 8 1 18 9 18 28 0 28 0 37 + 4200 3 17 14 15 8 1 18 9 18 28 0 37 18 37 \ No newline at end of file From d73adb4a90053ce9d702b575bf867bc2aaab205b Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 17:36:14 +0100 Subject: [PATCH 058/142] Tessellate components. --- data/base/components/bodies/cybd_run.pie | 156 ++++++---- data/base/components/bodies/cybd_std.pie | 26 +- data/base/components/bodies/cybdpair.pie | 65 ++-- data/base/components/bodies/cybdpjmp.pie | 204 ++++++++----- data/base/components/bodies/cybdplnd.pie | 204 ++++++++----- data/base/components/bodies/cybdprun.pie | 156 ++++++---- data/base/components/bodies/cybdpstd.pie | 26 +- data/base/components/bodies/drhbod09.pie | 29 +- data/base/components/bodies/drhbod10.pie | 47 ++- data/base/components/bodies/drhbod11.pie | 35 ++- data/base/components/bodies/drhbod12.pie | 47 ++- data/base/components/bodies/drlbod01.pie | 29 +- data/base/components/bodies/drlbod02.pie | 32 +- data/base/components/bodies/drlbod03.pie | 56 ++-- data/base/components/bodies/drlbod04.pie | 29 +- data/base/components/bodies/drmbod05.pie | 50 +-- data/base/components/bodies/drmbod06.pie | 38 ++- data/base/components/bodies/drmbod07.pie | 38 ++- data/base/components/bodies/drmbod08.pie | 44 ++- data/base/components/bodies/drtrans.pie | 164 ++++++---- data/base/components/bodies/exbloke.pie | 17 +- data/base/components/bodies/exbuggy.pie | 50 +-- data/base/components/bodies/exbugrk.pie | 53 ++-- data/base/components/bodies/exfire.pie | 92 ++++-- data/base/components/bodies/exjeep.pie | 53 ++-- data/base/components/bodies/exjeeprk.pie | 56 ++-- data/base/components/bodies/exschool.pie | 65 ++-- data/base/components/bodies/extrike.pie | 56 ++-- data/base/components/bodies/fireknee.pie | 60 ++-- data/base/components/bodies/flamfall.pie | 50 +-- data/base/components/bodies/mibnkbod.pie | 104 ++++--- data/base/components/bodies/runanim.pie | 56 ++-- data/base/components/bodies/runflame.pie | 50 +-- data/base/components/bodies/walkanim.pie | 56 ++-- data/base/components/prop/mibnkdrl.pie | 92 ++++-- data/base/components/prop/mibnkdrr.pie | 92 ++++-- data/base/components/prop/prhhov1.pie | 110 ++++--- data/base/components/prop/prhlhtr3.pie | 83 +++-- data/base/components/prop/prhltrk3.pie | 68 +++-- data/base/components/prop/prhlvtl1.pie | 55 ++-- data/base/components/prop/prhlvtl2.pie | 55 ++-- data/base/components/prop/prhlvtl3.pie | 55 ++-- data/base/components/prop/prhlvtl4.pie | 53 ++-- data/base/components/prop/prhlwhl1.pie | 290 ++++++++++++------ data/base/components/prop/prhrhtr3.pie | 83 +++-- data/base/components/prop/prhrtrk3.pie | 68 +++-- data/base/components/prop/prhrvtl1.pie | 53 ++-- data/base/components/prop/prhrvtl2.pie | 55 ++-- data/base/components/prop/prhrvtl3.pie | 53 ++-- data/base/components/prop/prhrvtl4.pie | 53 ++-- data/base/components/prop/prhrwhl1.pie | 290 ++++++++++++------ data/base/components/prop/prlhov1.pie | 53 ++-- data/base/components/prop/prllhtr1.pie | 38 ++- data/base/components/prop/prlltrk1.pie | 32 +- data/base/components/prop/prllvtl1.pie | 35 ++- data/base/components/prop/prllvtl2.pie | 35 ++- data/base/components/prop/prllvtl3.pie | 35 ++- data/base/components/prop/prllwhl1.pie | 174 +++++++---- data/base/components/prop/prlrhtr1.pie | 38 ++- data/base/components/prop/prlrtrk1.pie | 32 +- data/base/components/prop/prlrvtl1.pie | 37 ++- data/base/components/prop/prlrvtl2.pie | 35 ++- data/base/components/prop/prlrvtl3.pie | 37 ++- data/base/components/prop/prlrwhl1.pie | 174 +++++++---- data/base/components/prop/prmhov1.pie | 92 ++++-- data/base/components/prop/prmlhtr2.pie | 38 ++- data/base/components/prop/prmltrk2.pie | 38 ++- data/base/components/prop/prmlvtl1.pie | 35 ++- data/base/components/prop/prmlwhl1.pie | 222 +++++++++----- data/base/components/prop/prmrhtr2.pie | 38 ++- data/base/components/prop/prmrtrk2.pie | 38 ++- data/base/components/prop/prmrvtl1.pie | 35 ++- data/base/components/prop/prmrwhl1.pie | 222 +++++++++----- data/base/components/weapons/cy_can.pie | 35 ++- data/base/components/weapons/cy_flame.pie | 35 ++- data/base/components/weapons/cy_gun.pie | 14 +- data/base/components/weapons/cy_las.pie | 29 +- data/base/components/weapons/cy_miss.pie | 23 +- data/base/components/weapons/cy_rail.pie | 38 ++- data/base/components/weapons/cy_rkt.pie | 20 +- data/base/components/weapons/cybody.pie | 23 +- data/base/components/weapons/cybodyjp.pie | 23 +- data/base/components/weapons/exturret.pie | 20 +- data/base/components/weapons/gnhair.pie | 62 ++-- data/base/components/weapons/gnhair2.pie | 44 ++- data/base/components/weapons/gnhblas.pie | 122 +++++--- data/base/components/weapons/gnhcan.pie | 17 +- data/base/components/weapons/gnhecm3.pie | 20 +- data/base/components/weapons/gnhgss.pie | 26 +- data/base/components/weapons/gnhhowt.pie | 50 +-- data/base/components/weapons/gnhhowt2.pie | 71 +++-- data/base/components/weapons/gnhmort.pie | 50 +-- data/base/components/weapons/gnhmort2.pie | 71 +++-- data/base/components/weapons/gnhmsl.pie | 17 +- data/base/components/weapons/gnhmslab.pie | 26 +- data/base/components/weapons/gnhmsli.pie | 20 +- data/base/components/weapons/gnhmslsa.pie | 74 +++-- data/base/components/weapons/gnhplasm.pie | 38 ++- data/base/components/weapons/gnhrckt.pie | 32 +- data/base/components/weapons/gnhrepar.pie | 74 +++-- data/base/components/weapons/gnhsnsr3.pie | 83 +++-- data/base/components/weapons/gnhsuper.pie | 62 ++-- data/base/components/weapons/gnhvcan.pie | 23 +- data/base/components/weapons/gnlacan.pie | 17 +- data/base/components/weapons/gnlair.pie | 92 ++++-- data/base/components/weapons/gnlcan.pie | 17 +- data/base/components/weapons/gnlcmd1.pie | 26 +- data/base/components/weapons/gnlflmr.pie | 38 ++- data/base/components/weapons/gnlgss.pie | 20 +- data/base/components/weapons/gnlmg1.pie | 35 ++- data/base/components/weapons/gnlmg2.pie | 47 ++- data/base/components/weapons/gnlmsl.pie | 44 ++- data/base/components/weapons/gnlrckt.pie | 44 ++- data/base/components/weapons/gnlrcktp.pie | 56 ++-- data/base/components/weapons/gnlsnsr1.pie | 41 ++- data/base/components/weapons/gnmacan.pie | 17 +- data/base/components/weapons/gnmair.pie | 32 +- data/base/components/weapons/gnmair2.pie | 128 ++++---- data/base/components/weapons/gnmair3.pie | 112 +++---- data/base/components/weapons/gnmcan.pie | 17 +- data/base/components/weapons/gnmecm1.pie | 65 ++-- data/base/components/weapons/gnmecm2.pie | 92 ++++-- data/base/components/weapons/gnmflmr.pie | 74 +++-- data/base/components/weapons/gnmgss.pie | 20 +- data/base/components/weapons/gnmhowt.pie | 35 ++- data/base/components/weapons/gnmlas.pie | 20 +- data/base/components/weapons/gnmmg1.pie | 35 ++- data/base/components/weapons/gnmmg2.pie | 50 +-- data/base/components/weapons/gnmmort.pie | 68 +++-- data/base/components/weapons/gnmmsl.pie | 20 +- data/base/components/weapons/gnmmsla.pie | 74 +++-- data/base/components/weapons/gnmmslaa.pie | 44 ++- data/base/components/weapons/gnmmslat.pie | 38 ++- data/base/components/weapons/gnmmslbb.pie | 32 +- data/base/components/weapons/gnmmslsa.pie | 38 ++- data/base/components/weapons/gnmrckt.pie | 20 +- data/base/components/weapons/gnmrckta.pie | 44 ++- data/base/components/weapons/gnmrcktb.pie | 38 ++- data/base/components/weapons/gnmrepar.pie | 65 ++-- data/base/components/weapons/gnmrktbb.pie | 32 +- data/base/components/weapons/gnmrlas.pie | 11 +- data/base/components/weapons/gnmsnsr2.pie | 80 +++-- data/base/components/weapons/gnmvcan.pie | 23 +- data/base/components/weapons/gnnavbig.pie | 32 +- data/base/components/weapons/mibnkgun.pie | 50 +-- data/base/components/weapons/mibnktur.pie | 122 +++++--- data/base/components/weapons/misensor.pie | 8 +- data/base/components/weapons/trhair.pie | 20 +- data/base/components/weapons/trhcan.pie | 20 +- data/base/components/weapons/trhcon.pie | 38 ++- data/base/components/weapons/trhecm3.pie | 20 +- data/base/components/weapons/trhgss.pie | 17 +- data/base/components/weapons/trhhow2.pie | 74 +++-- data/base/components/weapons/trhhowt.pie | 74 +++-- data/base/components/weapons/trhlas.pie | 20 +- data/base/components/weapons/trhmsl.pie | 68 +++-- data/base/components/weapons/trhmslab.pie | 20 +- data/base/components/weapons/trhmsli.pie | 20 +- data/base/components/weapons/trhmslsa.pie | 35 ++- data/base/components/weapons/trhplasm.pie | 20 +- data/base/components/weapons/trhrckt.pie | 17 +- data/base/components/weapons/trhrmort.pie | 47 ++- data/base/components/weapons/trhsnsr3.pie | 26 +- data/base/components/weapons/trhsuper.pie | 35 ++- data/base/components/weapons/trhvcan.pie | 41 ++- data/base/components/weapons/trlacan.pie | 44 ++- data/base/components/weapons/trlcan.pie | 20 +- data/base/components/weapons/trlcmd1.pie | 29 +- data/base/components/weapons/trlcon.pie | 40 ++- data/base/components/weapons/trlflmr.pie | 35 ++- data/base/components/weapons/trlgss.pie | 17 +- data/base/components/weapons/trlmg1.pie | 32 +- data/base/components/weapons/trlmg2.pie | 32 +- data/base/components/weapons/trlmsl.pie | 49 +-- data/base/components/weapons/trlrckt.pie | 29 +- data/base/components/weapons/trlrcktp.pie | 29 +- data/base/components/weapons/trlsnsr1.pie | 26 +- data/base/components/weapons/trlvtlhe.pie | 38 ++- data/base/components/weapons/trlvtlin.pie | 2 +- data/base/components/weapons/trmacan.pie | 41 ++- data/base/components/weapons/trmair.pie | 20 +- data/base/components/weapons/trmair2.pie | 176 +++++------ data/base/components/weapons/trmair3.pie | 78 ++--- data/base/components/weapons/trmcan.pie | 20 +- data/base/components/weapons/trmcon.pie | 35 ++- data/base/components/weapons/trmecm1.pie | 50 +-- data/base/components/weapons/trmecm2.pie | 26 +- data/base/components/weapons/trmflmr.pie | 53 ++-- data/base/components/weapons/trmgss.pie | 23 +- data/base/components/weapons/trmhowt.pie | 74 +++-- data/base/components/weapons/trmlas.pie | 20 +- data/base/components/weapons/trmmg.pie | 32 +- data/base/components/weapons/trmmort.pie | 59 ++-- data/base/components/weapons/trmmsl.pie | 44 ++- data/base/components/weapons/trmmsla.pie | 41 ++- data/base/components/weapons/trmmslaa.pie | 26 +- data/base/components/weapons/trmmslat.pie | 32 +- data/base/components/weapons/trmmslbb.pie | 29 +- data/base/components/weapons/trmmslsa.pie | 29 +- data/base/components/weapons/trmrckt.pie | 29 +- data/base/components/weapons/trmrckta.pie | 32 +- data/base/components/weapons/trmrcktb.pie | 20 +- data/base/components/weapons/trmrktbb.pie | 32 +- data/base/components/weapons/trmsnsr2.pie | 26 +- data/base/components/weapons/trmvcan.pie | 38 ++- data/base/components/weapons/trmvtlhe.pie | 38 ++- data/base/components/weapons/trmvtlin.pie | 2 +- data/mp/components/bodies/drcytran.pie | 62 ++-- data/mp/components/bodies/drhbod14.pie | 68 +++-- data/mp/components/bodies/drmbod13.pie | 35 ++- data/mp/components/bodies/drtrans.pie | 164 ++++++---- data/mp/components/bodies/scbd_run.pie | 84 +++-- data/mp/components/bodies/scbd_std.pie | 74 +++-- data/mp/components/prop/prshov1.pie | 107 ++++--- data/mp/components/prop/prslhtr4.pie | 110 ++++--- data/mp/components/prop/prsltrk4.pie | 80 +++-- data/mp/components/prop/prslvtl1.pie | 61 ++-- data/mp/components/prop/prslwhl1.pie | 356 +++++++++++++++------- data/mp/components/prop/prsrhtr4.pie | 110 ++++--- data/mp/components/prop/prsrtrk4.pie | 80 +++-- data/mp/components/prop/prsrvtl1.pie | 68 +++-- data/mp/components/prop/prsrwhl1.pie | 356 +++++++++++++++------- data/mp/components/weapons/cy_con.pie | 2 +- data/mp/components/weapons/cy_gren.pie | 32 +- data/mp/components/weapons/cy_rep.pie | 68 +++-- data/mp/components/weapons/cy_therm.pie | 35 ++- data/mp/components/weapons/gnhaalas.pie | 38 ++- data/mp/components/weapons/gnhemp.pie | 11 +- data/mp/components/weapons/gnhlas.pie | 26 +- data/mp/components/weapons/gnhmg1.pie | 74 +++-- data/mp/components/weapons/gnhmorte.pie | 44 ++- data/mp/components/weapons/gnhplsma.pie | 41 ++- data/mp/components/weapons/gnhsnsr4.pie | 46 ++- data/mp/components/weapons/gnhvcan2.pie | 38 ++- data/mp/components/weapons/gnlassat.pie | 26 +- data/mp/components/weapons/gnmflmrp.pie | 17 +- data/mp/components/weapons/gnmhowti.pie | 47 ++- data/mp/components/weapons/gnmmorti.pie | 50 +-- data/mp/components/weapons/gnmrepr2.pie | 55 ++-- data/mp/components/weapons/gnwpfcan.pie | 20 +- data/mp/components/weapons/gnwpfgss.pie | 35 ++- data/mp/components/weapons/gnwpfmsl.pie | 98 ++++-- data/mp/components/weapons/gnwpfrkt.pie | 98 ++++-- data/mp/components/weapons/sc_asscn.pie | 68 +++-- data/mp/components/weapons/sc_atm.pie | 41 ++- data/mp/components/weapons/sc_can.pie | 53 ++-- data/mp/components/weapons/sc_hpvcn.pie | 68 +++-- data/mp/components/weapons/sc_pulse.pie | 56 ++-- data/mp/components/weapons/sc_rail2.pie | 59 ++-- data/mp/components/weapons/sc_tk.pie | 38 ++- data/mp/components/weapons/scbody.pie | 29 +- data/mp/components/weapons/trhemp.pie | 29 +- data/mp/components/weapons/trhmg.pie | 32 +- data/mp/components/weapons/trhvcan2.pie | 47 ++- data/mp/components/weapons/trlassat.pie | 98 ++++-- data/mp/components/weapons/trlvtlem.pie | 38 ++- data/mp/components/weapons/trlvtlpl.pie | 2 +- data/mp/components/weapons/trmvtlem.pie | 38 ++- data/mp/components/weapons/trmvtlpl.pie | 2 +- data/mp/components/weapons/trwpfcan.pie | 35 ++- data/mp/components/weapons/trwpfgss.pie | 35 ++- data/mp/components/weapons/trwpfmsl.pie | 44 ++- data/mp/components/weapons/trwpfrkt.pie | 44 ++- 263 files changed, 9428 insertions(+), 4972 deletions(-) diff --git a/data/base/components/bodies/cybd_run.pie b/data/base/components/bodies/cybd_run.pie index a5663104c..a28c7dc0c 100644 --- a/data/base/components/bodies/cybd_run.pie +++ b/data/base/components/bodies/cybd_run.pie @@ -30,15 +30,23 @@ POINTS 26 -2 34 13 -12 5 0 -10 34 13 -POLYGONS 8 - 200 4 3 2 1 0 62 186 66 186 66 198 62 198 - 200 4 7 6 5 4 62 186 58 186 58 198 62 198 - 200 4 10 9 4 8 11 201 1 201 1 213 11 213 - 200 4 13 12 11 5 1 187 11 187 11 199 1 199 - 200 4 17 16 15 14 90 186 86 186 86 198 90 198 - 200 4 21 20 19 18 82 186 86 186 86 198 82 198 - 200 4 20 23 14 22 29 201 39 201 39 213 29 213 - 200 4 25 21 24 15 39 187 29 187 29 199 39 199 +POLYGONS 16 + 200 3 3 2 1 62 186 66 186 66 198 + 200 3 3 1 0 62 186 66 198 62 198 + 200 3 7 6 5 62 186 58 186 58 198 + 200 3 7 5 4 62 186 58 198 62 198 + 200 3 10 9 4 11 201 1 201 1 213 + 200 3 10 4 8 11 201 1 213 11 213 + 200 3 13 12 11 1 187 11 187 11 199 + 200 3 13 11 5 1 187 11 199 1 199 + 200 3 17 16 15 90 186 86 186 86 198 + 200 3 17 15 14 90 186 86 198 90 198 + 200 3 21 20 19 82 186 86 186 86 198 + 200 3 21 19 18 82 186 86 198 82 198 + 200 3 20 23 14 29 201 39 201 39 213 + 200 3 20 14 22 29 201 39 213 29 213 + 200 3 25 21 24 39 187 29 187 29 199 + 200 3 25 24 15 39 187 29 199 39 199 LEVEL 2 POINTS 24 12 0 -10 @@ -65,15 +73,23 @@ POINTS 24 -2 26 12 -12 0 -1 -10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 70 186 74 186 74 199 70 199 - 200 4 7 6 5 4 70 186 66 186 66 199 70 199 - 200 4 2 9 4 8 20 201 12 201 12 214 20 214 - 200 4 11 3 10 5 12 187 20 187 20 200 12 200 - 200 4 15 14 13 12 98 186 94 186 94 198 98 198 - 200 4 19 18 17 16 90 186 94 186 94 198 90 198 - 200 4 18 21 12 20 40 201 49 201 49 213 40 213 - 200 4 23 19 22 13 49 187 40 187 40 199 49 199 +POLYGONS 16 + 200 3 3 2 1 70 186 74 186 74 199 + 200 3 3 1 0 70 186 74 199 70 199 + 200 3 7 6 5 70 186 66 186 66 199 + 200 3 7 5 4 70 186 66 199 70 199 + 200 3 2 9 4 20 201 12 201 12 214 + 200 3 2 4 8 20 201 12 214 20 214 + 200 3 11 3 10 12 187 20 187 20 200 + 200 3 11 10 5 12 187 20 200 12 200 + 200 3 15 14 13 98 186 94 186 94 198 + 200 3 15 13 12 98 186 94 198 98 198 + 200 3 19 18 17 90 186 94 186 94 198 + 200 3 19 17 16 90 186 94 198 90 198 + 200 3 18 21 12 40 201 49 201 49 213 + 200 3 18 12 20 40 201 49 213 40 213 + 200 3 23 19 22 49 187 40 187 40 199 + 200 3 23 22 13 49 187 40 199 49 199 LEVEL 3 POINTS 26 12 0 8 @@ -102,15 +118,23 @@ POINTS 26 -12 2 -6 -10 26 -6 -10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 78 186 82 186 82 199 78 199 - 200 4 7 6 5 4 78 186 74 186 74 199 78 199 - 200 4 9 7 8 1 28 201 21 201 21 214 28 214 - 200 4 6 11 0 10 21 187 28 187 28 200 21 200 - 200 4 15 14 13 12 106 186 102 186 102 199 106 199 - 200 4 19 18 17 16 98 186 102 186 102 199 98 199 - 200 4 22 21 12 20 50 201 57 201 57 214 50 214 - 200 4 25 24 23 13 57 187 50 187 50 200 57 200 +POLYGONS 16 + 200 3 3 2 1 78 186 82 186 82 199 + 200 3 3 1 0 78 186 82 199 78 199 + 200 3 7 6 5 78 186 74 186 74 199 + 200 3 7 5 4 78 186 74 199 78 199 + 200 3 9 7 8 28 201 21 201 21 214 + 200 3 9 8 1 28 201 21 214 28 214 + 200 3 6 11 0 21 187 28 187 28 200 + 200 3 6 0 10 21 187 28 200 21 200 + 200 3 15 14 13 106 186 102 186 102 199 + 200 3 15 13 12 106 186 102 199 106 199 + 200 3 19 18 17 98 186 102 186 102 199 + 200 3 19 17 16 98 186 102 199 98 199 + 200 3 22 21 12 50 201 57 201 57 214 + 200 3 22 12 20 50 201 57 214 50 214 + 200 3 25 24 23 57 187 50 187 50 200 + 200 3 25 23 13 57 187 50 200 57 200 LEVEL 4 POINTS 26 -4 9 -15 @@ -139,15 +163,23 @@ POINTS 26 2 34 13 12 5 0 10 34 13 -POLYGONS 8 - 200 4 3 2 1 0 66 186 62 186 62 198 66 198 - 200 4 7 6 5 4 58 186 62 186 62 198 58 198 - 200 4 10 9 8 5 1 201 11 201 11 213 1 213 - 200 4 13 12 4 11 11 187 1 187 1 199 11 199 - 200 4 17 16 15 14 86 186 90 186 90 198 86 198 - 200 4 21 20 19 18 86 186 82 186 82 198 86 198 - 200 4 23 21 22 15 39 201 29 201 29 213 39 213 - 200 4 20 25 14 24 29 187 39 187 39 199 29 199 +POLYGONS 16 + 200 3 3 2 1 66 186 62 186 62 198 + 200 3 3 1 0 66 186 62 198 66 198 + 200 3 7 6 5 58 186 62 186 62 198 + 200 3 7 5 4 58 186 62 198 58 198 + 200 3 10 9 8 1 201 11 201 11 213 + 200 3 10 8 5 1 201 11 213 1 213 + 200 3 13 12 4 11 187 1 187 1 199 + 200 3 13 4 11 11 187 1 199 11 199 + 200 3 17 16 15 86 186 90 186 90 198 + 200 3 17 15 14 86 186 90 198 86 198 + 200 3 21 20 19 86 186 82 186 82 198 + 200 3 21 19 18 86 186 82 198 86 198 + 200 3 23 21 22 39 201 29 201 29 213 + 200 3 23 22 15 39 201 29 213 39 213 + 200 3 20 25 14 29 187 39 187 39 199 + 200 3 20 14 24 29 187 39 199 29 199 LEVEL 5 POINTS 24 -4 0 -10 @@ -174,15 +206,23 @@ POINTS 24 2 26 12 12 0 -1 10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 74 186 70 186 70 199 74 199 - 200 4 7 6 5 4 66 186 70 186 70 199 66 199 - 200 4 9 3 8 5 12 201 20 201 20 214 12 214 - 200 4 2 11 4 10 20 187 12 187 12 200 20 200 - 200 4 15 14 13 12 94 186 98 186 98 198 94 198 - 200 4 19 18 17 16 94 186 90 186 90 198 94 198 - 200 4 21 19 20 13 49 201 40 201 40 213 49 213 - 200 4 18 23 12 22 40 187 49 187 49 199 40 199 +POLYGONS 16 + 200 3 3 2 1 74 186 70 186 70 199 + 200 3 3 1 0 74 186 70 199 74 199 + 200 3 7 6 5 66 186 70 186 70 199 + 200 3 7 5 4 66 186 70 199 66 199 + 200 3 9 3 8 12 201 20 201 20 214 + 200 3 9 8 5 12 201 20 214 12 214 + 200 3 2 11 4 20 187 12 187 12 200 + 200 3 2 4 10 20 187 12 200 20 200 + 200 3 15 14 13 94 186 98 186 98 198 + 200 3 15 13 12 94 186 98 198 94 198 + 200 3 19 18 17 94 186 90 186 90 198 + 200 3 19 17 16 94 186 90 198 94 198 + 200 3 21 19 20 49 201 40 201 40 213 + 200 3 21 20 13 49 201 40 213 49 213 + 200 3 18 23 12 40 187 49 187 49 199 + 200 3 18 12 22 40 187 49 199 40 199 LEVEL 6 POINTS 26 -4 0 8 @@ -211,12 +251,20 @@ POINTS 26 12 2 -6 10 26 12 10 26 -6 -POLYGONS 8 - 200 4 3 2 1 0 82 186 78 186 78 199 82 199 - 200 4 7 6 5 4 74 186 78 186 78 199 74 199 - 200 4 6 9 0 8 21 201 28 201 28 214 21 214 - 200 4 11 7 10 1 28 187 21 187 21 200 28 200 - 200 4 15 14 13 12 102 186 106 186 106 199 102 199 - 200 4 19 18 17 16 102 186 98 186 98 199 102 199 - 200 4 22 21 20 13 57 201 50 201 50 214 57 214 - 200 4 25 24 12 23 50 187 57 187 57 200 50 200 +POLYGONS 16 + 200 3 3 2 1 82 186 78 186 78 199 + 200 3 3 1 0 82 186 78 199 82 199 + 200 3 7 6 5 74 186 78 186 78 199 + 200 3 7 5 4 74 186 78 199 74 199 + 200 3 6 9 0 21 201 28 201 28 214 + 200 3 6 0 8 21 201 28 214 21 214 + 200 3 11 7 10 28 187 21 187 21 200 + 200 3 11 10 1 28 187 21 200 28 200 + 200 3 15 14 13 102 186 106 186 106 199 + 200 3 15 13 12 102 186 106 199 102 199 + 200 3 19 18 17 102 186 98 186 98 199 + 200 3 19 17 16 102 186 98 199 102 199 + 200 3 22 21 20 57 201 50 201 50 214 + 200 3 22 20 13 57 201 50 214 57 214 + 200 3 25 24 12 50 187 57 187 57 200 + 200 3 25 12 23 50 187 57 200 50 200 \ No newline at end of file diff --git a/data/base/components/bodies/cybd_std.pie b/data/base/components/bodies/cybd_std.pie index 106138c7e..a0c6d0c07 100644 --- a/data/base/components/bodies/cybd_std.pie +++ b/data/base/components/bodies/cybd_std.pie @@ -30,14 +30,22 @@ POINTS 26 -12 2 -6 -10 26 -6 -10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 78 186 82 186 82 199 78 199 - 200 4 7 6 5 4 78 186 74 186 74 199 78 199 - 200 4 9 7 8 1 28 201 21 201 21 214 28 214 - 200 4 6 11 0 10 21 187 28 187 28 200 21 200 - 200 4 15 14 13 12 106 186 102 186 102 199 106 199 - 200 4 19 18 17 16 98 186 102 186 102 199 98 199 - 200 4 22 21 12 20 50 201 57 201 57 214 50 214 - 200 4 25 24 23 13 57 187 50 187 50 200 57 200 +POLYGONS 16 + 200 3 3 2 1 78 186 82 186 82 199 + 200 3 3 1 0 78 186 82 199 78 199 + 200 3 7 6 5 78 186 74 186 74 199 + 200 3 7 5 4 78 186 74 199 78 199 + 200 3 9 7 8 28 201 21 201 21 214 + 200 3 9 8 1 28 201 21 214 28 214 + 200 3 6 11 0 21 187 28 187 28 200 + 200 3 6 0 10 21 187 28 200 21 200 + 200 3 15 14 13 106 186 102 186 102 199 + 200 3 15 13 12 106 186 102 199 106 199 + 200 3 19 18 17 98 186 102 186 102 199 + 200 3 19 17 16 98 186 102 199 98 199 + 200 3 22 21 12 50 201 57 201 57 214 + 200 3 22 12 20 50 201 57 214 50 214 + 200 3 25 24 23 57 187 50 187 50 200 + 200 3 25 23 13 57 187 50 200 57 200 CONNECTORS 1 0 0 32 diff --git a/data/base/components/bodies/cybdpair.pie b/data/base/components/bodies/cybdpair.pie index 93d5d7c50..3ebcaf14d 100644 --- a/data/base/components/bodies/cybdpair.pie +++ b/data/base/components/bodies/cybdpair.pie @@ -63,27 +63,48 @@ POINTS 59 11 64 6 11 31 9 -11 31 9 -POLYGONS 21 - 200 4 3 2 1 0 82 186 78 186 78 199 82 199 - 200 4 7 6 5 4 74 186 78 186 78 199 74 199 - 200 4 6 9 0 8 21 201 28 201 28 214 21 214 - 200 4 11 7 10 1 28 187 21 187 21 200 28 200 - 200 4 15 14 13 12 102 186 106 186 106 199 102 199 - 200 4 19 18 17 16 102 186 98 186 98 199 102 199 - 200 4 22 21 20 13 57 201 50 201 50 214 57 214 - 200 4 25 24 12 23 50 187 57 187 57 200 50 200 - 200 4 29 28 27 26 19 246 1 246 1 230 19 230 - 200 4 33 32 31 30 1 215 19 215 19 231 1 231 - 200 4 37 36 35 34 57 200 66 200 66 214 57 214 - 200 4 41 40 39 38 9 246 9 255 0 255 0 246 - 200 4 42 43 44 45 130 210 139 210 139 200 130 200 - 200 4 45 44 43 42 130 200 139 200 139 210 130 210 - 200 4 48 47 46 11 66 200 57 200 57 214 66 214 - 200 4 52 51 50 49 137 197 137 186 126 186 126 197 - 200 4 56 55 54 53 118 186 112 186 112 197 118 197 - 200 4 57 56 50 51 137 186 124 186 127 190 137 190 - 200 4 53 58 52 49 124 186 137 186 137 190 127 190 - 200 4 56 53 49 50 124 186 124 197 118 197 118 186 - 200 4 58 57 51 52 118 197 118 186 112 186 112 197 +POLYGONS 42 + 200 3 3 2 1 82 186 78 186 78 199 + 200 3 3 1 0 82 186 78 199 82 199 + 200 3 7 6 5 74 186 78 186 78 199 + 200 3 7 5 4 74 186 78 199 74 199 + 200 3 6 9 0 21 201 28 201 28 214 + 200 3 6 0 8 21 201 28 214 21 214 + 200 3 11 7 10 28 187 21 187 21 200 + 200 3 11 10 1 28 187 21 200 28 200 + 200 3 15 14 13 102 186 106 186 106 199 + 200 3 15 13 12 102 186 106 199 102 199 + 200 3 19 18 17 102 186 98 186 98 199 + 200 3 19 17 16 102 186 98 199 102 199 + 200 3 22 21 20 57 201 50 201 50 214 + 200 3 22 20 13 57 201 50 214 57 214 + 200 3 25 24 12 50 187 57 187 57 200 + 200 3 25 12 23 50 187 57 200 50 200 + 200 3 29 28 27 19 246 1 246 1 230 + 200 3 29 27 26 19 246 1 230 19 230 + 200 3 33 32 31 1 215 19 215 19 231 + 200 3 33 31 30 1 215 19 231 1 231 + 200 3 37 36 35 57 200 66 200 66 214 + 200 3 37 35 34 57 200 66 214 57 214 + 200 3 41 40 39 9 246 9 255 0 255 + 200 3 41 39 38 9 246 0 255 0 246 + 200 3 42 43 44 130 210 139 210 139 200 + 200 3 42 44 45 130 210 139 200 130 200 + 200 3 45 44 43 130 200 139 200 139 210 + 200 3 45 43 42 130 200 139 210 130 210 + 200 3 48 47 46 66 200 57 200 57 214 + 200 3 48 46 11 66 200 57 214 66 214 + 200 3 52 51 50 137 197 137 186 126 186 + 200 3 52 50 49 137 197 126 186 126 197 + 200 3 56 55 54 118 186 112 186 112 197 + 200 3 56 54 53 118 186 112 197 118 197 + 200 3 57 56 50 137 186 124 186 127 190 + 200 3 57 50 51 137 186 127 190 137 190 + 200 3 53 58 52 124 186 137 186 137 190 + 200 3 53 52 49 124 186 137 190 127 190 + 200 3 56 53 49 124 186 124 197 118 197 + 200 3 56 49 50 124 186 118 197 118 186 + 200 3 58 57 51 118 197 118 186 112 186 + 200 3 58 51 52 118 197 112 186 112 197 CONNECTORS 1 -16 4 47 diff --git a/data/base/components/bodies/cybdpjmp.pie b/data/base/components/bodies/cybdpjmp.pie index 988a7c179..df01f1b1f 100644 --- a/data/base/components/bodies/cybdpjmp.pie +++ b/data/base/components/bodies/cybdpjmp.pie @@ -68,29 +68,51 @@ POINTS 64 11 54 0 11 23 11 -11 23 11 -POLYGONS 22 - 200 4 3 2 1 0 66 186 62 186 62 198 66 198 - 200 4 7 6 5 4 58 186 62 186 62 198 58 198 - 200 4 10 9 8 5 1 201 11 201 11 213 1 213 - 200 4 13 12 4 11 11 187 1 187 1 199 11 199 - 200 4 17 16 15 14 86 186 90 186 90 198 86 198 - 200 4 21 20 19 18 86 186 82 186 82 198 86 198 - 200 4 23 21 22 15 39 201 29 201 29 213 39 213 - 200 4 20 25 14 24 29 187 39 187 39 199 29 199 - 200 4 29 28 27 26 19 246 1 246 1 230 19 230 - 200 4 33 32 31 30 1 215 19 215 19 231 1 231 - 200 4 37 36 35 34 57 200 66 200 66 214 57 214 - 200 4 41 40 39 38 9 246 9 255 0 255 0 246 - 200 4 42 43 44 45 130 210 139 210 139 200 130 200 - 200 4 45 44 43 42 130 200 139 200 139 210 130 210 - 200 4 49 48 47 46 66 200 57 200 57 214 66 214 - 200 4 53 52 51 50 153 215 169 215 169 231 153 231 - 200 4 57 56 55 54 137 197 137 186 126 186 126 197 - 200 4 61 60 59 58 118 186 112 186 112 197 118 197 - 200 4 62 61 55 56 137 186 124 186 127 190 137 190 - 200 4 58 63 57 54 124 186 137 186 137 190 127 190 - 200 4 61 58 54 55 124 186 124 197 118 197 118 186 - 200 4 63 62 56 57 118 197 118 186 112 186 112 197 +POLYGONS 44 + 200 3 3 2 1 66 186 62 186 62 198 + 200 3 3 1 0 66 186 62 198 66 198 + 200 3 7 6 5 58 186 62 186 62 198 + 200 3 7 5 4 58 186 62 198 58 198 + 200 3 10 9 8 1 201 11 201 11 213 + 200 3 10 8 5 1 201 11 213 1 213 + 200 3 13 12 4 11 187 1 187 1 199 + 200 3 13 4 11 11 187 1 199 11 199 + 200 3 17 16 15 86 186 90 186 90 198 + 200 3 17 15 14 86 186 90 198 86 198 + 200 3 21 20 19 86 186 82 186 82 198 + 200 3 21 19 18 86 186 82 198 86 198 + 200 3 23 21 22 39 201 29 201 29 213 + 200 3 23 22 15 39 201 29 213 39 213 + 200 3 20 25 14 29 187 39 187 39 199 + 200 3 20 14 24 29 187 39 199 29 199 + 200 3 29 28 27 19 246 1 246 1 230 + 200 3 29 27 26 19 246 1 230 19 230 + 200 3 33 32 31 1 215 19 215 19 231 + 200 3 33 31 30 1 215 19 231 1 231 + 200 3 37 36 35 57 200 66 200 66 214 + 200 3 37 35 34 57 200 66 214 57 214 + 200 3 41 40 39 9 246 9 255 0 255 + 200 3 41 39 38 9 246 0 255 0 246 + 200 3 42 43 44 130 210 139 210 139 200 + 200 3 42 44 45 130 210 139 200 130 200 + 200 3 45 44 43 130 200 139 200 139 210 + 200 3 45 43 42 130 200 139 210 130 210 + 200 3 49 48 47 66 200 57 200 57 214 + 200 3 49 47 46 66 200 57 214 66 214 + 200 3 53 52 51 153 215 169 215 169 231 + 200 3 53 51 50 153 215 169 231 153 231 + 200 3 57 56 55 137 197 137 186 126 186 + 200 3 57 55 54 137 197 126 186 126 197 + 200 3 61 60 59 118 186 112 186 112 197 + 200 3 61 59 58 118 186 112 197 118 197 + 200 3 62 61 55 137 186 124 186 127 190 + 200 3 62 55 56 137 186 127 190 137 190 + 200 3 58 63 57 124 186 137 186 137 190 + 200 3 58 57 54 124 186 137 190 127 190 + 200 3 61 58 54 124 186 124 197 118 197 + 200 3 61 54 55 124 186 118 197 118 186 + 200 3 63 62 56 118 197 118 186 112 186 + 200 3 63 56 57 118 197 112 186 112 197 CONNECTORS 1 -16 4 40 @@ -158,29 +180,51 @@ POINTS 62 11 52 -1 11 22 11 -11 22 11 -POLYGONS 22 - 200 4 3 2 1 0 74 186 70 186 70 199 74 199 - 200 4 7 6 5 4 66 186 70 186 70 199 66 199 - 200 4 9 3 8 5 12 201 20 201 20 214 12 214 - 200 4 2 11 4 10 20 187 12 187 12 200 20 200 - 200 4 15 14 13 12 94 186 98 186 98 198 94 198 - 200 4 19 18 17 16 94 186 90 186 90 198 94 198 - 200 4 21 19 20 13 49 201 40 201 40 213 49 213 - 200 4 18 23 12 22 40 187 49 187 49 199 40 199 - 200 4 27 26 25 24 19 246 1 246 1 230 19 230 - 200 4 31 30 29 28 1 215 19 215 19 231 1 231 - 200 4 35 34 33 32 57 200 66 200 66 214 57 214 - 200 4 39 38 37 36 9 246 9 255 0 255 0 246 - 200 4 40 41 42 43 130 210 139 210 139 200 130 200 - 200 4 43 42 41 40 130 200 139 200 139 210 130 210 - 200 4 47 46 45 44 66 200 57 200 57 214 66 214 - 200 4 51 50 49 48 153 215 169 215 169 231 153 231 - 200 4 55 54 53 52 137 197 137 186 126 186 126 197 - 200 4 59 58 57 56 118 186 112 186 112 197 118 197 - 200 4 60 59 53 54 137 186 124 186 127 190 137 190 - 200 4 56 61 55 52 124 186 137 186 137 190 127 190 - 200 4 59 56 52 53 124 186 124 197 118 197 118 186 - 200 4 61 60 54 55 118 197 118 186 112 186 112 197 +POLYGONS 44 + 200 3 3 2 1 74 186 70 186 70 199 + 200 3 3 1 0 74 186 70 199 74 199 + 200 3 7 6 5 66 186 70 186 70 199 + 200 3 7 5 4 66 186 70 199 66 199 + 200 3 9 3 8 12 201 20 201 20 214 + 200 3 9 8 5 12 201 20 214 12 214 + 200 3 2 11 4 20 187 12 187 12 200 + 200 3 2 4 10 20 187 12 200 20 200 + 200 3 15 14 13 94 186 98 186 98 198 + 200 3 15 13 12 94 186 98 198 94 198 + 200 3 19 18 17 94 186 90 186 90 198 + 200 3 19 17 16 94 186 90 198 94 198 + 200 3 21 19 20 49 201 40 201 40 213 + 200 3 21 20 13 49 201 40 213 49 213 + 200 3 18 23 12 40 187 49 187 49 199 + 200 3 18 12 22 40 187 49 199 40 199 + 200 3 27 26 25 19 246 1 246 1 230 + 200 3 27 25 24 19 246 1 230 19 230 + 200 3 31 30 29 1 215 19 215 19 231 + 200 3 31 29 28 1 215 19 231 1 231 + 200 3 35 34 33 57 200 66 200 66 214 + 200 3 35 33 32 57 200 66 214 57 214 + 200 3 39 38 37 9 246 9 255 0 255 + 200 3 39 37 36 9 246 0 255 0 246 + 200 3 40 41 42 130 210 139 210 139 200 + 200 3 40 42 43 130 210 139 200 130 200 + 200 3 43 42 41 130 200 139 200 139 210 + 200 3 43 41 40 130 200 139 210 130 210 + 200 3 47 46 45 66 200 57 200 57 214 + 200 3 47 45 44 66 200 57 214 66 214 + 200 3 51 50 49 153 215 169 215 169 231 + 200 3 51 49 48 153 215 169 231 153 231 + 200 3 55 54 53 137 197 137 186 126 186 + 200 3 55 53 52 137 197 126 186 126 197 + 200 3 59 58 57 118 186 112 186 112 197 + 200 3 59 57 56 118 186 112 197 118 197 + 200 3 60 59 53 137 186 124 186 127 190 + 200 3 60 53 54 137 186 127 190 137 190 + 200 3 56 61 55 124 186 137 186 137 190 + 200 3 56 55 52 124 186 137 190 127 190 + 200 3 59 56 52 124 186 124 197 118 197 + 200 3 59 52 53 124 186 118 197 118 186 + 200 3 61 60 54 118 197 118 186 112 186 + 200 3 61 54 55 118 197 112 186 112 197 CONNECTORS 1 -16 4 40 @@ -250,28 +294,50 @@ POINTS 64 11 62 -4 11 31 6 -11 31 6 -POLYGONS 22 - 200 4 3 2 1 0 82 186 78 186 78 199 82 199 - 200 4 7 6 5 4 74 186 78 186 78 199 74 199 - 200 4 6 9 0 8 21 201 28 201 28 214 21 214 - 200 4 11 7 10 1 28 187 21 187 21 200 28 200 - 200 4 15 14 13 12 102 186 106 186 106 199 102 199 - 200 4 19 18 17 16 102 186 98 186 98 199 102 199 - 200 4 22 21 20 13 57 201 50 201 50 214 57 214 - 200 4 25 24 12 23 50 187 57 187 57 200 50 200 - 200 4 29 28 27 26 19 246 1 246 1 230 19 230 - 200 4 33 32 31 30 1 215 19 215 19 231 1 231 - 200 4 37 36 35 34 57 200 66 200 66 214 57 214 - 200 4 41 40 39 38 9 246 9 255 0 255 0 246 - 200 4 42 43 44 45 130 210 139 210 139 200 130 200 - 200 4 45 44 43 42 130 200 139 200 139 210 130 210 - 200 4 49 48 47 46 66 200 57 200 57 214 66 214 - 200 4 53 52 51 50 153 215 169 215 169 231 153 231 - 200 4 57 56 55 54 137 197 137 186 126 186 126 197 - 200 4 61 60 59 58 118 186 112 186 112 197 118 197 - 200 4 62 61 55 56 137 186 124 186 127 190 137 190 - 200 4 58 63 57 54 124 186 137 186 137 190 127 190 - 200 4 61 58 54 55 124 186 124 197 118 197 118 186 - 200 4 63 62 56 57 118 197 118 186 112 186 112 197 +POLYGONS 44 + 200 3 3 2 1 82 186 78 186 78 199 + 200 3 3 1 0 82 186 78 199 82 199 + 200 3 7 6 5 74 186 78 186 78 199 + 200 3 7 5 4 74 186 78 199 74 199 + 200 3 6 9 0 21 201 28 201 28 214 + 200 3 6 0 8 21 201 28 214 21 214 + 200 3 11 7 10 28 187 21 187 21 200 + 200 3 11 10 1 28 187 21 200 28 200 + 200 3 15 14 13 102 186 106 186 106 199 + 200 3 15 13 12 102 186 106 199 102 199 + 200 3 19 18 17 102 186 98 186 98 199 + 200 3 19 17 16 102 186 98 199 102 199 + 200 3 22 21 20 57 201 50 201 50 214 + 200 3 22 20 13 57 201 50 214 57 214 + 200 3 25 24 12 50 187 57 187 57 200 + 200 3 25 12 23 50 187 57 200 50 200 + 200 3 29 28 27 19 246 1 246 1 230 + 200 3 29 27 26 19 246 1 230 19 230 + 200 3 33 32 31 1 215 19 215 19 231 + 200 3 33 31 30 1 215 19 231 1 231 + 200 3 37 36 35 57 200 66 200 66 214 + 200 3 37 35 34 57 200 66 214 57 214 + 200 3 41 40 39 9 246 9 255 0 255 + 200 3 41 39 38 9 246 0 255 0 246 + 200 3 42 43 44 130 210 139 210 139 200 + 200 3 42 44 45 130 210 139 200 130 200 + 200 3 45 44 43 130 200 139 200 139 210 + 200 3 45 43 42 130 200 139 210 130 210 + 200 3 49 48 47 66 200 57 200 57 214 + 200 3 49 47 46 66 200 57 214 66 214 + 200 3 53 52 51 153 215 169 215 169 231 + 200 3 53 51 50 153 215 169 231 153 231 + 200 3 57 56 55 137 197 137 186 126 186 + 200 3 57 55 54 137 197 126 186 126 197 + 200 3 61 60 59 118 186 112 186 112 197 + 200 3 61 59 58 118 186 112 197 118 197 + 200 3 62 61 55 137 186 124 186 127 190 + 200 3 62 55 56 137 186 127 190 137 190 + 200 3 58 63 57 124 186 137 186 137 190 + 200 3 58 57 54 124 186 137 190 127 190 + 200 3 61 58 54 124 186 124 197 118 197 + 200 3 61 54 55 124 186 118 197 118 186 + 200 3 63 62 56 118 197 118 186 112 186 + 200 3 63 56 57 118 197 112 186 112 197 CONNECTORS 1 -16 4 40 diff --git a/data/base/components/bodies/cybdplnd.pie b/data/base/components/bodies/cybdplnd.pie index 21f118862..510ced6e3 100644 --- a/data/base/components/bodies/cybdplnd.pie +++ b/data/base/components/bodies/cybdplnd.pie @@ -68,29 +68,51 @@ POINTS 64 11 60 10 11 28 4 -11 28 4 -POLYGONS 22 - 200 4 3 2 1 0 82 186 78 186 78 199 82 199 - 200 4 7 6 5 4 74 186 78 186 78 199 74 199 - 200 4 6 9 0 8 21 201 28 201 28 214 21 214 - 200 4 11 7 10 1 28 187 21 187 21 200 28 200 - 200 4 15 14 13 12 102 186 106 186 106 199 102 199 - 200 4 19 18 17 16 102 186 98 186 98 199 102 199 - 200 4 22 21 20 13 57 201 50 201 50 214 57 214 - 200 4 25 24 12 23 50 187 57 187 57 200 50 200 - 200 4 29 28 27 26 19 246 1 246 1 230 19 230 - 200 4 33 32 31 30 1 215 19 215 19 231 1 231 - 200 4 37 36 35 34 57 200 66 200 66 214 57 214 - 200 4 41 40 39 38 9 246 9 255 0 255 0 246 - 200 4 42 43 44 45 130 210 139 210 139 200 130 200 - 200 4 45 44 43 42 130 200 139 200 139 210 130 210 - 200 4 49 48 47 46 66 200 57 200 57 214 66 214 - 200 4 53 52 51 50 153 215 169 215 169 231 153 231 - 200 4 57 56 55 54 137 197 137 186 126 186 126 197 - 200 4 61 60 59 58 118 186 112 186 112 197 118 197 - 200 4 62 61 55 56 137 186 124 186 127 190 137 190 - 200 4 58 63 57 54 124 186 137 186 137 190 127 190 - 200 4 61 58 54 55 124 186 124 197 118 197 118 186 - 200 4 63 62 56 57 118 197 118 186 112 186 112 197 +POLYGONS 44 + 200 3 3 2 1 82 186 78 186 78 199 + 200 3 3 1 0 82 186 78 199 82 199 + 200 3 7 6 5 74 186 78 186 78 199 + 200 3 7 5 4 74 186 78 199 74 199 + 200 3 6 9 0 21 201 28 201 28 214 + 200 3 6 0 8 21 201 28 214 21 214 + 200 3 11 7 10 28 187 21 187 21 200 + 200 3 11 10 1 28 187 21 200 28 200 + 200 3 15 14 13 102 186 106 186 106 199 + 200 3 15 13 12 102 186 106 199 102 199 + 200 3 19 18 17 102 186 98 186 98 199 + 200 3 19 17 16 102 186 98 199 102 199 + 200 3 22 21 20 57 201 50 201 50 214 + 200 3 22 20 13 57 201 50 214 57 214 + 200 3 25 24 12 50 187 57 187 57 200 + 200 3 25 12 23 50 187 57 200 50 200 + 200 3 29 28 27 19 246 1 246 1 230 + 200 3 29 27 26 19 246 1 230 19 230 + 200 3 33 32 31 1 215 19 215 19 231 + 200 3 33 31 30 1 215 19 231 1 231 + 200 3 37 36 35 57 200 66 200 66 214 + 200 3 37 35 34 57 200 66 214 57 214 + 200 3 41 40 39 9 246 9 255 0 255 + 200 3 41 39 38 9 246 0 255 0 246 + 200 3 42 43 44 130 210 139 210 139 200 + 200 3 42 44 45 130 210 139 200 130 200 + 200 3 45 44 43 130 200 139 200 139 210 + 200 3 45 43 42 130 200 139 210 130 210 + 200 3 49 48 47 66 200 57 200 57 214 + 200 3 49 47 46 66 200 57 214 66 214 + 200 3 53 52 51 153 215 169 215 169 231 + 200 3 53 51 50 153 215 169 231 153 231 + 200 3 57 56 55 137 197 137 186 126 186 + 200 3 57 55 54 137 197 126 186 126 197 + 200 3 61 60 59 118 186 112 186 112 197 + 200 3 61 59 58 118 186 112 197 118 197 + 200 3 62 61 55 137 186 124 186 127 190 + 200 3 62 55 56 137 186 127 190 137 190 + 200 3 58 63 57 124 186 137 186 137 190 + 200 3 58 57 54 124 186 137 190 127 190 + 200 3 61 58 54 124 186 124 197 118 197 + 200 3 61 54 55 124 186 118 197 118 186 + 200 3 63 62 56 118 197 118 186 112 186 + 200 3 63 56 57 118 197 112 186 112 197 CONNECTORS 1 -16 4 40 @@ -158,29 +180,51 @@ POINTS 62 11 50 8 11 17 8 -11 17 8 -POLYGONS 22 - 200 4 3 2 1 0 74 186 70 186 70 199 74 199 - 200 4 7 6 5 4 66 186 70 186 70 199 66 199 - 200 4 9 3 8 5 12 201 20 201 20 214 12 214 - 200 4 2 11 4 10 20 187 12 187 12 200 20 200 - 200 4 15 14 13 12 94 186 98 186 98 198 94 198 - 200 4 19 18 17 16 94 186 90 186 90 198 94 198 - 200 4 21 19 20 13 49 201 40 201 40 213 49 213 - 200 4 18 23 12 22 40 187 49 187 49 199 40 199 - 200 4 27 26 25 24 19 246 1 246 1 230 19 230 - 200 4 31 30 29 28 1 215 19 215 19 231 1 231 - 200 4 35 34 33 32 57 200 66 200 66 214 57 214 - 200 4 39 38 37 36 9 246 9 255 0 255 0 246 - 200 4 40 41 42 43 130 210 139 210 139 200 130 200 - 200 4 43 42 41 40 130 200 139 200 139 210 130 210 - 200 4 47 46 45 44 66 200 57 200 57 214 66 214 - 200 4 51 50 49 48 153 215 169 215 169 231 153 231 - 200 4 55 54 53 52 137 197 137 186 126 186 126 197 - 200 4 59 58 57 56 118 186 112 186 112 197 118 197 - 200 4 60 59 53 54 137 186 124 186 127 190 137 190 - 200 4 56 61 55 52 124 186 137 186 137 190 127 190 - 200 4 59 56 52 53 124 186 124 197 118 197 118 186 - 200 4 61 60 54 55 118 197 118 186 112 186 112 197 +POLYGONS 44 + 200 3 3 2 1 74 186 70 186 70 199 + 200 3 3 1 0 74 186 70 199 74 199 + 200 3 7 6 5 66 186 70 186 70 199 + 200 3 7 5 4 66 186 70 199 66 199 + 200 3 9 3 8 12 201 20 201 20 214 + 200 3 9 8 5 12 201 20 214 12 214 + 200 3 2 11 4 20 187 12 187 12 200 + 200 3 2 4 10 20 187 12 200 20 200 + 200 3 15 14 13 94 186 98 186 98 198 + 200 3 15 13 12 94 186 98 198 94 198 + 200 3 19 18 17 94 186 90 186 90 198 + 200 3 19 17 16 94 186 90 198 94 198 + 200 3 21 19 20 49 201 40 201 40 213 + 200 3 21 20 13 49 201 40 213 49 213 + 200 3 18 23 12 40 187 49 187 49 199 + 200 3 18 12 22 40 187 49 199 40 199 + 200 3 27 26 25 19 246 1 246 1 230 + 200 3 27 25 24 19 246 1 230 19 230 + 200 3 31 30 29 1 215 19 215 19 231 + 200 3 31 29 28 1 215 19 231 1 231 + 200 3 35 34 33 57 200 66 200 66 214 + 200 3 35 33 32 57 200 66 214 57 214 + 200 3 39 38 37 9 246 9 255 0 255 + 200 3 39 37 36 9 246 0 255 0 246 + 200 3 40 41 42 130 210 139 210 139 200 + 200 3 40 42 43 130 210 139 200 130 200 + 200 3 43 42 41 130 200 139 200 139 210 + 200 3 43 41 40 130 200 139 210 130 210 + 200 3 47 46 45 66 200 57 200 57 214 + 200 3 47 45 44 66 200 57 214 66 214 + 200 3 51 50 49 153 215 169 215 169 231 + 200 3 51 49 48 153 215 169 231 153 231 + 200 3 55 54 53 137 197 137 186 126 186 + 200 3 55 53 52 137 197 126 186 126 197 + 200 3 59 58 57 118 186 112 186 112 197 + 200 3 59 57 56 118 186 112 197 118 197 + 200 3 60 59 53 137 186 124 186 127 190 + 200 3 60 53 54 137 186 127 190 137 190 + 200 3 56 61 55 124 186 137 186 137 190 + 200 3 56 55 52 124 186 137 190 127 190 + 200 3 59 56 52 124 186 124 197 118 197 + 200 3 59 52 53 124 186 118 197 118 186 + 200 3 61 60 54 118 197 118 186 112 186 + 200 3 61 54 55 118 197 112 186 112 197 CONNECTORS 1 -16 4 40 @@ -250,28 +294,50 @@ POINTS 64 11 53 6 11 21 9 -11 21 9 -POLYGONS 22 - 200 4 3 2 1 0 66 186 62 186 62 198 66 198 - 200 4 7 6 5 4 58 186 62 186 62 198 58 198 - 200 4 10 9 8 5 1 201 11 201 11 213 1 213 - 200 4 13 12 4 11 11 187 1 187 1 199 11 199 - 200 4 17 16 15 14 86 186 90 186 90 198 86 198 - 200 4 21 20 19 18 86 186 82 186 82 198 86 198 - 200 4 23 21 22 15 39 201 29 201 29 213 39 213 - 200 4 20 25 14 24 29 187 39 187 39 199 29 199 - 200 4 29 28 27 26 19 246 1 246 1 230 19 230 - 200 4 33 32 31 30 1 215 19 215 19 231 1 231 - 200 4 37 36 35 34 57 200 66 200 66 214 57 214 - 200 4 41 40 39 38 9 246 9 255 0 255 0 246 - 200 4 42 43 44 45 130 210 139 210 139 200 130 200 - 200 4 45 44 43 42 130 200 139 200 139 210 130 210 - 200 4 49 48 47 46 66 200 57 200 57 214 66 214 - 200 4 53 52 51 50 153 215 169 215 169 231 153 231 - 200 4 57 56 55 54 137 197 137 186 126 186 126 197 - 200 4 61 60 59 58 118 186 112 186 112 197 118 197 - 200 4 62 61 55 56 137 186 124 186 127 190 137 190 - 200 4 58 63 57 54 124 186 137 186 137 190 127 190 - 200 4 61 58 54 55 124 186 124 197 118 197 118 186 - 200 4 63 62 56 57 118 197 118 186 112 186 112 197 +POLYGONS 44 + 200 3 3 2 1 66 186 62 186 62 198 + 200 3 3 1 0 66 186 62 198 66 198 + 200 3 7 6 5 58 186 62 186 62 198 + 200 3 7 5 4 58 186 62 198 58 198 + 200 3 10 9 8 1 201 11 201 11 213 + 200 3 10 8 5 1 201 11 213 1 213 + 200 3 13 12 4 11 187 1 187 1 199 + 200 3 13 4 11 11 187 1 199 11 199 + 200 3 17 16 15 86 186 90 186 90 198 + 200 3 17 15 14 86 186 90 198 86 198 + 200 3 21 20 19 86 186 82 186 82 198 + 200 3 21 19 18 86 186 82 198 86 198 + 200 3 23 21 22 39 201 29 201 29 213 + 200 3 23 22 15 39 201 29 213 39 213 + 200 3 20 25 14 29 187 39 187 39 199 + 200 3 20 14 24 29 187 39 199 29 199 + 200 3 29 28 27 19 246 1 246 1 230 + 200 3 29 27 26 19 246 1 230 19 230 + 200 3 33 32 31 1 215 19 215 19 231 + 200 3 33 31 30 1 215 19 231 1 231 + 200 3 37 36 35 57 200 66 200 66 214 + 200 3 37 35 34 57 200 66 214 57 214 + 200 3 41 40 39 9 246 9 255 0 255 + 200 3 41 39 38 9 246 0 255 0 246 + 200 3 42 43 44 130 210 139 210 139 200 + 200 3 42 44 45 130 210 139 200 130 200 + 200 3 45 44 43 130 200 139 200 139 210 + 200 3 45 43 42 130 200 139 210 130 210 + 200 3 49 48 47 66 200 57 200 57 214 + 200 3 49 47 46 66 200 57 214 66 214 + 200 3 53 52 51 153 215 169 215 169 231 + 200 3 53 51 50 153 215 169 231 153 231 + 200 3 57 56 55 137 197 137 186 126 186 + 200 3 57 55 54 137 197 126 186 126 197 + 200 3 61 60 59 118 186 112 186 112 197 + 200 3 61 59 58 118 186 112 197 118 197 + 200 3 62 61 55 137 186 124 186 127 190 + 200 3 62 55 56 137 186 127 190 137 190 + 200 3 58 63 57 124 186 137 186 137 190 + 200 3 58 57 54 124 186 137 190 127 190 + 200 3 61 58 54 124 186 124 197 118 197 + 200 3 61 54 55 124 186 118 197 118 186 + 200 3 63 62 56 118 197 118 186 112 186 + 200 3 63 56 57 118 197 112 186 112 197 CONNECTORS 1 -16 4 40 diff --git a/data/base/components/bodies/cybdprun.pie b/data/base/components/bodies/cybdprun.pie index a5663104c..a28c7dc0c 100644 --- a/data/base/components/bodies/cybdprun.pie +++ b/data/base/components/bodies/cybdprun.pie @@ -30,15 +30,23 @@ POINTS 26 -2 34 13 -12 5 0 -10 34 13 -POLYGONS 8 - 200 4 3 2 1 0 62 186 66 186 66 198 62 198 - 200 4 7 6 5 4 62 186 58 186 58 198 62 198 - 200 4 10 9 4 8 11 201 1 201 1 213 11 213 - 200 4 13 12 11 5 1 187 11 187 11 199 1 199 - 200 4 17 16 15 14 90 186 86 186 86 198 90 198 - 200 4 21 20 19 18 82 186 86 186 86 198 82 198 - 200 4 20 23 14 22 29 201 39 201 39 213 29 213 - 200 4 25 21 24 15 39 187 29 187 29 199 39 199 +POLYGONS 16 + 200 3 3 2 1 62 186 66 186 66 198 + 200 3 3 1 0 62 186 66 198 62 198 + 200 3 7 6 5 62 186 58 186 58 198 + 200 3 7 5 4 62 186 58 198 62 198 + 200 3 10 9 4 11 201 1 201 1 213 + 200 3 10 4 8 11 201 1 213 11 213 + 200 3 13 12 11 1 187 11 187 11 199 + 200 3 13 11 5 1 187 11 199 1 199 + 200 3 17 16 15 90 186 86 186 86 198 + 200 3 17 15 14 90 186 86 198 90 198 + 200 3 21 20 19 82 186 86 186 86 198 + 200 3 21 19 18 82 186 86 198 82 198 + 200 3 20 23 14 29 201 39 201 39 213 + 200 3 20 14 22 29 201 39 213 29 213 + 200 3 25 21 24 39 187 29 187 29 199 + 200 3 25 24 15 39 187 29 199 39 199 LEVEL 2 POINTS 24 12 0 -10 @@ -65,15 +73,23 @@ POINTS 24 -2 26 12 -12 0 -1 -10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 70 186 74 186 74 199 70 199 - 200 4 7 6 5 4 70 186 66 186 66 199 70 199 - 200 4 2 9 4 8 20 201 12 201 12 214 20 214 - 200 4 11 3 10 5 12 187 20 187 20 200 12 200 - 200 4 15 14 13 12 98 186 94 186 94 198 98 198 - 200 4 19 18 17 16 90 186 94 186 94 198 90 198 - 200 4 18 21 12 20 40 201 49 201 49 213 40 213 - 200 4 23 19 22 13 49 187 40 187 40 199 49 199 +POLYGONS 16 + 200 3 3 2 1 70 186 74 186 74 199 + 200 3 3 1 0 70 186 74 199 70 199 + 200 3 7 6 5 70 186 66 186 66 199 + 200 3 7 5 4 70 186 66 199 70 199 + 200 3 2 9 4 20 201 12 201 12 214 + 200 3 2 4 8 20 201 12 214 20 214 + 200 3 11 3 10 12 187 20 187 20 200 + 200 3 11 10 5 12 187 20 200 12 200 + 200 3 15 14 13 98 186 94 186 94 198 + 200 3 15 13 12 98 186 94 198 98 198 + 200 3 19 18 17 90 186 94 186 94 198 + 200 3 19 17 16 90 186 94 198 90 198 + 200 3 18 21 12 40 201 49 201 49 213 + 200 3 18 12 20 40 201 49 213 40 213 + 200 3 23 19 22 49 187 40 187 40 199 + 200 3 23 22 13 49 187 40 199 49 199 LEVEL 3 POINTS 26 12 0 8 @@ -102,15 +118,23 @@ POINTS 26 -12 2 -6 -10 26 -6 -10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 78 186 82 186 82 199 78 199 - 200 4 7 6 5 4 78 186 74 186 74 199 78 199 - 200 4 9 7 8 1 28 201 21 201 21 214 28 214 - 200 4 6 11 0 10 21 187 28 187 28 200 21 200 - 200 4 15 14 13 12 106 186 102 186 102 199 106 199 - 200 4 19 18 17 16 98 186 102 186 102 199 98 199 - 200 4 22 21 12 20 50 201 57 201 57 214 50 214 - 200 4 25 24 23 13 57 187 50 187 50 200 57 200 +POLYGONS 16 + 200 3 3 2 1 78 186 82 186 82 199 + 200 3 3 1 0 78 186 82 199 78 199 + 200 3 7 6 5 78 186 74 186 74 199 + 200 3 7 5 4 78 186 74 199 78 199 + 200 3 9 7 8 28 201 21 201 21 214 + 200 3 9 8 1 28 201 21 214 28 214 + 200 3 6 11 0 21 187 28 187 28 200 + 200 3 6 0 10 21 187 28 200 21 200 + 200 3 15 14 13 106 186 102 186 102 199 + 200 3 15 13 12 106 186 102 199 106 199 + 200 3 19 18 17 98 186 102 186 102 199 + 200 3 19 17 16 98 186 102 199 98 199 + 200 3 22 21 12 50 201 57 201 57 214 + 200 3 22 12 20 50 201 57 214 50 214 + 200 3 25 24 23 57 187 50 187 50 200 + 200 3 25 23 13 57 187 50 200 57 200 LEVEL 4 POINTS 26 -4 9 -15 @@ -139,15 +163,23 @@ POINTS 26 2 34 13 12 5 0 10 34 13 -POLYGONS 8 - 200 4 3 2 1 0 66 186 62 186 62 198 66 198 - 200 4 7 6 5 4 58 186 62 186 62 198 58 198 - 200 4 10 9 8 5 1 201 11 201 11 213 1 213 - 200 4 13 12 4 11 11 187 1 187 1 199 11 199 - 200 4 17 16 15 14 86 186 90 186 90 198 86 198 - 200 4 21 20 19 18 86 186 82 186 82 198 86 198 - 200 4 23 21 22 15 39 201 29 201 29 213 39 213 - 200 4 20 25 14 24 29 187 39 187 39 199 29 199 +POLYGONS 16 + 200 3 3 2 1 66 186 62 186 62 198 + 200 3 3 1 0 66 186 62 198 66 198 + 200 3 7 6 5 58 186 62 186 62 198 + 200 3 7 5 4 58 186 62 198 58 198 + 200 3 10 9 8 1 201 11 201 11 213 + 200 3 10 8 5 1 201 11 213 1 213 + 200 3 13 12 4 11 187 1 187 1 199 + 200 3 13 4 11 11 187 1 199 11 199 + 200 3 17 16 15 86 186 90 186 90 198 + 200 3 17 15 14 86 186 90 198 86 198 + 200 3 21 20 19 86 186 82 186 82 198 + 200 3 21 19 18 86 186 82 198 86 198 + 200 3 23 21 22 39 201 29 201 29 213 + 200 3 23 22 15 39 201 29 213 39 213 + 200 3 20 25 14 29 187 39 187 39 199 + 200 3 20 14 24 29 187 39 199 29 199 LEVEL 5 POINTS 24 -4 0 -10 @@ -174,15 +206,23 @@ POINTS 24 2 26 12 12 0 -1 10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 74 186 70 186 70 199 74 199 - 200 4 7 6 5 4 66 186 70 186 70 199 66 199 - 200 4 9 3 8 5 12 201 20 201 20 214 12 214 - 200 4 2 11 4 10 20 187 12 187 12 200 20 200 - 200 4 15 14 13 12 94 186 98 186 98 198 94 198 - 200 4 19 18 17 16 94 186 90 186 90 198 94 198 - 200 4 21 19 20 13 49 201 40 201 40 213 49 213 - 200 4 18 23 12 22 40 187 49 187 49 199 40 199 +POLYGONS 16 + 200 3 3 2 1 74 186 70 186 70 199 + 200 3 3 1 0 74 186 70 199 74 199 + 200 3 7 6 5 66 186 70 186 70 199 + 200 3 7 5 4 66 186 70 199 66 199 + 200 3 9 3 8 12 201 20 201 20 214 + 200 3 9 8 5 12 201 20 214 12 214 + 200 3 2 11 4 20 187 12 187 12 200 + 200 3 2 4 10 20 187 12 200 20 200 + 200 3 15 14 13 94 186 98 186 98 198 + 200 3 15 13 12 94 186 98 198 94 198 + 200 3 19 18 17 94 186 90 186 90 198 + 200 3 19 17 16 94 186 90 198 94 198 + 200 3 21 19 20 49 201 40 201 40 213 + 200 3 21 20 13 49 201 40 213 49 213 + 200 3 18 23 12 40 187 49 187 49 199 + 200 3 18 12 22 40 187 49 199 40 199 LEVEL 6 POINTS 26 -4 0 8 @@ -211,12 +251,20 @@ POINTS 26 12 2 -6 10 26 12 10 26 -6 -POLYGONS 8 - 200 4 3 2 1 0 82 186 78 186 78 199 82 199 - 200 4 7 6 5 4 74 186 78 186 78 199 74 199 - 200 4 6 9 0 8 21 201 28 201 28 214 21 214 - 200 4 11 7 10 1 28 187 21 187 21 200 28 200 - 200 4 15 14 13 12 102 186 106 186 106 199 102 199 - 200 4 19 18 17 16 102 186 98 186 98 199 102 199 - 200 4 22 21 20 13 57 201 50 201 50 214 57 214 - 200 4 25 24 12 23 50 187 57 187 57 200 50 200 +POLYGONS 16 + 200 3 3 2 1 82 186 78 186 78 199 + 200 3 3 1 0 82 186 78 199 82 199 + 200 3 7 6 5 74 186 78 186 78 199 + 200 3 7 5 4 74 186 78 199 74 199 + 200 3 6 9 0 21 201 28 201 28 214 + 200 3 6 0 8 21 201 28 214 21 214 + 200 3 11 7 10 28 187 21 187 21 200 + 200 3 11 10 1 28 187 21 200 28 200 + 200 3 15 14 13 102 186 106 186 106 199 + 200 3 15 13 12 102 186 106 199 102 199 + 200 3 19 18 17 102 186 98 186 98 199 + 200 3 19 17 16 102 186 98 199 102 199 + 200 3 22 21 20 57 201 50 201 50 214 + 200 3 22 20 13 57 201 50 214 57 214 + 200 3 25 24 12 50 187 57 187 57 200 + 200 3 25 12 23 50 187 57 200 50 200 \ No newline at end of file diff --git a/data/base/components/bodies/cybdpstd.pie b/data/base/components/bodies/cybdpstd.pie index 49fb94e24..c94c380c7 100644 --- a/data/base/components/bodies/cybdpstd.pie +++ b/data/base/components/bodies/cybdpstd.pie @@ -30,14 +30,22 @@ POINTS 26 -12 2 -6 -10 26 -6 -10 26 12 -POLYGONS 8 - 200 4 3 2 1 0 78 186 82 186 82 199 78 199 - 200 4 7 6 5 4 78 186 74 186 74 199 78 199 - 200 4 9 7 8 1 28 201 21 201 21 214 28 214 - 200 4 6 11 0 10 21 187 28 187 28 200 21 200 - 200 4 15 14 13 12 106 186 102 186 102 199 106 199 - 200 4 19 18 17 16 98 186 102 186 102 199 98 199 - 200 4 22 21 12 20 50 201 57 201 57 214 50 214 - 200 4 25 24 23 13 57 187 50 187 50 200 57 200 +POLYGONS 16 + 200 3 3 2 1 78 186 82 186 82 199 + 200 3 3 1 0 78 186 82 199 78 199 + 200 3 7 6 5 78 186 74 186 74 199 + 200 3 7 5 4 78 186 74 199 78 199 + 200 3 9 7 8 28 201 21 201 21 214 + 200 3 9 8 1 28 201 21 214 28 214 + 200 3 6 11 0 21 187 28 187 28 200 + 200 3 6 0 10 21 187 28 200 21 200 + 200 3 15 14 13 106 186 102 186 102 199 + 200 3 15 13 12 106 186 102 199 106 199 + 200 3 19 18 17 98 186 102 186 102 199 + 200 3 19 17 16 98 186 102 199 98 199 + 200 3 22 21 12 50 201 57 201 57 214 + 200 3 22 12 20 50 201 57 214 50 214 + 200 3 25 24 23 57 187 50 187 50 200 + 200 3 25 23 13 57 187 50 200 57 200 CONNECTORS 1 0 0 0 diff --git a/data/base/components/bodies/drhbod09.pie b/data/base/components/bodies/drhbod09.pie index 476c4ff8d..3e8bac68e 100644 --- a/data/base/components/bodies/drhbod09.pie +++ b/data/base/components/bodies/drhbod09.pie @@ -18,21 +18,30 @@ POINTS 14 -19 20 33 19 17 -15 19 20 33 -POLYGONS 15 - 200 4 3 2 1 0 4 103 2 109 19 109 16 103 - 200 4 5 4 1 2 4 118 17 118 19 109 2 109 - 200 4 7 6 4 5 216 57 238 57 233 48 222 48 - 200 4 9 6 7 8 232 81 238 57 216 57 222 81 +POLYGONS 24 + 200 3 3 2 1 4 103 2 109 19 109 + 200 3 3 1 0 4 103 19 109 16 103 + 200 3 5 4 1 4 118 17 118 19 109 + 200 3 5 1 2 4 118 19 109 2 109 + 200 3 7 6 4 216 57 238 57 233 48 + 200 3 7 4 5 216 57 233 48 222 48 + 200 3 9 6 7 232 81 238 57 216 57 + 200 3 9 7 8 232 81 216 57 222 81 200 3 2 11 10 4 120 1 140 0 128 200 3 13 1 12 17 140 14 120 18 128 200 3 11 0 13 0 140 13 120 18 140 200 3 0 11 3 13 120 0 140 5 120 - 200 4 7 5 2 10 254 102 251 92 244 88 244 102 - 200 4 8 7 10 11 252 130 254 102 244 102 244 124 + 200 3 7 5 2 254 102 251 92 244 88 + 200 3 7 2 10 254 102 244 88 244 102 + 200 3 8 7 10 252 130 254 102 244 102 + 200 3 8 10 11 252 130 244 102 244 124 200 3 3 11 2 239 87 244 124 244 88 - 200 4 9 8 11 13 203 27 194 27 188 41 209 41 - 200 4 6 9 13 12 254 102 252 130 244 124 244 102 - 200 4 4 6 12 1 251 92 254 102 244 102 244 88 + 200 3 9 8 11 203 27 194 27 188 41 + 200 3 9 11 13 203 27 188 41 209 41 + 200 3 6 9 13 254 102 252 130 244 124 + 200 3 6 13 12 254 102 244 124 244 102 + 200 3 4 6 12 251 92 254 102 244 102 + 200 3 4 12 1 251 92 244 102 244 88 200 3 13 0 1 244 124 240 87 244 88 CONNECTORS 8 0 23 35 diff --git a/data/base/components/bodies/drhbod10.pie b/data/base/components/bodies/drhbod10.pie index 54d28f639..ea6bb03bb 100644 --- a/data/base/components/bodies/drhbod10.pie +++ b/data/base/components/bodies/drhbod10.pie @@ -24,22 +24,37 @@ POINTS 20 -19 11 50 -19 11 -26 -9 4 -38 -POLYGONS 15 - 200 4 3 2 1 0 128 26 110 16 110 16 128 26 - 200 4 5 0 1 4 155 37 153 47 169 47 167 37 - 200 4 2 3 7 6 101 51 112 51 111 66 102 66 - 200 4 7 3 0 5 118 66 111 51 120 51 120 66 - 200 4 2 6 4 1 112 49 118 65 120 65 120 49 - 200 4 11 10 9 8 80 63 70 63 64 57 86 57 - 200 4 8 9 13 12 86 57 64 57 64 16 86 16 - 200 4 15 11 8 14 100 63 94 63 87 56 97 56 - 200 4 14 8 12 16 97 56 87 56 87 16 97 16 - 200 4 9 18 17 13 86 56 98 56 98 16 86 16 - 200 4 10 19 18 9 94 62 100 62 98 56 86 56 - 200 4 16 12 13 17 131 16 131 28 110 28 110 16 - 200 4 6 7 5 4 111 60 102 60 102 65 111 65 - 200 4 18 14 16 17 153 39 169 39 169 47 153 47 - 200 4 19 15 14 18 157 37 164 37 169 39 153 39 +POLYGONS 30 + 200 3 3 2 1 128 26 110 16 110 16 + 200 3 3 1 0 128 26 110 16 128 26 + 200 3 5 0 1 155 37 153 47 169 47 + 200 3 5 1 4 155 37 169 47 167 37 + 200 3 2 3 7 101 51 112 51 111 66 + 200 3 2 7 6 101 51 111 66 102 66 + 200 3 7 3 0 118 66 111 51 120 51 + 200 3 7 0 5 118 66 120 51 120 66 + 200 3 2 6 4 112 49 118 65 120 65 + 200 3 2 4 1 112 49 120 65 120 49 + 200 3 11 10 9 80 63 70 63 64 57 + 200 3 11 9 8 80 63 64 57 86 57 + 200 3 8 9 13 86 57 64 57 64 16 + 200 3 8 13 12 86 57 64 16 86 16 + 200 3 15 11 8 100 63 94 63 87 56 + 200 3 15 8 14 100 63 87 56 97 56 + 200 3 14 8 12 97 56 87 56 87 16 + 200 3 14 12 16 97 56 87 16 97 16 + 200 3 9 18 17 86 56 98 56 98 16 + 200 3 9 17 13 86 56 98 16 86 16 + 200 3 10 19 18 94 62 100 62 98 56 + 200 3 10 18 9 94 62 98 56 86 56 + 200 3 16 12 13 131 16 131 28 110 28 + 200 3 16 13 17 131 16 110 28 110 16 + 200 3 6 7 5 111 60 102 60 102 65 + 200 3 6 5 4 111 60 102 65 111 65 + 200 3 18 14 16 153 39 169 39 169 47 + 200 3 18 16 17 153 39 169 47 153 47 + 200 3 19 15 14 157 37 164 37 169 39 + 200 3 19 14 18 157 37 169 39 153 39 CONNECTORS 8 0 32 27 0 -52 17 diff --git a/data/base/components/bodies/drhbod11.pie b/data/base/components/bodies/drhbod11.pie index 1c85852ea..724e4bb97 100644 --- a/data/base/components/bodies/drhbod11.pie +++ b/data/base/components/bodies/drhbod11.pie @@ -18,19 +18,30 @@ POINTS 14 19 31 -22 19 10 36 19 10 -33 -POLYGONS 13 - 200 4 3 2 1 0 35 67 59 67 59 60 35 60 - 200 4 5 3 0 4 209 49 209 92 215 86 215 61 - 200 4 7 6 3 5 201 56 201 86 209 92 209 49 +POLYGONS 24 + 200 3 3 2 1 35 67 59 67 59 60 + 200 3 3 1 0 35 67 59 60 35 60 + 200 3 5 3 0 209 49 209 92 215 86 + 200 3 5 0 4 209 49 215 86 215 61 + 200 3 7 6 3 201 56 201 86 209 92 + 200 3 7 3 5 201 56 209 92 209 49 200 3 5 8 7 209 49 206 49 201 56 - 200 4 10 8 5 9 148 58 121 58 121 61 148 61 - 200 4 9 5 4 11 175 49 149 49 149 63 175 63 - 200 4 0 1 11 4 22 92 48 92 48 68 22 68 - 200 4 6 12 2 3 147 58 123 58 123 49 147 49 - 200 4 8 10 13 7 121 73 148 73 148 62 121 62 - 200 4 7 13 12 6 209 27 188 27 188 44 209 44 - 200 4 2 9 11 1 186 91 186 48 181 60 181 85 - 200 4 12 13 9 2 196 84 196 55 186 48 186 91 + 200 3 10 8 5 148 58 121 58 121 61 + 200 3 10 5 9 148 58 121 61 148 61 + 200 3 9 5 4 175 49 149 49 149 63 + 200 3 9 4 11 175 49 149 63 175 63 + 200 3 0 1 11 22 92 48 92 48 68 + 200 3 0 11 4 22 92 48 68 22 68 + 200 3 6 12 2 147 58 123 58 123 49 + 200 3 6 2 3 147 58 123 49 147 49 + 200 3 8 10 13 121 73 148 73 148 62 + 200 3 8 13 7 121 73 148 62 121 62 + 200 3 7 13 12 209 27 188 27 188 44 + 200 3 7 12 6 209 27 188 44 209 44 + 200 3 2 9 11 186 91 186 48 181 60 + 200 3 2 11 1 186 91 181 60 181 85 + 200 3 12 13 9 196 84 196 55 186 48 + 200 3 12 9 2 196 84 186 48 186 91 200 3 9 13 10 186 48 196 55 191 48 CONNECTORS 8 0 12 34 diff --git a/data/base/components/bodies/drhbod12.pie b/data/base/components/bodies/drhbod12.pie index 3786bef9c..70dc5aa9c 100644 --- a/data/base/components/bodies/drhbod12.pie +++ b/data/base/components/bodies/drhbod12.pie @@ -22,22 +22,37 @@ POINTS 18 12 9 -29 12 33 -29 19 19 -29 -POLYGONS 17 - 200 4 3 2 1 0 4 37 21 37 25 51 0 51 - 200 4 7 6 5 4 191 26 188 21 207 21 204 26 - 200 4 6 9 8 5 188 21 191 18 204 18 207 21 - 200 4 0 1 11 10 0 66 24 66 20 52 4 52 - 200 4 1 13 12 11 247 82 247 40 239 40 240 67 - 200 4 2 14 13 1 253 67 255 40 247 40 247 82 - 200 4 4 5 13 14 251 31 247 31 247 40 255 40 - 200 4 8 12 13 5 243 36 239 40 247 40 247 31 - 200 4 15 10 11 12 210 31 209 45 221 45 220 31 - 200 4 15 12 8 9 210 31 220 31 219 29 211 29 - 200 4 2 3 16 14 20 102 1 102 1 77 19 77 - 200 4 16 7 4 14 1 77 3 69 17 69 19 77 - 200 4 17 0 10 15 247 40 247 82 240 67 240 40 - 200 4 16 3 0 17 254 40 253 67 247 82 247 40 - 200 4 7 16 17 6 251 31 254 40 247 40 247 31 +POLYGONS 32 + 200 3 3 2 1 4 37 21 37 25 51 + 200 3 3 1 0 4 37 25 51 0 51 + 200 3 7 6 5 191 26 188 21 207 21 + 200 3 7 5 4 191 26 207 21 204 26 + 200 3 6 9 8 188 21 191 18 204 18 + 200 3 6 8 5 188 21 204 18 207 21 + 200 3 0 1 11 0 66 24 66 20 52 + 200 3 0 11 10 0 66 20 52 4 52 + 200 3 1 13 12 247 82 247 40 239 40 + 200 3 1 12 11 247 82 239 40 240 67 + 200 3 2 14 13 253 67 255 40 247 40 + 200 3 2 13 1 253 67 247 40 247 82 + 200 3 4 5 13 251 31 247 31 247 40 + 200 3 4 13 14 251 31 247 40 255 40 + 200 3 8 12 13 243 36 239 40 247 40 + 200 3 8 13 5 243 36 247 40 247 31 + 200 3 15 10 11 210 31 209 45 221 45 + 200 3 15 11 12 210 31 221 45 220 31 + 200 3 15 12 8 210 31 220 31 219 29 + 200 3 15 8 9 210 31 219 29 211 29 + 200 3 2 3 16 20 102 1 102 1 77 + 200 3 2 16 14 20 102 1 77 19 77 + 200 3 16 7 4 1 77 3 69 17 69 + 200 3 16 4 14 1 77 17 69 19 77 + 200 3 17 0 10 247 40 247 82 240 67 + 200 3 17 10 15 247 40 240 67 240 40 + 200 3 16 3 0 254 40 253 67 247 82 + 200 3 16 0 17 254 40 247 82 247 40 + 200 3 7 16 17 251 31 254 40 247 40 + 200 3 7 17 6 251 31 247 40 247 31 200 3 15 9 6 240 40 243 36 247 31 200 3 15 6 17 240 40 247 31 247 40 CONNECTORS 8 diff --git a/data/base/components/bodies/drlbod01.pie b/data/base/components/bodies/drlbod01.pie index af4511b8d..d8f07e0e9 100644 --- a/data/base/components/bodies/drlbod01.pie +++ b/data/base/components/bodies/drlbod01.pie @@ -16,18 +16,27 @@ POINTS 12 10 22 26 13 9 28 13 9 -14 -POLYGONS 11 - 200 4 3 2 1 0 35 3 51 3 51 10 35 10 - 200 4 7 6 5 4 38 24 26 24 26 0 38 1 +POLYGONS 20 + 200 3 3 2 1 35 3 51 3 51 10 + 200 3 3 1 0 35 3 51 10 35 10 + 200 3 7 6 5 38 24 26 24 26 0 + 200 3 7 5 4 38 24 26 0 38 1 200 3 0 6 7 26 35 26 24 38 24 200 3 7 3 0 38 24 31 35 26 35 - 200 4 2 3 7 8 12 36 2 36 0 25 14 25 - 200 4 10 9 4 5 51 10 52 0 62 0 63 10 - 200 4 6 11 10 5 26 24 14 24 14 0 26 0 - 200 4 0 1 11 6 23 35 17 35 14 24 26 24 - 200 4 8 7 4 9 13 24 1 24 1 1 13 1 - 200 4 11 8 9 10 26 24 38 24 38 1 26 0 - 200 4 1 2 8 11 26 35 31 35 38 24 26 24 + 200 3 2 3 7 12 36 2 36 0 25 + 200 3 2 7 8 12 36 0 25 14 25 + 200 3 10 9 4 51 10 52 0 62 0 + 200 3 10 4 5 51 10 62 0 63 10 + 200 3 6 11 10 26 24 14 24 14 0 + 200 3 6 10 5 26 24 14 0 26 0 + 200 3 0 1 11 23 35 17 35 14 24 + 200 3 0 11 6 23 35 14 24 26 24 + 200 3 8 7 4 13 24 1 24 1 1 + 200 3 8 4 9 13 24 1 1 13 1 + 200 3 11 8 9 26 24 38 24 38 1 + 200 3 11 9 10 26 24 38 1 26 0 + 200 3 1 2 8 26 35 31 35 38 24 + 200 3 1 8 11 26 35 38 24 26 24 CONNECTORS 8 0 10 23 0 -25 13 diff --git a/data/base/components/bodies/drlbod02.pie b/data/base/components/bodies/drlbod02.pie index b0dad0f34..2028d6423 100644 --- a/data/base/components/bodies/drlbod02.pie +++ b/data/base/components/bodies/drlbod02.pie @@ -16,17 +16,27 @@ POINTS 12 9 21 -27 -4 11 -31 4 11 -31 -POLYGONS 10 - 200 4 3 2 1 0 49 85 49 67 69 71 69 82 - 200 4 7 6 5 4 60 67 60 63 81 64 81 66 - 200 4 9 8 2 3 72 81 72 72 88 68 88 85 - 200 4 8 9 11 10 97 64 97 73 88 71 88 66 - 200 4 11 9 3 6 48 94 51 88 69 85 69 94 - 200 4 3 0 5 6 70 85 47 85 50 91 70 94 - 200 4 2 7 4 1 70 85 70 94 50 91 47 85 - 200 4 2 8 10 7 69 85 51 88 48 94 69 94 - 200 4 0 1 4 5 87 73 87 85 100 84 100 75 - 200 4 10 11 6 7 218 129 218 130 239 131 239 127 +POLYGONS 20 + 200 3 3 2 1 49 85 49 67 69 71 + 200 3 3 1 0 49 85 69 71 69 82 + 200 3 7 6 5 60 67 60 63 81 64 + 200 3 7 5 4 60 67 81 64 81 66 + 200 3 9 8 2 72 81 72 72 88 68 + 200 3 9 2 3 72 81 88 68 88 85 + 200 3 8 9 11 97 64 97 73 88 71 + 200 3 8 11 10 97 64 88 71 88 66 + 200 3 11 9 3 48 94 51 88 69 85 + 200 3 11 3 6 48 94 69 85 69 94 + 200 3 3 0 5 70 85 47 85 50 91 + 200 3 3 5 6 70 85 50 91 70 94 + 200 3 2 7 4 70 85 70 94 50 91 + 200 3 2 4 1 70 85 50 91 47 85 + 200 3 2 8 10 69 85 51 88 48 94 + 200 3 2 10 7 69 85 48 94 69 94 + 200 3 0 1 4 87 73 87 85 100 84 + 200 3 0 4 5 87 73 100 84 100 75 + 200 3 10 11 6 218 129 218 130 239 131 + 200 3 10 6 7 218 129 239 131 239 127 CONNECTORS 8 0 20 27 0 -25 17 diff --git a/data/base/components/bodies/drlbod03.pie b/data/base/components/bodies/drlbod03.pie index df4e3cf21..dc424c5b4 100644 --- a/data/base/components/bodies/drlbod03.pie +++ b/data/base/components/bodies/drlbod03.pie @@ -24,25 +24,43 @@ POINTS 20 -12 29 -22 -7 10 -42 -7 24 -42 -POLYGONS 18 - 200 4 3 2 1 0 163 1 163 12 173 12 173 2 - 200 4 5 4 2 3 155 0 155 15 163 12 163 1 - 200 4 7 6 4 5 145 0 145 15 155 15 155 0 - 200 4 9 8 6 7 136 3 136 12 145 15 145 0 - 200 4 13 12 11 10 173 12 163 12 163 1 173 2 - 200 4 12 15 14 11 163 12 155 15 155 0 163 1 - 200 4 15 17 16 14 155 15 145 15 145 0 155 0 - 200 4 17 19 18 16 145 15 136 11 136 3 145 0 - 200 4 10 11 3 0 100 0 110 0 110 16 100 16 - 200 4 11 14 5 3 110 0 117 0 117 16 110 16 - 200 4 14 16 7 5 117 0 126 1 126 15 117 16 - 200 4 16 18 9 7 126 1 134 4 134 12 126 15 - 200 4 18 19 8 9 174 5 184 5 184 14 174 14 - 200 4 19 17 6 8 64 4 73 1 73 15 64 12 - 200 4 17 15 4 6 73 1 83 0 83 16 73 15 - 200 4 15 12 2 4 83 0 91 0 91 16 83 16 - 200 4 12 13 1 2 91 0 100 0 100 16 91 16 - 200 4 13 10 0 1 184 0 173 0 173 16 184 16 +POLYGONS 36 + 200 3 3 2 1 163 1 163 12 173 12 + 200 3 3 1 0 163 1 173 12 173 2 + 200 3 5 4 2 155 0 155 15 163 12 + 200 3 5 2 3 155 0 163 12 163 1 + 200 3 7 6 4 145 0 145 15 155 15 + 200 3 7 4 5 145 0 155 15 155 0 + 200 3 9 8 6 136 3 136 12 145 15 + 200 3 9 6 7 136 3 145 15 145 0 + 200 3 13 12 11 173 12 163 12 163 1 + 200 3 13 11 10 173 12 163 1 173 2 + 200 3 12 15 14 163 12 155 15 155 0 + 200 3 12 14 11 163 12 155 0 163 1 + 200 3 15 17 16 155 15 145 15 145 0 + 200 3 15 16 14 155 15 145 0 155 0 + 200 3 17 19 18 145 15 136 11 136 3 + 200 3 17 18 16 145 15 136 3 145 0 + 200 3 10 11 3 100 0 110 0 110 16 + 200 3 10 3 0 100 0 110 16 100 16 + 200 3 11 14 5 110 0 117 0 117 16 + 200 3 11 5 3 110 0 117 16 110 16 + 200 3 14 16 7 117 0 126 1 126 15 + 200 3 14 7 5 117 0 126 15 117 16 + 200 3 16 18 9 126 1 134 4 134 12 + 200 3 16 9 7 126 1 134 12 126 15 + 200 3 18 19 8 174 5 184 5 184 14 + 200 3 18 8 9 174 5 184 14 174 14 + 200 3 19 17 6 64 4 73 1 73 15 + 200 3 19 6 8 64 4 73 15 64 12 + 200 3 17 15 4 73 1 83 0 83 16 + 200 3 17 4 6 73 1 83 16 73 15 + 200 3 15 12 2 83 0 91 0 91 16 + 200 3 15 2 4 83 0 91 16 83 16 + 200 3 12 13 1 91 0 100 0 100 16 + 200 3 12 1 2 91 0 100 16 91 16 + 200 3 13 10 0 184 0 173 0 173 16 + 200 3 13 0 1 184 0 173 16 184 16 CONNECTORS 8 0 -12 29 0 -33 19 diff --git a/data/base/components/bodies/drlbod04.pie b/data/base/components/bodies/drlbod04.pie index 64db7def8..21f613c9f 100644 --- a/data/base/components/bodies/drlbod04.pie +++ b/data/base/components/bodies/drlbod04.pie @@ -18,22 +18,31 @@ POINTS 14 -9 10 -12 -10 10 26 -14 17 23 -POLYGONS 15 - 200 4 3 2 1 0 87 102 88 108 65 108 60 102 - 200 4 0 5 4 3 60 102 64 95 85 94 87 102 - 200 4 7 6 4 5 149 81 173 81 173 100 149 100 +POLYGONS 24 + 200 3 3 2 1 87 102 88 108 65 108 + 200 3 3 1 0 87 102 65 108 60 102 + 200 3 0 5 4 60 102 64 95 85 94 + 200 3 0 4 3 60 102 85 94 87 102 + 200 3 7 6 4 149 81 173 81 173 100 + 200 3 7 4 5 149 81 173 100 149 100 200 3 9 0 8 177 65 178 73 178 53 200 3 10 9 8 177 61 177 65 178 53 200 3 10 8 7 107 101 116 101 118 96 - 200 4 9 10 7 5 178 110 178 116 190 122 190 103 + 200 3 9 10 7 178 110 178 116 190 122 + 200 3 9 7 5 178 110 190 122 190 103 200 3 5 0 9 118 96 116 101 107 101 - 200 4 8 0 1 11 178 53 178 73 177 70 177 56 - 200 4 13 8 11 12 87 102 60 102 65 108 88 108 - 200 4 7 8 13 6 64 95 60 102 87 102 85 94 + 200 3 8 0 1 178 53 178 73 177 70 + 200 3 8 1 11 178 53 177 70 177 56 + 200 3 13 8 11 87 102 60 102 65 108 + 200 3 13 11 12 87 102 65 108 88 108 + 200 3 7 8 13 64 95 60 102 87 102 + 200 3 7 13 6 64 95 87 102 85 94 200 3 11 2 12 143 101 166 102 166 101 200 3 1 2 11 143 102 166 102 143 101 - 200 4 13 3 4 6 172 123 172 102 167 105 167 120 - 200 4 12 2 3 13 176 120 176 105 172 102 172 123 + 200 3 13 3 4 172 123 172 102 167 105 + 200 3 13 4 6 172 123 167 105 167 120 + 200 3 12 2 3 176 120 176 105 172 102 + 200 3 12 3 13 176 120 172 102 172 123 CONNECTORS 8 0 8 26 0 -33 16 diff --git a/data/base/components/bodies/drmbod05.pie b/data/base/components/bodies/drmbod05.pie index d27f6b0d6..749236872 100644 --- a/data/base/components/bodies/drmbod05.pie +++ b/data/base/components/bodies/drmbod05.pie @@ -28,27 +28,43 @@ POINTS 24 -17 21 11 -17 21 -38 17 21 -38 -POLYGONS 20 - 200 4 3 2 1 0 178 102 191 102 191 94 178 94 - 200 4 7 6 5 4 224 32 231 29 231 46 224 43 - 200 4 11 10 9 8 51 94 51 111 33 111 33 94 - 200 4 15 14 13 12 173 42 174 42 175 42 177 42 - 200 4 19 18 17 16 175 34 174 34 173 34 172 34 - 200 4 17 18 14 15 173 34 174 34 174 42 173 42 - 200 4 18 19 13 14 174 34 175 34 175 42 174 42 - 200 4 19 16 12 13 175 34 177 34 177 42 175 42 +POLYGONS 36 + 200 3 3 2 1 178 102 191 102 191 94 + 200 3 3 1 0 178 102 191 94 178 94 + 200 3 7 6 5 224 32 231 29 231 46 + 200 3 7 5 4 224 32 231 46 224 43 + 200 3 11 10 9 51 94 51 111 33 111 + 200 3 11 9 8 51 94 33 111 33 94 + 200 3 15 14 13 173 42 174 42 175 42 + 200 3 15 13 12 173 42 175 42 177 42 + 200 3 19 18 17 175 34 174 34 173 34 + 200 3 19 17 16 175 34 173 34 172 34 + 200 3 17 18 14 173 34 174 34 174 42 + 200 3 17 14 15 173 34 174 42 173 42 + 200 3 18 19 13 174 34 175 34 175 42 + 200 3 18 13 14 174 34 175 42 174 42 + 200 3 19 16 12 175 34 177 34 177 42 + 200 3 19 12 13 175 34 177 42 175 42 200 3 20 10 4 231 46 231 43 224 43 200 3 7 11 21 224 32 231 32 231 29 - 200 4 10 11 7 4 231 43 231 32 224 32 224 43 - 200 4 6 22 0 1 145 39 108 39 114 48 150 48 - 200 4 11 8 22 21 135 31 117 31 108 39 134 39 + 200 3 10 11 7 231 43 231 32 224 32 + 200 3 10 7 4 231 43 224 32 224 43 + 200 3 6 22 0 145 39 108 39 114 48 + 200 3 6 0 1 145 39 114 48 150 48 + 200 3 11 8 22 135 31 117 31 108 39 + 200 3 11 22 21 135 31 108 39 134 39 200 3 21 6 7 228 29 231 29 230 32 - 200 4 5 6 1 2 48 111 48 95 59 95 59 111 + 200 3 5 6 1 48 111 48 95 59 95 + 200 3 5 1 2 48 111 59 95 59 111 200 3 4 5 20 230 43 231 46 228 46 - 200 4 5 2 3 23 145 39 150 48 114 48 108 39 - 200 4 9 10 20 23 117 31 135 31 134 39 108 39 - 200 4 22 23 3 0 154 25 176 25 176 34 154 34 - 200 4 8 9 23 22 158 16 172 16 176 25 154 25 + 200 3 5 2 3 145 39 150 48 114 48 + 200 3 5 3 23 145 39 114 48 108 39 + 200 3 9 10 20 117 31 135 31 134 39 + 200 3 9 20 23 117 31 134 39 108 39 + 200 3 22 23 3 154 25 176 25 176 34 + 200 3 22 3 0 154 25 176 34 154 34 + 200 3 8 9 23 158 16 172 16 176 25 + 200 3 8 23 22 158 16 176 25 154 25 CONNECTORS 8 0 1 31 0 -21 21 diff --git a/data/base/components/bodies/drmbod06.pie b/data/base/components/bodies/drmbod06.pie index 93800846e..f9edd3bff 100644 --- a/data/base/components/bodies/drmbod06.pie +++ b/data/base/components/bodies/drmbod06.pie @@ -23,19 +23,31 @@ POINTS 19 -16 24 -39 16 24 -39 16 27 21 -POLYGONS 12 - 200 4 3 2 1 0 2 120 1 141 17 141 16 120 - 200 4 7 6 5 4 219 91 236 91 239 88 216 88 - 200 4 6 9 8 5 31 59 31 39 27 37 26 62 - 200 4 11 7 4 10 31 39 32 59 25 62 26 37 - 200 4 13 12 0 1 63 52 61 11 52 18 52 45 - 200 4 15 14 2 3 61 11 63 52 52 45 52 18 - 200 4 9 11 10 8 235 84 219 84 217 87 237 87 - 200 4 7 11 9 6 219 123 220 102 234 102 235 123 - 200 4 12 15 3 0 0 157 19 157 18 142 1 142 - 200 4 14 13 1 2 151 35 171 35 170 47 152 47 - 200 4 10 17 16 8 218 98 218 92 235 92 236 98 - 200 4 14 18 5 13 216 126 217 121 237 121 237 126 +POLYGONS 24 + 200 3 3 2 1 2 120 1 141 17 141 + 200 3 3 1 0 2 120 17 141 16 120 + 200 3 7 6 5 219 91 236 91 239 88 + 200 3 7 5 4 219 91 239 88 216 88 + 200 3 6 9 8 31 59 31 39 27 37 + 200 3 6 8 5 31 59 27 37 26 62 + 200 3 11 7 4 31 39 32 59 25 62 + 200 3 11 4 10 31 39 25 62 26 37 + 200 3 13 12 0 63 52 61 11 52 18 + 200 3 13 0 1 63 52 52 18 52 45 + 200 3 15 14 2 61 11 63 52 52 45 + 200 3 15 2 3 61 11 52 45 52 18 + 200 3 9 11 10 235 84 219 84 217 87 + 200 3 9 10 8 235 84 217 87 237 87 + 200 3 7 11 9 219 123 220 102 234 102 + 200 3 7 9 6 219 123 234 102 235 123 + 200 3 12 15 3 0 157 19 157 18 142 + 200 3 12 3 0 0 157 18 142 1 142 + 200 3 14 13 1 151 35 171 35 170 47 + 200 3 14 1 2 151 35 170 47 152 47 + 200 3 10 17 16 218 98 218 92 235 92 + 200 3 10 16 8 218 98 235 92 236 98 + 200 3 14 18 5 216 126 217 121 237 121 + 200 3 14 5 13 216 126 237 121 237 126 CONNECTORS 8 0 2 33 0 -20 23 diff --git a/data/base/components/bodies/drmbod07.pie b/data/base/components/bodies/drmbod07.pie index 8ffb4ddb3..6d6be65f3 100644 --- a/data/base/components/bodies/drmbod07.pie +++ b/data/base/components/bodies/drmbod07.pie @@ -18,21 +18,33 @@ POINTS 14 9 33 -23 10 20 -46 -10 20 -46 -POLYGONS 16 - 200 4 3 2 1 0 205 95 215 95 215 125 205 132 - 200 4 7 6 5 4 215 95 205 95 205 132 215 125 - 200 4 3 2 1 0 205 95 215 95 215 125 205 132 - 200 4 7 6 5 4 215 95 205 95 205 132 215 125 - 200 4 11 10 9 8 224 0 238 0 238 20 224 20 - 200 4 5 8 9 0 150 80 155 65 168 65 173 80 - 200 4 13 10 11 12 136 75 136 82 122 82 122 75 +POLYGONS 28 + 200 3 3 2 1 205 95 215 95 215 125 + 200 3 3 1 0 205 95 215 125 205 132 + 200 3 7 6 5 215 95 205 95 205 132 + 200 3 7 5 4 215 95 205 132 215 125 + 200 3 3 2 1 205 95 215 95 215 125 + 200 3 3 1 0 205 95 215 125 205 132 + 200 3 7 6 5 215 95 205 95 205 132 + 200 3 7 5 4 215 95 205 132 215 125 + 200 3 11 10 9 224 0 238 0 238 20 + 200 3 11 9 8 224 0 238 20 224 20 + 200 3 5 8 9 150 80 155 65 168 65 + 200 3 5 9 0 150 80 168 65 173 80 + 200 3 13 10 11 136 75 136 82 122 82 + 200 3 13 11 12 136 75 122 82 122 75 200 3 13 3 10 148 76 148 82 137 82 200 3 11 6 12 137 82 148 82 148 76 - 200 4 6 11 8 5 203 96 192 96 192 115 203 131 - 200 4 10 3 0 9 192 96 203 96 203 131 192 115 - 200 4 13 12 7 2 119 66 105 66 102 74 121 74 - 200 4 2 7 4 1 118 75 100 75 100 94 118 94 - 200 4 5 0 1 4 121 100 146 100 143 85 124 85 + 200 3 6 11 8 203 96 192 96 192 115 + 200 3 6 8 5 203 96 192 115 203 131 + 200 3 10 3 0 192 96 203 96 203 131 + 200 3 10 0 9 192 96 203 131 192 115 + 200 3 13 12 7 119 66 105 66 102 74 + 200 3 13 7 2 119 66 102 74 121 74 + 200 3 2 7 4 118 75 100 75 100 94 + 200 3 2 4 1 118 75 100 94 118 94 + 200 3 5 0 1 121 100 146 100 143 85 + 200 3 5 1 4 121 100 143 85 124 85 200 3 12 6 7 224 20 224 29 235 29 200 3 3 13 2 224 29 224 20 235 29 CONNECTORS 8 diff --git a/data/base/components/bodies/drmbod08.pie b/data/base/components/bodies/drmbod08.pie index 95227835f..e6b10c678 100644 --- a/data/base/components/bodies/drmbod08.pie +++ b/data/base/components/bodies/drmbod08.pie @@ -24,25 +24,39 @@ POINTS 20 -16 21 25 -16 5 -18 17 5 -18 -POLYGONS 20 - 200 4 3 2 1 0 166 124 155 124 152 134 170 134 - 200 4 7 6 5 4 89 102 103 102 102 95 91 95 - 200 4 11 10 9 8 126 100 126 102 141 102 141 100 +POLYGONS 34 + 200 3 3 2 1 166 124 155 124 152 134 + 200 3 3 1 0 166 124 152 134 170 134 + 200 3 7 6 5 89 102 103 102 102 95 + 200 3 7 5 4 89 102 102 95 91 95 + 200 3 11 10 9 126 100 126 102 141 102 + 200 3 11 9 8 126 100 141 102 141 100 200 3 12 11 5 152 116 148 103 146 108 - 200 4 8 4 5 11 134 103 136 108 146 108 148 103 + 200 3 8 4 5 134 103 136 108 146 108 + 200 3 8 5 11 134 103 146 108 148 103 200 3 13 4 8 131 116 136 108 134 103 - 200 4 15 0 1 14 171 123 171 132 191 132 191 123 - 200 4 6 3 16 12 29 112 29 131 38 131 38 112 - 200 4 13 17 2 7 38 112 38 131 29 131 29 112 + 200 3 15 0 1 171 123 171 132 191 132 + 200 3 15 1 14 171 123 191 132 191 123 + 200 3 6 3 16 29 112 29 131 38 131 + 200 3 6 16 12 29 112 38 131 38 112 + 200 3 13 17 2 38 112 38 131 29 131 + 200 3 13 2 7 38 112 29 131 29 112 200 3 17 1 2 38 131 38 137 29 131 200 3 3 0 16 29 131 38 137 38 131 - 200 4 6 7 2 3 165 103 152 103 152 124 165 124 - 200 4 10 19 18 9 134 116 131 131 152 131 148 116 - 200 4 19 15 14 18 104 103 104 101 124 101 124 103 - 200 4 11 12 19 10 20 113 19 129 28 125 22 112 - 200 4 19 12 0 15 28 125 19 129 19 154 28 148 - 200 4 1 13 18 14 19 154 19 129 28 125 28 148 - 200 4 18 13 8 9 28 125 19 129 20 113 22 112 + 200 3 6 7 2 165 103 152 103 152 124 + 200 3 6 2 3 165 103 152 124 165 124 + 200 3 10 19 18 134 116 131 131 152 131 + 200 3 10 18 9 134 116 152 131 148 116 + 200 3 19 15 14 104 103 104 101 124 101 + 200 3 19 14 18 104 103 124 101 124 103 + 200 3 11 12 19 20 113 19 129 28 125 + 200 3 11 19 10 20 113 28 125 22 112 + 200 3 19 12 0 28 125 19 129 19 154 + 200 3 19 0 15 28 125 19 154 28 148 + 200 3 1 13 18 19 154 19 129 28 125 + 200 3 1 18 14 19 154 28 125 28 148 + 200 3 18 13 8 28 125 19 129 20 113 + 200 3 18 8 9 28 125 20 113 22 112 200 3 7 4 13 120 113 130 105 130 113 200 3 12 5 6 130 113 130 105 120 113 CONNECTORS 8 diff --git a/data/base/components/bodies/drtrans.pie b/data/base/components/bodies/drtrans.pie index d4987194e..cdc731626 100644 --- a/data/base/components/bodies/drtrans.pie +++ b/data/base/components/bodies/drtrans.pie @@ -116,7 +116,7 @@ POINTS 112 -8 126 138 0 151 207 0 151 119 -POLYGONS 130 +POLYGONS 184 200 3 2 1 0 0 0 41 0 0 63 200 3 1 3 0 41 0 41 63 0 63 200 3 2 0 4 41 0 41 63 0 0 @@ -133,17 +133,28 @@ POLYGONS 130 200 3 13 4 5 0 63 41 0 41 63 200 3 11 12 10 41 0 0 0 41 63 200 3 12 15 10 0 0 0 63 41 63 - 200 4 19 18 17 16 107 42 125 42 125 56 107 56 - 200 4 21 19 16 20 107 42 125 42 125 56 107 56 - 200 4 25 24 23 22 125 42 107 42 107 56 125 56 - 200 4 27 25 22 26 125 42 107 42 107 56 125 56 - 200 4 24 21 20 23 125 42 107 42 107 56 125 56 - 200 4 18 29 28 17 107 42 125 42 125 56 107 56 - 200 4 33 32 31 30 125 42 107 42 107 56 125 56 - 200 4 37 36 35 34 107 42 125 42 125 56 107 56 - 200 4 36 33 30 35 107 42 125 42 125 56 107 56 - 200 4 41 40 39 38 125 42 107 42 107 56 125 56 - 200 4 40 43 42 39 125 42 107 42 107 56 125 56 + 200 3 19 18 17 107 42 125 42 125 56 + 200 3 19 17 16 107 42 125 56 107 56 + 200 3 21 19 16 107 42 125 42 125 56 + 200 3 21 16 20 107 42 125 56 107 56 + 200 3 25 24 23 125 42 107 42 107 56 + 200 3 25 23 22 125 42 107 56 125 56 + 200 3 27 25 22 125 42 107 42 107 56 + 200 3 27 22 26 125 42 107 56 125 56 + 200 3 24 21 20 125 42 107 42 107 56 + 200 3 24 20 23 125 42 107 56 125 56 + 200 3 18 29 28 107 42 125 42 125 56 + 200 3 18 28 17 107 42 125 56 107 56 + 200 3 33 32 31 125 42 107 42 107 56 + 200 3 33 31 30 125 42 107 56 125 56 + 200 3 37 36 35 107 42 125 42 125 56 + 200 3 37 35 34 107 42 125 56 107 56 + 200 3 36 33 30 107 42 125 42 125 56 + 200 3 36 30 35 107 42 125 56 107 56 + 200 3 41 40 39 125 42 107 42 107 56 + 200 3 41 39 38 125 42 107 56 125 56 + 200 3 40 43 42 125 42 107 42 107 56 + 200 3 40 42 39 125 42 107 56 125 56 200 3 5 0 44 28 109 28 148 0 115 200 3 44 0 45 0 115 28 148 0 148 200 3 13 5 46 28 84 28 109 0 95 @@ -200,49 +211,92 @@ POLYGONS 130 200 3 64 53 65 105 41 105 0 82 41 200 3 65 53 52 82 41 105 0 67 0 200 3 54 65 52 42 0 82 41 67 0 - 200 4 66 7 6 67 1 184 29 184 29 250 1 250 - 200 4 67 6 7 66 1 250 29 250 29 184 1 184 - 200 4 71 70 69 68 219 39 233 26 193 26 206 39 - 200 4 69 70 73 72 193 26 233 26 206 0 193 13 - 200 4 73 70 75 74 206 0 233 26 233 13 219 0 - 200 4 77 76 75 70 121 66 107 66 107 57 121 57 - 200 4 78 77 70 71 109 66 120 66 120 57 109 57 - 200 4 79 78 71 68 107 66 121 66 121 57 107 57 - 200 4 81 80 69 72 107 66 121 66 121 57 107 57 - 200 4 80 79 68 69 120 66 109 66 109 57 120 57 - 200 4 82 81 72 73 120 66 109 66 109 57 120 57 - 200 4 83 82 73 74 121 66 107 66 107 57 121 57 - 200 4 76 83 74 75 109 66 120 66 120 57 109 57 - 200 4 14 84 85 13 29 184 1 184 1 249 29 249 - 200 4 13 85 84 14 29 249 1 249 1 184 29 184 - 200 4 89 88 87 86 219 39 233 26 193 26 206 39 - 200 4 87 88 91 90 193 26 233 26 206 0 193 13 - 200 4 91 88 93 92 206 0 233 26 233 13 219 0 - 200 4 95 94 86 87 120 66 109 66 109 57 120 57 - 200 4 96 95 87 90 107 66 121 66 121 57 107 57 - 200 4 97 96 90 91 120 66 109 66 109 57 120 57 - 200 4 94 98 89 86 107 66 121 66 121 57 107 57 - 200 4 98 99 88 89 109 66 120 66 120 57 109 57 - 200 4 101 100 92 93 109 66 120 66 120 57 109 57 - 200 4 99 101 93 88 121 66 107 66 107 57 121 57 - 200 4 100 97 91 92 121 66 107 66 107 57 121 57 - 200 4 29 103 102 28 107 42 125 42 125 56 107 56 - 200 4 43 37 34 42 107 42 125 42 125 56 107 56 - 200 4 105 41 38 104 125 42 107 42 107 56 125 56 - 200 4 32 105 104 31 125 42 107 42 107 56 125 56 - 200 4 103 27 26 102 107 42 125 42 125 56 107 56 - 200 4 19 21 24 25 184 0 192 7 192 15 184 22 - 200 4 103 19 25 27 170 15 184 0 184 22 177 22 - 200 4 18 19 103 29 177 0 184 0 170 15 170 7 - 200 4 43 40 36 37 192 7 184 0 184 22 192 15 - 200 4 40 32 33 36 184 0 170 15 177 22 184 22 - 200 4 40 41 105 32 184 0 177 0 170 7 170 15 - 200 4 106 107 108 109 31 180 31 180 7 159 7 159 - 200 4 109 108 107 106 7 159 7 159 31 180 31 180 - 200 4 107 110 111 108 31 180 31 150 1 150 7 159 - 200 4 108 111 110 107 7 159 1 150 31 150 31 180 - 200 4 110 106 109 111 31 150 31 180 7 159 1 150 - 200 4 111 109 106 110 1 150 7 159 31 180 31 150 + 200 3 66 7 6 1 184 29 184 29 250 + 200 3 66 6 67 1 184 29 250 1 250 + 200 3 67 6 7 1 250 29 250 29 184 + 200 3 67 7 66 1 250 29 184 1 184 + 200 3 71 70 69 219 39 233 26 193 26 + 200 3 71 69 68 219 39 193 26 206 39 + 200 3 69 70 73 193 26 233 26 206 0 + 200 3 69 73 72 193 26 206 0 193 13 + 200 3 73 70 75 206 0 233 26 233 13 + 200 3 73 75 74 206 0 233 13 219 0 + 200 3 77 76 75 121 66 107 66 107 57 + 200 3 77 75 70 121 66 107 57 121 57 + 200 3 78 77 70 109 66 120 66 120 57 + 200 3 78 70 71 109 66 120 57 109 57 + 200 3 79 78 71 107 66 121 66 121 57 + 200 3 79 71 68 107 66 121 57 107 57 + 200 3 81 80 69 107 66 121 66 121 57 + 200 3 81 69 72 107 66 121 57 107 57 + 200 3 80 79 68 120 66 109 66 109 57 + 200 3 80 68 69 120 66 109 57 120 57 + 200 3 82 81 72 120 66 109 66 109 57 + 200 3 82 72 73 120 66 109 57 120 57 + 200 3 83 82 73 121 66 107 66 107 57 + 200 3 83 73 74 121 66 107 57 121 57 + 200 3 76 83 74 109 66 120 66 120 57 + 200 3 76 74 75 109 66 120 57 109 57 + 200 3 14 84 85 29 184 1 184 1 249 + 200 3 14 85 13 29 184 1 249 29 249 + 200 3 13 85 84 29 249 1 249 1 184 + 200 3 13 84 14 29 249 1 184 29 184 + 200 3 89 88 87 219 39 233 26 193 26 + 200 3 89 87 86 219 39 193 26 206 39 + 200 3 87 88 91 193 26 233 26 206 0 + 200 3 87 91 90 193 26 206 0 193 13 + 200 3 91 88 93 206 0 233 26 233 13 + 200 3 91 93 92 206 0 233 13 219 0 + 200 3 95 94 86 120 66 109 66 109 57 + 200 3 95 86 87 120 66 109 57 120 57 + 200 3 96 95 87 107 66 121 66 121 57 + 200 3 96 87 90 107 66 121 57 107 57 + 200 3 97 96 90 120 66 109 66 109 57 + 200 3 97 90 91 120 66 109 57 120 57 + 200 3 94 98 89 107 66 121 66 121 57 + 200 3 94 89 86 107 66 121 57 107 57 + 200 3 98 99 88 109 66 120 66 120 57 + 200 3 98 88 89 109 66 120 57 109 57 + 200 3 101 100 92 109 66 120 66 120 57 + 200 3 101 92 93 109 66 120 57 109 57 + 200 3 99 101 93 121 66 107 66 107 57 + 200 3 99 93 88 121 66 107 57 121 57 + 200 3 100 97 91 121 66 107 66 107 57 + 200 3 100 91 92 121 66 107 57 121 57 + 200 3 29 103 102 107 42 125 42 125 56 + 200 3 29 102 28 107 42 125 56 107 56 + 200 3 43 37 34 107 42 125 42 125 56 + 200 3 43 34 42 107 42 125 56 107 56 + 200 3 105 41 38 125 42 107 42 107 56 + 200 3 105 38 104 125 42 107 56 125 56 + 200 3 32 105 104 125 42 107 42 107 56 + 200 3 32 104 31 125 42 107 56 125 56 + 200 3 103 27 26 107 42 125 42 125 56 + 200 3 103 26 102 107 42 125 56 107 56 + 200 3 19 21 24 184 0 192 7 192 15 + 200 3 19 24 25 184 0 192 15 184 22 + 200 3 103 19 25 170 15 184 0 184 22 + 200 3 103 25 27 170 15 184 22 177 22 + 200 3 18 19 103 177 0 184 0 170 15 + 200 3 18 103 29 177 0 170 15 170 7 + 200 3 43 40 36 192 7 184 0 184 22 + 200 3 43 36 37 192 7 184 22 192 15 + 200 3 40 32 33 184 0 170 15 177 22 + 200 3 40 33 36 184 0 177 22 184 22 + 200 3 40 41 105 184 0 177 0 170 7 + 200 3 40 105 32 184 0 170 7 170 15 + 200 3 106 107 108 31 180 31 180 7 159 + 200 3 106 108 109 31 180 7 159 7 159 + 200 3 109 108 107 7 159 7 159 31 180 + 200 3 109 107 106 7 159 31 180 31 180 + 200 3 107 110 111 31 180 31 150 1 150 + 200 3 107 111 108 31 180 1 150 7 159 + 200 3 108 111 110 7 159 1 150 31 150 + 200 3 108 110 107 7 159 31 150 31 180 + 200 3 110 106 109 31 150 31 180 7 159 + 200 3 110 109 111 31 150 7 159 1 150 + 200 3 111 109 106 1 150 7 159 31 180 + 200 3 111 106 110 1 150 31 180 31 150 200 3 107 106 110 31 180 31 180 31 150 200 3 110 106 107 31 150 31 180 31 180 200 3 108 111 109 7 159 1 150 7 159 diff --git a/data/base/components/bodies/exbloke.pie b/data/base/components/bodies/exbloke.pie index d56feb999..7ed159d50 100644 --- a/data/base/components/bodies/exbloke.pie +++ b/data/base/components/bodies/exbloke.pie @@ -20,9 +20,14 @@ POINTS 16 -6 0 -6 -3 32 -6 -3 32 5 -POLYGONS 5 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 - 4200 4 7 6 5 4 2 1 14 18 28 146 16 146 16 162 28 162 - 4200 4 6 7 4 5 2 1 14 18 136 98 124 98 124 114 136 114 - 4200 4 11 10 9 8 2 1 8 18 7 146 1 146 1 162 7 162 - 4200 4 15 14 13 12 2 1 8 18 158 98 152 98 152 114 158 114 \ No newline at end of file +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 + 4200 3 7 6 5 2 1 14 18 28 146 16 146 16 162 + 4200 3 7 5 4 2 1 14 18 28 146 16 162 28 162 + 4200 3 6 7 4 2 1 14 18 136 98 124 98 124 114 + 4200 3 6 4 5 2 1 14 18 136 98 124 114 136 114 + 4200 3 11 10 9 2 1 8 18 7 146 1 146 1 162 + 4200 3 11 9 8 2 1 8 18 7 146 1 162 7 162 + 4200 3 15 14 13 2 1 8 18 158 98 152 98 152 114 + 4200 3 15 13 12 2 1 8 18 158 98 152 114 158 114 \ No newline at end of file diff --git a/data/base/components/bodies/exbuggy.pie b/data/base/components/bodies/exbuggy.pie index 94074bd30..0af0c940d 100644 --- a/data/base/components/bodies/exbuggy.pie +++ b/data/base/components/bodies/exbuggy.pie @@ -28,20 +28,36 @@ POINTS 24 2 10 -8 2 15 -10 2 15 -26 -POLYGONS 16 - 200 4 3 2 1 0 211 125 211 121 207 121 207 125 - 200 4 0 1 5 4 199 113 199 109 202 109 202 113 - 200 4 1 2 6 5 209 137 205 138 200 134 211 134 - 200 4 2 3 7 6 216 109 216 113 213 114 213 108 - 200 4 3 0 4 7 211 138 207 137 205 134 216 134 - 200 4 11 10 9 8 190 130 197 129 197 135 190 135 - 200 4 15 14 13 12 218 129 218 117 199 118 199 128 - 200 4 12 13 11 8 203 116 203 106 207 106 207 116 - 200 4 13 14 10 11 217 133 198 134 198 129 217 129 - 200 4 14 15 9 10 213 105 213 117 208 117 208 105 - 200 4 15 12 8 9 218 134 199 133 199 129 218 129 - 200 4 19 18 17 16 205 133 204 135 198 135 198 133 - 200 4 23 22 21 20 218 135 212 135 211 133 218 133 - 200 4 21 22 18 19 212 110 213 110 213 112 212 112 - 200 4 22 23 17 18 204 122 198 122 198 124 204 124 - 200 4 23 20 16 17 201 110 203 110 203 112 201 112 \ No newline at end of file +POLYGONS 32 + 200 3 3 2 1 211 125 211 121 207 121 + 200 3 3 1 0 211 125 207 121 207 125 + 200 3 0 1 5 199 113 199 109 202 109 + 200 3 0 5 4 199 113 202 109 202 113 + 200 3 1 2 6 209 137 205 138 200 134 + 200 3 1 6 5 209 137 200 134 211 134 + 200 3 2 3 7 216 109 216 113 213 114 + 200 3 2 7 6 216 109 213 114 213 108 + 200 3 3 0 4 211 138 207 137 205 134 + 200 3 3 4 7 211 138 205 134 216 134 + 200 3 11 10 9 190 130 197 129 197 135 + 200 3 11 9 8 190 130 197 135 190 135 + 200 3 15 14 13 218 129 218 117 199 118 + 200 3 15 13 12 218 129 199 118 199 128 + 200 3 12 13 11 203 116 203 106 207 106 + 200 3 12 11 8 203 116 207 106 207 116 + 200 3 13 14 10 217 133 198 134 198 129 + 200 3 13 10 11 217 133 198 129 217 129 + 200 3 14 15 9 213 105 213 117 208 117 + 200 3 14 9 10 213 105 208 117 208 105 + 200 3 15 12 8 218 134 199 133 199 129 + 200 3 15 8 9 218 134 199 129 218 129 + 200 3 19 18 17 205 133 204 135 198 135 + 200 3 19 17 16 205 133 198 135 198 133 + 200 3 23 22 21 218 135 212 135 211 133 + 200 3 23 21 20 218 135 211 133 218 133 + 200 3 21 22 18 212 110 213 110 213 112 + 200 3 21 18 19 212 110 213 112 212 112 + 200 3 22 23 17 204 122 198 122 198 124 + 200 3 22 17 18 204 122 198 124 204 124 + 200 3 23 20 16 201 110 203 110 203 112 + 200 3 23 16 17 201 110 203 112 201 112 \ No newline at end of file diff --git a/data/base/components/bodies/exbugrk.pie b/data/base/components/bodies/exbugrk.pie index ae17b7ed5..5ea3fd11d 100644 --- a/data/base/components/bodies/exbugrk.pie +++ b/data/base/components/bodies/exbugrk.pie @@ -28,21 +28,38 @@ POINTS 24 6 35 2 6 29 27 -6 29 27 -POLYGONS 17 - 200 4 3 2 1 0 211 125 211 121 207 121 207 125 - 200 4 0 1 5 4 199 113 199 109 202 109 202 113 - 200 4 1 2 6 5 209 137 205 138 200 134 211 134 - 200 4 2 3 7 6 216 109 216 113 213 114 213 108 - 200 4 3 0 4 7 211 138 207 137 205 134 216 134 - 200 4 11 10 9 8 190 130 197 129 197 135 190 135 - 200 4 15 14 13 12 218 129 218 117 199 118 199 128 - 200 4 12 13 11 8 203 116 203 106 207 106 207 116 - 200 4 13 14 10 11 217 133 198 134 198 129 217 129 - 200 4 14 15 9 10 213 105 213 117 208 117 208 105 - 200 4 15 12 8 9 218 134 199 133 199 129 218 129 - 200 4 19 18 17 16 4 114 4 126 15 126 15 114 - 200 4 23 22 21 20 6 130 17 130 17 105 6 105 - 200 4 20 21 19 16 228 178 238 178 238 190 228 190 - 200 4 21 22 18 19 0 132 20 132 20 143 0 143 - 200 4 22 23 17 18 225 191 237 191 237 198 225 198 - 200 4 23 20 16 17 19 128 0 128 0 142 19 142 \ No newline at end of file +POLYGONS 34 + 200 3 3 2 1 211 125 211 121 207 121 + 200 3 3 1 0 211 125 207 121 207 125 + 200 3 0 1 5 199 113 199 109 202 109 + 200 3 0 5 4 199 113 202 109 202 113 + 200 3 1 2 6 209 137 205 138 200 134 + 200 3 1 6 5 209 137 200 134 211 134 + 200 3 2 3 7 216 109 216 113 213 114 + 200 3 2 7 6 216 109 213 114 213 108 + 200 3 3 0 4 211 138 207 137 205 134 + 200 3 3 4 7 211 138 205 134 216 134 + 200 3 11 10 9 190 130 197 129 197 135 + 200 3 11 9 8 190 130 197 135 190 135 + 200 3 15 14 13 218 129 218 117 199 118 + 200 3 15 13 12 218 129 199 118 199 128 + 200 3 12 13 11 203 116 203 106 207 106 + 200 3 12 11 8 203 116 207 106 207 116 + 200 3 13 14 10 217 133 198 134 198 129 + 200 3 13 10 11 217 133 198 129 217 129 + 200 3 14 15 9 213 105 213 117 208 117 + 200 3 14 9 10 213 105 208 117 208 105 + 200 3 15 12 8 218 134 199 133 199 129 + 200 3 15 8 9 218 134 199 129 218 129 + 200 3 19 18 17 4 114 4 126 15 126 + 200 3 19 17 16 4 114 15 126 15 114 + 200 3 23 22 21 6 130 17 130 17 105 + 200 3 23 21 20 6 130 17 105 6 105 + 200 3 20 21 19 228 178 238 178 238 190 + 200 3 20 19 16 228 178 238 190 228 190 + 200 3 21 22 18 0 132 20 132 20 143 + 200 3 21 18 19 0 132 20 143 0 143 + 200 3 22 23 17 225 191 237 191 237 198 + 200 3 22 17 18 225 191 237 198 225 198 + 200 3 23 20 16 19 128 0 128 0 142 + 200 3 23 16 17 19 128 0 142 19 142 \ No newline at end of file diff --git a/data/base/components/bodies/exfire.pie b/data/base/components/bodies/exfire.pie index 2129ec895..8f0127aa0 100644 --- a/data/base/components/bodies/exfire.pie +++ b/data/base/components/bodies/exfire.pie @@ -36,36 +36,66 @@ POINTS 32 -17 0 61 -17 5 -14 -17 0 -17 -POLYGONS 30 - 200 4 3 2 1 0 254 66 243 66 243 84 254 84 - 200 4 5 3 0 4 70 180 46 180 46 164 70 164 - 200 4 2 7 6 1 44 180 39 180 39 164 44 164 - 200 4 11 10 9 8 37 180 2 180 2 164 37 164 - 200 4 15 14 13 12 219 168 219 164 190 164 190 168 - 200 4 19 18 17 16 219 168 219 163 190 163 190 168 - 200 4 21 5 4 20 219 163 219 143 190 143 190 163 - 200 4 23 22 8 9 2 203 8 203 39 184 6 184 - 200 4 8 22 24 6 39 184 8 203 10 207 40 195 - 200 4 20 4 0 17 70 203 69 185 47 182 61 203 - 200 4 0 1 16 17 47 182 45 195 59 207 61 203 - 200 4 26 16 1 25 52 207 59 207 45 195 50 204 - 200 4 25 1 6 13 50 204 45 195 40 195 31 204 - 200 4 6 24 12 13 40 195 10 207 28 207 31 204 - 200 4 11 28 27 10 39 184 8 203 2 203 6 184 - 200 4 29 28 11 7 10 207 8 203 39 184 40 195 - 200 4 3 5 21 18 47 182 69 185 70 203 61 203 - 200 4 19 2 3 18 59 207 45 195 47 182 61 203 - 200 4 2 19 31 30 45 195 59 207 52 207 50 204 - 200 4 7 2 30 14 40 195 45 195 50 204 31 204 - 200 4 15 29 7 14 28 207 10 207 40 195 31 204 - 200 4 28 29 24 22 183 126 186 126 186 144 183 144 - 200 4 30 31 26 25 183 126 186 126 186 144 183 144 - 200 4 10 27 23 9 166 126 182 126 182 144 166 144 - 200 4 29 15 12 24 72 221 72 204 91 204 91 221 - 200 4 14 30 25 13 72 201 72 182 91 182 91 201 - 200 4 31 19 16 26 72 181 72 174 91 174 91 181 - 200 4 18 21 20 17 72 172 72 163 91 163 91 172 - 200 4 27 28 22 23 72 229 72 223 91 223 91 229 - 200 4 7 11 8 6 125 81 112 81 112 63 125 63 +POLYGONS 60 + 200 3 3 2 1 254 66 243 66 243 84 + 200 3 3 1 0 254 66 243 84 254 84 + 200 3 5 3 0 70 180 46 180 46 164 + 200 3 5 0 4 70 180 46 164 70 164 + 200 3 2 7 6 44 180 39 180 39 164 + 200 3 2 6 1 44 180 39 164 44 164 + 200 3 11 10 9 37 180 2 180 2 164 + 200 3 11 9 8 37 180 2 164 37 164 + 200 3 15 14 13 219 168 219 164 190 164 + 200 3 15 13 12 219 168 190 164 190 168 + 200 3 19 18 17 219 168 219 163 190 163 + 200 3 19 17 16 219 168 190 163 190 168 + 200 3 21 5 4 219 163 219 143 190 143 + 200 3 21 4 20 219 163 190 143 190 163 + 200 3 23 22 8 2 203 8 203 39 184 + 200 3 23 8 9 2 203 39 184 6 184 + 200 3 8 22 24 39 184 8 203 10 207 + 200 3 8 24 6 39 184 10 207 40 195 + 200 3 20 4 0 70 203 69 185 47 182 + 200 3 20 0 17 70 203 47 182 61 203 + 200 3 0 1 16 47 182 45 195 59 207 + 200 3 0 16 17 47 182 59 207 61 203 + 200 3 26 16 1 52 207 59 207 45 195 + 200 3 26 1 25 52 207 45 195 50 204 + 200 3 25 1 6 50 204 45 195 40 195 + 200 3 25 6 13 50 204 40 195 31 204 + 200 3 6 24 12 40 195 10 207 28 207 + 200 3 6 12 13 40 195 28 207 31 204 + 200 3 11 28 27 39 184 8 203 2 203 + 200 3 11 27 10 39 184 2 203 6 184 + 200 3 29 28 11 10 207 8 203 39 184 + 200 3 29 11 7 10 207 39 184 40 195 + 200 3 3 5 21 47 182 69 185 70 203 + 200 3 3 21 18 47 182 70 203 61 203 + 200 3 19 2 3 59 207 45 195 47 182 + 200 3 19 3 18 59 207 47 182 61 203 + 200 3 2 19 31 45 195 59 207 52 207 + 200 3 2 31 30 45 195 52 207 50 204 + 200 3 7 2 30 40 195 45 195 50 204 + 200 3 7 30 14 40 195 50 204 31 204 + 200 3 15 29 7 28 207 10 207 40 195 + 200 3 15 7 14 28 207 40 195 31 204 + 200 3 28 29 24 183 126 186 126 186 144 + 200 3 28 24 22 183 126 186 144 183 144 + 200 3 30 31 26 183 126 186 126 186 144 + 200 3 30 26 25 183 126 186 144 183 144 + 200 3 10 27 23 166 126 182 126 182 144 + 200 3 10 23 9 166 126 182 144 166 144 + 200 3 29 15 12 72 221 72 204 91 204 + 200 3 29 12 24 72 221 91 204 91 221 + 200 3 14 30 25 72 201 72 182 91 182 + 200 3 14 25 13 72 201 91 182 91 201 + 200 3 31 19 16 72 181 72 174 91 174 + 200 3 31 16 26 72 181 91 174 91 181 + 200 3 18 21 20 72 172 72 163 91 163 + 200 3 18 20 17 72 172 91 163 91 172 + 200 3 27 28 22 72 229 72 223 91 223 + 200 3 27 22 23 72 229 91 223 91 229 + 200 3 7 11 8 125 81 112 81 112 63 + 200 3 7 8 6 125 81 112 63 125 63 CONNECTORS 1 0 38 32 diff --git a/data/base/components/bodies/exjeep.pie b/data/base/components/bodies/exjeep.pie index 82ac55af9..209477e00 100644 --- a/data/base/components/bodies/exjeep.pie +++ b/data/base/components/bodies/exjeep.pie @@ -40,21 +40,38 @@ POINTS 36 -13 14 -22 14 19 27 -15 19 27 -POLYGONS 17 - 200 4 3 2 1 0 151 121 149 121 149 119 151 119 - 200 4 7 6 5 4 36 128 42 128 42 135 36 134 - 200 4 8 9 10 11 30 156 40 156 40 146 30 146 - 200 4 11 10 9 8 30 146 40 146 40 156 30 156 - 200 4 12 13 14 15 151 91 141 91 141 95 151 95 - 200 4 15 14 13 12 151 95 141 95 141 91 151 91 - 200 4 19 18 17 16 42 128 36 128 36 135 42 135 - 200 4 20 21 22 23 120 122 113 122 113 140 120 140 - 200 4 23 22 21 20 120 140 113 140 113 122 120 122 - 200 4 24 25 26 27 120 122 113 122 113 140 120 140 - 200 4 27 26 25 24 120 140 113 140 113 122 120 122 - 200 4 31 30 29 28 243 106 255 105 255 119 243 118 - 200 4 33 32 31 28 189 137 189 127 195 127 195 137 - 200 4 32 34 30 31 144 122 123 124 123 115 144 115 - 200 4 34 35 29 30 187 126 187 138 195 138 195 126 - 200 4 35 33 28 29 144 124 123 122 123 115 144 115 - 200 4 35 34 32 33 243 84 255 84 254 105 244 105 \ No newline at end of file +POLYGONS 34 + 200 3 3 2 1 151 121 149 121 149 119 + 200 3 3 1 0 151 121 149 119 151 119 + 200 3 7 6 5 36 128 42 128 42 135 + 200 3 7 5 4 36 128 42 135 36 134 + 200 3 8 9 10 30 156 40 156 40 146 + 200 3 8 10 11 30 156 40 146 30 146 + 200 3 11 10 9 30 146 40 146 40 156 + 200 3 11 9 8 30 146 40 156 30 156 + 200 3 12 13 14 151 91 141 91 141 95 + 200 3 12 14 15 151 91 141 95 151 95 + 200 3 15 14 13 151 95 141 95 141 91 + 200 3 15 13 12 151 95 141 91 151 91 + 200 3 19 18 17 42 128 36 128 36 135 + 200 3 19 17 16 42 128 36 135 42 135 + 200 3 20 21 22 120 122 113 122 113 140 + 200 3 20 22 23 120 122 113 140 120 140 + 200 3 23 22 21 120 140 113 140 113 122 + 200 3 23 21 20 120 140 113 122 120 122 + 200 3 24 25 26 120 122 113 122 113 140 + 200 3 24 26 27 120 122 113 140 120 140 + 200 3 27 26 25 120 140 113 140 113 122 + 200 3 27 25 24 120 140 113 122 120 122 + 200 3 31 30 29 243 106 255 105 255 119 + 200 3 31 29 28 243 106 255 119 243 118 + 200 3 33 32 31 189 137 189 127 195 127 + 200 3 33 31 28 189 137 195 127 195 137 + 200 3 32 34 30 144 122 123 124 123 115 + 200 3 32 30 31 144 122 123 115 144 115 + 200 3 34 35 29 187 126 187 138 195 138 + 200 3 34 29 30 187 126 195 138 195 126 + 200 3 35 33 28 144 124 123 122 123 115 + 200 3 35 28 29 144 124 123 115 144 115 + 200 3 35 34 32 243 84 255 84 254 105 + 200 3 35 32 33 243 84 254 105 244 105 \ No newline at end of file diff --git a/data/base/components/bodies/exjeeprk.pie b/data/base/components/bodies/exjeeprk.pie index 4b747a676..b3535d976 100644 --- a/data/base/components/bodies/exjeeprk.pie +++ b/data/base/components/bodies/exjeeprk.pie @@ -36,22 +36,40 @@ POINTS 32 11 39 5 11 32 30 -10 32 30 -POLYGONS 18 - 200 4 3 2 1 0 36 128 42 128 42 135 36 134 - 200 4 4 5 6 7 30 156 40 156 40 146 30 146 - 200 4 7 6 5 4 30 146 40 146 40 156 30 156 - 200 4 8 9 10 11 151 91 141 91 141 95 151 95 - 200 4 11 10 9 8 151 95 141 95 141 91 151 91 - 200 4 15 14 13 12 42 128 36 128 36 135 42 135 - 200 4 19 18 17 16 243 106 255 105 255 119 243 118 - 200 4 21 20 19 16 189 137 189 127 195 127 195 137 - 200 4 20 22 18 19 144 122 123 124 123 115 144 115 - 200 4 22 23 17 18 187 126 187 138 195 138 195 126 - 200 4 23 21 16 17 144 124 123 122 123 115 144 115 - 200 4 23 22 20 21 243 84 255 84 254 105 244 105 - 200 4 27 26 25 24 0 114 0 126 21 126 21 114 - 200 4 31 30 29 28 0 130 21 130 21 105 0 105 - 200 4 28 29 27 24 222 178 242 178 242 190 222 190 - 200 4 29 30 26 27 0 132 20 132 20 143 0 143 - 200 4 30 31 25 26 221 191 243 191 243 198 221 198 - 200 4 31 28 24 25 19 127 0 127 0 142 19 142 \ No newline at end of file +POLYGONS 36 + 200 3 3 2 1 36 128 42 128 42 135 + 200 3 3 1 0 36 128 42 135 36 134 + 200 3 4 5 6 30 156 40 156 40 146 + 200 3 4 6 7 30 156 40 146 30 146 + 200 3 7 6 5 30 146 40 146 40 156 + 200 3 7 5 4 30 146 40 156 30 156 + 200 3 8 9 10 151 91 141 91 141 95 + 200 3 8 10 11 151 91 141 95 151 95 + 200 3 11 10 9 151 95 141 95 141 91 + 200 3 11 9 8 151 95 141 91 151 91 + 200 3 15 14 13 42 128 36 128 36 135 + 200 3 15 13 12 42 128 36 135 42 135 + 200 3 19 18 17 243 106 255 105 255 119 + 200 3 19 17 16 243 106 255 119 243 118 + 200 3 21 20 19 189 137 189 127 195 127 + 200 3 21 19 16 189 137 195 127 195 137 + 200 3 20 22 18 144 122 123 124 123 115 + 200 3 20 18 19 144 122 123 115 144 115 + 200 3 22 23 17 187 126 187 138 195 138 + 200 3 22 17 18 187 126 195 138 195 126 + 200 3 23 21 16 144 124 123 122 123 115 + 200 3 23 16 17 144 124 123 115 144 115 + 200 3 23 22 20 243 84 255 84 254 105 + 200 3 23 20 21 243 84 254 105 244 105 + 200 3 27 26 25 0 114 0 126 21 126 + 200 3 27 25 24 0 114 21 126 21 114 + 200 3 31 30 29 0 130 21 130 21 105 + 200 3 31 29 28 0 130 21 105 0 105 + 200 3 28 29 27 222 178 242 178 242 190 + 200 3 28 27 24 222 178 242 190 222 190 + 200 3 29 30 26 0 132 20 132 20 143 + 200 3 29 26 27 0 132 20 143 0 143 + 200 3 30 31 25 221 191 243 191 243 198 + 200 3 30 25 26 221 191 243 198 221 198 + 200 3 31 28 24 19 127 0 127 0 142 + 200 3 31 24 25 19 127 0 142 19 142 \ No newline at end of file diff --git a/data/base/components/bodies/exschool.pie b/data/base/components/bodies/exschool.pie index e8e32f3b9..7a8718924 100644 --- a/data/base/components/bodies/exschool.pie +++ b/data/base/components/bodies/exschool.pie @@ -36,27 +36,48 @@ POINTS 32 12 23 -75 12 34 -61 -12 34 -61 -POLYGONS 21 - 200 4 3 2 1 0 110 220 110 212 92 212 92 220 - 200 4 7 6 5 4 110 208 110 152 92 152 92 208 - 200 4 11 10 9 8 197 191 197 187 216 187 216 191 - 200 4 13 3 0 12 197 187 197 179 216 179 216 187 - 200 4 2 7 4 1 197 178 197 170 215 170 216 178 - 200 4 17 16 15 14 216 172 219 172 219 178 216 178 - 200 4 21 20 19 18 194 172 197 172 197 178 194 178 - 200 4 6 23 22 5 188 145 188 159 171 159 171 145 - 200 4 27 26 25 24 188 159 188 164 171 164 171 159 - 200 4 23 27 24 22 90 163 90 179 73 179 73 163 - 200 4 26 11 8 25 90 182 90 224 73 224 73 182 - 200 4 10 13 12 9 90 227 90 229 73 229 73 227 - 200 4 22 24 4 5 2 225 18 225 59 209 3 209 - 200 4 24 25 1 4 18 225 21 230 60 217 59 209 - 200 4 25 8 9 1 21 230 63 230 66 226 60 217 - 200 4 1 9 12 0 60 217 66 226 68 226 68 217 - 200 4 7 27 23 6 59 209 18 225 2 225 3 209 - 200 4 2 26 27 7 60 217 21 230 18 225 59 209 - 200 4 10 11 26 2 66 226 63 230 21 230 60 217 - 200 4 13 10 2 3 68 226 66 226 60 217 68 217 - 200 4 31 30 29 28 66 151 81 151 81 161 66 161 +POLYGONS 42 + 200 3 3 2 1 110 220 110 212 92 212 + 200 3 3 1 0 110 220 92 212 92 220 + 200 3 7 6 5 110 208 110 152 92 152 + 200 3 7 5 4 110 208 92 152 92 208 + 200 3 11 10 9 197 191 197 187 216 187 + 200 3 11 9 8 197 191 216 187 216 191 + 200 3 13 3 0 197 187 197 179 216 179 + 200 3 13 0 12 197 187 216 179 216 187 + 200 3 2 7 4 197 178 197 170 215 170 + 200 3 2 4 1 197 178 215 170 216 178 + 200 3 17 16 15 216 172 219 172 219 178 + 200 3 17 15 14 216 172 219 178 216 178 + 200 3 21 20 19 194 172 197 172 197 178 + 200 3 21 19 18 194 172 197 178 194 178 + 200 3 6 23 22 188 145 188 159 171 159 + 200 3 6 22 5 188 145 171 159 171 145 + 200 3 27 26 25 188 159 188 164 171 164 + 200 3 27 25 24 188 159 171 164 171 159 + 200 3 23 27 24 90 163 90 179 73 179 + 200 3 23 24 22 90 163 73 179 73 163 + 200 3 26 11 8 90 182 90 224 73 224 + 200 3 26 8 25 90 182 73 224 73 182 + 200 3 10 13 12 90 227 90 229 73 229 + 200 3 10 12 9 90 227 73 229 73 227 + 200 3 22 24 4 2 225 18 225 59 209 + 200 3 22 4 5 2 225 59 209 3 209 + 200 3 24 25 1 18 225 21 230 60 217 + 200 3 24 1 4 18 225 60 217 59 209 + 200 3 25 8 9 21 230 63 230 66 226 + 200 3 25 9 1 21 230 66 226 60 217 + 200 3 1 9 12 60 217 66 226 68 226 + 200 3 1 12 0 60 217 68 226 68 217 + 200 3 7 27 23 59 209 18 225 2 225 + 200 3 7 23 6 59 209 2 225 3 209 + 200 3 2 26 27 60 217 21 230 18 225 + 200 3 2 27 7 60 217 18 225 59 209 + 200 3 10 11 26 66 226 63 230 21 230 + 200 3 10 26 2 66 226 21 230 60 217 + 200 3 13 10 2 68 226 66 226 60 217 + 200 3 13 2 3 68 226 60 217 68 217 + 200 3 31 30 29 66 151 81 151 81 161 + 200 3 31 29 28 66 151 81 161 66 161 CONNECTORS 1 0 -33 37 diff --git a/data/base/components/bodies/extrike.pie b/data/base/components/bodies/extrike.pie index 52fa10f77..caa63002d 100644 --- a/data/base/components/bodies/extrike.pie +++ b/data/base/components/bodies/extrike.pie @@ -44,17 +44,27 @@ POINTS 40 10 0 9 10 13 24 10 0 24 -POLYGONS 30 - 200 4 3 2 1 0 131 99 135 99 135 99 131 99 - 200 4 2 5 4 1 135 99 135 103 135 103 135 99 - 200 4 6 0 1 4 131 103 131 99 135 99 135 103 - 200 4 2 3 7 5 135 99 131 99 131 103 135 103 - 200 4 7 3 0 6 131 103 131 99 131 99 131 103 - 200 4 11 10 9 8 152 90 152 84 158 84 158 90 - 200 4 15 14 13 12 158 84 152 84 152 90 158 90 - 200 4 13 14 10 11 152 90 152 84 152 84 152 90 - 200 4 14 15 9 10 152 84 158 84 158 84 152 84 - 200 4 15 12 8 9 158 84 158 90 158 90 158 84 +POLYGONS 48 + 200 3 3 2 1 131 99 135 99 135 99 + 200 3 3 1 0 131 99 135 99 131 99 + 200 3 2 5 4 135 99 135 103 135 103 + 200 3 2 4 1 135 99 135 103 135 99 + 200 3 6 0 1 131 103 131 99 135 99 + 200 3 6 1 4 131 103 135 99 135 103 + 200 3 2 3 7 135 99 131 99 131 103 + 200 3 2 7 5 135 99 131 103 135 103 + 200 3 7 3 0 131 103 131 99 131 99 + 200 3 7 0 6 131 103 131 99 131 103 + 200 3 11 10 9 152 90 152 84 158 84 + 200 3 11 9 8 152 90 158 84 158 90 + 200 3 15 14 13 158 84 152 84 152 90 + 200 3 15 13 12 158 84 152 90 158 90 + 200 3 13 14 10 152 90 152 84 152 84 + 200 3 13 10 11 152 90 152 84 152 90 + 200 3 14 15 9 152 84 158 84 158 84 + 200 3 14 9 10 152 84 158 84 152 84 + 200 3 15 12 8 158 84 158 90 158 90 + 200 3 15 8 9 158 84 158 90 158 84 200 3 18 17 16 160 83 158 90 141 87 200 3 16 19 18 141 87 147 79 160 83 200 3 22 21 20 160 83 147 79 141 88 @@ -67,11 +77,19 @@ POLYGONS 30 200 3 17 18 22 239 168 237 159 230 159 200 3 18 19 21 218 129 198 126 198 122 200 3 21 22 18 198 122 218 118 218 129 - 200 4 27 26 25 24 158 84 152 84 152 90 158 90 - 200 4 25 26 29 28 152 90 152 84 152 84 152 90 - 200 4 26 27 30 29 152 84 158 84 158 84 152 84 - 200 4 27 24 31 30 158 84 158 90 158 90 158 84 - 200 4 35 34 33 32 152 90 152 84 158 84 158 90 - 200 4 37 36 34 35 152 90 152 84 152 84 152 90 - 200 4 36 38 33 34 152 84 158 84 158 84 152 84 - 200 4 38 39 32 33 158 84 158 90 158 90 158 84 \ No newline at end of file + 200 3 27 26 25 158 84 152 84 152 90 + 200 3 27 25 24 158 84 152 90 158 90 + 200 3 25 26 29 152 90 152 84 152 84 + 200 3 25 29 28 152 90 152 84 152 90 + 200 3 26 27 30 152 84 158 84 158 84 + 200 3 26 30 29 152 84 158 84 152 84 + 200 3 27 24 31 158 84 158 90 158 90 + 200 3 27 31 30 158 84 158 90 158 84 + 200 3 35 34 33 152 90 152 84 158 84 + 200 3 35 33 32 152 90 158 84 158 90 + 200 3 37 36 34 152 90 152 84 152 84 + 200 3 37 34 35 152 90 152 84 152 90 + 200 3 36 38 33 152 84 158 84 158 84 + 200 3 36 33 34 152 84 158 84 152 84 + 200 3 38 39 32 158 84 158 90 158 90 + 200 3 38 32 33 158 84 158 90 158 84 \ No newline at end of file diff --git a/data/base/components/bodies/fireknee.pie b/data/base/components/bodies/fireknee.pie index 4699b7377..5c150d90e 100644 --- a/data/base/components/bodies/fireknee.pie +++ b/data/base/components/bodies/fireknee.pie @@ -22,13 +22,19 @@ POINTS 18 -6 0 -16 -1 23 -16 -1 23 12 -POLYGONS 6 - 200 4 3 2 1 0 155 115 145 115 145 123 155 123 - 4200 4 7 6 5 4 2 1 11 14 45 128 54 128 54 140 45 140 - 4200 4 6 7 9 8 2 1 11 14 111 153 120 153 120 165 111 165 - 4200 4 13 12 11 10 2 1 14 14 126 223 138 223 138 235 126 235 - 4200 4 14 15 16 17 2 1 17 14 92 234 107 234 107 222 92 222 - 4200 4 17 16 15 14 2 1 17 14 92 222 107 222 107 234 92 234 +POLYGONS 12 + 200 3 3 2 1 155 115 145 115 145 123 + 200 3 3 1 0 155 115 145 123 155 123 + 4200 3 7 6 5 2 1 11 14 45 128 54 128 54 140 + 4200 3 7 5 4 2 1 11 14 45 128 54 140 45 140 + 4200 3 6 7 9 2 1 11 14 111 153 120 153 120 165 + 4200 3 6 9 8 2 1 11 14 111 153 120 165 111 165 + 4200 3 13 12 11 2 1 14 14 126 223 138 223 138 235 + 4200 3 13 11 10 2 1 14 14 126 223 138 235 126 235 + 4200 3 14 15 16 2 1 17 14 92 234 107 234 107 222 + 4200 3 14 16 17 2 1 17 14 92 234 107 222 92 222 + 4200 3 17 16 15 2 1 17 14 92 222 107 222 107 234 + 4200 3 17 15 14 2 1 17 14 92 222 107 234 92 234 LEVEL 2 POINTS 23 10 0 -9 @@ -54,13 +60,19 @@ POINTS 23 2 9 -11 -7 9 -11 2 18 -11 -POLYGONS 8 - 200 4 3 2 1 0 155 115 145 115 145 123 155 123 - 4200 4 7 6 5 4 2 1 11 14 45 128 54 128 54 140 45 140 - 4200 4 6 7 9 8 2 1 11 14 111 153 120 153 120 165 111 165 - 4200 4 13 12 11 10 2 1 14 14 126 223 138 223 138 235 126 235 - 4200 4 14 15 16 17 2 1 17 14 92 234 107 234 107 222 92 222 - 4200 4 17 16 15 14 2 1 17 14 92 222 107 222 107 234 92 234 +POLYGONS 14 + 200 3 3 2 1 155 115 145 115 145 123 + 200 3 3 1 0 155 115 145 123 155 123 + 4200 3 7 6 5 2 1 11 14 45 128 54 128 54 140 + 4200 3 7 5 4 2 1 11 14 45 128 54 140 45 140 + 4200 3 6 7 9 2 1 11 14 111 153 120 153 120 165 + 4200 3 6 9 8 2 1 11 14 111 153 120 165 111 165 + 4200 3 13 12 11 2 1 14 14 126 223 138 223 138 235 + 4200 3 13 11 10 2 1 14 14 126 223 138 235 126 235 + 4200 3 14 15 16 2 1 17 14 92 234 107 234 107 222 + 4200 3 14 16 17 2 1 17 14 92 234 107 222 92 222 + 4200 3 17 16 15 2 1 17 14 92 222 107 222 107 234 + 4200 3 17 15 14 2 1 17 14 92 222 107 234 92 234 200 3 20 19 18 244 120 254 125 244 130 200 3 22 19 21 244 120 254 125 244 130 LEVEL 3 @@ -83,10 +95,16 @@ POINTS 18 -6 0 -16 -1 23 -16 -1 23 12 -POLYGONS 6 - 200 4 3 2 1 0 155 115 145 115 145 123 155 123 - 4200 4 7 6 5 4 2 1 11 14 45 128 54 128 54 140 45 140 - 4200 4 6 7 9 8 2 1 11 14 111 153 120 153 120 165 111 165 - 4200 4 13 12 11 10 2 1 14 14 126 223 138 223 138 235 126 235 - 4200 4 14 15 16 17 2 1 17 14 92 234 107 234 107 222 92 222 - 4200 4 17 16 15 14 2 1 17 14 92 222 107 222 107 234 92 234 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 155 115 145 115 145 123 + 200 3 3 1 0 155 115 145 123 155 123 + 4200 3 7 6 5 2 1 11 14 45 128 54 128 54 140 + 4200 3 7 5 4 2 1 11 14 45 128 54 140 45 140 + 4200 3 6 7 9 2 1 11 14 111 153 120 153 120 165 + 4200 3 6 9 8 2 1 11 14 111 153 120 165 111 165 + 4200 3 13 12 11 2 1 14 14 126 223 138 223 138 235 + 4200 3 13 11 10 2 1 14 14 126 223 138 235 126 235 + 4200 3 14 15 16 2 1 17 14 92 234 107 234 107 222 + 4200 3 14 16 17 2 1 17 14 92 234 107 222 92 222 + 4200 3 17 16 15 2 1 17 14 92 222 107 222 107 234 + 4200 3 17 15 14 2 1 17 14 92 222 107 234 92 234 \ No newline at end of file diff --git a/data/base/components/bodies/flamfall.pie b/data/base/components/bodies/flamfall.pie index f0dd0ee82..9a86e8ced 100644 --- a/data/base/components/bodies/flamfall.pie +++ b/data/base/components/bodies/flamfall.pie @@ -16,11 +16,15 @@ POINTS 12 -2 -1 -7 8 44 -15 8 47 -1 -POLYGONS 4 - 200 4 0 1 2 3 1 255 15 255 15 232 1 232 - 200 4 3 2 1 0 1 232 15 232 15 255 1 255 - 200 4 7 6 5 4 38 235 50 235 50 255 38 255 - 200 4 11 10 9 8 24 232 16 232 16 255 24 255 +POLYGONS 8 + 200 3 0 1 2 1 255 15 255 15 232 + 200 3 0 2 3 1 255 15 232 1 232 + 200 3 3 2 1 1 232 15 232 15 255 + 200 3 3 1 0 1 232 15 255 1 255 + 200 3 7 6 5 38 235 50 235 50 255 + 200 3 7 5 4 38 235 50 255 38 255 + 200 3 11 10 9 24 232 16 232 16 255 + 200 3 11 9 8 24 232 16 255 24 255 LEVEL 2 POINTS 14 -11 46 -21 @@ -37,12 +41,15 @@ POINTS 14 -2 -3 -6 8 39 -26 8 47 -8 -POLYGONS 5 +POLYGONS 8 200 3 2 1 0 111 220 125 220 125 196 200 3 2 0 3 111 220 125 196 111 196 - 200 4 3 0 5 4 111 196 125 196 125 220 111 220 - 200 4 9 8 7 6 25 234 37 234 37 255 25 255 - 200 4 13 12 11 10 138 195 126 195 126 221 138 221 + 200 3 3 0 5 111 196 125 196 125 220 + 200 3 3 5 4 111 196 125 220 111 220 + 200 3 9 8 7 25 234 37 234 37 255 + 200 3 9 7 6 25 234 37 255 25 255 + 200 3 13 12 11 138 195 126 195 126 221 + 200 3 13 11 10 138 195 126 221 138 221 LEVEL 3 POINTS 12 -2 9 9 @@ -57,11 +64,15 @@ POINTS 12 1 4 4 -8 37 -28 -8 27 -38 -POLYGONS 4 - 200 4 3 2 1 0 50 235 38 235 38 255 50 255 - 200 4 4 5 6 7 153 250 169 250 169 222 153 222 - 200 4 7 6 5 4 153 222 169 222 169 250 153 250 - 200 4 11 10 9 8 16 232 24 232 24 255 16 255 +POLYGONS 8 + 200 3 3 2 1 50 235 38 235 38 255 + 200 3 3 1 0 50 235 38 255 50 255 + 200 3 4 5 6 153 250 169 250 169 222 + 200 3 4 6 7 153 250 169 222 153 222 + 200 3 7 6 5 153 222 169 222 169 250 + 200 3 7 5 4 153 222 169 250 153 250 + 200 3 11 10 9 16 232 24 232 24 255 + 200 3 11 9 8 16 232 24 255 16 255 LEVEL 4 POINTS 14 -4 -5 -1 @@ -78,9 +89,12 @@ POINTS 14 -2 -7 -1 8 4 -47 8 22 -42 -POLYGONS 5 - 200 4 3 2 1 0 126 167 111 167 111 194 126 194 +POLYGONS 8 + 200 3 3 2 1 126 167 111 167 111 194 + 200 3 3 1 0 126 167 111 194 126 194 200 3 5 3 4 111 194 126 167 126 194 200 3 5 2 3 111 194 111 167 126 167 - 200 4 9 8 7 6 126 195 138 195 138 221 126 221 - 200 4 13 12 11 10 37 234 25 234 25 255 37 255 \ No newline at end of file + 200 3 9 8 7 126 195 138 195 138 221 + 200 3 9 7 6 126 195 138 221 126 221 + 200 3 13 12 11 37 234 25 234 25 255 + 200 3 13 11 10 37 234 25 255 37 255 \ No newline at end of file diff --git a/data/base/components/bodies/mibnkbod.pie b/data/base/components/bodies/mibnkbod.pie index ab2c04778..5aeb1c266 100644 --- a/data/base/components/bodies/mibnkbod.pie +++ b/data/base/components/bodies/mibnkbod.pie @@ -45,41 +45,75 @@ POINTS 41 13 10 -2 -14 10 28 13 10 28 -POLYGONS 34 - 200 4 3 2 1 0 237 220 239 220 239 222 237 222 - 200 4 7 6 5 4 239 221 239 220 238 220 238 221 - 200 4 5 9 8 4 238 220 237 220 237 221 238 221 - 200 4 8 0 1 4 237 221 237 222 238 222 238 221 - 200 4 1 10 7 4 238 222 239 222 239 221 238 221 - 200 4 12 11 5 6 239 220 237 220 237 222 239 222 - 200 4 13 12 6 7 239 220 237 220 237 222 239 222 - 200 4 14 13 7 10 239 220 237 220 237 222 239 222 - 200 4 2 14 10 1 237 220 239 220 239 222 237 222 - 200 4 11 15 9 5 239 220 237 220 237 222 239 222 - 200 4 15 16 8 9 237 220 239 220 239 222 237 222 - 200 4 16 3 0 8 237 220 239 220 239 222 237 222 - 200 4 20 19 18 17 225 222 225 220 227 220 227 222 - 200 4 24 23 22 21 237 222 237 220 239 220 239 222 - 200 4 26 24 21 25 233 222 233 220 235 220 235 222 - 200 4 23 20 17 22 225 222 225 222 227 222 227 222 - 200 4 19 28 27 18 233 221 233 220 235 220 235 221 - 200 4 28 30 29 27 233 220 233 222 235 222 235 220 - 200 4 34 33 32 31 229 220 229 220 231 220 231 220 - 200 4 33 36 35 32 233 220 233 221 235 221 235 220 - 200 4 36 38 37 35 225 221 225 221 227 221 227 221 - 200 4 38 40 39 37 229 221 229 222 231 222 231 221 - 200 4 40 26 25 39 225 222 225 222 227 222 227 222 - 200 4 30 34 31 29 229 220 229 220 231 220 231 220 - 200 4 29 31 18 27 229 222 229 222 229 220 229 221 - 200 4 25 21 37 39 231 220 230 220 230 222 231 222 - 200 4 37 21 22 35 230 222 230 220 230 220 230 222 - 200 4 35 22 17 32 230 222 230 220 229 220 229 222 - 200 4 32 17 18 31 229 222 229 220 229 220 229 222 - 200 4 19 34 30 28 229 220 229 222 229 222 229 221 - 200 4 38 24 26 40 230 222 230 220 231 220 231 222 - 200 4 23 24 38 36 230 220 230 220 230 222 230 222 - 200 4 20 23 36 33 229 220 230 220 230 222 229 222 - 200 4 19 20 33 34 229 220 229 220 229 222 229 222 +POLYGONS 68 + 200 3 3 2 1 237 220 239 220 239 222 + 200 3 3 1 0 237 220 239 222 237 222 + 200 3 7 6 5 239 221 239 220 238 220 + 200 3 7 5 4 239 221 238 220 238 221 + 200 3 5 9 8 238 220 237 220 237 221 + 200 3 5 8 4 238 220 237 221 238 221 + 200 3 8 0 1 237 221 237 222 238 222 + 200 3 8 1 4 237 221 238 222 238 221 + 200 3 1 10 7 238 222 239 222 239 221 + 200 3 1 7 4 238 222 239 221 238 221 + 200 3 12 11 5 239 220 237 220 237 222 + 200 3 12 5 6 239 220 237 222 239 222 + 200 3 13 12 6 239 220 237 220 237 222 + 200 3 13 6 7 239 220 237 222 239 222 + 200 3 14 13 7 239 220 237 220 237 222 + 200 3 14 7 10 239 220 237 222 239 222 + 200 3 2 14 10 237 220 239 220 239 222 + 200 3 2 10 1 237 220 239 222 237 222 + 200 3 11 15 9 239 220 237 220 237 222 + 200 3 11 9 5 239 220 237 222 239 222 + 200 3 15 16 8 237 220 239 220 239 222 + 200 3 15 8 9 237 220 239 222 237 222 + 200 3 16 3 0 237 220 239 220 239 222 + 200 3 16 0 8 237 220 239 222 237 222 + 200 3 20 19 18 225 222 225 220 227 220 + 200 3 20 18 17 225 222 227 220 227 222 + 200 3 24 23 22 237 222 237 220 239 220 + 200 3 24 22 21 237 222 239 220 239 222 + 200 3 26 24 21 233 222 233 220 235 220 + 200 3 26 21 25 233 222 235 220 235 222 + 200 3 23 20 17 225 222 225 222 227 222 + 200 3 23 17 22 225 222 227 222 227 222 + 200 3 19 28 27 233 221 233 220 235 220 + 200 3 19 27 18 233 221 235 220 235 221 + 200 3 28 30 29 233 220 233 222 235 222 + 200 3 28 29 27 233 220 235 222 235 220 + 200 3 34 33 32 229 220 229 220 231 220 + 200 3 34 32 31 229 220 231 220 231 220 + 200 3 33 36 35 233 220 233 221 235 221 + 200 3 33 35 32 233 220 235 221 235 220 + 200 3 36 38 37 225 221 225 221 227 221 + 200 3 36 37 35 225 221 227 221 227 221 + 200 3 38 40 39 229 221 229 222 231 222 + 200 3 38 39 37 229 221 231 222 231 221 + 200 3 40 26 25 225 222 225 222 227 222 + 200 3 40 25 39 225 222 227 222 227 222 + 200 3 30 34 31 229 220 229 220 231 220 + 200 3 30 31 29 229 220 231 220 231 220 + 200 3 29 31 18 229 222 229 222 229 220 + 200 3 29 18 27 229 222 229 220 229 221 + 200 3 25 21 37 231 220 230 220 230 222 + 200 3 25 37 39 231 220 230 222 231 222 + 200 3 37 21 22 230 222 230 220 230 220 + 200 3 37 22 35 230 222 230 220 230 222 + 200 3 35 22 17 230 222 230 220 229 220 + 200 3 35 17 32 230 222 229 220 229 222 + 200 3 32 17 18 229 222 229 220 229 220 + 200 3 32 18 31 229 222 229 220 229 222 + 200 3 19 34 30 229 220 229 222 229 222 + 200 3 19 30 28 229 220 229 222 229 221 + 200 3 38 24 26 230 222 230 220 231 220 + 200 3 38 26 40 230 222 231 220 231 222 + 200 3 23 24 38 230 220 230 220 230 222 + 200 3 23 38 36 230 220 230 222 230 222 + 200 3 20 23 36 229 220 230 220 230 222 + 200 3 20 36 33 229 220 230 222 229 222 + 200 3 19 20 33 229 220 229 220 229 222 + 200 3 19 33 34 229 220 229 222 229 222 CONNECTORS 2 0 11 22 0 -25 9 diff --git a/data/base/components/bodies/runanim.pie b/data/base/components/bodies/runanim.pie index 35633e22a..6aff67288 100644 --- a/data/base/components/bodies/runanim.pie +++ b/data/base/components/bodies/runanim.pie @@ -20,12 +20,17 @@ POINTS 16 -6 0 -5 -3 32 -15 -3 32 -3 -POLYGONS 5 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 - 4200 4 7 6 5 4 2 1 14 18 28 146 16 146 16 162 28 162 - 4200 4 6 7 4 5 2 1 14 18 136 98 124 98 124 114 136 114 - 4200 4 11 10 9 8 2 1 8 18 7 146 1 146 1 162 7 162 - 4200 4 15 14 13 12 2 1 8 18 158 98 152 98 152 114 158 114 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 + 4200 3 7 6 5 2 1 14 18 28 146 16 146 16 162 + 4200 3 7 5 4 2 1 14 18 28 146 16 162 28 162 + 4200 3 6 7 4 2 1 14 18 136 98 124 98 124 114 + 4200 3 6 4 5 2 1 14 18 136 98 124 114 136 114 + 4200 3 11 10 9 2 1 8 18 7 146 1 146 1 162 + 4200 3 11 9 8 2 1 8 18 7 146 1 162 7 162 + 4200 3 15 14 13 2 1 8 18 158 98 152 98 152 114 + 4200 3 15 13 12 2 1 8 18 158 98 152 114 158 114 LEVEL 2 POINTS 18 9 0 -12 @@ -46,14 +51,17 @@ POINTS 18 -5 3 -5 -2 34 -15 -2 34 3 -POLYGONS 7 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 4200 3 6 5 4 2 1 14 18 28 146 16 162 28 162 4200 3 6 7 5 2 1 14 18 28 146 16 146 16 162 4200 3 9 8 7 2 1 14 18 124 114 136 114 136 98 4200 3 9 7 6 2 1 14 18 124 114 136 98 124 98 - 4200 4 13 12 11 10 2 1 11 18 32 128 23 128 23 144 32 144 - 4200 4 17 16 15 14 2 1 11 18 52 146 43 146 43 162 52 162 + 4200 3 13 12 11 2 1 11 18 32 128 23 128 23 144 + 4200 3 13 11 10 2 1 11 18 32 128 23 144 32 144 + 4200 3 17 16 15 2 1 11 18 52 146 43 146 43 162 + 4200 3 17 15 14 2 1 11 18 52 146 43 162 52 162 LEVEL 3 POINTS 16 9 0 -12 @@ -72,12 +80,17 @@ POINTS 16 -6 0 -5 -3 32 -15 -3 32 -3 -POLYGONS 5 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 - 4200 4 7 6 5 4 2 1 14 18 28 146 16 146 16 162 28 162 - 4200 4 6 7 4 5 2 1 14 18 136 98 124 98 124 114 136 114 - 4200 4 11 10 9 8 2 1 8 18 7 146 1 146 1 162 7 162 - 4200 4 15 14 13 12 2 1 8 18 158 98 152 98 152 114 158 114 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 + 4200 3 7 6 5 2 1 14 18 28 146 16 146 16 162 + 4200 3 7 5 4 2 1 14 18 28 146 16 162 28 162 + 4200 3 6 7 4 2 1 14 18 136 98 124 98 124 114 + 4200 3 6 4 5 2 1 14 18 136 98 124 114 136 114 + 4200 3 11 10 9 2 1 8 18 7 146 1 146 1 162 + 4200 3 11 9 8 2 1 8 18 7 146 1 162 7 162 + 4200 3 15 14 13 2 1 8 18 158 98 152 98 152 114 + 4200 3 15 13 12 2 1 8 18 158 98 152 114 158 114 LEVEL 4 POINTS 18 9 0 -3 @@ -98,11 +111,14 @@ POINTS 18 -5 3 -10 -2 34 -20 -2 34 -3 -POLYGONS 7 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 4200 3 6 5 4 2 1 14 18 28 162 16 146 16 162 4200 3 6 7 5 2 1 14 18 28 162 28 146 16 146 4200 3 7 9 8 2 1 14 18 124 98 124 114 136 114 4200 3 7 8 5 2 1 14 18 124 98 136 114 136 98 - 4200 4 13 12 11 10 2 1 11 18 43 146 52 146 52 162 43 162 - 4200 4 17 16 15 14 2 1 11 18 23 128 32 128 32 144 23 144 \ No newline at end of file + 4200 3 13 12 11 2 1 11 18 43 146 52 146 52 162 + 4200 3 13 11 10 2 1 11 18 43 146 52 162 43 162 + 4200 3 17 16 15 2 1 11 18 23 128 32 128 32 144 + 4200 3 17 15 14 2 1 11 18 23 128 32 144 23 144 \ No newline at end of file diff --git a/data/base/components/bodies/runflame.pie b/data/base/components/bodies/runflame.pie index 6b8060990..e079b2feb 100644 --- a/data/base/components/bodies/runflame.pie +++ b/data/base/components/bodies/runflame.pie @@ -16,11 +16,15 @@ POINTS 12 -2 0 -7 8 46 -7 8 46 6 -POLYGONS 4 - 200 4 0 1 2 3 1 255 15 255 15 232 1 232 - 200 4 3 2 1 0 1 232 15 232 15 255 1 255 - 200 4 7 6 5 4 38 235 50 235 50 255 38 255 - 200 4 11 10 9 8 24 232 16 232 16 255 24 255 +POLYGONS 8 + 200 3 0 1 2 1 255 15 255 15 232 + 200 3 0 2 3 1 255 15 232 1 232 + 200 3 3 2 1 1 232 15 232 15 255 + 200 3 3 1 0 1 232 15 255 1 255 + 200 3 7 6 5 38 235 50 235 50 255 + 200 3 7 5 4 38 235 50 255 38 255 + 200 3 11 10 9 24 232 16 232 16 255 + 200 3 11 9 8 24 232 16 255 24 255 LEVEL 2 POINTS 14 3 0 -7 @@ -37,10 +41,13 @@ POINTS 14 8 46 12 -4 0 9 3 0 -11 -POLYGONS 5 - 200 4 3 2 1 0 111 196 125 196 125 220 111 220 - 200 4 7 6 5 4 25 234 37 234 37 255 25 255 - 200 4 11 10 9 8 138 195 126 195 126 221 138 221 +POLYGONS 8 + 200 3 3 2 1 111 196 125 196 125 220 + 200 3 3 1 0 111 196 125 220 111 220 + 200 3 7 6 5 25 234 37 234 37 255 + 200 3 7 5 4 25 234 37 255 25 255 + 200 3 11 10 9 138 195 126 195 126 221 + 200 3 11 9 8 138 195 126 221 138 221 200 3 13 12 2 111 220 125 220 125 196 200 3 13 2 3 111 220 125 196 111 196 LEVEL 3 @@ -57,11 +64,15 @@ POINTS 12 -2 0 -7 8 46 -7 8 46 13 -POLYGONS 4 - 200 4 0 1 2 3 153 250 169 250 169 222 153 222 - 200 4 3 2 1 0 153 222 169 222 169 250 153 250 - 200 4 7 6 5 4 16 232 24 232 24 255 16 255 - 200 4 11 10 9 8 50 235 38 235 38 255 50 255 +POLYGONS 8 + 200 3 0 1 2 153 250 169 250 169 222 + 200 3 0 2 3 153 250 169 222 153 222 + 200 3 3 2 1 153 222 169 222 169 250 + 200 3 3 1 0 153 222 169 250 153 250 + 200 3 7 6 5 16 232 24 232 24 255 + 200 3 7 5 4 16 232 24 255 16 255 + 200 3 11 10 9 50 235 38 235 38 255 + 200 3 11 9 8 50 235 38 255 50 255 LEVEL 4 POINTS 14 -4 0 -7 @@ -78,9 +89,12 @@ POINTS 14 8 46 10 -4 0 -5 3 0 12 -POLYGONS 5 +POLYGONS 8 200 3 2 1 0 111 194 126 167 126 194 200 3 2 3 1 111 194 111 167 126 167 - 200 4 7 6 5 4 126 195 138 195 138 221 126 221 - 200 4 11 10 9 8 37 234 25 234 25 255 37 255 - 200 4 1 3 13 12 126 167 111 167 111 194 126 194 \ No newline at end of file + 200 3 7 6 5 126 195 138 195 138 221 + 200 3 7 5 4 126 195 138 221 126 221 + 200 3 11 10 9 37 234 25 234 25 255 + 200 3 11 9 8 37 234 25 255 37 255 + 200 3 1 3 13 126 167 111 167 111 194 + 200 3 1 13 12 126 167 111 194 126 194 \ No newline at end of file diff --git a/data/base/components/bodies/walkanim.pie b/data/base/components/bodies/walkanim.pie index a99e2250f..13cb4b372 100644 --- a/data/base/components/bodies/walkanim.pie +++ b/data/base/components/bodies/walkanim.pie @@ -20,12 +20,17 @@ POINTS 16 -5 0 -6 -2 32 -6 -2 32 5 -POLYGONS 5 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 - 4200 4 7 6 5 4 2 1 14 18 28 146 16 146 16 162 28 162 - 4200 4 6 7 4 5 2 1 14 18 136 98 124 98 124 114 136 114 - 4200 4 11 10 9 8 2 1 8 18 7 146 1 146 1 162 7 162 - 4200 4 15 14 13 12 2 1 8 18 158 98 152 98 152 114 158 114 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 + 4200 3 7 6 5 2 1 14 18 28 146 16 146 16 162 + 4200 3 7 5 4 2 1 14 18 28 146 16 162 28 162 + 4200 3 6 7 4 2 1 14 18 136 98 124 98 124 114 + 4200 3 6 4 5 2 1 14 18 136 98 124 114 136 114 + 4200 3 11 10 9 2 1 8 18 7 146 1 146 1 162 + 4200 3 11 9 8 2 1 8 18 7 146 1 162 7 162 + 4200 3 15 14 13 2 1 8 18 158 98 152 98 152 114 + 4200 3 15 13 12 2 1 8 18 158 98 152 114 158 114 LEVEL 2 POINTS 18 10 0 -13 @@ -46,14 +51,17 @@ POINTS 18 -4 0 -6 -1 30 -6 -1 30 12 -POLYGONS 7 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 4200 3 6 5 4 2 1 14 18 28 146 16 162 28 162 4200 3 6 7 5 2 1 14 18 28 146 16 146 16 162 4200 3 9 8 7 2 1 14 18 124 114 136 114 136 98 4200 3 9 7 6 2 1 14 18 124 114 136 98 124 98 - 4200 4 13 12 11 10 2 1 11 18 32 128 23 128 23 144 32 144 - 4200 4 17 16 15 14 2 1 11 18 52 146 43 146 43 162 52 162 + 4200 3 13 12 11 2 1 11 18 32 128 23 128 23 144 + 4200 3 13 11 10 2 1 11 18 32 128 23 144 32 144 + 4200 3 17 16 15 2 1 11 18 52 146 43 146 43 162 + 4200 3 17 15 14 2 1 11 18 52 146 43 162 52 162 LEVEL 3 POINTS 16 10 0 -7 @@ -72,12 +80,17 @@ POINTS 16 -5 0 -6 -2 32 -6 -2 32 5 -POLYGONS 5 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 - 4200 4 7 6 5 4 2 1 14 18 28 146 16 146 16 162 28 162 - 4200 4 6 7 4 5 2 1 14 18 136 98 124 98 124 114 136 114 - 4200 4 11 10 9 8 2 1 8 18 7 146 1 146 1 162 7 162 - 4200 4 15 14 13 12 2 1 8 18 158 98 152 98 152 114 158 114 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 + 4200 3 7 6 5 2 1 14 18 28 146 16 146 16 162 + 4200 3 7 5 4 2 1 14 18 28 146 16 162 28 162 + 4200 3 6 7 4 2 1 14 18 136 98 124 98 124 114 + 4200 3 6 4 5 2 1 14 18 136 98 124 114 136 114 + 4200 3 11 10 9 2 1 8 18 7 146 1 146 1 162 + 4200 3 11 9 8 2 1 8 18 7 146 1 162 7 162 + 4200 3 15 14 13 2 1 8 18 158 98 152 98 152 114 + 4200 3 15 13 12 2 1 8 18 158 98 152 114 158 114 LEVEL 4 POINTS 18 10 0 -4 @@ -98,11 +111,14 @@ POINTS 18 -4 0 -11 -1 30 -11 -1 30 5 -POLYGONS 7 - 200 4 3 2 1 0 155 116 145 116 145 124 155 124 +POLYGONS 10 + 200 3 3 2 1 155 116 145 116 145 124 + 200 3 3 1 0 155 116 145 124 155 124 4200 3 6 5 4 2 1 14 18 28 162 16 146 16 162 4200 3 6 7 5 2 1 14 18 28 162 28 146 16 146 4200 3 7 9 8 2 1 14 18 124 98 124 114 136 114 4200 3 7 8 5 2 1 14 18 124 98 136 114 136 98 - 4200 4 13 12 11 10 2 1 11 18 43 146 52 146 52 162 43 162 - 4200 4 17 16 15 14 2 1 11 18 23 128 32 128 32 144 23 144 \ No newline at end of file + 4200 3 13 12 11 2 1 11 18 43 146 52 146 52 162 + 4200 3 13 11 10 2 1 11 18 43 146 52 162 43 162 + 4200 3 17 16 15 2 1 11 18 23 128 32 128 32 144 + 4200 3 17 15 14 2 1 11 18 23 128 32 144 23 144 \ No newline at end of file diff --git a/data/base/components/prop/mibnkdrl.pie b/data/base/components/prop/mibnkdrl.pie index 1504813af..8393493aa 100644 --- a/data/base/components/prop/mibnkdrl.pie +++ b/data/base/components/prop/mibnkdrl.pie @@ -38,34 +38,64 @@ POINTS 34 25 17 -22 25 17 21 25 14 25 -POLYGONS 30 - 200 4 3 2 1 0 233 222 233 220 235 220 235 222 - 200 4 7 6 5 4 229 220 229 222 231 222 231 220 - 200 4 11 10 9 8 225 222 225 220 227 220 227 222 - 200 4 2 13 12 1 225 222 225 220 227 220 227 222 - 200 4 6 15 14 5 237 220 237 222 239 222 239 220 - 200 4 15 3 0 14 237 222 237 222 239 222 239 222 - 200 4 10 7 4 9 225 220 225 222 227 222 227 220 - 200 4 0 1 12 16 235 222 235 220 235 220 233 221 - 200 4 12 8 9 16 235 220 233 220 233 220 233 221 - 200 4 9 4 5 16 233 220 233 222 233 222 233 221 - 200 4 5 14 0 16 233 222 235 222 235 222 233 221 - 200 4 2 3 15 17 235 220 235 222 235 222 233 221 - 200 4 11 13 2 17 233 220 235 220 235 220 233 221 - 200 4 7 10 11 17 233 222 233 220 233 220 233 221 - 200 4 15 6 7 17 235 222 233 222 233 222 233 221 - 200 4 13 11 8 12 221 222 221 220 223 220 223 222 - 200 4 21 20 19 18 217 222 217 220 219 220 219 222 - 200 4 25 24 23 22 233 222 233 220 235 220 235 222 - 200 4 19 27 26 18 225 222 225 222 225 220 225 220 - 200 4 18 26 28 23 225 220 225 220 227 220 227 220 - 200 4 22 23 28 29 227 222 227 220 227 220 227 222 - 200 4 31 30 20 21 225 220 225 222 225 222 225 220 - 200 4 32 31 21 24 227 220 225 220 225 220 227 220 - 200 4 32 24 25 33 227 220 227 220 227 222 227 222 - 200 4 24 21 18 23 221 222 221 220 223 220 223 222 - 200 4 30 31 26 27 237 220 237 220 239 220 239 220 - 200 4 31 32 28 26 237 220 237 222 239 222 239 220 - 200 4 32 33 29 28 237 222 237 222 239 222 239 222 - 200 4 33 25 22 29 237 222 237 222 239 222 239 222 - 200 4 20 30 27 19 237 220 237 220 239 220 239 220 +POLYGONS 60 + 200 3 3 2 1 233 222 233 220 235 220 + 200 3 3 1 0 233 222 235 220 235 222 + 200 3 7 6 5 229 220 229 222 231 222 + 200 3 7 5 4 229 220 231 222 231 220 + 200 3 11 10 9 225 222 225 220 227 220 + 200 3 11 9 8 225 222 227 220 227 222 + 200 3 2 13 12 225 222 225 220 227 220 + 200 3 2 12 1 225 222 227 220 227 222 + 200 3 6 15 14 237 220 237 222 239 222 + 200 3 6 14 5 237 220 239 222 239 220 + 200 3 15 3 0 237 222 237 222 239 222 + 200 3 15 0 14 237 222 239 222 239 222 + 200 3 10 7 4 225 220 225 222 227 222 + 200 3 10 4 9 225 220 227 222 227 220 + 200 3 0 1 12 235 222 235 220 235 220 + 200 3 0 12 16 235 222 235 220 233 221 + 200 3 12 8 9 235 220 233 220 233 220 + 200 3 12 9 16 235 220 233 220 233 221 + 200 3 9 4 5 233 220 233 222 233 222 + 200 3 9 5 16 233 220 233 222 233 221 + 200 3 5 14 0 233 222 235 222 235 222 + 200 3 5 0 16 233 222 235 222 233 221 + 200 3 2 3 15 235 220 235 222 235 222 + 200 3 2 15 17 235 220 235 222 233 221 + 200 3 11 13 2 233 220 235 220 235 220 + 200 3 11 2 17 233 220 235 220 233 221 + 200 3 7 10 11 233 222 233 220 233 220 + 200 3 7 11 17 233 222 233 220 233 221 + 200 3 15 6 7 235 222 233 222 233 222 + 200 3 15 7 17 235 222 233 222 233 221 + 200 3 13 11 8 221 222 221 220 223 220 + 200 3 13 8 12 221 222 223 220 223 222 + 200 3 21 20 19 217 222 217 220 219 220 + 200 3 21 19 18 217 222 219 220 219 222 + 200 3 25 24 23 233 222 233 220 235 220 + 200 3 25 23 22 233 222 235 220 235 222 + 200 3 19 27 26 225 222 225 222 225 220 + 200 3 19 26 18 225 222 225 220 225 220 + 200 3 18 26 28 225 220 225 220 227 220 + 200 3 18 28 23 225 220 227 220 227 220 + 200 3 22 23 28 227 222 227 220 227 220 + 200 3 22 28 29 227 222 227 220 227 222 + 200 3 31 30 20 225 220 225 222 225 222 + 200 3 31 20 21 225 220 225 222 225 220 + 200 3 32 31 21 227 220 225 220 225 220 + 200 3 32 21 24 227 220 225 220 227 220 + 200 3 32 24 25 227 220 227 220 227 222 + 200 3 32 25 33 227 220 227 222 227 222 + 200 3 24 21 18 221 222 221 220 223 220 + 200 3 24 18 23 221 222 223 220 223 222 + 200 3 30 31 26 237 220 237 220 239 220 + 200 3 30 26 27 237 220 239 220 239 220 + 200 3 31 32 28 237 220 237 222 239 222 + 200 3 31 28 26 237 220 239 222 239 220 + 200 3 32 33 29 237 222 237 222 239 222 + 200 3 32 29 28 237 222 239 222 239 222 + 200 3 33 25 22 237 222 237 222 239 222 + 200 3 33 22 29 237 222 239 222 239 222 + 200 3 20 30 27 237 220 237 220 239 220 + 200 3 20 27 19 237 220 239 220 239 220 \ No newline at end of file diff --git a/data/base/components/prop/mibnkdrr.pie b/data/base/components/prop/mibnkdrr.pie index 85e7ea457..e7e371606 100644 --- a/data/base/components/prop/mibnkdrr.pie +++ b/data/base/components/prop/mibnkdrr.pie @@ -38,34 +38,64 @@ POINTS 34 -14 17 -22 -14 17 21 -14 14 25 -POLYGONS 30 - 200 4 3 2 1 0 221 222 221 220 223 220 223 222 - 200 4 7 6 5 4 233 222 233 220 235 220 235 222 - 200 4 11 10 9 8 229 220 229 222 231 222 231 220 - 200 4 2 13 12 1 225 222 225 220 227 220 227 222 - 200 4 6 3 0 5 225 222 225 220 227 220 227 222 - 200 4 10 15 14 9 237 220 237 222 239 222 239 220 - 200 4 15 7 4 14 237 222 237 222 239 222 239 222 - 200 4 13 11 8 12 225 220 225 222 227 222 227 220 - 200 4 4 5 0 16 235 222 235 220 235 220 233 221 - 200 4 0 1 12 16 235 220 233 220 233 220 233 221 - 200 4 12 8 9 16 233 220 233 222 233 222 233 221 - 200 4 9 14 4 16 233 222 235 222 235 222 233 221 - 200 4 6 7 15 17 235 220 235 222 235 222 233 221 - 200 4 2 3 6 17 233 220 235 220 235 220 233 221 - 200 4 11 13 2 17 233 222 233 220 233 220 233 221 - 200 4 15 10 11 17 235 222 233 222 233 222 233 221 - 200 4 21 20 19 18 233 222 233 220 235 220 235 222 - 200 4 25 24 23 22 217 222 217 220 219 220 219 222 - 200 4 23 27 26 22 225 222 225 222 225 220 225 220 - 200 4 22 26 28 19 225 220 225 220 227 220 227 220 - 200 4 18 19 28 29 227 222 227 220 227 220 227 222 - 200 4 31 30 24 25 225 220 225 222 225 222 225 220 - 200 4 32 31 25 20 227 220 225 220 225 220 227 220 - 200 4 32 20 21 33 227 220 227 220 227 222 227 222 - 200 4 20 25 22 19 221 222 221 220 223 220 223 222 - 200 4 30 31 26 27 237 220 237 220 239 220 239 220 - 200 4 31 32 28 26 237 220 237 222 239 222 239 220 - 200 4 32 33 29 28 237 222 237 222 239 222 239 222 - 200 4 33 21 18 29 237 222 237 222 239 222 239 222 - 200 4 24 30 27 23 237 220 237 220 239 220 239 220 +POLYGONS 60 + 200 3 3 2 1 221 222 221 220 223 220 + 200 3 3 1 0 221 222 223 220 223 222 + 200 3 7 6 5 233 222 233 220 235 220 + 200 3 7 5 4 233 222 235 220 235 222 + 200 3 11 10 9 229 220 229 222 231 222 + 200 3 11 9 8 229 220 231 222 231 220 + 200 3 2 13 12 225 222 225 220 227 220 + 200 3 2 12 1 225 222 227 220 227 222 + 200 3 6 3 0 225 222 225 220 227 220 + 200 3 6 0 5 225 222 227 220 227 222 + 200 3 10 15 14 237 220 237 222 239 222 + 200 3 10 14 9 237 220 239 222 239 220 + 200 3 15 7 4 237 222 237 222 239 222 + 200 3 15 4 14 237 222 239 222 239 222 + 200 3 13 11 8 225 220 225 222 227 222 + 200 3 13 8 12 225 220 227 222 227 220 + 200 3 4 5 0 235 222 235 220 235 220 + 200 3 4 0 16 235 222 235 220 233 221 + 200 3 0 1 12 235 220 233 220 233 220 + 200 3 0 12 16 235 220 233 220 233 221 + 200 3 12 8 9 233 220 233 222 233 222 + 200 3 12 9 16 233 220 233 222 233 221 + 200 3 9 14 4 233 222 235 222 235 222 + 200 3 9 4 16 233 222 235 222 233 221 + 200 3 6 7 15 235 220 235 222 235 222 + 200 3 6 15 17 235 220 235 222 233 221 + 200 3 2 3 6 233 220 235 220 235 220 + 200 3 2 6 17 233 220 235 220 233 221 + 200 3 11 13 2 233 222 233 220 233 220 + 200 3 11 2 17 233 222 233 220 233 221 + 200 3 15 10 11 235 222 233 222 233 222 + 200 3 15 11 17 235 222 233 222 233 221 + 200 3 21 20 19 233 222 233 220 235 220 + 200 3 21 19 18 233 222 235 220 235 222 + 200 3 25 24 23 217 222 217 220 219 220 + 200 3 25 23 22 217 222 219 220 219 222 + 200 3 23 27 26 225 222 225 222 225 220 + 200 3 23 26 22 225 222 225 220 225 220 + 200 3 22 26 28 225 220 225 220 227 220 + 200 3 22 28 19 225 220 227 220 227 220 + 200 3 18 19 28 227 222 227 220 227 220 + 200 3 18 28 29 227 222 227 220 227 222 + 200 3 31 30 24 225 220 225 222 225 222 + 200 3 31 24 25 225 220 225 222 225 220 + 200 3 32 31 25 227 220 225 220 225 220 + 200 3 32 25 20 227 220 225 220 227 220 + 200 3 32 20 21 227 220 227 220 227 222 + 200 3 32 21 33 227 220 227 222 227 222 + 200 3 20 25 22 221 222 221 220 223 220 + 200 3 20 22 19 221 222 223 220 223 222 + 200 3 30 31 26 237 220 237 220 239 220 + 200 3 30 26 27 237 220 239 220 239 220 + 200 3 31 32 28 237 220 237 222 239 222 + 200 3 31 28 26 237 220 239 222 239 220 + 200 3 32 33 29 237 222 237 222 239 222 + 200 3 32 29 28 237 222 239 222 239 222 + 200 3 33 21 18 237 222 237 222 239 222 + 200 3 33 18 29 237 222 239 222 239 222 + 200 3 24 30 27 237 220 237 220 239 220 + 200 3 24 27 23 237 220 239 220 239 220 \ No newline at end of file diff --git a/data/base/components/prop/prhhov1.pie b/data/base/components/prop/prhhov1.pie index 5e83f6cc0..c38a6f808 100644 --- a/data/base/components/prop/prhhov1.pie +++ b/data/base/components/prop/prhhov1.pie @@ -58,40 +58,76 @@ POINTS 54 23 11 -41 32 11 -25 32 11 45 -POLYGONS 36 - 200 4 6 8 39 45 199 35 199 0 192 0 192 35 - 200 4 9 7 46 40 199 0 199 35 192 35 192 0 - 200 4 11 9 40 34 199 31 199 0 192 0 192 35 - 200 4 5 6 45 32 199 31 199 0 192 0 192 35 - 200 4 8 10 33 39 199 0 199 31 192 35 192 0 - 200 4 7 4 31 46 199 0 199 31 192 35 192 0 - 200 4 10 11 34 33 199 1 199 34 192 35 192 0 - 200 4 7 6 5 4 24 10 0 10 5 2 19 2 - 200 4 9 8 6 7 24 24 0 24 0 10 24 10 - 200 4 11 10 8 9 19 33 5 33 0 24 24 24 - 200 4 16 17 13 12 24 40 19 40 19 36 19 36 - 200 4 12 13 17 16 19 36 19 36 19 40 24 40 - 200 4 51 52 48 47 24 40 19 40 19 36 19 36 - 200 4 47 48 52 51 19 36 19 36 19 40 24 40 - 200 4 2 3 44 43 19 71 19 71 20 63 20 63 - 200 4 44 3 0 42 20 63 19 71 1 71 0 63 - 200 4 24 25 21 22 4 40 8 48 8 48 4 40 - 200 4 25 26 20 21 8 47 0 47 0 47 8 47 - 200 4 26 25 24 23 0 48 8 48 4 40 0 40 - 200 4 28 27 30 29 0 55 0 48 7 48 7 55 - 200 4 30 27 28 29 7 48 0 48 0 55 7 55 - 200 4 22 21 20 19 4 40 8 48 0 48 0 40 - 200 4 36 35 38 37 0 55 0 48 7 48 7 55 - 200 4 38 35 36 37 7 48 0 48 0 55 7 55 - 200 4 42 0 1 41 0 63 1 71 1 71 0 63 - 200 4 2 43 41 1 19 71 20 63 0 63 1 71 - 200 4 12 13 14 15 19 36 19 36 1 38 1 38 - 200 4 15 14 13 12 1 38 1 38 19 36 19 36 - 200 4 47 48 49 50 19 36 19 36 1 38 1 38 - 200 4 50 49 48 47 1 38 1 38 19 36 19 36 - 200 4 17 18 14 13 19 40 0 40 1 38 19 36 - 200 4 13 14 18 17 19 36 1 38 0 40 19 40 - 200 4 52 53 49 48 19 40 0 40 1 38 19 36 - 200 4 48 49 53 52 19 36 1 38 0 40 19 40 - 200 4 3 2 1 0 19 70 19 70 1 70 1 70 - 200 4 4 5 32 31 199 34 199 1 192 0 192 35 \ No newline at end of file +POLYGONS 72 + 200 3 6 8 39 199 35 199 0 192 0 + 200 3 6 39 45 199 35 192 0 192 35 + 200 3 9 7 46 199 0 199 35 192 35 + 200 3 9 46 40 199 0 192 35 192 0 + 200 3 11 9 40 199 31 199 0 192 0 + 200 3 11 40 34 199 31 192 0 192 35 + 200 3 5 6 45 199 31 199 0 192 0 + 200 3 5 45 32 199 31 192 0 192 35 + 200 3 8 10 33 199 0 199 31 192 35 + 200 3 8 33 39 199 0 192 35 192 0 + 200 3 7 4 31 199 0 199 31 192 35 + 200 3 7 31 46 199 0 192 35 192 0 + 200 3 10 11 34 199 1 199 34 192 35 + 200 3 10 34 33 199 1 192 35 192 0 + 200 3 7 6 5 24 10 0 10 5 2 + 200 3 7 5 4 24 10 5 2 19 2 + 200 3 9 8 6 24 24 0 24 0 10 + 200 3 9 6 7 24 24 0 10 24 10 + 200 3 11 10 8 19 33 5 33 0 24 + 200 3 11 8 9 19 33 0 24 24 24 + 200 3 16 17 13 24 40 19 40 19 36 + 200 3 16 13 12 24 40 19 36 19 36 + 200 3 12 13 17 19 36 19 36 19 40 + 200 3 12 17 16 19 36 19 40 24 40 + 200 3 51 52 48 24 40 19 40 19 36 + 200 3 51 48 47 24 40 19 36 19 36 + 200 3 47 48 52 19 36 19 36 19 40 + 200 3 47 52 51 19 36 19 40 24 40 + 200 3 2 3 44 19 71 19 71 20 63 + 200 3 2 44 43 19 71 20 63 20 63 + 200 3 44 3 0 20 63 19 71 1 71 + 200 3 44 0 42 20 63 1 71 0 63 + 200 3 24 25 21 4 40 8 48 8 48 + 200 3 24 21 22 4 40 8 48 4 40 + 200 3 25 26 20 8 47 0 47 0 47 + 200 3 25 20 21 8 47 0 47 8 47 + 200 3 26 25 24 0 48 8 48 4 40 + 200 3 26 24 23 0 48 4 40 0 40 + 200 3 28 27 30 0 55 0 48 7 48 + 200 3 28 30 29 0 55 7 48 7 55 + 200 3 30 27 28 7 48 0 48 0 55 + 200 3 30 28 29 7 48 0 55 7 55 + 200 3 22 21 20 4 40 8 48 0 48 + 200 3 22 20 19 4 40 0 48 0 40 + 200 3 36 35 38 0 55 0 48 7 48 + 200 3 36 38 37 0 55 7 48 7 55 + 200 3 38 35 36 7 48 0 48 0 55 + 200 3 38 36 37 7 48 0 55 7 55 + 200 3 42 0 1 0 63 1 71 1 71 + 200 3 42 1 41 0 63 1 71 0 63 + 200 3 2 43 41 19 71 20 63 0 63 + 200 3 2 41 1 19 71 0 63 1 71 + 200 3 12 13 14 19 36 19 36 1 38 + 200 3 12 14 15 19 36 1 38 1 38 + 200 3 15 14 13 1 38 1 38 19 36 + 200 3 15 13 12 1 38 19 36 19 36 + 200 3 47 48 49 19 36 19 36 1 38 + 200 3 47 49 50 19 36 1 38 1 38 + 200 3 50 49 48 1 38 1 38 19 36 + 200 3 50 48 47 1 38 19 36 19 36 + 200 3 17 18 14 19 40 0 40 1 38 + 200 3 17 14 13 19 40 1 38 19 36 + 200 3 13 14 18 19 36 1 38 0 40 + 200 3 13 18 17 19 36 0 40 19 40 + 200 3 52 53 49 19 40 0 40 1 38 + 200 3 52 49 48 19 40 1 38 19 36 + 200 3 48 49 53 19 36 1 38 0 40 + 200 3 48 53 52 19 36 0 40 19 40 + 200 3 3 2 1 19 70 19 70 1 70 + 200 3 3 1 0 19 70 1 70 1 70 + 200 3 4 5 32 199 34 199 1 192 0 + 200 3 4 32 31 199 34 192 0 192 35 \ No newline at end of file diff --git a/data/base/components/prop/prhlhtr3.pie b/data/base/components/prop/prhlhtr3.pie index c9d7b9303..aeeeb9c7b 100644 --- a/data/base/components/prop/prhlhtr3.pie +++ b/data/base/components/prop/prhlhtr3.pie @@ -36,32 +36,59 @@ POINTS 32 19 15 -11 41 23 -1 19 23 -1 -POLYGONS 28 - 200 4 3 27 24 2 0 178 0 186 10 186 10 178 - 200 4 31 30 28 29 9 108 2 108 2 126 9 126 - 200 4 27 26 25 24 94 136 94 98 88 98 88 136 - 200 4 26 29 28 25 10 186 10 178 0 178 0 186 - 200 4 15 10 6 12 35 56 35 62 43 62 43 56 - 200 4 12 21 18 15 35 56 35 62 43 62 43 56 - 200 4 10 11 5 6 4 84 8 84 8 73 4 73 - 200 4 23 17 16 22 13 84 17 84 17 73 13 73 - 200 4 11 8 4 5 8 84 13 84 13 73 8 73 - 200 4 21 20 19 18 4 84 8 84 8 73 4 73 - 200 4 8 9 7 4 13 84 17 84 17 73 13 73 - 200 4 21 12 13 17 97 164 97 175 113 175 113 163 - 200 4 20 21 17 23 102 157 97 164 113 163 108 157 - 200 4 13 12 6 7 113 175 97 175 97 164 113 163 - 200 4 7 6 5 4 113 163 97 164 102 157 108 157 - 200 4 1 30 31 0 10 136 10 98 1 98 1 136 - 200 4 9 14 13 7 12 217 12 194 1 194 1 217 - 200 4 17 13 14 16 12 217 12 194 1 194 1 217 - 200 4 25 28 2 24 11 137 5 137 5 171 11 171 - 200 4 28 30 1 2 5 137 1 142 1 165 5 171 - 200 4 3 2 1 0 9 107 2 107 2 127 9 127 - 200 4 11 10 9 8 102 157 97 164 113 163 108 157 - 200 4 10 15 14 9 97 164 97 175 113 175 113 163 - 200 4 16 18 19 22 113 163 97 164 102 157 108 157 - 200 4 14 15 18 16 113 175 97 175 97 164 113 163 - 200 4 0 31 29 27 1 165 1 142 5 137 11 171 - 200 4 31 29 26 27 1 142 5 137 11 137 11 171 +POLYGONS 55 + 200 3 3 27 24 0 178 0 186 10 186 + 200 3 3 24 2 0 178 10 186 10 178 + 200 3 31 30 28 9 108 2 108 2 126 + 200 3 31 28 29 9 108 2 126 9 126 + 200 3 27 26 25 94 136 94 98 88 98 + 200 3 27 25 24 94 136 88 98 88 136 + 200 3 26 29 28 10 186 10 178 0 178 + 200 3 26 28 25 10 186 0 178 0 186 + 200 3 15 10 6 35 56 35 62 43 62 + 200 3 15 6 12 35 56 43 62 43 56 + 200 3 12 21 18 35 56 35 62 43 62 + 200 3 12 18 15 35 56 43 62 43 56 + 200 3 10 11 5 4 84 8 84 8 73 + 200 3 10 5 6 4 84 8 73 4 73 + 200 3 23 17 16 13 84 17 84 17 73 + 200 3 23 16 22 13 84 17 73 13 73 + 200 3 11 8 4 8 84 13 84 13 73 + 200 3 11 4 5 8 84 13 73 8 73 + 200 3 21 20 19 4 84 8 84 8 73 + 200 3 21 19 18 4 84 8 73 4 73 + 200 3 8 9 7 13 84 17 84 17 73 + 200 3 8 7 4 13 84 17 73 13 73 + 200 3 21 12 13 97 164 97 175 113 175 + 200 3 21 13 17 97 164 113 175 113 163 + 200 3 20 21 17 102 157 97 164 113 163 + 200 3 20 17 23 102 157 113 163 108 157 + 200 3 13 12 6 113 175 97 175 97 164 + 200 3 13 6 7 113 175 97 164 113 163 + 200 3 7 6 5 113 163 97 164 102 157 + 200 3 7 5 4 113 163 102 157 108 157 + 200 3 1 30 31 10 136 10 98 1 98 + 200 3 1 31 0 10 136 1 98 1 136 + 200 3 9 14 13 12 217 12 194 1 194 + 200 3 9 13 7 12 217 1 194 1 217 + 200 3 17 13 14 12 217 12 194 1 194 + 200 3 17 14 16 12 217 1 194 1 217 + 200 3 25 28 2 11 137 5 137 5 171 + 200 3 25 2 24 11 137 5 171 11 171 + 200 3 28 30 1 5 137 1 142 1 165 + 200 3 28 1 2 5 137 1 165 5 171 + 200 3 3 2 1 9 107 2 107 2 127 + 200 3 3 1 0 9 107 2 127 9 127 + 200 3 11 10 9 102 157 97 164 113 163 + 200 3 11 9 8 102 157 113 163 108 157 + 200 3 10 15 14 97 164 97 175 113 175 + 200 3 10 14 9 97 164 113 175 113 163 + 200 3 16 18 19 113 163 97 164 102 157 + 200 3 16 19 22 113 163 102 157 108 157 + 200 3 14 15 18 113 175 97 175 97 164 + 200 3 14 18 16 113 175 97 164 113 163 + 200 3 0 31 29 1 165 1 142 5 137 + 200 3 0 29 27 1 165 5 137 11 171 + 200 3 31 29 26 1 142 5 137 11 137 + 200 3 31 26 27 1 142 11 137 11 171 200 3 27 3 0 11 171 5 171 1 165 \ No newline at end of file diff --git a/data/base/components/prop/prhltrk3.pie b/data/base/components/prop/prhltrk3.pie index ad8d82224..c35b96570 100644 --- a/data/base/components/prop/prhltrk3.pie +++ b/data/base/components/prop/prhltrk3.pie @@ -28,26 +28,48 @@ POINTS 24 41 0 -34 41 18 -43 41 7 -43 -POLYGONS 22 - 200 4 3 2 1 0 11 125 11 109 0 109 0 125 - 200 4 6 5 4 0 12 170 12 143 0 143 0 170 - 200 4 9 8 7 3 0 143 12 143 12 170 0 170 - 200 4 4 5 11 10 0 142 12 142 12 156 0 158 - 200 4 11 13 12 10 12 156 8 165 4 166 0 158 - 200 4 15 8 9 14 12 156 12 142 0 142 0 158 - 200 4 17 16 15 14 4 166 8 165 12 156 0 158 - 200 4 14 9 4 10 11 128 11 106 0 106 0 128 - 200 4 9 3 0 4 11 132 11 102 0 102 0 132 - 200 4 0 1 18 6 0 144 0 156 12 157 12 144 - 200 4 1 20 19 18 0 156 4 164 9 164 12 157 - 200 4 21 2 3 7 12 157 0 156 0 144 12 144 - 200 4 23 22 2 21 9 164 4 164 0 156 12 157 - 200 4 23 21 18 19 9 182 9 186 1 186 1 182 - 200 4 2 22 20 1 9 173 9 177 1 177 1 173 - 200 4 22 23 19 20 9 177 9 182 1 182 1 177 - 200 4 15 16 13 11 9 186 9 182 1 182 1 186 - 200 4 16 17 12 13 9 182 9 177 1 177 1 182 - 200 4 17 14 10 12 9 177 9 173 1 173 1 177 - 200 4 21 7 6 18 94 102 94 128 88 128 88 102 - 200 4 7 8 5 6 94 100 94 134 88 134 88 100 - 200 4 8 15 11 5 94 107 94 127 88 127 88 107 +POLYGONS 44 + 200 3 3 2 1 11 125 11 109 0 109 + 200 3 3 1 0 11 125 0 109 0 125 + 200 3 6 5 4 12 170 12 143 0 143 + 200 3 6 4 0 12 170 0 143 0 170 + 200 3 9 8 7 0 143 12 143 12 170 + 200 3 9 7 3 0 143 12 170 0 170 + 200 3 4 5 11 0 142 12 142 12 156 + 200 3 4 11 10 0 142 12 156 0 158 + 200 3 11 13 12 12 156 8 165 4 166 + 200 3 11 12 10 12 156 4 166 0 158 + 200 3 15 8 9 12 156 12 142 0 142 + 200 3 15 9 14 12 156 0 142 0 158 + 200 3 17 16 15 4 166 8 165 12 156 + 200 3 17 15 14 4 166 12 156 0 158 + 200 3 14 9 4 11 128 11 106 0 106 + 200 3 14 4 10 11 128 0 106 0 128 + 200 3 9 3 0 11 132 11 102 0 102 + 200 3 9 0 4 11 132 0 102 0 132 + 200 3 0 1 18 0 144 0 156 12 157 + 200 3 0 18 6 0 144 12 157 12 144 + 200 3 1 20 19 0 156 4 164 9 164 + 200 3 1 19 18 0 156 9 164 12 157 + 200 3 21 2 3 12 157 0 156 0 144 + 200 3 21 3 7 12 157 0 144 12 144 + 200 3 23 22 2 9 164 4 164 0 156 + 200 3 23 2 21 9 164 0 156 12 157 + 200 3 23 21 18 9 182 9 186 1 186 + 200 3 23 18 19 9 182 1 186 1 182 + 200 3 2 22 20 9 173 9 177 1 177 + 200 3 2 20 1 9 173 1 177 1 173 + 200 3 22 23 19 9 177 9 182 1 182 + 200 3 22 19 20 9 177 1 182 1 177 + 200 3 15 16 13 9 186 9 182 1 182 + 200 3 15 13 11 9 186 1 182 1 186 + 200 3 16 17 12 9 182 9 177 1 177 + 200 3 16 12 13 9 182 1 177 1 182 + 200 3 17 14 10 9 177 9 173 1 173 + 200 3 17 10 12 9 177 1 173 1 177 + 200 3 21 7 6 94 102 94 128 88 128 + 200 3 21 6 18 94 102 88 128 88 102 + 200 3 7 8 5 94 100 94 134 88 134 + 200 3 7 5 6 94 100 88 134 88 100 + 200 3 8 15 11 94 107 94 127 88 127 + 200 3 8 11 5 94 107 88 127 88 107 \ No newline at end of file diff --git a/data/base/components/prop/prhlvtl1.pie b/data/base/components/prop/prhlvtl1.pie index d62066379..cbe8142f7 100644 --- a/data/base/components/prop/prhlvtl1.pie +++ b/data/base/components/prop/prhlvtl1.pie @@ -35,25 +35,42 @@ POINTS 31 8 28 44 0 20 50 0 20 37 -POLYGONS 21 - 200 4 3 2 1 0 104 204 104 189 118 189 118 204 - 200 4 7 6 5 4 104 189 118 189 118 204 104 204 - 200 4 4 5 3 0 104 203 117 203 117 217 104 217 - 200 4 5 6 2 3 104 203 117 203 117 217 104 217 - 200 4 6 7 1 2 104 203 117 203 117 217 104 217 - 200 4 7 4 0 1 104 203 117 203 117 217 104 217 - 200 4 8 9 10 11 8 48 2 48 0 40 3 40 - 200 4 11 10 9 8 3 40 0 40 2 48 8 48 - 200 4 15 14 13 12 104 204 104 189 118 189 118 204 - 200 4 19 18 17 16 104 189 118 189 118 204 104 204 - 200 4 16 17 15 12 104 203 117 203 117 217 104 217 - 200 4 17 18 14 15 104 203 117 203 117 217 104 217 - 200 4 18 19 13 14 104 203 117 203 117 217 104 217 - 200 4 19 16 12 13 104 203 117 203 117 217 104 217 +POLYGONS 38 + 200 3 3 2 1 104 204 104 189 118 189 + 200 3 3 1 0 104 204 118 189 118 204 + 200 3 7 6 5 104 189 118 189 118 204 + 200 3 7 5 4 104 189 118 204 104 204 + 200 3 4 5 3 104 203 117 203 117 217 + 200 3 4 3 0 104 203 117 217 104 217 + 200 3 5 6 2 104 203 117 203 117 217 + 200 3 5 2 3 104 203 117 217 104 217 + 200 3 6 7 1 104 203 117 203 117 217 + 200 3 6 1 2 104 203 117 217 104 217 + 200 3 7 4 0 104 203 117 203 117 217 + 200 3 7 0 1 104 203 117 217 104 217 + 200 3 8 9 10 8 48 2 48 0 40 + 200 3 8 10 11 8 48 0 40 3 40 + 200 3 11 10 9 3 40 0 40 2 48 + 200 3 11 9 8 3 40 2 48 8 48 + 200 3 15 14 13 104 204 104 189 118 189 + 200 3 15 13 12 104 204 118 189 118 204 + 200 3 19 18 17 104 189 118 189 118 204 + 200 3 19 17 16 104 189 118 204 104 204 + 200 3 16 17 15 104 203 117 203 117 217 + 200 3 16 15 12 104 203 117 217 104 217 + 200 3 17 18 14 104 203 117 203 117 217 + 200 3 17 14 15 104 203 117 217 104 217 + 200 3 18 19 13 104 203 117 203 117 217 + 200 3 18 13 14 104 203 117 217 104 217 + 200 3 19 16 12 104 203 117 203 117 217 + 200 3 19 12 13 104 203 117 217 104 217 200 3 22 21 20 17 98 1 98 0 85 - 200 4 22 20 24 23 0 98 2 85 9 89 17 98 + 200 3 22 20 24 0 98 2 85 9 89 + 200 3 22 24 23 0 98 9 89 17 98 200 3 24 21 23 4 93 5 84 3 84 200 3 20 21 24 5 97 5 84 4 93 - 200 4 28 27 26 25 11 93 20 93 20 89 12 89 - 200 4 30 28 25 29 3 93 11 93 12 89 3 89 - 200 3 29 25 26 88 182 90 180 88 178 + 200 3 28 27 26 11 93 20 93 20 89 + 200 3 28 26 25 11 93 20 89 12 89 + 200 3 30 28 25 3 93 11 93 12 89 + 200 3 30 25 29 3 93 12 89 3 89 + 200 3 29 25 26 88 182 90 180 88 178 \ No newline at end of file diff --git a/data/base/components/prop/prhlvtl2.pie b/data/base/components/prop/prhlvtl2.pie index c0c6df4cb..06ec4cf46 100644 --- a/data/base/components/prop/prhlvtl2.pie +++ b/data/base/components/prop/prhlvtl2.pie @@ -35,25 +35,42 @@ POINTS 31 8 18 51 0 10 56 0 10 51 -POLYGONS 21 - 200 4 3 2 1 0 104 204 104 189 118 189 118 204 - 200 4 7 6 5 4 104 189 118 189 118 204 104 204 - 200 4 4 5 3 0 104 203 117 203 117 217 104 217 - 200 4 5 6 2 3 104 203 117 203 117 217 104 217 - 200 4 6 7 1 2 104 203 117 203 117 217 104 217 - 200 4 7 4 0 1 104 203 117 203 117 217 104 217 - 200 4 8 9 10 11 8 48 2 48 0 40 3 40 - 200 4 11 10 9 8 3 40 0 40 2 48 8 48 - 200 4 15 14 13 12 104 204 104 189 118 189 118 204 - 200 4 19 18 17 16 104 189 118 189 118 204 104 204 - 200 4 16 17 15 12 104 203 117 203 117 217 104 217 - 200 4 17 18 14 15 104 203 117 203 117 217 104 217 - 200 4 18 19 13 14 104 203 117 203 117 217 104 217 - 200 4 19 16 12 13 104 203 117 203 117 217 104 217 +POLYGONS 38 + 200 3 3 2 1 104 204 104 189 118 189 + 200 3 3 1 0 104 204 118 189 118 204 + 200 3 7 6 5 104 189 118 189 118 204 + 200 3 7 5 4 104 189 118 204 104 204 + 200 3 4 5 3 104 203 117 203 117 217 + 200 3 4 3 0 104 203 117 217 104 217 + 200 3 5 6 2 104 203 117 203 117 217 + 200 3 5 2 3 104 203 117 217 104 217 + 200 3 6 7 1 104 203 117 203 117 217 + 200 3 6 1 2 104 203 117 217 104 217 + 200 3 7 4 0 104 203 117 203 117 217 + 200 3 7 0 1 104 203 117 217 104 217 + 200 3 8 9 10 8 48 2 48 0 40 + 200 3 8 10 11 8 48 0 40 3 40 + 200 3 11 10 9 3 40 0 40 2 48 + 200 3 11 9 8 3 40 2 48 8 48 + 200 3 15 14 13 104 204 104 189 118 189 + 200 3 15 13 12 104 204 118 189 118 204 + 200 3 19 18 17 104 189 118 189 118 204 + 200 3 19 17 16 104 189 118 204 104 204 + 200 3 16 17 15 104 203 117 203 117 217 + 200 3 16 15 12 104 203 117 217 104 217 + 200 3 17 18 14 104 203 117 203 117 217 + 200 3 17 14 15 104 203 117 217 104 217 + 200 3 18 19 13 104 203 117 203 117 217 + 200 3 18 13 14 104 203 117 217 104 217 + 200 3 19 16 12 104 203 117 203 117 217 + 200 3 19 12 13 104 203 117 217 104 217 200 3 22 21 20 17 98 1 98 0 85 - 200 4 22 20 24 23 0 98 2 85 9 89 17 98 + 200 3 22 20 24 0 98 2 85 9 89 + 200 3 22 24 23 0 98 9 89 17 98 200 3 24 21 23 4 93 5 84 3 84 200 3 20 21 24 5 97 5 84 4 93 - 200 4 28 27 26 25 11 93 20 93 20 89 12 89 - 200 4 30 28 25 29 3 93 11 93 12 89 3 89 - 200 3 29 25 26 88 182 90 180 88 178 + 200 3 28 27 26 11 93 20 93 20 89 + 200 3 28 26 25 11 93 20 89 12 89 + 200 3 30 28 25 3 93 11 93 12 89 + 200 3 30 25 29 3 93 12 89 3 89 + 200 3 29 25 26 88 182 90 180 88 178 \ No newline at end of file diff --git a/data/base/components/prop/prhlvtl3.pie b/data/base/components/prop/prhlvtl3.pie index 6710503a3..0fceb5b98 100644 --- a/data/base/components/prop/prhlvtl3.pie +++ b/data/base/components/prop/prhlvtl3.pie @@ -35,25 +35,42 @@ POINTS 31 8 23 52 0 15 57 0 15 43 -POLYGONS 21 - 200 4 3 2 1 0 104 204 104 189 118 189 118 204 - 200 4 7 6 5 4 104 189 118 189 118 204 104 204 - 200 4 4 5 3 0 104 203 117 203 117 217 104 217 - 200 4 5 6 2 3 104 203 117 203 117 217 104 217 - 200 4 6 7 1 2 104 203 117 203 117 217 104 217 - 200 4 7 4 0 1 104 203 117 203 117 217 104 217 - 200 4 8 9 10 11 8 48 2 48 0 40 3 40 - 200 4 11 10 9 8 3 40 0 40 2 48 8 48 - 200 4 15 14 13 12 104 204 104 189 118 189 118 204 - 200 4 19 18 17 16 104 189 118 189 118 204 104 204 - 200 4 16 17 15 12 104 203 117 203 117 217 104 217 - 200 4 17 18 14 15 104 203 117 203 117 217 104 217 - 200 4 18 19 13 14 104 203 117 203 117 217 104 217 - 200 4 19 16 12 13 104 203 117 203 117 217 104 217 +POLYGONS 38 + 200 3 3 2 1 104 204 104 189 118 189 + 200 3 3 1 0 104 204 118 189 118 204 + 200 3 7 6 5 104 189 118 189 118 204 + 200 3 7 5 4 104 189 118 204 104 204 + 200 3 4 5 3 104 203 117 203 117 217 + 200 3 4 3 0 104 203 117 217 104 217 + 200 3 5 6 2 104 203 117 203 117 217 + 200 3 5 2 3 104 203 117 217 104 217 + 200 3 6 7 1 104 203 117 203 117 217 + 200 3 6 1 2 104 203 117 217 104 217 + 200 3 7 4 0 104 203 117 203 117 217 + 200 3 7 0 1 104 203 117 217 104 217 + 200 3 8 9 10 8 48 2 48 0 40 + 200 3 8 10 11 8 48 0 40 3 40 + 200 3 11 10 9 3 40 0 40 2 48 + 200 3 11 9 8 3 40 2 48 8 48 + 200 3 15 14 13 104 204 104 189 118 189 + 200 3 15 13 12 104 204 118 189 118 204 + 200 3 19 18 17 104 189 118 189 118 204 + 200 3 19 17 16 104 189 118 204 104 204 + 200 3 16 17 15 104 203 117 203 117 217 + 200 3 16 15 12 104 203 117 217 104 217 + 200 3 17 18 14 104 203 117 203 117 217 + 200 3 17 14 15 104 203 117 217 104 217 + 200 3 18 19 13 104 203 117 203 117 217 + 200 3 18 13 14 104 203 117 217 104 217 + 200 3 19 16 12 104 203 117 203 117 217 + 200 3 19 12 13 104 203 117 217 104 217 200 3 22 21 20 17 98 1 98 0 85 - 200 4 22 20 24 23 0 98 2 85 9 89 17 98 + 200 3 22 20 24 0 98 2 85 9 89 + 200 3 22 24 23 0 98 9 89 17 98 200 3 24 21 23 4 93 5 84 3 84 200 3 20 21 24 5 97 5 84 4 93 - 200 4 28 27 26 25 11 93 20 93 20 89 12 89 - 200 4 30 28 25 29 3 93 11 93 12 89 3 89 - 200 3 29 25 26 88 182 90 180 88 178 + 200 3 28 27 26 11 93 20 93 20 89 + 200 3 28 26 25 11 93 20 89 12 89 + 200 3 30 28 25 3 93 11 93 12 89 + 200 3 30 25 29 3 93 12 89 3 89 + 200 3 29 25 26 88 182 90 180 88 178 \ No newline at end of file diff --git a/data/base/components/prop/prhlvtl4.pie b/data/base/components/prop/prhlvtl4.pie index bb65939e7..62aaffa21 100644 --- a/data/base/components/prop/prhlvtl4.pie +++ b/data/base/components/prop/prhlvtl4.pie @@ -35,25 +35,42 @@ POINTS 31 10 30 32 17 47 38 17 47 26 -POLYGONS 21 +POLYGONS 38 200 3 2 1 0 17 98 1 98 0 85 - 200 4 2 0 4 3 0 98 2 85 9 89 17 98 + 200 3 2 0 4 0 98 2 85 9 89 + 200 3 2 4 3 0 98 9 89 17 98 200 3 4 1 3 4 93 5 84 3 84 200 3 0 1 4 5 97 5 84 4 93 - 200 4 8 7 6 5 104 204 104 189 118 189 118 204 - 200 4 12 11 10 9 104 189 118 189 118 204 104 204 - 200 4 9 10 8 5 104 203 117 203 117 217 104 217 - 200 4 10 11 7 8 104 203 117 203 117 217 104 217 - 200 4 11 12 6 7 104 203 117 203 117 217 104 217 - 200 4 12 9 5 6 104 203 117 203 117 217 104 217 - 200 4 16 15 14 13 104 204 104 189 118 189 118 204 - 200 4 20 19 18 17 104 189 118 189 118 204 104 204 - 200 4 17 18 16 13 104 203 117 203 117 217 104 217 - 200 4 18 19 15 16 104 203 117 203 117 217 104 217 - 200 4 19 20 14 15 104 203 117 203 117 217 104 217 - 200 4 20 17 13 14 104 203 117 203 117 217 104 217 + 200 3 8 7 6 104 204 104 189 118 189 + 200 3 8 6 5 104 204 118 189 118 204 + 200 3 12 11 10 104 189 118 189 118 204 + 200 3 12 10 9 104 189 118 204 104 204 + 200 3 9 10 8 104 203 117 203 117 217 + 200 3 9 8 5 104 203 117 217 104 217 + 200 3 10 11 7 104 203 117 203 117 217 + 200 3 10 7 8 104 203 117 217 104 217 + 200 3 11 12 6 104 203 117 203 117 217 + 200 3 11 6 7 104 203 117 217 104 217 + 200 3 12 9 5 104 203 117 203 117 217 + 200 3 12 5 6 104 203 117 217 104 217 + 200 3 16 15 14 104 204 104 189 118 189 + 200 3 16 14 13 104 204 118 189 118 204 + 200 3 20 19 18 104 189 118 189 118 204 + 200 3 20 18 17 104 189 118 204 104 204 + 200 3 17 18 16 104 203 117 203 117 217 + 200 3 17 16 13 104 203 117 217 104 217 + 200 3 18 19 15 104 203 117 203 117 217 + 200 3 18 15 16 104 203 117 217 104 217 + 200 3 19 20 14 104 203 117 203 117 217 + 200 3 19 14 15 104 203 117 217 104 217 + 200 3 20 17 13 104 203 117 203 117 217 + 200 3 20 13 14 104 203 117 217 104 217 200 3 23 22 21 88 182 90 180 88 178 - 200 4 25 24 21 22 11 93 20 93 20 89 12 89 - 200 4 26 25 22 23 3 93 11 93 12 89 3 89 - 200 4 27 28 29 30 8 48 2 48 0 40 3 40 - 200 4 30 29 28 27 3 40 0 40 2 48 8 48 \ No newline at end of file + 200 3 25 24 21 11 93 20 93 20 89 + 200 3 25 21 22 11 93 20 89 12 89 + 200 3 26 25 22 3 93 11 93 12 89 + 200 3 26 22 23 3 93 12 89 3 89 + 200 3 27 28 29 8 48 2 48 0 40 + 200 3 27 29 30 8 48 0 40 3 40 + 200 3 30 29 28 3 40 0 40 2 48 + 200 3 30 28 27 3 40 2 48 8 48 \ No newline at end of file diff --git a/data/base/components/prop/prhlwhl1.pie b/data/base/components/prop/prhlwhl1.pie index 35db44e40..c34a9f210 100644 --- a/data/base/components/prop/prhlwhl1.pie +++ b/data/base/components/prop/prhlwhl1.pie @@ -122,108 +122,204 @@ POINTS 118 39 10 20 39 13 1 39 13 19 -POLYGONS 104 - 200 4 3 2 1 0 10 187 10 221 3 221 3 187 - 200 4 5 0 1 4 11 187 11 187 11 221 11 221 - 200 4 8 7 6 9 3 221 10 221 10 187 3 187 - 200 4 9 6 7 8 3 187 10 187 10 221 3 221 - 200 4 11 10 7 6 11 187 11 221 11 221 11 187 - 200 4 18 19 16 17 11 224 11 219 2 219 2 224 - 200 4 14 15 12 13 11 205 11 210 2 210 2 205 - 200 4 20 21 12 15 9 177 1 177 1 172 9 172 - 200 4 15 15 14 20 7 177 7 177 2 177 2 177 - 200 4 21 13 12 12 2 177 2 177 7 177 7 177 - 200 4 20 14 13 21 9 182 9 182 1 182 1 182 - 200 4 21 12 3 0 1 199 9 199 11 208 3 208 - 200 4 2 8 9 3 10 221 3 221 3 187 10 187 - 200 4 3 9 8 2 10 187 3 187 3 221 10 221 - 200 4 6 20 15 9 3 208 1 199 9 199 11 208 - 200 4 9 15 20 6 11 208 9 199 1 199 3 208 - 200 4 3 9 15 12 2 224 11 224 11 210 2 210 - 200 4 12 15 9 3 2 210 11 210 11 224 2 224 - 200 4 22 11 6 20 4 131 4 131 4 131 4 131 - 200 4 24 1 2 17 1 208 3 199 11 199 9 208 - 200 4 18 23 7 8 9 208 1 208 3 199 11 199 - 200 4 8 7 23 18 11 199 3 199 1 208 9 208 - 200 4 18 8 2 17 11 224 11 210 2 210 2 224 - 200 4 17 2 8 18 2 224 2 210 11 210 11 224 - 200 4 25 23 7 10 4 131 4 131 4 131 4 131 - 200 4 26 4 1 24 4 131 4 131 4 131 4 131 - 200 4 23 24 16 19 9 182 1 182 1 182 9 182 +POLYGONS 200 + 200 3 3 2 1 10 187 10 221 3 221 + 200 3 3 1 0 10 187 3 221 3 187 + 200 3 5 0 1 11 187 11 187 11 221 + 200 3 5 1 4 11 187 11 221 11 221 + 200 3 8 7 6 3 221 10 221 10 187 + 200 3 8 6 9 3 221 10 187 3 187 + 200 3 9 6 7 3 187 10 187 10 221 + 200 3 9 7 8 3 187 10 221 3 221 + 200 3 11 10 7 11 187 11 221 11 221 + 200 3 11 7 6 11 187 11 221 11 187 + 200 3 18 19 16 11 224 11 219 2 219 + 200 3 18 16 17 11 224 2 219 2 224 + 200 3 14 15 12 11 205 11 210 2 210 + 200 3 14 12 13 11 205 2 210 2 205 + 200 3 20 21 12 9 177 1 177 1 172 + 200 3 20 12 15 9 177 1 172 9 172 + 200 3 15 15 14 7 177 7 177 2 177 + 200 3 15 14 20 7 177 2 177 2 177 + 200 3 21 13 12 2 177 2 177 7 177 + 200 3 21 12 12 2 177 7 177 7 177 + 200 3 20 14 13 9 182 9 182 1 182 + 200 3 20 13 21 9 182 1 182 1 182 + 200 3 21 12 3 1 199 9 199 11 208 + 200 3 21 3 0 1 199 11 208 3 208 + 200 3 2 8 9 10 221 3 221 3 187 + 200 3 2 9 3 10 221 3 187 10 187 + 200 3 3 9 8 10 187 3 187 3 221 + 200 3 3 8 2 10 187 3 221 10 221 + 200 3 6 20 15 3 208 1 199 9 199 + 200 3 6 15 9 3 208 9 199 11 208 + 200 3 9 15 20 11 208 9 199 1 199 + 200 3 9 20 6 11 208 1 199 3 208 + 200 3 3 9 15 2 224 11 224 11 210 + 200 3 3 15 12 2 224 11 210 2 210 + 200 3 12 15 9 2 210 11 210 11 224 + 200 3 12 9 3 2 210 11 224 2 224 + 200 3 22 11 6 4 131 4 131 4 131 + 200 3 22 6 20 4 131 4 131 4 131 + 200 3 24 1 2 1 208 3 199 11 199 + 200 3 24 2 17 1 208 11 199 9 208 + 200 3 18 23 7 9 208 1 208 3 199 + 200 3 18 7 8 9 208 3 199 11 199 + 200 3 8 7 23 11 199 3 199 1 208 + 200 3 8 23 18 11 199 1 208 9 208 + 200 3 18 8 2 11 224 11 210 2 210 + 200 3 18 2 17 11 224 2 210 2 224 + 200 3 17 2 8 2 224 2 210 11 210 + 200 3 17 8 18 2 224 11 210 11 224 + 200 3 25 23 7 4 131 4 131 4 131 + 200 3 25 7 10 4 131 4 131 4 131 + 200 3 26 4 1 4 131 4 131 4 131 + 200 3 26 1 24 4 131 4 131 4 131 + 200 3 23 24 16 9 182 1 182 1 182 + 200 3 23 16 19 9 182 1 182 9 182 200 3 18 23 19 5 175 5 175 5 175 200 3 17 16 24 6 175 6 175 6 175 - 200 4 27 5 4 28 3 187 10 187 10 221 3 221 - 200 4 29 5 27 30 0 127 2 120 10 120 8 127 - 200 4 29 21 0 5 0 127 0 127 2 120 2 120 - 200 4 26 31 28 4 0 129 8 129 10 122 2 122 - 200 4 23 18 17 24 9 177 9 172 1 172 1 177 - 200 4 44 41 34 43 27 52 27 53 21 53 21 52 - 200 4 45 35 41 44 27 52 27 53 21 53 21 52 - 200 4 46 32 35 45 27 52 27 53 21 53 21 52 - 200 4 47 36 32 46 27 52 27 53 21 53 21 52 - 200 4 48 42 36 47 27 52 27 53 21 53 21 52 - 200 4 49 37 42 48 27 52 27 53 21 53 21 52 - 200 4 43 34 39 50 27 52 27 53 21 53 21 52 - 200 4 51 40 37 49 27 52 27 53 21 53 21 52 - 200 4 50 39 33 52 27 52 27 53 21 53 21 52 - 200 4 53 38 40 51 27 52 27 53 21 53 21 52 + 200 3 27 5 4 3 187 10 187 10 221 + 200 3 27 4 28 3 187 10 221 3 221 + 200 3 29 5 27 0 127 2 120 10 120 + 200 3 29 27 30 0 127 10 120 8 127 + 200 3 29 21 0 0 127 0 127 2 120 + 200 3 29 0 5 0 127 2 120 2 120 + 200 3 26 31 28 0 129 8 129 10 122 + 200 3 26 28 4 0 129 10 122 2 122 + 200 3 23 18 17 9 177 9 172 1 172 + 200 3 23 17 24 9 177 1 172 1 177 + 200 3 44 41 34 27 52 27 53 21 53 + 200 3 44 34 43 27 52 21 53 21 52 + 200 3 45 35 41 27 52 27 53 21 53 + 200 3 45 41 44 27 52 21 53 21 52 + 200 3 46 32 35 27 52 27 53 21 53 + 200 3 46 35 45 27 52 21 53 21 52 + 200 3 47 36 32 27 52 27 53 21 53 + 200 3 47 32 46 27 52 21 53 21 52 + 200 3 48 42 36 27 52 27 53 21 53 + 200 3 48 36 47 27 52 21 53 21 52 + 200 3 49 37 42 27 52 27 53 21 53 + 200 3 49 42 48 27 52 21 53 21 52 + 200 3 43 34 39 27 52 27 53 21 53 + 200 3 43 39 50 27 52 21 53 21 52 + 200 3 51 40 37 27 52 27 53 21 53 + 200 3 51 37 49 27 52 21 53 21 52 + 200 3 50 39 33 27 52 27 53 21 53 + 200 3 50 33 52 27 52 21 53 21 52 + 200 3 53 38 40 27 52 27 53 21 53 + 200 3 53 40 51 27 52 21 53 21 52 200 3 51 49 48 154 174 152 173 150 172 200 3 42 32 36 150 172 147 167 148 170 - 200 4 65 62 55 64 27 52 27 53 21 53 21 52 - 200 4 66 56 62 65 27 52 27 53 21 53 21 52 - 200 4 67 54 56 66 27 52 27 53 21 53 21 52 - 200 4 68 57 54 67 27 52 27 53 21 53 21 52 - 200 4 69 63 57 68 27 52 27 53 21 53 21 52 - 200 4 70 58 63 69 27 52 27 53 21 53 21 52 - 200 4 64 55 60 71 27 52 27 53 21 53 21 52 - 200 4 72 61 58 70 27 52 27 53 21 53 21 52 - 200 4 73 59 61 72 27 52 27 53 21 53 21 52 + 200 3 65 62 55 27 52 27 53 21 53 + 200 3 65 55 64 27 52 21 53 21 52 + 200 3 66 56 62 27 52 27 53 21 53 + 200 3 66 62 65 27 52 21 53 21 52 + 200 3 67 54 56 27 52 27 53 21 53 + 200 3 67 56 66 27 52 21 53 21 52 + 200 3 68 57 54 27 52 27 53 21 53 + 200 3 68 54 67 27 52 21 53 21 52 + 200 3 69 63 57 27 52 27 53 21 53 + 200 3 69 57 68 27 52 21 53 21 52 + 200 3 70 58 63 27 52 27 53 21 53 + 200 3 70 63 69 27 52 21 53 21 52 + 200 3 64 55 60 27 52 27 53 21 53 + 200 3 64 60 71 27 52 21 53 21 52 + 200 3 72 61 58 27 52 27 53 21 53 + 200 3 72 58 70 27 52 21 53 21 52 + 200 3 73 59 61 27 52 27 53 21 53 + 200 3 73 61 72 27 52 21 53 21 52 200 3 72 70 69 154 174 152 173 150 172 - 200 4 86 83 77 85 27 52 27 53 21 53 21 52 - 200 4 87 78 83 86 27 52 27 53 21 53 21 52 - 200 4 88 75 78 87 27 52 27 53 21 53 21 52 - 200 4 89 79 75 88 27 52 27 53 21 53 21 52 - 200 4 90 84 79 89 27 52 27 53 21 53 21 52 - 200 4 91 80 84 90 27 52 27 53 21 53 21 52 - 200 4 85 77 81 92 27 52 27 53 21 53 21 52 - 200 4 93 82 80 91 27 52 27 53 21 53 21 52 - 200 4 92 81 76 94 27 52 27 53 21 53 21 52 + 200 3 86 83 77 27 52 27 53 21 53 + 200 3 86 77 85 27 52 21 53 21 52 + 200 3 87 78 83 27 52 27 53 21 53 + 200 3 87 83 86 27 52 21 53 21 52 + 200 3 88 75 78 27 52 27 53 21 53 + 200 3 88 78 87 27 52 21 53 21 52 + 200 3 89 79 75 27 52 27 53 21 53 + 200 3 89 75 88 27 52 21 53 21 52 + 200 3 90 84 79 27 52 27 53 21 53 + 200 3 90 79 89 27 52 21 53 21 52 + 200 3 91 80 84 27 52 27 53 21 53 + 200 3 91 84 90 27 52 21 53 21 52 + 200 3 85 77 81 27 52 27 53 21 53 + 200 3 85 81 92 27 52 21 53 21 52 + 200 3 93 82 80 27 52 27 53 21 53 + 200 3 93 80 91 27 52 21 53 21 52 + 200 3 92 81 76 27 52 27 53 21 53 + 200 3 92 76 94 27 52 21 53 21 52 200 3 93 91 90 154 174 152 173 150 172 - 200 4 108 105 98 107 27 52 27 53 21 53 21 52 - 200 4 109 99 105 108 27 52 27 53 21 53 21 52 - 200 4 110 96 99 109 27 52 27 53 21 53 21 52 - 200 4 111 100 96 110 27 52 27 53 21 53 21 52 - 200 4 112 106 100 111 27 52 27 53 21 53 21 52 - 200 4 113 101 106 112 27 52 27 53 21 53 21 52 - 200 4 107 98 103 114 27 52 27 53 21 53 21 52 - 200 4 115 104 101 113 27 52 27 53 21 53 21 52 - 200 4 114 103 97 116 27 52 27 53 21 53 21 52 - 200 4 117 102 104 115 27 52 27 53 21 53 21 52 + 200 3 108 105 98 27 52 27 53 21 53 + 200 3 108 98 107 27 52 21 53 21 52 + 200 3 109 99 105 27 52 27 53 21 53 + 200 3 109 105 108 27 52 21 53 21 52 + 200 3 110 96 99 27 52 27 53 21 53 + 200 3 110 99 109 27 52 21 53 21 52 + 200 3 111 100 96 27 52 27 53 21 53 + 200 3 111 96 110 27 52 21 53 21 52 + 200 3 112 106 100 27 52 27 53 21 53 + 200 3 112 100 111 27 52 21 53 21 52 + 200 3 113 101 106 27 52 27 53 21 53 + 200 3 113 106 112 27 52 21 53 21 52 + 200 3 107 98 103 27 52 27 53 21 53 + 200 3 107 103 114 27 52 21 53 21 52 + 200 3 115 104 101 27 52 27 53 21 53 + 200 3 115 101 113 27 52 21 53 21 52 + 200 3 114 103 97 27 52 27 53 21 53 + 200 3 114 97 116 27 52 21 53 21 52 + 200 3 117 102 104 27 52 27 53 21 53 + 200 3 117 104 115 27 52 21 53 21 52 200 3 115 113 112 154 174 152 173 150 172 200 3 106 96 100 150 172 147 167 148 170 - 200 4 73 72 71 74 156 173 154 174 154 159 158 172 - 200 4 65 64 71 72 150 161 152 160 154 159 154 174 - 200 4 67 66 65 72 147 167 148 164 150 161 154 174 - 200 4 69 68 67 72 150 172 148 170 147 167 154 174 - 200 4 53 51 50 52 156 173 154 174 154 159 156 160 - 200 4 44 43 50 51 150 161 152 160 154 159 154 174 - 200 4 46 45 44 51 147 167 148 164 150 161 154 174 - 200 4 48 47 46 51 150 172 148 170 147 167 154 174 - 200 4 117 115 114 116 156 173 154 174 154 159 156 160 - 200 4 108 107 114 115 150 161 152 160 154 159 154 174 - 200 4 110 109 108 115 147 167 148 164 150 161 154 174 - 200 4 112 111 110 115 150 172 148 170 147 167 154 174 - 200 4 93 92 94 95 154 174 154 159 156 160 158 172 - 200 4 86 85 92 93 150 161 152 160 154 159 154 174 - 200 4 88 87 86 93 147 167 148 164 150 161 154 174 - 200 4 90 89 88 93 150 172 148 170 147 167 154 174 - 200 4 77 84 80 82 152 160 150 172 152 173 154 174 - 200 4 77 83 78 84 152 160 150 161 148 164 150 172 - 200 4 78 75 79 84 148 164 147 167 148 170 150 172 - 200 4 101 98 105 106 152 173 152 160 150 161 150 172 - 200 4 105 99 96 106 150 161 148 164 147 167 150 172 - 200 4 37 34 41 42 152 173 152 160 150 161 150 172 - 200 4 41 35 32 42 150 161 148 164 147 167 150 172 - 200 4 60 55 63 58 154 159 152 160 150 172 152 173 - 200 4 55 62 56 63 152 160 150 161 148 164 150 172 - 200 4 56 54 57 63 148 164 147 167 148 170 150 172 + 200 3 73 72 71 156 173 154 174 154 159 + 200 3 73 71 74 156 173 154 159 158 172 + 200 3 65 64 71 150 161 152 160 154 159 + 200 3 65 71 72 150 161 154 159 154 174 + 200 3 67 66 65 147 167 148 164 150 161 + 200 3 67 65 72 147 167 150 161 154 174 + 200 3 69 68 67 150 172 148 170 147 167 + 200 3 69 67 72 150 172 147 167 154 174 + 200 3 53 51 50 156 173 154 174 154 159 + 200 3 53 50 52 156 173 154 159 156 160 + 200 3 44 43 50 150 161 152 160 154 159 + 200 3 44 50 51 150 161 154 159 154 174 + 200 3 46 45 44 147 167 148 164 150 161 + 200 3 46 44 51 147 167 150 161 154 174 + 200 3 48 47 46 150 172 148 170 147 167 + 200 3 48 46 51 150 172 147 167 154 174 + 200 3 117 115 114 156 173 154 174 154 159 + 200 3 117 114 116 156 173 154 159 156 160 + 200 3 108 107 114 150 161 152 160 154 159 + 200 3 108 114 115 150 161 154 159 154 174 + 200 3 110 109 108 147 167 148 164 150 161 + 200 3 110 108 115 147 167 150 161 154 174 + 200 3 112 111 110 150 172 148 170 147 167 + 200 3 112 110 115 150 172 147 167 154 174 + 200 3 93 92 94 154 174 154 159 156 160 + 200 3 93 94 95 154 174 156 160 158 172 + 200 3 86 85 92 150 161 152 160 154 159 + 200 3 86 92 93 150 161 154 159 154 174 + 200 3 88 87 86 147 167 148 164 150 161 + 200 3 88 86 93 147 167 150 161 154 174 + 200 3 90 89 88 150 172 148 170 147 167 + 200 3 90 88 93 150 172 147 167 154 174 + 200 3 77 84 80 152 160 150 172 152 173 + 200 3 77 80 82 152 160 152 173 154 174 + 200 3 77 83 78 152 160 150 161 148 164 + 200 3 77 78 84 152 160 148 164 150 172 + 200 3 78 75 79 148 164 147 167 148 170 + 200 3 78 79 84 148 164 148 170 150 172 + 200 3 101 98 105 152 173 152 160 150 161 + 200 3 101 105 106 152 173 150 161 150 172 + 200 3 105 99 96 150 161 148 164 147 167 + 200 3 105 96 106 150 161 147 167 150 172 + 200 3 37 34 41 152 173 152 160 150 161 + 200 3 37 41 42 152 173 150 161 150 172 + 200 3 41 35 32 150 161 148 164 147 167 + 200 3 41 32 42 150 161 147 167 150 172 + 200 3 60 55 63 154 159 152 160 150 172 + 200 3 60 63 58 154 159 150 172 152 173 + 200 3 55 62 56 152 160 150 161 148 164 + 200 3 55 56 63 152 160 148 164 150 172 + 200 3 56 54 57 148 164 147 167 148 170 + 200 3 56 57 63 148 164 148 170 150 172 \ No newline at end of file diff --git a/data/base/components/prop/prhrhtr3.pie b/data/base/components/prop/prhrhtr3.pie index 19ae0ad18..0f212cd2a 100644 --- a/data/base/components/prop/prhrhtr3.pie +++ b/data/base/components/prop/prhrhtr3.pie @@ -36,32 +36,59 @@ POINTS 32 -20 15 -11 -20 23 -1 -41 23 -1 -POLYGONS 28 - 200 4 26 2 3 25 0 186 0 178 10 178 10 186 - 200 4 31 30 29 28 2 108 9 108 9 126 2 126 - 200 4 27 26 25 24 94 98 94 136 88 136 88 98 - 200 4 29 27 24 28 10 178 10 186 0 186 0 178 - 200 4 15 12 7 11 35 56 43 56 43 62 35 62 - 200 4 12 15 20 21 35 56 43 56 43 62 35 62 - 200 4 11 7 4 10 4 84 4 73 8 73 8 84 - 200 4 23 22 16 17 13 84 13 73 17 73 17 84 - 200 4 10 4 5 9 8 84 8 73 13 73 13 84 - 200 4 21 20 19 18 4 84 4 73 8 73 8 84 - 200 4 9 5 6 8 13 84 13 73 17 73 17 84 - 200 4 12 21 17 13 97 175 97 164 113 163 113 175 - 200 4 21 18 23 17 97 164 102 157 108 157 113 163 - 200 4 13 6 7 12 113 175 113 163 97 164 97 175 - 200 4 7 6 5 4 97 164 113 163 108 157 102 157 - 200 4 31 0 1 30 10 98 10 136 1 136 1 98 - 200 4 8 6 13 14 12 217 1 217 1 194 12 194 - 200 4 17 16 14 13 12 217 1 217 1 194 12 194 - 200 4 24 25 3 28 11 137 11 171 5 171 5 137 - 200 4 31 28 3 0 1 142 5 137 5 171 1 165 - 200 4 3 2 1 0 2 107 9 107 9 127 2 127 - 200 4 11 10 9 8 97 164 102 157 108 157 113 163 - 200 4 15 11 8 14 97 175 97 164 113 163 113 175 - 200 4 20 16 22 19 97 164 113 163 108 157 102 157 - 200 4 14 16 20 15 113 175 113 163 97 164 97 175 - 200 4 1 26 29 30 1 165 11 171 5 137 1 142 - 200 4 29 30 26 27 5 137 1 142 11 171 11 137 +POLYGONS 55 + 200 3 26 2 3 0 186 0 178 10 178 + 200 3 26 3 25 0 186 10 178 10 186 + 200 3 31 30 29 2 108 9 108 9 126 + 200 3 31 29 28 2 108 9 126 2 126 + 200 3 27 26 25 94 98 94 136 88 136 + 200 3 27 25 24 94 98 88 136 88 98 + 200 3 29 27 24 10 178 10 186 0 186 + 200 3 29 24 28 10 178 0 186 0 178 + 200 3 15 12 7 35 56 43 56 43 62 + 200 3 15 7 11 35 56 43 62 35 62 + 200 3 12 15 20 35 56 43 56 43 62 + 200 3 12 20 21 35 56 43 62 35 62 + 200 3 11 7 4 4 84 4 73 8 73 + 200 3 11 4 10 4 84 8 73 8 84 + 200 3 23 22 16 13 84 13 73 17 73 + 200 3 23 16 17 13 84 17 73 17 84 + 200 3 10 4 5 8 84 8 73 13 73 + 200 3 10 5 9 8 84 13 73 13 84 + 200 3 21 20 19 4 84 4 73 8 73 + 200 3 21 19 18 4 84 8 73 8 84 + 200 3 9 5 6 13 84 13 73 17 73 + 200 3 9 6 8 13 84 17 73 17 84 + 200 3 12 21 17 97 175 97 164 113 163 + 200 3 12 17 13 97 175 113 163 113 175 + 200 3 21 18 23 97 164 102 157 108 157 + 200 3 21 23 17 97 164 108 157 113 163 + 200 3 13 6 7 113 175 113 163 97 164 + 200 3 13 7 12 113 175 97 164 97 175 + 200 3 7 6 5 97 164 113 163 108 157 + 200 3 7 5 4 97 164 108 157 102 157 + 200 3 31 0 1 10 98 10 136 1 136 + 200 3 31 1 30 10 98 1 136 1 98 + 200 3 8 6 13 12 217 1 217 1 194 + 200 3 8 13 14 12 217 1 194 12 194 + 200 3 17 16 14 12 217 1 217 1 194 + 200 3 17 14 13 12 217 1 194 12 194 + 200 3 24 25 3 11 137 11 171 5 171 + 200 3 24 3 28 11 137 5 171 5 137 + 200 3 31 28 3 1 142 5 137 5 171 + 200 3 31 3 0 1 142 5 171 1 165 + 200 3 3 2 1 2 107 9 107 9 127 + 200 3 3 1 0 2 107 9 127 2 127 + 200 3 11 10 9 97 164 102 157 108 157 + 200 3 11 9 8 97 164 108 157 113 163 + 200 3 15 11 8 97 175 97 164 113 163 + 200 3 15 8 14 97 175 113 163 113 175 + 200 3 20 16 22 97 164 113 163 108 157 + 200 3 20 22 19 97 164 108 157 102 157 + 200 3 14 16 20 113 175 113 163 97 164 + 200 3 14 20 15 113 175 97 164 97 175 + 200 3 1 26 29 1 165 11 171 5 137 + 200 3 1 29 30 1 165 5 137 1 142 + 200 3 29 30 26 5 137 1 142 11 171 + 200 3 29 26 27 5 137 11 171 11 137 200 3 26 1 2 11 171 1 165 5 171 \ No newline at end of file diff --git a/data/base/components/prop/prhrtrk3.pie b/data/base/components/prop/prhrtrk3.pie index 563e15f0e..1cf0959e8 100644 --- a/data/base/components/prop/prhrtrk3.pie +++ b/data/base/components/prop/prhrtrk3.pie @@ -28,26 +28,48 @@ POINTS 24 -20 0 -34 -20 18 -43 -20 7 -43 -POLYGONS 22 - 200 4 3 2 1 0 10 125 10 109 1 109 1 125 - 200 4 6 5 4 0 11 170 11 143 1 143 1 170 - 200 4 9 8 7 3 1 143 11 143 11 170 1 170 - 200 4 4 5 11 10 1 142 11 142 11 156 1 158 - 200 4 11 13 12 10 11 156 8 165 4 166 1 158 - 200 4 15 8 9 14 11 156 11 142 1 142 1 158 - 200 4 17 16 15 14 4 166 8 165 11 156 1 158 - 200 4 14 9 4 10 10 128 10 106 1 106 1 128 - 200 4 9 3 0 4 10 132 10 102 1 102 1 132 - 200 4 0 1 18 6 1 144 1 156 11 157 11 144 - 200 4 1 20 19 18 1 156 4 164 8 164 11 157 - 200 4 21 2 3 7 11 157 1 156 1 144 11 144 - 200 4 23 22 2 21 8 164 4 164 1 156 11 157 - 200 4 23 21 18 19 9 182 9 186 1 186 1 182 - 200 4 2 22 20 1 9 173 9 177 1 177 1 173 - 200 4 22 23 19 20 9 177 9 182 1 182 1 177 - 200 4 15 16 13 11 9 186 9 182 1 182 1 186 - 200 4 16 17 12 13 9 182 9 177 1 177 1 182 - 200 4 17 14 10 12 9 177 9 173 1 173 1 177 - 200 4 21 7 6 18 94 102 94 128 88 128 88 102 - 200 4 7 8 5 6 94 100 94 134 88 134 88 100 - 200 4 8 15 11 5 94 107 94 127 88 127 88 107 +POLYGONS 44 + 200 3 3 2 1 10 125 10 109 1 109 + 200 3 3 1 0 10 125 1 109 1 125 + 200 3 6 5 4 11 170 11 143 1 143 + 200 3 6 4 0 11 170 1 143 1 170 + 200 3 9 8 7 1 143 11 143 11 170 + 200 3 9 7 3 1 143 11 170 1 170 + 200 3 4 5 11 1 142 11 142 11 156 + 200 3 4 11 10 1 142 11 156 1 158 + 200 3 11 13 12 11 156 8 165 4 166 + 200 3 11 12 10 11 156 4 166 1 158 + 200 3 15 8 9 11 156 11 142 1 142 + 200 3 15 9 14 11 156 1 142 1 158 + 200 3 17 16 15 4 166 8 165 11 156 + 200 3 17 15 14 4 166 11 156 1 158 + 200 3 14 9 4 10 128 10 106 1 106 + 200 3 14 4 10 10 128 1 106 1 128 + 200 3 9 3 0 10 132 10 102 1 102 + 200 3 9 0 4 10 132 1 102 1 132 + 200 3 0 1 18 1 144 1 156 11 157 + 200 3 0 18 6 1 144 11 157 11 144 + 200 3 1 20 19 1 156 4 164 8 164 + 200 3 1 19 18 1 156 8 164 11 157 + 200 3 21 2 3 11 157 1 156 1 144 + 200 3 21 3 7 11 157 1 144 11 144 + 200 3 23 22 2 8 164 4 164 1 156 + 200 3 23 2 21 8 164 1 156 11 157 + 200 3 23 21 18 9 182 9 186 1 186 + 200 3 23 18 19 9 182 1 186 1 182 + 200 3 2 22 20 9 173 9 177 1 177 + 200 3 2 20 1 9 173 1 177 1 173 + 200 3 22 23 19 9 177 9 182 1 182 + 200 3 22 19 20 9 177 1 182 1 177 + 200 3 15 16 13 9 186 9 182 1 182 + 200 3 15 13 11 9 186 1 182 1 186 + 200 3 16 17 12 9 182 9 177 1 177 + 200 3 16 12 13 9 182 1 177 1 182 + 200 3 17 14 10 9 177 9 173 1 173 + 200 3 17 10 12 9 177 1 173 1 177 + 200 3 21 7 6 94 102 94 128 88 128 + 200 3 21 6 18 94 102 88 128 88 102 + 200 3 7 8 5 94 100 94 134 88 134 + 200 3 7 5 6 94 100 88 134 88 100 + 200 3 8 15 11 94 107 94 127 88 127 + 200 3 8 11 5 94 107 88 127 88 107 \ No newline at end of file diff --git a/data/base/components/prop/prhrvtl1.pie b/data/base/components/prop/prhrvtl1.pie index b5f5076cf..02aa8542f 100644 --- a/data/base/components/prop/prhrvtl1.pie +++ b/data/base/components/prop/prhrvtl1.pie @@ -35,25 +35,42 @@ POINTS 31 -40 15 11 -48 15 31 -14 31 36 -POLYGONS 21 - 200 4 0 1 2 3 8 48 2 48 0 40 3 40 - 200 4 3 2 1 0 3 40 0 40 2 48 8 48 - 200 4 7 6 5 4 104 175 104 189 117 189 117 175 - 200 4 11 10 9 8 118 189 104 189 104 204 118 204 - 200 4 8 9 5 6 117 203 104 203 104 217 117 217 - 200 4 11 8 6 7 117 203 104 203 104 217 117 217 - 200 4 10 11 7 4 117 203 104 203 104 217 117 217 - 200 4 9 10 4 5 117 203 104 203 104 217 117 217 - 200 4 15 14 13 12 104 175 104 189 117 189 117 175 - 200 4 19 18 17 16 118 189 104 189 104 204 118 204 - 200 4 16 17 13 14 117 203 104 203 104 217 117 217 - 200 4 19 16 14 15 117 203 104 203 104 217 117 217 - 200 4 18 19 15 12 117 203 104 203 104 217 117 217 - 200 4 17 18 12 13 117 203 104 203 104 217 117 217 - 200 4 23 22 21 20 20 93 11 93 11 89 20 89 - 200 4 22 25 24 21 11 93 3 93 3 89 11 89 +POLYGONS 38 + 200 3 0 1 2 8 48 2 48 0 40 + 200 3 0 2 3 8 48 0 40 3 40 + 200 3 3 2 1 3 40 0 40 2 48 + 200 3 3 1 0 3 40 2 48 8 48 + 200 3 7 6 5 104 175 104 189 117 189 + 200 3 7 5 4 104 175 117 189 117 175 + 200 3 11 10 9 118 189 104 189 104 204 + 200 3 11 9 8 118 189 104 204 118 204 + 200 3 8 9 5 117 203 104 203 104 217 + 200 3 8 5 6 117 203 104 217 117 217 + 200 3 11 8 6 117 203 104 203 104 217 + 200 3 11 6 7 117 203 104 217 117 217 + 200 3 10 11 7 117 203 104 203 104 217 + 200 3 10 7 4 117 203 104 217 117 217 + 200 3 9 10 4 117 203 104 203 104 217 + 200 3 9 4 5 117 203 104 217 117 217 + 200 3 15 14 13 104 175 104 189 117 189 + 200 3 15 13 12 104 175 117 189 117 175 + 200 3 19 18 17 118 189 104 189 104 204 + 200 3 19 17 16 118 189 104 204 118 204 + 200 3 16 17 13 117 203 104 203 104 217 + 200 3 16 13 14 117 203 104 217 117 217 + 200 3 19 16 14 117 203 104 203 104 217 + 200 3 19 14 15 117 203 104 217 117 217 + 200 3 18 19 15 117 203 104 203 104 217 + 200 3 18 15 12 117 203 104 217 117 217 + 200 3 17 18 12 117 203 104 203 104 217 + 200 3 17 12 13 117 203 104 217 117 217 + 200 3 23 22 21 20 93 11 93 11 89 + 200 3 23 21 20 20 93 11 89 20 89 + 200 3 22 25 24 11 93 3 93 3 89 + 200 3 22 24 21 11 93 3 89 11 89 200 3 21 24 20 86 180 88 182 88 178 200 3 28 27 26 4 93 3 84 5 84 200 3 29 28 26 5 97 4 93 5 84 200 3 30 29 26 17 98 0 85 1 98 - 200 4 29 30 27 28 2 85 0 98 17 98 9 89 \ No newline at end of file + 200 3 29 30 27 2 85 0 98 17 98 + 200 3 29 27 28 2 85 17 98 9 89 \ No newline at end of file diff --git a/data/base/components/prop/prhrvtl2.pie b/data/base/components/prop/prhrvtl2.pie index 60d7ccbaa..e28befa67 100644 --- a/data/base/components/prop/prhrvtl2.pie +++ b/data/base/components/prop/prhrvtl2.pie @@ -35,25 +35,42 @@ POINTS 31 0 26 51 0 10 56 0 10 51 -POLYGONS 21 - 200 4 0 1 2 3 8 48 2 48 0 40 3 40 - 200 4 3 2 1 0 3 40 0 40 2 48 8 48 - 200 4 7 6 5 4 2 85 0 98 17 98 9 89 +POLYGONS 38 + 200 3 0 1 2 8 48 2 48 0 40 + 200 3 0 2 3 8 48 0 40 3 40 + 200 3 3 2 1 3 40 0 40 2 48 + 200 3 3 1 0 3 40 2 48 8 48 + 200 3 7 6 5 2 85 0 98 17 98 + 200 3 7 5 4 2 85 17 98 9 89 200 3 6 7 8 17 98 0 85 1 98 - 200 4 12 11 10 9 104 189 104 204 118 204 118 189 - 200 4 16 15 14 13 118 189 104 189 104 204 118 204 - 200 4 13 14 10 11 117 203 104 203 104 217 117 217 - 200 4 16 13 11 12 117 203 104 203 104 217 117 217 - 200 4 15 16 12 9 117 203 104 203 104 217 117 217 - 200 4 14 15 9 10 117 203 104 203 104 217 117 217 - 200 4 20 19 18 17 104 189 104 204 118 204 118 189 - 200 4 24 23 22 21 118 189 104 189 104 204 118 204 - 200 4 21 22 18 19 117 203 104 203 104 217 117 217 - 200 4 24 21 19 20 117 203 104 203 104 217 117 217 - 200 4 23 24 20 17 117 203 104 203 104 217 117 217 - 200 4 22 23 17 18 117 203 104 203 104 217 117 217 - 200 4 28 27 26 25 20 93 11 93 11 89 20 89 - 200 4 27 30 29 26 11 93 3 93 3 89 11 89 + 200 3 12 11 10 104 189 104 204 118 204 + 200 3 12 10 9 104 189 118 204 118 189 + 200 3 16 15 14 118 189 104 189 104 204 + 200 3 16 14 13 118 189 104 204 118 204 + 200 3 13 14 10 117 203 104 203 104 217 + 200 3 13 10 11 117 203 104 217 117 217 + 200 3 16 13 11 117 203 104 203 104 217 + 200 3 16 11 12 117 203 104 217 117 217 + 200 3 15 16 12 117 203 104 203 104 217 + 200 3 15 12 9 117 203 104 217 117 217 + 200 3 14 15 9 117 203 104 203 104 217 + 200 3 14 9 10 117 203 104 217 117 217 + 200 3 20 19 18 104 189 104 204 118 204 + 200 3 20 18 17 104 189 118 204 118 189 + 200 3 24 23 22 118 189 104 189 104 204 + 200 3 24 22 21 118 189 104 204 118 204 + 200 3 21 22 18 117 203 104 203 104 217 + 200 3 21 18 19 117 203 104 217 117 217 + 200 3 24 21 19 117 203 104 203 104 217 + 200 3 24 19 20 117 203 104 217 117 217 + 200 3 23 24 20 117 203 104 203 104 217 + 200 3 23 20 17 117 203 104 217 117 217 + 200 3 22 23 17 117 203 104 203 104 217 + 200 3 22 17 18 117 203 104 217 117 217 + 200 3 28 27 26 20 93 11 93 11 89 + 200 3 28 26 25 20 93 11 89 20 89 + 200 3 27 30 29 11 93 3 93 3 89 + 200 3 27 29 26 11 93 3 89 11 89 200 3 26 29 25 86 180 88 182 88 178 200 3 4 5 8 4 93 3 84 5 84 - 200 3 7 4 8 5 97 4 93 5 84 + 200 3 7 4 8 5 97 4 93 5 84 \ No newline at end of file diff --git a/data/base/components/prop/prhrvtl3.pie b/data/base/components/prop/prhrvtl3.pie index 15a18546d..c64d10894 100644 --- a/data/base/components/prop/prhrvtl3.pie +++ b/data/base/components/prop/prhrvtl3.pie @@ -35,25 +35,42 @@ POINTS 31 -40 14 13 -48 14 33 -20 32 39 -POLYGONS 21 - 200 4 0 1 2 3 8 48 2 48 0 40 3 40 - 200 4 3 2 1 0 3 40 0 40 2 48 8 48 - 200 4 7 6 5 4 104 189 104 204 118 204 118 189 - 200 4 11 10 9 8 118 189 104 189 104 204 118 204 - 200 4 8 9 5 6 117 203 104 203 104 217 117 217 - 200 4 11 8 6 7 117 203 104 203 104 217 117 217 - 200 4 10 11 7 4 117 203 104 203 104 217 117 217 - 200 4 9 10 4 5 117 203 104 203 104 217 117 217 - 200 4 15 14 13 12 117 190 117 203 105 203 105 190 - 200 4 19 18 17 16 105 190 117 190 117 203 105 203 - 200 4 16 17 13 14 104 204 117 204 117 216 104 216 - 200 4 19 16 14 15 104 204 117 204 117 216 104 216 - 200 4 18 19 15 12 104 204 117 204 117 216 104 216 - 200 4 17 18 12 13 104 204 117 204 117 216 104 216 - 200 4 23 22 21 20 20 93 11 93 11 89 20 89 - 200 4 22 25 24 21 11 93 3 93 3 89 11 89 +POLYGONS 38 + 200 3 0 1 2 8 48 2 48 0 40 + 200 3 0 2 3 8 48 0 40 3 40 + 200 3 3 2 1 3 40 0 40 2 48 + 200 3 3 1 0 3 40 2 48 8 48 + 200 3 7 6 5 104 189 104 204 118 204 + 200 3 7 5 4 104 189 118 204 118 189 + 200 3 11 10 9 118 189 104 189 104 204 + 200 3 11 9 8 118 189 104 204 118 204 + 200 3 8 9 5 117 203 104 203 104 217 + 200 3 8 5 6 117 203 104 217 117 217 + 200 3 11 8 6 117 203 104 203 104 217 + 200 3 11 6 7 117 203 104 217 117 217 + 200 3 10 11 7 117 203 104 203 104 217 + 200 3 10 7 4 117 203 104 217 117 217 + 200 3 9 10 4 117 203 104 203 104 217 + 200 3 9 4 5 117 203 104 217 117 217 + 200 3 15 14 13 117 190 117 203 105 203 + 200 3 15 13 12 117 190 105 203 105 190 + 200 3 19 18 17 105 190 117 190 117 203 + 200 3 19 17 16 105 190 117 203 105 203 + 200 3 16 17 13 104 204 117 204 117 216 + 200 3 16 13 14 104 204 117 216 104 216 + 200 3 19 16 14 104 204 117 204 117 216 + 200 3 19 14 15 104 204 117 216 104 216 + 200 3 18 19 15 104 204 117 204 117 216 + 200 3 18 15 12 104 204 117 216 104 216 + 200 3 17 18 12 104 204 117 204 117 216 + 200 3 17 12 13 104 204 117 216 104 216 + 200 3 23 22 21 20 93 11 93 11 89 + 200 3 23 21 20 20 93 11 89 20 89 + 200 3 22 25 24 11 93 3 93 3 89 + 200 3 22 24 21 11 93 3 89 11 89 200 3 21 24 20 86 180 88 182 88 178 200 3 28 27 26 4 93 3 84 5 84 200 3 29 28 26 5 97 4 93 5 84 - 200 4 29 30 27 28 2 85 0 98 17 98 9 89 + 200 3 29 30 27 2 85 0 98 17 98 + 200 3 29 27 28 2 85 17 98 9 89 200 3 30 29 26 17 98 0 85 1 98 \ No newline at end of file diff --git a/data/base/components/prop/prhrvtl4.pie b/data/base/components/prop/prhrvtl4.pie index 57e928ceb..0bc17e71b 100644 --- a/data/base/components/prop/prhrvtl4.pie +++ b/data/base/components/prop/prhrvtl4.pie @@ -35,25 +35,42 @@ POINTS 31 -9 30 32 -16 47 38 -16 47 26 -POLYGONS 21 - 200 4 3 2 1 0 104 189 104 204 118 204 118 189 - 200 4 7 6 5 4 118 189 104 189 104 204 118 204 - 200 4 4 5 1 2 117 203 104 203 104 217 117 217 - 200 4 7 4 2 3 117 203 104 203 104 217 117 217 - 200 4 6 7 3 0 117 203 104 203 104 217 117 217 - 200 4 5 6 0 1 117 203 104 203 104 217 117 217 - 200 4 11 10 9 8 104 189 104 204 118 204 118 189 - 200 4 15 14 13 12 118 189 104 189 104 204 118 204 - 200 4 12 13 9 10 117 203 104 203 104 217 117 217 - 200 4 15 12 10 11 117 203 104 203 104 217 117 217 - 200 4 14 15 11 8 117 203 104 203 104 217 117 217 - 200 4 13 14 8 9 117 203 104 203 104 217 117 217 - 200 4 19 18 17 16 20 93 11 93 11 89 20 89 - 200 4 18 21 20 17 11 93 3 93 3 89 11 89 +POLYGONS 38 + 200 3 3 2 1 104 189 104 204 118 204 + 200 3 3 1 0 104 189 118 204 118 189 + 200 3 7 6 5 118 189 104 189 104 204 + 200 3 7 5 4 118 189 104 204 118 204 + 200 3 4 5 1 117 203 104 203 104 217 + 200 3 4 1 2 117 203 104 217 117 217 + 200 3 7 4 2 117 203 104 203 104 217 + 200 3 7 2 3 117 203 104 217 117 217 + 200 3 6 7 3 117 203 104 203 104 217 + 200 3 6 3 0 117 203 104 217 117 217 + 200 3 5 6 0 117 203 104 203 104 217 + 200 3 5 0 1 117 203 104 217 117 217 + 200 3 11 10 9 104 189 104 204 118 204 + 200 3 11 9 8 104 189 118 204 118 189 + 200 3 15 14 13 118 189 104 189 104 204 + 200 3 15 13 12 118 189 104 204 118 204 + 200 3 12 13 9 117 203 104 203 104 217 + 200 3 12 9 10 117 203 104 217 117 217 + 200 3 15 12 10 117 203 104 203 104 217 + 200 3 15 10 11 117 203 104 217 117 217 + 200 3 14 15 11 117 203 104 203 104 217 + 200 3 14 11 8 117 203 104 217 117 217 + 200 3 13 14 8 117 203 104 203 104 217 + 200 3 13 8 9 117 203 104 217 117 217 + 200 3 19 18 17 20 93 11 93 11 89 + 200 3 19 17 16 20 93 11 89 20 89 + 200 3 18 21 20 11 93 3 93 3 89 + 200 3 18 20 17 11 93 3 89 11 89 200 3 17 20 16 86 180 88 182 88 178 200 3 24 23 22 4 93 3 84 5 84 200 3 25 24 22 5 97 4 93 5 84 - 200 4 25 26 23 24 2 85 0 98 17 98 9 89 + 200 3 25 26 23 2 85 0 98 17 98 + 200 3 25 23 24 2 85 17 98 9 89 200 3 26 25 22 17 98 0 85 1 98 - 200 4 27 28 29 30 8 48 2 48 0 40 3 40 - 200 4 30 29 28 27 3 40 0 40 2 48 8 48 \ No newline at end of file + 200 3 27 28 29 8 48 2 48 0 40 + 200 3 27 29 30 8 48 0 40 3 40 + 200 3 30 29 28 3 40 0 40 2 48 + 200 3 30 28 27 3 40 2 48 8 48 \ No newline at end of file diff --git a/data/base/components/prop/prhrwhl1.pie b/data/base/components/prop/prhrwhl1.pie index 8b3421b41..a4dc6ff28 100644 --- a/data/base/components/prop/prhrwhl1.pie +++ b/data/base/components/prop/prhrwhl1.pie @@ -122,108 +122,204 @@ POINTS 118 -39 10 20 -39 13 1 -39 13 19 -POLYGONS 104 - 200 4 3 0 1 2 10 187 3 187 3 221 10 221 - 200 4 5 4 1 0 11 187 11 221 11 221 11 187 - 200 4 6 7 8 9 10 187 10 221 3 221 3 187 - 200 4 9 8 7 6 3 187 3 221 10 221 10 187 - 200 4 11 6 7 10 11 187 11 187 11 221 11 221 - 200 4 18 17 16 19 11 224 2 224 2 219 11 219 - 200 4 14 13 12 15 11 205 2 205 2 210 11 210 - 200 4 20 15 12 21 9 177 9 172 1 172 1 177 - 200 4 15 20 14 15 7 177 2 177 2 177 7 177 - 200 4 21 12 12 13 2 177 7 177 7 177 2 177 - 200 4 20 21 13 14 9 182 1 182 1 182 9 182 - 200 4 21 0 3 12 1 199 3 208 11 208 9 199 - 200 4 9 8 2 3 3 187 3 221 10 221 10 187 - 200 4 3 2 8 9 10 187 10 221 3 221 3 187 - 200 4 15 20 6 9 9 199 1 199 3 208 11 208 - 200 4 9 6 20 15 11 208 3 208 1 199 9 199 - 200 4 15 9 3 12 11 210 11 224 2 224 2 210 - 200 4 12 3 9 15 2 210 2 224 11 224 11 210 - 200 4 22 20 6 11 4 131 4 131 4 131 4 131 - 200 4 24 17 2 1 1 208 9 208 11 199 3 199 - 200 4 7 23 18 8 3 199 1 208 9 208 11 199 - 200 4 8 18 23 7 11 199 9 208 1 208 3 199 - 200 4 2 8 18 17 2 210 11 210 11 224 2 224 - 200 4 17 18 8 2 2 224 11 224 11 210 2 210 - 200 4 25 10 7 23 4 131 4 131 4 131 4 131 - 200 4 26 24 1 4 4 131 4 131 4 131 4 131 - 200 4 23 19 16 24 9 182 9 182 1 182 1 182 +POLYGONS 200 + 200 3 3 0 1 10 187 3 187 3 221 + 200 3 3 1 2 10 187 3 221 10 221 + 200 3 5 4 1 11 187 11 221 11 221 + 200 3 5 1 0 11 187 11 221 11 187 + 200 3 6 7 8 10 187 10 221 3 221 + 200 3 6 8 9 10 187 3 221 3 187 + 200 3 9 8 7 3 187 3 221 10 221 + 200 3 9 7 6 3 187 10 221 10 187 + 200 3 11 6 7 11 187 11 187 11 221 + 200 3 11 7 10 11 187 11 221 11 221 + 200 3 18 17 16 11 224 2 224 2 219 + 200 3 18 16 19 11 224 2 219 11 219 + 200 3 14 13 12 11 205 2 205 2 210 + 200 3 14 12 15 11 205 2 210 11 210 + 200 3 20 15 12 9 177 9 172 1 172 + 200 3 20 12 21 9 177 1 172 1 177 + 200 3 15 20 14 7 177 2 177 2 177 + 200 3 15 14 15 7 177 2 177 7 177 + 200 3 21 12 12 2 177 7 177 7 177 + 200 3 21 12 13 2 177 7 177 2 177 + 200 3 20 21 13 9 182 1 182 1 182 + 200 3 20 13 14 9 182 1 182 9 182 + 200 3 21 0 3 1 199 3 208 11 208 + 200 3 21 3 12 1 199 11 208 9 199 + 200 3 9 8 2 3 187 3 221 10 221 + 200 3 9 2 3 3 187 10 221 10 187 + 200 3 3 2 8 10 187 10 221 3 221 + 200 3 3 8 9 10 187 3 221 3 187 + 200 3 15 20 6 9 199 1 199 3 208 + 200 3 15 6 9 9 199 3 208 11 208 + 200 3 9 6 20 11 208 3 208 1 199 + 200 3 9 20 15 11 208 1 199 9 199 + 200 3 15 9 3 11 210 11 224 2 224 + 200 3 15 3 12 11 210 2 224 2 210 + 200 3 12 3 9 2 210 2 224 11 224 + 200 3 12 9 15 2 210 11 224 11 210 + 200 3 22 20 6 4 131 4 131 4 131 + 200 3 22 6 11 4 131 4 131 4 131 + 200 3 24 17 2 1 208 9 208 11 199 + 200 3 24 2 1 1 208 11 199 3 199 + 200 3 7 23 18 3 199 1 208 9 208 + 200 3 7 18 8 3 199 9 208 11 199 + 200 3 8 18 23 11 199 9 208 1 208 + 200 3 8 23 7 11 199 1 208 3 199 + 200 3 2 8 18 2 210 11 210 11 224 + 200 3 2 18 17 2 210 11 224 2 224 + 200 3 17 18 8 2 224 11 224 11 210 + 200 3 17 8 2 2 224 11 210 2 210 + 200 3 25 10 7 4 131 4 131 4 131 + 200 3 25 7 23 4 131 4 131 4 131 + 200 3 26 24 1 4 131 4 131 4 131 + 200 3 26 1 4 4 131 4 131 4 131 + 200 3 23 19 16 9 182 9 182 1 182 + 200 3 23 16 24 9 182 1 182 1 182 200 3 18 19 23 5 175 5 175 5 175 200 3 17 24 16 6 175 6 175 6 175 - 200 4 27 28 4 5 3 187 3 221 10 221 10 187 - 200 4 29 30 27 5 0 127 8 127 10 120 2 120 - 200 4 29 5 0 21 0 127 2 120 2 120 0 127 - 200 4 26 4 28 31 0 129 2 122 10 122 8 129 - 200 4 23 24 17 18 9 177 1 177 1 172 9 172 - 200 4 44 43 34 41 27 52 21 52 21 53 27 53 - 200 4 45 44 41 35 27 52 21 52 21 53 27 53 - 200 4 46 45 35 32 27 52 21 52 21 53 27 53 - 200 4 47 46 32 36 27 52 21 52 21 53 27 53 - 200 4 48 47 36 42 27 52 21 52 21 53 27 53 - 200 4 49 48 42 37 27 52 21 52 21 53 27 53 - 200 4 43 50 39 34 27 52 21 52 21 53 27 53 - 200 4 51 49 37 40 27 52 21 52 21 53 27 53 - 200 4 50 52 33 39 27 52 21 52 21 53 27 53 - 200 4 53 51 40 38 27 52 21 52 21 53 27 53 + 200 3 27 28 4 3 187 3 221 10 221 + 200 3 27 4 5 3 187 10 221 10 187 + 200 3 29 30 27 0 127 8 127 10 120 + 200 3 29 27 5 0 127 10 120 2 120 + 200 3 29 5 0 0 127 2 120 2 120 + 200 3 29 0 21 0 127 2 120 0 127 + 200 3 26 4 28 0 129 2 122 10 122 + 200 3 26 28 31 0 129 10 122 8 129 + 200 3 23 24 17 9 177 1 177 1 172 + 200 3 23 17 18 9 177 1 172 9 172 + 200 3 44 43 34 27 52 21 52 21 53 + 200 3 44 34 41 27 52 21 53 27 53 + 200 3 45 44 41 27 52 21 52 21 53 + 200 3 45 41 35 27 52 21 53 27 53 + 200 3 46 45 35 27 52 21 52 21 53 + 200 3 46 35 32 27 52 21 53 27 53 + 200 3 47 46 32 27 52 21 52 21 53 + 200 3 47 32 36 27 52 21 53 27 53 + 200 3 48 47 36 27 52 21 52 21 53 + 200 3 48 36 42 27 52 21 53 27 53 + 200 3 49 48 42 27 52 21 52 21 53 + 200 3 49 42 37 27 52 21 53 27 53 + 200 3 43 50 39 27 52 21 52 21 53 + 200 3 43 39 34 27 52 21 53 27 53 + 200 3 51 49 37 27 52 21 52 21 53 + 200 3 51 37 40 27 52 21 53 27 53 + 200 3 50 52 33 27 52 21 52 21 53 + 200 3 50 33 39 27 52 21 53 27 53 + 200 3 53 51 40 27 52 21 52 21 53 + 200 3 53 40 38 27 52 21 53 27 53 200 3 51 48 49 154 174 150 172 152 173 200 3 42 36 32 150 172 148 170 147 167 - 200 4 65 64 55 62 27 52 21 52 21 53 27 53 - 200 4 66 65 62 56 27 52 21 52 21 53 27 53 - 200 4 67 66 56 54 27 52 21 52 21 53 27 53 - 200 4 68 67 54 57 27 52 21 52 21 53 27 53 - 200 4 69 68 57 63 27 52 21 52 21 53 27 53 - 200 4 70 69 63 58 27 52 21 52 21 53 27 53 - 200 4 64 71 60 55 27 52 21 52 21 53 27 53 - 200 4 72 70 58 61 27 52 21 52 21 53 27 53 - 200 4 73 72 61 59 27 52 21 52 21 53 27 53 + 200 3 65 64 55 27 52 21 52 21 53 + 200 3 65 55 62 27 52 21 53 27 53 + 200 3 66 65 62 27 52 21 52 21 53 + 200 3 66 62 56 27 52 21 53 27 53 + 200 3 67 66 56 27 52 21 52 21 53 + 200 3 67 56 54 27 52 21 53 27 53 + 200 3 68 67 54 27 52 21 52 21 53 + 200 3 68 54 57 27 52 21 53 27 53 + 200 3 69 68 57 27 52 21 52 21 53 + 200 3 69 57 63 27 52 21 53 27 53 + 200 3 70 69 63 27 52 21 52 21 53 + 200 3 70 63 58 27 52 21 53 27 53 + 200 3 64 71 60 27 52 21 52 21 53 + 200 3 64 60 55 27 52 21 53 27 53 + 200 3 72 70 58 27 52 21 52 21 53 + 200 3 72 58 61 27 52 21 53 27 53 + 200 3 73 72 61 27 52 21 52 21 53 + 200 3 73 61 59 27 52 21 53 27 53 200 3 72 69 70 154 174 150 172 152 173 - 200 4 86 85 77 83 27 52 21 52 21 53 27 53 - 200 4 87 86 83 78 27 52 21 52 21 53 27 53 - 200 4 88 87 78 75 27 52 21 52 21 53 27 53 - 200 4 89 88 75 79 27 52 21 52 21 53 27 53 - 200 4 90 89 79 84 27 52 21 52 21 53 27 53 - 200 4 91 90 84 80 27 52 21 52 21 53 27 53 - 200 4 85 92 81 77 27 52 21 52 21 53 27 53 - 200 4 93 91 80 82 27 52 21 52 21 53 27 53 - 200 4 92 94 76 81 27 52 21 52 21 53 27 53 + 200 3 86 85 77 27 52 21 52 21 53 + 200 3 86 77 83 27 52 21 53 27 53 + 200 3 87 86 83 27 52 21 52 21 53 + 200 3 87 83 78 27 52 21 53 27 53 + 200 3 88 87 78 27 52 21 52 21 53 + 200 3 88 78 75 27 52 21 53 27 53 + 200 3 89 88 75 27 52 21 52 21 53 + 200 3 89 75 79 27 52 21 53 27 53 + 200 3 90 89 79 27 52 21 52 21 53 + 200 3 90 79 84 27 52 21 53 27 53 + 200 3 91 90 84 27 52 21 52 21 53 + 200 3 91 84 80 27 52 21 53 27 53 + 200 3 85 92 81 27 52 21 52 21 53 + 200 3 85 81 77 27 52 21 53 27 53 + 200 3 93 91 80 27 52 21 52 21 53 + 200 3 93 80 82 27 52 21 53 27 53 + 200 3 92 94 76 27 52 21 52 21 53 + 200 3 92 76 81 27 52 21 53 27 53 200 3 93 90 91 154 174 150 172 152 173 - 200 4 108 107 98 105 27 52 21 52 21 53 27 53 - 200 4 109 108 105 99 27 52 21 52 21 53 27 53 - 200 4 110 109 99 96 27 52 21 52 21 53 27 53 - 200 4 111 110 96 100 27 52 21 52 21 53 27 53 - 200 4 112 111 100 106 27 52 21 52 21 53 27 53 - 200 4 113 112 106 101 27 52 21 52 21 53 27 53 - 200 4 107 114 103 98 27 52 21 52 21 53 27 53 - 200 4 115 113 101 104 27 52 21 52 21 53 27 53 - 200 4 114 116 97 103 27 52 21 52 21 53 27 53 - 200 4 117 115 104 102 27 52 21 52 21 53 27 53 + 200 3 108 107 98 27 52 21 52 21 53 + 200 3 108 98 105 27 52 21 53 27 53 + 200 3 109 108 105 27 52 21 52 21 53 + 200 3 109 105 99 27 52 21 53 27 53 + 200 3 110 109 99 27 52 21 52 21 53 + 200 3 110 99 96 27 52 21 53 27 53 + 200 3 111 110 96 27 52 21 52 21 53 + 200 3 111 96 100 27 52 21 53 27 53 + 200 3 112 111 100 27 52 21 52 21 53 + 200 3 112 100 106 27 52 21 53 27 53 + 200 3 113 112 106 27 52 21 52 21 53 + 200 3 113 106 101 27 52 21 53 27 53 + 200 3 107 114 103 27 52 21 52 21 53 + 200 3 107 103 98 27 52 21 53 27 53 + 200 3 115 113 101 27 52 21 52 21 53 + 200 3 115 101 104 27 52 21 53 27 53 + 200 3 114 116 97 27 52 21 52 21 53 + 200 3 114 97 103 27 52 21 53 27 53 + 200 3 117 115 104 27 52 21 52 21 53 + 200 3 117 104 102 27 52 21 53 27 53 200 3 115 112 113 154 174 150 172 152 173 200 3 106 100 96 150 172 148 170 147 167 - 200 4 73 74 71 72 156 173 158 172 154 159 154 174 - 200 4 65 72 71 64 150 161 154 174 154 159 152 160 - 200 4 67 72 65 66 147 167 154 174 150 161 148 164 - 200 4 69 72 67 68 150 172 154 174 147 167 148 170 - 200 4 53 52 50 51 156 173 156 160 154 159 154 174 - 200 4 44 51 50 43 150 161 154 174 154 159 152 160 - 200 4 46 51 44 45 147 167 154 174 150 161 148 164 - 200 4 48 51 46 47 150 172 154 174 147 167 148 170 - 200 4 117 116 114 115 156 173 156 160 154 159 154 174 - 200 4 108 115 114 107 150 161 154 174 154 159 152 160 - 200 4 110 115 108 109 147 167 154 174 150 161 148 164 - 200 4 112 115 110 111 150 172 154 174 147 167 148 170 - 200 4 93 95 94 92 154 174 158 172 156 160 154 159 - 200 4 86 93 92 85 150 161 154 174 154 159 152 160 - 200 4 88 93 86 87 147 167 154 174 150 161 148 164 - 200 4 90 93 88 89 150 172 154 174 147 167 148 170 - 200 4 77 82 80 84 152 160 154 174 152 173 150 172 - 200 4 77 84 78 83 152 160 150 172 148 164 150 161 - 200 4 78 84 79 75 148 164 150 172 148 170 147 167 - 200 4 101 106 105 98 152 173 150 172 150 161 152 160 - 200 4 105 106 96 99 150 161 150 172 147 167 148 164 - 200 4 37 42 41 34 152 173 150 172 150 161 152 160 - 200 4 41 42 32 35 150 161 150 172 147 167 148 164 - 200 4 60 58 63 55 154 159 152 173 150 172 152 160 - 200 4 55 63 56 62 152 160 150 172 148 164 150 161 - 200 4 56 63 57 54 148 164 150 172 148 170 147 167 + 200 3 73 74 71 156 173 158 172 154 159 + 200 3 73 71 72 156 173 154 159 154 174 + 200 3 65 72 71 150 161 154 174 154 159 + 200 3 65 71 64 150 161 154 159 152 160 + 200 3 67 72 65 147 167 154 174 150 161 + 200 3 67 65 66 147 167 150 161 148 164 + 200 3 69 72 67 150 172 154 174 147 167 + 200 3 69 67 68 150 172 147 167 148 170 + 200 3 53 52 50 156 173 156 160 154 159 + 200 3 53 50 51 156 173 154 159 154 174 + 200 3 44 51 50 150 161 154 174 154 159 + 200 3 44 50 43 150 161 154 159 152 160 + 200 3 46 51 44 147 167 154 174 150 161 + 200 3 46 44 45 147 167 150 161 148 164 + 200 3 48 51 46 150 172 154 174 147 167 + 200 3 48 46 47 150 172 147 167 148 170 + 200 3 117 116 114 156 173 156 160 154 159 + 200 3 117 114 115 156 173 154 159 154 174 + 200 3 108 115 114 150 161 154 174 154 159 + 200 3 108 114 107 150 161 154 159 152 160 + 200 3 110 115 108 147 167 154 174 150 161 + 200 3 110 108 109 147 167 150 161 148 164 + 200 3 112 115 110 150 172 154 174 147 167 + 200 3 112 110 111 150 172 147 167 148 170 + 200 3 93 95 94 154 174 158 172 156 160 + 200 3 93 94 92 154 174 156 160 154 159 + 200 3 86 93 92 150 161 154 174 154 159 + 200 3 86 92 85 150 161 154 159 152 160 + 200 3 88 93 86 147 167 154 174 150 161 + 200 3 88 86 87 147 167 150 161 148 164 + 200 3 90 93 88 150 172 154 174 147 167 + 200 3 90 88 89 150 172 147 167 148 170 + 200 3 77 82 80 152 160 154 174 152 173 + 200 3 77 80 84 152 160 152 173 150 172 + 200 3 77 84 78 152 160 150 172 148 164 + 200 3 77 78 83 152 160 148 164 150 161 + 200 3 78 84 79 148 164 150 172 148 170 + 200 3 78 79 75 148 164 148 170 147 167 + 200 3 101 106 105 152 173 150 172 150 161 + 200 3 101 105 98 152 173 150 161 152 160 + 200 3 105 106 96 150 161 150 172 147 167 + 200 3 105 96 99 150 161 147 167 148 164 + 200 3 37 42 41 152 173 150 172 150 161 + 200 3 37 41 34 152 173 150 161 152 160 + 200 3 41 42 32 150 161 150 172 147 167 + 200 3 41 32 35 150 161 147 167 148 164 + 200 3 60 58 63 154 159 152 173 150 172 + 200 3 60 63 55 154 159 150 172 152 160 + 200 3 55 63 56 152 160 150 172 148 164 + 200 3 55 56 62 152 160 148 164 150 161 + 200 3 56 63 57 148 164 150 172 148 170 + 200 3 56 57 54 148 164 148 170 147 167 \ No newline at end of file diff --git a/data/base/components/prop/prlhov1.pie b/data/base/components/prop/prlhov1.pie index 94374da5f..85841df2b 100644 --- a/data/base/components/prop/prlhov1.pie +++ b/data/base/components/prop/prlhov1.pie @@ -32,14 +32,21 @@ POINTS 28 13 10 55 -14 0 -39 15 0 -39 -POLYGONS 33 - 200 4 3 2 1 0 6 32 23 7 23 29 18 32 - 200 4 5 2 3 4 1 7 23 7 6 32 1 29 - 200 4 7 6 2 5 6 3 18 3 23 7 1 7 - 200 4 8 9 10 11 1 71 0 63 20 63 19 71 - 200 4 11 10 9 8 19 71 20 63 0 63 1 71 - 200 4 1 2 13 12 199 34 199 1 192 0 192 35 - 200 4 5 4 15 14 199 1 199 34 192 35 192 0 +POLYGONS 50 + 200 3 3 2 1 6 32 23 7 23 29 + 200 3 3 1 0 6 32 23 29 18 32 + 200 3 5 2 3 1 7 23 7 6 32 + 200 3 5 3 4 1 7 6 32 1 29 + 200 3 7 6 2 6 3 18 3 23 7 + 200 3 7 2 5 6 3 23 7 1 7 + 200 3 8 9 10 1 71 0 63 20 63 + 200 3 8 10 11 1 71 20 63 19 71 + 200 3 11 10 9 19 71 20 63 0 63 + 200 3 11 9 8 19 71 0 63 1 71 + 200 3 1 2 13 199 34 199 1 192 0 + 200 3 1 13 12 199 34 192 0 192 35 + 200 3 5 4 15 199 1 199 34 192 35 + 200 3 5 15 14 199 1 192 35 192 0 200 3 17 17 16 0 55 0 55 0 48 200 3 16 17 16 0 48 0 55 0 48 200 3 18 18 17 7 55 7 55 0 55 @@ -48,10 +55,14 @@ POLYGONS 33 200 3 18 19 18 7 55 7 48 7 55 200 3 16 16 19 0 48 0 48 7 48 200 3 19 16 19 7 48 0 48 7 48 - 200 4 19 16 17 18 7 48 0 48 0 55 7 55 - 200 4 17 16 19 18 0 55 0 48 7 48 7 55 - 200 4 2 6 20 13 199 15 199 3 192 0 192 13 - 200 4 7 5 14 21 199 3 199 15 192 13 192 0 + 200 3 19 16 17 7 48 0 48 0 55 + 200 3 19 17 18 7 48 0 55 7 55 + 200 3 17 16 19 0 55 0 48 7 48 + 200 3 17 19 18 0 55 7 48 7 55 + 200 3 2 6 20 199 15 199 3 192 0 + 200 3 2 20 13 199 15 192 0 192 13 + 200 3 7 5 14 199 3 199 15 192 13 + 200 3 7 14 21 199 3 192 13 192 0 200 3 23 23 22 0 55 0 55 0 48 200 3 22 23 22 0 48 0 55 0 48 200 3 24 24 23 7 55 7 55 0 55 @@ -60,9 +71,15 @@ POLYGONS 33 200 3 24 25 24 7 55 7 48 7 55 200 3 22 22 25 0 48 0 48 7 48 200 3 25 22 25 7 48 0 48 7 48 - 200 4 25 22 23 24 7 48 0 48 0 55 7 55 - 200 4 23 22 25 24 0 55 0 48 7 48 7 55 - 200 4 3 0 27 26 199 1 199 18 192 19 192 0 - 200 4 6 7 21 20 199 18 199 1 192 0 192 19 - 200 4 4 3 26 15 199 0 199 12 192 15 192 2 - 200 4 0 1 12 27 199 12 199 0 192 2 192 15 \ No newline at end of file + 200 3 25 22 23 7 48 0 48 0 55 + 200 3 25 23 24 7 48 0 55 7 55 + 200 3 23 22 25 0 55 0 48 7 48 + 200 3 23 25 24 0 55 7 48 7 55 + 200 3 3 0 27 199 1 199 18 192 19 + 200 3 3 27 26 199 1 192 19 192 0 + 200 3 6 7 21 199 18 199 1 192 0 + 200 3 6 21 20 199 18 192 0 192 19 + 200 3 4 3 26 199 0 199 12 192 15 + 200 3 4 26 15 199 0 192 15 192 2 + 200 3 0 1 12 199 12 199 0 192 2 + 200 3 0 12 27 199 12 192 2 192 15 \ No newline at end of file diff --git a/data/base/components/prop/prllhtr1.pie b/data/base/components/prop/prllhtr1.pie index 04c697608..6e7b079a8 100644 --- a/data/base/components/prop/prllhtr1.pie +++ b/data/base/components/prop/prllhtr1.pie @@ -18,17 +18,29 @@ POINTS 14 15 0 -30 29 0 -30 29 17 -30 -POLYGONS 13 - 200 4 3 2 1 0 11 171 1 149 1 167 4 171 - 200 4 2 1 3 4 1 149 1 167 11 171 11 149 - 200 4 8 7 6 5 1 149 11 171 4 171 1 167 +POLYGONS 25 + 200 3 3 2 1 11 171 1 149 1 167 + 200 3 3 1 0 11 171 1 167 4 171 + 200 3 2 1 3 1 149 1 167 11 171 + 200 3 2 3 4 1 149 11 171 11 149 + 200 3 8 7 6 1 149 11 171 4 171 + 200 3 8 6 5 1 149 4 171 1 167 200 3 8 9 7 1 149 11 149 11 171 - 200 4 13 12 11 10 16 73 9 73 9 84 16 84 - 200 4 7 9 4 3 88 99 88 135 94 135 94 99 - 200 4 2 8 5 1 1 135 10 135 10 105 1 105 - 200 4 6 7 3 0 1 177 1 186 9 186 9 177 - 200 4 2 13 10 8 0 189 0 206 11 206 11 189 - 200 4 2 4 12 13 113 157 96 157 96 173 111 173 - 200 4 11 9 8 10 96 174 96 157 113 157 111 174 - 200 4 12 4 9 11 9 83 10 73 0 73 0 83 - 200 4 6 0 1 5 1 98 10 98 10 118 1 118 \ No newline at end of file + 200 3 13 12 11 16 73 9 73 9 84 + 200 3 13 11 10 16 73 9 84 16 84 + 200 3 7 9 4 88 99 88 135 94 135 + 200 3 7 4 3 88 99 94 135 94 99 + 200 3 2 8 5 1 135 10 135 10 105 + 200 3 2 5 1 1 135 10 105 1 105 + 200 3 6 7 3 1 177 1 186 9 186 + 200 3 6 3 0 1 177 9 186 9 177 + 200 3 2 13 10 0 189 0 206 11 206 + 200 3 2 10 8 0 189 11 206 11 189 + 200 3 2 4 12 113 157 96 157 96 173 + 200 3 2 12 13 113 157 96 173 111 173 + 200 3 11 9 8 96 174 96 157 113 157 + 200 3 11 8 10 96 174 113 157 111 174 + 200 3 12 4 9 9 83 10 73 0 73 + 200 3 12 9 11 9 83 0 73 0 83 + 200 3 6 0 1 1 98 10 98 10 118 + 200 3 6 1 5 1 98 10 118 1 118 \ No newline at end of file diff --git a/data/base/components/prop/prlltrk1.pie b/data/base/components/prop/prlltrk1.pie index 9bcecd02a..1424f9c60 100644 --- a/data/base/components/prop/prlltrk1.pie +++ b/data/base/components/prop/prlltrk1.pie @@ -16,15 +16,25 @@ POINTS 12 14 20 -22 36 0 -31 14 0 -31 -POLYGONS 11 - 200 4 3 2 1 0 9 107 2 107 2 127 9 127 - 200 4 3 5 4 2 1 177 1 185 9 185 9 177 - 200 4 9 8 7 6 9 109 2 109 2 125 9 125 - 200 4 1 8 9 0 10 136 10 100 1 100 1 136 - 200 4 10 7 2 4 11 137 4 137 4 172 11 172 - 200 4 7 8 1 2 4 137 1 142 1 166 4 172 - 200 4 0 9 6 5 1 166 1 143 4 138 11 171 - 200 4 9 6 11 5 1 143 4 138 11 138 11 171 +POLYGONS 21 + 200 3 3 2 1 9 107 2 107 2 127 + 200 3 3 1 0 9 107 2 127 9 127 + 200 3 3 5 4 1 177 1 185 9 185 + 200 3 3 4 2 1 177 9 185 9 177 + 200 3 9 8 7 9 109 2 109 2 125 + 200 3 9 7 6 9 109 2 125 9 125 + 200 3 1 8 9 10 136 10 100 1 100 + 200 3 1 9 0 10 136 1 100 1 136 + 200 3 10 7 2 11 137 4 137 4 172 + 200 3 10 2 4 11 137 4 172 11 172 + 200 3 7 8 1 4 137 1 142 1 166 + 200 3 7 1 2 4 137 1 166 4 172 + 200 3 0 9 6 1 166 1 143 4 138 + 200 3 0 6 5 1 166 4 138 11 171 + 200 3 9 6 11 1 143 4 138 11 138 + 200 3 9 11 5 1 143 11 138 11 171 200 3 5 3 0 11 171 4 171 1 166 - 200 4 11 6 7 10 1 185 1 177 9 177 9 185 - 200 4 5 11 10 4 94 135 94 99 89 99 89 135 + 200 3 11 6 7 1 185 1 177 9 177 + 200 3 11 7 10 1 185 9 177 9 185 + 200 3 5 11 10 94 135 94 99 89 99 + 200 3 5 10 4 94 135 89 99 89 135 \ No newline at end of file diff --git a/data/base/components/prop/prllvtl1.pie b/data/base/components/prop/prllvtl1.pie index b7d5c6bd2..a5525327d 100644 --- a/data/base/components/prop/prllvtl1.pie +++ b/data/base/components/prop/prllvtl1.pie @@ -27,19 +27,30 @@ POINTS 23 12 34 28 12 34 20 14 21 24 -POLYGONS 15 +POLYGONS 26 200 3 2 1 0 4 93 5 84 3 84 200 3 3 1 2 5 97 5 84 4 93 - 200 4 7 6 5 4 9 93 17 93 17 88 8 88 - 200 4 9 7 4 8 0 93 9 93 8 88 0 88 + 200 3 7 6 5 9 93 17 93 17 88 + 200 3 7 5 4 9 93 17 88 8 88 + 200 3 9 7 4 0 93 9 93 8 88 + 200 3 9 4 8 0 93 8 88 0 88 200 3 8 4 5 88 182 90 180 88 178 - 200 4 13 12 11 10 104 204 104 189 118 189 118 204 - 200 4 17 16 15 14 104 189 118 189 118 204 104 204 - 200 4 14 15 13 10 104 203 117 203 117 217 104 217 - 200 4 15 16 12 13 104 203 117 203 117 217 104 217 - 200 4 16 17 11 12 104 203 117 203 117 217 104 217 - 200 4 17 14 10 11 104 203 117 203 117 217 104 217 - 200 4 18 19 20 21 8 48 2 48 0 40 3 40 - 200 4 21 20 19 18 3 40 0 40 2 48 8 48 + 200 3 13 12 11 104 204 104 189 118 189 + 200 3 13 11 10 104 204 118 189 118 204 + 200 3 17 16 15 104 189 118 189 118 204 + 200 3 17 15 14 104 189 118 204 104 204 + 200 3 14 15 13 104 203 117 203 117 217 + 200 3 14 13 10 104 203 117 217 104 217 + 200 3 15 16 12 104 203 117 203 117 217 + 200 3 15 12 13 104 203 117 217 104 217 + 200 3 16 17 11 104 203 117 203 117 217 + 200 3 16 11 12 104 203 117 217 104 217 + 200 3 17 14 10 104 203 117 203 117 217 + 200 3 17 10 11 104 203 117 217 104 217 + 200 3 18 19 20 8 48 2 48 0 40 + 200 3 18 20 21 8 48 0 40 3 40 + 200 3 21 20 19 3 40 0 40 2 48 + 200 3 21 19 18 3 40 2 48 8 48 200 3 22 1 3 17 98 1 98 0 85 - 200 4 22 3 2 0 0 98 2 85 9 89 17 98 \ No newline at end of file + 200 3 22 3 2 0 98 2 85 9 89 + 200 3 22 2 0 0 98 9 89 17 98 \ No newline at end of file diff --git a/data/base/components/prop/prllvtl2.pie b/data/base/components/prop/prllvtl2.pie index 0fc128a40..2a847e090 100644 --- a/data/base/components/prop/prllvtl2.pie +++ b/data/base/components/prop/prllvtl2.pie @@ -27,19 +27,30 @@ POINTS 23 37 12 -4 46 12 13 14 24 17 -POLYGONS 15 +POLYGONS 26 200 3 2 1 0 88 182 90 180 88 178 - 200 4 6 5 4 3 104 204 104 189 118 189 118 204 - 200 4 10 9 8 7 104 189 118 189 118 204 104 204 - 200 4 7 8 6 3 104 203 117 203 117 217 104 217 - 200 4 8 9 5 6 104 203 117 203 117 217 104 217 - 200 4 9 10 4 5 104 203 117 203 117 217 104 217 - 200 4 10 7 3 4 104 203 117 203 117 217 104 217 - 200 4 12 11 0 1 9 93 17 93 17 88 8 88 - 200 4 13 12 1 2 0 93 9 93 8 88 0 88 - 200 4 14 15 16 17 8 48 2 48 0 40 3 40 - 200 4 17 16 15 14 3 40 0 40 2 48 8 48 + 200 3 6 5 4 104 204 104 189 118 189 + 200 3 6 4 3 104 204 118 189 118 204 + 200 3 10 9 8 104 189 118 189 118 204 + 200 3 10 8 7 104 189 118 204 104 204 + 200 3 7 8 6 104 203 117 203 117 217 + 200 3 7 6 3 104 203 117 217 104 217 + 200 3 8 9 5 104 203 117 203 117 217 + 200 3 8 5 6 104 203 117 217 104 217 + 200 3 9 10 4 104 203 117 203 117 217 + 200 3 9 4 5 104 203 117 217 104 217 + 200 3 10 7 3 104 203 117 203 117 217 + 200 3 10 3 4 104 203 117 217 104 217 + 200 3 12 11 0 9 93 17 93 17 88 + 200 3 12 0 1 9 93 17 88 8 88 + 200 3 13 12 1 0 93 9 93 8 88 + 200 3 13 1 2 0 93 8 88 0 88 + 200 3 14 15 16 8 48 2 48 0 40 + 200 3 14 16 17 8 48 0 40 3 40 + 200 3 17 16 15 3 40 0 40 2 48 + 200 3 17 15 14 3 40 2 48 8 48 200 3 20 19 18 4 93 5 84 3 84 200 3 21 19 20 5 97 5 84 4 93 200 3 22 19 21 17 98 1 98 0 85 - 200 4 22 21 20 18 0 98 2 85 9 89 17 98 \ No newline at end of file + 200 3 22 21 20 0 98 2 85 9 89 + 200 3 22 20 18 0 98 9 89 17 98 \ No newline at end of file diff --git a/data/base/components/prop/prllvtl3.pie b/data/base/components/prop/prllvtl3.pie index 17daaae6e..d7ab05936 100644 --- a/data/base/components/prop/prllvtl3.pie +++ b/data/base/components/prop/prllvtl3.pie @@ -27,19 +27,30 @@ POINTS 23 37 12 1 46 12 18 14 24 23 -POLYGONS 15 - 200 4 3 2 1 0 104 204 104 189 118 189 118 204 - 200 4 7 6 5 4 104 189 118 189 118 204 104 204 - 200 4 4 5 3 0 104 203 117 203 117 217 104 217 - 200 4 5 6 2 3 104 203 117 203 117 217 104 217 - 200 4 6 7 1 2 104 203 117 203 117 217 104 217 - 200 4 7 4 0 1 104 203 117 203 117 217 104 217 - 200 4 8 9 10 11 8 48 2 48 0 40 3 40 - 200 4 11 10 9 8 3 40 0 40 2 48 8 48 - 200 4 15 14 13 12 9 93 17 93 17 88 8 88 - 200 4 17 15 12 16 0 93 9 93 8 88 0 88 +POLYGONS 26 + 200 3 3 2 1 104 204 104 189 118 189 + 200 3 3 1 0 104 204 118 189 118 204 + 200 3 7 6 5 104 189 118 189 118 204 + 200 3 7 5 4 104 189 118 204 104 204 + 200 3 4 5 3 104 203 117 203 117 217 + 200 3 4 3 0 104 203 117 217 104 217 + 200 3 5 6 2 104 203 117 203 117 217 + 200 3 5 2 3 104 203 117 217 104 217 + 200 3 6 7 1 104 203 117 203 117 217 + 200 3 6 1 2 104 203 117 217 104 217 + 200 3 7 4 0 104 203 117 203 117 217 + 200 3 7 0 1 104 203 117 217 104 217 + 200 3 8 9 10 8 48 2 48 0 40 + 200 3 8 10 11 8 48 0 40 3 40 + 200 3 11 10 9 3 40 0 40 2 48 + 200 3 11 9 8 3 40 2 48 8 48 + 200 3 15 14 13 9 93 17 93 17 88 + 200 3 15 13 12 9 93 17 88 8 88 + 200 3 17 15 12 0 93 9 93 8 88 + 200 3 17 12 16 0 93 8 88 0 88 200 3 16 12 13 88 182 90 180 88 178 200 3 20 19 18 4 93 5 84 3 84 200 3 21 19 20 5 97 5 84 4 93 200 3 22 19 21 17 98 1 98 0 85 - 200 4 22 21 20 18 0 98 2 85 9 89 17 98 \ No newline at end of file + 200 3 22 21 20 0 98 2 85 9 89 + 200 3 22 20 18 0 98 9 89 17 98 \ No newline at end of file diff --git a/data/base/components/prop/prllwhl1.pie b/data/base/components/prop/prllwhl1.pie index 1a01363a7..bcf7c7239 100644 --- a/data/base/components/prop/prllwhl1.pie +++ b/data/base/components/prop/prllwhl1.pie @@ -66,60 +66,120 @@ POINTS 62 12 6 18 13 10 -26 13 10 26 -POLYGONS 56 - 200 4 12 9 2 11 27 52 27 53 21 53 21 52 - 200 4 13 3 9 12 27 52 27 53 21 53 21 52 - 200 4 14 0 3 13 27 52 27 53 21 53 21 52 - 200 4 15 4 0 14 27 52 27 53 21 53 21 52 - 200 4 16 10 4 15 27 52 27 53 21 53 21 52 - 200 4 17 5 10 16 27 52 27 53 21 53 21 52 - 200 4 11 2 7 18 27 52 27 53 21 53 21 52 - 200 4 19 8 5 17 27 52 27 53 21 53 21 52 - 200 4 18 7 1 20 27 52 27 53 21 53 21 52 - 200 4 21 6 8 19 27 52 27 53 21 53 21 52 - 200 4 12 11 18 19 150 161 152 160 154 159 154 174 - 200 4 14 13 12 19 147 167 148 164 150 161 154 174 - 200 5 15 14 19 17 16 148 170 147 167 154 174 152 173 150 172 - 200 4 2 9 3 10 152 160 150 161 148 164 150 172 - 200 4 3 0 4 10 148 164 147 167 148 170 150 172 - 200 4 26 24 25 27 12 199 12 204 1 204 1 199 - 200 4 27 25 24 26 1 199 1 204 12 204 12 199 - 200 4 23 27 25 28 12 187 12 199 12 204 1 195 - 200 4 28 25 27 23 1 195 12 204 12 199 12 187 - 200 4 24 26 22 29 12 204 12 199 12 187 1 195 - 200 4 29 22 26 24 1 195 12 187 12 199 12 204 - 200 4 42 41 32 39 27 52 21 52 21 53 27 53 - 200 4 43 42 39 33 27 52 21 52 21 53 27 53 - 200 4 44 43 33 30 27 52 21 52 21 53 27 53 - 200 4 45 44 30 34 27 52 21 52 21 53 27 53 - 200 4 46 45 34 40 27 52 21 52 21 53 27 53 - 200 4 47 46 40 35 27 52 21 52 21 53 27 53 - 200 4 41 48 37 32 27 52 21 52 21 53 27 53 - 200 4 49 47 35 38 27 52 21 52 21 53 27 53 - 200 4 48 50 31 37 27 52 21 52 21 53 27 53 - 200 4 51 49 38 36 27 52 21 52 21 53 27 53 - 200 4 42 49 48 41 150 161 154 174 154 159 152 160 - 200 4 44 49 42 43 147 167 154 174 150 161 148 164 - 200 5 45 46 47 49 44 148 170 150 172 152 173 154 174 147 167 - 200 4 32 40 33 39 152 160 150 172 148 164 150 161 - 200 4 33 40 34 30 148 164 150 172 148 170 147 167 - 200 4 55 54 56 57 1 204 12 204 12 199 1 199 - 200 4 57 56 54 55 1 199 12 199 12 204 1 204 - 200 4 55 57 53 58 12 204 12 199 12 187 1 195 - 200 4 58 53 57 55 1 195 12 187 12 199 12 204 - 200 4 52 56 54 59 1 187 1 200 1 204 12 196 - 200 4 59 54 56 52 12 196 1 204 1 200 1 187 - 200 4 58 53 23 28 1 224 12 224 12 187 1 187 - 200 4 28 23 53 58 1 187 12 187 12 224 1 224 - 200 4 53 52 22 23 12 224 1 224 1 187 12 187 - 200 4 23 22 52 53 12 187 1 187 1 224 12 224 - 200 4 29 22 52 59 12 187 1 187 1 224 12 224 - 200 4 59 52 22 29 12 224 1 224 1 187 12 187 - 200 4 51 50 48 49 156 173 156 160 154 159 154 174 - 200 4 20 21 19 18 156 160 156 173 154 174 154 159 - 200 5 5 60 7 2 10 152 173 154 160 154 159 152 160 150 172 - 200 5 61 35 40 32 37 154 160 152 173 150 172 152 160 154 159 - 200 4 23 22 26 27 1 187 12 187 12 199 1 199 - 200 4 27 26 22 23 1 199 12 199 12 187 1 187 - 200 4 57 56 52 53 12 199 1 199 1 187 12 187 - 200 4 53 52 56 57 12 187 1 187 1 199 12 199 \ No newline at end of file +POLYGONS 116 + 200 3 12 9 2 27 52 27 53 21 53 + 200 3 12 2 11 27 52 21 53 21 52 + 200 3 13 3 9 27 52 27 53 21 53 + 200 3 13 9 12 27 52 21 53 21 52 + 200 3 14 0 3 27 52 27 53 21 53 + 200 3 14 3 13 27 52 21 53 21 52 + 200 3 15 4 0 27 52 27 53 21 53 + 200 3 15 0 14 27 52 21 53 21 52 + 200 3 16 10 4 27 52 27 53 21 53 + 200 3 16 4 15 27 52 21 53 21 52 + 200 3 17 5 10 27 52 27 53 21 53 + 200 3 17 10 16 27 52 21 53 21 52 + 200 3 11 2 7 27 52 27 53 21 53 + 200 3 11 7 18 27 52 21 53 21 52 + 200 3 19 8 5 27 52 27 53 21 53 + 200 3 19 5 17 27 52 21 53 21 52 + 200 3 18 7 1 27 52 27 53 21 53 + 200 3 18 1 20 27 52 21 53 21 52 + 200 3 21 6 8 27 52 27 53 21 53 + 200 3 21 8 19 27 52 21 53 21 52 + 200 3 12 11 18 150 161 152 160 154 159 + 200 3 12 18 19 150 161 154 159 154 174 + 200 3 14 13 12 147 167 148 164 150 161 + 200 3 14 12 19 147 167 150 161 154 174 + 200 3 15 14 19 148 170 147 167 154 174 + 200 3 15 19 17 148 170 154 174 152 173 + 200 3 15 17 16 148 170 152 173 150 172 + 200 3 2 9 3 152 160 150 161 148 164 + 200 3 2 3 10 152 160 148 164 150 172 + 200 3 3 0 4 148 164 147 167 148 170 + 200 3 3 4 10 148 164 148 170 150 172 + 200 3 26 24 25 12 199 12 204 1 204 + 200 3 26 25 27 12 199 1 204 1 199 + 200 3 27 25 24 1 199 1 204 12 204 + 200 3 27 24 26 1 199 12 204 12 199 + 200 3 23 27 25 12 187 12 199 12 204 + 200 3 23 25 28 12 187 12 204 1 195 + 200 3 28 25 27 1 195 12 204 12 199 + 200 3 28 27 23 1 195 12 199 12 187 + 200 3 24 26 22 12 204 12 199 12 187 + 200 3 24 22 29 12 204 12 187 1 195 + 200 3 29 22 26 1 195 12 187 12 199 + 200 3 29 26 24 1 195 12 199 12 204 + 200 3 42 41 32 27 52 21 52 21 53 + 200 3 42 32 39 27 52 21 53 27 53 + 200 3 43 42 39 27 52 21 52 21 53 + 200 3 43 39 33 27 52 21 53 27 53 + 200 3 44 43 33 27 52 21 52 21 53 + 200 3 44 33 30 27 52 21 53 27 53 + 200 3 45 44 30 27 52 21 52 21 53 + 200 3 45 30 34 27 52 21 53 27 53 + 200 3 46 45 34 27 52 21 52 21 53 + 200 3 46 34 40 27 52 21 53 27 53 + 200 3 47 46 40 27 52 21 52 21 53 + 200 3 47 40 35 27 52 21 53 27 53 + 200 3 41 48 37 27 52 21 52 21 53 + 200 3 41 37 32 27 52 21 53 27 53 + 200 3 49 47 35 27 52 21 52 21 53 + 200 3 49 35 38 27 52 21 53 27 53 + 200 3 48 50 31 27 52 21 52 21 53 + 200 3 48 31 37 27 52 21 53 27 53 + 200 3 51 49 38 27 52 21 52 21 53 + 200 3 51 38 36 27 52 21 53 27 53 + 200 3 42 49 48 150 161 154 174 154 159 + 200 3 42 48 41 150 161 154 159 152 160 + 200 3 44 49 42 147 167 154 174 150 161 + 200 3 44 42 43 147 167 150 161 148 164 + 200 3 45 46 47 148 170 150 172 152 173 + 200 3 45 47 49 148 170 152 173 154 174 + 200 3 45 49 44 148 170 154 174 147 167 + 200 3 32 40 33 152 160 150 172 148 164 + 200 3 32 33 39 152 160 148 164 150 161 + 200 3 33 40 34 148 164 150 172 148 170 + 200 3 33 34 30 148 164 148 170 147 167 + 200 3 55 54 56 1 204 12 204 12 199 + 200 3 55 56 57 1 204 12 199 1 199 + 200 3 57 56 54 1 199 12 199 12 204 + 200 3 57 54 55 1 199 12 204 1 204 + 200 3 55 57 53 12 204 12 199 12 187 + 200 3 55 53 58 12 204 12 187 1 195 + 200 3 58 53 57 1 195 12 187 12 199 + 200 3 58 57 55 1 195 12 199 12 204 + 200 3 52 56 54 1 187 1 200 1 204 + 200 3 52 54 59 1 187 1 204 12 196 + 200 3 59 54 56 12 196 1 204 1 200 + 200 3 59 56 52 12 196 1 200 1 187 + 200 3 58 53 23 1 224 12 224 12 187 + 200 3 58 23 28 1 224 12 187 1 187 + 200 3 28 23 53 1 187 12 187 12 224 + 200 3 28 53 58 1 187 12 224 1 224 + 200 3 53 52 22 12 224 1 224 1 187 + 200 3 53 22 23 12 224 1 187 12 187 + 200 3 23 22 52 12 187 1 187 1 224 + 200 3 23 52 53 12 187 1 224 12 224 + 200 3 29 22 52 12 187 1 187 1 224 + 200 3 29 52 59 12 187 1 224 12 224 + 200 3 59 52 22 12 224 1 224 1 187 + 200 3 59 22 29 12 224 1 187 12 187 + 200 3 51 50 48 156 173 156 160 154 159 + 200 3 51 48 49 156 173 154 159 154 174 + 200 3 20 21 19 156 160 156 173 154 174 + 200 3 20 19 18 156 160 154 174 154 159 + 200 3 5 60 7 152 173 154 160 154 159 + 200 3 5 7 2 152 173 154 159 152 160 + 200 3 5 2 10 152 173 152 160 150 172 + 200 3 61 35 40 154 160 152 173 150 172 + 200 3 61 40 32 154 160 150 172 152 160 + 200 3 61 32 37 154 160 152 160 154 159 + 200 3 23 22 26 1 187 12 187 12 199 + 200 3 23 26 27 1 187 12 199 1 199 + 200 3 27 26 22 1 199 12 199 12 187 + 200 3 27 22 23 1 199 12 187 1 187 + 200 3 57 56 52 12 199 1 199 1 187 + 200 3 57 52 53 12 199 1 187 12 187 + 200 3 53 52 56 12 187 1 187 1 199 + 200 3 53 56 57 12 187 1 199 12 199 \ No newline at end of file diff --git a/data/base/components/prop/prlrhtr1.pie b/data/base/components/prop/prlrhtr1.pie index d8205b745..3aa8cb7b1 100644 --- a/data/base/components/prop/prlrhtr1.pie +++ b/data/base/components/prop/prlrhtr1.pie @@ -18,17 +18,29 @@ POINTS 14 -14 17 -30 -28 17 -30 -28 0 -30 -POLYGONS 13 - 200 4 3 2 1 0 1 149 11 171 4 171 1 167 - 200 4 0 3 4 2 1 167 1 149 11 149 11 171 - 200 4 8 7 6 5 1 149 1 167 4 171 11 171 +POLYGONS 25 + 200 3 3 2 1 1 149 11 171 4 171 + 200 3 3 1 0 1 149 4 171 1 167 + 200 3 0 3 4 1 167 1 149 11 149 + 200 3 0 4 2 1 167 11 149 11 171 + 200 3 8 7 6 1 149 1 167 4 171 + 200 3 8 6 5 1 149 4 171 11 171 200 3 8 5 9 1 149 11 171 11 149 - 200 4 13 12 11 10 9 73 16 73 16 84 9 84 - 200 4 9 5 2 4 88 135 88 99 94 99 94 135 - 200 4 3 0 7 8 1 135 1 105 10 105 10 135 - 200 4 5 6 1 2 1 186 1 177 9 177 9 186 - 200 4 12 3 8 11 0 206 0 189 11 189 11 206 - 200 4 4 3 12 13 96 157 113 157 111 173 96 173 - 200 4 9 10 11 8 96 157 96 174 111 174 113 157 - 200 4 4 13 10 9 10 73 9 83 0 83 0 73 - 200 4 1 6 7 0 10 98 1 98 1 118 10 118 \ No newline at end of file + 200 3 13 12 11 9 73 16 73 16 84 + 200 3 13 11 10 9 73 16 84 9 84 + 200 3 9 5 2 88 135 88 99 94 99 + 200 3 9 2 4 88 135 94 99 94 135 + 200 3 3 0 7 1 135 1 105 10 105 + 200 3 3 7 8 1 135 10 105 10 135 + 200 3 5 6 1 1 186 1 177 9 177 + 200 3 5 1 2 1 186 9 177 9 186 + 200 3 12 3 8 0 206 0 189 11 189 + 200 3 12 8 11 0 206 11 189 11 206 + 200 3 4 3 12 96 157 113 157 111 173 + 200 3 4 12 13 96 157 111 173 96 173 + 200 3 9 10 11 96 157 96 174 111 174 + 200 3 9 11 8 96 157 111 174 113 157 + 200 3 4 13 10 10 73 9 83 0 83 + 200 3 4 10 9 10 73 0 83 0 73 + 200 3 1 6 7 10 98 1 98 1 118 + 200 3 1 7 0 10 98 1 118 10 118 \ No newline at end of file diff --git a/data/base/components/prop/prlrtrk1.pie b/data/base/components/prop/prlrtrk1.pie index 4ecd2952e..527bbd3e6 100644 --- a/data/base/components/prop/prlrtrk1.pie +++ b/data/base/components/prop/prlrtrk1.pie @@ -16,15 +16,25 @@ POINTS 12 -35 20 -22 -14 0 -31 -35 0 -31 -POLYGONS 11 - 200 4 3 2 1 0 9 107 2 107 2 127 9 127 - 200 4 3 5 4 2 1 178 1 186 9 186 9 178 - 200 4 9 8 7 6 9 109 2 109 2 125 9 125 - 200 4 1 8 9 0 10 135 10 99 1 99 1 135 - 200 4 10 7 2 4 11 137 4 137 4 171 11 171 - 200 4 7 8 1 2 4 137 1 142 1 165 4 171 - 200 4 0 9 6 5 1 165 1 142 4 138 11 170 - 200 4 9 6 11 5 1 142 4 138 11 138 11 170 +POLYGONS 21 + 200 3 3 2 1 9 107 2 107 2 127 + 200 3 3 1 0 9 107 2 127 9 127 + 200 3 3 5 4 1 178 1 186 9 186 + 200 3 3 4 2 1 178 9 186 9 178 + 200 3 9 8 7 9 109 2 109 2 125 + 200 3 9 7 6 9 109 2 125 9 125 + 200 3 1 8 9 10 135 10 99 1 99 + 200 3 1 9 0 10 135 1 99 1 135 + 200 3 10 7 2 11 137 4 137 4 171 + 200 3 10 2 4 11 137 4 171 11 171 + 200 3 7 8 1 4 137 1 142 1 165 + 200 3 7 1 2 4 137 1 165 4 171 + 200 3 0 9 6 1 165 1 142 4 138 + 200 3 0 6 5 1 165 4 138 11 170 + 200 3 9 6 11 1 142 4 138 11 138 + 200 3 9 11 5 1 142 11 138 11 170 200 3 5 3 0 11 170 4 170 1 165 - 200 4 11 6 7 10 1 186 1 177 9 177 9 186 - 200 4 5 11 10 4 94 136 94 98 88 98 88 136 + 200 3 11 6 7 1 186 1 177 9 177 + 200 3 11 7 10 1 186 9 177 9 186 + 200 3 5 11 10 94 136 94 98 88 98 + 200 3 5 10 4 94 136 88 98 88 136 \ No newline at end of file diff --git a/data/base/components/prop/prlrvtl1.pie b/data/base/components/prop/prlrvtl1.pie index c0c8cae18..b269f347a 100644 --- a/data/base/components/prop/prlrvtl1.pie +++ b/data/base/components/prop/prlrvtl1.pie @@ -27,19 +27,30 @@ POINTS 23 -14 21 24 -37 8 2 -14 12 -17 -POLYGONS 15 - 200 4 0 1 2 3 8 48 2 48 0 40 3 40 - 200 4 3 2 1 0 3 40 0 40 2 48 8 48 - 200 4 7 6 5 4 104 175 104 189 117 189 117 175 - 200 4 11 10 9 8 118 189 104 189 104 204 118 204 - 200 4 8 9 5 6 117 203 104 203 104 217 117 217 - 200 4 11 8 6 7 117 203 104 203 104 217 117 217 - 200 4 10 11 7 4 117 203 104 203 104 217 117 217 - 200 4 9 10 4 5 117 203 104 203 104 217 117 217 - 200 4 15 14 13 12 17 93 9 93 8 88 17 88 - 200 4 14 17 16 13 9 93 0 93 0 88 8 88 +POLYGONS 26 + 200 3 0 1 2 8 48 2 48 0 40 + 200 3 0 2 3 8 48 0 40 3 40 + 200 3 3 2 1 3 40 0 40 2 48 + 200 3 3 1 0 3 40 2 48 8 48 + 200 3 7 6 5 104 175 104 189 117 189 + 200 3 7 5 4 104 175 117 189 117 175 + 200 3 11 10 9 118 189 104 189 104 204 + 200 3 11 9 8 118 189 104 204 118 204 + 200 3 8 9 5 117 203 104 203 104 217 + 200 3 8 5 6 117 203 104 217 117 217 + 200 3 11 8 6 117 203 104 203 104 217 + 200 3 11 6 7 117 203 104 217 117 217 + 200 3 10 11 7 117 203 104 203 104 217 + 200 3 10 7 4 117 203 104 217 117 217 + 200 3 9 10 4 117 203 104 203 104 217 + 200 3 9 4 5 117 203 104 217 117 217 + 200 3 15 14 13 17 93 9 93 8 88 + 200 3 15 13 12 17 93 8 88 17 88 + 200 3 14 17 16 9 93 0 93 0 88 + 200 3 14 16 13 9 93 0 88 8 88 200 3 13 16 12 86 180 88 182 88 178 200 3 20 19 18 17 98 1 98 0 85 - 200 4 19 20 22 21 2 85 0 98 17 98 9 89 + 200 3 19 20 22 2 85 0 98 17 98 + 200 3 19 22 21 2 85 17 98 9 89 200 3 21 22 18 4 93 5 84 3 84 - 200 3 19 21 18 5 97 5 84 4 93 + 200 3 19 21 18 5 97 5 84 4 93 \ No newline at end of file diff --git a/data/base/components/prop/prlrvtl2.pie b/data/base/components/prop/prlrvtl2.pie index 0271c3f52..4f70634d5 100644 --- a/data/base/components/prop/prlrvtl2.pie +++ b/data/base/components/prop/prlrvtl2.pie @@ -27,19 +27,30 @@ POINTS 23 -7 27 31 -12 38 35 -12 38 26 -POLYGONS 15 +POLYGONS 26 200 3 2 1 0 17 98 1 98 0 85 - 200 4 1 2 4 3 2 85 0 98 17 98 9 89 + 200 3 1 2 4 2 85 0 98 17 98 + 200 3 1 4 3 2 85 17 98 9 89 200 3 3 4 0 4 93 5 84 3 84 200 3 1 3 0 5 97 5 84 4 93 200 3 7 6 5 86 180 88 182 88 178 - 200 4 9 8 7 5 17 93 9 93 8 88 17 88 - 200 4 8 10 6 7 9 93 0 93 0 88 8 88 - 200 4 14 13 12 11 104 175 104 189 117 189 117 175 - 200 4 18 17 16 15 118 189 104 189 104 204 118 204 - 200 4 15 16 12 13 117 203 104 203 104 217 117 217 - 200 4 18 15 13 14 117 203 104 203 104 217 117 217 - 200 4 17 18 14 11 117 203 104 203 104 217 117 217 - 200 4 16 17 11 12 117 203 104 203 104 217 117 217 - 200 4 19 20 21 22 8 48 2 48 0 40 3 40 - 200 4 22 21 20 19 3 40 0 40 2 48 8 48 \ No newline at end of file + 200 3 9 8 7 17 93 9 93 8 88 + 200 3 9 7 5 17 93 8 88 17 88 + 200 3 8 10 6 9 93 0 93 0 88 + 200 3 8 6 7 9 93 0 88 8 88 + 200 3 14 13 12 104 175 104 189 117 189 + 200 3 14 12 11 104 175 117 189 117 175 + 200 3 18 17 16 118 189 104 189 104 204 + 200 3 18 16 15 118 189 104 204 118 204 + 200 3 15 16 12 117 203 104 203 104 217 + 200 3 15 12 13 117 203 104 217 117 217 + 200 3 18 15 13 117 203 104 203 104 217 + 200 3 18 13 14 117 203 104 217 117 217 + 200 3 17 18 14 117 203 104 203 104 217 + 200 3 17 14 11 117 203 104 217 117 217 + 200 3 16 17 11 117 203 104 203 104 217 + 200 3 16 11 12 117 203 104 217 117 217 + 200 3 19 20 21 8 48 2 48 0 40 + 200 3 19 21 22 8 48 0 40 3 40 + 200 3 22 21 20 3 40 0 40 2 48 + 200 3 22 20 19 3 40 2 48 8 48 \ No newline at end of file diff --git a/data/base/components/prop/prlrvtl3.pie b/data/base/components/prop/prlrvtl3.pie index 00243119c..e565f8f22 100644 --- a/data/base/components/prop/prlrvtl3.pie +++ b/data/base/components/prop/prlrvtl3.pie @@ -27,19 +27,30 @@ POINTS 23 -14 24 23 -37 12 1 -14 15 -18 -POLYGONS 15 - 200 4 0 1 2 3 8 48 2 48 0 40 3 40 - 200 4 3 2 1 0 3 40 0 40 2 48 8 48 - 200 4 7 6 5 4 104 175 104 189 117 189 117 175 - 200 4 11 10 9 8 118 189 104 189 104 204 118 204 - 200 4 8 9 5 6 117 203 104 203 104 217 117 217 - 200 4 11 8 6 7 117 203 104 203 104 217 117 217 - 200 4 10 11 7 4 117 203 104 203 104 217 117 217 - 200 4 9 10 4 5 117 203 104 203 104 217 117 217 - 200 4 15 14 13 12 17 93 9 93 8 88 17 88 - 200 4 14 17 16 13 9 93 0 93 0 88 8 88 +POLYGONS 26 + 200 3 0 1 2 8 48 2 48 0 40 + 200 3 0 2 3 8 48 0 40 3 40 + 200 3 3 2 1 3 40 0 40 2 48 + 200 3 3 1 0 3 40 2 48 8 48 + 200 3 7 6 5 104 175 104 189 117 189 + 200 3 7 5 4 104 175 117 189 117 175 + 200 3 11 10 9 118 189 104 189 104 204 + 200 3 11 9 8 118 189 104 204 118 204 + 200 3 8 9 5 117 203 104 203 104 217 + 200 3 8 5 6 117 203 104 217 117 217 + 200 3 11 8 6 117 203 104 203 104 217 + 200 3 11 6 7 117 203 104 217 117 217 + 200 3 10 11 7 117 203 104 203 104 217 + 200 3 10 7 4 117 203 104 217 117 217 + 200 3 9 10 4 117 203 104 203 104 217 + 200 3 9 4 5 117 203 104 217 117 217 + 200 3 15 14 13 17 93 9 93 8 88 + 200 3 15 13 12 17 93 8 88 17 88 + 200 3 14 17 16 9 93 0 93 0 88 + 200 3 14 16 13 9 93 0 88 8 88 200 3 13 16 12 86 180 88 182 88 178 200 3 20 19 18 17 98 1 98 0 85 - 200 4 19 20 22 21 2 85 0 98 17 98 9 89 + 200 3 19 20 22 2 85 0 98 17 98 + 200 3 19 22 21 2 85 17 98 9 89 200 3 21 22 18 4 93 5 84 3 84 - 200 3 19 21 18 5 97 5 84 4 93 + 200 3 19 21 18 5 97 5 84 4 93 \ No newline at end of file diff --git a/data/base/components/prop/prlrwhl1.pie b/data/base/components/prop/prlrwhl1.pie index 7097f3d6f..591481026 100644 --- a/data/base/components/prop/prlrwhl1.pie +++ b/data/base/components/prop/prlrwhl1.pie @@ -66,60 +66,120 @@ POINTS 62 -12 6 18 -13 10 -26 -13 10 26 -POLYGONS 56 - 200 4 12 11 2 9 27 52 21 52 21 53 27 53 - 200 4 13 12 9 3 27 52 21 52 21 53 27 53 - 200 4 14 13 3 0 27 52 21 52 21 53 27 53 - 200 4 15 14 0 4 27 52 21 52 21 53 27 53 - 200 4 16 15 4 10 27 52 21 52 21 53 27 53 - 200 4 17 16 10 5 27 52 21 52 21 53 27 53 - 200 4 11 18 7 2 27 52 21 52 21 53 27 53 - 200 4 19 17 5 8 27 52 21 52 21 53 27 53 - 200 4 18 20 1 7 27 52 21 52 21 53 27 53 - 200 4 21 19 8 6 27 52 21 52 21 53 27 53 - 200 4 12 19 18 11 150 161 154 174 154 159 152 160 - 200 4 14 19 12 13 147 167 154 174 150 161 148 164 - 200 5 15 16 17 19 14 148 170 150 172 152 173 154 174 147 167 - 200 4 2 10 3 9 152 160 150 172 148 164 150 161 - 200 4 3 10 4 0 148 164 150 172 148 170 147 167 - 200 4 25 24 26 27 1 204 12 204 12 199 1 199 - 200 4 27 26 24 25 1 199 12 199 12 204 1 204 - 200 4 25 27 23 28 12 204 12 199 12 187 1 195 - 200 4 28 23 27 25 1 195 12 187 12 199 12 204 - 200 4 22 26 24 29 12 187 12 199 12 204 1 195 - 200 4 29 24 26 22 1 195 12 204 12 199 12 187 - 200 4 42 39 32 41 27 52 27 53 21 53 21 52 - 200 4 43 33 39 42 27 52 27 53 21 53 21 52 - 200 4 44 30 33 43 27 52 27 53 21 53 21 52 - 200 4 45 34 30 44 27 52 27 53 21 53 21 52 - 200 4 46 40 34 45 27 52 27 53 21 53 21 52 - 200 4 47 35 40 46 27 52 27 53 21 53 21 52 - 200 4 41 32 37 48 27 52 27 53 21 53 21 52 - 200 4 49 38 35 47 27 52 27 53 21 53 21 52 - 200 4 48 37 31 50 27 52 27 53 21 53 21 52 - 200 4 51 36 38 49 27 52 27 53 21 53 21 52 - 200 4 42 41 48 49 150 161 152 160 154 159 154 174 - 200 4 44 43 42 49 147 167 148 164 150 161 154 174 - 200 5 45 44 49 47 46 148 170 147 167 154 174 152 173 150 172 - 200 4 32 39 33 40 152 160 150 161 148 164 150 172 - 200 4 33 30 34 40 148 164 147 167 148 170 150 172 - 200 4 56 54 55 57 12 199 12 204 1 204 1 199 - 200 4 57 55 54 56 1 199 1 204 12 204 12 199 - 200 4 53 57 55 58 12 187 12 199 12 204 1 195 - 200 4 58 55 57 53 1 195 12 204 12 199 12 187 - 200 4 54 56 52 59 1 204 1 200 1 187 12 196 - 200 4 59 52 56 54 12 196 1 187 1 200 1 204 - 200 4 23 53 58 28 12 187 12 224 1 224 1 187 - 200 4 28 58 53 23 1 187 1 224 12 224 12 187 - 200 4 22 52 53 23 1 187 1 224 12 224 12 187 - 200 4 23 53 52 22 12 187 12 224 1 224 1 187 - 200 4 52 22 29 59 1 224 1 187 12 187 12 224 - 200 4 59 29 22 52 12 224 12 187 1 187 1 224 - 200 4 51 49 48 50 156 173 154 174 154 159 156 160 - 200 4 20 18 19 21 156 160 154 159 154 174 156 173 - 200 5 5 10 2 7 60 152 173 150 172 152 160 154 159 154 160 - 200 5 61 37 32 40 35 154 160 154 159 152 160 150 172 152 173 - 200 4 26 22 23 27 12 199 12 187 1 187 1 199 - 200 4 27 23 22 26 1 199 1 187 12 187 12 199 - 200 4 52 56 57 53 1 187 1 199 12 199 12 187 - 200 4 53 57 56 52 12 187 12 199 1 199 1 187 \ No newline at end of file +POLYGONS 116 + 200 3 12 11 2 27 52 21 52 21 53 + 200 3 12 2 9 27 52 21 53 27 53 + 200 3 13 12 9 27 52 21 52 21 53 + 200 3 13 9 3 27 52 21 53 27 53 + 200 3 14 13 3 27 52 21 52 21 53 + 200 3 14 3 0 27 52 21 53 27 53 + 200 3 15 14 0 27 52 21 52 21 53 + 200 3 15 0 4 27 52 21 53 27 53 + 200 3 16 15 4 27 52 21 52 21 53 + 200 3 16 4 10 27 52 21 53 27 53 + 200 3 17 16 10 27 52 21 52 21 53 + 200 3 17 10 5 27 52 21 53 27 53 + 200 3 11 18 7 27 52 21 52 21 53 + 200 3 11 7 2 27 52 21 53 27 53 + 200 3 19 17 5 27 52 21 52 21 53 + 200 3 19 5 8 27 52 21 53 27 53 + 200 3 18 20 1 27 52 21 52 21 53 + 200 3 18 1 7 27 52 21 53 27 53 + 200 3 21 19 8 27 52 21 52 21 53 + 200 3 21 8 6 27 52 21 53 27 53 + 200 3 12 19 18 150 161 154 174 154 159 + 200 3 12 18 11 150 161 154 159 152 160 + 200 3 14 19 12 147 167 154 174 150 161 + 200 3 14 12 13 147 167 150 161 148 164 + 200 3 15 16 17 148 170 150 172 152 173 + 200 3 15 17 19 148 170 152 173 154 174 + 200 3 15 19 14 148 170 154 174 147 167 + 200 3 2 10 3 152 160 150 172 148 164 + 200 3 2 3 9 152 160 148 164 150 161 + 200 3 3 10 4 148 164 150 172 148 170 + 200 3 3 4 0 148 164 148 170 147 167 + 200 3 25 24 26 1 204 12 204 12 199 + 200 3 25 26 27 1 204 12 199 1 199 + 200 3 27 26 24 1 199 12 199 12 204 + 200 3 27 24 25 1 199 12 204 1 204 + 200 3 25 27 23 12 204 12 199 12 187 + 200 3 25 23 28 12 204 12 187 1 195 + 200 3 28 23 27 1 195 12 187 12 199 + 200 3 28 27 25 1 195 12 199 12 204 + 200 3 22 26 24 12 187 12 199 12 204 + 200 3 22 24 29 12 187 12 204 1 195 + 200 3 29 24 26 1 195 12 204 12 199 + 200 3 29 26 22 1 195 12 199 12 187 + 200 3 42 39 32 27 52 27 53 21 53 + 200 3 42 32 41 27 52 21 53 21 52 + 200 3 43 33 39 27 52 27 53 21 53 + 200 3 43 39 42 27 52 21 53 21 52 + 200 3 44 30 33 27 52 27 53 21 53 + 200 3 44 33 43 27 52 21 53 21 52 + 200 3 45 34 30 27 52 27 53 21 53 + 200 3 45 30 44 27 52 21 53 21 52 + 200 3 46 40 34 27 52 27 53 21 53 + 200 3 46 34 45 27 52 21 53 21 52 + 200 3 47 35 40 27 52 27 53 21 53 + 200 3 47 40 46 27 52 21 53 21 52 + 200 3 41 32 37 27 52 27 53 21 53 + 200 3 41 37 48 27 52 21 53 21 52 + 200 3 49 38 35 27 52 27 53 21 53 + 200 3 49 35 47 27 52 21 53 21 52 + 200 3 48 37 31 27 52 27 53 21 53 + 200 3 48 31 50 27 52 21 53 21 52 + 200 3 51 36 38 27 52 27 53 21 53 + 200 3 51 38 49 27 52 21 53 21 52 + 200 3 42 41 48 150 161 152 160 154 159 + 200 3 42 48 49 150 161 154 159 154 174 + 200 3 44 43 42 147 167 148 164 150 161 + 200 3 44 42 49 147 167 150 161 154 174 + 200 3 45 44 49 148 170 147 167 154 174 + 200 3 45 49 47 148 170 154 174 152 173 + 200 3 45 47 46 148 170 152 173 150 172 + 200 3 32 39 33 152 160 150 161 148 164 + 200 3 32 33 40 152 160 148 164 150 172 + 200 3 33 30 34 148 164 147 167 148 170 + 200 3 33 34 40 148 164 148 170 150 172 + 200 3 56 54 55 12 199 12 204 1 204 + 200 3 56 55 57 12 199 1 204 1 199 + 200 3 57 55 54 1 199 1 204 12 204 + 200 3 57 54 56 1 199 12 204 12 199 + 200 3 53 57 55 12 187 12 199 12 204 + 200 3 53 55 58 12 187 12 204 1 195 + 200 3 58 55 57 1 195 12 204 12 199 + 200 3 58 57 53 1 195 12 199 12 187 + 200 3 54 56 52 1 204 1 200 1 187 + 200 3 54 52 59 1 204 1 187 12 196 + 200 3 59 52 56 12 196 1 187 1 200 + 200 3 59 56 54 12 196 1 200 1 204 + 200 3 23 53 58 12 187 12 224 1 224 + 200 3 23 58 28 12 187 1 224 1 187 + 200 3 28 58 53 1 187 1 224 12 224 + 200 3 28 53 23 1 187 12 224 12 187 + 200 3 22 52 53 1 187 1 224 12 224 + 200 3 22 53 23 1 187 12 224 12 187 + 200 3 23 53 52 12 187 12 224 1 224 + 200 3 23 52 22 12 187 1 224 1 187 + 200 3 52 22 29 1 224 1 187 12 187 + 200 3 52 29 59 1 224 12 187 12 224 + 200 3 59 29 22 12 224 12 187 1 187 + 200 3 59 22 52 12 224 1 187 1 224 + 200 3 51 49 48 156 173 154 174 154 159 + 200 3 51 48 50 156 173 154 159 156 160 + 200 3 20 18 19 156 160 154 159 154 174 + 200 3 20 19 21 156 160 154 174 156 173 + 200 3 5 10 2 152 173 150 172 152 160 + 200 3 5 2 7 152 173 152 160 154 159 + 200 3 5 7 60 152 173 154 159 154 160 + 200 3 61 37 32 154 160 154 159 152 160 + 200 3 61 32 40 154 160 152 160 150 172 + 200 3 61 40 35 154 160 150 172 152 173 + 200 3 26 22 23 12 199 12 187 1 187 + 200 3 26 23 27 12 199 1 187 1 199 + 200 3 27 23 22 1 199 1 187 12 187 + 200 3 27 22 26 1 199 12 187 12 199 + 200 3 52 56 57 1 187 1 199 12 199 + 200 3 52 57 53 1 187 12 199 12 187 + 200 3 53 57 56 12 187 12 199 1 199 + 200 3 53 56 52 12 187 1 199 1 187 \ No newline at end of file diff --git a/data/base/components/prop/prmhov1.pie b/data/base/components/prop/prmhov1.pie index 2ec24eddf..7d3b8f880 100644 --- a/data/base/components/prop/prmhov1.pie +++ b/data/base/components/prop/prmhov1.pie @@ -46,38 +46,68 @@ POINTS 42 0 13 49 0 24 60 0 24 41 -POLYGONS 34 - 200 4 0 1 1 0 0 48 0 55 0 55 0 48 - 200 4 1 2 2 1 0 55 7 55 7 55 0 55 - 200 4 2 3 3 2 7 55 7 48 7 48 7 55 - 200 4 3 0 0 3 7 48 0 48 0 48 7 48 - 200 4 3 0 1 2 7 48 0 48 0 55 7 55 - 200 4 1 0 3 2 0 55 0 48 7 48 7 55 - 200 4 4 5 5 4 0 48 0 55 0 55 0 48 - 200 4 5 6 6 5 0 55 7 55 7 55 0 55 - 200 4 6 7 7 6 7 55 7 48 7 48 7 55 - 200 4 7 4 4 7 7 48 0 48 0 48 7 48 - 200 4 7 4 5 6 7 48 0 48 0 55 7 55 - 200 4 5 4 7 6 0 55 0 48 7 48 7 55 +POLYGONS 64 + 200 3 0 1 1 0 48 0 55 0 55 + 200 3 0 1 0 0 48 0 55 0 48 + 200 3 1 2 2 0 55 7 55 7 55 + 200 3 1 2 1 0 55 7 55 0 55 + 200 3 2 3 3 7 55 7 48 7 48 + 200 3 2 3 2 7 55 7 48 7 55 + 200 3 3 0 0 7 48 0 48 0 48 + 200 3 3 0 3 7 48 0 48 7 48 + 200 3 3 0 1 7 48 0 48 0 55 + 200 3 3 1 2 7 48 0 55 7 55 + 200 3 1 0 3 0 55 0 48 7 48 + 200 3 1 3 2 0 55 7 48 7 55 + 200 3 4 5 5 0 48 0 55 0 55 + 200 3 4 5 4 0 48 0 55 0 48 + 200 3 5 6 6 0 55 7 55 7 55 + 200 3 5 6 5 0 55 7 55 0 55 + 200 3 6 7 7 7 55 7 48 7 48 + 200 3 6 7 6 7 55 7 48 7 55 + 200 3 7 4 4 7 48 0 48 0 48 + 200 3 7 4 7 7 48 0 48 7 48 + 200 3 7 4 5 7 48 0 48 0 55 + 200 3 7 5 6 7 48 0 55 7 55 + 200 3 5 4 7 0 55 0 48 7 48 + 200 3 5 7 6 0 55 7 48 7 55 200 3 8 9 10 24 39 19 40 19 36 200 3 10 9 8 19 36 19 40 24 39 - 200 4 9 11 12 10 19 40 0 40 1 37 19 36 - 200 4 10 12 11 9 19 36 1 37 0 40 19 40 - 200 4 13 14 15 16 1 71 0 63 20 63 19 71 - 200 4 16 15 14 13 19 71 20 63 0 63 1 71 - 200 4 20 19 18 17 199 35 199 0 192 0 192 35 - 200 4 24 23 22 21 199 0 199 35 192 35 192 0 - 200 4 26 20 17 25 199 31 199 0 192 0 192 35 - 200 4 23 28 27 22 199 0 199 31 192 35 192 0 - 200 4 28 26 25 27 199 34 199 1 192 0 192 35 - 200 4 32 31 30 29 199 1 199 34 192 35 192 0 - 200 4 19 32 29 18 199 0 199 31 192 35 192 0 - 200 4 31 24 21 30 199 31 199 0 192 0 192 35 + 200 3 9 11 12 19 40 0 40 1 37 + 200 3 9 12 10 19 40 1 37 19 36 + 200 3 10 12 11 19 36 1 37 0 40 + 200 3 10 11 9 19 36 0 40 19 40 + 200 3 13 14 15 1 71 0 63 20 63 + 200 3 13 15 16 1 71 20 63 19 71 + 200 3 16 15 14 19 71 20 63 0 63 + 200 3 16 14 13 19 71 0 63 1 71 + 200 3 20 19 18 199 35 199 0 192 0 + 200 3 20 18 17 199 35 192 0 192 35 + 200 3 24 23 22 199 0 199 35 192 35 + 200 3 24 22 21 199 0 192 35 192 0 + 200 3 26 20 17 199 31 199 0 192 0 + 200 3 26 17 25 199 31 192 0 192 35 + 200 3 23 28 27 199 0 199 31 192 35 + 200 3 23 27 22 199 0 192 35 192 0 + 200 3 28 26 25 199 34 199 1 192 0 + 200 3 28 25 27 199 34 192 0 192 35 + 200 3 32 31 30 199 1 199 34 192 35 + 200 3 32 30 29 199 1 192 35 192 0 + 200 3 19 32 29 199 0 199 31 192 35 + 200 3 19 29 18 199 0 192 35 192 0 + 200 3 31 24 21 199 31 199 0 192 0 + 200 3 31 21 30 199 31 192 0 192 35 200 3 33 34 35 24 39 19 40 19 36 200 3 35 34 33 19 36 19 40 24 39 - 200 4 34 36 37 35 19 40 0 40 1 37 19 36 - 200 4 35 37 36 34 19 36 1 37 0 40 19 40 - 200 4 41 40 39 38 0 48 8 48 4 40 0 40 - 200 4 23 20 26 28 24 10 0 10 5 2 19 2 - 200 4 24 19 20 23 24 25 0 25 0 10 24 10 - 200 4 24 31 32 19 24 25 19 33 5 33 0 25 \ No newline at end of file + 200 3 34 36 37 19 40 0 40 1 37 + 200 3 34 37 35 19 40 1 37 19 36 + 200 3 35 37 36 19 36 1 37 0 40 + 200 3 35 36 34 19 36 0 40 19 40 + 200 3 41 40 39 0 48 8 48 4 40 + 200 3 41 39 38 0 48 4 40 0 40 + 200 3 23 20 26 24 10 0 10 5 2 + 200 3 23 26 28 24 10 5 2 19 2 + 200 3 24 19 20 24 25 0 25 0 10 + 200 3 24 20 23 24 25 0 10 24 10 + 200 3 24 31 32 24 25 19 33 5 33 + 200 3 24 32 19 24 25 5 33 0 25 \ No newline at end of file diff --git a/data/base/components/prop/prmlhtr2.pie b/data/base/components/prop/prmlhtr2.pie index 7c011620c..a0894d2c8 100644 --- a/data/base/components/prop/prmlhtr2.pie +++ b/data/base/components/prop/prmlhtr2.pie @@ -18,17 +18,29 @@ POINTS 14 36 0 -42 18 17 -42 36 17 -42 -POLYGONS 13 - 200 4 3 2 1 0 11 171 1 149 1 167 4 171 - 200 4 2 1 3 4 1 149 1 167 11 171 11 149 - 200 4 8 7 6 5 1 149 11 171 4 171 1 167 +POLYGONS 25 + 200 3 3 2 1 11 171 1 149 1 167 + 200 3 3 1 0 11 171 1 167 4 171 + 200 3 2 1 3 1 149 1 167 11 171 + 200 3 2 3 4 1 149 11 171 11 149 + 200 3 8 7 6 1 149 11 171 4 171 + 200 3 8 6 5 1 149 4 171 1 167 200 3 8 9 7 1 149 11 149 11 171 - 200 4 7 9 4 3 88 99 88 135 94 135 94 99 - 200 4 2 8 5 1 1 135 10 135 10 105 1 105 - 200 4 6 7 3 0 1 177 1 186 9 186 9 177 - 200 4 11 4 9 10 9 83 10 73 0 73 0 83 - 200 4 6 0 1 5 1 98 10 98 10 118 1 118 - 200 4 10 9 8 12 96 137 96 174 113 174 111 137 - 200 4 2 4 11 13 113 174 96 174 96 137 111 137 - 200 4 2 13 12 8 1 186 2 225 12 225 12 186 - 200 4 13 11 10 12 17 73 6 73 6 84 17 84 \ No newline at end of file + 200 3 7 9 4 88 99 88 135 94 135 + 200 3 7 4 3 88 99 94 135 94 99 + 200 3 2 8 5 1 135 10 135 10 105 + 200 3 2 5 1 1 135 10 105 1 105 + 200 3 6 7 3 1 177 1 186 9 186 + 200 3 6 3 0 1 177 9 186 9 177 + 200 3 11 4 9 9 83 10 73 0 73 + 200 3 11 9 10 9 83 0 73 0 83 + 200 3 6 0 1 1 98 10 98 10 118 + 200 3 6 1 5 1 98 10 118 1 118 + 200 3 10 9 8 96 137 96 174 113 174 + 200 3 10 8 12 96 137 113 174 111 137 + 200 3 2 4 11 113 174 96 174 96 137 + 200 3 2 11 13 113 174 96 137 111 137 + 200 3 2 13 12 1 186 2 225 12 225 + 200 3 2 12 8 1 186 12 225 12 186 + 200 3 13 11 10 17 73 6 73 6 84 + 200 3 13 10 12 17 73 6 84 17 84 \ No newline at end of file diff --git a/data/base/components/prop/prmltrk2.pie b/data/base/components/prop/prmltrk2.pie index c47baf60d..b1ad7c480 100644 --- a/data/base/components/prop/prmltrk2.pie +++ b/data/base/components/prop/prmltrk2.pie @@ -20,20 +20,32 @@ POINTS 16 41 0 -30 21 11 -39 41 11 -39 -POLYGONS 16 - 200 4 3 2 1 0 1 171 11 171 11 154 1 153 +POLYGONS 28 + 200 3 3 2 1 1 171 11 171 11 154 + 200 3 3 1 0 1 171 11 154 1 153 200 3 1 4 0 11 154 6 148 1 153 - 200 4 8 7 6 5 11 154 11 171 1 171 1 153 + 200 3 8 7 6 11 154 11 171 1 171 + 200 3 8 6 5 11 154 1 171 1 153 200 3 9 8 5 6 148 11 154 1 153 - 200 4 5 6 3 0 10 101 10 133 1 133 1 101 - 200 4 6 11 10 3 10 102 10 132 1 132 1 102 - 200 4 13 7 2 12 93 105 93 129 89 129 89 105 - 200 4 8 9 4 1 9 185 9 180 1 180 1 185 - 200 4 9 5 0 4 9 180 9 174 1 174 1 180 - 200 4 7 8 1 2 93 106 93 128 89 128 89 106 - 200 4 15 13 12 14 9 180 9 185 1 185 1 180 - 200 4 11 15 14 10 9 174 9 180 1 180 1 174 - 200 4 3 10 12 2 1 164 1 143 11 143 11 164 + 200 3 5 6 3 10 101 10 133 1 133 + 200 3 5 3 0 10 101 1 133 1 101 + 200 3 6 11 10 10 102 10 132 1 132 + 200 3 6 10 3 10 102 1 132 1 102 + 200 3 13 7 2 93 105 93 129 89 129 + 200 3 13 2 12 93 105 89 129 89 105 + 200 3 8 9 4 9 185 9 180 1 180 + 200 3 8 4 1 9 185 1 180 1 185 + 200 3 9 5 0 9 180 9 174 1 174 + 200 3 9 0 4 9 180 1 174 1 180 + 200 3 7 8 1 93 106 93 128 89 128 + 200 3 7 1 2 93 106 89 128 89 106 + 200 3 15 13 12 9 180 9 185 1 185 + 200 3 15 12 14 9 180 1 185 1 180 + 200 3 11 15 14 9 174 9 180 1 180 + 200 3 11 14 10 9 174 1 180 1 174 + 200 3 3 10 12 1 164 1 143 11 143 + 200 3 3 12 2 1 164 11 143 11 164 200 3 10 14 12 1 143 6 137 11 143 - 200 4 13 11 6 7 11 143 1 143 1 164 11 164 + 200 3 13 11 6 11 143 1 143 1 164 + 200 3 13 6 7 11 143 1 164 11 164 200 3 15 11 13 6 137 1 143 11 143 \ No newline at end of file diff --git a/data/base/components/prop/prmlvtl1.pie b/data/base/components/prop/prmlvtl1.pie index de3d36187..f2d8b519d 100644 --- a/data/base/components/prop/prmlvtl1.pie +++ b/data/base/components/prop/prmlvtl1.pie @@ -27,19 +27,30 @@ POINTS 23 8 29 29 14 45 33 14 45 24 -POLYGONS 15 +POLYGONS 26 200 3 2 1 0 8 93 17 84 0 84 200 3 3 1 2 15 97 17 84 8 93 200 3 4 1 3 17 98 1 98 0 85 - 200 4 4 3 2 0 0 98 2 85 9 89 17 98 - 200 4 8 7 6 5 104 231 104 217 118 217 118 231 - 200 4 12 11 10 9 104 189 118 189 118 204 104 204 - 200 4 9 10 8 5 104 203 117 203 117 217 104 217 - 200 4 10 11 7 8 104 203 117 203 117 217 104 217 - 200 4 11 12 6 7 104 203 117 203 117 217 104 217 - 200 4 12 9 5 6 104 203 117 203 117 217 104 217 - 200 4 16 15 14 13 8 93 17 93 17 89 9 89 - 200 4 18 16 13 17 0 93 8 93 9 89 0 89 + 200 3 4 3 2 0 98 2 85 9 89 + 200 3 4 2 0 0 98 9 89 17 98 + 200 3 8 7 6 104 231 104 217 118 217 + 200 3 8 6 5 104 231 118 217 118 231 + 200 3 12 11 10 104 189 118 189 118 204 + 200 3 12 10 9 104 189 118 204 104 204 + 200 3 9 10 8 104 203 117 203 117 217 + 200 3 9 8 5 104 203 117 217 104 217 + 200 3 10 11 7 104 203 117 203 117 217 + 200 3 10 7 8 104 203 117 217 104 217 + 200 3 11 12 6 104 203 117 203 117 217 + 200 3 11 6 7 104 203 117 217 104 217 + 200 3 12 9 5 104 203 117 203 117 217 + 200 3 12 5 6 104 203 117 217 104 217 + 200 3 16 15 14 8 93 17 93 17 89 + 200 3 16 14 13 8 93 17 89 9 89 + 200 3 18 16 13 0 93 8 93 9 89 + 200 3 18 13 17 0 93 9 89 0 89 200 3 17 13 14 88 182 90 180 88 178 - 200 4 19 20 21 22 8 48 2 48 0 40 3 40 - 200 4 22 21 20 19 3 40 0 40 2 48 8 48 \ No newline at end of file + 200 3 19 20 21 8 48 2 48 0 40 + 200 3 19 21 22 8 48 0 40 3 40 + 200 3 22 21 20 3 40 0 40 2 48 + 200 3 22 20 19 3 40 2 48 8 48 \ No newline at end of file diff --git a/data/base/components/prop/prmlwhl1.pie b/data/base/components/prop/prmlwhl1.pie index aa644641f..f4d575813 100644 --- a/data/base/components/prop/prmlwhl1.pie +++ b/data/base/components/prop/prmlwhl1.pie @@ -86,76 +86,152 @@ POINTS 82 34 7 35 19 18 32 34 18 32 -POLYGONS 72 - 200 4 12 9 2 11 27 52 27 53 21 53 21 52 - 200 4 13 3 9 12 27 52 27 53 21 53 21 52 - 200 4 14 0 3 13 27 52 27 53 21 53 21 52 - 200 4 15 4 0 14 27 52 27 53 21 53 21 52 - 200 4 16 10 4 15 27 52 27 53 21 53 21 52 - 200 4 17 5 10 16 27 52 27 53 21 53 21 52 - 200 4 11 2 7 18 27 52 27 53 21 53 21 52 - 200 4 19 8 5 17 27 52 27 53 21 53 21 52 - 200 4 18 7 1 20 27 52 27 53 21 53 21 52 - 200 4 21 6 8 19 27 52 27 53 21 53 21 52 - 200 4 57 47 53 56 27 52 27 53 21 53 21 52 - 200 4 34 31 24 33 27 52 27 53 21 53 21 52 - 200 4 35 25 31 34 27 52 27 53 21 53 21 52 - 200 4 36 22 25 35 27 52 27 53 21 53 21 52 - 200 4 37 26 22 36 27 52 27 53 21 53 21 52 - 200 4 38 32 26 37 27 52 27 53 21 53 21 52 - 200 4 39 27 32 38 27 52 27 53 21 53 21 52 - 200 4 33 24 29 40 27 52 27 53 21 53 21 52 - 200 4 41 30 27 39 27 52 27 53 21 53 21 52 - 200 4 40 29 23 42 27 52 27 53 21 53 21 52 - 200 4 43 28 30 41 27 52 27 53 21 53 21 52 - 200 4 56 53 46 55 27 52 27 53 21 53 21 52 - 200 4 58 44 47 57 27 52 27 53 21 53 21 52 - 200 4 59 48 44 58 27 52 27 53 21 53 21 52 - 200 4 60 54 48 59 27 52 27 53 21 53 21 52 - 200 4 61 49 54 60 27 52 27 53 21 53 21 52 - 200 4 55 46 51 62 27 52 27 53 21 53 21 52 - 200 4 63 52 49 61 27 52 27 53 21 53 21 52 - 200 4 62 51 45 64 27 52 27 53 21 53 21 52 - 200 4 65 50 52 63 27 52 27 53 21 53 21 52 - 200 4 65 63 62 64 156 173 154 174 154 159 156 160 - 200 4 56 55 62 63 150 161 152 160 154 159 154 174 - 200 4 58 57 56 63 147 167 148 164 150 161 154 174 - 200 4 43 41 40 42 156 173 154 174 154 159 156 160 - 200 4 34 33 40 41 150 161 152 160 154 159 154 174 - 200 4 36 35 34 41 147 167 148 164 150 161 154 174 - 200 5 59 58 63 61 60 148 170 147 167 154 174 152 173 150 172 - 200 5 37 36 41 39 38 148 170 147 167 154 174 152 173 150 172 - 200 4 21 19 18 20 156 173 154 174 154 159 156 160 - 200 4 12 11 18 19 150 161 152 160 154 159 154 174 - 200 4 14 13 12 19 147 167 148 164 150 161 154 174 - 200 5 15 14 19 17 16 148 170 147 167 154 174 152 173 150 172 - 200 4 2 10 5 8 152 160 150 172 152 173 154 174 - 200 4 2 9 3 10 152 160 150 161 148 164 150 172 - 200 4 3 0 4 10 148 164 147 167 148 170 150 172 - 200 4 27 24 31 32 152 173 152 160 150 161 150 172 - 200 5 31 25 22 26 32 150 161 148 164 147 167 148 170 150 172 - 200 4 49 51 46 54 152 173 154 159 152 160 150 172 - 200 4 46 53 47 54 152 160 150 161 148 164 150 172 - 200 4 47 44 48 54 148 164 147 167 148 170 150 172 - 200 4 75 74 69 70 1 187 12 187 12 224 1 224 - 200 4 70 69 74 75 1 224 12 224 12 187 1 187 - 200 4 76 68 71 77 1 220 1 211 12 211 12 220 - 200 4 77 71 68 76 12 220 12 211 1 211 1 220 - 200 4 77 69 67 76 12 220 12 224 1 224 1 220 - 200 4 76 67 69 77 1 220 1 224 12 224 12 220 - 200 4 66 67 72 73 12 224 1 224 1 187 12 187 - 200 4 73 72 67 66 12 187 1 187 1 224 12 224 - 200 4 80 78 73 72 12 220 12 211 8 210 6 223 - 200 4 72 73 78 80 6 223 8 210 12 211 12 220 - 200 4 81 74 75 79 12 220 6 223 8 210 12 211 - 200 4 79 75 74 81 12 211 8 210 6 223 12 220 - 200 4 79 78 80 81 12 211 1 211 1 220 12 220 - 200 4 81 80 78 79 12 220 1 220 1 211 12 211 - 200 4 72 74 81 80 1 187 12 187 12 195 1 195 - 200 4 80 81 74 72 1 195 12 195 12 187 1 187 - 200 4 74 72 67 69 12 187 1 187 1 224 12 224 - 200 4 69 67 72 74 12 224 1 224 1 187 12 187 - 200 4 66 68 76 67 8 210 12 211 12 220 6 223 - 200 4 67 76 68 66 6 223 12 220 12 211 8 210 - 200 4 70 69 77 71 8 210 6 223 12 220 12 211 - 200 4 71 77 69 70 12 211 12 220 6 223 8 210 \ No newline at end of file +POLYGONS 148 + 200 3 12 9 2 27 52 27 53 21 53 + 200 3 12 2 11 27 52 21 53 21 52 + 200 3 13 3 9 27 52 27 53 21 53 + 200 3 13 9 12 27 52 21 53 21 52 + 200 3 14 0 3 27 52 27 53 21 53 + 200 3 14 3 13 27 52 21 53 21 52 + 200 3 15 4 0 27 52 27 53 21 53 + 200 3 15 0 14 27 52 21 53 21 52 + 200 3 16 10 4 27 52 27 53 21 53 + 200 3 16 4 15 27 52 21 53 21 52 + 200 3 17 5 10 27 52 27 53 21 53 + 200 3 17 10 16 27 52 21 53 21 52 + 200 3 11 2 7 27 52 27 53 21 53 + 200 3 11 7 18 27 52 21 53 21 52 + 200 3 19 8 5 27 52 27 53 21 53 + 200 3 19 5 17 27 52 21 53 21 52 + 200 3 18 7 1 27 52 27 53 21 53 + 200 3 18 1 20 27 52 21 53 21 52 + 200 3 21 6 8 27 52 27 53 21 53 + 200 3 21 8 19 27 52 21 53 21 52 + 200 3 57 47 53 27 52 27 53 21 53 + 200 3 57 53 56 27 52 21 53 21 52 + 200 3 34 31 24 27 52 27 53 21 53 + 200 3 34 24 33 27 52 21 53 21 52 + 200 3 35 25 31 27 52 27 53 21 53 + 200 3 35 31 34 27 52 21 53 21 52 + 200 3 36 22 25 27 52 27 53 21 53 + 200 3 36 25 35 27 52 21 53 21 52 + 200 3 37 26 22 27 52 27 53 21 53 + 200 3 37 22 36 27 52 21 53 21 52 + 200 3 38 32 26 27 52 27 53 21 53 + 200 3 38 26 37 27 52 21 53 21 52 + 200 3 39 27 32 27 52 27 53 21 53 + 200 3 39 32 38 27 52 21 53 21 52 + 200 3 33 24 29 27 52 27 53 21 53 + 200 3 33 29 40 27 52 21 53 21 52 + 200 3 41 30 27 27 52 27 53 21 53 + 200 3 41 27 39 27 52 21 53 21 52 + 200 3 40 29 23 27 52 27 53 21 53 + 200 3 40 23 42 27 52 21 53 21 52 + 200 3 43 28 30 27 52 27 53 21 53 + 200 3 43 30 41 27 52 21 53 21 52 + 200 3 56 53 46 27 52 27 53 21 53 + 200 3 56 46 55 27 52 21 53 21 52 + 200 3 58 44 47 27 52 27 53 21 53 + 200 3 58 47 57 27 52 21 53 21 52 + 200 3 59 48 44 27 52 27 53 21 53 + 200 3 59 44 58 27 52 21 53 21 52 + 200 3 60 54 48 27 52 27 53 21 53 + 200 3 60 48 59 27 52 21 53 21 52 + 200 3 61 49 54 27 52 27 53 21 53 + 200 3 61 54 60 27 52 21 53 21 52 + 200 3 55 46 51 27 52 27 53 21 53 + 200 3 55 51 62 27 52 21 53 21 52 + 200 3 63 52 49 27 52 27 53 21 53 + 200 3 63 49 61 27 52 21 53 21 52 + 200 3 62 51 45 27 52 27 53 21 53 + 200 3 62 45 64 27 52 21 53 21 52 + 200 3 65 50 52 27 52 27 53 21 53 + 200 3 65 52 63 27 52 21 53 21 52 + 200 3 65 63 62 156 173 154 174 154 159 + 200 3 65 62 64 156 173 154 159 156 160 + 200 3 56 55 62 150 161 152 160 154 159 + 200 3 56 62 63 150 161 154 159 154 174 + 200 3 58 57 56 147 167 148 164 150 161 + 200 3 58 56 63 147 167 150 161 154 174 + 200 3 43 41 40 156 173 154 174 154 159 + 200 3 43 40 42 156 173 154 159 156 160 + 200 3 34 33 40 150 161 152 160 154 159 + 200 3 34 40 41 150 161 154 159 154 174 + 200 3 36 35 34 147 167 148 164 150 161 + 200 3 36 34 41 147 167 150 161 154 174 + 200 3 59 58 63 148 170 147 167 154 174 + 200 3 59 63 61 148 170 154 174 152 173 + 200 3 59 61 60 148 170 152 173 150 172 + 200 3 37 36 41 148 170 147 167 154 174 + 200 3 37 41 39 148 170 154 174 152 173 + 200 3 37 39 38 148 170 152 173 150 172 + 200 3 21 19 18 156 173 154 174 154 159 + 200 3 21 18 20 156 173 154 159 156 160 + 200 3 12 11 18 150 161 152 160 154 159 + 200 3 12 18 19 150 161 154 159 154 174 + 200 3 14 13 12 147 167 148 164 150 161 + 200 3 14 12 19 147 167 150 161 154 174 + 200 3 15 14 19 148 170 147 167 154 174 + 200 3 15 19 17 148 170 154 174 152 173 + 200 3 15 17 16 148 170 152 173 150 172 + 200 3 2 10 5 152 160 150 172 152 173 + 200 3 2 5 8 152 160 152 173 154 174 + 200 3 2 9 3 152 160 150 161 148 164 + 200 3 2 3 10 152 160 148 164 150 172 + 200 3 3 0 4 148 164 147 167 148 170 + 200 3 3 4 10 148 164 148 170 150 172 + 200 3 27 24 31 152 173 152 160 150 161 + 200 3 27 31 32 152 173 150 161 150 172 + 200 3 31 25 22 150 161 148 164 147 167 + 200 3 31 22 26 150 161 147 167 148 170 + 200 3 31 26 32 150 161 148 170 150 172 + 200 3 49 51 46 152 173 154 159 152 160 + 200 3 49 46 54 152 173 152 160 150 172 + 200 3 46 53 47 152 160 150 161 148 164 + 200 3 46 47 54 152 160 148 164 150 172 + 200 3 47 44 48 148 164 147 167 148 170 + 200 3 47 48 54 148 164 148 170 150 172 + 200 3 75 74 69 1 187 12 187 12 224 + 200 3 75 69 70 1 187 12 224 1 224 + 200 3 70 69 74 1 224 12 224 12 187 + 200 3 70 74 75 1 224 12 187 1 187 + 200 3 76 68 71 1 220 1 211 12 211 + 200 3 76 71 77 1 220 12 211 12 220 + 200 3 77 71 68 12 220 12 211 1 211 + 200 3 77 68 76 12 220 1 211 1 220 + 200 3 77 69 67 12 220 12 224 1 224 + 200 3 77 67 76 12 220 1 224 1 220 + 200 3 76 67 69 1 220 1 224 12 224 + 200 3 76 69 77 1 220 12 224 12 220 + 200 3 66 67 72 12 224 1 224 1 187 + 200 3 66 72 73 12 224 1 187 12 187 + 200 3 73 72 67 12 187 1 187 1 224 + 200 3 73 67 66 12 187 1 224 12 224 + 200 3 80 78 73 12 220 12 211 8 210 + 200 3 80 73 72 12 220 8 210 6 223 + 200 3 72 73 78 6 223 8 210 12 211 + 200 3 72 78 80 6 223 12 211 12 220 + 200 3 81 74 75 12 220 6 223 8 210 + 200 3 81 75 79 12 220 8 210 12 211 + 200 3 79 75 74 12 211 8 210 6 223 + 200 3 79 74 81 12 211 6 223 12 220 + 200 3 79 78 80 12 211 1 211 1 220 + 200 3 79 80 81 12 211 1 220 12 220 + 200 3 81 80 78 12 220 1 220 1 211 + 200 3 81 78 79 12 220 1 211 12 211 + 200 3 72 74 81 1 187 12 187 12 195 + 200 3 72 81 80 1 187 12 195 1 195 + 200 3 80 81 74 1 195 12 195 12 187 + 200 3 80 74 72 1 195 12 187 1 187 + 200 3 74 72 67 12 187 1 187 1 224 + 200 3 74 67 69 12 187 1 224 12 224 + 200 3 69 67 72 12 224 1 224 1 187 + 200 3 69 72 74 12 224 1 187 12 187 + 200 3 66 68 76 8 210 12 211 12 220 + 200 3 66 76 67 8 210 12 220 6 223 + 200 3 67 76 68 6 223 12 220 12 211 + 200 3 67 68 66 6 223 12 211 8 210 + 200 3 70 69 77 8 210 6 223 12 220 + 200 3 70 77 71 8 210 12 220 12 211 + 200 3 71 77 69 12 211 12 220 6 223 + 200 3 71 69 70 12 211 6 223 8 210 \ No newline at end of file diff --git a/data/base/components/prop/prmrhtr2.pie b/data/base/components/prop/prmrhtr2.pie index efc0cb673..a2612c59c 100644 --- a/data/base/components/prop/prmrhtr2.pie +++ b/data/base/components/prop/prmrhtr2.pie @@ -18,17 +18,29 @@ POINTS 14 -36 0 -42 -17 17 -42 -36 17 -42 -POLYGONS 13 - 200 4 3 2 1 0 1 149 11 171 4 171 1 167 - 200 4 0 3 4 2 1 167 1 149 11 149 11 171 - 200 4 8 7 6 5 1 149 1 167 4 171 11 171 +POLYGONS 25 + 200 3 3 2 1 1 149 11 171 4 171 + 200 3 3 1 0 1 149 4 171 1 167 + 200 3 0 3 4 1 167 1 149 11 149 + 200 3 0 4 2 1 167 11 149 11 171 + 200 3 8 7 6 1 149 1 167 4 171 + 200 3 8 6 5 1 149 4 171 11 171 200 3 8 5 9 1 149 11 171 11 149 - 200 4 9 5 2 4 88 135 88 99 94 99 94 135 - 200 4 3 0 7 8 1 135 1 105 10 105 10 135 - 200 4 5 6 1 2 1 186 1 177 9 177 9 186 - 200 4 4 11 10 9 10 73 9 83 0 83 0 73 - 200 4 1 6 7 0 10 98 1 98 1 118 10 118 - 200 4 9 10 12 8 96 174 96 137 111 137 113 174 - 200 4 4 3 13 11 96 174 113 174 111 137 96 137 - 200 4 13 3 8 12 2 225 1 186 12 186 12 225 - 200 4 11 13 12 10 6 73 17 73 17 84 6 84 \ No newline at end of file + 200 3 9 5 2 88 135 88 99 94 99 + 200 3 9 2 4 88 135 94 99 94 135 + 200 3 3 0 7 1 135 1 105 10 105 + 200 3 3 7 8 1 135 10 105 10 135 + 200 3 5 6 1 1 186 1 177 9 177 + 200 3 5 1 2 1 186 9 177 9 186 + 200 3 4 11 10 10 73 9 83 0 83 + 200 3 4 10 9 10 73 0 83 0 73 + 200 3 1 6 7 10 98 1 98 1 118 + 200 3 1 7 0 10 98 1 118 10 118 + 200 3 9 10 12 96 174 96 137 111 137 + 200 3 9 12 8 96 174 111 137 113 174 + 200 3 4 3 13 96 174 113 174 111 137 + 200 3 4 13 11 96 174 111 137 96 137 + 200 3 13 3 8 2 225 1 186 12 186 + 200 3 13 8 12 2 225 12 186 12 225 + 200 3 11 13 12 6 73 17 73 17 84 + 200 3 11 12 10 6 73 17 84 6 84 \ No newline at end of file diff --git a/data/base/components/prop/prmrtrk2.pie b/data/base/components/prop/prmrtrk2.pie index 9731c82ee..65b4a235c 100644 --- a/data/base/components/prop/prmrtrk2.pie +++ b/data/base/components/prop/prmrtrk2.pie @@ -20,20 +20,32 @@ POINTS 16 -21 24 30 -21 0 28 -21 12 40 -POLYGONS 16 - 200 4 3 2 1 0 0 164 0 143 12 143 12 164 +POLYGONS 28 + 200 3 3 2 1 0 164 0 143 12 143 + 200 3 3 1 0 0 164 12 143 12 164 200 3 2 4 1 0 143 6 137 12 143 - 200 4 8 7 6 5 12 143 0 143 0 164 12 164 + 200 3 8 7 6 12 143 0 143 0 164 + 200 3 8 6 5 12 143 0 164 12 164 200 3 9 7 8 6 137 0 143 12 143 - 200 4 3 0 11 10 0 171 12 171 12 154 0 153 + 200 3 3 0 11 0 171 12 171 12 154 + 200 3 3 11 10 0 171 12 154 0 153 200 3 11 12 10 12 154 6 148 0 153 - 200 4 14 5 6 13 12 154 12 171 0 171 0 153 + 200 3 14 5 6 12 154 12 171 0 171 + 200 3 14 6 13 12 154 0 171 0 153 200 3 15 14 13 6 148 12 154 0 153 - 200 4 13 6 3 10 11 101 11 133 0 133 0 101 - 200 4 6 7 2 3 11 102 11 132 0 132 0 102 - 200 4 9 8 1 4 9 180 9 186 1 186 1 180 - 200 4 7 9 4 2 9 173 9 180 1 180 1 173 - 200 4 14 15 12 11 9 186 9 180 1 180 1 186 - 200 4 15 13 10 12 9 180 9 173 1 173 1 180 - 200 4 8 5 0 1 93 102 93 128 89 128 89 102 - 200 4 5 14 11 0 93 107 93 127 89 127 89 107 + 200 3 13 6 3 11 101 11 133 0 133 + 200 3 13 3 10 11 101 0 133 0 101 + 200 3 6 7 2 11 102 11 132 0 132 + 200 3 6 2 3 11 102 0 132 0 102 + 200 3 9 8 1 9 180 9 186 1 186 + 200 3 9 1 4 9 180 1 186 1 180 + 200 3 7 9 4 9 173 9 180 1 180 + 200 3 7 4 2 9 173 1 180 1 173 + 200 3 14 15 12 9 186 9 180 1 180 + 200 3 14 12 11 9 186 1 180 1 186 + 200 3 15 13 10 9 180 9 173 1 173 + 200 3 15 10 12 9 180 1 173 1 180 + 200 3 8 5 0 93 102 93 128 89 128 + 200 3 8 0 1 93 102 89 128 89 102 + 200 3 5 14 11 93 107 93 127 89 127 + 200 3 5 11 0 93 107 89 127 89 107 \ No newline at end of file diff --git a/data/base/components/prop/prmrvtl1.pie b/data/base/components/prop/prmrvtl1.pie index 1c26b10ae..b8530d743 100644 --- a/data/base/components/prop/prmrvtl1.pie +++ b/data/base/components/prop/prmrvtl1.pie @@ -27,19 +27,30 @@ POINTS 23 -7 29 29 -13 45 33 -13 45 24 -POLYGONS 15 - 200 4 3 2 1 0 2 85 0 98 17 98 9 89 - 200 4 7 6 5 4 104 217 104 231 118 231 118 217 - 200 4 11 10 9 8 118 189 104 189 104 204 118 204 - 200 4 8 9 5 6 117 203 104 203 104 217 117 217 - 200 4 11 8 6 7 117 203 104 203 104 217 117 217 - 200 4 10 11 7 4 117 203 104 203 104 217 117 217 - 200 4 9 10 4 5 117 203 104 203 104 217 117 217 +POLYGONS 26 + 200 3 3 2 1 2 85 0 98 17 98 + 200 3 3 1 0 2 85 17 98 9 89 + 200 3 7 6 5 104 217 104 231 118 231 + 200 3 7 5 4 104 217 118 231 118 217 + 200 3 11 10 9 118 189 104 189 104 204 + 200 3 11 9 8 118 189 104 204 118 204 + 200 3 8 9 5 117 203 104 203 104 217 + 200 3 8 5 6 117 203 104 217 117 217 + 200 3 11 8 6 117 203 104 203 104 217 + 200 3 11 6 7 117 203 104 217 117 217 + 200 3 10 11 7 117 203 104 203 104 217 + 200 3 10 7 4 117 203 104 217 117 217 + 200 3 9 10 4 117 203 104 203 104 217 + 200 3 9 4 5 117 203 104 217 117 217 200 3 0 1 12 8 93 0 84 17 84 200 3 3 0 12 15 97 8 93 17 84 200 3 2 3 12 17 98 0 85 1 98 - 200 4 16 15 14 13 17 93 8 93 8 89 17 89 - 200 4 15 18 17 14 8 93 0 93 0 89 8 89 + 200 3 16 15 14 17 93 8 93 8 89 + 200 3 16 14 13 17 93 8 89 17 89 + 200 3 15 18 17 8 93 0 93 0 89 + 200 3 15 17 14 8 93 0 89 8 89 200 3 14 17 13 86 180 88 182 88 178 - 200 4 19 20 21 22 8 48 2 48 0 40 3 40 - 200 4 22 21 20 19 3 40 0 40 2 48 8 48 \ No newline at end of file + 200 3 19 20 21 8 48 2 48 0 40 + 200 3 19 21 22 8 48 0 40 3 40 + 200 3 22 21 20 3 40 0 40 2 48 + 200 3 22 20 19 3 40 2 48 8 48 \ No newline at end of file diff --git a/data/base/components/prop/prmrwhl1.pie b/data/base/components/prop/prmrwhl1.pie index 3463ba2ae..9d2a39925 100644 --- a/data/base/components/prop/prmrwhl1.pie +++ b/data/base/components/prop/prmrwhl1.pie @@ -86,76 +86,152 @@ POINTS 82 -34 7 35 -19 18 32 -34 18 32 -POLYGONS 72 - 200 4 12 11 2 9 27 52 21 52 21 53 27 53 - 200 4 13 12 9 3 27 52 21 52 21 53 27 53 - 200 4 14 13 3 0 27 52 21 52 21 53 27 53 - 200 4 15 14 0 4 27 52 21 52 21 53 27 53 - 200 4 16 15 4 10 27 52 21 52 21 53 27 53 - 200 4 17 16 10 5 27 52 21 52 21 53 27 53 - 200 4 11 18 7 2 27 52 21 52 21 53 27 53 - 200 4 19 17 5 8 27 52 21 52 21 53 27 53 - 200 4 18 20 1 7 27 52 21 52 21 53 27 53 - 200 4 21 19 8 6 27 52 21 52 21 53 27 53 - 200 4 57 56 53 47 27 52 21 52 21 53 27 53 - 200 4 34 33 24 31 27 52 21 52 21 53 27 53 - 200 4 35 34 31 25 27 52 21 52 21 53 27 53 - 200 4 36 35 25 22 27 52 21 52 21 53 27 53 - 200 4 37 36 22 26 27 52 21 52 21 53 27 53 - 200 4 38 37 26 32 27 52 21 52 21 53 27 53 - 200 4 39 38 32 27 27 52 21 52 21 53 27 53 - 200 4 33 40 29 24 27 52 21 52 21 53 27 53 - 200 4 41 39 27 30 27 52 21 52 21 53 27 53 - 200 4 40 42 23 29 27 52 21 52 21 53 27 53 - 200 4 43 41 30 28 27 52 21 52 21 53 27 53 - 200 4 56 55 46 53 27 52 21 52 21 53 27 53 - 200 4 58 57 47 44 27 52 21 52 21 53 27 53 - 200 4 59 58 44 48 27 52 21 52 21 53 27 53 - 200 4 60 59 48 54 27 52 21 52 21 53 27 53 - 200 4 61 60 54 49 27 52 21 52 21 53 27 53 - 200 4 55 62 51 46 27 52 21 52 21 53 27 53 - 200 4 63 61 49 52 27 52 21 52 21 53 27 53 - 200 4 62 64 45 51 27 52 21 52 21 53 27 53 - 200 4 65 63 52 50 27 52 21 52 21 53 27 53 - 200 4 65 64 62 63 156 173 156 160 154 159 154 174 - 200 4 56 63 62 55 150 161 154 174 154 159 152 160 - 200 4 58 63 56 57 147 167 154 174 150 161 148 164 - 200 4 43 42 40 41 156 173 156 160 154 159 154 174 - 200 4 34 41 40 33 150 161 154 174 154 159 152 160 - 200 4 36 41 34 35 147 167 154 174 150 161 148 164 - 200 5 59 60 61 63 58 148 170 150 172 152 173 154 174 147 167 - 200 5 37 38 39 41 36 148 170 150 172 152 173 154 174 147 167 - 200 4 21 20 18 19 156 173 156 160 154 159 154 174 - 200 4 12 19 18 11 150 161 154 174 154 159 152 160 - 200 4 14 19 12 13 147 167 154 174 150 161 148 164 - 200 5 15 16 17 19 14 148 170 150 172 152 173 154 174 147 167 - 200 4 2 8 5 10 152 160 154 174 152 173 150 172 - 200 4 2 10 3 9 152 160 150 172 148 164 150 161 - 200 4 3 10 4 0 148 164 150 172 148 170 147 167 - 200 4 27 32 31 24 152 173 150 172 150 161 152 160 - 200 5 31 32 26 22 25 150 161 150 172 148 170 147 167 148 164 - 200 4 49 54 46 51 152 173 150 172 152 160 154 159 - 200 4 46 54 47 53 152 160 150 172 148 164 150 161 - 200 4 47 54 48 44 148 164 150 172 148 170 147 167 - 200 4 69 74 75 70 12 224 12 187 1 187 1 224 - 200 4 70 75 74 69 1 224 1 187 12 187 12 224 - 200 4 71 68 76 77 12 211 1 211 1 220 12 220 - 200 4 77 76 68 71 12 220 1 220 1 211 12 211 - 200 4 67 69 77 76 1 224 12 224 12 220 1 220 - 200 4 76 77 69 67 1 220 12 220 12 224 1 224 - 200 4 72 67 66 73 1 187 1 224 12 224 12 187 - 200 4 73 66 67 72 12 187 12 224 1 224 1 187 - 200 4 73 78 80 72 8 210 12 211 12 220 6 223 - 200 4 72 80 78 73 6 223 12 220 12 211 8 210 - 200 4 75 74 81 79 8 210 6 223 12 220 12 211 - 200 4 79 81 74 75 12 211 12 220 6 223 8 210 - 200 4 80 78 79 81 1 220 1 211 12 211 12 220 - 200 4 81 79 78 80 12 220 12 211 1 211 1 220 - 200 4 81 74 72 80 12 195 12 187 1 187 1 195 - 200 4 80 72 74 81 1 195 1 187 12 187 12 195 - 200 4 67 72 74 69 1 224 1 187 12 187 12 224 - 200 4 69 74 72 67 12 224 12 187 1 187 1 224 - 200 4 76 68 66 67 12 220 12 211 8 210 6 223 - 200 4 67 66 68 76 6 223 8 210 12 211 12 220 - 200 4 77 69 70 71 12 220 6 223 8 210 12 211 - 200 4 71 70 69 77 12 211 8 210 6 223 12 220 \ No newline at end of file +POLYGONS 148 + 200 3 12 11 2 27 52 21 52 21 53 + 200 3 12 2 9 27 52 21 53 27 53 + 200 3 13 12 9 27 52 21 52 21 53 + 200 3 13 9 3 27 52 21 53 27 53 + 200 3 14 13 3 27 52 21 52 21 53 + 200 3 14 3 0 27 52 21 53 27 53 + 200 3 15 14 0 27 52 21 52 21 53 + 200 3 15 0 4 27 52 21 53 27 53 + 200 3 16 15 4 27 52 21 52 21 53 + 200 3 16 4 10 27 52 21 53 27 53 + 200 3 17 16 10 27 52 21 52 21 53 + 200 3 17 10 5 27 52 21 53 27 53 + 200 3 11 18 7 27 52 21 52 21 53 + 200 3 11 7 2 27 52 21 53 27 53 + 200 3 19 17 5 27 52 21 52 21 53 + 200 3 19 5 8 27 52 21 53 27 53 + 200 3 18 20 1 27 52 21 52 21 53 + 200 3 18 1 7 27 52 21 53 27 53 + 200 3 21 19 8 27 52 21 52 21 53 + 200 3 21 8 6 27 52 21 53 27 53 + 200 3 57 56 53 27 52 21 52 21 53 + 200 3 57 53 47 27 52 21 53 27 53 + 200 3 34 33 24 27 52 21 52 21 53 + 200 3 34 24 31 27 52 21 53 27 53 + 200 3 35 34 31 27 52 21 52 21 53 + 200 3 35 31 25 27 52 21 53 27 53 + 200 3 36 35 25 27 52 21 52 21 53 + 200 3 36 25 22 27 52 21 53 27 53 + 200 3 37 36 22 27 52 21 52 21 53 + 200 3 37 22 26 27 52 21 53 27 53 + 200 3 38 37 26 27 52 21 52 21 53 + 200 3 38 26 32 27 52 21 53 27 53 + 200 3 39 38 32 27 52 21 52 21 53 + 200 3 39 32 27 27 52 21 53 27 53 + 200 3 33 40 29 27 52 21 52 21 53 + 200 3 33 29 24 27 52 21 53 27 53 + 200 3 41 39 27 27 52 21 52 21 53 + 200 3 41 27 30 27 52 21 53 27 53 + 200 3 40 42 23 27 52 21 52 21 53 + 200 3 40 23 29 27 52 21 53 27 53 + 200 3 43 41 30 27 52 21 52 21 53 + 200 3 43 30 28 27 52 21 53 27 53 + 200 3 56 55 46 27 52 21 52 21 53 + 200 3 56 46 53 27 52 21 53 27 53 + 200 3 58 57 47 27 52 21 52 21 53 + 200 3 58 47 44 27 52 21 53 27 53 + 200 3 59 58 44 27 52 21 52 21 53 + 200 3 59 44 48 27 52 21 53 27 53 + 200 3 60 59 48 27 52 21 52 21 53 + 200 3 60 48 54 27 52 21 53 27 53 + 200 3 61 60 54 27 52 21 52 21 53 + 200 3 61 54 49 27 52 21 53 27 53 + 200 3 55 62 51 27 52 21 52 21 53 + 200 3 55 51 46 27 52 21 53 27 53 + 200 3 63 61 49 27 52 21 52 21 53 + 200 3 63 49 52 27 52 21 53 27 53 + 200 3 62 64 45 27 52 21 52 21 53 + 200 3 62 45 51 27 52 21 53 27 53 + 200 3 65 63 52 27 52 21 52 21 53 + 200 3 65 52 50 27 52 21 53 27 53 + 200 3 65 64 62 156 173 156 160 154 159 + 200 3 65 62 63 156 173 154 159 154 174 + 200 3 56 63 62 150 161 154 174 154 159 + 200 3 56 62 55 150 161 154 159 152 160 + 200 3 58 63 56 147 167 154 174 150 161 + 200 3 58 56 57 147 167 150 161 148 164 + 200 3 43 42 40 156 173 156 160 154 159 + 200 3 43 40 41 156 173 154 159 154 174 + 200 3 34 41 40 150 161 154 174 154 159 + 200 3 34 40 33 150 161 154 159 152 160 + 200 3 36 41 34 147 167 154 174 150 161 + 200 3 36 34 35 147 167 150 161 148 164 + 200 3 59 60 61 148 170 150 172 152 173 + 200 3 59 61 63 148 170 152 173 154 174 + 200 3 59 63 58 148 170 154 174 147 167 + 200 3 37 38 39 148 170 150 172 152 173 + 200 3 37 39 41 148 170 152 173 154 174 + 200 3 37 41 36 148 170 154 174 147 167 + 200 3 21 20 18 156 173 156 160 154 159 + 200 3 21 18 19 156 173 154 159 154 174 + 200 3 12 19 18 150 161 154 174 154 159 + 200 3 12 18 11 150 161 154 159 152 160 + 200 3 14 19 12 147 167 154 174 150 161 + 200 3 14 12 13 147 167 150 161 148 164 + 200 3 15 16 17 148 170 150 172 152 173 + 200 3 15 17 19 148 170 152 173 154 174 + 200 3 15 19 14 148 170 154 174 147 167 + 200 3 2 8 5 152 160 154 174 152 173 + 200 3 2 5 10 152 160 152 173 150 172 + 200 3 2 10 3 152 160 150 172 148 164 + 200 3 2 3 9 152 160 148 164 150 161 + 200 3 3 10 4 148 164 150 172 148 170 + 200 3 3 4 0 148 164 148 170 147 167 + 200 3 27 32 31 152 173 150 172 150 161 + 200 3 27 31 24 152 173 150 161 152 160 + 200 3 31 32 26 150 161 150 172 148 170 + 200 3 31 26 22 150 161 148 170 147 167 + 200 3 31 22 25 150 161 147 167 148 164 + 200 3 49 54 46 152 173 150 172 152 160 + 200 3 49 46 51 152 173 152 160 154 159 + 200 3 46 54 47 152 160 150 172 148 164 + 200 3 46 47 53 152 160 148 164 150 161 + 200 3 47 54 48 148 164 150 172 148 170 + 200 3 47 48 44 148 164 148 170 147 167 + 200 3 69 74 75 12 224 12 187 1 187 + 200 3 69 75 70 12 224 1 187 1 224 + 200 3 70 75 74 1 224 1 187 12 187 + 200 3 70 74 69 1 224 12 187 12 224 + 200 3 71 68 76 12 211 1 211 1 220 + 200 3 71 76 77 12 211 1 220 12 220 + 200 3 77 76 68 12 220 1 220 1 211 + 200 3 77 68 71 12 220 1 211 12 211 + 200 3 67 69 77 1 224 12 224 12 220 + 200 3 67 77 76 1 224 12 220 1 220 + 200 3 76 77 69 1 220 12 220 12 224 + 200 3 76 69 67 1 220 12 224 1 224 + 200 3 72 67 66 1 187 1 224 12 224 + 200 3 72 66 73 1 187 12 224 12 187 + 200 3 73 66 67 12 187 12 224 1 224 + 200 3 73 67 72 12 187 1 224 1 187 + 200 3 73 78 80 8 210 12 211 12 220 + 200 3 73 80 72 8 210 12 220 6 223 + 200 3 72 80 78 6 223 12 220 12 211 + 200 3 72 78 73 6 223 12 211 8 210 + 200 3 75 74 81 8 210 6 223 12 220 + 200 3 75 81 79 8 210 12 220 12 211 + 200 3 79 81 74 12 211 12 220 6 223 + 200 3 79 74 75 12 211 6 223 8 210 + 200 3 80 78 79 1 220 1 211 12 211 + 200 3 80 79 81 1 220 12 211 12 220 + 200 3 81 79 78 12 220 12 211 1 211 + 200 3 81 78 80 12 220 1 211 1 220 + 200 3 81 74 72 12 195 12 187 1 187 + 200 3 81 72 80 12 195 1 187 1 195 + 200 3 80 72 74 1 195 1 187 12 187 + 200 3 80 74 81 1 195 12 187 12 195 + 200 3 67 72 74 1 224 1 187 12 187 + 200 3 67 74 69 1 224 12 187 12 224 + 200 3 69 74 72 12 224 12 187 1 187 + 200 3 69 72 67 12 224 1 187 1 224 + 200 3 76 68 66 12 220 12 211 8 210 + 200 3 76 66 67 12 220 8 210 6 223 + 200 3 67 66 68 6 223 8 210 12 211 + 200 3 67 68 76 6 223 12 211 12 220 + 200 3 77 69 70 12 220 6 223 8 210 + 200 3 77 70 71 12 220 8 210 12 211 + 200 3 71 70 69 12 211 8 210 6 223 + 200 3 71 69 77 12 211 6 223 12 220 \ No newline at end of file diff --git a/data/base/components/weapons/cy_can.pie b/data/base/components/weapons/cy_can.pie index 641c55e2c..cd333c88f 100644 --- a/data/base/components/weapons/cy_can.pie +++ b/data/base/components/weapons/cy_can.pie @@ -20,17 +20,28 @@ POINTS 16 0 5 -11 -4 0 -8 0 -4 -11 -POLYGONS 11 - 200 4 3 2 1 0 16 19 2 19 4 0 13 0 - 200 4 1 2 5 4 5 21 24 20 25 27 0 27 - 200 4 7 4 5 6 2 19 14 19 16 0 0 0 - 200 4 0 1 4 7 4 29 14 29 16 37 2 37 - 200 4 2 3 6 5 2 38 16 38 18 47 0 47 - 200 4 3 0 7 6 24 20 5 21 0 27 25 27 - 200 4 11 10 9 8 12 60 16 60 16 64 12 64 - 200 4 8 9 13 12 13 59 18 59 18 49 13 50 - 200 4 9 10 14 13 13 59 18 59 18 48 13 49 - 200 4 10 11 15 14 13 59 18 59 18 49 13 48 - 200 4 11 8 12 15 13 59 18 59 18 50 13 49 +POLYGONS 22 + 200 3 3 2 1 16 19 2 19 4 0 + 200 3 3 1 0 16 19 4 0 13 0 + 200 3 1 2 5 5 21 24 20 25 27 + 200 3 1 5 4 5 21 25 27 0 27 + 200 3 7 4 5 2 19 14 19 16 0 + 200 3 7 5 6 2 19 16 0 0 0 + 200 3 0 1 4 4 29 14 29 16 37 + 200 3 0 4 7 4 29 16 37 2 37 + 200 3 2 3 6 2 38 16 38 18 47 + 200 3 2 6 5 2 38 18 47 0 47 + 200 3 3 0 7 24 20 5 21 0 27 + 200 3 3 7 6 24 20 0 27 25 27 + 200 3 11 10 9 12 60 16 60 16 64 + 200 3 11 9 8 12 60 16 64 12 64 + 200 3 8 9 13 13 59 18 59 18 49 + 200 3 8 13 12 13 59 18 49 13 50 + 200 3 9 10 14 13 59 18 59 18 48 + 200 3 9 14 13 13 59 18 48 13 49 + 200 3 10 11 15 13 59 18 59 18 49 + 200 3 10 15 14 13 59 18 49 13 48 + 200 3 11 8 12 13 59 18 59 18 50 + 200 3 11 12 15 13 59 18 50 13 49 CONNECTORS 1 0 -37 0 diff --git a/data/base/components/weapons/cy_flame.pie b/data/base/components/weapons/cy_flame.pie index 553940102..6b089171c 100644 --- a/data/base/components/weapons/cy_flame.pie +++ b/data/base/components/weapons/cy_flame.pie @@ -20,17 +20,28 @@ POINTS 16 -4 6 5 -4 -14 5 2 -14 5 -POLYGONS 11 - 200 4 3 2 1 0 125 61 125 67 116 67 116 61 - 200 4 2 5 4 1 125 67 125 73 116 73 116 67 - 200 4 5 7 6 4 125 73 125 67 116 67 116 73 - 200 4 7 3 0 6 125 67 125 61 116 61 116 67 - 200 4 2 3 7 5 102 70 105 68 107 70 105 72 - 200 4 11 10 9 8 118 240 104 240 104 234 118 234 - 200 4 11 8 13 12 128 9 128 0 143 0 143 9 - 200 4 9 10 15 14 128 0 128 9 143 9 143 0 - 200 4 8 9 14 13 128 0 128 17 143 17 143 0 - 200 4 14 15 12 13 104 234 104 240 118 240 118 234 - 200 4 10 11 12 15 128 17 128 0 143 0 143 17 +POLYGONS 22 + 200 3 3 2 1 125 61 125 67 116 67 + 200 3 3 1 0 125 61 116 67 116 61 + 200 3 2 5 4 125 67 125 73 116 73 + 200 3 2 4 1 125 67 116 73 116 67 + 200 3 5 7 6 125 73 125 67 116 67 + 200 3 5 6 4 125 73 116 67 116 73 + 200 3 7 3 0 125 67 125 61 116 61 + 200 3 7 0 6 125 67 116 61 116 67 + 200 3 2 3 7 102 70 105 68 107 70 + 200 3 2 7 5 102 70 107 70 105 72 + 200 3 11 10 9 118 240 104 240 104 234 + 200 3 11 9 8 118 240 104 234 118 234 + 200 3 11 8 13 128 9 128 0 143 0 + 200 3 11 13 12 128 9 143 0 143 9 + 200 3 9 10 15 128 0 128 9 143 9 + 200 3 9 15 14 128 0 143 9 143 0 + 200 3 8 9 14 128 0 128 17 143 17 + 200 3 8 14 13 128 0 143 17 143 0 + 200 3 14 15 12 104 234 104 240 118 240 + 200 3 14 12 13 104 234 118 240 118 234 + 200 3 10 11 12 128 17 128 0 143 0 + 200 3 10 12 15 128 17 143 0 143 17 CONNECTORS 1 0 -22 -9 diff --git a/data/base/components/weapons/cy_gun.pie b/data/base/components/weapons/cy_gun.pie index d2b17c556..7a6c7b1cb 100644 --- a/data/base/components/weapons/cy_gun.pie +++ b/data/base/components/weapons/cy_gun.pie @@ -12,10 +12,14 @@ POINTS 8 4 -2 -23 4 -2 0 -4 -2 0 -POLYGONS 4 - 200 4 0 1 2 3 155 210 140 210 140 200 155 200 - 200 4 3 2 1 0 155 200 140 200 140 210 155 210 - 200 4 4 5 6 7 156 200 156 205 170 205 170 200 - 200 4 7 6 5 4 170 200 170 205 156 205 156 200 +POLYGONS 8 + 200 3 0 1 2 155 210 140 210 140 200 + 200 3 0 2 3 155 210 140 200 155 200 + 200 3 3 2 1 155 200 140 200 140 210 + 200 3 3 1 0 155 200 140 210 155 210 + 200 3 4 5 6 156 200 156 205 170 205 + 200 3 4 6 7 156 200 170 205 170 200 + 200 3 7 6 5 170 200 170 205 156 205 + 200 3 7 5 4 170 200 156 205 156 200 CONNECTORS 1 -2 -26 2 diff --git a/data/base/components/weapons/cy_las.pie b/data/base/components/weapons/cy_las.pie index f97b0d8d5..cbb7ce50e 100644 --- a/data/base/components/weapons/cy_las.pie +++ b/data/base/components/weapons/cy_las.pie @@ -18,16 +18,25 @@ POINTS 14 6 10 7 6 -9 7 6 -6 -15 -POLYGONS 10 - 200 4 3 2 1 0 200 108 219 108 219 120 200 120 - 200 4 2 5 4 1 200 108 219 108 219 120 200 120 - 200 4 5 3 0 4 200 108 219 108 219 120 200 120 +POLYGONS 19 + 200 3 3 2 1 200 108 219 108 219 120 + 200 3 3 1 0 200 108 219 120 200 120 + 200 3 2 5 4 200 108 219 108 219 120 + 200 3 2 4 1 200 108 219 120 200 120 + 200 3 5 3 0 200 108 219 108 219 120 + 200 3 5 0 4 200 108 219 120 200 120 200 3 2 3 5 157 26 167 33 157 40 - 200 4 9 8 7 6 16 19 2 19 4 0 13 0 - 200 4 7 8 11 10 5 21 24 20 25 27 0 27 - 200 4 13 10 11 12 2 19 14 19 16 0 0 0 - 200 4 6 7 10 13 4 29 14 29 16 37 2 37 - 200 4 8 9 12 11 2 38 16 38 18 47 0 47 - 200 4 9 6 13 12 24 20 5 21 0 27 25 27 + 200 3 9 8 7 16 19 2 19 4 0 + 200 3 9 7 6 16 19 4 0 13 0 + 200 3 7 8 11 5 21 24 20 25 27 + 200 3 7 11 10 5 21 25 27 0 27 + 200 3 13 10 11 2 19 14 19 16 0 + 200 3 13 11 12 2 19 16 0 0 0 + 200 3 6 7 10 4 29 14 29 16 37 + 200 3 6 10 13 4 29 16 37 2 37 + 200 3 8 9 12 2 38 16 38 18 47 + 200 3 8 12 11 2 38 18 47 0 47 + 200 3 9 6 13 24 20 5 21 0 27 + 200 3 9 13 12 24 20 0 27 25 27 CONNECTORS 1 1 -36 0 diff --git a/data/base/components/weapons/cy_miss.pie b/data/base/components/weapons/cy_miss.pie index 0f9d8aa14..5e3a3a578 100644 --- a/data/base/components/weapons/cy_miss.pie +++ b/data/base/components/weapons/cy_miss.pie @@ -12,13 +12,20 @@ POINTS 8 5 4 -26 -3 4 -26 -3 -3 -26 -POLYGONS 7 - 200 4 3 2 1 0 252 117 252 113 256 113 256 117 - 200 4 7 6 5 4 252 113 256 113 256 117 252 117 - 200 4 4 5 3 0 252 116 256 116 256 140 252 140 - 200 4 6 7 1 2 252 116 256 116 256 140 252 140 - 200 4 7 4 0 1 196 172 220 172 220 176 196 176 - 200 4 5 6 2 3 220 176 220 172 196 172 196 176 - 200 4 7 4 0 1 220 172 220 176 196 176 196 172 +POLYGONS 14 + 200 3 3 2 1 252 117 252 113 256 113 + 200 3 3 1 0 252 117 256 113 256 117 + 200 3 7 6 5 252 113 256 113 256 117 + 200 3 7 5 4 252 113 256 117 252 117 + 200 3 4 5 3 252 116 256 116 256 140 + 200 3 4 3 0 252 116 256 140 252 140 + 200 3 6 7 1 252 116 256 116 256 140 + 200 3 6 1 2 252 116 256 140 252 140 + 200 3 7 4 0 196 172 220 172 220 176 + 200 3 7 0 1 196 172 220 176 196 176 + 200 3 5 6 2 220 176 220 172 196 172 + 200 3 5 2 3 220 176 196 172 196 176 + 200 3 7 4 0 220 172 220 176 196 176 + 200 3 7 0 1 220 172 196 176 196 172 CONNECTORS 1 0 -30 0 diff --git a/data/base/components/weapons/cy_rail.pie b/data/base/components/weapons/cy_rail.pie index 941e25009..2b3bcc260 100644 --- a/data/base/components/weapons/cy_rail.pie +++ b/data/base/components/weapons/cy_rail.pie @@ -18,16 +18,28 @@ POINTS 14 6 12 7 6 -12 7 6 -9 -15 -POLYGONS 12 - 200 4 0 1 2 3 158 49 152 49 152 67 158 64 - 200 4 3 2 1 0 158 64 152 67 152 49 158 49 - 200 4 1 4 5 2 158 49 152 49 152 67 158 67 - 200 4 2 5 4 1 158 67 152 67 152 49 158 49 - 200 4 4 0 3 5 158 49 152 49 152 64 158 67 - 200 4 5 3 0 4 158 67 152 64 152 49 158 49 - 200 4 9 8 7 6 16 19 2 19 4 0 13 0 - 200 4 7 8 11 10 5 21 24 20 25 27 0 27 - 200 4 13 10 11 12 2 19 14 19 16 0 0 0 - 200 4 6 7 10 13 4 29 14 29 16 37 2 37 - 200 4 8 9 12 11 2 38 16 38 18 47 0 47 - 200 4 9 6 13 12 24 20 5 21 0 27 25 27 \ No newline at end of file +POLYGONS 24 + 200 3 0 1 2 158 49 152 49 152 67 + 200 3 0 2 3 158 49 152 67 158 64 + 200 3 3 2 1 158 64 152 67 152 49 + 200 3 3 1 0 158 64 152 49 158 49 + 200 3 1 4 5 158 49 152 49 152 67 + 200 3 1 5 2 158 49 152 67 158 67 + 200 3 2 5 4 158 67 152 67 152 49 + 200 3 2 4 1 158 67 152 49 158 49 + 200 3 4 0 3 158 49 152 49 152 64 + 200 3 4 3 5 158 49 152 64 158 67 + 200 3 5 3 0 158 67 152 64 152 49 + 200 3 5 0 4 158 67 152 49 158 49 + 200 3 9 8 7 16 19 2 19 4 0 + 200 3 9 7 6 16 19 4 0 13 0 + 200 3 7 8 11 5 21 24 20 25 27 + 200 3 7 11 10 5 21 25 27 0 27 + 200 3 13 10 11 2 19 14 19 16 0 + 200 3 13 11 12 2 19 16 0 0 0 + 200 3 6 7 10 4 29 14 29 16 37 + 200 3 6 10 13 4 29 16 37 2 37 + 200 3 8 9 12 2 38 16 38 18 47 + 200 3 8 12 11 2 38 18 47 0 47 + 200 3 9 6 13 24 20 5 21 0 27 + 200 3 9 13 12 24 20 0 27 25 27 \ No newline at end of file diff --git a/data/base/components/weapons/cy_rkt.pie b/data/base/components/weapons/cy_rkt.pie index 8ec783c13..05f02da27 100644 --- a/data/base/components/weapons/cy_rkt.pie +++ b/data/base/components/weapons/cy_rkt.pie @@ -12,12 +12,18 @@ POINTS 8 -6 11 10 -6 -11 -22 -6 11 -22 -POLYGONS 6 - 200 4 3 2 1 0 106 186 102 186 102 199 106 199 - 200 4 5 4 0 1 112 186 112 197 118 197 118 186 - 200 4 4 6 3 0 102 199 102 186 106 186 106 199 - 200 4 6 7 2 3 106 197 106 186 112 186 112 197 - 200 4 5 7 6 4 90 198 90 186 94 186 94 198 - 200 4 7 5 1 2 90 186 90 198 94 198 94 186 +POLYGONS 12 + 200 3 3 2 1 106 186 102 186 102 199 + 200 3 3 1 0 106 186 102 199 106 199 + 200 3 5 4 0 112 186 112 197 118 197 + 200 3 5 0 1 112 186 118 197 118 186 + 200 3 4 6 3 102 199 102 186 106 186 + 200 3 4 3 0 102 199 106 186 106 199 + 200 3 6 7 2 106 197 106 186 112 186 + 200 3 6 2 3 106 197 112 186 112 197 + 200 3 5 7 6 90 198 90 186 94 186 + 200 3 5 6 4 90 198 94 186 94 198 + 200 3 7 5 1 90 186 90 198 94 198 + 200 3 7 1 2 90 186 94 198 94 186 CONNECTORS 1 0 -24 6 diff --git a/data/base/components/weapons/cybody.pie b/data/base/components/weapons/cybody.pie index 245d1e7a3..c13ca7369 100644 --- a/data/base/components/weapons/cybody.pie +++ b/data/base/components/weapons/cybody.pie @@ -28,13 +28,20 @@ POINTS 24 -10 -6 -8 -6 22 -8 -6 22 8 -POLYGONS 7 - 200 4 3 2 1 0 19 246 1 246 1 230 19 230 - 200 4 7 6 5 4 1 215 19 215 19 231 1 231 - 200 4 11 10 9 8 57 200 66 200 66 214 57 214 - 200 4 15 14 13 12 9 246 9 255 0 255 0 246 - 200 4 16 17 18 19 130 210 139 210 139 200 130 200 - 200 4 19 18 17 16 130 200 139 200 139 210 130 210 - 200 4 23 22 21 20 66 200 57 200 57 214 66 214 +POLYGONS 14 + 200 3 3 2 1 19 246 1 246 1 230 + 200 3 3 1 0 19 246 1 230 19 230 + 200 3 7 6 5 1 215 19 215 19 231 + 200 3 7 5 4 1 215 19 231 1 231 + 200 3 11 10 9 57 200 66 200 66 214 + 200 3 11 9 8 57 200 66 214 57 214 + 200 3 15 14 13 9 246 9 255 0 255 + 200 3 15 13 12 9 246 0 255 0 246 + 200 3 16 17 18 130 210 139 210 139 200 + 200 3 16 18 19 130 210 139 200 130 200 + 200 3 19 18 17 130 200 139 200 139 210 + 200 3 19 17 16 130 200 139 210 130 210 + 200 3 23 22 21 66 200 57 200 57 214 + 200 3 23 21 20 66 200 57 214 66 214 CONNECTORS 1 -16 4 8 diff --git a/data/base/components/weapons/cybodyjp.pie b/data/base/components/weapons/cybodyjp.pie index 40f69ccf9..4fa412569 100644 --- a/data/base/components/weapons/cybodyjp.pie +++ b/data/base/components/weapons/cybodyjp.pie @@ -28,13 +28,20 @@ POINTS 24 -10 -4 -11 -6 32 -11 -6 32 9 -POLYGONS 7 - 200 4 3 2 1 0 188 246 170 246 170 230 188 230 - 200 4 7 6 5 4 170 215 188 215 188 231 170 231 - 200 4 11 10 9 8 160 232 169 232 169 246 160 246 - 200 4 15 14 13 12 178 246 178 255 169 255 169 246 - 200 4 16 17 18 19 130 210 139 210 139 200 130 200 - 200 4 19 18 17 16 130 200 139 200 139 210 130 210 - 200 4 23 22 21 20 169 232 160 232 160 246 169 246 +POLYGONS 14 + 200 3 3 2 1 188 246 170 246 170 230 + 200 3 3 1 0 188 246 170 230 188 230 + 200 3 7 6 5 170 215 188 215 188 231 + 200 3 7 5 4 170 215 188 231 170 231 + 200 3 11 10 9 160 232 169 232 169 246 + 200 3 11 9 8 160 232 169 246 160 246 + 200 3 15 14 13 178 246 178 255 169 255 + 200 3 15 13 12 178 246 169 255 169 246 + 200 3 16 17 18 130 210 139 210 139 200 + 200 3 16 18 19 130 210 139 200 130 200 + 200 3 19 18 17 130 200 139 200 139 210 + 200 3 19 17 16 130 200 139 210 130 210 + 200 3 23 22 21 169 232 160 232 160 246 + 200 3 23 21 20 169 232 160 246 169 246 CONNECTORS 1 -16 4 8 diff --git a/data/base/components/weapons/exturret.pie b/data/base/components/weapons/exturret.pie index 3f158824c..b185612d9 100644 --- a/data/base/components/weapons/exturret.pie +++ b/data/base/components/weapons/exturret.pie @@ -12,10 +12,16 @@ POINTS 8 9 0 -12 4 10 -6 -4 10 -6 -POLYGONS 6 - 200 4 3 2 1 0 115 109 120 109 123 116 112 116 - 200 4 7 6 5 4 122 81 115 81 112 90 125 90 - 200 4 2 3 6 7 114 98 121 98 121 105 114 105 - 200 4 2 7 4 1 122 92 115 90 112 97 125 97 - 200 4 6 3 0 5 115 90 122 92 125 97 112 97 - 200 4 5 0 1 4 112 121 123 121 123 113 112 113 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 115 109 120 109 123 116 + 200 3 3 1 0 115 109 123 116 112 116 + 200 3 7 6 5 122 81 115 81 112 90 + 200 3 7 5 4 122 81 112 90 125 90 + 200 3 2 3 6 114 98 121 98 121 105 + 200 3 2 6 7 114 98 121 105 114 105 + 200 3 2 7 4 122 92 115 90 112 97 + 200 3 2 4 1 122 92 112 97 125 97 + 200 3 6 3 0 115 90 122 92 125 97 + 200 3 6 0 5 115 90 125 97 112 97 + 200 3 5 0 1 112 121 123 121 123 113 + 200 3 5 1 4 112 121 123 113 112 113 \ No newline at end of file diff --git a/data/base/components/weapons/gnhair.pie b/data/base/components/weapons/gnhair.pie index c067496cf..fe20fcddb 100644 --- a/data/base/components/weapons/gnhair.pie +++ b/data/base/components/weapons/gnhair.pie @@ -36,26 +36,46 @@ POINTS 32 11 4 -22 8 7 -22 5 4 -22 -POLYGONS 20 - 200 4 3 2 1 0 164 36 157 36 157 28 164 28 - 200 4 0 1 5 4 196 19 191 19 191 0 196 0 - 200 4 1 2 6 5 196 19 191 19 191 0 196 0 - 200 4 2 3 7 6 196 19 191 19 191 0 196 0 - 200 4 3 0 4 7 196 19 191 19 191 0 196 0 - 200 4 11 10 9 8 164 36 157 36 157 28 164 28 - 200 4 8 9 13 12 196 19 191 19 191 0 196 0 - 200 4 9 10 14 13 196 19 191 19 191 0 196 0 - 200 4 10 11 15 14 196 19 191 19 191 0 196 0 - 200 4 11 8 12 15 196 19 191 19 191 0 196 0 - 200 4 19 18 17 16 196 19 191 19 191 0 196 0 - 200 4 18 21 20 17 196 19 191 19 191 0 196 0 - 200 4 21 23 22 20 196 19 191 19 191 0 196 0 - 200 4 23 19 16 22 196 19 191 19 191 0 196 0 - 200 4 23 21 18 19 164 36 157 36 157 28 164 28 - 200 4 27 26 25 24 164 36 157 36 157 28 164 28 - 200 4 24 25 29 28 196 19 191 19 191 0 196 0 - 200 4 25 26 30 29 196 19 191 19 191 0 196 0 - 200 4 26 27 31 30 196 19 191 19 191 0 196 0 - 200 4 27 24 28 31 196 19 191 19 191 0 196 0 +POLYGONS 40 + 200 3 3 2 1 164 36 157 36 157 28 + 200 3 3 1 0 164 36 157 28 164 28 + 200 3 0 1 5 196 19 191 19 191 0 + 200 3 0 5 4 196 19 191 0 196 0 + 200 3 1 2 6 196 19 191 19 191 0 + 200 3 1 6 5 196 19 191 0 196 0 + 200 3 2 3 7 196 19 191 19 191 0 + 200 3 2 7 6 196 19 191 0 196 0 + 200 3 3 0 4 196 19 191 19 191 0 + 200 3 3 4 7 196 19 191 0 196 0 + 200 3 11 10 9 164 36 157 36 157 28 + 200 3 11 9 8 164 36 157 28 164 28 + 200 3 8 9 13 196 19 191 19 191 0 + 200 3 8 13 12 196 19 191 0 196 0 + 200 3 9 10 14 196 19 191 19 191 0 + 200 3 9 14 13 196 19 191 0 196 0 + 200 3 10 11 15 196 19 191 19 191 0 + 200 3 10 15 14 196 19 191 0 196 0 + 200 3 11 8 12 196 19 191 19 191 0 + 200 3 11 12 15 196 19 191 0 196 0 + 200 3 19 18 17 196 19 191 19 191 0 + 200 3 19 17 16 196 19 191 0 196 0 + 200 3 18 21 20 196 19 191 19 191 0 + 200 3 18 20 17 196 19 191 0 196 0 + 200 3 21 23 22 196 19 191 19 191 0 + 200 3 21 22 20 196 19 191 0 196 0 + 200 3 23 19 16 196 19 191 19 191 0 + 200 3 23 16 22 196 19 191 0 196 0 + 200 3 23 21 18 164 36 157 36 157 28 + 200 3 23 18 19 164 36 157 28 164 28 + 200 3 27 26 25 164 36 157 36 157 28 + 200 3 27 25 24 164 36 157 28 164 28 + 200 3 24 25 29 196 19 191 19 191 0 + 200 3 24 29 28 196 19 191 0 196 0 + 200 3 25 26 30 196 19 191 19 191 0 + 200 3 25 30 29 196 19 191 0 196 0 + 200 3 26 27 31 196 19 191 19 191 0 + 200 3 26 31 30 196 19 191 0 196 0 + 200 3 27 24 28 196 19 191 19 191 0 + 200 3 27 28 31 196 19 191 0 196 0 CONNECTORS 1 0 -44 14 diff --git a/data/base/components/weapons/gnhair2.pie b/data/base/components/weapons/gnhair2.pie index 60294f9ff..29a35a43b 100644 --- a/data/base/components/weapons/gnhair2.pie +++ b/data/base/components/weapons/gnhair2.pie @@ -29,24 +29,38 @@ POINTS 25 15 2 -21 15 15 -21 15 15 -12 -POLYGONS 18 - 200 4 3 2 1 0 44 48 47 48 47 60 44 60 - 200 4 2 5 4 1 44 48 47 48 47 60 44 60 - 200 4 5 7 6 4 44 48 47 48 47 60 44 60 - 200 4 7 3 0 6 44 48 47 48 47 60 44 60 - 200 4 7 5 2 3 65 66 70 61 76 67 71 72 - 200 4 11 10 9 8 9 190 0 190 0 182 9 182 +POLYGONS 32 + 200 3 3 2 1 44 48 47 48 47 60 + 200 3 3 1 0 44 48 47 60 44 60 + 200 3 2 5 4 44 48 47 48 47 60 + 200 3 2 4 1 44 48 47 60 44 60 + 200 3 5 7 6 44 48 47 48 47 60 + 200 3 5 6 4 44 48 47 60 44 60 + 200 3 7 3 0 44 48 47 48 47 60 + 200 3 7 0 6 44 48 47 60 44 60 + 200 3 7 5 2 65 66 70 61 76 67 + 200 3 7 2 3 65 66 76 67 71 72 + 200 3 11 10 9 9 190 0 190 0 182 + 200 3 11 9 8 9 190 0 182 9 182 200 3 12 9 10 0 182 9 190 0 190 - 200 4 10 11 13 12 9 190 0 190 0 182 9 182 + 200 3 10 11 13 9 190 0 190 0 182 + 200 3 10 13 12 9 190 0 182 9 182 200 3 13 11 8 9 182 9 190 0 190 - 200 4 17 16 15 14 44 48 47 48 47 60 44 60 - 200 4 16 19 18 15 44 48 47 48 47 60 44 60 - 200 4 19 21 20 18 44 48 47 48 47 60 44 60 - 200 4 21 17 14 20 44 48 47 48 47 60 44 60 - 200 4 21 19 16 17 65 66 70 61 76 67 71 72 - 200 4 10 23 22 9 9 190 0 190 0 182 9 182 + 200 3 17 16 15 44 48 47 48 47 60 + 200 3 17 15 14 44 48 47 60 44 60 + 200 3 16 19 18 44 48 47 48 47 60 + 200 3 16 18 15 44 48 47 60 44 60 + 200 3 19 21 20 44 48 47 48 47 60 + 200 3 19 20 18 44 48 47 60 44 60 + 200 3 21 17 14 44 48 47 48 47 60 + 200 3 21 14 20 44 48 47 60 44 60 + 200 3 21 19 16 65 66 70 61 76 67 + 200 3 21 16 17 65 66 76 67 71 72 + 200 3 10 23 22 9 190 0 190 0 182 + 200 3 10 22 9 9 190 0 182 9 182 200 3 24 22 23 0 182 9 190 0 190 - 200 4 23 10 12 24 9 190 0 190 0 182 9 182 + 200 3 23 10 12 9 190 0 190 0 182 + 200 3 23 12 24 9 190 0 182 9 182 200 3 12 10 9 9 182 9 190 0 190 CONNECTORS 1 0 -55 8 diff --git a/data/base/components/weapons/gnhblas.pie b/data/base/components/weapons/gnhblas.pie index 36bd42992..9118d25c7 100644 --- a/data/base/components/weapons/gnhblas.pie +++ b/data/base/components/weapons/gnhblas.pie @@ -24,46 +24,86 @@ POINTS 20 1 1 -22 0 6 -60 -1 1 -22 -POLYGONS 40 - 200 4 0 1 2 3 207 29 234 29 229 24 209 25 - 200 4 3 2 1 0 209 25 229 24 234 29 207 29 - 200 4 4 5 0 3 209 25 207 29 207 29 209 25 - 200 4 3 0 5 4 209 25 207 29 207 29 209 25 - 200 4 6 7 2 1 234 29 229 24 229 24 234 29 - 200 4 1 2 7 6 234 29 229 24 229 24 234 29 - 200 4 7 4 3 2 229 24 209 25 209 25 229 24 - 200 4 2 3 4 7 229 24 209 25 209 25 229 24 - 200 4 5 6 7 4 207 29 234 29 229 24 209 25 - 200 4 4 7 6 5 209 25 229 24 234 29 207 29 - 200 4 0 8 9 10 207 29 234 29 229 24 209 25 - 200 4 10 9 8 0 209 25 229 24 234 29 207 29 - 200 4 10 0 0 10 209 25 207 29 207 29 209 25 - 200 4 10 0 0 10 209 25 207 29 207 29 209 25 - 200 4 1 11 9 8 234 29 229 24 229 24 234 29 - 200 4 8 9 11 1 234 29 229 24 229 24 234 29 - 200 4 11 10 10 9 229 24 209 25 209 25 229 24 - 200 4 9 10 10 11 229 24 209 25 209 25 229 24 - 200 4 0 1 11 10 207 29 234 29 229 24 209 25 - 200 4 10 11 1 0 209 25 229 24 234 29 207 29 - 200 4 5 12 13 14 207 29 234 29 229 24 209 25 - 200 4 14 13 12 5 209 25 229 24 234 29 207 29 - 200 4 15 0 5 14 209 25 207 29 207 29 209 25 - 200 4 14 5 0 15 209 25 207 29 207 29 209 25 - 200 4 8 16 13 12 234 29 229 24 229 24 234 29 - 200 4 12 13 16 8 234 29 229 24 229 24 234 29 - 200 4 16 15 14 13 229 24 209 25 209 25 229 24 - 200 4 13 14 15 16 229 24 209 25 209 25 229 24 - 200 4 0 8 16 15 207 29 234 29 229 24 209 25 - 200 4 15 16 8 0 209 25 229 24 234 29 207 29 - 200 4 5 6 17 18 207 29 234 29 229 24 209 25 - 200 4 18 17 6 5 209 25 229 24 234 29 207 29 - 200 4 18 5 5 18 209 25 207 29 207 29 209 25 - 200 4 18 5 5 18 209 25 207 29 207 29 209 25 - 200 4 12 19 17 6 234 29 229 24 229 24 234 29 - 200 4 6 17 19 12 234 29 229 24 229 24 234 29 - 200 4 19 18 18 17 229 24 209 25 209 25 229 24 - 200 4 17 18 18 19 229 24 209 25 209 25 229 24 - 200 4 5 12 19 18 207 29 234 29 229 24 209 25 - 200 4 18 19 12 5 209 25 229 24 234 29 207 29 +POLYGONS 80 + 200 3 0 1 2 207 29 234 29 229 24 + 200 3 0 2 3 207 29 229 24 209 25 + 200 3 3 2 1 209 25 229 24 234 29 + 200 3 3 1 0 209 25 234 29 207 29 + 200 3 4 5 0 209 25 207 29 207 29 + 200 3 4 0 3 209 25 207 29 209 25 + 200 3 3 0 5 209 25 207 29 207 29 + 200 3 3 5 4 209 25 207 29 209 25 + 200 3 6 7 2 234 29 229 24 229 24 + 200 3 6 2 1 234 29 229 24 234 29 + 200 3 1 2 7 234 29 229 24 229 24 + 200 3 1 7 6 234 29 229 24 234 29 + 200 3 7 4 3 229 24 209 25 209 25 + 200 3 7 3 2 229 24 209 25 229 24 + 200 3 2 3 4 229 24 209 25 209 25 + 200 3 2 4 7 229 24 209 25 229 24 + 200 3 5 6 7 207 29 234 29 229 24 + 200 3 5 7 4 207 29 229 24 209 25 + 200 3 4 7 6 209 25 229 24 234 29 + 200 3 4 6 5 209 25 234 29 207 29 + 200 3 0 8 9 207 29 234 29 229 24 + 200 3 0 9 10 207 29 229 24 209 25 + 200 3 10 9 8 209 25 229 24 234 29 + 200 3 10 8 0 209 25 234 29 207 29 + 200 3 10 0 0 209 25 207 29 207 29 + 200 3 10 0 10 209 25 207 29 209 25 + 200 3 10 0 0 209 25 207 29 207 29 + 200 3 10 0 10 209 25 207 29 209 25 + 200 3 1 11 9 234 29 229 24 229 24 + 200 3 1 9 8 234 29 229 24 234 29 + 200 3 8 9 11 234 29 229 24 229 24 + 200 3 8 11 1 234 29 229 24 234 29 + 200 3 11 10 10 229 24 209 25 209 25 + 200 3 11 10 9 229 24 209 25 229 24 + 200 3 9 10 10 229 24 209 25 209 25 + 200 3 9 10 11 229 24 209 25 229 24 + 200 3 0 1 11 207 29 234 29 229 24 + 200 3 0 11 10 207 29 229 24 209 25 + 200 3 10 11 1 209 25 229 24 234 29 + 200 3 10 1 0 209 25 234 29 207 29 + 200 3 5 12 13 207 29 234 29 229 24 + 200 3 5 13 14 207 29 229 24 209 25 + 200 3 14 13 12 209 25 229 24 234 29 + 200 3 14 12 5 209 25 234 29 207 29 + 200 3 15 0 5 209 25 207 29 207 29 + 200 3 15 5 14 209 25 207 29 209 25 + 200 3 14 5 0 209 25 207 29 207 29 + 200 3 14 0 15 209 25 207 29 209 25 + 200 3 8 16 13 234 29 229 24 229 24 + 200 3 8 13 12 234 29 229 24 234 29 + 200 3 12 13 16 234 29 229 24 229 24 + 200 3 12 16 8 234 29 229 24 234 29 + 200 3 16 15 14 229 24 209 25 209 25 + 200 3 16 14 13 229 24 209 25 229 24 + 200 3 13 14 15 229 24 209 25 209 25 + 200 3 13 15 16 229 24 209 25 229 24 + 200 3 0 8 16 207 29 234 29 229 24 + 200 3 0 16 15 207 29 229 24 209 25 + 200 3 15 16 8 209 25 229 24 234 29 + 200 3 15 8 0 209 25 234 29 207 29 + 200 3 5 6 17 207 29 234 29 229 24 + 200 3 5 17 18 207 29 229 24 209 25 + 200 3 18 17 6 209 25 229 24 234 29 + 200 3 18 6 5 209 25 234 29 207 29 + 200 3 18 5 5 209 25 207 29 207 29 + 200 3 18 5 18 209 25 207 29 209 25 + 200 3 18 5 5 209 25 207 29 207 29 + 200 3 18 5 18 209 25 207 29 209 25 + 200 3 12 19 17 234 29 229 24 229 24 + 200 3 12 17 6 234 29 229 24 234 29 + 200 3 6 17 19 234 29 229 24 229 24 + 200 3 6 19 12 234 29 229 24 234 29 + 200 3 19 18 18 229 24 209 25 209 25 + 200 3 19 18 17 229 24 209 25 229 24 + 200 3 17 18 18 229 24 209 25 209 25 + 200 3 17 18 19 229 24 209 25 229 24 + 200 3 5 12 19 207 29 234 29 229 24 + 200 3 5 19 18 207 29 229 24 209 25 + 200 3 18 19 12 209 25 229 24 234 29 + 200 3 18 12 5 209 25 234 29 207 29 CONNECTORS 1 0 -66 12 diff --git a/data/base/components/weapons/gnhcan.pie b/data/base/components/weapons/gnhcan.pie index 6eb64f731..8479f1741 100644 --- a/data/base/components/weapons/gnhcan.pie +++ b/data/base/components/weapons/gnhcan.pie @@ -12,11 +12,16 @@ POINTS 8 5 7 -16 0 12 -11 -5 7 -16 -POLYGONS 5 - 200 4 3 2 1 0 15 63 13 63 13 61 15 61 - 200 4 0 1 5 4 5 72 1 72 1 50 5 52 - 200 4 1 2 6 5 5 72 1 72 1 48 5 50 - 200 4 2 3 7 6 5 72 1 72 1 50 5 48 - 200 4 3 0 4 7 5 72 1 72 1 52 5 50 +POLYGONS 10 + 200 3 3 2 1 15 63 13 63 13 61 + 200 3 3 1 0 15 63 13 61 15 61 + 200 3 0 1 5 5 72 1 72 1 50 + 200 3 0 5 4 5 72 1 50 5 52 + 200 3 1 2 6 5 72 1 72 1 48 + 200 3 1 6 5 5 72 1 48 5 50 + 200 3 2 3 7 5 72 1 72 1 50 + 200 3 2 7 6 5 72 1 50 5 48 + 200 3 3 0 4 5 72 1 72 1 52 + 200 3 3 4 7 5 72 1 52 5 50 CONNECTORS 1 0 -77 7 diff --git a/data/base/components/weapons/gnhecm3.pie b/data/base/components/weapons/gnhecm3.pie index b6581803b..b94082d4c 100644 --- a/data/base/components/weapons/gnhecm3.pie +++ b/data/base/components/weapons/gnhecm3.pie @@ -18,20 +18,26 @@ POINTS 14 16 6 9 -15 6 9 6 41 24 -POLYGONS 14 +POLYGONS 20 200 3 9 2 3 222 77 210 74 210 74 200 3 2 9 10 210 74 222 77 210 57 200 3 10 9 3 210 57 222 77 210 74 200 3 3 5 10 210 74 210 70 210 57 200 3 10 5 2 210 57 210 70 210 74 - 200 4 3 0 4 13 222 52 220 82 210 82 221 52 - 200 4 6 4 0 11 142 151 151 140 165 140 162 151 - 200 4 4 6 12 1 151 140 142 151 162 151 165 140 - 200 4 2 5 4 1 222 52 215 52 210 82 220 82 + 200 3 3 0 4 222 52 220 82 210 82 + 200 3 3 4 13 222 52 210 82 221 52 + 200 3 6 4 0 142 151 151 140 165 140 + 200 3 6 0 11 142 151 165 140 162 151 + 200 3 4 6 12 151 140 142 151 162 151 + 200 3 4 12 1 151 140 162 151 165 140 + 200 3 2 5 4 222 52 215 52 210 82 + 200 3 2 4 1 222 52 210 82 220 82 200 3 5 13 4 215 52 221 52 210 82 - 200 4 3 2 1 0 238 71 236 71 236 102 238 102 + 200 3 3 2 1 238 71 236 71 236 102 + 200 3 3 1 0 238 71 236 102 238 102 200 3 8 1 12 168 151 165 140 162 151 200 3 7 11 0 168 151 162 151 165 140 - 200 4 0 1 8 7 165 140 165 140 168 151 168 151 + 200 3 0 1 8 165 140 165 140 168 151 + 200 3 0 8 7 165 140 168 151 168 151 CONNECTORS 1 0 -40 41 diff --git a/data/base/components/weapons/gnhgss.pie b/data/base/components/weapons/gnhgss.pie index 1cff8e639..bd6cebb8f 100644 --- a/data/base/components/weapons/gnhgss.pie +++ b/data/base/components/weapons/gnhgss.pie @@ -14,12 +14,20 @@ POINTS 10 0 20 4 0 20 -69 -6 14 4 -POLYGONS 8 - 200 4 0 1 2 3 152 61 158 63 158 40 152 40 - 200 4 3 2 1 0 152 40 158 40 158 63 152 61 - 200 4 4 0 3 5 152 63 158 61 158 40 152 40 - 200 4 5 3 0 4 152 40 158 40 158 61 152 63 - 200 4 6 7 8 2 152 72 158 72 158 40 152 40 - 200 4 2 8 7 6 152 40 158 40 158 72 152 72 - 200 4 7 9 5 8 152 72 158 72 158 40 152 40 - 200 4 8 5 9 7 152 40 158 40 158 72 152 72 +POLYGONS 16 + 200 3 0 1 2 152 61 158 63 158 40 + 200 3 0 2 3 152 61 158 40 152 40 + 200 3 3 2 1 152 40 158 40 158 63 + 200 3 3 1 0 152 40 158 63 152 61 + 200 3 4 0 3 152 63 158 61 158 40 + 200 3 4 3 5 152 63 158 40 152 40 + 200 3 5 3 0 152 40 158 40 158 61 + 200 3 5 0 4 152 40 158 61 152 63 + 200 3 6 7 8 152 72 158 72 158 40 + 200 3 6 8 2 152 72 158 40 152 40 + 200 3 2 8 7 152 40 158 40 158 72 + 200 3 2 7 6 152 40 158 72 152 72 + 200 3 7 9 5 152 72 158 72 158 40 + 200 3 7 5 8 152 72 158 40 152 40 + 200 3 8 5 9 152 40 158 40 158 72 + 200 3 8 9 7 152 40 158 72 152 72 \ No newline at end of file diff --git a/data/base/components/weapons/gnhhowt.pie b/data/base/components/weapons/gnhhowt.pie index 7779a778f..93cbbb25c 100644 --- a/data/base/components/weapons/gnhhowt.pie +++ b/data/base/components/weapons/gnhhowt.pie @@ -28,22 +28,38 @@ POINTS 24 10 11 0 10 24 0 10 24 -18 -POLYGONS 16 - 200 4 3 2 1 0 160 74 160 62 172 62 172 74 - 200 4 7 6 5 4 225 155 221 155 225 155 228 155 - 200 4 0 1 7 4 228 173 225 173 225 155 228 155 - 200 4 1 2 6 7 225 173 221 173 221 155 225 155 - 200 4 2 3 5 6 221 173 225 173 225 155 221 155 - 200 4 3 0 4 5 225 173 228 173 228 155 225 155 - 200 4 11 10 9 8 61 48 60 48 51 48 49 48 - 200 4 15 14 13 12 51 57 60 57 61 57 49 57 - 200 4 13 14 10 11 61 57 60 57 60 48 61 48 - 200 4 14 15 9 10 60 57 51 57 51 48 60 48 - 200 4 15 12 8 9 51 57 49 57 49 48 51 48 - 200 4 19 18 17 16 77 71 77 61 90 61 90 71 - 200 4 23 22 21 20 77 61 90 61 90 71 77 71 - 200 4 21 22 18 19 77 71 77 61 90 61 90 71 - 200 4 22 23 17 18 90 61 90 71 77 71 77 61 - 200 4 23 20 16 17 90 61 90 71 77 71 77 61 +POLYGONS 32 + 200 3 3 2 1 160 74 160 62 172 62 + 200 3 3 1 0 160 74 172 62 172 74 + 200 3 7 6 5 225 155 221 155 225 155 + 200 3 7 5 4 225 155 225 155 228 155 + 200 3 0 1 7 228 173 225 173 225 155 + 200 3 0 7 4 228 173 225 155 228 155 + 200 3 1 2 6 225 173 221 173 221 155 + 200 3 1 6 7 225 173 221 155 225 155 + 200 3 2 3 5 221 173 225 173 225 155 + 200 3 2 5 6 221 173 225 155 221 155 + 200 3 3 0 4 225 173 228 173 228 155 + 200 3 3 4 5 225 173 228 155 225 155 + 200 3 11 10 9 61 48 60 48 51 48 + 200 3 11 9 8 61 48 51 48 49 48 + 200 3 15 14 13 51 57 60 57 61 57 + 200 3 15 13 12 51 57 61 57 49 57 + 200 3 13 14 10 61 57 60 57 60 48 + 200 3 13 10 11 61 57 60 48 61 48 + 200 3 14 15 9 60 57 51 57 51 48 + 200 3 14 9 10 60 57 51 48 60 48 + 200 3 15 12 8 51 57 49 57 49 48 + 200 3 15 8 9 51 57 49 48 51 48 + 200 3 19 18 17 77 71 77 61 90 61 + 200 3 19 17 16 77 71 90 61 90 71 + 200 3 23 22 21 77 61 90 61 90 71 + 200 3 23 21 20 77 61 90 71 77 71 + 200 3 21 22 18 77 71 77 61 90 61 + 200 3 21 18 19 77 71 90 61 90 71 + 200 3 22 23 17 90 61 90 71 77 71 + 200 3 22 17 18 90 61 77 71 77 61 + 200 3 23 20 16 90 61 90 71 77 71 + 200 3 23 16 17 90 61 77 71 77 61 CONNECTORS 1 0 -75 18 diff --git a/data/base/components/weapons/gnhhowt2.pie b/data/base/components/weapons/gnhhowt2.pie index d29642967..3cd546daf 100644 --- a/data/base/components/weapons/gnhhowt2.pie +++ b/data/base/components/weapons/gnhhowt2.pie @@ -36,29 +36,52 @@ POINTS 32 -3 25 -16 0 29 -16 3 25 -16 -POLYGONS 23 - 200 4 3 2 1 0 160 74 160 62 172 62 172 74 - 200 4 7 6 5 4 225 155 221 155 225 155 228 155 - 200 4 0 1 7 4 228 173 225 173 225 155 228 155 - 200 4 1 2 6 7 225 173 221 173 221 155 225 155 - 200 4 2 3 5 6 221 173 225 173 225 155 221 155 - 200 4 3 0 4 5 225 173 228 173 228 155 225 155 - 200 4 11 10 9 8 225 155 221 155 225 155 228 155 - 200 4 13 12 11 8 228 173 225 173 225 155 228 155 - 200 4 12 14 10 11 225 173 221 173 221 155 225 155 - 200 4 14 15 9 10 221 173 225 173 225 155 221 155 - 200 4 15 13 8 9 225 173 228 173 228 155 225 155 - 200 4 19 18 17 16 77 71 77 61 90 61 90 71 - 200 4 23 22 21 20 77 61 90 61 90 71 77 71 - 200 4 21 22 18 19 77 71 77 61 90 61 90 71 - 200 4 22 23 17 18 90 61 90 71 77 71 77 61 - 200 4 23 20 16 17 90 61 90 71 77 71 77 61 - 200 4 15 14 12 13 160 74 160 62 172 62 172 74 - 200 4 27 26 25 24 160 74 160 62 172 62 172 74 - 200 4 31 30 29 28 225 155 221 155 225 155 228 155 - 200 4 24 25 31 28 228 173 225 173 225 155 228 155 - 200 4 25 26 30 31 225 173 221 173 221 155 225 155 - 200 4 26 27 29 30 221 173 225 173 225 155 221 155 - 200 4 27 24 28 29 225 173 228 173 228 155 225 155 +POLYGONS 46 + 200 3 3 2 1 160 74 160 62 172 62 + 200 3 3 1 0 160 74 172 62 172 74 + 200 3 7 6 5 225 155 221 155 225 155 + 200 3 7 5 4 225 155 225 155 228 155 + 200 3 0 1 7 228 173 225 173 225 155 + 200 3 0 7 4 228 173 225 155 228 155 + 200 3 1 2 6 225 173 221 173 221 155 + 200 3 1 6 7 225 173 221 155 225 155 + 200 3 2 3 5 221 173 225 173 225 155 + 200 3 2 5 6 221 173 225 155 221 155 + 200 3 3 0 4 225 173 228 173 228 155 + 200 3 3 4 5 225 173 228 155 225 155 + 200 3 11 10 9 225 155 221 155 225 155 + 200 3 11 9 8 225 155 225 155 228 155 + 200 3 13 12 11 228 173 225 173 225 155 + 200 3 13 11 8 228 173 225 155 228 155 + 200 3 12 14 10 225 173 221 173 221 155 + 200 3 12 10 11 225 173 221 155 225 155 + 200 3 14 15 9 221 173 225 173 225 155 + 200 3 14 9 10 221 173 225 155 221 155 + 200 3 15 13 8 225 173 228 173 228 155 + 200 3 15 8 9 225 173 228 155 225 155 + 200 3 19 18 17 77 71 77 61 90 61 + 200 3 19 17 16 77 71 90 61 90 71 + 200 3 23 22 21 77 61 90 61 90 71 + 200 3 23 21 20 77 61 90 71 77 71 + 200 3 21 22 18 77 71 77 61 90 61 + 200 3 21 18 19 77 71 90 61 90 71 + 200 3 22 23 17 90 61 90 71 77 71 + 200 3 22 17 18 90 61 77 71 77 61 + 200 3 23 20 16 90 61 90 71 77 71 + 200 3 23 16 17 90 61 77 71 77 61 + 200 3 15 14 12 160 74 160 62 172 62 + 200 3 15 12 13 160 74 172 62 172 74 + 200 3 27 26 25 160 74 160 62 172 62 + 200 3 27 25 24 160 74 172 62 172 74 + 200 3 31 30 29 225 155 221 155 225 155 + 200 3 31 29 28 225 155 225 155 228 155 + 200 3 24 25 31 228 173 225 173 225 155 + 200 3 24 31 28 228 173 225 155 228 155 + 200 3 25 26 30 225 173 221 173 221 155 + 200 3 25 30 31 225 173 221 155 225 155 + 200 3 26 27 29 221 173 225 173 225 155 + 200 3 26 29 30 221 173 225 155 221 155 + 200 3 27 24 28 225 173 228 173 228 155 + 200 3 27 28 29 225 173 228 155 225 155 CONNECTORS 1 0 -61 20 diff --git a/data/base/components/weapons/gnhmort.pie b/data/base/components/weapons/gnhmort.pie index a800e3520..309c69423 100644 --- a/data/base/components/weapons/gnhmort.pie +++ b/data/base/components/weapons/gnhmort.pie @@ -43,22 +43,38 @@ POINTS 39 5 9 -26 0 14 -6 0 14 -26 -POLYGONS 16 - 200 4 3 2 1 0 165 37 156 37 156 28 165 28 - 200 4 7 6 5 4 165 37 156 37 156 28 165 28 - 200 4 11 10 9 8 126 72 126 76 142 76 142 72 - 200 4 10 13 12 9 126 76 126 72 142 72 142 76 - 200 4 13 15 14 12 126 72 126 68 142 68 142 72 - 200 4 15 11 8 14 126 68 126 72 142 72 142 68 - 200 4 19 18 17 16 126 72 126 76 142 76 142 72 - 200 4 18 21 20 17 126 76 126 72 142 72 142 76 - 200 4 21 23 22 20 126 72 126 68 142 68 142 72 - 200 4 23 19 16 22 126 68 126 72 142 72 142 68 - 200 4 26 4 25 24 165 37 156 37 156 28 165 28 - 200 4 30 29 28 27 193 176 196 156 177 156 180 176 - 200 4 34 33 32 31 126 72 126 76 142 76 142 72 - 200 4 33 36 35 32 126 76 126 72 142 72 142 76 - 200 4 36 38 37 35 126 72 126 68 142 68 142 72 - 200 4 38 34 31 37 126 68 126 72 142 72 142 68 +POLYGONS 32 + 200 3 3 2 1 165 37 156 37 156 28 + 200 3 3 1 0 165 37 156 28 165 28 + 200 3 7 6 5 165 37 156 37 156 28 + 200 3 7 5 4 165 37 156 28 165 28 + 200 3 11 10 9 126 72 126 76 142 76 + 200 3 11 9 8 126 72 142 76 142 72 + 200 3 10 13 12 126 76 126 72 142 72 + 200 3 10 12 9 126 76 142 72 142 76 + 200 3 13 15 14 126 72 126 68 142 68 + 200 3 13 14 12 126 72 142 68 142 72 + 200 3 15 11 8 126 68 126 72 142 72 + 200 3 15 8 14 126 68 142 72 142 68 + 200 3 19 18 17 126 72 126 76 142 76 + 200 3 19 17 16 126 72 142 76 142 72 + 200 3 18 21 20 126 76 126 72 142 72 + 200 3 18 20 17 126 76 142 72 142 76 + 200 3 21 23 22 126 72 126 68 142 68 + 200 3 21 22 20 126 72 142 68 142 72 + 200 3 23 19 16 126 68 126 72 142 72 + 200 3 23 16 22 126 68 142 72 142 68 + 200 3 26 4 25 165 37 156 37 156 28 + 200 3 26 25 24 165 37 156 28 165 28 + 200 3 30 29 28 193 176 196 156 177 156 + 200 3 30 28 27 193 176 177 156 180 176 + 200 3 34 33 32 126 72 126 76 142 76 + 200 3 34 32 31 126 72 142 76 142 72 + 200 3 33 36 35 126 76 126 72 142 72 + 200 3 33 35 32 126 76 142 72 142 76 + 200 3 36 38 37 126 72 126 68 142 68 + 200 3 36 37 35 126 72 142 68 142 72 + 200 3 38 34 31 126 68 126 72 142 72 + 200 3 38 31 37 126 68 142 72 142 68 CONNECTORS 1 0 -28 9 diff --git a/data/base/components/weapons/gnhmort2.pie b/data/base/components/weapons/gnhmort2.pie index 6efc5f492..6b0065787 100644 --- a/data/base/components/weapons/gnhmort2.pie +++ b/data/base/components/weapons/gnhmort2.pie @@ -25,29 +25,52 @@ POINTS 21 -12 4 -4 -6 -7 -4 6 -7 -4 -POLYGONS 23 - 200 4 0 1 2 3 104 140 104 153 111 151 111 140 - 200 4 3 2 1 0 111 140 111 151 104 153 104 140 - 200 4 4 5 6 7 111 140 104 140 104 151 111 153 - 200 4 7 6 5 4 111 153 104 151 104 140 111 140 - 200 4 0 3 5 4 104 153 111 153 111 140 104 140 - 200 4 4 5 3 0 104 140 111 140 111 153 104 153 - 200 4 3 2 6 5 104 153 110 153 110 140 104 140 - 200 4 5 6 2 3 104 140 110 140 110 153 104 153 - 200 4 2 1 7 6 104 153 111 153 111 140 104 140 - 200 4 6 7 1 2 104 140 111 140 111 153 104 153 - 200 4 1 0 4 7 104 153 111 153 111 140 104 140 - 200 4 7 4 0 1 104 140 111 140 111 153 104 153 - 200 4 11 10 9 8 159 29 157 33 159 37 161 33 - 200 4 13 12 11 8 165 33 163 29 159 29 161 33 - 200 4 9 14 13 8 159 37 163 37 165 33 161 33 - 200 4 10 11 16 15 127 72 127 68 142 68 142 72 - 200 4 11 12 17 16 127 68 127 68 142 68 142 68 - 200 4 12 13 18 17 127 68 127 72 142 72 142 68 - 200 4 13 14 19 18 127 72 127 75 142 75 142 72 - 200 4 14 9 20 19 127 75 127 75 142 75 142 75 - 200 4 9 10 15 20 127 75 127 72 142 72 142 75 - 200 4 15 18 19 20 130 76 128 76 129 77 129 77 - 200 4 15 16 17 18 130 76 129 75 129 75 128 76 +POLYGONS 46 + 200 3 0 1 2 104 140 104 153 111 151 + 200 3 0 2 3 104 140 111 151 111 140 + 200 3 3 2 1 111 140 111 151 104 153 + 200 3 3 1 0 111 140 104 153 104 140 + 200 3 4 5 6 111 140 104 140 104 151 + 200 3 4 6 7 111 140 104 151 111 153 + 200 3 7 6 5 111 153 104 151 104 140 + 200 3 7 5 4 111 153 104 140 111 140 + 200 3 0 3 5 104 153 111 153 111 140 + 200 3 0 5 4 104 153 111 140 104 140 + 200 3 4 5 3 104 140 111 140 111 153 + 200 3 4 3 0 104 140 111 153 104 153 + 200 3 3 2 6 104 153 110 153 110 140 + 200 3 3 6 5 104 153 110 140 104 140 + 200 3 5 6 2 104 140 110 140 110 153 + 200 3 5 2 3 104 140 110 153 104 153 + 200 3 2 1 7 104 153 111 153 111 140 + 200 3 2 7 6 104 153 111 140 104 140 + 200 3 6 7 1 104 140 111 140 111 153 + 200 3 6 1 2 104 140 111 153 104 153 + 200 3 1 0 4 104 153 111 153 111 140 + 200 3 1 4 7 104 153 111 140 104 140 + 200 3 7 4 0 104 140 111 140 111 153 + 200 3 7 0 1 104 140 111 153 104 153 + 200 3 11 10 9 159 29 157 33 159 37 + 200 3 11 9 8 159 29 159 37 161 33 + 200 3 13 12 11 165 33 163 29 159 29 + 200 3 13 11 8 165 33 159 29 161 33 + 200 3 9 14 13 159 37 163 37 165 33 + 200 3 9 13 8 159 37 165 33 161 33 + 200 3 10 11 16 127 72 127 68 142 68 + 200 3 10 16 15 127 72 142 68 142 72 + 200 3 11 12 17 127 68 127 68 142 68 + 200 3 11 17 16 127 68 142 68 142 68 + 200 3 12 13 18 127 68 127 72 142 72 + 200 3 12 18 17 127 68 142 72 142 68 + 200 3 13 14 19 127 72 127 75 142 75 + 200 3 13 19 18 127 72 142 75 142 72 + 200 3 14 9 20 127 75 127 75 142 75 + 200 3 14 20 19 127 75 142 75 142 75 + 200 3 9 10 15 127 75 127 72 142 72 + 200 3 9 15 20 127 75 142 72 142 75 + 200 3 15 18 19 130 76 128 76 129 77 + 200 3 15 19 20 130 76 129 77 129 77 + 200 3 15 16 17 130 76 129 75 129 75 + 200 3 15 17 18 130 76 129 75 128 76 CONNECTORS 1 0 -35 4 diff --git a/data/base/components/weapons/gnhmsl.pie b/data/base/components/weapons/gnhmsl.pie index 807a1b558..7f9e61ac3 100644 --- a/data/base/components/weapons/gnhmsl.pie +++ b/data/base/components/weapons/gnhmsl.pie @@ -10,13 +10,18 @@ POINTS 6 7 3 -1 7 5 0 7 19 -91 -POLYGONS 7 +POLYGONS 12 200 3 2 1 0 240 71 240 76 256 98 200 3 5 4 3 256 98 240 76 240 71 - 200 4 1 0 5 4 246 40 246 69 236 69 236 40 - 200 4 4 5 0 1 236 40 236 69 246 69 246 40 - 200 4 3 2 1 4 236 40 246 40 246 40 236 40 - 200 4 4 1 2 3 236 40 246 40 246 40 236 40 - 200 4 0 5 3 2 15 192 2 192 1 208 14 208 + 200 3 1 0 5 246 40 246 69 236 69 + 200 3 1 5 4 246 40 236 69 236 40 + 200 3 4 5 0 236 40 236 69 246 69 + 200 3 4 0 1 236 40 246 69 246 40 + 200 3 3 2 1 236 40 246 40 246 40 + 200 3 3 1 4 236 40 246 40 236 40 + 200 3 4 1 2 236 40 246 40 246 40 + 200 3 4 2 3 236 40 246 40 236 40 + 200 3 0 5 3 15 192 2 192 1 208 + 200 3 0 3 2 15 192 1 208 14 208 CONNECTORS 1 0 3 14 diff --git a/data/base/components/weapons/gnhmslab.pie b/data/base/components/weapons/gnhmslab.pie index fec4ae07e..da0dda02a 100644 --- a/data/base/components/weapons/gnhmslab.pie +++ b/data/base/components/weapons/gnhmslab.pie @@ -16,15 +16,23 @@ POINTS 12 -22 29 33 -7 5 29 -7 29 33 -POLYGONS 8 - 200 4 3 2 1 0 174 75 158 75 158 61 174 61 - 200 4 5 3 0 4 174 75 166 75 166 61 174 61 - 200 4 1 7 6 4 251 209 252 255 233 255 233 209 - 200 4 9 8 2 5 251 255 233 255 233 209 252 209 - 200 4 2 8 7 1 251 209 251 255 233 255 233 209 - 200 4 9 5 4 6 233 255 233 209 251 209 251 255 - 200 4 11 9 6 10 166 59 158 59 158 45 166 45 - 200 4 8 11 10 7 174 59 158 59 158 45 174 45 +POLYGONS 16 + 200 3 3 2 1 174 75 158 75 158 61 + 200 3 3 1 0 174 75 158 61 174 61 + 200 3 5 3 0 174 75 166 75 166 61 + 200 3 5 0 4 174 75 166 61 174 61 + 200 3 1 7 6 251 209 252 255 233 255 + 200 3 1 6 4 251 209 233 255 233 209 + 200 3 9 8 2 251 255 233 255 233 209 + 200 3 9 2 5 251 255 233 209 252 209 + 200 3 2 8 7 251 209 251 255 233 255 + 200 3 2 7 1 251 209 233 255 233 209 + 200 3 9 5 4 233 255 233 209 251 209 + 200 3 9 4 6 233 255 251 209 251 255 + 200 3 11 9 6 166 59 158 59 158 45 + 200 3 11 6 10 166 59 158 45 166 45 + 200 3 8 11 10 174 59 158 59 158 45 + 200 3 8 10 7 174 59 158 45 174 45 CONNECTORS 6 -15 -60 43 2 -60 43 diff --git a/data/base/components/weapons/gnhmsli.pie b/data/base/components/weapons/gnhmsli.pie index 63d643b89..375cfd5cb 100644 --- a/data/base/components/weapons/gnhmsli.pie +++ b/data/base/components/weapons/gnhmsli.pie @@ -12,12 +12,18 @@ POINTS 8 15 48 -87 15 29 5 -14 29 5 -POLYGONS 6 - 200 4 3 2 1 0 251 209 252 255 233 255 233 209 - 200 4 7 6 5 4 251 255 233 255 233 209 252 209 - 200 4 4 5 3 0 174 75 158 75 158 61 174 61 - 200 4 5 6 2 3 251 209 251 255 233 255 233 209 - 200 4 6 7 1 2 174 59 158 59 158 45 174 45 - 200 4 7 4 0 1 233 255 233 209 251 209 251 255 +POLYGONS 12 + 200 3 3 2 1 251 209 252 255 233 255 + 200 3 3 1 0 251 209 233 255 233 209 + 200 3 7 6 5 251 255 233 255 233 209 + 200 3 7 5 4 251 255 233 209 252 209 + 200 3 4 5 3 174 75 158 75 158 61 + 200 3 4 3 0 174 75 158 61 174 61 + 200 3 5 6 2 251 209 251 255 233 255 + 200 3 5 2 3 251 209 233 255 233 209 + 200 3 6 7 1 174 59 158 59 158 45 + 200 3 6 1 2 174 59 158 45 174 45 + 200 3 7 4 0 233 255 233 209 251 209 + 200 3 7 0 1 233 255 251 209 251 255 CONNECTORS 1 0 -93 37 diff --git a/data/base/components/weapons/gnhmslsa.pie b/data/base/components/weapons/gnhmslsa.pie index 26b501186..721e79955 100644 --- a/data/base/components/weapons/gnhmslsa.pie +++ b/data/base/components/weapons/gnhmslsa.pie @@ -36,31 +36,55 @@ POINTS 32 -18 15 -17 -24 9 16 -24 9 -17 -POLYGONS 24 - 200 4 3 2 1 0 3 176 0 176 0 192 3 192 - 200 4 2 5 4 1 0 176 3 176 3 192 0 192 - 200 4 5 7 6 4 3 176 6 176 6 192 3 192 - 200 4 7 3 0 6 6 176 3 176 3 192 6 192 - 200 4 1 4 6 0 252 248 252 244 256 244 256 248 - 200 4 7 5 2 3 252 244 256 244 256 248 252 248 - 200 4 11 10 9 8 252 248 252 244 256 244 256 248 - 200 4 15 14 13 12 252 244 256 244 256 248 252 248 - 200 4 12 13 11 8 0 176 3 176 3 192 0 192 - 200 4 13 14 10 11 3 176 6 176 6 192 3 192 - 200 4 14 15 9 10 6 176 3 176 3 192 6 192 - 200 4 15 12 8 9 3 176 0 176 0 192 3 192 - 200 4 19 18 17 16 252 248 252 244 256 244 256 248 - 200 4 23 22 21 20 252 244 256 244 256 248 252 248 - 200 4 20 21 19 16 3 176 0 176 0 192 3 192 - 200 4 21 22 18 19 0 176 3 176 3 192 0 192 - 200 4 22 23 17 18 3 176 6 176 6 192 3 192 - 200 4 23 20 16 17 6 176 3 176 3 192 6 192 - 200 4 27 26 25 24 0 176 3 176 3 192 0 192 - 200 4 26 29 28 25 3 176 6 176 6 192 3 192 - 200 4 29 31 30 28 6 176 3 176 3 192 6 192 - 200 4 31 27 24 30 3 176 0 176 0 192 3 192 - 200 4 25 28 30 24 252 248 252 244 256 244 256 248 - 200 4 31 29 26 27 252 244 256 244 256 248 252 248 +POLYGONS 48 + 200 3 3 2 1 3 176 0 176 0 192 + 200 3 3 1 0 3 176 0 192 3 192 + 200 3 2 5 4 0 176 3 176 3 192 + 200 3 2 4 1 0 176 3 192 0 192 + 200 3 5 7 6 3 176 6 176 6 192 + 200 3 5 6 4 3 176 6 192 3 192 + 200 3 7 3 0 6 176 3 176 3 192 + 200 3 7 0 6 6 176 3 192 6 192 + 200 3 1 4 6 252 248 252 244 256 244 + 200 3 1 6 0 252 248 256 244 256 248 + 200 3 7 5 2 252 244 256 244 256 248 + 200 3 7 2 3 252 244 256 248 252 248 + 200 3 11 10 9 252 248 252 244 256 244 + 200 3 11 9 8 252 248 256 244 256 248 + 200 3 15 14 13 252 244 256 244 256 248 + 200 3 15 13 12 252 244 256 248 252 248 + 200 3 12 13 11 0 176 3 176 3 192 + 200 3 12 11 8 0 176 3 192 0 192 + 200 3 13 14 10 3 176 6 176 6 192 + 200 3 13 10 11 3 176 6 192 3 192 + 200 3 14 15 9 6 176 3 176 3 192 + 200 3 14 9 10 6 176 3 192 6 192 + 200 3 15 12 8 3 176 0 176 0 192 + 200 3 15 8 9 3 176 0 192 3 192 + 200 3 19 18 17 252 248 252 244 256 244 + 200 3 19 17 16 252 248 256 244 256 248 + 200 3 23 22 21 252 244 256 244 256 248 + 200 3 23 21 20 252 244 256 248 252 248 + 200 3 20 21 19 3 176 0 176 0 192 + 200 3 20 19 16 3 176 0 192 3 192 + 200 3 21 22 18 0 176 3 176 3 192 + 200 3 21 18 19 0 176 3 192 0 192 + 200 3 22 23 17 3 176 6 176 6 192 + 200 3 22 17 18 3 176 6 192 3 192 + 200 3 23 20 16 6 176 3 176 3 192 + 200 3 23 16 17 6 176 3 192 6 192 + 200 3 27 26 25 0 176 3 176 3 192 + 200 3 27 25 24 0 176 3 192 0 192 + 200 3 26 29 28 3 176 6 176 6 192 + 200 3 26 28 25 3 176 6 192 3 192 + 200 3 29 31 30 6 176 3 176 3 192 + 200 3 29 30 28 6 176 3 192 6 192 + 200 3 31 27 24 3 176 0 176 0 192 + 200 3 31 24 30 3 176 0 192 3 192 + 200 3 25 28 30 252 248 252 244 256 244 + 200 3 25 30 24 252 248 256 244 256 248 + 200 3 31 29 26 252 244 256 244 256 248 + 200 3 31 26 27 252 244 256 248 252 248 CONNECTORS 4 -18 -17 22 18 -17 22 diff --git a/data/base/components/weapons/gnhplasm.pie b/data/base/components/weapons/gnhplasm.pie index 678137906..d2b101fc8 100644 --- a/data/base/components/weapons/gnhplasm.pie +++ b/data/base/components/weapons/gnhplasm.pie @@ -21,18 +21,30 @@ POINTS 17 16 6 -28 16 6 -70 0 10 -68 -POLYGONS 12 - 200 4 3 2 1 0 240 23 245 23 245 1 240 1 - 200 4 2 5 4 1 229 23 242 23 242 1 229 1 - 200 4 5 7 6 4 226 23 231 23 231 1 226 1 - 200 4 7 9 8 6 231 23 240 23 240 1 231 1 - 200 4 9 11 10 8 240 23 245 23 245 1 240 1 - 200 4 11 13 12 10 229 23 242 23 242 1 229 1 - 200 4 13 15 14 12 226 23 231 23 231 1 226 1 - 200 4 15 3 0 14 231 23 240 23 240 1 231 1 - 200 4 2 3 15 16 240 23 237 27 237 33 246 30 - 200 4 7 5 2 16 256 27 253 23 240 23 246 30 - 200 4 11 9 7 16 253 37 256 33 256 27 246 30 - 200 4 15 13 11 16 237 33 240 37 253 37 246 30 +POLYGONS 24 + 200 3 3 2 1 240 23 245 23 245 1 + 200 3 3 1 0 240 23 245 1 240 1 + 200 3 2 5 4 229 23 242 23 242 1 + 200 3 2 4 1 229 23 242 1 229 1 + 200 3 5 7 6 226 23 231 23 231 1 + 200 3 5 6 4 226 23 231 1 226 1 + 200 3 7 9 8 231 23 240 23 240 1 + 200 3 7 8 6 231 23 240 1 231 1 + 200 3 9 11 10 240 23 245 23 245 1 + 200 3 9 10 8 240 23 245 1 240 1 + 200 3 11 13 12 229 23 242 23 242 1 + 200 3 11 12 10 229 23 242 1 229 1 + 200 3 13 15 14 226 23 231 23 231 1 + 200 3 13 14 12 226 23 231 1 226 1 + 200 3 15 3 0 231 23 240 23 240 1 + 200 3 15 0 14 231 23 240 1 231 1 + 200 3 2 3 15 240 23 237 27 237 33 + 200 3 2 15 16 240 23 237 33 246 30 + 200 3 7 5 2 256 27 253 23 240 23 + 200 3 7 2 16 256 27 240 23 246 30 + 200 3 11 9 7 253 37 256 33 256 27 + 200 3 11 7 16 253 37 256 27 246 30 + 200 3 15 13 11 237 33 240 37 253 37 + 200 3 15 11 16 237 33 253 37 246 30 CONNECTORS 1 0 -69 11 diff --git a/data/base/components/weapons/gnhrckt.pie b/data/base/components/weapons/gnhrckt.pie index 4155d762b..32f7d834b 100644 --- a/data/base/components/weapons/gnhrckt.pie +++ b/data/base/components/weapons/gnhrckt.pie @@ -16,17 +16,27 @@ POINTS 12 -19 44 -38 19 22 -43 19 44 -38 -POLYGONS 10 - 200 4 3 2 1 0 0 102 22 102 22 82 0 82 - 200 4 1 2 5 4 6 102 26 102 26 114 6 114 - 200 4 2 3 6 5 0 164 22 164 22 176 0 176 - 200 4 0 9 8 7 26 102 0 102 0 114 26 114 - 200 4 10 4 7 8 120 126 120 114 131 114 131 126 - 200 4 0 1 11 9 0 102 22 102 22 76 0 76 - 200 4 9 11 10 8 0 152 22 152 22 164 0 164 - 200 4 11 1 4 10 0 102 26 102 26 114 0 114 - 200 4 3 0 7 6 25 102 5 102 5 114 25 114 - 200 4 4 5 6 7 131 124 131 115 120 115 120 124 +POLYGONS 20 + 200 3 3 2 1 0 102 22 102 22 82 + 200 3 3 1 0 0 102 22 82 0 82 + 200 3 1 2 5 6 102 26 102 26 114 + 200 3 1 5 4 6 102 26 114 6 114 + 200 3 2 3 6 0 164 22 164 22 176 + 200 3 2 6 5 0 164 22 176 0 176 + 200 3 0 9 8 26 102 0 102 0 114 + 200 3 0 8 7 26 102 0 114 26 114 + 200 3 10 4 7 120 126 120 114 131 114 + 200 3 10 7 8 120 126 131 114 131 126 + 200 3 0 1 11 0 102 22 102 22 76 + 200 3 0 11 9 0 102 22 76 0 76 + 200 3 9 11 10 0 152 22 152 22 164 + 200 3 9 10 8 0 152 22 164 0 164 + 200 3 11 1 4 0 102 26 102 26 114 + 200 3 11 4 10 0 102 26 114 0 114 + 200 3 3 0 7 25 102 5 102 5 114 + 200 3 3 7 6 25 102 5 114 25 114 + 200 3 4 5 6 131 124 131 115 120 115 + 200 3 4 6 7 131 124 120 115 120 124 CONNECTORS 8 -12 -40 39 -4 -40 39 diff --git a/data/base/components/weapons/gnhrepar.pie b/data/base/components/weapons/gnhrepar.pie index b6b559735..154221e19 100644 --- a/data/base/components/weapons/gnhrepar.pie +++ b/data/base/components/weapons/gnhrepar.pie @@ -44,33 +44,57 @@ POINTS 40 -10 4 -77 -3 27 -77 -3 27 -54 -POLYGONS 27 +POLYGONS 51 200 3 2 1 0 31 177 45 177 39 191 200 3 3 2 0 31 177 45 177 38 191 200 3 1 3 0 31 177 45 177 37 191 - 200 4 7 6 5 4 182 66 199 66 199 83 182 83 - 200 4 6 9 8 5 182 66 199 66 199 83 182 83 - 200 4 9 7 4 8 182 66 199 66 199 83 182 83 - 200 4 13 12 11 10 26 101 26 77 48 77 48 101 - 200 4 17 16 15 14 26 77 48 77 48 101 26 101 - 200 4 14 15 13 10 26 77 48 77 48 101 26 101 - 200 4 15 16 12 13 26 77 48 77 48 101 26 101 - 200 4 16 17 11 12 26 77 48 77 48 101 26 101 - 200 4 17 14 10 11 26 77 48 77 48 101 26 101 - 200 4 21 20 19 18 182 62 199 62 199 87 182 87 - 200 4 20 23 22 19 182 62 199 62 199 87 182 87 - 200 4 23 21 18 22 182 62 199 62 199 87 182 87 - 200 4 27 26 25 24 0 140 0 129 16 129 16 140 - 200 4 31 30 29 28 0 129 16 129 16 140 0 140 - 200 4 28 29 27 24 0 129 16 129 16 140 0 140 - 200 4 29 30 26 27 0 129 16 129 16 140 0 140 - 200 4 30 31 25 26 0 129 16 129 16 140 0 140 - 200 4 31 28 24 25 0 129 16 129 16 140 0 140 - 200 4 35 34 33 32 0 194 0 178 14 178 14 194 - 200 4 39 38 37 36 0 178 14 178 14 194 0 194 - 200 4 36 37 35 32 0 178 14 178 14 194 0 194 - 200 4 37 38 34 35 0 178 14 178 14 194 0 194 - 200 4 38 39 33 34 0 178 14 178 14 194 0 194 - 200 4 39 36 32 33 0 178 14 178 14 194 0 194 + 200 3 7 6 5 182 66 199 66 199 83 + 200 3 7 5 4 182 66 199 83 182 83 + 200 3 6 9 8 182 66 199 66 199 83 + 200 3 6 8 5 182 66 199 83 182 83 + 200 3 9 7 4 182 66 199 66 199 83 + 200 3 9 4 8 182 66 199 83 182 83 + 200 3 13 12 11 26 101 26 77 48 77 + 200 3 13 11 10 26 101 48 77 48 101 + 200 3 17 16 15 26 77 48 77 48 101 + 200 3 17 15 14 26 77 48 101 26 101 + 200 3 14 15 13 26 77 48 77 48 101 + 200 3 14 13 10 26 77 48 101 26 101 + 200 3 15 16 12 26 77 48 77 48 101 + 200 3 15 12 13 26 77 48 101 26 101 + 200 3 16 17 11 26 77 48 77 48 101 + 200 3 16 11 12 26 77 48 101 26 101 + 200 3 17 14 10 26 77 48 77 48 101 + 200 3 17 10 11 26 77 48 101 26 101 + 200 3 21 20 19 182 62 199 62 199 87 + 200 3 21 19 18 182 62 199 87 182 87 + 200 3 20 23 22 182 62 199 62 199 87 + 200 3 20 22 19 182 62 199 87 182 87 + 200 3 23 21 18 182 62 199 62 199 87 + 200 3 23 18 22 182 62 199 87 182 87 + 200 3 27 26 25 0 140 0 129 16 129 + 200 3 27 25 24 0 140 16 129 16 140 + 200 3 31 30 29 0 129 16 129 16 140 + 200 3 31 29 28 0 129 16 140 0 140 + 200 3 28 29 27 0 129 16 129 16 140 + 200 3 28 27 24 0 129 16 140 0 140 + 200 3 29 30 26 0 129 16 129 16 140 + 200 3 29 26 27 0 129 16 140 0 140 + 200 3 30 31 25 0 129 16 129 16 140 + 200 3 30 25 26 0 129 16 140 0 140 + 200 3 31 28 24 0 129 16 129 16 140 + 200 3 31 24 25 0 129 16 140 0 140 + 200 3 35 34 33 0 194 0 178 14 178 + 200 3 35 33 32 0 194 14 178 14 194 + 200 3 39 38 37 0 178 14 178 14 194 + 200 3 39 37 36 0 178 14 194 0 194 + 200 3 36 37 35 0 178 14 178 14 194 + 200 3 36 35 32 0 178 14 194 0 194 + 200 3 37 38 34 0 178 14 178 14 194 + 200 3 37 34 35 0 178 14 194 0 194 + 200 3 38 39 33 0 178 14 178 14 194 + 200 3 38 33 34 0 178 14 194 0 194 + 200 3 39 36 32 0 178 14 178 14 194 + 200 3 39 32 33 0 178 14 194 0 194 CONNECTORS 1 -3 -66 -22 diff --git a/data/base/components/weapons/gnhsnsr3.pie b/data/base/components/weapons/gnhsnsr3.pie index ecb0224e3..2eb175cc3 100644 --- a/data/base/components/weapons/gnhsnsr3.pie +++ b/data/base/components/weapons/gnhsnsr3.pie @@ -40,39 +40,66 @@ POINTS 36 12 28 -12 12 54 12 7 31 -15 -POLYGONS 35 - 200 4 28 25 26 27 123 159 123 140 142 140 142 159 +POLYGONS 62 + 200 3 28 25 26 123 159 123 140 142 140 + 200 3 28 26 27 123 159 142 140 142 159 200 3 28 27 30 123 159 142 159 123 153 200 3 26 25 24 50 77 36 89 50 102 - 200 4 27 26 24 29 85 140 104 140 104 159 85 159 - 200 4 20 21 30 27 142 140 123 140 123 153 142 159 + 200 3 27 26 24 85 140 104 140 104 159 + 200 3 27 24 29 85 140 104 159 85 159 + 200 3 20 21 30 142 140 123 140 123 153 + 200 3 20 30 27 142 140 123 153 142 159 200 3 21 20 31 123 159 142 159 123 154 - 200 4 27 29 23 20 85 140 85 159 104 159 104 140 + 200 3 27 29 23 85 140 85 159 104 159 + 200 3 27 23 20 85 140 104 159 104 140 200 3 19 22 18 50 77 50 102 36 89 - 200 4 19 18 31 20 142 140 123 140 123 154 142 159 - 200 4 20 23 22 19 85 140 85 159 104 159 104 140 + 200 3 19 18 31 142 140 123 140 123 154 + 200 3 19 31 20 142 140 123 154 142 159 + 200 3 20 23 22 85 140 85 159 104 159 + 200 3 20 22 19 85 140 104 159 104 140 200 3 17 16 32 38 102 38 77 38 102 - 200 4 8 6 16 17 38 102 38 77 48 77 48 102 - 200 4 4 0 6 8 66 102 66 77 76 77 76 102 + 200 3 8 6 16 38 102 38 77 48 77 + 200 3 8 16 17 38 102 48 77 48 102 + 200 3 4 0 6 66 102 66 77 76 77 + 200 3 4 6 8 66 102 76 77 76 102 200 3 12 14 33 50 77 64 80 50 83 - 200 4 13 14 32 16 48 77 48 102 38 102 38 77 + 200 3 13 14 32 48 77 48 102 38 102 + 200 3 13 32 16 48 77 38 102 38 77 200 3 2 3 34 36 102 38 77 39 102 - 200 4 5 3 0 4 80 102 80 77 90 77 90 102 - 200 4 10 9 34 3 48 77 50 102 39 102 38 77 - 200 4 11 10 3 5 66 102 66 77 76 77 76 102 - 200 4 13 10 11 35 38 77 48 77 48 102 38 99 - 200 4 11 9 33 14 64 99 50 102 50 83 64 80 + 200 3 5 3 0 80 102 80 77 90 77 + 200 3 5 0 4 80 102 90 77 90 102 + 200 3 10 9 34 48 77 50 102 39 102 + 200 3 10 34 3 48 77 39 102 38 77 + 200 3 11 10 3 66 102 66 77 76 77 + 200 3 11 3 5 66 102 76 77 76 102 + 200 3 13 10 11 38 77 48 77 48 102 + 200 3 13 11 35 38 77 48 102 38 99 + 200 3 11 9 33 64 99 50 102 50 83 + 200 3 11 33 14 64 99 50 83 64 80 200 3 14 35 11 38 102 38 99 48 102 - 200 4 13 12 9 10 64 80 78 77 78 102 64 99 - 200 4 16 15 12 13 80 102 78 77 92 77 90 102 - 200 4 1 4 8 7 64 102 50 99 50 80 64 77 - 200 4 6 7 15 16 66 102 64 77 78 77 76 102 - 200 4 9 11 5 2 50 102 52 77 62 77 64 102 - 200 4 0 1 7 6 50 99 36 102 36 77 50 80 - 200 4 7 8 17 15 64 77 62 102 52 102 50 77 - 200 4 15 17 14 12 78 77 76 102 66 102 64 77 - 200 4 23 21 18 22 142 159 123 159 123 140 142 140 - 200 4 2 5 4 1 36 102 38 77 48 77 50 102 - 200 4 29 28 21 23 142 159 123 159 123 140 142 140 - 200 4 3 2 1 0 34 77 36 101 22 101 24 77 - 200 4 29 24 25 28 142 159 142 140 123 140 123 159 + 200 3 13 12 9 64 80 78 77 78 102 + 200 3 13 9 10 64 80 78 102 64 99 + 200 3 16 15 12 80 102 78 77 92 77 + 200 3 16 12 13 80 102 92 77 90 102 + 200 3 1 4 8 64 102 50 99 50 80 + 200 3 1 8 7 64 102 50 80 64 77 + 200 3 6 7 15 66 102 64 77 78 77 + 200 3 6 15 16 66 102 78 77 76 102 + 200 3 9 11 5 50 102 52 77 62 77 + 200 3 9 5 2 50 102 62 77 64 102 + 200 3 0 1 7 50 99 36 102 36 77 + 200 3 0 7 6 50 99 36 77 50 80 + 200 3 7 8 17 64 77 62 102 52 102 + 200 3 7 17 15 64 77 52 102 50 77 + 200 3 15 17 14 78 77 76 102 66 102 + 200 3 15 14 12 78 77 66 102 64 77 + 200 3 23 21 18 142 159 123 159 123 140 + 200 3 23 18 22 142 159 123 140 142 140 + 200 3 2 5 4 36 102 38 77 48 77 + 200 3 2 4 1 36 102 48 77 50 102 + 200 3 29 28 21 142 159 123 159 123 140 + 200 3 29 21 23 142 159 123 140 142 140 + 200 3 3 2 1 34 77 36 101 22 101 + 200 3 3 1 0 34 77 22 101 24 77 + 200 3 29 24 25 142 159 142 140 123 140 + 200 3 29 25 28 142 159 123 140 123 159 \ No newline at end of file diff --git a/data/base/components/weapons/gnhsuper.pie b/data/base/components/weapons/gnhsuper.pie index 7f22d6980..9082ccc8b 100644 --- a/data/base/components/weapons/gnhsuper.pie +++ b/data/base/components/weapons/gnhsuper.pie @@ -36,26 +36,46 @@ POINTS 32 13 16 -65 6 10 -24 6 10 -65 -POLYGONS 20 - 200 4 3 2 1 0 202 52 209 52 209 73 202 73 - 200 4 2 5 4 1 202 52 209 52 209 73 202 73 - 200 4 5 7 6 4 202 52 209 52 209 73 202 73 - 200 4 7 3 0 6 202 52 209 52 209 73 202 73 - 200 4 11 10 9 8 202 97 202 74 209 74 209 97 - 200 4 13 12 10 11 202 74 209 74 209 97 202 97 - 200 4 12 14 9 10 202 74 209 74 209 97 202 97 - 200 4 14 15 8 9 202 74 209 74 209 97 202 97 - 200 4 15 13 11 8 202 74 209 74 209 97 202 97 - 200 4 14 12 13 15 157 28 165 28 165 36 157 36 - 200 4 19 18 17 16 202 97 202 74 209 74 209 97 - 200 4 21 20 18 19 202 74 209 74 209 97 202 97 - 200 4 20 22 17 18 202 74 209 74 209 97 202 97 - 200 4 22 23 16 17 202 74 209 74 209 97 202 97 - 200 4 23 21 19 16 202 74 209 74 209 97 202 97 - 200 4 22 20 21 23 157 28 165 28 165 36 157 36 - 200 4 27 26 25 24 202 52 209 52 209 73 202 73 - 200 4 26 29 28 25 202 52 209 52 209 73 202 73 - 200 4 29 31 30 28 202 52 209 52 209 73 202 73 - 200 4 31 27 24 30 202 52 209 52 209 73 202 73 +POLYGONS 40 + 200 3 3 2 1 202 52 209 52 209 73 + 200 3 3 1 0 202 52 209 73 202 73 + 200 3 2 5 4 202 52 209 52 209 73 + 200 3 2 4 1 202 52 209 73 202 73 + 200 3 5 7 6 202 52 209 52 209 73 + 200 3 5 6 4 202 52 209 73 202 73 + 200 3 7 3 0 202 52 209 52 209 73 + 200 3 7 0 6 202 52 209 73 202 73 + 200 3 11 10 9 202 97 202 74 209 74 + 200 3 11 9 8 202 97 209 74 209 97 + 200 3 13 12 10 202 74 209 74 209 97 + 200 3 13 10 11 202 74 209 97 202 97 + 200 3 12 14 9 202 74 209 74 209 97 + 200 3 12 9 10 202 74 209 97 202 97 + 200 3 14 15 8 202 74 209 74 209 97 + 200 3 14 8 9 202 74 209 97 202 97 + 200 3 15 13 11 202 74 209 74 209 97 + 200 3 15 11 8 202 74 209 97 202 97 + 200 3 14 12 13 157 28 165 28 165 36 + 200 3 14 13 15 157 28 165 36 157 36 + 200 3 19 18 17 202 97 202 74 209 74 + 200 3 19 17 16 202 97 209 74 209 97 + 200 3 21 20 18 202 74 209 74 209 97 + 200 3 21 18 19 202 74 209 97 202 97 + 200 3 20 22 17 202 74 209 74 209 97 + 200 3 20 17 18 202 74 209 97 202 97 + 200 3 22 23 16 202 74 209 74 209 97 + 200 3 22 16 17 202 74 209 97 202 97 + 200 3 23 21 19 202 74 209 74 209 97 + 200 3 23 19 16 202 74 209 97 202 97 + 200 3 22 20 21 157 28 165 28 165 36 + 200 3 22 21 23 157 28 165 36 157 36 + 200 3 27 26 25 202 52 209 52 209 73 + 200 3 27 25 24 202 52 209 73 202 73 + 200 3 26 29 28 202 52 209 52 209 73 + 200 3 26 28 25 202 52 209 73 202 73 + 200 3 29 31 30 202 52 209 52 209 73 + 200 3 29 30 28 202 52 209 73 202 73 + 200 3 31 27 24 202 52 209 52 209 73 + 200 3 31 24 30 202 52 209 73 202 73 CONNECTORS 1 0 -95 10 diff --git a/data/base/components/weapons/gnhvcan.pie b/data/base/components/weapons/gnhvcan.pie index 2729a3442..735745fb0 100644 --- a/data/base/components/weapons/gnhvcan.pie +++ b/data/base/components/weapons/gnhvcan.pie @@ -18,15 +18,22 @@ POINTS 14 -7 15 -28 7 15 -18 -7 15 -18 -POLYGONS 9 - 200 4 3 2 1 0 44 48 47 48 47 60 44 60 - 200 4 2 5 4 1 44 48 47 48 47 60 44 60 - 200 4 5 7 6 4 44 48 47 48 47 60 44 60 - 200 4 7 3 0 6 44 48 47 48 47 60 44 60 - 200 4 7 5 2 3 65 66 70 61 76 67 71 72 - 200 4 11 10 9 8 9 190 0 190 0 182 9 182 +POLYGONS 16 + 200 3 3 2 1 44 48 47 48 47 60 + 200 3 3 1 0 44 48 47 60 44 60 + 200 3 2 5 4 44 48 47 48 47 60 + 200 3 2 4 1 44 48 47 60 44 60 + 200 3 5 7 6 44 48 47 48 47 60 + 200 3 5 6 4 44 48 47 60 44 60 + 200 3 7 3 0 44 48 47 48 47 60 + 200 3 7 0 6 44 48 47 60 44 60 + 200 3 7 5 2 65 66 70 61 76 67 + 200 3 7 2 3 65 66 76 67 71 72 + 200 3 11 10 9 9 190 0 190 0 182 + 200 3 11 9 8 9 190 0 182 9 182 200 3 12 9 10 0 182 9 190 0 190 - 200 4 10 11 13 12 9 190 0 190 0 182 9 182 + 200 3 10 11 13 9 190 0 190 0 182 + 200 3 10 13 12 9 190 0 182 9 182 200 3 13 11 8 9 182 9 190 0 190 CONNECTORS 1 0 -66 8 diff --git a/data/base/components/weapons/gnlacan.pie b/data/base/components/weapons/gnlacan.pie index 4bde921aa..e41813a29 100644 --- a/data/base/components/weapons/gnlacan.pie +++ b/data/base/components/weapons/gnlacan.pie @@ -12,11 +12,16 @@ POINTS 8 0 9 -41 -4 4 -12 -4 4 -41 -POLYGONS 5 - 200 4 3 2 1 0 96 62 102 62 102 72 96 71 - 200 4 2 5 4 1 96 62 102 62 102 73 96 72 - 200 4 5 7 6 4 96 62 102 62 102 72 96 73 - 200 4 7 3 0 6 96 62 102 62 102 71 96 72 - 200 4 7 5 2 3 12 60 16 60 16 64 12 64 +POLYGONS 10 + 200 3 3 2 1 96 62 102 62 102 72 + 200 3 3 1 0 96 62 102 72 96 71 + 200 3 2 5 4 96 62 102 62 102 73 + 200 3 2 4 1 96 62 102 73 96 72 + 200 3 5 7 6 96 62 102 62 102 72 + 200 3 5 6 4 96 62 102 72 96 73 + 200 3 7 3 0 96 62 102 62 102 71 + 200 3 7 0 6 96 62 102 71 96 72 + 200 3 7 5 2 12 60 16 60 16 64 + 200 3 7 2 3 12 60 16 64 12 64 CONNECTORS 1 0 -43 5 diff --git a/data/base/components/weapons/gnlair.pie b/data/base/components/weapons/gnlair.pie index a623a0685..a37806109 100644 --- a/data/base/components/weapons/gnlair.pie +++ b/data/base/components/weapons/gnlair.pie @@ -52,36 +52,66 @@ POINTS 48 5 15 -16 5 15 -7 5 0 -16 -POLYGONS 30 - 200 4 3 2 1 0 13 61 17 61 17 65 13 65 - 200 4 7 6 5 4 13 61 17 61 17 65 13 65 - 200 4 4 5 9 8 6 66 11 66 11 75 6 74 - 200 4 5 6 10 9 6 66 11 66 11 76 6 75 - 200 4 6 7 11 10 6 66 11 66 11 75 6 76 - 200 4 7 4 8 11 6 66 11 66 11 74 6 75 - 200 4 0 1 13 12 6 66 11 66 11 75 6 74 - 200 4 1 2 14 13 6 66 11 66 11 76 6 75 - 200 4 2 3 15 14 6 66 11 66 11 75 6 76 - 200 4 3 0 12 15 6 66 11 66 11 74 6 75 - 200 4 19 18 17 16 6 66 11 66 11 75 6 74 - 200 4 18 21 20 17 6 66 11 66 11 76 6 75 - 200 4 21 23 22 20 6 66 11 66 11 75 6 76 - 200 4 23 19 16 22 6 66 11 66 11 74 6 75 - 200 4 27 26 25 24 13 65 13 70 20 70 20 65 - 200 4 31 30 29 28 20 72 13 72 13 66 20 66 - 200 4 28 29 27 24 20 66 13 66 13 65 20 65 - 200 4 29 30 26 27 13 66 13 72 13 70 13 65 - 200 4 31 28 24 25 20 72 20 66 20 65 20 70 - 200 4 35 34 33 32 6 66 11 66 11 75 6 74 - 200 4 34 37 36 33 6 66 11 66 11 76 6 75 - 200 4 37 39 38 36 6 66 11 66 11 75 6 76 - 200 4 39 35 32 38 6 66 11 66 11 74 6 75 - 200 4 43 42 41 40 13 65 13 70 20 70 20 65 - 200 4 47 46 45 44 20 72 13 72 13 66 20 66 - 200 4 44 45 43 40 20 66 13 66 13 65 20 65 - 200 4 45 46 42 43 13 66 13 72 13 70 13 65 - 200 4 47 44 40 41 20 72 20 66 20 65 20 70 - 200 4 39 37 34 35 13 61 17 61 17 65 13 65 - 200 4 23 21 18 19 13 61 17 61 17 65 13 65 +POLYGONS 60 + 200 3 3 2 1 13 61 17 61 17 65 + 200 3 3 1 0 13 61 17 65 13 65 + 200 3 7 6 5 13 61 17 61 17 65 + 200 3 7 5 4 13 61 17 65 13 65 + 200 3 4 5 9 6 66 11 66 11 75 + 200 3 4 9 8 6 66 11 75 6 74 + 200 3 5 6 10 6 66 11 66 11 76 + 200 3 5 10 9 6 66 11 76 6 75 + 200 3 6 7 11 6 66 11 66 11 75 + 200 3 6 11 10 6 66 11 75 6 76 + 200 3 7 4 8 6 66 11 66 11 74 + 200 3 7 8 11 6 66 11 74 6 75 + 200 3 0 1 13 6 66 11 66 11 75 + 200 3 0 13 12 6 66 11 75 6 74 + 200 3 1 2 14 6 66 11 66 11 76 + 200 3 1 14 13 6 66 11 76 6 75 + 200 3 2 3 15 6 66 11 66 11 75 + 200 3 2 15 14 6 66 11 75 6 76 + 200 3 3 0 12 6 66 11 66 11 74 + 200 3 3 12 15 6 66 11 74 6 75 + 200 3 19 18 17 6 66 11 66 11 75 + 200 3 19 17 16 6 66 11 75 6 74 + 200 3 18 21 20 6 66 11 66 11 76 + 200 3 18 20 17 6 66 11 76 6 75 + 200 3 21 23 22 6 66 11 66 11 75 + 200 3 21 22 20 6 66 11 75 6 76 + 200 3 23 19 16 6 66 11 66 11 74 + 200 3 23 16 22 6 66 11 74 6 75 + 200 3 27 26 25 13 65 13 70 20 70 + 200 3 27 25 24 13 65 20 70 20 65 + 200 3 31 30 29 20 72 13 72 13 66 + 200 3 31 29 28 20 72 13 66 20 66 + 200 3 28 29 27 20 66 13 66 13 65 + 200 3 28 27 24 20 66 13 65 20 65 + 200 3 29 30 26 13 66 13 72 13 70 + 200 3 29 26 27 13 66 13 70 13 65 + 200 3 31 28 24 20 72 20 66 20 65 + 200 3 31 24 25 20 72 20 65 20 70 + 200 3 35 34 33 6 66 11 66 11 75 + 200 3 35 33 32 6 66 11 75 6 74 + 200 3 34 37 36 6 66 11 66 11 76 + 200 3 34 36 33 6 66 11 76 6 75 + 200 3 37 39 38 6 66 11 66 11 75 + 200 3 37 38 36 6 66 11 75 6 76 + 200 3 39 35 32 6 66 11 66 11 74 + 200 3 39 32 38 6 66 11 74 6 75 + 200 3 43 42 41 13 65 13 70 20 70 + 200 3 43 41 40 13 65 20 70 20 65 + 200 3 47 46 45 20 72 13 72 13 66 + 200 3 47 45 44 20 72 13 66 20 66 + 200 3 44 45 43 20 66 13 66 13 65 + 200 3 44 43 40 20 66 13 65 20 65 + 200 3 45 46 42 13 66 13 72 13 70 + 200 3 45 42 43 13 66 13 70 13 65 + 200 3 47 44 40 20 72 20 66 20 65 + 200 3 47 40 41 20 72 20 65 20 70 + 200 3 39 37 34 13 61 17 61 17 65 + 200 3 39 34 35 13 61 17 65 13 65 + 200 3 23 21 18 13 61 17 61 17 65 + 200 3 23 18 19 13 61 17 65 13 65 CONNECTORS 1 0 -33 8 diff --git a/data/base/components/weapons/gnlcan.pie b/data/base/components/weapons/gnlcan.pie index 1b7bc1502..27fc36173 100644 --- a/data/base/components/weapons/gnlcan.pie +++ b/data/base/components/weapons/gnlcan.pie @@ -12,11 +12,16 @@ POINTS 8 4 4 -14 0 9 -10 -4 4 -14 -POLYGONS 5 - 200 4 3 2 1 0 12 60 16 60 16 64 12 64 - 200 4 0 1 5 4 13 59 18 59 18 49 13 50 - 200 4 1 2 6 5 13 59 18 59 18 48 13 49 - 200 4 2 3 7 6 13 59 18 59 18 49 13 48 - 200 4 3 0 4 7 13 59 18 59 18 50 13 49 +POLYGONS 10 + 200 3 3 2 1 12 60 16 60 16 64 + 200 3 3 1 0 12 60 16 64 12 64 + 200 3 0 1 5 13 59 18 59 18 49 + 200 3 0 5 4 13 59 18 49 13 50 + 200 3 1 2 6 13 59 18 59 18 48 + 200 3 1 6 5 13 59 18 48 13 49 + 200 3 2 3 7 13 59 18 59 18 49 + 200 3 2 7 6 13 59 18 49 13 48 + 200 3 3 0 4 13 59 18 59 18 50 + 200 3 3 4 7 13 59 18 50 13 49 CONNECTORS 1 0 -44 4 diff --git a/data/base/components/weapons/gnlcmd1.pie b/data/base/components/weapons/gnlcmd1.pie index 91a3a4b1d..e1523c38e 100644 --- a/data/base/components/weapons/gnlcmd1.pie +++ b/data/base/components/weapons/gnlcmd1.pie @@ -14,14 +14,22 @@ POINTS 10 12 18 2 9 18 12 1 26 6 -POLYGONS 8 - 200 4 0 1 2 3 230 48 237 96 224 96 224 96 - 200 4 3 2 1 0 224 96 224 96 237 96 230 48 - 200 4 0 3 4 1 230 48 237 96 224 96 224 96 - 200 4 1 4 3 0 224 96 224 96 237 96 230 48 - 200 4 5 6 7 8 230 48 237 96 224 96 224 96 - 200 4 8 7 6 5 224 96 224 96 237 96 230 48 - 200 4 5 8 9 6 230 48 237 96 224 96 224 96 - 200 4 6 9 8 5 224 96 224 96 237 96 230 48 +POLYGONS 16 + 200 3 0 1 2 230 48 237 96 224 96 + 200 3 0 2 3 230 48 224 96 224 96 + 200 3 3 2 1 224 96 224 96 237 96 + 200 3 3 1 0 224 96 237 96 230 48 + 200 3 0 3 4 230 48 237 96 224 96 + 200 3 0 4 1 230 48 224 96 224 96 + 200 3 1 4 3 224 96 224 96 237 96 + 200 3 1 3 0 224 96 237 96 230 48 + 200 3 5 6 7 230 48 237 96 224 96 + 200 3 5 7 8 230 48 224 96 224 96 + 200 3 8 7 6 224 96 224 96 237 96 + 200 3 8 6 5 224 96 237 96 230 48 + 200 3 5 8 9 230 48 237 96 224 96 + 200 3 5 9 6 230 48 224 96 224 96 + 200 3 6 9 8 224 96 224 96 237 96 + 200 3 6 8 5 224 96 237 96 230 48 CONNECTORS 1 0 12 37 diff --git a/data/base/components/weapons/gnlflmr.pie b/data/base/components/weapons/gnlflmr.pie index f05113e40..c05c7a334 100644 --- a/data/base/components/weapons/gnlflmr.pie +++ b/data/base/components/weapons/gnlflmr.pie @@ -20,18 +20,30 @@ POINTS 16 -3 3 -28 0 0 -28 3 3 -28 -POLYGONS 12 - 200 4 3 2 1 0 108 73 108 73 116 73 116 73 - 200 4 2 5 4 1 108 73 108 69 116 69 116 73 - 200 4 5 7 6 4 108 69 108 69 116 69 116 69 - 200 4 7 3 0 6 108 69 108 73 116 73 116 69 - 200 4 6 0 1 4 116 69 116 73 116 73 116 69 - 200 4 2 3 7 5 108 73 108 73 108 69 108 69 - 200 4 11 10 9 8 102 70 105 68 107 70 105 72 - 200 4 10 11 13 12 125 61 125 67 116 67 116 61 - 200 4 11 8 14 13 125 67 125 73 116 73 116 67 - 200 4 8 9 15 14 125 73 125 67 116 67 116 73 - 200 4 9 10 12 15 125 67 125 61 116 61 116 67 - 200 4 15 12 13 14 116 67 116 61 116 67 116 73 +POLYGONS 24 + 200 3 3 2 1 108 73 108 73 116 73 + 200 3 3 1 0 108 73 116 73 116 73 + 200 3 2 5 4 108 73 108 69 116 69 + 200 3 2 4 1 108 73 116 69 116 73 + 200 3 5 7 6 108 69 108 69 116 69 + 200 3 5 6 4 108 69 116 69 116 69 + 200 3 7 3 0 108 69 108 73 116 73 + 200 3 7 0 6 108 69 116 73 116 69 + 200 3 6 0 1 116 69 116 73 116 73 + 200 3 6 1 4 116 69 116 73 116 69 + 200 3 2 3 7 108 73 108 73 108 69 + 200 3 2 7 5 108 73 108 69 108 69 + 200 3 11 10 9 102 70 105 68 107 70 + 200 3 11 9 8 102 70 107 70 105 72 + 200 3 10 11 13 125 61 125 67 116 67 + 200 3 10 13 12 125 61 116 67 116 61 + 200 3 11 8 14 125 67 125 73 116 73 + 200 3 11 14 13 125 67 116 73 116 67 + 200 3 8 9 15 125 73 125 67 116 67 + 200 3 8 15 14 125 73 116 67 116 73 + 200 3 9 10 12 125 67 125 61 116 61 + 200 3 9 12 15 125 67 116 61 116 67 + 200 3 15 12 13 116 67 116 61 116 67 + 200 3 15 13 14 116 67 116 67 116 73 CONNECTORS 1 0 -38 3 diff --git a/data/base/components/weapons/gnlgss.pie b/data/base/components/weapons/gnlgss.pie index 3d3fd5d4d..31e3ae0a0 100644 --- a/data/base/components/weapons/gnlgss.pie +++ b/data/base/components/weapons/gnlgss.pie @@ -10,10 +10,16 @@ POINTS 6 -10 4 8 -5 1 -32 -5 1 17 -POLYGONS 6 - 200 4 0 1 2 3 158 49 152 49 152 67 158 64 - 200 4 3 2 1 0 158 64 152 67 152 49 158 49 - 200 4 1 4 5 2 158 49 152 49 152 67 158 67 - 200 4 2 5 4 1 158 67 152 67 152 49 158 49 - 200 4 4 0 3 5 158 49 152 49 152 64 158 67 - 200 4 5 3 0 4 158 67 152 64 152 49 158 49 +POLYGONS 12 + 200 3 0 1 2 158 49 152 49 152 67 + 200 3 0 2 3 158 49 152 67 158 64 + 200 3 3 2 1 158 64 152 67 152 49 + 200 3 3 1 0 158 64 152 49 158 49 + 200 3 1 4 5 158 49 152 49 152 67 + 200 3 1 5 2 158 49 152 67 158 67 + 200 3 2 5 4 158 67 152 67 152 49 + 200 3 2 4 1 158 67 152 49 158 49 + 200 3 4 0 3 158 49 152 49 152 64 + 200 3 4 3 5 158 49 152 64 158 67 + 200 3 5 3 0 158 67 152 64 152 49 + 200 3 5 0 4 158 67 152 49 158 49 \ No newline at end of file diff --git a/data/base/components/weapons/gnlmg1.pie b/data/base/components/weapons/gnlmg1.pie index bf336387b..c35d1800f 100644 --- a/data/base/components/weapons/gnlmg1.pie +++ b/data/base/components/weapons/gnlmg1.pie @@ -20,17 +20,28 @@ POINTS 16 0 5 -27 -2 4 -20 -2 4 -27 -POLYGONS 11 - 200 4 3 2 1 0 12 64 12 70 19 70 19 64 - 200 4 7 6 5 4 19 72 12 72 12 66 19 66 - 200 4 4 5 3 0 19 66 12 66 12 64 19 64 - 200 4 5 6 2 3 12 66 12 72 12 70 12 64 - 200 4 6 7 1 2 12 72 19 72 19 70 12 70 - 200 4 7 4 0 1 19 72 19 66 19 64 19 70 - 200 4 11 10 9 8 6 66 11 66 11 75 6 74 - 200 4 10 13 12 9 6 66 11 66 11 76 6 75 - 200 4 13 15 14 12 6 66 11 66 11 75 6 76 - 200 4 15 11 8 14 6 66 11 66 11 74 6 75 - 200 4 15 13 10 11 12 60 16 60 16 64 12 64 +POLYGONS 22 + 200 3 3 2 1 12 64 12 70 19 70 + 200 3 3 1 0 12 64 19 70 19 64 + 200 3 7 6 5 19 72 12 72 12 66 + 200 3 7 5 4 19 72 12 66 19 66 + 200 3 4 5 3 19 66 12 66 12 64 + 200 3 4 3 0 19 66 12 64 19 64 + 200 3 5 6 2 12 66 12 72 12 70 + 200 3 5 2 3 12 66 12 70 12 64 + 200 3 6 7 1 12 72 19 72 19 70 + 200 3 6 1 2 12 72 19 70 12 70 + 200 3 7 4 0 19 72 19 66 19 64 + 200 3 7 0 1 19 72 19 64 19 70 + 200 3 11 10 9 6 66 11 66 11 75 + 200 3 11 9 8 6 66 11 75 6 74 + 200 3 10 13 12 6 66 11 66 11 76 + 200 3 10 12 9 6 66 11 76 6 75 + 200 3 13 15 14 6 66 11 66 11 75 + 200 3 13 14 12 6 66 11 75 6 76 + 200 3 15 11 8 6 66 11 66 11 74 + 200 3 15 8 14 6 66 11 74 6 75 + 200 3 15 13 10 12 60 16 60 16 64 + 200 3 15 10 11 12 60 16 64 12 64 CONNECTORS 1 0 -28 4 diff --git a/data/base/components/weapons/gnlmg2.pie b/data/base/components/weapons/gnlmg2.pie index e56122646..843065b09 100644 --- a/data/base/components/weapons/gnlmg2.pie +++ b/data/base/components/weapons/gnlmg2.pie @@ -28,21 +28,36 @@ POINTS 24 8 5 -20 8 5 -13 -8 5 -13 -POLYGONS 15 - 200 4 3 2 1 0 6 66 11 66 11 75 6 74 - 200 4 2 5 4 1 6 66 11 66 11 76 6 75 - 200 4 5 7 6 4 6 66 11 66 11 75 6 76 - 200 4 7 3 0 6 6 66 11 66 11 74 6 75 - 200 4 7 5 2 3 12 60 16 60 16 64 12 64 - 200 4 11 10 9 8 6 66 11 66 11 75 6 74 - 200 4 10 13 12 9 6 66 11 66 11 76 6 75 - 200 4 13 15 14 12 6 66 11 66 11 75 6 76 - 200 4 15 11 8 14 6 66 11 66 11 74 6 75 - 200 4 15 13 10 11 12 60 16 60 16 64 12 64 - 200 4 19 18 17 16 209 53 202 53 202 61 209 61 - 200 4 23 22 21 20 209 61 209 53 202 53 202 61 - 200 4 21 22 18 19 201 70 208 70 208 74 201 74 - 200 4 23 20 16 17 201 70 208 70 208 74 201 74 - 200 4 20 21 19 16 205 53 205 61 202 61 202 53 +POLYGONS 30 + 200 3 3 2 1 6 66 11 66 11 75 + 200 3 3 1 0 6 66 11 75 6 74 + 200 3 2 5 4 6 66 11 66 11 76 + 200 3 2 4 1 6 66 11 76 6 75 + 200 3 5 7 6 6 66 11 66 11 75 + 200 3 5 6 4 6 66 11 75 6 76 + 200 3 7 3 0 6 66 11 66 11 74 + 200 3 7 0 6 6 66 11 74 6 75 + 200 3 7 5 2 12 60 16 60 16 64 + 200 3 7 2 3 12 60 16 64 12 64 + 200 3 11 10 9 6 66 11 66 11 75 + 200 3 11 9 8 6 66 11 75 6 74 + 200 3 10 13 12 6 66 11 66 11 76 + 200 3 10 12 9 6 66 11 76 6 75 + 200 3 13 15 14 6 66 11 66 11 75 + 200 3 13 14 12 6 66 11 75 6 76 + 200 3 15 11 8 6 66 11 66 11 74 + 200 3 15 8 14 6 66 11 74 6 75 + 200 3 15 13 10 12 60 16 60 16 64 + 200 3 15 10 11 12 60 16 64 12 64 + 200 3 19 18 17 209 53 202 53 202 61 + 200 3 19 17 16 209 53 202 61 209 61 + 200 3 23 22 21 209 61 209 53 202 53 + 200 3 23 21 20 209 61 202 53 202 61 + 200 3 21 22 18 201 70 208 70 208 74 + 200 3 21 18 19 201 70 208 74 201 74 + 200 3 23 20 16 201 70 208 70 208 74 + 200 3 23 16 17 201 70 208 74 201 74 + 200 3 20 21 19 205 53 205 61 202 61 + 200 3 20 19 16 205 53 202 61 202 53 CONNECTORS 1 0 -30 4 diff --git a/data/base/components/weapons/gnlmsl.pie b/data/base/components/weapons/gnlmsl.pie index c61576252..bce7ffae0 100644 --- a/data/base/components/weapons/gnlmsl.pie +++ b/data/base/components/weapons/gnlmsl.pie @@ -32,24 +32,38 @@ POINTS 28 -10 7 5 -14 4 15 -11 7 15 -POLYGONS 18 - 200 4 3 2 1 0 256 140 248 140 248 156 256 156 - 200 4 2 5 4 1 256 208 252 208 252 224 256 224 - 200 4 3 6 5 2 256 240 252 240 252 248 256 248 - 200 4 0 1 4 7 252 240 252 248 256 248 256 240 - 200 4 5 6 7 4 256 142 248 140 248 155 256 156 - 200 4 6 3 0 7 256 224 252 224 252 241 256 241 - 200 4 11 10 9 8 252 256 252 249 256 249 256 256 +POLYGONS 32 + 200 3 3 2 1 256 140 248 140 248 156 + 200 3 3 1 0 256 140 248 156 256 156 + 200 3 2 5 4 256 208 252 208 252 224 + 200 3 2 4 1 256 208 252 224 256 224 + 200 3 3 6 5 256 240 252 240 252 248 + 200 3 3 5 2 256 240 252 248 256 248 + 200 3 0 1 4 252 240 252 248 256 248 + 200 3 0 4 7 252 240 256 248 256 240 + 200 3 5 6 7 256 142 248 140 248 155 + 200 3 5 7 4 256 142 248 155 256 156 + 200 3 6 3 0 256 224 252 224 252 241 + 200 3 6 0 7 256 224 252 241 256 241 + 200 3 11 10 9 252 256 252 249 256 249 + 200 3 11 9 8 252 256 256 249 256 256 200 3 11 8 12 252 256 256 256 254 256 200 3 9 10 13 256 249 252 249 254 249 - 200 4 17 16 15 14 252 240 256 240 256 248 252 248 - 200 4 16 17 19 18 252 224 256 224 256 241 252 241 - 200 4 23 22 21 20 252 256 256 256 256 249 252 249 + 200 3 17 16 15 252 240 256 240 256 248 + 200 3 17 15 14 252 240 256 248 252 248 + 200 3 16 17 19 252 224 256 224 256 241 + 200 3 16 19 18 252 224 256 241 252 241 + 200 3 23 22 21 252 256 256 256 256 249 + 200 3 23 21 20 252 256 256 249 252 249 200 3 23 24 22 252 256 254 256 256 256 200 3 21 25 20 256 249 254 249 252 249 - 200 4 27 18 19 26 252 248 252 240 256 240 256 248 - 200 4 15 16 18 27 248 140 256 140 256 156 248 156 - 200 4 17 14 26 19 248 140 256 142 256 156 248 155 - 200 4 14 15 27 26 252 208 256 208 256 224 252 224 + 200 3 27 18 19 252 248 252 240 256 240 + 200 3 27 19 26 252 248 256 240 256 248 + 200 3 15 16 18 248 140 256 140 256 156 + 200 3 15 18 27 248 140 256 156 248 156 + 200 3 17 14 26 248 140 256 142 256 156 + 200 3 17 26 19 248 140 256 156 248 155 + 200 3 14 15 27 252 208 256 208 256 224 + 200 3 14 27 26 252 208 256 224 252 224 CONNECTORS 1 -15 -20 9 diff --git a/data/base/components/weapons/gnlrckt.pie b/data/base/components/weapons/gnlrckt.pie index c61576252..bce7ffae0 100644 --- a/data/base/components/weapons/gnlrckt.pie +++ b/data/base/components/weapons/gnlrckt.pie @@ -32,24 +32,38 @@ POINTS 28 -10 7 5 -14 4 15 -11 7 15 -POLYGONS 18 - 200 4 3 2 1 0 256 140 248 140 248 156 256 156 - 200 4 2 5 4 1 256 208 252 208 252 224 256 224 - 200 4 3 6 5 2 256 240 252 240 252 248 256 248 - 200 4 0 1 4 7 252 240 252 248 256 248 256 240 - 200 4 5 6 7 4 256 142 248 140 248 155 256 156 - 200 4 6 3 0 7 256 224 252 224 252 241 256 241 - 200 4 11 10 9 8 252 256 252 249 256 249 256 256 +POLYGONS 32 + 200 3 3 2 1 256 140 248 140 248 156 + 200 3 3 1 0 256 140 248 156 256 156 + 200 3 2 5 4 256 208 252 208 252 224 + 200 3 2 4 1 256 208 252 224 256 224 + 200 3 3 6 5 256 240 252 240 252 248 + 200 3 3 5 2 256 240 252 248 256 248 + 200 3 0 1 4 252 240 252 248 256 248 + 200 3 0 4 7 252 240 256 248 256 240 + 200 3 5 6 7 256 142 248 140 248 155 + 200 3 5 7 4 256 142 248 155 256 156 + 200 3 6 3 0 256 224 252 224 252 241 + 200 3 6 0 7 256 224 252 241 256 241 + 200 3 11 10 9 252 256 252 249 256 249 + 200 3 11 9 8 252 256 256 249 256 256 200 3 11 8 12 252 256 256 256 254 256 200 3 9 10 13 256 249 252 249 254 249 - 200 4 17 16 15 14 252 240 256 240 256 248 252 248 - 200 4 16 17 19 18 252 224 256 224 256 241 252 241 - 200 4 23 22 21 20 252 256 256 256 256 249 252 249 + 200 3 17 16 15 252 240 256 240 256 248 + 200 3 17 15 14 252 240 256 248 252 248 + 200 3 16 17 19 252 224 256 224 256 241 + 200 3 16 19 18 252 224 256 241 252 241 + 200 3 23 22 21 252 256 256 256 256 249 + 200 3 23 21 20 252 256 256 249 252 249 200 3 23 24 22 252 256 254 256 256 256 200 3 21 25 20 256 249 254 249 252 249 - 200 4 27 18 19 26 252 248 252 240 256 240 256 248 - 200 4 15 16 18 27 248 140 256 140 256 156 248 156 - 200 4 17 14 26 19 248 140 256 142 256 156 248 155 - 200 4 14 15 27 26 252 208 256 208 256 224 252 224 + 200 3 27 18 19 252 248 252 240 256 240 + 200 3 27 19 26 252 248 256 240 256 248 + 200 3 15 16 18 248 140 256 140 256 156 + 200 3 15 18 27 248 140 256 156 248 156 + 200 3 17 14 26 248 140 256 142 256 156 + 200 3 17 26 19 248 140 256 156 248 155 + 200 3 14 15 27 252 208 256 208 256 224 + 200 3 14 27 26 252 208 256 224 252 224 CONNECTORS 1 -15 -20 9 diff --git a/data/base/components/weapons/gnlrcktp.pie b/data/base/components/weapons/gnlrcktp.pie index e435f4f4f..15b606fba 100644 --- a/data/base/components/weapons/gnlrcktp.pie +++ b/data/base/components/weapons/gnlrcktp.pie @@ -19,24 +19,42 @@ POINTS 15 3 8 -10 0 15 -16 -7 15 -10 -POLYGONS 18 - 200 4 3 2 1 0 180 64 179 72 176 72 177 64 - 200 4 1 5 4 0 176 72 174 64 176 56 177 64 - 200 4 4 6 3 0 176 56 179 56 180 64 177 64 - 200 4 8 7 2 3 252 156 256 156 256 172 252 172 - 200 4 7 9 1 2 176 56 179 56 179 72 176 72 - 200 4 9 10 5 1 248 156 252 156 252 172 248 172 - 200 4 10 11 4 5 252 156 256 156 256 172 252 172 - 200 4 11 12 6 4 176 56 179 56 179 72 176 72 - 200 4 12 8 3 6 248 156 252 156 252 172 248 172 - 200 4 13 13 7 8 28 55 28 55 31 60 28 60 - 200 4 13 13 9 7 28 55 28 55 29 60 24 60 - 200 4 13 13 14 9 28 55 28 55 28 60 24 60 - 200 4 13 13 11 14 28 55 28 55 31 60 28 60 - 200 4 13 13 12 11 28 55 28 55 29 60 31 60 - 200 4 13 13 8 12 28 55 28 55 28 60 31 60 - 200 4 13 13 13 13 28 55 28 55 28 55 28 55 - 200 4 13 13 13 13 28 55 28 55 28 55 28 55 - 200 4 13 13 13 13 28 55 28 55 28 55 28 55 +POLYGONS 36 + 200 3 3 2 1 180 64 179 72 176 72 + 200 3 3 1 0 180 64 176 72 177 64 + 200 3 1 5 4 176 72 174 64 176 56 + 200 3 1 4 0 176 72 176 56 177 64 + 200 3 4 6 3 176 56 179 56 180 64 + 200 3 4 3 0 176 56 180 64 177 64 + 200 3 8 7 2 252 156 256 156 256 172 + 200 3 8 2 3 252 156 256 172 252 172 + 200 3 7 9 1 176 56 179 56 179 72 + 200 3 7 1 2 176 56 179 72 176 72 + 200 3 9 10 5 248 156 252 156 252 172 + 200 3 9 5 1 248 156 252 172 248 172 + 200 3 10 11 4 252 156 256 156 256 172 + 200 3 10 4 5 252 156 256 172 252 172 + 200 3 11 12 6 176 56 179 56 179 72 + 200 3 11 6 4 176 56 179 72 176 72 + 200 3 12 8 3 248 156 252 156 252 172 + 200 3 12 3 6 248 156 252 172 248 172 + 200 3 13 13 7 28 55 28 55 31 60 + 200 3 13 7 8 28 55 31 60 28 60 + 200 3 13 13 9 28 55 28 55 29 60 + 200 3 13 9 7 28 55 29 60 24 60 + 200 3 13 13 14 28 55 28 55 28 60 + 200 3 13 14 9 28 55 28 60 24 60 + 200 3 13 13 11 28 55 28 55 31 60 + 200 3 13 11 14 28 55 31 60 28 60 + 200 3 13 13 12 28 55 28 55 29 60 + 200 3 13 12 11 28 55 29 60 31 60 + 200 3 13 13 8 28 55 28 55 28 60 + 200 3 13 8 12 28 55 28 60 31 60 + 200 3 13 13 13 28 55 28 55 28 55 + 200 3 13 13 13 28 55 28 55 28 55 + 200 3 13 13 13 28 55 28 55 28 55 + 200 3 13 13 13 28 55 28 55 28 55 + 200 3 13 13 13 28 55 28 55 28 55 + 200 3 13 13 13 28 55 28 55 28 55 CONNECTORS 1 0 -17 15 diff --git a/data/base/components/weapons/gnlsnsr1.pie b/data/base/components/weapons/gnlsnsr1.pie index 41a72790e..96af4f0ea 100644 --- a/data/base/components/weapons/gnlsnsr1.pie +++ b/data/base/components/weapons/gnlsnsr1.pie @@ -32,12 +32,16 @@ POINTS 28 0 19 0 -3 21 -1 -3 24 -1 -POLYGONS 41 +POLYGONS 54 200 3 0 0 0 175 216 174 216 174 216 - 200 4 0 0 0 0 29 103 30 103 30 103 29 103 - 200 4 23 25 23 0 30 103 29 103 29 103 29 103 - 200 4 23 0 0 0 30 103 29 103 29 103 30 103 - 200 4 27 26 0 0 173 217 173 216 174 216 174 216 + 200 3 0 0 0 29 103 30 103 30 103 + 200 3 0 0 0 29 103 30 103 29 103 + 200 3 23 25 23 30 103 29 103 29 103 + 200 3 23 23 0 30 103 29 103 29 103 + 200 3 23 0 0 30 103 29 103 29 103 + 200 3 23 0 0 30 103 29 103 30 103 + 200 3 27 26 0 173 217 173 216 174 216 + 200 3 27 0 0 173 217 174 216 174 216 200 3 7 6 0 168 216 170 222 175 216 200 3 0 0 0 30 103 29 103 30 103 200 3 0 0 0 30 103 30 103 29 103 @@ -49,28 +53,37 @@ POLYGONS 41 200 3 6 9 2 106 210 111 216 111 208 200 3 3 9 4 104 216 111 216 106 222 200 3 4 9 5 106 222 111 216 111 224 - 200 4 1 3 26 27 170 222 168 216 173 216 173 217 + 200 3 1 3 26 170 222 168 216 173 216 + 200 3 1 26 27 170 222 173 216 173 217 200 3 4 5 0 170 210 175 208 175 216 200 3 24 23 25 29 104 29 103 29 103 200 3 5 8 0 175 208 170 210 175 216 200 3 22 24 23 30 107 29 104 30 103 200 3 3 4 0 168 216 170 210 175 216 - 200 4 20 21 19 11 110 225 108 227 112 234 115 234 - 200 4 11 19 21 20 115 234 112 234 108 227 110 225 + 200 3 20 21 19 110 225 108 227 112 234 + 200 3 20 19 11 110 225 112 234 115 234 + 200 3 11 19 21 115 234 112 234 108 227 + 200 3 11 21 20 115 234 108 227 110 225 200 3 20 16 11 28 104 30 114 27 114 - 200 4 16 20 0 22 30 114 28 104 29 103 30 107 + 200 3 16 20 0 30 114 28 104 29 103 + 200 3 16 0 22 30 114 29 103 30 107 200 3 6 2 0 170 222 175 224 175 216 200 3 0 0 0 31 103 30 103 30 103 200 3 2 1 0 175 224 170 222 175 216 200 3 12 18 17 29 103 28 105 32 103 - 200 4 21 20 12 18 108 227 110 225 110 224 108 225 - 200 4 18 12 20 21 108 225 110 224 110 225 108 227 - 200 4 12 17 0 20 29 103 32 103 31 103 28 104 + 200 3 21 20 12 108 227 110 225 110 224 + 200 3 21 12 18 108 227 110 224 108 225 + 200 3 18 12 20 108 225 110 224 110 225 + 200 3 18 20 21 108 225 110 225 108 227 + 200 3 12 17 0 29 103 32 103 31 103 + 200 3 12 0 20 29 103 31 103 28 104 200 3 8 7 0 170 210 168 216 175 216 200 3 14 10 13 34 103 27 114 36 114 - 200 4 14 17 18 10 34 103 32 103 28 105 27 114 + 200 3 14 17 18 34 103 32 103 28 105 + 200 3 14 18 10 34 103 28 105 27 114 200 3 13 14 15 104 234 110 224 115 234 200 3 15 14 13 115 234 110 224 104 234 - 200 4 14 15 16 17 34 103 36 114 30 114 32 103 + 200 3 14 15 16 34 103 36 114 30 114 + 200 3 14 16 17 34 103 30 114 32 103 200 3 19 18 10 112 234 108 225 104 234 200 3 10 18 19 104 234 108 225 112 234 \ No newline at end of file diff --git a/data/base/components/weapons/gnmacan.pie b/data/base/components/weapons/gnmacan.pie index f7408eeab..50fe7c779 100644 --- a/data/base/components/weapons/gnmacan.pie +++ b/data/base/components/weapons/gnmacan.pie @@ -12,11 +12,16 @@ POINTS 8 0 13 -61 -6 7 -19 -6 7 -61 -POLYGONS 5 - 200 4 3 2 1 0 96 73 102 73 102 63 96 64 - 200 4 2 5 4 1 96 73 102 73 102 62 96 63 - 200 4 5 7 6 4 96 73 102 73 102 63 96 62 - 200 4 7 3 0 6 96 73 102 73 102 64 96 63 - 200 4 7 5 2 3 12 60 16 60 16 64 12 64 +POLYGONS 10 + 200 3 3 2 1 96 73 102 73 102 63 + 200 3 3 1 0 96 73 102 63 96 64 + 200 3 2 5 4 96 73 102 73 102 62 + 200 3 2 4 1 96 73 102 62 96 63 + 200 3 5 7 6 96 73 102 73 102 63 + 200 3 5 6 4 96 73 102 63 96 62 + 200 3 7 3 0 96 73 102 73 102 64 + 200 3 7 0 6 96 73 102 64 96 63 + 200 3 7 5 2 12 60 16 60 16 64 + 200 3 7 2 3 12 60 16 64 12 64 CONNECTORS 1 0 -63 7 diff --git a/data/base/components/weapons/gnmair.pie b/data/base/components/weapons/gnmair.pie index 4b666abc1..fc008228c 100644 --- a/data/base/components/weapons/gnmair.pie +++ b/data/base/components/weapons/gnmair.pie @@ -20,16 +20,26 @@ POINTS 16 9 3 -18 6 6 -18 4 3 -18 -POLYGONS 10 - 200 4 3 2 1 0 196 19 191 19 191 0 196 0 - 200 4 2 5 4 1 196 19 191 19 191 0 196 0 - 200 4 5 7 6 4 196 19 191 19 191 0 196 0 - 200 4 7 3 0 6 196 19 191 19 191 0 196 0 - 200 4 7 5 2 3 164 36 157 36 157 28 164 28 - 200 4 11 10 9 8 164 36 157 36 157 28 164 28 - 200 4 8 9 13 12 196 19 191 19 191 0 196 0 - 200 4 9 10 14 13 196 19 191 19 191 0 196 0 - 200 4 10 11 15 14 196 19 191 19 191 0 196 0 - 200 4 11 8 12 15 196 19 191 19 191 0 196 0 +POLYGONS 20 + 200 3 3 2 1 196 19 191 19 191 0 + 200 3 3 1 0 196 19 191 0 196 0 + 200 3 2 5 4 196 19 191 19 191 0 + 200 3 2 4 1 196 19 191 0 196 0 + 200 3 5 7 6 196 19 191 19 191 0 + 200 3 5 6 4 196 19 191 0 196 0 + 200 3 7 3 0 196 19 191 19 191 0 + 200 3 7 0 6 196 19 191 0 196 0 + 200 3 7 5 2 164 36 157 36 157 28 + 200 3 7 2 3 164 36 157 28 164 28 + 200 3 11 10 9 164 36 157 36 157 28 + 200 3 11 9 8 164 36 157 28 164 28 + 200 3 8 9 13 196 19 191 19 191 0 + 200 3 8 13 12 196 19 191 0 196 0 + 200 3 9 10 14 196 19 191 19 191 0 + 200 3 9 14 13 196 19 191 0 196 0 + 200 3 10 11 15 196 19 191 19 191 0 + 200 3 10 15 14 196 19 191 0 196 0 + 200 3 11 8 12 196 19 191 19 191 0 + 200 3 11 12 15 196 19 191 0 196 0 CONNECTORS 1 0 -44 3 diff --git a/data/base/components/weapons/gnmair2.pie b/data/base/components/weapons/gnmair2.pie index 824f8369d..d2024b983 100644 --- a/data/base/components/weapons/gnmair2.pie +++ b/data/base/components/weapons/gnmair2.pie @@ -1,64 +1,64 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-17-droid-weapons.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 24 - -9 3 0 - -9 3 -6 - 9 11 7 - 9 12 -6 - 7 8 -6 - 4 4 -6 - 4 11 -6 - 1 8 -6 - 1 8 -44 - 7 8 -44 - -7 8 -6 - -4 11 -6 - -4 4 -6 - -1 8 -6 - -1 8 -44 - -4 11 -44 - -4 6 -44 - 9 3 0 - 9 3 -6 - -9 11 7 - -9 12 -6 - 4 6 -44 - 4 11 -44 - -7 8 -44 -POLYGONS 30 - 200 3 19 0 20 142 65 142 56 134 57 - 200 3 0 1 20 142 56 138 53 134 57 - 200 3 0 17 1 9 191 9 177 14 191 - 200 3 17 18 1 9 177 14 177 14 191 - 200 3 2 3 17 142 65 134 57 142 56 - 200 3 3 18 17 134 57 138 53 142 56 - 200 3 2 19 3 1 177 1 191 9 177 - 200 3 19 20 3 1 191 9 191 9 177 - 200 3 20 1 3 9 191 14 191 9 177 - 200 3 1 18 3 14 191 14 177 9 177 - 200 3 7 8 6 191 0 191 17 193 0 - 200 3 8 22 6 191 17 193 17 193 0 - 200 3 5 21 7 193 0 193 17 191 0 - 200 3 21 8 7 193 17 191 17 191 0 - 200 3 4 6 9 194 0 193 0 194 17 - 200 3 6 22 9 193 0 193 17 194 17 - 200 3 5 4 21 193 0 194 0 193 17 - 200 3 4 9 21 194 0 194 17 193 17 - 200 3 8 21 22 144 39 144 43 148 39 - 200 3 21 9 22 144 43 148 43 148 39 - 200 3 13 11 14 194 0 193 0 194 17 - 200 3 11 15 14 193 0 193 17 194 17 - 200 3 12 13 16 193 0 194 0 193 17 - 200 3 13 14 16 194 0 194 17 193 17 - 200 3 10 23 11 191 0 191 17 193 0 - 200 3 23 15 11 191 17 193 17 193 0 - 200 3 12 16 10 193 0 193 17 191 0 - 200 3 16 23 10 193 17 191 17 191 0 - 200 3 14 15 16 148 43 148 39 144 43 - 200 3 15 23 16 148 39 144 39 144 43 -CONNECTORS 2 - 3 -43 8 - -3 -43 8 +PIE 2 +TYPE 200 +TEXTURE 0 page-17-droid-weapons.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 24 + -9 3 0 + -9 3 -6 + 9 11 7 + 9 12 -6 + 7 8 -6 + 4 4 -6 + 4 11 -6 + 1 8 -6 + 1 8 -44 + 7 8 -44 + -7 8 -6 + -4 11 -6 + -4 4 -6 + -1 8 -6 + -1 8 -44 + -4 11 -44 + -4 6 -44 + 9 3 0 + 9 3 -6 + -9 11 7 + -9 12 -6 + 4 6 -44 + 4 11 -44 + -7 8 -44 +POLYGONS 30 + 200 3 19 0 20 142 65 142 56 134 57 + 200 3 0 1 20 142 56 138 53 134 57 + 200 3 0 17 1 9 191 9 177 14 191 + 200 3 17 18 1 9 177 14 177 14 191 + 200 3 2 3 17 142 65 134 57 142 56 + 200 3 3 18 17 134 57 138 53 142 56 + 200 3 2 19 3 1 177 1 191 9 177 + 200 3 19 20 3 1 191 9 191 9 177 + 200 3 20 1 3 9 191 14 191 9 177 + 200 3 1 18 3 14 191 14 177 9 177 + 200 3 7 8 6 191 0 191 17 193 0 + 200 3 8 22 6 191 17 193 17 193 0 + 200 3 5 21 7 193 0 193 17 191 0 + 200 3 21 8 7 193 17 191 17 191 0 + 200 3 4 6 9 194 0 193 0 194 17 + 200 3 6 22 9 193 0 193 17 194 17 + 200 3 5 4 21 193 0 194 0 193 17 + 200 3 4 9 21 194 0 194 17 193 17 + 200 3 8 21 22 144 39 144 43 148 39 + 200 3 21 9 22 144 43 148 43 148 39 + 200 3 13 11 14 194 0 193 0 194 17 + 200 3 11 15 14 193 0 193 17 194 17 + 200 3 12 13 16 193 0 194 0 193 17 + 200 3 13 14 16 194 0 194 17 193 17 + 200 3 10 23 11 191 0 191 17 193 0 + 200 3 23 15 11 191 17 193 17 193 0 + 200 3 12 16 10 193 0 193 17 191 0 + 200 3 16 23 10 193 17 191 17 191 0 + 200 3 14 15 16 148 43 148 39 144 43 + 200 3 15 23 16 148 39 144 39 144 43 +CONNECTORS 2 + 3 -43 8 + -3 -43 8 diff --git a/data/base/components/weapons/gnmair3.pie b/data/base/components/weapons/gnmair3.pie index 8cfe4e2e6..92a943465 100644 --- a/data/base/components/weapons/gnmair3.pie +++ b/data/base/components/weapons/gnmair3.pie @@ -1,56 +1,56 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-17-droid-weapons.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 16 - 29 11 12 - -29 11 -12 - -10 5 -12 - 10 11 -12 - 29 11 -12 - 29 5 -12 - 29 5 12 - 10 11 12 - 10 5 12 - 10 5 -12 - -29 5 -12 - -10 11 12 - -10 5 12 - -10 11 -12 - -29 11 12 - -29 5 12 -POLYGONS 24 - 200 3 7 3 8 24 102 2 102 24 107 - 200 3 8 3 9 24 107 2 102 2 107 - 200 3 3 4 9 0 152 21 152 0 159 - 200 3 9 4 5 0 159 21 152 21 159 - 200 3 4 0 5 2 102 24 102 2 107 - 200 3 5 0 6 2 107 24 102 24 107 - 200 3 0 7 6 0 164 21 164 0 170 - 200 3 6 7 8 0 170 21 164 21 170 - 200 3 3 7 4 0 78 0 101 22 78 - 200 3 7 0 4 0 101 22 101 22 78 - 200 3 8 9 6 0 101 0 78 22 101 - 200 3 6 9 5 22 101 0 78 22 78 - 200 3 14 1 15 24 102 2 102 24 107 - 200 3 15 1 10 24 107 2 102 2 107 - 200 3 1 13 10 0 152 21 152 0 159 - 200 3 10 13 2 0 159 21 152 21 159 - 200 3 13 11 2 2 102 24 102 2 107 - 200 3 2 11 12 2 107 24 102 24 107 - 200 3 11 14 12 0 164 21 164 0 170 - 200 3 12 14 15 0 170 21 164 21 170 - 200 3 1 14 13 0 78 0 101 22 78 - 200 3 13 14 11 22 78 0 101 22 101 - 200 3 15 10 12 0 101 0 78 22 101 - 200 3 12 10 2 22 101 0 78 22 78 -CONNECTORS 8 - 13 -12 8 - -13 -12 8 - 18 -12 8 - -17 -12 8 - 22 -12 8 - -21 -12 8 - 27 -12 8 - -26 -12 8 +PIE 2 +TYPE 200 +TEXTURE 0 page-17-droid-weapons.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 16 + 29 11 12 + -29 11 -12 + -10 5 -12 + 10 11 -12 + 29 11 -12 + 29 5 -12 + 29 5 12 + 10 11 12 + 10 5 12 + 10 5 -12 + -29 5 -12 + -10 11 12 + -10 5 12 + -10 11 -12 + -29 11 12 + -29 5 12 +POLYGONS 24 + 200 3 7 3 8 24 102 2 102 24 107 + 200 3 8 3 9 24 107 2 102 2 107 + 200 3 3 4 9 0 152 21 152 0 159 + 200 3 9 4 5 0 159 21 152 21 159 + 200 3 4 0 5 2 102 24 102 2 107 + 200 3 5 0 6 2 107 24 102 24 107 + 200 3 0 7 6 0 164 21 164 0 170 + 200 3 6 7 8 0 170 21 164 21 170 + 200 3 3 7 4 0 78 0 101 22 78 + 200 3 7 0 4 0 101 22 101 22 78 + 200 3 8 9 6 0 101 0 78 22 101 + 200 3 6 9 5 22 101 0 78 22 78 + 200 3 14 1 15 24 102 2 102 24 107 + 200 3 15 1 10 24 107 2 102 2 107 + 200 3 1 13 10 0 152 21 152 0 159 + 200 3 10 13 2 0 159 21 152 21 159 + 200 3 13 11 2 2 102 24 102 2 107 + 200 3 2 11 12 2 107 24 102 24 107 + 200 3 11 14 12 0 164 21 164 0 170 + 200 3 12 14 15 0 170 21 164 21 170 + 200 3 1 14 13 0 78 0 101 22 78 + 200 3 13 14 11 22 78 0 101 22 101 + 200 3 15 10 12 0 101 0 78 22 101 + 200 3 12 10 2 22 101 0 78 22 78 +CONNECTORS 8 + 13 -12 8 + -13 -12 8 + 18 -12 8 + -17 -12 8 + 22 -12 8 + -21 -12 8 + 27 -12 8 + -26 -12 8 diff --git a/data/base/components/weapons/gnmcan.pie b/data/base/components/weapons/gnmcan.pie index 50a3f68d2..db532aae0 100644 --- a/data/base/components/weapons/gnmcan.pie +++ b/data/base/components/weapons/gnmcan.pie @@ -12,11 +12,16 @@ POINTS 8 5 7 -20 0 12 -15 -5 7 -20 -POLYGONS 5 - 200 4 3 2 1 0 16 64 12 64 12 60 16 60 - 200 4 0 1 5 4 6 66 12 66 12 51 6 53 - 200 4 1 2 6 5 6 66 12 66 12 49 6 51 - 200 4 2 3 7 6 6 66 12 66 12 51 6 49 - 200 4 3 0 4 7 6 66 12 66 12 53 6 51 +POLYGONS 10 + 200 3 3 2 1 16 64 12 64 12 60 + 200 3 3 1 0 16 64 12 60 16 60 + 200 3 0 1 5 6 66 12 66 12 51 + 200 3 0 5 4 6 66 12 51 6 53 + 200 3 1 2 6 6 66 12 66 12 49 + 200 3 1 6 5 6 66 12 49 6 51 + 200 3 2 3 7 6 66 12 66 12 51 + 200 3 2 7 6 6 66 12 51 6 49 + 200 3 3 0 4 6 66 12 66 12 53 + 200 3 3 4 7 6 66 12 53 6 51 CONNECTORS 1 0 -61 7 diff --git a/data/base/components/weapons/gnmecm1.pie b/data/base/components/weapons/gnmecm1.pie index 5bd0bc25b..255e37932 100644 --- a/data/base/components/weapons/gnmecm1.pie +++ b/data/base/components/weapons/gnmecm1.pie @@ -36,27 +36,48 @@ POINTS 32 -9 25 -10 5 34 -10 -4 34 -10 -POLYGONS 21 - 200 4 0 1 2 3 228 244 220 244 216 236 232 236 - 200 4 3 2 1 0 232 236 216 236 220 244 228 244 - 200 4 2 4 5 3 216 236 220 228 228 228 232 236 - 200 4 3 5 4 2 232 236 228 228 220 228 216 236 - 200 4 6 7 8 9 220 244 228 244 232 236 216 236 - 200 4 9 8 7 6 216 236 232 236 228 244 220 244 - 200 4 10 9 8 11 220 228 216 236 232 236 228 228 - 200 4 11 8 9 10 228 228 232 236 216 236 220 228 - 200 4 15 14 13 12 227 49 232 49 236 99 223 99 - 200 4 14 17 16 13 227 49 232 49 236 99 223 99 - 200 4 17 19 18 16 227 49 232 49 236 99 223 99 - 200 4 19 15 12 18 227 49 232 49 236 99 223 99 - 200 4 17 14 15 19 227 82 227 66 232 66 232 82 - 200 4 20 21 22 23 228 244 220 244 216 236 232 236 - 200 4 23 22 21 20 232 236 216 236 220 244 228 244 - 200 4 22 24 25 23 216 236 220 228 228 228 232 236 - 200 4 23 25 24 22 232 236 228 228 220 228 216 236 - 200 4 26 27 28 29 228 244 220 244 216 236 232 236 - 200 4 29 28 27 26 232 236 216 236 220 244 228 244 - 200 4 28 30 31 29 216 236 220 228 228 228 232 236 - 200 4 29 31 30 28 232 236 228 228 220 228 216 236 +POLYGONS 42 + 200 3 0 1 2 228 244 220 244 216 236 + 200 3 0 2 3 228 244 216 236 232 236 + 200 3 3 2 1 232 236 216 236 220 244 + 200 3 3 1 0 232 236 220 244 228 244 + 200 3 2 4 5 216 236 220 228 228 228 + 200 3 2 5 3 216 236 228 228 232 236 + 200 3 3 5 4 232 236 228 228 220 228 + 200 3 3 4 2 232 236 220 228 216 236 + 200 3 6 7 8 220 244 228 244 232 236 + 200 3 6 8 9 220 244 232 236 216 236 + 200 3 9 8 7 216 236 232 236 228 244 + 200 3 9 7 6 216 236 228 244 220 244 + 200 3 10 9 8 220 228 216 236 232 236 + 200 3 10 8 11 220 228 232 236 228 228 + 200 3 11 8 9 228 228 232 236 216 236 + 200 3 11 9 10 228 228 216 236 220 228 + 200 3 15 14 13 227 49 232 49 236 99 + 200 3 15 13 12 227 49 236 99 223 99 + 200 3 14 17 16 227 49 232 49 236 99 + 200 3 14 16 13 227 49 236 99 223 99 + 200 3 17 19 18 227 49 232 49 236 99 + 200 3 17 18 16 227 49 236 99 223 99 + 200 3 19 15 12 227 49 232 49 236 99 + 200 3 19 12 18 227 49 236 99 223 99 + 200 3 17 14 15 227 82 227 66 232 66 + 200 3 17 15 19 227 82 232 66 232 82 + 200 3 20 21 22 228 244 220 244 216 236 + 200 3 20 22 23 228 244 216 236 232 236 + 200 3 23 22 21 232 236 216 236 220 244 + 200 3 23 21 20 232 236 220 244 228 244 + 200 3 22 24 25 216 236 220 228 228 228 + 200 3 22 25 23 216 236 228 228 232 236 + 200 3 23 25 24 232 236 228 228 220 228 + 200 3 23 24 22 232 236 220 228 216 236 + 200 3 26 27 28 228 244 220 244 216 236 + 200 3 26 28 29 228 244 216 236 232 236 + 200 3 29 28 27 232 236 216 236 220 244 + 200 3 29 27 26 232 236 220 244 228 244 + 200 3 28 30 31 216 236 220 228 228 228 + 200 3 28 31 29 216 236 228 228 232 236 + 200 3 29 31 30 232 236 228 228 220 228 + 200 3 29 30 28 232 236 220 228 216 236 CONNECTORS 1 0 0 71 diff --git a/data/base/components/weapons/gnmecm2.pie b/data/base/components/weapons/gnmecm2.pie index 3f94efb7e..f25c89fce 100644 --- a/data/base/components/weapons/gnmecm2.pie +++ b/data/base/components/weapons/gnmecm2.pie @@ -52,38 +52,68 @@ POINTS 48 6 42 2 4 48 5 1 48 11 -POLYGONS 32 - 200 4 0 1 2 3 228 244 220 244 216 236 232 236 - 200 4 3 2 1 0 232 236 216 236 220 244 228 244 - 200 4 2 4 5 3 216 236 220 228 228 228 232 236 - 200 4 3 5 4 2 232 236 228 228 220 228 216 236 - 200 4 6 7 8 9 228 244 220 244 216 236 232 236 - 200 4 9 8 7 6 232 236 216 236 220 244 228 244 - 200 4 8 10 11 9 216 236 220 228 228 228 232 236 - 200 4 9 11 10 8 232 236 228 228 220 228 216 236 - 200 4 15 14 13 12 227 51 232 51 236 97 223 97 - 200 4 14 17 16 13 227 51 232 51 236 97 223 97 - 200 4 17 15 12 16 227 51 232 51 236 97 223 97 +POLYGONS 62 + 200 3 0 1 2 228 244 220 244 216 236 + 200 3 0 2 3 228 244 216 236 232 236 + 200 3 3 2 1 232 236 216 236 220 244 + 200 3 3 1 0 232 236 220 244 228 244 + 200 3 2 4 5 216 236 220 228 228 228 + 200 3 2 5 3 216 236 228 228 232 236 + 200 3 3 5 4 232 236 228 228 220 228 + 200 3 3 4 2 232 236 220 228 216 236 + 200 3 6 7 8 228 244 220 244 216 236 + 200 3 6 8 9 228 244 216 236 232 236 + 200 3 9 8 7 232 236 216 236 220 244 + 200 3 9 7 6 232 236 220 244 228 244 + 200 3 8 10 11 216 236 220 228 228 228 + 200 3 8 11 9 216 236 228 228 232 236 + 200 3 9 11 10 232 236 228 228 220 228 + 200 3 9 10 8 232 236 220 228 216 236 + 200 3 15 14 13 227 51 232 51 236 97 + 200 3 15 13 12 227 51 236 97 223 97 + 200 3 14 17 16 227 51 232 51 236 97 + 200 3 14 16 13 227 51 236 97 223 97 + 200 3 17 15 12 227 51 232 51 236 97 + 200 3 17 12 16 227 51 236 97 223 97 200 3 15 17 14 227 74 232 65 232 83 - 200 4 21 20 19 18 227 51 232 51 236 97 223 97 - 200 4 20 23 22 19 227 51 232 51 236 97 223 97 - 200 4 23 21 18 22 227 51 232 51 236 97 223 97 + 200 3 21 20 19 227 51 232 51 236 97 + 200 3 21 19 18 227 51 236 97 223 97 + 200 3 20 23 22 227 51 232 51 236 97 + 200 3 20 22 19 227 51 236 97 223 97 + 200 3 23 21 18 227 51 232 51 236 97 + 200 3 23 18 22 227 51 236 97 223 97 200 3 21 23 20 227 74 232 65 232 83 - 200 4 24 25 26 27 220 244 228 244 232 236 216 236 - 200 4 27 26 25 24 216 236 232 236 228 244 220 244 - 200 4 28 27 26 29 220 228 216 236 232 236 228 228 - 200 4 29 26 27 28 228 228 232 236 216 236 220 228 - 200 4 30 31 32 33 220 244 228 244 232 236 216 236 - 200 4 33 32 31 30 216 236 232 236 228 244 220 244 - 200 4 34 33 32 35 220 228 216 236 232 236 228 228 - 200 4 35 32 33 34 228 228 232 236 216 236 220 228 - 200 4 36 37 38 39 220 244 228 244 232 236 216 236 - 200 4 39 38 37 36 216 236 232 236 228 244 220 244 - 200 4 40 39 38 41 220 228 216 236 232 236 228 228 - 200 4 41 38 39 40 228 228 232 236 216 236 220 228 - 200 4 42 43 44 45 220 244 228 244 232 236 216 236 - 200 4 45 44 43 42 216 236 232 236 228 244 220 244 - 200 4 46 45 44 47 220 228 216 236 232 236 228 228 - 200 4 47 44 45 46 228 228 232 236 216 236 220 228 + 200 3 24 25 26 220 244 228 244 232 236 + 200 3 24 26 27 220 244 232 236 216 236 + 200 3 27 26 25 216 236 232 236 228 244 + 200 3 27 25 24 216 236 228 244 220 244 + 200 3 28 27 26 220 228 216 236 232 236 + 200 3 28 26 29 220 228 232 236 228 228 + 200 3 29 26 27 228 228 232 236 216 236 + 200 3 29 27 28 228 228 216 236 220 228 + 200 3 30 31 32 220 244 228 244 232 236 + 200 3 30 32 33 220 244 232 236 216 236 + 200 3 33 32 31 216 236 232 236 228 244 + 200 3 33 31 30 216 236 228 244 220 244 + 200 3 34 33 32 220 228 216 236 232 236 + 200 3 34 32 35 220 228 232 236 228 228 + 200 3 35 32 33 228 228 232 236 216 236 + 200 3 35 33 34 228 228 216 236 220 228 + 200 3 36 37 38 220 244 228 244 232 236 + 200 3 36 38 39 220 244 232 236 216 236 + 200 3 39 38 37 216 236 232 236 228 244 + 200 3 39 37 36 216 236 228 244 220 244 + 200 3 40 39 38 220 228 216 236 232 236 + 200 3 40 38 41 220 228 232 236 228 228 + 200 3 41 38 39 228 228 232 236 216 236 + 200 3 41 39 40 228 228 216 236 220 228 + 200 3 42 43 44 220 244 228 244 232 236 + 200 3 42 44 45 220 244 232 236 216 236 + 200 3 45 44 43 216 236 232 236 228 244 + 200 3 45 43 42 216 236 228 244 220 244 + 200 3 46 45 44 220 228 216 236 232 236 + 200 3 46 44 47 220 228 232 236 228 228 + 200 3 47 44 45 228 228 232 236 216 236 + 200 3 47 45 46 228 228 216 236 220 228 CONNECTORS 1 0 0 69 diff --git a/data/base/components/weapons/gnmflmr.pie b/data/base/components/weapons/gnmflmr.pie index 782935652..6dd665b99 100644 --- a/data/base/components/weapons/gnmflmr.pie +++ b/data/base/components/weapons/gnmflmr.pie @@ -36,30 +36,54 @@ POINTS 32 8 4 -32 4 4 -14 4 4 -32 -POLYGONS 24 - 200 4 3 2 1 0 108 73 108 73 116 73 116 73 - 200 4 2 5 4 1 108 73 108 69 116 69 116 73 - 200 4 5 7 6 4 108 69 108 69 116 69 116 69 - 200 4 7 3 0 6 108 69 108 73 116 73 116 69 - 200 4 6 0 1 4 116 69 116 73 116 73 116 69 - 200 4 2 3 7 5 108 73 108 73 108 69 108 69 - 200 4 11 10 9 8 102 70 105 68 107 70 105 72 - 200 4 10 11 13 12 125 61 125 67 116 67 116 61 - 200 4 11 8 14 13 125 67 125 73 116 73 116 67 - 200 4 8 9 15 14 125 73 125 67 116 67 116 73 - 200 4 9 10 12 15 125 67 125 61 116 61 116 67 - 200 4 15 12 13 14 116 67 116 61 116 67 116 73 - 200 4 19 18 17 16 102 70 105 68 107 70 105 72 - 200 4 18 19 21 20 125 61 125 67 116 67 116 61 - 200 4 19 16 22 21 125 67 125 73 116 73 116 67 - 200 4 16 17 23 22 125 73 125 67 116 67 116 73 - 200 4 17 18 20 23 125 67 125 61 116 61 116 67 - 200 4 23 20 21 22 116 67 116 61 116 67 116 73 - 200 4 27 26 25 24 108 73 108 73 116 73 116 73 - 200 4 26 29 28 25 108 73 108 69 116 69 116 73 - 200 4 29 31 30 28 108 69 108 69 116 69 116 69 - 200 4 31 27 24 30 108 69 108 73 116 73 116 69 - 200 4 30 24 25 28 116 69 116 73 116 73 116 69 - 200 4 26 27 31 29 108 73 108 73 108 69 108 69 +POLYGONS 48 + 200 3 3 2 1 108 73 108 73 116 73 + 200 3 3 1 0 108 73 116 73 116 73 + 200 3 2 5 4 108 73 108 69 116 69 + 200 3 2 4 1 108 73 116 69 116 73 + 200 3 5 7 6 108 69 108 69 116 69 + 200 3 5 6 4 108 69 116 69 116 69 + 200 3 7 3 0 108 69 108 73 116 73 + 200 3 7 0 6 108 69 116 73 116 69 + 200 3 6 0 1 116 69 116 73 116 73 + 200 3 6 1 4 116 69 116 73 116 69 + 200 3 2 3 7 108 73 108 73 108 69 + 200 3 2 7 5 108 73 108 69 108 69 + 200 3 11 10 9 102 70 105 68 107 70 + 200 3 11 9 8 102 70 107 70 105 72 + 200 3 10 11 13 125 61 125 67 116 67 + 200 3 10 13 12 125 61 116 67 116 61 + 200 3 11 8 14 125 67 125 73 116 73 + 200 3 11 14 13 125 67 116 73 116 67 + 200 3 8 9 15 125 73 125 67 116 67 + 200 3 8 15 14 125 73 116 67 116 73 + 200 3 9 10 12 125 67 125 61 116 61 + 200 3 9 12 15 125 67 116 61 116 67 + 200 3 15 12 13 116 67 116 61 116 67 + 200 3 15 13 14 116 67 116 67 116 73 + 200 3 19 18 17 102 70 105 68 107 70 + 200 3 19 17 16 102 70 107 70 105 72 + 200 3 18 19 21 125 61 125 67 116 67 + 200 3 18 21 20 125 61 116 67 116 61 + 200 3 19 16 22 125 67 125 73 116 73 + 200 3 19 22 21 125 67 116 73 116 67 + 200 3 16 17 23 125 73 125 67 116 67 + 200 3 16 23 22 125 73 116 67 116 73 + 200 3 17 18 20 125 67 125 61 116 61 + 200 3 17 20 23 125 67 116 61 116 67 + 200 3 23 20 21 116 67 116 61 116 67 + 200 3 23 21 22 116 67 116 67 116 73 + 200 3 27 26 25 108 73 108 73 116 73 + 200 3 27 25 24 108 73 116 73 116 73 + 200 3 26 29 28 108 73 108 69 116 69 + 200 3 26 28 25 108 73 116 69 116 73 + 200 3 29 31 30 108 69 108 69 116 69 + 200 3 29 30 28 108 69 116 69 116 69 + 200 3 31 27 24 108 69 108 73 116 73 + 200 3 31 24 30 108 69 116 73 116 69 + 200 3 30 24 25 116 69 116 73 116 73 + 200 3 30 25 28 116 69 116 73 116 69 + 200 3 26 27 31 108 73 108 73 108 69 + 200 3 26 31 29 108 73 108 69 108 69 CONNECTORS 1 0 -42 3 diff --git a/data/base/components/weapons/gnmgss.pie b/data/base/components/weapons/gnmgss.pie index 88a85c97a..d6488a561 100644 --- a/data/base/components/weapons/gnmgss.pie +++ b/data/base/components/weapons/gnmgss.pie @@ -10,10 +10,16 @@ POINTS 6 -16 6 4 -9 1 -49 -9 1 4 -POLYGONS 6 - 200 4 0 1 2 3 158 45 152 45 152 71 158 71 - 200 4 3 2 1 0 158 71 152 71 152 45 158 45 - 200 4 1 4 5 2 158 45 152 45 152 71 158 71 - 200 4 2 5 4 1 158 71 152 71 152 45 158 45 - 200 4 4 0 3 5 158 45 152 45 152 71 158 71 - 200 4 5 3 0 4 158 71 152 71 152 45 158 45 +POLYGONS 12 + 200 3 0 1 2 158 45 152 45 152 71 + 200 3 0 2 3 158 45 152 71 158 71 + 200 3 3 2 1 158 71 152 71 152 45 + 200 3 3 1 0 158 71 152 45 158 45 + 200 3 1 4 5 158 45 152 45 152 71 + 200 3 1 5 2 158 45 152 71 158 71 + 200 3 2 5 4 158 71 152 71 152 45 + 200 3 2 4 1 158 71 152 45 158 45 + 200 3 4 0 3 158 45 152 45 152 71 + 200 3 4 3 5 158 45 152 71 158 71 + 200 3 5 3 0 158 71 152 71 152 45 + 200 3 5 0 4 158 71 152 45 158 45 \ No newline at end of file diff --git a/data/base/components/weapons/gnmhowt.pie b/data/base/components/weapons/gnmhowt.pie index bd18854a5..00e81c04b 100644 --- a/data/base/components/weapons/gnmhowt.pie +++ b/data/base/components/weapons/gnmhowt.pie @@ -20,17 +20,28 @@ POINTS 16 5 12 2 5 24 2 5 24 -14 -POLYGONS 11 - 200 4 3 2 1 0 160 74 160 62 172 62 172 74 - 200 4 7 6 5 4 225 155 221 155 225 155 228 155 - 200 4 0 1 7 4 228 173 225 173 225 155 228 155 - 200 4 1 2 6 7 225 173 221 173 221 155 225 155 - 200 4 2 3 5 6 221 173 225 173 225 155 221 155 - 200 4 3 0 4 5 225 173 228 173 228 155 225 155 - 200 4 11 10 9 8 77 71 77 61 90 61 90 71 - 200 4 15 14 13 12 77 61 90 61 90 71 77 71 - 200 4 13 14 10 11 77 71 77 61 90 61 90 71 - 200 4 14 15 9 10 90 61 90 71 77 71 77 61 - 200 4 15 12 8 9 90 61 90 71 77 71 77 61 +POLYGONS 22 + 200 3 3 2 1 160 74 160 62 172 62 + 200 3 3 1 0 160 74 172 62 172 74 + 200 3 7 6 5 225 155 221 155 225 155 + 200 3 7 5 4 225 155 225 155 228 155 + 200 3 0 1 7 228 173 225 173 225 155 + 200 3 0 7 4 228 173 225 155 228 155 + 200 3 1 2 6 225 173 221 173 221 155 + 200 3 1 6 7 225 173 221 155 225 155 + 200 3 2 3 5 221 173 225 173 225 155 + 200 3 2 5 6 221 173 225 155 221 155 + 200 3 3 0 4 225 173 228 173 228 155 + 200 3 3 4 5 225 173 228 155 225 155 + 200 3 11 10 9 77 71 77 61 90 61 + 200 3 11 9 8 77 71 90 61 90 71 + 200 3 15 14 13 77 61 90 61 90 71 + 200 3 15 13 12 77 61 90 71 77 71 + 200 3 13 14 10 77 71 77 61 90 61 + 200 3 13 10 11 77 71 90 61 90 71 + 200 3 14 15 9 90 61 90 71 77 71 + 200 3 14 9 10 90 61 77 71 77 61 + 200 3 15 12 8 90 61 90 71 77 71 + 200 3 15 8 9 90 61 77 71 77 61 CONNECTORS 1 0 -67 19 diff --git a/data/base/components/weapons/gnmlas.pie b/data/base/components/weapons/gnmlas.pie index 6a23ca692..7698d8afc 100644 --- a/data/base/components/weapons/gnmlas.pie +++ b/data/base/components/weapons/gnmlas.pie @@ -16,14 +16,20 @@ POINTS 12 0 11 -30 2 6 -11 2 6 -30 -POLYGONS 8 - 200 4 3 2 1 0 242 25 251 25 251 37 242 37 - 200 4 2 5 4 1 242 25 251 25 251 37 242 37 - 200 4 5 3 0 4 242 25 251 25 251 37 242 37 +POLYGONS 14 + 200 3 3 2 1 242 25 251 25 251 37 + 200 3 3 1 0 242 25 251 37 242 37 + 200 3 2 5 4 242 25 251 25 251 37 + 200 3 2 4 1 242 25 251 37 242 37 + 200 3 5 3 0 242 25 251 25 251 37 + 200 3 5 0 4 242 25 251 37 242 37 200 3 2 3 5 157 26 167 33 157 40 200 3 0 1 4 46 185 56 179 56 191 - 200 4 9 8 7 6 33 177 46 177 46 192 33 192 - 200 4 8 11 10 7 33 177 46 177 46 192 33 192 - 200 4 11 9 6 10 33 177 46 177 46 192 33 192 + 200 3 9 8 7 33 177 46 177 46 192 + 200 3 9 7 6 33 177 46 192 33 192 + 200 3 8 11 10 33 177 46 177 46 192 + 200 3 8 10 7 33 177 46 192 33 192 + 200 3 11 9 6 33 177 46 177 46 192 + 200 3 11 6 10 33 177 46 192 33 192 CONNECTORS 1 0 -40 9 diff --git a/data/base/components/weapons/gnmmg1.pie b/data/base/components/weapons/gnmmg1.pie index d77aa0d0b..417efd24e 100644 --- a/data/base/components/weapons/gnmmg1.pie +++ b/data/base/components/weapons/gnmmg1.pie @@ -20,17 +20,28 @@ POINTS 16 2 7 -36 0 9 -36 0 9 -40 -POLYGONS 11 - 200 4 3 2 1 0 83 69 89 70 83 69 76 68 - 200 4 7 6 5 4 83 61 89 61 83 61 76 61 - 200 4 4 5 3 0 76 61 83 61 83 69 76 68 - 200 4 5 6 2 3 83 61 89 61 89 70 83 69 - 200 4 6 7 1 2 89 61 83 61 83 69 89 70 - 200 4 7 4 0 1 83 61 76 61 76 68 83 69 - 200 4 11 10 9 8 39 70 33 70 33 71 39 71 - 200 4 15 14 13 12 39 71 39 70 45 70 45 71 - 200 4 12 13 11 8 45 71 45 70 39 70 39 71 - 200 4 14 15 9 10 39 70 39 71 33 71 33 70 - 200 4 15 12 8 9 38 71 36 71 33 71 36 70 +POLYGONS 22 + 200 3 3 2 1 83 69 89 70 83 69 + 200 3 3 1 0 83 69 83 69 76 68 + 200 3 7 6 5 83 61 89 61 83 61 + 200 3 7 5 4 83 61 83 61 76 61 + 200 3 4 5 3 76 61 83 61 83 69 + 200 3 4 3 0 76 61 83 69 76 68 + 200 3 5 6 2 83 61 89 61 89 70 + 200 3 5 2 3 83 61 89 70 83 69 + 200 3 6 7 1 89 61 83 61 83 69 + 200 3 6 1 2 89 61 83 69 89 70 + 200 3 7 4 0 83 61 76 61 76 68 + 200 3 7 0 1 83 61 76 68 83 69 + 200 3 11 10 9 39 70 33 70 33 71 + 200 3 11 9 8 39 70 33 71 39 71 + 200 3 15 14 13 39 71 39 70 45 70 + 200 3 15 13 12 39 71 45 70 45 71 + 200 3 12 13 11 45 71 45 70 39 70 + 200 3 12 11 8 45 71 39 70 39 71 + 200 3 14 15 9 39 70 39 71 33 71 + 200 3 14 9 10 39 70 33 71 33 70 + 200 3 15 12 8 38 71 36 71 33 71 + 200 3 15 8 9 38 71 33 71 36 70 CONNECTORS 1 0 -40 7 diff --git a/data/base/components/weapons/gnmmg2.pie b/data/base/components/weapons/gnmmg2.pie index 2fd673a6c..f43f0ceaa 100644 --- a/data/base/components/weapons/gnmmg2.pie +++ b/data/base/components/weapons/gnmmg2.pie @@ -28,22 +28,38 @@ POINTS 24 -7 5 -18 1 13 -10 1 13 -18 -POLYGONS 16 - 200 4 3 2 1 0 129 126 140 126 140 128 129 128 - 200 4 0 1 5 4 129 126 140 126 140 128 129 128 - 200 4 1 2 6 5 129 126 140 126 140 128 129 128 - 200 4 2 3 7 6 129 126 140 126 140 128 129 128 - 200 4 3 0 4 7 129 126 140 126 140 128 129 128 - 200 4 11 10 9 8 147 129 150 129 150 140 147 140 - 200 4 10 13 12 9 147 129 150 129 150 140 147 140 - 200 4 13 15 14 12 147 129 150 129 150 140 147 140 - 200 4 15 11 8 14 147 129 150 129 150 140 147 140 - 200 4 16 17 18 19 208 24 211 24 211 19 208 19 - 200 4 19 18 17 16 208 19 211 19 211 24 208 24 - 200 4 17 20 21 18 213 24 218 24 218 19 213 19 - 200 4 18 21 20 17 213 19 218 19 218 24 213 24 - 200 4 22 16 19 23 213 24 218 24 218 19 213 19 - 200 4 23 19 16 22 213 19 218 19 218 24 213 24 - 200 4 15 13 10 11 150 129 161 129 161 140 150 140 +POLYGONS 32 + 200 3 3 2 1 129 126 140 126 140 128 + 200 3 3 1 0 129 126 140 128 129 128 + 200 3 0 1 5 129 126 140 126 140 128 + 200 3 0 5 4 129 126 140 128 129 128 + 200 3 1 2 6 129 126 140 126 140 128 + 200 3 1 6 5 129 126 140 128 129 128 + 200 3 2 3 7 129 126 140 126 140 128 + 200 3 2 7 6 129 126 140 128 129 128 + 200 3 3 0 4 129 126 140 126 140 128 + 200 3 3 4 7 129 126 140 128 129 128 + 200 3 11 10 9 147 129 150 129 150 140 + 200 3 11 9 8 147 129 150 140 147 140 + 200 3 10 13 12 147 129 150 129 150 140 + 200 3 10 12 9 147 129 150 140 147 140 + 200 3 13 15 14 147 129 150 129 150 140 + 200 3 13 14 12 147 129 150 140 147 140 + 200 3 15 11 8 147 129 150 129 150 140 + 200 3 15 8 14 147 129 150 140 147 140 + 200 3 16 17 18 208 24 211 24 211 19 + 200 3 16 18 19 208 24 211 19 208 19 + 200 3 19 18 17 208 19 211 19 211 24 + 200 3 19 17 16 208 19 211 24 208 24 + 200 3 17 20 21 213 24 218 24 218 19 + 200 3 17 21 18 213 24 218 19 213 19 + 200 3 18 21 20 213 19 218 19 218 24 + 200 3 18 20 17 213 19 218 24 213 24 + 200 3 22 16 19 213 24 218 24 218 19 + 200 3 22 19 23 213 24 218 19 213 19 + 200 3 23 19 16 213 19 218 19 218 24 + 200 3 23 16 22 213 19 218 24 213 24 + 200 3 15 13 10 150 129 161 129 161 140 + 200 3 15 10 11 150 129 161 140 150 140 CONNECTORS 1 0 -43 5 diff --git a/data/base/components/weapons/gnmmort.pie b/data/base/components/weapons/gnmmort.pie index 62a2a5c5d..b19100ed3 100644 --- a/data/base/components/weapons/gnmmort.pie +++ b/data/base/components/weapons/gnmmort.pie @@ -24,28 +24,50 @@ POINTS 20 1 20 2 1 20 -8 2 15 -11 -POLYGONS 22 - 200 4 3 2 1 0 127 72 127 68 142 68 142 72 - 200 4 2 5 4 1 127 68 127 68 142 68 142 68 - 200 4 5 7 6 4 127 68 127 72 142 72 142 68 - 200 4 7 9 8 6 127 72 127 75 142 75 142 72 - 200 4 9 11 10 8 127 75 127 75 142 75 142 75 - 200 4 11 3 0 10 127 75 127 72 142 72 142 75 - 200 4 7 3 11 9 157 33 165 33 163 29 159 29 - 200 4 7 5 2 3 157 33 159 37 163 37 165 33 - 200 4 12 13 14 15 104 140 104 153 111 151 111 140 - 200 4 15 14 13 12 111 140 111 151 104 153 104 140 - 200 4 16 17 18 19 111 140 104 140 104 151 111 153 - 200 4 19 18 17 16 111 153 104 151 104 140 111 140 - 200 4 12 15 17 16 104 153 111 153 111 140 104 140 - 200 4 16 17 15 12 104 140 111 140 111 153 104 153 - 200 4 15 14 18 17 104 153 110 153 110 140 104 140 - 200 4 17 18 14 15 104 140 110 140 110 153 104 153 - 200 4 14 13 19 18 104 153 111 153 111 140 104 140 - 200 4 18 19 13 14 104 140 111 140 111 153 104 153 - 200 4 13 12 16 19 104 153 111 153 111 140 104 140 - 200 4 19 16 12 13 104 140 111 140 111 153 104 153 - 200 4 0 6 8 10 239 255 237 255 238 256 238 256 - 200 4 0 1 4 6 239 255 238 254 238 254 237 255 +POLYGONS 44 + 200 3 3 2 1 127 72 127 68 142 68 + 200 3 3 1 0 127 72 142 68 142 72 + 200 3 2 5 4 127 68 127 68 142 68 + 200 3 2 4 1 127 68 142 68 142 68 + 200 3 5 7 6 127 68 127 72 142 72 + 200 3 5 6 4 127 68 142 72 142 68 + 200 3 7 9 8 127 72 127 75 142 75 + 200 3 7 8 6 127 72 142 75 142 72 + 200 3 9 11 10 127 75 127 75 142 75 + 200 3 9 10 8 127 75 142 75 142 75 + 200 3 11 3 0 127 75 127 72 142 72 + 200 3 11 0 10 127 75 142 72 142 75 + 200 3 7 3 11 157 33 165 33 163 29 + 200 3 7 11 9 157 33 163 29 159 29 + 200 3 7 5 2 157 33 159 37 163 37 + 200 3 7 2 3 157 33 163 37 165 33 + 200 3 12 13 14 104 140 104 153 111 151 + 200 3 12 14 15 104 140 111 151 111 140 + 200 3 15 14 13 111 140 111 151 104 153 + 200 3 15 13 12 111 140 104 153 104 140 + 200 3 16 17 18 111 140 104 140 104 151 + 200 3 16 18 19 111 140 104 151 111 153 + 200 3 19 18 17 111 153 104 151 104 140 + 200 3 19 17 16 111 153 104 140 111 140 + 200 3 12 15 17 104 153 111 153 111 140 + 200 3 12 17 16 104 153 111 140 104 140 + 200 3 16 17 15 104 140 111 140 111 153 + 200 3 16 15 12 104 140 111 153 104 153 + 200 3 15 14 18 104 153 110 153 110 140 + 200 3 15 18 17 104 153 110 140 104 140 + 200 3 17 18 14 104 140 110 140 110 153 + 200 3 17 14 15 104 140 110 153 104 153 + 200 3 14 13 19 104 153 111 153 111 140 + 200 3 14 19 18 104 153 111 140 104 140 + 200 3 18 19 13 104 140 111 140 111 153 + 200 3 18 13 14 104 140 111 153 104 153 + 200 3 13 12 16 104 153 111 153 111 140 + 200 3 13 16 19 104 153 111 140 104 140 + 200 3 19 16 12 104 140 111 140 111 153 + 200 3 19 12 13 104 140 111 153 104 153 + 200 3 0 6 8 239 255 237 255 238 256 + 200 3 0 8 10 239 255 238 256 238 256 + 200 3 0 1 4 239 255 238 254 238 254 + 200 3 0 4 6 239 255 238 254 237 255 CONNECTORS 1 0 -22 9 diff --git a/data/base/components/weapons/gnmmsl.pie b/data/base/components/weapons/gnmmsl.pie index aaeacf64a..dc3085b97 100644 --- a/data/base/components/weapons/gnmmsl.pie +++ b/data/base/components/weapons/gnmmsl.pie @@ -12,12 +12,18 @@ POINTS 8 -12 18 -21 12 18 8 -12 18 8 -POLYGONS 6 - 200 4 3 2 1 0 120 126 120 114 131 114 131 126 - 200 4 5 4 3 0 0 152 22 152 22 164 0 164 - 200 4 4 6 2 3 0 102 26 102 26 114 0 114 - 200 4 6 7 1 2 0 164 22 164 22 176 0 176 - 200 4 7 5 0 1 26 102 0 102 0 114 26 114 - 200 4 7 6 4 5 0 102 22 102 22 76 0 76 +POLYGONS 12 + 200 3 3 2 1 120 126 120 114 131 114 + 200 3 3 1 0 120 126 131 114 131 126 + 200 3 5 4 3 0 152 22 152 22 164 + 200 3 5 3 0 0 152 22 164 0 164 + 200 3 4 6 2 0 102 26 102 26 114 + 200 3 4 2 3 0 102 26 114 0 114 + 200 3 6 7 1 0 164 22 164 22 176 + 200 3 6 1 2 0 164 22 176 0 176 + 200 3 7 5 0 26 102 0 102 0 114 + 200 3 7 0 1 26 102 0 114 26 114 + 200 3 7 6 4 0 102 22 102 22 76 + 200 3 7 4 5 0 102 22 76 0 76 CONNECTORS 1 0 -23 12 diff --git a/data/base/components/weapons/gnmmsla.pie b/data/base/components/weapons/gnmmsla.pie index 8dd036434..04999c962 100644 --- a/data/base/components/weapons/gnmmsla.pie +++ b/data/base/components/weapons/gnmmsla.pie @@ -20,30 +20,54 @@ POINTS 16 -14 7 16 -14 22 16 -21 22 16 -POLYGONS 24 - 200 4 0 1 2 3 252 116 256 116 256 106 252 106 - 200 4 3 2 1 0 252 106 256 106 256 116 252 116 - 200 4 0 4 5 1 252 116 252 140 256 140 256 116 - 200 4 1 5 4 0 256 116 256 140 252 140 252 116 - 200 4 3 2 6 7 256 116 252 116 252 140 256 140 - 200 4 7 6 2 3 256 140 252 140 252 116 256 116 - 200 4 1 5 6 2 196 176 220 176 220 165 196 165 - 200 4 2 6 5 1 196 165 220 165 220 176 196 176 - 200 4 5 4 7 6 252 116 256 116 256 106 252 106 - 200 4 6 7 4 5 252 106 256 106 256 116 252 116 - 200 4 4 0 3 7 196 176 220 176 220 165 196 165 - 200 4 7 3 0 4 196 165 220 165 220 176 196 176 - 200 4 8 9 10 11 252 116 256 116 256 106 252 106 - 200 4 11 10 9 8 252 106 256 106 256 116 252 116 - 200 4 8 12 13 9 252 116 252 140 256 140 256 116 - 200 4 9 13 12 8 256 116 256 140 252 140 252 116 - 200 4 11 10 14 15 256 116 252 116 252 140 256 140 - 200 4 15 14 10 11 256 140 252 140 252 116 256 116 - 200 4 9 13 14 10 196 176 220 176 220 165 196 165 - 200 4 10 14 13 9 196 165 220 165 220 176 196 176 - 200 4 13 12 15 14 252 116 256 116 256 106 252 106 - 200 4 14 15 12 13 252 106 256 106 256 116 252 116 - 200 4 12 8 11 15 196 176 220 176 220 165 196 165 - 200 4 15 11 8 12 196 165 220 165 220 176 196 176 +POLYGONS 48 + 200 3 0 1 2 252 116 256 116 256 106 + 200 3 0 2 3 252 116 256 106 252 106 + 200 3 3 2 1 252 106 256 106 256 116 + 200 3 3 1 0 252 106 256 116 252 116 + 200 3 0 4 5 252 116 252 140 256 140 + 200 3 0 5 1 252 116 256 140 256 116 + 200 3 1 5 4 256 116 256 140 252 140 + 200 3 1 4 0 256 116 252 140 252 116 + 200 3 3 2 6 256 116 252 116 252 140 + 200 3 3 6 7 256 116 252 140 256 140 + 200 3 7 6 2 256 140 252 140 252 116 + 200 3 7 2 3 256 140 252 116 256 116 + 200 3 1 5 6 196 176 220 176 220 165 + 200 3 1 6 2 196 176 220 165 196 165 + 200 3 2 6 5 196 165 220 165 220 176 + 200 3 2 5 1 196 165 220 176 196 176 + 200 3 5 4 7 252 116 256 116 256 106 + 200 3 5 7 6 252 116 256 106 252 106 + 200 3 6 7 4 252 106 256 106 256 116 + 200 3 6 4 5 252 106 256 116 252 116 + 200 3 4 0 3 196 176 220 176 220 165 + 200 3 4 3 7 196 176 220 165 196 165 + 200 3 7 3 0 196 165 220 165 220 176 + 200 3 7 0 4 196 165 220 176 196 176 + 200 3 8 9 10 252 116 256 116 256 106 + 200 3 8 10 11 252 116 256 106 252 106 + 200 3 11 10 9 252 106 256 106 256 116 + 200 3 11 9 8 252 106 256 116 252 116 + 200 3 8 12 13 252 116 252 140 256 140 + 200 3 8 13 9 252 116 256 140 256 116 + 200 3 9 13 12 256 116 256 140 252 140 + 200 3 9 12 8 256 116 252 140 252 116 + 200 3 11 10 14 256 116 252 116 252 140 + 200 3 11 14 15 256 116 252 140 256 140 + 200 3 15 14 10 256 140 252 140 252 116 + 200 3 15 10 11 256 140 252 116 256 116 + 200 3 9 13 14 196 176 220 176 220 165 + 200 3 9 14 10 196 176 220 165 196 165 + 200 3 10 14 13 196 165 220 165 220 176 + 200 3 10 13 9 196 165 220 176 196 176 + 200 3 13 12 15 252 116 256 116 256 106 + 200 3 13 15 14 252 116 256 106 252 106 + 200 3 14 15 12 252 106 256 106 256 116 + 200 3 14 12 13 252 106 256 116 252 116 + 200 3 12 8 11 196 176 220 176 220 165 + 200 3 12 11 15 196 176 220 165 196 165 + 200 3 15 11 8 196 165 220 165 220 176 + 200 3 15 8 12 196 165 220 176 196 176 CONNECTORS 1 -17 -21 15 diff --git a/data/base/components/weapons/gnmmslaa.pie b/data/base/components/weapons/gnmmslaa.pie index a864bbf85..738fd80dd 100644 --- a/data/base/components/weapons/gnmmslaa.pie +++ b/data/base/components/weapons/gnmmslaa.pie @@ -28,21 +28,35 @@ POINTS 24 12 5 -5 12 20 -11 12 16 -23 -POLYGONS 14 - 200 4 3 2 1 0 238 236 238 209 246 209 246 236 - 200 4 7 6 5 4 238 209 246 209 246 236 238 236 - 200 4 5 6 2 3 233 236 233 209 251 209 251 236 - 200 4 6 7 1 2 166 75 159 75 159 61 166 61 - 200 4 7 4 0 1 251 209 251 236 233 236 233 209 - 200 4 11 10 9 8 238 236 238 209 246 209 246 236 - 200 4 15 14 13 12 238 209 246 209 246 236 238 236 - 200 4 14 15 9 10 166 75 159 75 159 61 166 61 - 200 4 15 12 8 9 251 209 251 236 233 236 233 209 - 200 4 19 18 17 16 238 236 238 209 246 209 246 236 - 200 4 23 22 21 20 238 209 246 209 246 236 238 236 - 200 4 21 22 18 19 233 236 233 209 251 209 251 236 - 200 4 22 23 17 18 166 75 159 75 159 61 166 61 - 200 4 23 20 16 17 251 209 251 236 233 236 233 209 +POLYGONS 28 + 200 3 3 2 1 238 236 238 209 246 209 + 200 3 3 1 0 238 236 246 209 246 236 + 200 3 7 6 5 238 209 246 209 246 236 + 200 3 7 5 4 238 209 246 236 238 236 + 200 3 5 6 2 233 236 233 209 251 209 + 200 3 5 2 3 233 236 251 209 251 236 + 200 3 6 7 1 166 75 159 75 159 61 + 200 3 6 1 2 166 75 159 61 166 61 + 200 3 7 4 0 251 209 251 236 233 236 + 200 3 7 0 1 251 209 233 236 233 209 + 200 3 11 10 9 238 236 238 209 246 209 + 200 3 11 9 8 238 236 246 209 246 236 + 200 3 15 14 13 238 209 246 209 246 236 + 200 3 15 13 12 238 209 246 236 238 236 + 200 3 14 15 9 166 75 159 75 159 61 + 200 3 14 9 10 166 75 159 61 166 61 + 200 3 15 12 8 251 209 251 236 233 236 + 200 3 15 8 9 251 209 233 236 233 209 + 200 3 19 18 17 238 236 238 209 246 209 + 200 3 19 17 16 238 236 246 209 246 236 + 200 3 23 22 21 238 209 246 209 246 236 + 200 3 23 21 20 238 209 246 236 238 236 + 200 3 21 22 18 233 236 233 209 251 209 + 200 3 21 18 19 233 236 251 209 251 236 + 200 3 22 23 17 166 75 159 75 159 61 + 200 3 22 17 18 166 75 159 61 166 61 + 200 3 23 20 16 251 209 251 236 233 236 + 200 3 23 16 17 251 209 233 236 233 209 CONNECTORS 6 -6 -17 18 6 -17 18 diff --git a/data/base/components/weapons/gnmmslat.pie b/data/base/components/weapons/gnmmslat.pie index 445659a72..fd31f1ac5 100644 --- a/data/base/components/weapons/gnmmslat.pie +++ b/data/base/components/weapons/gnmmslat.pie @@ -20,18 +20,30 @@ POINTS 16 25 9 -21 25 19 -21 17 19 -21 -POLYGONS 12 - 200 4 3 2 1 0 252 116 252 113 256 113 256 116 - 200 4 7 6 5 4 252 113 256 113 256 116 252 116 - 200 4 4 5 3 0 252 116 256 116 256 140 252 140 - 200 4 6 7 1 2 252 116 256 116 256 140 252 140 - 200 4 5 6 2 3 220 176 220 172 196 172 196 176 - 200 4 7 4 0 1 220 172 220 176 196 176 196 172 - 200 4 11 10 9 8 252 116 252 113 256 113 256 116 - 200 4 15 14 13 12 252 113 256 113 256 116 252 116 - 200 4 12 13 11 8 252 116 256 116 256 140 252 140 - 200 4 14 15 9 10 252 116 256 116 256 140 252 140 - 200 4 13 14 10 11 220 176 220 172 196 172 196 176 - 200 4 15 12 8 9 220 172 220 176 196 176 196 172 +POLYGONS 24 + 200 3 3 2 1 252 116 252 113 256 113 + 200 3 3 1 0 252 116 256 113 256 116 + 200 3 7 6 5 252 113 256 113 256 116 + 200 3 7 5 4 252 113 256 116 252 116 + 200 3 4 5 3 252 116 256 116 256 140 + 200 3 4 3 0 252 116 256 140 252 140 + 200 3 6 7 1 252 116 256 116 256 140 + 200 3 6 1 2 252 116 256 140 252 140 + 200 3 5 6 2 220 176 220 172 196 172 + 200 3 5 2 3 220 176 196 172 196 176 + 200 3 7 4 0 220 172 220 176 196 176 + 200 3 7 0 1 220 172 196 176 196 172 + 200 3 11 10 9 252 116 252 113 256 113 + 200 3 11 9 8 252 116 256 113 256 116 + 200 3 15 14 13 252 113 256 113 256 116 + 200 3 15 13 12 252 113 256 116 252 116 + 200 3 12 13 11 252 116 256 116 256 140 + 200 3 12 11 8 252 116 256 140 252 140 + 200 3 14 15 9 252 116 256 116 256 140 + 200 3 14 9 10 252 116 256 140 252 140 + 200 3 13 14 10 220 176 220 172 196 172 + 200 3 13 10 11 220 176 196 172 196 176 + 200 3 15 12 8 220 172 220 176 196 176 + 200 3 15 8 9 220 172 196 176 196 172 CONNECTORS 1 0 -25 15 diff --git a/data/base/components/weapons/gnmmslbb.pie b/data/base/components/weapons/gnmmslbb.pie index 39e0f8659..7aa059f95 100644 --- a/data/base/components/weapons/gnmmslbb.pie +++ b/data/base/components/weapons/gnmmslbb.pie @@ -16,16 +16,26 @@ POINTS 12 8 17 23 3 14 23 3 9 23 -POLYGONS 10 - 200 4 3 2 1 0 165 30 165 35 161 37 156 35 - 200 4 0 5 4 3 156 35 156 30 161 28 165 30 - 200 4 1 2 7 6 218 102 221 102 221 148 218 148 - 200 4 2 3 8 7 221 102 228 102 228 148 221 148 - 200 4 3 4 9 8 228 102 231 102 231 148 228 148 - 200 4 4 5 10 9 231 102 228 102 228 148 231 148 - 200 4 5 0 11 10 228 102 221 102 221 148 228 148 - 200 4 0 1 6 11 221 102 218 102 218 148 221 148 - 200 4 7 8 11 6 165 35 165 30 156 35 161 37 - 200 4 11 8 9 10 156 35 165 30 161 28 156 30 +POLYGONS 20 + 200 3 3 2 1 165 30 165 35 161 37 + 200 3 3 1 0 165 30 161 37 156 35 + 200 3 0 5 4 156 35 156 30 161 28 + 200 3 0 4 3 156 35 161 28 165 30 + 200 3 1 2 7 218 102 221 102 221 148 + 200 3 1 7 6 218 102 221 148 218 148 + 200 3 2 3 8 221 102 228 102 228 148 + 200 3 2 8 7 221 102 228 148 221 148 + 200 3 3 4 9 228 102 231 102 231 148 + 200 3 3 9 8 228 102 231 148 228 148 + 200 3 4 5 10 231 102 228 102 228 148 + 200 3 4 10 9 231 102 228 148 231 148 + 200 3 5 0 11 228 102 221 102 221 148 + 200 3 5 11 10 228 102 221 148 228 148 + 200 3 0 1 6 221 102 218 102 218 148 + 200 3 0 6 11 221 102 218 148 221 148 + 200 3 7 8 11 165 35 165 30 156 35 + 200 3 7 11 6 165 35 156 35 161 37 + 200 3 11 8 9 156 35 165 30 161 28 + 200 3 11 9 10 156 35 161 28 156 30 CONNECTORS 1 8 -29 12 diff --git a/data/base/components/weapons/gnmmslsa.pie b/data/base/components/weapons/gnmmslsa.pie index 5fbdf5063..1f2917691 100644 --- a/data/base/components/weapons/gnmmslsa.pie +++ b/data/base/components/weapons/gnmmslsa.pie @@ -20,19 +20,31 @@ POINTS 16 -10 13 -17 -15 18 -17 -21 13 -17 -POLYGONS 12 - 200 4 3 2 1 0 3 176 0 176 0 192 3 192 - 200 4 2 5 4 1 0 176 3 176 3 192 0 192 - 200 4 5 7 6 4 3 176 6 176 6 192 3 192 - 200 4 7 3 0 6 6 176 3 176 3 192 6 192 - 200 4 1 4 6 0 252 248 252 244 256 244 256 248 - 200 4 7 5 2 3 252 244 256 244 256 248 252 248 - 200 4 11 10 9 8 252 248 252 244 256 244 256 248 - 200 4 15 14 13 12 252 244 256 244 256 248 252 248 - 200 4 12 13 11 8 0 176 3 176 3 192 0 192 - 200 4 13 14 10 11 3 176 6 176 6 192 3 192 - 200 4 14 15 9 10 6 176 3 176 3 192 6 192 - 200 4 15 12 8 9 3 176 0 176 0 192 3 192 +POLYGONS 24 + 200 3 3 2 1 3 176 0 176 0 192 + 200 3 3 1 0 3 176 0 192 3 192 + 200 3 2 5 4 0 176 3 176 3 192 + 200 3 2 4 1 0 176 3 192 0 192 + 200 3 5 7 6 3 176 6 176 6 192 + 200 3 5 6 4 3 176 6 192 3 192 + 200 3 7 3 0 6 176 3 176 3 192 + 200 3 7 0 6 6 176 3 192 6 192 + 200 3 1 4 6 252 248 252 244 256 244 + 200 3 1 6 0 252 248 256 244 256 248 + 200 3 7 5 2 252 244 256 244 256 248 + 200 3 7 2 3 252 244 256 248 252 248 + 200 3 11 10 9 252 248 252 244 256 244 + 200 3 11 9 8 252 248 256 244 256 248 + 200 3 15 14 13 252 244 256 244 256 248 + 200 3 15 13 12 252 244 256 248 252 248 + 200 3 12 13 11 0 176 3 176 3 192 + 200 3 12 11 8 0 176 3 192 0 192 + 200 3 13 14 10 3 176 6 176 6 192 + 200 3 13 10 11 3 176 6 192 3 192 + 200 3 14 15 9 6 176 3 176 3 192 + 200 3 14 9 10 6 176 3 192 6 192 + 200 3 15 12 8 3 176 0 176 0 192 + 200 3 15 8 9 3 176 0 192 3 192 CONNECTORS 2 -15 -17 13 15 -17 13 diff --git a/data/base/components/weapons/gnmrckt.pie b/data/base/components/weapons/gnmrckt.pie index a0cea2eff..4054912fe 100644 --- a/data/base/components/weapons/gnmrckt.pie +++ b/data/base/components/weapons/gnmrckt.pie @@ -12,13 +12,19 @@ POINTS 8 10 27 -14 10 27 14 -10 27 14 -POLYGONS 6 - 200 4 3 2 1 0 120 126 120 114 131 114 131 126 - 200 4 7 6 5 4 0 102 22 102 22 76 0 76 - 200 4 4 5 3 0 0 152 22 152 22 164 0 164 - 200 4 5 6 2 3 0 102 26 102 26 114 0 114 - 200 4 6 7 1 2 0 164 22 164 22 176 0 176 - 200 4 7 4 0 1 26 102 0 102 0 114 26 114 +POLYGONS 12 + 200 3 3 2 1 120 126 120 114 131 114 + 200 3 3 1 0 120 126 131 114 131 126 + 200 3 7 6 5 0 102 22 102 22 76 + 200 3 7 5 4 0 102 22 76 0 76 + 200 3 4 5 3 0 152 22 152 22 164 + 200 3 4 3 0 0 152 22 164 0 164 + 200 3 5 6 2 0 102 26 102 26 114 + 200 3 5 2 3 0 102 26 114 0 114 + 200 3 6 7 1 0 164 22 164 22 176 + 200 3 6 1 2 0 164 22 176 0 176 + 200 3 7 4 0 26 102 0 102 0 114 + 200 3 7 0 1 26 102 0 114 26 114 CONNECTORS 8 -8 -14 24 -3 -14 24 diff --git a/data/base/components/weapons/gnmrckta.pie b/data/base/components/weapons/gnmrckta.pie index 638c6e8f9..b1e533d7b 100644 --- a/data/base/components/weapons/gnmrckta.pie +++ b/data/base/components/weapons/gnmrckta.pie @@ -32,24 +32,38 @@ POINTS 28 -12 8 6 -16 5 18 -12 8 18 -POLYGONS 18 - 200 4 3 2 1 0 256 140 248 140 248 156 256 156 - 200 4 2 5 4 1 256 208 252 208 252 224 256 224 - 200 4 3 6 5 2 256 240 252 240 252 248 256 248 - 200 4 0 1 4 7 252 240 252 248 256 248 256 240 - 200 4 5 6 7 4 256 142 248 140 248 155 256 156 - 200 4 6 3 0 7 256 224 252 224 252 241 256 241 - 200 4 11 10 9 8 252 256 252 249 256 249 256 256 +POLYGONS 32 + 200 3 3 2 1 256 140 248 140 248 156 + 200 3 3 1 0 256 140 248 156 256 156 + 200 3 2 5 4 256 208 252 208 252 224 + 200 3 2 4 1 256 208 252 224 256 224 + 200 3 3 6 5 256 240 252 240 252 248 + 200 3 3 5 2 256 240 252 248 256 248 + 200 3 0 1 4 252 240 252 248 256 248 + 200 3 0 4 7 252 240 256 248 256 240 + 200 3 5 6 7 256 142 248 140 248 155 + 200 3 5 7 4 256 142 248 155 256 156 + 200 3 6 3 0 256 224 252 224 252 241 + 200 3 6 0 7 256 224 252 241 256 241 + 200 3 11 10 9 252 256 252 249 256 249 + 200 3 11 9 8 252 256 256 249 256 256 200 3 11 8 12 252 256 256 256 254 256 200 3 9 10 13 256 249 252 249 254 249 - 200 4 17 16 15 14 252 240 256 240 256 248 252 248 - 200 4 16 17 19 18 252 224 256 224 256 241 252 241 - 200 4 23 22 21 20 252 256 256 256 256 249 252 249 + 200 3 17 16 15 252 240 256 240 256 248 + 200 3 17 15 14 252 240 256 248 252 248 + 200 3 16 17 19 252 224 256 224 256 241 + 200 3 16 19 18 252 224 256 241 252 241 + 200 3 23 22 21 252 256 256 256 256 249 + 200 3 23 21 20 252 256 256 249 252 249 200 3 23 24 22 252 256 254 256 256 256 200 3 21 25 20 256 249 254 249 252 249 - 200 4 27 18 19 26 252 248 252 240 256 240 256 248 - 200 4 15 16 18 27 248 140 256 140 256 156 248 156 - 200 4 17 14 26 19 248 140 256 142 256 156 248 155 - 200 4 14 15 27 26 252 208 256 208 256 224 252 224 + 200 3 27 18 19 252 248 252 240 256 240 + 200 3 27 19 26 252 248 256 240 256 248 + 200 3 15 16 18 248 140 256 140 256 156 + 200 3 15 18 27 248 140 256 156 248 156 + 200 3 17 14 26 248 140 256 142 256 156 + 200 3 17 26 19 248 140 256 156 248 155 + 200 3 14 15 27 252 208 256 208 256 224 + 200 3 14 27 26 252 208 256 224 252 224 CONNECTORS 1 0 -23 11 diff --git a/data/base/components/weapons/gnmrcktb.pie b/data/base/components/weapons/gnmrcktb.pie index c1bfb9844..d3977bab2 100644 --- a/data/base/components/weapons/gnmrcktb.pie +++ b/data/base/components/weapons/gnmrcktb.pie @@ -28,19 +28,31 @@ POINTS 24 12 15 0 20 17 0 13 8 -7 -POLYGONS 16 - 200 4 3 2 1 0 256 106 256 106 256 116 252 116 - 200 4 1 5 4 0 256 116 256 140 252 140 252 116 - 200 4 7 6 2 3 256 140 252 140 252 116 256 116 - 200 4 2 6 5 1 196 165 220 165 220 176 196 176 - 200 4 6 7 4 5 252 106 256 106 256 116 252 116 - 200 4 7 3 0 4 196 165 220 165 220 176 196 176 - 200 4 11 10 9 8 256 106 256 106 256 116 252 116 - 200 4 9 13 12 8 256 116 256 140 252 140 252 116 - 200 4 15 14 10 11 256 140 252 140 252 116 256 116 - 200 4 10 14 13 9 196 165 220 165 220 176 196 176 - 200 4 14 15 12 13 252 106 256 106 256 116 252 116 - 200 4 15 11 8 12 196 165 220 165 220 176 196 176 +POLYGONS 28 + 200 3 3 2 1 256 106 256 106 256 116 + 200 3 3 1 0 256 106 256 116 252 116 + 200 3 1 5 4 256 116 256 140 252 140 + 200 3 1 4 0 256 116 252 140 252 116 + 200 3 7 6 2 256 140 252 140 252 116 + 200 3 7 2 3 256 140 252 116 256 116 + 200 3 2 6 5 196 165 220 165 220 176 + 200 3 2 5 1 196 165 220 176 196 176 + 200 3 6 7 4 252 106 256 106 256 116 + 200 3 6 4 5 252 106 256 116 252 116 + 200 3 7 3 0 196 165 220 165 220 176 + 200 3 7 0 4 196 165 220 176 196 176 + 200 3 11 10 9 256 106 256 106 256 116 + 200 3 11 9 8 256 106 256 116 252 116 + 200 3 9 13 12 256 116 256 140 252 140 + 200 3 9 12 8 256 116 252 140 252 116 + 200 3 15 14 10 256 140 252 140 252 116 + 200 3 15 10 11 256 140 252 116 256 116 + 200 3 10 14 13 196 165 220 165 220 176 + 200 3 10 13 9 196 165 220 176 196 176 + 200 3 14 15 12 252 106 256 106 256 116 + 200 3 14 12 13 252 106 256 116 252 116 + 200 3 15 11 8 196 165 220 165 220 176 + 200 3 15 8 12 196 165 220 176 196 176 200 3 18 17 16 252 249 255 256 256 249 200 3 16 19 18 256 249 255 256 252 249 200 3 22 21 20 252 249 256 249 255 256 diff --git a/data/base/components/weapons/gnmrepar.pie b/data/base/components/weapons/gnmrepar.pie index 9408cf6b1..c95e08ea4 100644 --- a/data/base/components/weapons/gnmrepar.pie +++ b/data/base/components/weapons/gnmrepar.pie @@ -45,7 +45,7 @@ POINTS 41 4 22 -20 4 27 -15 4 32 -19 -POLYGONS 35 +POLYGONS 56 200 3 0 1 2 133 224 128 234 137 234 200 3 2 1 0 137 234 128 234 133 224 200 3 3 4 5 133 224 128 234 137 234 @@ -54,32 +54,53 @@ POLYGONS 35 200 3 8 7 6 137 234 128 234 133 224 200 3 9 10 11 133 224 128 234 137 234 200 3 11 10 9 137 234 128 234 133 224 - 200 4 12 13 14 15 36 187 31 187 31 181 36 181 - 200 4 15 14 13 12 36 181 31 181 31 187 36 187 - 200 4 13 16 17 14 31 187 31 187 31 181 31 181 - 200 4 14 17 16 13 31 181 31 181 31 187 31 187 - 200 4 16 12 15 17 31 187 36 187 36 181 31 181 - 200 4 17 15 12 16 31 181 36 181 36 187 31 187 - 200 4 21 20 19 18 202 229 192 229 195 234 199 234 - 200 4 21 23 22 20 202 229 199 224 195 224 192 229 - 200 4 27 26 25 24 192 229 202 229 199 234 195 234 - 200 4 26 27 29 28 202 229 192 229 195 224 199 224 - 200 4 26 28 23 21 3 177 6 177 6 191 3 191 - 200 4 28 29 22 23 6 177 6 177 6 191 6 191 - 200 4 29 27 20 22 6 177 3 177 3 191 6 191 - 200 4 27 24 19 20 3 177 0 177 0 191 3 191 - 200 4 25 26 21 18 0 177 3 177 3 191 0 191 + 200 3 12 13 14 36 187 31 187 31 181 + 200 3 12 14 15 36 187 31 181 36 181 + 200 3 15 14 13 36 181 31 181 31 187 + 200 3 15 13 12 36 181 31 187 36 187 + 200 3 13 16 17 31 187 31 187 31 181 + 200 3 13 17 14 31 187 31 181 31 181 + 200 3 14 17 16 31 181 31 181 31 187 + 200 3 14 16 13 31 181 31 187 31 187 + 200 3 16 12 15 31 187 36 187 36 181 + 200 3 16 15 17 31 187 36 181 31 181 + 200 3 17 15 12 31 181 36 181 36 187 + 200 3 17 12 16 31 181 36 187 31 187 + 200 3 21 20 19 202 229 192 229 195 234 + 200 3 21 19 18 202 229 195 234 199 234 + 200 3 21 23 22 202 229 199 224 195 224 + 200 3 21 22 20 202 229 195 224 192 229 + 200 3 27 26 25 192 229 202 229 199 234 + 200 3 27 25 24 192 229 199 234 195 234 + 200 3 26 27 29 202 229 192 229 195 224 + 200 3 26 29 28 202 229 195 224 199 224 + 200 3 26 28 23 3 177 6 177 6 191 + 200 3 26 23 21 3 177 6 191 3 191 + 200 3 28 29 22 6 177 6 177 6 191 + 200 3 28 22 23 6 177 6 191 6 191 + 200 3 29 27 20 6 177 3 177 3 191 + 200 3 29 20 22 6 177 3 191 6 191 + 200 3 27 24 19 3 177 0 177 0 191 + 200 3 27 19 20 3 177 0 191 3 191 + 200 3 25 26 21 0 177 3 177 3 191 + 200 3 25 21 18 0 177 3 191 0 191 200 3 30 31 32 34 181 36 187 31 187 200 3 32 31 30 31 187 36 187 34 181 200 3 30 32 33 34 181 31 187 31 187 200 3 33 32 30 31 187 31 187 34 181 200 3 30 33 31 34 181 31 187 36 187 200 3 31 33 30 36 187 31 187 34 181 - 200 4 32 36 35 34 202 234 202 224 192 224 192 234 - 200 4 40 39 38 37 192 224 202 224 202 234 192 234 - 200 4 37 38 32 34 2 177 0 177 0 191 2 191 - 200 4 38 39 36 32 0 177 4 177 4 191 0 191 - 200 4 39 40 35 36 4 177 6 177 6 191 4 191 - 200 4 40 37 34 35 6 177 2 177 2 191 6 191 + 200 3 32 36 35 202 234 202 224 192 224 + 200 3 32 35 34 202 234 192 224 192 234 + 200 3 40 39 38 192 224 202 224 202 234 + 200 3 40 38 37 192 224 202 234 192 234 + 200 3 37 38 32 2 177 0 177 0 191 + 200 3 37 32 34 2 177 0 191 2 191 + 200 3 38 39 36 0 177 4 177 4 191 + 200 3 38 36 32 0 177 4 191 0 191 + 200 3 39 40 35 4 177 6 177 6 191 + 200 3 39 35 36 4 177 6 191 4 191 + 200 3 40 37 34 6 177 2 177 2 191 + 200 3 40 34 35 6 177 2 191 6 191 CONNECTORS 1 0 -33 15 diff --git a/data/base/components/weapons/gnmrktbb.pie b/data/base/components/weapons/gnmrktbb.pie index 39e0f8659..7aa059f95 100644 --- a/data/base/components/weapons/gnmrktbb.pie +++ b/data/base/components/weapons/gnmrktbb.pie @@ -16,16 +16,26 @@ POINTS 12 8 17 23 3 14 23 3 9 23 -POLYGONS 10 - 200 4 3 2 1 0 165 30 165 35 161 37 156 35 - 200 4 0 5 4 3 156 35 156 30 161 28 165 30 - 200 4 1 2 7 6 218 102 221 102 221 148 218 148 - 200 4 2 3 8 7 221 102 228 102 228 148 221 148 - 200 4 3 4 9 8 228 102 231 102 231 148 228 148 - 200 4 4 5 10 9 231 102 228 102 228 148 231 148 - 200 4 5 0 11 10 228 102 221 102 221 148 228 148 - 200 4 0 1 6 11 221 102 218 102 218 148 221 148 - 200 4 7 8 11 6 165 35 165 30 156 35 161 37 - 200 4 11 8 9 10 156 35 165 30 161 28 156 30 +POLYGONS 20 + 200 3 3 2 1 165 30 165 35 161 37 + 200 3 3 1 0 165 30 161 37 156 35 + 200 3 0 5 4 156 35 156 30 161 28 + 200 3 0 4 3 156 35 161 28 165 30 + 200 3 1 2 7 218 102 221 102 221 148 + 200 3 1 7 6 218 102 221 148 218 148 + 200 3 2 3 8 221 102 228 102 228 148 + 200 3 2 8 7 221 102 228 148 221 148 + 200 3 3 4 9 228 102 231 102 231 148 + 200 3 3 9 8 228 102 231 148 228 148 + 200 3 4 5 10 231 102 228 102 228 148 + 200 3 4 10 9 231 102 228 148 231 148 + 200 3 5 0 11 228 102 221 102 221 148 + 200 3 5 11 10 228 102 221 148 228 148 + 200 3 0 1 6 221 102 218 102 218 148 + 200 3 0 6 11 221 102 218 148 221 148 + 200 3 7 8 11 165 35 165 30 156 35 + 200 3 7 11 6 165 35 156 35 161 37 + 200 3 11 8 9 156 35 165 30 161 28 + 200 3 11 9 10 156 35 161 28 156 30 CONNECTORS 1 8 -29 12 diff --git a/data/base/components/weapons/gnmrlas.pie b/data/base/components/weapons/gnmrlas.pie index 3d57398a5..b5232fc28 100644 --- a/data/base/components/weapons/gnmrlas.pie +++ b/data/base/components/weapons/gnmrlas.pie @@ -10,10 +10,13 @@ POINTS 6 0 13 -26 3 6 -10 3 6 -26 -POLYGONS 4 - 200 4 3 2 1 0 200 108 219 108 219 120 200 120 - 200 4 2 5 4 1 200 108 219 108 219 120 200 120 - 200 4 5 3 0 4 200 108 219 108 219 120 200 120 +POLYGONS 7 + 200 3 3 2 1 200 108 219 108 219 120 + 200 3 3 1 0 200 108 219 120 200 120 + 200 3 2 5 4 200 108 219 108 219 120 + 200 3 2 4 1 200 108 219 120 200 120 + 200 3 5 3 0 200 108 219 108 219 120 + 200 3 5 0 4 200 108 219 120 200 120 200 3 2 3 5 157 26 167 33 157 40 CONNECTORS 1 0 -31 9 diff --git a/data/base/components/weapons/gnmsnsr2.pie b/data/base/components/weapons/gnmsnsr2.pie index fde84bb09..91704c2f2 100644 --- a/data/base/components/weapons/gnmsnsr2.pie +++ b/data/base/components/weapons/gnmsnsr2.pie @@ -28,30 +28,56 @@ POINTS 24 -3 23 7 0 24 -6 3 23 7 -POLYGONS 26 - 200 4 0 1 2 3 118 155 104 155 117 159 123 157 - 200 4 3 2 1 0 123 157 117 159 104 155 118 155 - 200 4 4 5 6 7 118 144 123 142 117 140 104 144 - 200 4 7 6 5 4 104 144 117 140 123 142 118 144 - 200 4 4 5 3 0 137 144 142 142 142 157 137 155 - 200 4 8 9 10 11 85 155 96 159 96 140 85 144 - 200 4 11 10 9 8 85 144 96 140 96 159 85 155 - 200 4 9 2 6 10 115 159 119 159 119 140 115 140 - 200 4 10 6 2 9 115 140 119 140 119 159 115 159 - 200 4 1 0 4 7 85 155 99 155 99 144 85 144 - 200 4 7 4 0 1 85 144 99 144 99 155 85 155 - 200 4 15 14 13 12 22 140 43 140 38 159 27 159 - 200 4 17 16 14 15 48 159 48 140 59 140 59 159 - 200 4 19 18 16 17 80 159 69 159 64 140 85 140 - 200 4 17 16 18 19 43 140 22 140 27 159 38 159 - 200 4 15 14 16 17 48 140 48 159 59 159 59 140 - 200 4 12 13 14 15 69 159 80 159 85 140 64 140 - 200 4 22 22 21 20 130 224 130 224 126 234 137 234 - 200 4 22 22 23 21 130 224 130 224 126 234 126 234 - 200 4 22 22 20 23 130 224 130 224 137 234 126 234 - 200 4 22 22 22 22 130 224 130 224 130 224 130 224 - 200 4 22 22 22 22 130 224 130 224 130 224 130 224 - 200 4 3 2 9 8 123 140 123 159 128 148 142 140 - 200 4 8 9 2 3 142 140 128 148 123 159 123 140 - 200 4 5 11 10 6 142 140 123 140 137 148 142 159 - 200 4 6 10 11 5 142 159 137 148 123 140 142 140 +POLYGONS 52 + 200 3 0 1 2 118 155 104 155 117 159 + 200 3 0 2 3 118 155 117 159 123 157 + 200 3 3 2 1 123 157 117 159 104 155 + 200 3 3 1 0 123 157 104 155 118 155 + 200 3 4 5 6 118 144 123 142 117 140 + 200 3 4 6 7 118 144 117 140 104 144 + 200 3 7 6 5 104 144 117 140 123 142 + 200 3 7 5 4 104 144 123 142 118 144 + 200 3 4 5 3 137 144 142 142 142 157 + 200 3 4 3 0 137 144 142 157 137 155 + 200 3 8 9 10 85 155 96 159 96 140 + 200 3 8 10 11 85 155 96 140 85 144 + 200 3 11 10 9 85 144 96 140 96 159 + 200 3 11 9 8 85 144 96 159 85 155 + 200 3 9 2 6 115 159 119 159 119 140 + 200 3 9 6 10 115 159 119 140 115 140 + 200 3 10 6 2 115 140 119 140 119 159 + 200 3 10 2 9 115 140 119 159 115 159 + 200 3 1 0 4 85 155 99 155 99 144 + 200 3 1 4 7 85 155 99 144 85 144 + 200 3 7 4 0 85 144 99 144 99 155 + 200 3 7 0 1 85 144 99 155 85 155 + 200 3 15 14 13 22 140 43 140 38 159 + 200 3 15 13 12 22 140 38 159 27 159 + 200 3 17 16 14 48 159 48 140 59 140 + 200 3 17 14 15 48 159 59 140 59 159 + 200 3 19 18 16 80 159 69 159 64 140 + 200 3 19 16 17 80 159 64 140 85 140 + 200 3 17 16 18 43 140 22 140 27 159 + 200 3 17 18 19 43 140 27 159 38 159 + 200 3 15 14 16 48 140 48 159 59 159 + 200 3 15 16 17 48 140 59 159 59 140 + 200 3 12 13 14 69 159 80 159 85 140 + 200 3 12 14 15 69 159 85 140 64 140 + 200 3 22 22 21 130 224 130 224 126 234 + 200 3 22 21 20 130 224 126 234 137 234 + 200 3 22 22 23 130 224 130 224 126 234 + 200 3 22 23 21 130 224 126 234 126 234 + 200 3 22 22 20 130 224 130 224 137 234 + 200 3 22 20 23 130 224 137 234 126 234 + 200 3 22 22 22 130 224 130 224 130 224 + 200 3 22 22 22 130 224 130 224 130 224 + 200 3 22 22 22 130 224 130 224 130 224 + 200 3 22 22 22 130 224 130 224 130 224 + 200 3 3 2 9 123 140 123 159 128 148 + 200 3 3 9 8 123 140 128 148 142 140 + 200 3 8 9 2 142 140 128 148 123 159 + 200 3 8 2 3 142 140 123 159 123 140 + 200 3 5 11 10 142 140 123 140 137 148 + 200 3 5 10 6 142 140 137 148 142 159 + 200 3 6 10 11 142 159 137 148 123 140 + 200 3 6 11 5 142 159 123 140 142 140 \ No newline at end of file diff --git a/data/base/components/weapons/gnmvcan.pie b/data/base/components/weapons/gnmvcan.pie index fd4f4917e..ad9f6372d 100644 --- a/data/base/components/weapons/gnmvcan.pie +++ b/data/base/components/weapons/gnmvcan.pie @@ -18,15 +18,22 @@ POINTS 14 -5 13 -20 5 13 -12 -5 13 -12 -POLYGONS 9 - 200 4 3 2 1 0 44 48 47 48 47 60 44 60 - 200 4 2 5 4 1 44 48 47 48 47 60 44 60 - 200 4 5 7 6 4 44 48 47 48 47 60 44 60 - 200 4 7 3 0 6 44 48 47 48 47 60 44 60 - 200 4 7 5 2 3 65 66 70 61 76 67 71 72 - 200 4 11 10 9 8 9 190 0 190 0 182 9 182 +POLYGONS 16 + 200 3 3 2 1 44 48 47 48 47 60 + 200 3 3 1 0 44 48 47 60 44 60 + 200 3 2 5 4 44 48 47 48 47 60 + 200 3 2 4 1 44 48 47 60 44 60 + 200 3 5 7 6 44 48 47 48 47 60 + 200 3 5 6 4 44 48 47 60 44 60 + 200 3 7 3 0 44 48 47 48 47 60 + 200 3 7 0 6 44 48 47 60 44 60 + 200 3 7 5 2 65 66 70 61 76 67 + 200 3 7 2 3 65 66 76 67 71 72 + 200 3 11 10 9 9 190 0 190 0 182 + 200 3 11 9 8 9 190 0 182 9 182 200 3 12 9 10 0 182 9 190 0 190 - 200 4 10 11 13 12 9 190 0 190 0 182 9 182 + 200 3 10 11 13 9 190 0 190 0 182 + 200 3 10 13 12 9 190 0 182 9 182 200 3 13 11 8 9 182 9 190 0 190 CONNECTORS 1 0 -47 8 diff --git a/data/base/components/weapons/gnnavbig.pie b/data/base/components/weapons/gnnavbig.pie index bc36c5e1f..f1b07a882 100644 --- a/data/base/components/weapons/gnnavbig.pie +++ b/data/base/components/weapons/gnnavbig.pie @@ -20,16 +20,26 @@ POINTS 16 17 -4 -7 17 5 -3 7 5 -3 -POLYGONS 10 - 200 4 3 2 1 0 12 64 16 64 16 60 12 60 - 200 4 0 1 5 4 0 73 5 73 5 48 0 48 - 200 4 1 2 6 5 0 73 5 73 5 48 0 48 - 200 4 2 3 7 6 0 73 5 73 5 48 0 48 - 200 4 3 0 4 7 0 73 5 73 5 48 0 48 - 200 4 11 10 9 8 12 64 16 64 16 60 12 60 - 200 4 8 9 13 12 0 73 5 73 5 48 0 48 - 200 4 9 10 14 13 0 73 5 73 5 48 0 48 - 200 4 10 11 15 14 0 73 5 73 5 48 0 48 - 200 4 11 8 12 15 0 73 5 73 5 48 0 48 +POLYGONS 20 + 200 3 3 2 1 12 64 16 64 16 60 + 200 3 3 1 0 12 64 16 60 12 60 + 200 3 0 1 5 0 73 5 73 5 48 + 200 3 0 5 4 0 73 5 48 0 48 + 200 3 1 2 6 0 73 5 73 5 48 + 200 3 1 6 5 0 73 5 48 0 48 + 200 3 2 3 7 0 73 5 73 5 48 + 200 3 2 7 6 0 73 5 48 0 48 + 200 3 3 0 4 0 73 5 73 5 48 + 200 3 3 4 7 0 73 5 48 0 48 + 200 3 11 10 9 12 64 16 64 16 60 + 200 3 11 9 8 12 64 16 60 12 60 + 200 3 8 9 13 0 73 5 73 5 48 + 200 3 8 13 12 0 73 5 48 0 48 + 200 3 9 10 14 0 73 5 73 5 48 + 200 3 9 14 13 0 73 5 48 0 48 + 200 3 10 11 15 0 73 5 73 5 48 + 200 3 10 15 14 0 73 5 48 0 48 + 200 3 11 8 12 0 73 5 73 5 48 + 200 3 11 12 15 0 73 5 48 0 48 CONNECTORS 1 -12 -97 0 diff --git a/data/base/components/weapons/mibnkgun.pie b/data/base/components/weapons/mibnkgun.pie index 257801409..6a622c9ce 100644 --- a/data/base/components/weapons/mibnkgun.pie +++ b/data/base/components/weapons/mibnkgun.pie @@ -22,20 +22,36 @@ POINTS 18 1 6 -40 0 8 -8 1 5 -8 -POLYGONS 16 - 200 4 3 2 1 0 227 222 225 222 225 220 227 220 - 200 4 5 3 0 4 231 222 231 220 229 220 229 222 - 200 4 9 8 7 6 221 222 223 222 223 220 221 220 - 200 4 2 11 10 1 231 222 229 222 229 220 231 220 - 200 4 11 13 12 10 239 220 239 222 237 222 237 220 - 200 4 4 0 1 14 239 221 239 220 238 220 238 221 - 200 4 1 10 12 14 238 220 237 220 237 221 238 221 - 200 4 12 15 6 14 237 221 237 222 238 222 238 221 - 200 4 6 7 4 14 238 222 239 222 239 221 238 221 - 200 4 3 5 8 16 223 220 223 221 223 222 222 221 - 200 4 11 2 3 16 221 220 222 220 223 220 222 221 - 200 4 17 13 11 16 221 222 221 221 221 220 222 221 - 200 4 8 9 17 16 223 222 222 222 221 222 222 221 - 200 4 17 9 6 15 237 222 239 222 239 220 237 220 - 200 4 13 17 15 12 239 220 239 222 237 222 237 220 - 200 4 8 5 4 7 231 222 231 220 229 220 229 222 +POLYGONS 32 + 200 3 3 2 1 227 222 225 222 225 220 + 200 3 3 1 0 227 222 225 220 227 220 + 200 3 5 3 0 231 222 231 220 229 220 + 200 3 5 0 4 231 222 229 220 229 222 + 200 3 9 8 7 221 222 223 222 223 220 + 200 3 9 7 6 221 222 223 220 221 220 + 200 3 2 11 10 231 222 229 222 229 220 + 200 3 2 10 1 231 222 229 220 231 220 + 200 3 11 13 12 239 220 239 222 237 222 + 200 3 11 12 10 239 220 237 222 237 220 + 200 3 4 0 1 239 221 239 220 238 220 + 200 3 4 1 14 239 221 238 220 238 221 + 200 3 1 10 12 238 220 237 220 237 221 + 200 3 1 12 14 238 220 237 221 238 221 + 200 3 12 15 6 237 221 237 222 238 222 + 200 3 12 6 14 237 221 238 222 238 221 + 200 3 6 7 4 238 222 239 222 239 221 + 200 3 6 4 14 238 222 239 221 238 221 + 200 3 3 5 8 223 220 223 221 223 222 + 200 3 3 8 16 223 220 223 222 222 221 + 200 3 11 2 3 221 220 222 220 223 220 + 200 3 11 3 16 221 220 223 220 222 221 + 200 3 17 13 11 221 222 221 221 221 220 + 200 3 17 11 16 221 222 221 220 222 221 + 200 3 8 9 17 223 222 222 222 221 222 + 200 3 8 17 16 223 222 221 222 222 221 + 200 3 17 9 6 237 222 239 222 239 220 + 200 3 17 6 15 237 222 239 220 237 220 + 200 3 13 17 15 239 220 239 222 237 222 + 200 3 13 15 12 239 220 237 222 237 220 + 200 3 8 5 4 231 222 231 220 229 220 + 200 3 8 4 7 231 222 229 220 229 222 \ No newline at end of file diff --git a/data/base/components/weapons/mibnktur.pie b/data/base/components/weapons/mibnktur.pie index 09c4ff3bb..f7ae5a429 100644 --- a/data/base/components/weapons/mibnktur.pie +++ b/data/base/components/weapons/mibnktur.pie @@ -52,44 +52,84 @@ POINTS 48 1 6 -40 0 8 -8 1 5 -8 -POLYGONS 40 - 200 4 3 2 1 0 235 220 235 221 235 222 234 221 - 200 4 5 4 3 0 233 220 234 220 235 220 234 221 - 200 4 7 6 5 0 233 222 233 221 233 220 234 221 - 200 4 1 8 7 0 235 222 234 222 233 222 234 221 - 200 4 12 11 10 9 225 222 225 222 226 220 225 220 - 200 4 15 14 10 13 227 222 227 220 226 220 225 222 - 200 4 13 10 9 11 225 222 226 220 225 220 225 222 - 200 4 19 18 17 16 226 220 225 222 225 222 225 220 - 200 4 19 22 21 20 226 220 227 220 227 222 225 222 - 200 4 16 19 20 18 225 220 226 220 225 222 225 222 - 200 4 24 23 10 14 222 222 222 220 223 220 223 222 - 200 4 22 19 23 24 221 222 221 220 222 220 222 222 - 200 4 26 25 12 9 222 222 222 220 223 220 223 222 - 200 4 16 17 25 26 221 222 221 220 222 220 222 222 - 200 4 23 26 9 10 218 222 218 220 219 220 219 222 - 200 4 19 16 26 23 217 222 217 220 218 220 218 222 - 200 4 27 24 14 15 238 222 238 220 237 220 237 222 - 200 4 21 22 24 27 239 222 239 220 238 220 238 222 - 200 4 25 28 11 12 234 220 234 220 235 220 235 220 - 200 4 28 29 13 11 234 220 234 220 235 220 235 220 - 200 4 29 27 15 13 234 220 234 222 235 222 235 220 - 200 4 17 18 28 25 233 220 233 220 234 220 234 220 - 200 4 18 20 29 28 233 220 233 220 234 220 234 220 - 200 4 20 21 27 29 233 220 233 222 234 222 234 220 - 200 4 33 32 31 30 227 222 225 222 225 220 227 220 - 200 4 35 33 30 34 231 222 231 220 229 220 229 222 - 200 4 39 38 37 36 221 222 223 222 223 220 221 220 - 200 4 32 41 40 31 231 222 229 222 229 220 231 220 - 200 4 41 43 42 40 239 220 239 222 237 222 237 220 - 200 4 34 30 31 44 239 221 239 220 238 220 238 221 - 200 4 31 40 42 44 238 220 237 220 237 221 238 221 - 200 4 42 45 36 44 237 221 237 222 238 222 238 221 - 200 4 36 37 34 44 238 222 239 222 239 221 238 221 - 200 4 33 35 38 46 223 220 223 221 223 222 222 221 - 200 4 41 32 33 46 221 220 222 220 223 220 222 221 - 200 4 47 43 41 46 221 222 221 221 221 220 222 221 - 200 4 38 39 47 46 223 222 222 222 221 222 222 221 - 200 4 47 39 36 45 237 222 239 222 239 220 237 220 - 200 4 43 47 45 42 239 220 239 222 237 222 237 220 - 200 4 38 35 34 37 231 222 231 220 229 220 229 222 +POLYGONS 80 + 200 3 3 2 1 235 220 235 221 235 222 + 200 3 3 1 0 235 220 235 222 234 221 + 200 3 5 4 3 233 220 234 220 235 220 + 200 3 5 3 0 233 220 235 220 234 221 + 200 3 7 6 5 233 222 233 221 233 220 + 200 3 7 5 0 233 222 233 220 234 221 + 200 3 1 8 7 235 222 234 222 233 222 + 200 3 1 7 0 235 222 233 222 234 221 + 200 3 12 11 10 225 222 225 222 226 220 + 200 3 12 10 9 225 222 226 220 225 220 + 200 3 15 14 10 227 222 227 220 226 220 + 200 3 15 10 13 227 222 226 220 225 222 + 200 3 13 10 9 225 222 226 220 225 220 + 200 3 13 9 11 225 222 225 220 225 222 + 200 3 19 18 17 226 220 225 222 225 222 + 200 3 19 17 16 226 220 225 222 225 220 + 200 3 19 22 21 226 220 227 220 227 222 + 200 3 19 21 20 226 220 227 222 225 222 + 200 3 16 19 20 225 220 226 220 225 222 + 200 3 16 20 18 225 220 225 222 225 222 + 200 3 24 23 10 222 222 222 220 223 220 + 200 3 24 10 14 222 222 223 220 223 222 + 200 3 22 19 23 221 222 221 220 222 220 + 200 3 22 23 24 221 222 222 220 222 222 + 200 3 26 25 12 222 222 222 220 223 220 + 200 3 26 12 9 222 222 223 220 223 222 + 200 3 16 17 25 221 222 221 220 222 220 + 200 3 16 25 26 221 222 222 220 222 222 + 200 3 23 26 9 218 222 218 220 219 220 + 200 3 23 9 10 218 222 219 220 219 222 + 200 3 19 16 26 217 222 217 220 218 220 + 200 3 19 26 23 217 222 218 220 218 222 + 200 3 27 24 14 238 222 238 220 237 220 + 200 3 27 14 15 238 222 237 220 237 222 + 200 3 21 22 24 239 222 239 220 238 220 + 200 3 21 24 27 239 222 238 220 238 222 + 200 3 25 28 11 234 220 234 220 235 220 + 200 3 25 11 12 234 220 235 220 235 220 + 200 3 28 29 13 234 220 234 220 235 220 + 200 3 28 13 11 234 220 235 220 235 220 + 200 3 29 27 15 234 220 234 222 235 222 + 200 3 29 15 13 234 220 235 222 235 220 + 200 3 17 18 28 233 220 233 220 234 220 + 200 3 17 28 25 233 220 234 220 234 220 + 200 3 18 20 29 233 220 233 220 234 220 + 200 3 18 29 28 233 220 234 220 234 220 + 200 3 20 21 27 233 220 233 222 234 222 + 200 3 20 27 29 233 220 234 222 234 220 + 200 3 33 32 31 227 222 225 222 225 220 + 200 3 33 31 30 227 222 225 220 227 220 + 200 3 35 33 30 231 222 231 220 229 220 + 200 3 35 30 34 231 222 229 220 229 222 + 200 3 39 38 37 221 222 223 222 223 220 + 200 3 39 37 36 221 222 223 220 221 220 + 200 3 32 41 40 231 222 229 222 229 220 + 200 3 32 40 31 231 222 229 220 231 220 + 200 3 41 43 42 239 220 239 222 237 222 + 200 3 41 42 40 239 220 237 222 237 220 + 200 3 34 30 31 239 221 239 220 238 220 + 200 3 34 31 44 239 221 238 220 238 221 + 200 3 31 40 42 238 220 237 220 237 221 + 200 3 31 42 44 238 220 237 221 238 221 + 200 3 42 45 36 237 221 237 222 238 222 + 200 3 42 36 44 237 221 238 222 238 221 + 200 3 36 37 34 238 222 239 222 239 221 + 200 3 36 34 44 238 222 239 221 238 221 + 200 3 33 35 38 223 220 223 221 223 222 + 200 3 33 38 46 223 220 223 222 222 221 + 200 3 41 32 33 221 220 222 220 223 220 + 200 3 41 33 46 221 220 223 220 222 221 + 200 3 47 43 41 221 222 221 221 221 220 + 200 3 47 41 46 221 222 221 220 222 221 + 200 3 38 39 47 223 222 222 222 221 222 + 200 3 38 47 46 223 222 221 222 222 221 + 200 3 47 39 36 237 222 239 222 239 220 + 200 3 47 36 45 237 222 239 220 237 220 + 200 3 43 47 45 239 220 239 222 237 222 + 200 3 43 45 42 239 220 237 222 237 220 + 200 3 38 35 34 231 222 231 220 229 220 + 200 3 38 34 37 231 222 229 220 229 222 \ No newline at end of file diff --git a/data/base/components/weapons/misensor.pie b/data/base/components/weapons/misensor.pie index a72efe36f..e01091092 100644 --- a/data/base/components/weapons/misensor.pie +++ b/data/base/components/weapons/misensor.pie @@ -20,7 +20,7 @@ POINTS 16 15 0 18 9 33 0 15 0 -17 -POLYGONS 22 +POLYGONS 24 200 3 2 1 0 175 224 170 222 175 216 200 3 1 3 0 170 222 168 216 175 216 200 3 3 4 0 168 216 170 210 175 216 @@ -41,5 +41,7 @@ POLYGONS 22 200 3 12 11 10 110 224 115 234 104 234 200 3 13 14 15 104 234 110 224 115 234 200 3 15 14 13 115 234 110 224 104 234 - 200 4 13 14 12 10 36 114 34 103 29 103 27 114 - 200 4 14 15 11 12 34 103 36 114 27 114 29 103 \ No newline at end of file + 200 3 13 14 12 36 114 34 103 29 103 + 200 3 13 12 10 36 114 29 103 27 114 + 200 3 14 15 11 34 103 36 114 27 114 + 200 3 14 11 12 34 103 27 114 29 103 \ No newline at end of file diff --git a/data/base/components/weapons/trhair.pie b/data/base/components/weapons/trhair.pie index 80b7f8d38..d03106124 100644 --- a/data/base/components/weapons/trhair.pie +++ b/data/base/components/weapons/trhair.pie @@ -14,12 +14,18 @@ POINTS 10 -15 17 -10 -15 23 18 -15 23 28 -POLYGONS 8 - 200 4 3 2 1 0 0 27 6 22 20 20 25 27 +POLYGONS 14 + 200 3 3 2 1 0 27 6 22 20 20 + 200 3 3 1 0 0 27 20 20 25 27 200 3 0 1 4 25 27 20 20 24 20 - 200 4 8 7 6 5 20 20 6 22 0 27 25 27 + 200 3 8 7 6 20 20 6 22 0 27 + 200 3 8 6 5 20 20 0 27 25 27 200 3 8 5 9 20 20 25 27 24 20 - 200 4 6 7 2 3 175 17 175 6 190 6 190 17 - 200 4 7 8 1 2 175 6 175 0 190 0 190 6 - 200 4 9 5 0 4 1 38 1 47 17 47 17 38 - 200 4 8 9 4 1 0 19 0 0 16 0 16 19 \ No newline at end of file + 200 3 6 7 2 175 17 175 6 190 6 + 200 3 6 2 3 175 17 190 6 190 17 + 200 3 7 8 1 175 6 175 0 190 0 + 200 3 7 1 2 175 6 190 0 190 6 + 200 3 9 5 0 1 38 1 47 17 47 + 200 3 9 0 4 1 38 17 47 17 38 + 200 3 8 9 4 0 19 0 0 16 0 + 200 3 8 4 1 0 19 16 0 16 19 \ No newline at end of file diff --git a/data/base/components/weapons/trhcan.pie b/data/base/components/weapons/trhcan.pie index 28ad715b1..531337f03 100644 --- a/data/base/components/weapons/trhcan.pie +++ b/data/base/components/weapons/trhcan.pie @@ -12,10 +12,16 @@ POINTS 8 -12 18 19 -18 0 -23 -23 0 22 -POLYGONS 6 - 200 4 3 2 1 0 5 21 24 20 25 27 0 27 - 200 4 5 2 3 4 14 18 2 18 4 4 12 4 - 200 4 4 3 0 6 4 29 14 29 16 37 2 37 - 200 4 2 5 7 1 2 38 16 38 18 47 0 47 - 200 4 5 4 6 7 24 20 5 21 0 27 25 27 - 200 4 6 0 1 7 2 19 14 19 16 0 0 0 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 5 21 24 20 25 27 + 200 3 3 1 0 5 21 25 27 0 27 + 200 3 5 2 3 14 18 2 18 4 4 + 200 3 5 3 4 14 18 4 4 12 4 + 200 3 4 3 0 4 29 14 29 16 37 + 200 3 4 0 6 4 29 16 37 2 37 + 200 3 2 5 7 2 38 16 38 18 47 + 200 3 2 7 1 2 38 18 47 0 47 + 200 3 5 4 6 24 20 5 21 0 27 + 200 3 5 6 7 24 20 0 27 25 27 + 200 3 6 0 1 2 19 14 19 16 0 + 200 3 6 1 7 2 19 16 0 0 0 \ No newline at end of file diff --git a/data/base/components/weapons/trhcon.pie b/data/base/components/weapons/trhcon.pie index 466fc2f10..a94e43db8 100644 --- a/data/base/components/weapons/trhcon.pie +++ b/data/base/components/weapons/trhcon.pie @@ -22,20 +22,32 @@ POINTS 18 20 1 -38 -20 18 -18 20 18 -18 -POLYGONS 16 - 200 4 3 2 1 0 106 256 106 247 121 247 121 256 - 200 4 7 6 5 4 121 234 123 231 123 256 121 256 - 200 4 9 8 6 7 106 234 104 231 123 231 121 234 - 200 4 11 10 8 9 106 256 104 256 104 231 106 234 - 200 4 2 3 0 1 64 62 64 52 86 52 86 62 - 200 4 14 13 1 12 148 104 136 104 136 123 148 136 +POLYGONS 28 + 200 3 3 2 1 106 256 106 247 121 247 + 200 3 3 1 0 106 256 121 247 121 256 + 200 3 7 6 5 121 234 123 231 123 256 + 200 3 7 5 4 121 234 123 256 121 256 + 200 3 9 8 6 106 234 104 231 123 231 + 200 3 9 6 7 106 234 123 231 121 234 + 200 3 11 10 8 106 256 104 256 104 231 + 200 3 11 8 9 106 256 104 231 106 234 + 200 3 2 3 0 64 62 64 52 86 52 + 200 3 2 0 1 64 62 86 52 86 62 + 200 3 14 13 1 148 104 136 104 136 123 + 200 3 14 1 12 148 104 136 123 148 136 200 3 1 0 12 136 123 142 136 148 136 - 200 4 2 15 9 11 136 123 136 104 148 104 148 136 + 200 3 2 15 9 136 123 136 104 148 104 + 200 3 2 9 11 136 123 148 104 148 136 200 3 3 2 11 142 136 136 123 148 136 - 200 4 9 15 13 14 64 51 64 63 86 63 86 51 - 200 4 14 12 1 13 148 71 148 104 136 91 136 71 + 200 3 9 15 13 64 51 64 63 86 63 + 200 3 9 13 14 64 51 86 63 86 51 + 200 3 14 12 1 148 71 148 104 136 91 + 200 3 14 1 13 148 71 136 91 136 71 200 3 1 12 0 136 91 148 104 142 104 - 200 4 15 2 11 9 136 71 136 91 148 104 148 71 + 200 3 15 2 11 136 71 136 91 148 104 + 200 3 15 11 9 136 71 148 104 148 71 200 3 3 11 2 142 104 148 104 136 91 - 200 4 15 9 14 13 64 51 64 40 86 40 86 51 - 200 4 2 17 16 1 106 247 106 234 121 234 121 247 \ No newline at end of file + 200 3 15 9 14 64 51 64 40 86 40 + 200 3 15 14 13 64 51 86 40 86 51 + 200 3 2 17 16 106 247 106 234 121 234 + 200 3 2 16 1 106 247 121 234 121 247 \ No newline at end of file diff --git a/data/base/components/weapons/trhecm3.pie b/data/base/components/weapons/trhecm3.pie index 0de3fdbae..0889b0e58 100644 --- a/data/base/components/weapons/trhecm3.pie +++ b/data/base/components/weapons/trhecm3.pie @@ -10,10 +10,16 @@ POINTS 6 21 0 19 -20 7 19 -20 0 19 -POLYGONS 6 - 200 4 0 1 2 3 16 14 0 14 0 5 16 5 - 200 4 3 2 1 0 16 5 0 5 0 14 16 14 - 200 4 4 0 3 5 18 40 0 40 0 45 18 45 - 200 4 5 3 0 4 18 45 0 45 0 40 18 40 - 200 4 1 4 5 2 16 14 0 14 0 5 16 5 - 200 4 2 5 4 1 16 5 0 5 0 14 16 14 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 16 14 0 14 0 5 + 200 3 0 2 3 16 14 0 5 16 5 + 200 3 3 2 1 16 5 0 5 0 14 + 200 3 3 1 0 16 5 0 14 16 14 + 200 3 4 0 3 18 40 0 40 0 45 + 200 3 4 3 5 18 40 0 45 18 45 + 200 3 5 3 0 18 45 0 45 0 40 + 200 3 5 0 4 18 45 0 40 18 40 + 200 3 1 4 5 16 14 0 14 0 5 + 200 3 1 5 2 16 14 0 5 16 5 + 200 3 2 5 4 16 5 0 5 0 14 + 200 3 2 4 1 16 5 0 14 16 14 \ No newline at end of file diff --git a/data/base/components/weapons/trhgss.pie b/data/base/components/weapons/trhgss.pie index 3a3e8fd88..63a85d8d2 100644 --- a/data/base/components/weapons/trhgss.pie +++ b/data/base/components/weapons/trhgss.pie @@ -16,14 +16,19 @@ POINTS 12 9 14 4 0 23 5 0 14 30 -POLYGONS 10 - 200 4 3 2 1 0 0 27 25 26 18 20 4 20 - 200 4 7 6 5 4 25 26 0 27 4 20 18 20 - 200 4 7 2 3 6 12 19 4 19 5 0 11 0 - 200 4 2 7 4 1 4 41 14 41 18 47 0 47 +POLYGONS 15 + 200 3 3 2 1 0 27 25 26 18 20 + 200 3 3 1 0 0 27 18 20 4 20 + 200 3 7 6 5 25 26 0 27 4 20 + 200 3 7 5 4 25 26 4 20 18 20 + 200 3 7 2 3 12 19 4 19 5 0 + 200 3 7 3 6 12 19 5 0 11 0 + 200 3 2 7 4 4 41 14 41 18 47 + 200 3 2 4 1 4 41 18 47 0 47 200 3 0 1 4 14 19 16 0 0 0 200 3 4 5 0 0 0 2 19 14 19 200 3 10 9 8 18 38 18 47 0 38 200 3 11 10 8 134 208 128 197 144 197 200 3 10 11 9 144 197 137 208 128 197 - 200 4 6 3 0 5 133 200 139 200 142 208 130 208 \ No newline at end of file + 200 3 6 3 0 133 200 139 200 142 208 + 200 3 6 0 5 133 200 142 208 130 208 \ No newline at end of file diff --git a/data/base/components/weapons/trhhow2.pie b/data/base/components/weapons/trhhow2.pie index 19cd6fd73..33552f291 100644 --- a/data/base/components/weapons/trhhow2.pie +++ b/data/base/components/weapons/trhhow2.pie @@ -28,28 +28,52 @@ POINTS 24 13 13 -18 18 33 -6 10 33 -6 -POLYGONS 24 - 200 4 0 1 2 3 0 139 9 139 11 132 2 132 - 200 4 3 2 1 0 2 132 11 132 9 139 0 139 - 200 4 1 4 5 2 9 139 16 139 15 132 11 132 - 200 4 2 5 4 1 11 132 15 132 16 139 9 139 - 200 4 3 2 6 7 2 132 11 132 9 126 4 126 - 200 4 7 6 2 3 4 126 9 126 11 132 2 132 - 200 4 8 9 5 4 0 47 0 39 18 39 18 47 - 200 4 4 5 9 8 18 47 18 39 0 39 0 47 - 200 4 10 11 1 0 0 192 0 201 16 201 16 192 - 200 4 0 1 11 10 16 192 16 201 0 201 0 192 - 200 4 11 8 4 1 0 201 0 208 16 208 16 201 - 200 4 1 4 8 11 16 201 16 208 0 208 0 201 - 200 4 10 12 13 11 0 139 2 132 10 132 9 139 - 200 4 11 13 12 10 9 139 10 132 2 132 0 139 - 200 4 11 13 9 8 9 139 10 132 15 132 16 139 - 200 4 8 9 13 11 16 139 15 132 10 132 9 139 - 200 4 12 14 15 13 2 132 4 126 9 126 10 132 - 200 4 13 15 14 12 10 132 9 126 4 126 2 132 - 200 4 16 17 18 19 132 202 133 193 130 193 128 207 - 200 4 19 18 17 16 128 207 130 193 133 193 132 202 - 200 4 16 19 20 21 132 202 128 207 144 207 140 202 - 200 4 21 20 19 16 140 202 144 207 128 207 132 202 - 200 4 21 20 22 23 140 202 144 207 142 193 139 193 - 200 4 23 22 20 21 139 193 142 193 144 207 140 202 \ No newline at end of file +POLYGONS 48 + 200 3 0 1 2 0 139 9 139 11 132 + 200 3 0 2 3 0 139 11 132 2 132 + 200 3 3 2 1 2 132 11 132 9 139 + 200 3 3 1 0 2 132 9 139 0 139 + 200 3 1 4 5 9 139 16 139 15 132 + 200 3 1 5 2 9 139 15 132 11 132 + 200 3 2 5 4 11 132 15 132 16 139 + 200 3 2 4 1 11 132 16 139 9 139 + 200 3 3 2 6 2 132 11 132 9 126 + 200 3 3 6 7 2 132 9 126 4 126 + 200 3 7 6 2 4 126 9 126 11 132 + 200 3 7 2 3 4 126 11 132 2 132 + 200 3 8 9 5 0 47 0 39 18 39 + 200 3 8 5 4 0 47 18 39 18 47 + 200 3 4 5 9 18 47 18 39 0 39 + 200 3 4 9 8 18 47 0 39 0 47 + 200 3 10 11 1 0 192 0 201 16 201 + 200 3 10 1 0 0 192 16 201 16 192 + 200 3 0 1 11 16 192 16 201 0 201 + 200 3 0 11 10 16 192 0 201 0 192 + 200 3 11 8 4 0 201 0 208 16 208 + 200 3 11 4 1 0 201 16 208 16 201 + 200 3 1 4 8 16 201 16 208 0 208 + 200 3 1 8 11 16 201 0 208 0 201 + 200 3 10 12 13 0 139 2 132 10 132 + 200 3 10 13 11 0 139 10 132 9 139 + 200 3 11 13 12 9 139 10 132 2 132 + 200 3 11 12 10 9 139 2 132 0 139 + 200 3 11 13 9 9 139 10 132 15 132 + 200 3 11 9 8 9 139 15 132 16 139 + 200 3 8 9 13 16 139 15 132 10 132 + 200 3 8 13 11 16 139 10 132 9 139 + 200 3 12 14 15 2 132 4 126 9 126 + 200 3 12 15 13 2 132 9 126 10 132 + 200 3 13 15 14 10 132 9 126 4 126 + 200 3 13 14 12 10 132 4 126 2 132 + 200 3 16 17 18 132 202 133 193 130 193 + 200 3 16 18 19 132 202 130 193 128 207 + 200 3 19 18 17 128 207 130 193 133 193 + 200 3 19 17 16 128 207 133 193 132 202 + 200 3 16 19 20 132 202 128 207 144 207 + 200 3 16 20 21 132 202 144 207 140 202 + 200 3 21 20 19 140 202 144 207 128 207 + 200 3 21 19 16 140 202 128 207 132 202 + 200 3 21 20 22 140 202 144 207 142 193 + 200 3 21 22 23 140 202 142 193 139 193 + 200 3 23 22 20 139 193 142 193 144 207 + 200 3 23 20 21 139 193 144 207 140 202 \ No newline at end of file diff --git a/data/base/components/weapons/trhhowt.pie b/data/base/components/weapons/trhhowt.pie index 1c76df582..59f55eb96 100644 --- a/data/base/components/weapons/trhhowt.pie +++ b/data/base/components/weapons/trhhowt.pie @@ -28,28 +28,52 @@ POINTS 24 -13 11 11 -8 21 -9 -8 21 6 -POLYGONS 24 - 200 4 0 1 2 3 132 202 133 193 130 193 128 207 - 200 4 3 2 1 0 128 207 130 193 133 193 132 202 - 200 4 0 3 4 5 132 202 128 207 144 207 140 202 - 200 4 5 4 3 0 140 202 144 207 128 207 132 202 - 200 4 5 4 6 7 140 202 144 207 142 193 139 193 - 200 4 7 6 4 5 139 193 142 193 144 207 140 202 - 200 4 8 9 10 11 0 139 9 139 11 132 2 132 - 200 4 11 10 9 8 2 132 11 132 9 139 0 139 - 200 4 9 12 13 10 9 139 16 139 15 132 11 132 - 200 4 10 13 12 9 11 132 15 132 16 139 9 139 - 200 4 11 10 14 15 2 132 11 132 9 126 4 126 - 200 4 15 14 10 11 4 126 9 126 11 132 2 132 - 200 4 16 17 13 12 0 47 0 39 18 39 18 47 - 200 4 12 13 17 16 18 47 18 39 0 39 0 47 - 200 4 18 19 9 8 0 192 0 201 16 201 16 192 - 200 4 8 9 19 18 16 192 16 201 0 201 0 192 - 200 4 19 16 12 9 0 201 0 208 16 208 16 201 - 200 4 9 12 16 19 16 201 16 208 0 208 0 201 - 200 4 18 20 21 19 0 139 2 132 10 132 9 139 - 200 4 19 21 20 18 9 139 10 132 2 132 0 139 - 200 4 19 21 17 16 9 139 10 132 15 132 16 139 - 200 4 16 17 21 19 16 139 15 132 10 132 9 139 - 200 4 20 22 23 21 2 132 4 126 9 126 10 132 - 200 4 21 23 22 20 10 132 9 126 4 126 2 132 \ No newline at end of file +POLYGONS 48 + 200 3 0 1 2 132 202 133 193 130 193 + 200 3 0 2 3 132 202 130 193 128 207 + 200 3 3 2 1 128 207 130 193 133 193 + 200 3 3 1 0 128 207 133 193 132 202 + 200 3 0 3 4 132 202 128 207 144 207 + 200 3 0 4 5 132 202 144 207 140 202 + 200 3 5 4 3 140 202 144 207 128 207 + 200 3 5 3 0 140 202 128 207 132 202 + 200 3 5 4 6 140 202 144 207 142 193 + 200 3 5 6 7 140 202 142 193 139 193 + 200 3 7 6 4 139 193 142 193 144 207 + 200 3 7 4 5 139 193 144 207 140 202 + 200 3 8 9 10 0 139 9 139 11 132 + 200 3 8 10 11 0 139 11 132 2 132 + 200 3 11 10 9 2 132 11 132 9 139 + 200 3 11 9 8 2 132 9 139 0 139 + 200 3 9 12 13 9 139 16 139 15 132 + 200 3 9 13 10 9 139 15 132 11 132 + 200 3 10 13 12 11 132 15 132 16 139 + 200 3 10 12 9 11 132 16 139 9 139 + 200 3 11 10 14 2 132 11 132 9 126 + 200 3 11 14 15 2 132 9 126 4 126 + 200 3 15 14 10 4 126 9 126 11 132 + 200 3 15 10 11 4 126 11 132 2 132 + 200 3 16 17 13 0 47 0 39 18 39 + 200 3 16 13 12 0 47 18 39 18 47 + 200 3 12 13 17 18 47 18 39 0 39 + 200 3 12 17 16 18 47 0 39 0 47 + 200 3 18 19 9 0 192 0 201 16 201 + 200 3 18 9 8 0 192 16 201 16 192 + 200 3 8 9 19 16 192 16 201 0 201 + 200 3 8 19 18 16 192 0 201 0 192 + 200 3 19 16 12 0 201 0 208 16 208 + 200 3 19 12 9 0 201 16 208 16 201 + 200 3 9 12 16 16 201 16 208 0 208 + 200 3 9 16 19 16 201 0 208 0 201 + 200 3 18 20 21 0 139 2 132 10 132 + 200 3 18 21 19 0 139 10 132 9 139 + 200 3 19 21 20 9 139 10 132 2 132 + 200 3 19 20 18 9 139 2 132 0 139 + 200 3 19 21 17 9 139 10 132 15 132 + 200 3 19 17 16 9 139 15 132 16 139 + 200 3 16 17 21 16 139 15 132 10 132 + 200 3 16 21 19 16 139 10 132 9 139 + 200 3 20 22 23 2 132 4 126 9 126 + 200 3 20 23 21 2 132 9 126 10 132 + 200 3 21 23 22 10 132 9 126 4 126 + 200 3 21 22 20 10 132 4 126 2 132 \ No newline at end of file diff --git a/data/base/components/weapons/trhlas.pie b/data/base/components/weapons/trhlas.pie index 03c2eab53..93f878c7b 100644 --- a/data/base/components/weapons/trhlas.pie +++ b/data/base/components/weapons/trhlas.pie @@ -12,10 +12,16 @@ POINTS 8 13 0 -21 28 0 13 -28 0 13 -POLYGONS 6 - 200 4 3 2 1 0 14 19 2 19 5 4 11 4 - 200 4 0 1 5 4 6 30 12 30 13 37 5 37 - 200 4 1 2 6 5 19 22 0 20 2 27 25 27 - 200 4 2 3 7 6 2 38 16 38 18 47 0 47 - 200 4 5 6 7 4 12 19 16 0 0 0 4 19 - 200 4 3 0 4 7 0 20 19 22 25 27 2 27 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 14 19 2 19 5 4 + 200 3 3 1 0 14 19 5 4 11 4 + 200 3 0 1 5 6 30 12 30 13 37 + 200 3 0 5 4 6 30 13 37 5 37 + 200 3 1 2 6 19 22 0 20 2 27 + 200 3 1 6 5 19 22 2 27 25 27 + 200 3 2 3 7 2 38 16 38 18 47 + 200 3 2 7 6 2 38 18 47 0 47 + 200 3 5 6 7 12 19 16 0 0 0 + 200 3 5 7 4 12 19 0 0 4 19 + 200 3 3 0 4 0 20 19 22 25 27 + 200 3 3 4 7 0 20 25 27 2 27 \ No newline at end of file diff --git a/data/base/components/weapons/trhmsl.pie b/data/base/components/weapons/trhmsl.pie index c6ec60874..b82b223c6 100644 --- a/data/base/components/weapons/trhmsl.pie +++ b/data/base/components/weapons/trhmsl.pie @@ -43,16 +43,25 @@ POINTS 39 -8 17 -85 -23 28 -83 -23 13 3 -POLYGONS 38 - 200 4 3 2 1 0 0 238 13 241 13 228 0 231 - 200 4 5 3 0 4 132 192 128 208 144 208 140 192 - 200 4 7 5 4 6 0 38 7 28 11 28 18 38 - 200 4 11 10 9 8 223 29 219 48 236 49 232 30 - 200 4 13 11 8 12 246 40 246 73 256 73 256 40 - 200 4 14 12 8 9 252 75 248 74 242 97 256 89 - 200 4 11 13 2 10 242 97 248 74 252 75 256 89 - 200 4 6 4 0 1 3 256 12 254 13 242 0 241 - 200 4 3 5 7 2 13 242 12 254 3 256 0 241 +POLYGONS 60 + 200 3 3 2 1 0 238 13 241 13 228 + 200 3 3 1 0 0 238 13 228 0 231 + 200 3 5 3 0 132 192 128 208 144 208 + 200 3 5 0 4 132 192 144 208 140 192 + 200 3 7 5 4 0 38 7 28 11 28 + 200 3 7 4 6 0 38 11 28 18 38 + 200 3 11 10 9 223 29 219 48 236 49 + 200 3 11 9 8 223 29 236 49 232 30 + 200 3 13 11 8 246 40 246 73 256 73 + 200 3 13 8 12 246 40 256 73 256 40 + 200 3 14 12 8 252 75 248 74 242 97 + 200 3 14 8 9 252 75 242 97 256 89 + 200 3 11 13 2 242 97 248 74 252 75 + 200 3 11 2 10 242 97 252 75 256 89 + 200 3 6 4 0 3 256 12 254 13 242 + 200 3 6 0 1 3 256 13 242 0 241 + 200 3 3 5 7 13 242 12 254 3 256 + 200 3 3 7 2 13 242 3 256 0 241 200 3 17 16 15 104 216 111 216 106 210 200 3 15 16 18 106 210 111 216 111 208 200 3 20 16 19 111 224 111 216 106 222 @@ -69,16 +78,29 @@ POLYGONS 38 200 3 21 16 22 106 210 111 216 104 216 200 3 22 16 23 104 216 111 216 106 222 200 3 23 16 20 106 222 111 216 111 224 - 200 4 26 26 25 24 110 224 110 224 115 232 110 232 - 200 4 26 26 27 25 110 224 110 224 115 232 104 232 - 200 4 26 26 24 27 110 224 110 224 115 232 115 232 - 200 4 26 26 26 26 110 224 110 224 110 224 110 224 - 200 4 26 26 26 26 110 224 110 224 110 224 110 224 - 200 4 28 29 13 30 0 114 26 114 26 102 0 102 - 200 4 30 13 29 28 0 102 26 102 26 114 0 114 - 200 4 28 31 32 29 0 76 22 76 22 102 0 102 - 200 4 29 32 31 28 0 102 22 102 22 76 0 76 - 200 4 33 34 35 36 0 102 26 102 26 114 0 114 - 200 4 36 35 34 33 0 114 26 114 26 102 0 102 - 200 4 33 37 38 34 0 76 22 76 22 102 0 102 - 200 4 34 38 37 33 0 102 22 102 22 76 0 76 + 200 3 26 26 25 110 224 110 224 115 232 + 200 3 26 25 24 110 224 115 232 110 232 + 200 3 26 26 27 110 224 110 224 115 232 + 200 3 26 27 25 110 224 115 232 104 232 + 200 3 26 26 24 110 224 110 224 115 232 + 200 3 26 24 27 110 224 115 232 115 232 + 200 3 26 26 26 110 224 110 224 110 224 + 200 3 26 26 26 110 224 110 224 110 224 + 200 3 26 26 26 110 224 110 224 110 224 + 200 3 26 26 26 110 224 110 224 110 224 + 200 3 28 29 13 0 114 26 114 26 102 + 200 3 28 13 30 0 114 26 102 0 102 + 200 3 30 13 29 0 102 26 102 26 114 + 200 3 30 29 28 0 102 26 114 0 114 + 200 3 28 31 32 0 76 22 76 22 102 + 200 3 28 32 29 0 76 22 102 0 102 + 200 3 29 32 31 0 102 22 102 22 76 + 200 3 29 31 28 0 102 22 76 0 76 + 200 3 33 34 35 0 102 26 102 26 114 + 200 3 33 35 36 0 102 26 114 0 114 + 200 3 36 35 34 0 114 26 114 26 102 + 200 3 36 34 33 0 114 26 102 0 102 + 200 3 33 37 38 0 76 22 76 22 102 + 200 3 33 38 34 0 76 22 102 0 102 + 200 3 34 38 37 0 102 22 102 22 76 + 200 3 34 37 33 0 102 22 76 0 76 \ No newline at end of file diff --git a/data/base/components/weapons/trhmslab.pie b/data/base/components/weapons/trhmslab.pie index 1ad48628a..730a0870b 100644 --- a/data/base/components/weapons/trhmslab.pie +++ b/data/base/components/weapons/trhmslab.pie @@ -12,10 +12,16 @@ POINTS 8 -17 0 27 24 0 -42 17 0 27 -POLYGONS 6 - 200 4 0 1 2 3 1 192 0 208 16 208 15 192 - 200 4 3 2 1 0 15 192 16 208 0 208 1 192 - 200 4 5 0 1 4 24 20 25 22 0 28 6 20 - 200 4 2 3 7 6 0 28 25 22 24 20 6 20 - 200 4 0 5 7 3 25 22 24 20 24 20 25 22 - 200 4 2 6 4 1 4 39 0 47 18 47 14 39 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 1 192 0 208 16 208 + 200 3 0 2 3 1 192 16 208 15 192 + 200 3 3 2 1 15 192 16 208 0 208 + 200 3 3 1 0 15 192 0 208 1 192 + 200 3 5 0 1 24 20 25 22 0 28 + 200 3 5 1 4 24 20 0 28 6 20 + 200 3 2 3 7 0 28 25 22 24 20 + 200 3 2 7 6 0 28 24 20 6 20 + 200 3 0 5 7 25 22 24 20 24 20 + 200 3 0 7 3 25 22 24 20 25 22 + 200 3 2 6 4 4 39 0 47 18 47 + 200 3 2 4 1 4 39 18 47 14 39 \ No newline at end of file diff --git a/data/base/components/weapons/trhmsli.pie b/data/base/components/weapons/trhmsli.pie index 557f632e6..6fe068801 100644 --- a/data/base/components/weapons/trhmsli.pie +++ b/data/base/components/weapons/trhmsli.pie @@ -12,10 +12,16 @@ POINTS 8 -17 0 0 24 0 -70 17 0 0 -POLYGONS 6 - 200 4 0 1 2 3 1 192 0 208 16 208 15 192 - 200 4 3 2 1 0 15 192 16 208 0 208 1 192 - 200 4 5 0 1 4 24 20 25 22 0 28 6 20 - 200 4 2 3 7 6 0 28 25 22 24 20 6 20 - 200 4 0 5 7 3 25 22 24 20 24 20 25 22 - 200 4 2 6 4 1 4 39 0 47 18 47 14 39 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 1 192 0 208 16 208 + 200 3 0 2 3 1 192 16 208 15 192 + 200 3 3 2 1 15 192 16 208 0 208 + 200 3 3 1 0 15 192 0 208 1 192 + 200 3 5 0 1 24 20 25 22 0 28 + 200 3 5 1 4 24 20 0 28 6 20 + 200 3 2 3 7 0 28 25 22 24 20 + 200 3 2 7 6 0 28 24 20 6 20 + 200 3 0 5 7 25 22 24 20 24 20 + 200 3 0 7 3 25 22 24 20 25 22 + 200 3 2 6 4 4 39 0 47 18 47 + 200 3 2 4 1 4 39 18 47 14 39 \ No newline at end of file diff --git a/data/base/components/weapons/trhmslsa.pie b/data/base/components/weapons/trhmslsa.pie index f723ee46d..784fa3eab 100644 --- a/data/base/components/weapons/trhmslsa.pie +++ b/data/base/components/weapons/trhmslsa.pie @@ -27,14 +27,21 @@ POINTS 23 -5 0 -13 5 0 -13 14 0 -5 -POLYGONS 23 - 200 4 12 7 20 19 139 192 144 192 144 207 139 207 - 200 4 14 12 19 18 133 192 139 192 139 207 133 207 - 200 4 8 9 22 21 144 192 139 192 139 207 144 207 - 200 4 13 14 18 17 128 192 133 192 133 207 128 207 - 200 4 9 10 15 22 139 192 133 192 133 207 139 207 - 200 4 10 11 16 15 133 192 128 192 128 207 133 207 - 200 4 7 8 21 20 0 114 15 114 15 119 0 119 +POLYGONS 34 + 200 3 12 7 20 139 192 144 192 144 207 + 200 3 12 20 19 139 192 144 207 139 207 + 200 3 14 12 19 133 192 139 192 139 207 + 200 3 14 19 18 133 192 139 207 133 207 + 200 3 8 9 22 144 192 139 192 139 207 + 200 3 8 22 21 144 192 139 207 144 207 + 200 3 13 14 18 128 192 133 192 133 207 + 200 3 13 18 17 128 192 133 207 128 207 + 200 3 9 10 15 139 192 133 192 133 207 + 200 3 9 15 22 139 192 133 207 139 207 + 200 3 10 11 16 133 192 128 192 128 207 + 200 3 10 16 15 133 192 128 207 133 207 + 200 3 7 8 21 0 114 15 114 15 119 + 200 3 7 21 20 0 114 15 119 0 119 200 3 4 2 1 112 208 105 212 112 216 200 3 4 1 2 176 224 176 216 168 220 200 3 6 4 1 105 212 112 208 112 216 @@ -47,7 +54,11 @@ POLYGONS 23 200 3 0 3 1 105 220 112 224 112 216 200 3 2 1 0 168 220 176 216 168 212 200 3 2 0 1 105 212 105 220 112 216 - 200 4 12 14 13 11 29 103 34 103 37 106 37 111 - 200 4 12 11 10 7 29 103 37 111 34 114 26 106 - 200 4 10 9 8 7 34 114 29 114 26 111 26 106 - 200 4 11 13 17 16 0 241 13 241 13 256 0 256 \ No newline at end of file + 200 3 12 14 13 29 103 34 103 37 106 + 200 3 12 13 11 29 103 37 106 37 111 + 200 3 12 11 10 29 103 37 111 34 114 + 200 3 12 10 7 29 103 34 114 26 106 + 200 3 10 9 8 34 114 29 114 26 111 + 200 3 10 8 7 34 114 26 111 26 106 + 200 3 11 13 17 0 241 13 241 13 256 + 200 3 11 17 16 0 241 13 256 0 256 \ No newline at end of file diff --git a/data/base/components/weapons/trhplasm.pie b/data/base/components/weapons/trhplasm.pie index 2bb6f245e..b9820e966 100644 --- a/data/base/components/weapons/trhplasm.pie +++ b/data/base/components/weapons/trhplasm.pie @@ -12,10 +12,16 @@ POINTS 8 -17 25 20 -24 0 -28 -27 0 25 -POLYGONS 6 - 200 4 3 2 1 0 5 21 24 20 25 27 0 27 - 200 4 5 2 3 4 14 18 2 18 4 4 12 4 - 200 4 4 3 0 6 4 29 14 29 16 37 2 37 - 200 4 2 5 7 1 2 38 16 38 18 47 0 47 - 200 4 5 4 6 7 24 20 5 21 0 27 25 27 - 200 4 6 0 1 7 2 19 14 19 16 0 0 0 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 5 21 24 20 25 27 + 200 3 3 1 0 5 21 25 27 0 27 + 200 3 5 2 3 14 18 2 18 4 4 + 200 3 5 3 4 14 18 4 4 12 4 + 200 3 4 3 0 4 29 14 29 16 37 + 200 3 4 0 6 4 29 16 37 2 37 + 200 3 2 5 7 2 38 16 38 18 47 + 200 3 2 7 1 2 38 18 47 0 47 + 200 3 5 4 6 24 20 5 21 0 27 + 200 3 5 6 7 24 20 0 27 25 27 + 200 3 6 0 1 2 19 14 19 16 0 + 200 3 6 1 7 2 19 16 0 0 0 \ No newline at end of file diff --git a/data/base/components/weapons/trhrckt.pie b/data/base/components/weapons/trhrckt.pie index ea74f1695..12912cb08 100644 --- a/data/base/components/weapons/trhrckt.pie +++ b/data/base/components/weapons/trhrckt.pie @@ -12,9 +12,14 @@ POINTS 8 -21 0 39 24 0 -30 21 0 39 -POLYGONS 5 - 200 4 3 2 1 0 15 192 16 208 0 208 1 192 - 200 4 5 0 1 4 24 20 25 22 0 28 6 20 - 200 4 2 3 7 6 0 28 25 22 24 20 6 20 - 200 4 0 5 7 3 25 22 24 20 24 20 25 22 - 200 4 2 6 4 1 4 39 0 47 18 47 14 39 \ No newline at end of file +POLYGONS 10 + 200 3 3 2 1 15 192 16 208 0 208 + 200 3 3 1 0 15 192 0 208 1 192 + 200 3 5 0 1 24 20 25 22 0 28 + 200 3 5 1 4 24 20 0 28 6 20 + 200 3 2 3 7 0 28 25 22 24 20 + 200 3 2 7 6 0 28 24 20 6 20 + 200 3 0 5 7 25 22 24 20 24 20 + 200 3 0 7 3 25 22 24 20 25 22 + 200 3 2 6 4 4 39 0 47 18 47 + 200 3 2 4 1 4 39 18 47 14 39 \ No newline at end of file diff --git a/data/base/components/weapons/trhrmort.pie b/data/base/components/weapons/trhrmort.pie index 530127b65..14e17d134 100644 --- a/data/base/components/weapons/trhrmort.pie +++ b/data/base/components/weapons/trhrmort.pie @@ -16,19 +16,34 @@ POINTS 12 11 16 11 -15 6 -10 -11 16 11 -POLYGONS 15 - 200 4 4 1 0 6 2 208 0 192 15 192 13 208 - 200 4 4 6 7 5 2 140 14 140 13 132 3 132 - 200 4 5 7 6 4 3 132 13 132 14 140 2 140 - 200 4 5 7 11 9 14 132 2 132 3 132 13 132 - 200 4 9 11 7 5 13 132 3 132 2 132 14 132 - 200 4 9 5 2 8 13 2 14 0 17 19 15 16 - 200 4 3 2 8 10 0 140 16 140 14 139 2 139 - 200 4 10 8 2 3 2 139 14 139 16 140 0 140 - 200 4 11 10 3 7 4 2 2 16 0 19 3 0 - 200 4 1 4 5 2 0 140 16 140 14 132 1 138 - 200 4 2 5 4 1 1 138 14 132 16 140 0 140 - 200 4 6 0 3 7 0 140 16 140 15 138 2 132 - 200 4 7 3 0 6 2 132 15 138 16 140 0 140 - 200 4 0 1 2 3 0 140 16 140 15 138 1 138 - 200 4 3 2 1 0 1 138 15 138 16 140 0 140 \ No newline at end of file +POLYGONS 30 + 200 3 4 1 0 2 208 0 192 15 192 + 200 3 4 0 6 2 208 15 192 13 208 + 200 3 4 6 7 2 140 14 140 13 132 + 200 3 4 7 5 2 140 13 132 3 132 + 200 3 5 7 6 3 132 13 132 14 140 + 200 3 5 6 4 3 132 14 140 2 140 + 200 3 5 7 11 14 132 2 132 3 132 + 200 3 5 11 9 14 132 3 132 13 132 + 200 3 9 11 7 13 132 3 132 2 132 + 200 3 9 7 5 13 132 2 132 14 132 + 200 3 9 5 2 13 2 14 0 17 19 + 200 3 9 2 8 13 2 17 19 15 16 + 200 3 3 2 8 0 140 16 140 14 139 + 200 3 3 8 10 0 140 14 139 2 139 + 200 3 10 8 2 2 139 14 139 16 140 + 200 3 10 2 3 2 139 16 140 0 140 + 200 3 11 10 3 4 2 2 16 0 19 + 200 3 11 3 7 4 2 0 19 3 0 + 200 3 1 4 5 0 140 16 140 14 132 + 200 3 1 5 2 0 140 14 132 1 138 + 200 3 2 5 4 1 138 14 132 16 140 + 200 3 2 4 1 1 138 16 140 0 140 + 200 3 6 0 3 0 140 16 140 15 138 + 200 3 6 3 7 0 140 15 138 2 132 + 200 3 7 3 0 2 132 15 138 16 140 + 200 3 7 0 6 2 132 16 140 0 140 + 200 3 0 1 2 0 140 16 140 15 138 + 200 3 0 2 3 0 140 15 138 1 138 + 200 3 3 2 1 1 138 15 138 16 140 + 200 3 3 1 0 1 138 16 140 0 140 \ No newline at end of file diff --git a/data/base/components/weapons/trhsnsr3.pie b/data/base/components/weapons/trhsnsr3.pie index 5469982e2..bc39d76df 100644 --- a/data/base/components/weapons/trhsnsr3.pie +++ b/data/base/components/weapons/trhsnsr3.pie @@ -16,12 +16,20 @@ POINTS 12 19 6 0 10 0 -18 9 6 -16 -POLYGONS 8 - 200 4 3 2 1 0 24 20 13 20 13 28 25 28 - 200 4 2 5 4 1 13 20 1 20 0 28 13 28 - 200 4 9 8 7 6 12 20 25 20 25 28 12 28 - 200 4 8 3 0 7 4 38 13 38 13 47 4 47 - 200 4 5 11 10 4 5 28 14 28 14 37 5 37 - 200 4 11 9 6 10 0 20 12 20 12 28 0 28 - 200 4 2 9 11 5 40 168 22 168 27 159 36 159 - 200 4 3 8 9 2 36 176 27 176 22 168 40 168 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 24 20 13 20 13 28 + 200 3 3 1 0 24 20 13 28 25 28 + 200 3 2 5 4 13 20 1 20 0 28 + 200 3 2 4 1 13 20 0 28 13 28 + 200 3 9 8 7 12 20 25 20 25 28 + 200 3 9 7 6 12 20 25 28 12 28 + 200 3 8 3 0 4 38 13 38 13 47 + 200 3 8 0 7 4 38 13 47 4 47 + 200 3 5 11 10 5 28 14 28 14 37 + 200 3 5 10 4 5 28 14 37 5 37 + 200 3 11 9 6 0 20 12 20 12 28 + 200 3 11 6 10 0 20 12 28 0 28 + 200 3 2 9 11 40 168 22 168 27 159 + 200 3 2 11 5 40 168 27 159 36 159 + 200 3 3 8 9 36 176 27 176 22 168 + 200 3 3 9 2 36 176 22 168 40 168 \ No newline at end of file diff --git a/data/base/components/weapons/trhsuper.pie b/data/base/components/weapons/trhsuper.pie index 085186de3..05bdc38e9 100644 --- a/data/base/components/weapons/trhsuper.pie +++ b/data/base/components/weapons/trhsuper.pie @@ -20,15 +20,26 @@ POINTS 16 14 29 25 -16 20 9 14 20 9 -POLYGONS 11 - 200 4 3 2 1 0 5 21 24 20 25 28 0 28 - 200 4 2 5 4 1 2 38 16 38 18 47 0 47 - 200 4 5 7 6 4 24 20 5 21 0 28 25 28 - 200 4 6 0 1 4 2 19 14 19 16 0 0 0 - 200 4 7 3 0 6 177 0 187 0 190 19 174 19 - 200 4 5 2 3 7 0 0 16 0 16 19 0 19 - 200 4 11 10 9 8 0 209 13 209 13 231 0 231 - 200 4 10 13 12 9 0 209 8 209 8 231 0 231 - 200 4 13 15 14 12 8 209 13 209 13 231 8 231 - 200 4 14 8 9 12 13 216 3 231 0 209 8 209 - 200 4 10 11 15 13 13 209 10 231 0 216 5 209 \ No newline at end of file +POLYGONS 22 + 200 3 3 2 1 5 21 24 20 25 28 + 200 3 3 1 0 5 21 25 28 0 28 + 200 3 2 5 4 2 38 16 38 18 47 + 200 3 2 4 1 2 38 18 47 0 47 + 200 3 5 7 6 24 20 5 21 0 28 + 200 3 5 6 4 24 20 0 28 25 28 + 200 3 6 0 1 2 19 14 19 16 0 + 200 3 6 1 4 2 19 16 0 0 0 + 200 3 7 3 0 177 0 187 0 190 19 + 200 3 7 0 6 177 0 190 19 174 19 + 200 3 5 2 3 0 0 16 0 16 19 + 200 3 5 3 7 0 0 16 19 0 19 + 200 3 11 10 9 0 209 13 209 13 231 + 200 3 11 9 8 0 209 13 231 0 231 + 200 3 10 13 12 0 209 8 209 8 231 + 200 3 10 12 9 0 209 8 231 0 231 + 200 3 13 15 14 8 209 13 209 13 231 + 200 3 13 14 12 8 209 13 231 8 231 + 200 3 14 8 9 13 216 3 231 0 209 + 200 3 14 9 12 13 216 0 209 8 209 + 200 3 10 11 15 13 209 10 231 0 216 + 200 3 10 15 13 13 209 0 216 5 209 \ No newline at end of file diff --git a/data/base/components/weapons/trhvcan.pie b/data/base/components/weapons/trhvcan.pie index 9d48674ff..9e27fd9f5 100644 --- a/data/base/components/weapons/trhvcan.pie +++ b/data/base/components/weapons/trhvcan.pie @@ -26,20 +26,33 @@ POINTS 22 -7 18 6 -14 0 -18 -16 0 -3 -POLYGONS 16 +POLYGONS 29 200 3 8 21 20 2 47 0 41 2 46 - 200 4 17 15 18 19 4 21 1 27 13 27 17 20 - 200 4 7 20 21 11 18 45 2 46 0 41 0 40 + 200 3 17 15 18 4 21 1 27 13 27 + 200 3 17 18 19 4 21 13 27 17 20 + 200 3 7 20 21 18 45 2 46 0 41 + 200 3 7 21 11 18 45 0 41 0 40 200 3 7 11 6 18 45 0 40 17 39 - 200 4 5 6 11 10 16 40 17 45 0 47 0 38 - 200 4 0 16 19 18 25 27 24 20 17 20 13 27 - 200 4 4 5 10 9 1 196 2 208 16 205 15 193 - 200 4 14 9 17 16 24 20 5 21 4 21 24 20 - 200 4 14 13 12 9 16 19 2 19 4 0 13 0 - 200 4 7 4 9 8 0 35 2 30 17 29 16 37 + 200 3 5 6 11 16 40 17 45 0 47 + 200 3 5 11 10 16 40 0 47 0 38 + 200 3 0 16 19 25 27 24 20 17 20 + 200 3 0 19 18 25 27 17 20 13 27 + 200 3 4 5 10 1 196 2 208 16 205 + 200 3 4 10 9 1 196 16 205 15 193 + 200 3 14 9 17 24 20 5 21 4 21 + 200 3 14 17 16 24 20 4 21 24 20 + 200 3 14 13 12 16 19 2 19 4 0 + 200 3 14 12 9 16 19 4 0 13 0 + 200 3 7 4 9 0 35 2 30 17 29 + 200 3 7 9 8 0 35 17 29 16 37 200 3 3 15 9 0 27 1 27 5 21 - 200 4 12 13 1 2 5 21 24 20 25 27 0 27 - 200 4 7 6 5 4 5 46 17 46 18 40 8 41 - 200 4 9 12 2 3 4 29 14 29 16 37 2 37 - 200 4 3 2 1 0 2 37 16 37 18 28 0 28 - 200 4 13 14 0 1 2 38 16 38 18 47 0 47 \ No newline at end of file + 200 3 12 13 1 5 21 24 20 25 27 + 200 3 12 1 2 5 21 25 27 0 27 + 200 3 7 6 5 5 46 17 46 18 40 + 200 3 7 5 4 5 46 18 40 8 41 + 200 3 9 12 2 4 29 14 29 16 37 + 200 3 9 2 3 4 29 16 37 2 37 + 200 3 3 2 1 2 37 16 37 18 28 + 200 3 3 1 0 2 37 18 28 0 28 + 200 3 13 14 0 2 38 16 38 18 47 + 200 3 13 0 1 2 38 18 47 0 47 \ No newline at end of file diff --git a/data/base/components/weapons/trlacan.pie b/data/base/components/weapons/trlacan.pie index 30534faf7..9805adb6f 100644 --- a/data/base/components/weapons/trlacan.pie +++ b/data/base/components/weapons/trlacan.pie @@ -25,20 +25,34 @@ POINTS 21 -17 8 -8 -10 0 1 -6 8 -7 -POLYGONS 16 - 200 4 19 17 20 4 14 27 15 20 5 20 3 27 - 200 4 2 3 4 7 17 39 18 45 2 47 0 40 - 200 4 4 3 18 5 16 37 0 35 1 31 17 29 - 200 4 5 13 4 20 5 21 0 27 3 27 5 20 - 200 4 2 7 17 16 17 45 0 47 0 38 16 41 - 200 4 12 14 17 19 25 27 24 20 15 20 14 27 - 200 4 13 5 11 15 2 37 4 29 14 29 13 37 - 200 4 14 10 11 5 16 19 2 19 4 0 13 0 - 200 4 0 1 6 5 1 196 2 208 16 205 15 193 - 200 4 6 1 16 17 0 38 16 40 16 41 0 38 +POLYGONS 30 + 200 3 19 17 20 14 27 15 20 5 20 + 200 3 19 20 4 14 27 5 20 3 27 + 200 3 2 3 4 17 39 18 45 2 47 + 200 3 2 4 7 17 39 2 47 0 40 + 200 3 4 3 18 16 37 0 35 1 31 + 200 3 4 18 5 16 37 1 31 17 29 + 200 3 5 13 4 5 21 0 27 3 27 + 200 3 5 4 20 5 21 3 27 5 20 + 200 3 2 7 17 17 45 0 47 0 38 + 200 3 2 17 16 17 45 0 38 16 41 + 200 3 12 14 17 25 27 24 20 15 20 + 200 3 12 17 19 25 27 15 20 14 27 + 200 3 13 5 11 2 37 4 29 14 29 + 200 3 13 11 15 2 37 14 29 13 37 + 200 3 14 10 11 16 19 2 19 4 0 + 200 3 14 11 5 16 19 4 0 13 0 + 200 3 0 1 6 1 196 2 208 16 205 + 200 3 0 6 5 1 196 16 205 15 193 + 200 3 6 1 16 0 38 16 40 16 41 + 200 3 6 16 17 0 38 16 41 0 38 200 3 0 5 18 2 30 17 29 1 31 - 200 4 11 10 9 8 5 21 24 20 25 27 0 27 + 200 3 11 10 9 5 21 24 20 25 27 + 200 3 11 9 8 5 21 25 27 0 27 200 3 8 15 11 16 37 13 37 14 29 - 200 4 13 8 9 12 2 19 14 19 16 0 0 0 - 200 4 3 2 1 0 5 46 17 46 18 40 8 41 - 200 4 10 14 12 9 2 38 16 38 18 47 0 47 \ No newline at end of file + 200 3 13 8 9 2 19 14 19 16 0 + 200 3 13 9 12 2 19 16 0 0 0 + 200 3 3 2 1 5 46 17 46 18 40 + 200 3 3 1 0 5 46 18 40 8 41 + 200 3 10 14 12 2 38 16 38 18 47 + 200 3 10 12 9 2 38 18 47 0 47 \ No newline at end of file diff --git a/data/base/components/weapons/trlcan.pie b/data/base/components/weapons/trlcan.pie index 477971fcd..aa8d56324 100644 --- a/data/base/components/weapons/trlcan.pie +++ b/data/base/components/weapons/trlcan.pie @@ -12,10 +12,16 @@ POINTS 8 11 0 13 -12 0 13 -9 0 -15 -POLYGONS 6 - 200 4 3 2 1 0 16 19 2 19 4 0 13 0 - 200 4 1 2 5 4 5 21 24 20 25 27 0 27 - 200 4 7 4 5 6 2 19 14 19 16 0 0 0 - 200 4 0 1 4 7 4 29 14 29 16 37 2 37 - 200 4 2 3 6 5 2 38 16 38 18 47 0 47 - 200 4 3 0 7 6 24 20 5 21 0 27 25 27 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 16 19 2 19 4 0 + 200 3 3 1 0 16 19 4 0 13 0 + 200 3 1 2 5 5 21 24 20 25 27 + 200 3 1 5 4 5 21 25 27 0 27 + 200 3 7 4 5 2 19 14 19 16 0 + 200 3 7 5 6 2 19 16 0 0 0 + 200 3 0 1 4 4 29 14 29 16 37 + 200 3 0 4 7 4 29 16 37 2 37 + 200 3 2 3 6 2 38 16 38 18 47 + 200 3 2 6 5 2 38 18 47 0 47 + 200 3 3 0 7 24 20 5 21 0 27 + 200 3 3 7 6 24 20 0 27 25 27 \ No newline at end of file diff --git a/data/base/components/weapons/trlcmd1.pie b/data/base/components/weapons/trlcmd1.pie index aab3a9b99..1469bab02 100644 --- a/data/base/components/weapons/trlcmd1.pie +++ b/data/base/components/weapons/trlcmd1.pie @@ -16,13 +16,22 @@ POINTS 12 -13 1 12 -5 26 5 5 26 5 -POLYGONS 9 - 200 4 3 2 1 0 132 213 132 224 112 224 112 213 - 200 4 5 3 0 4 126 208 132 213 112 213 118 208 - 200 4 9 8 7 6 56 38 70 38 70 31 56 31 - 200 4 6 7 11 10 56 31 70 31 66 27 61 27 - 200 4 2 3 7 8 0 179 8 179 8 192 0 192 - 200 4 3 5 11 7 8 179 12 179 12 188 8 192 - 200 4 10 4 0 6 12 188 12 179 8 179 8 192 - 200 4 0 1 9 6 8 179 0 179 0 192 8 192 - 200 4 5 4 10 11 70 38 56 38 56 27 70 27 +POLYGONS 18 + 200 3 3 2 1 132 213 132 224 112 224 + 200 3 3 1 0 132 213 112 224 112 213 + 200 3 5 3 0 126 208 132 213 112 213 + 200 3 5 0 4 126 208 112 213 118 208 + 200 3 9 8 7 56 38 70 38 70 31 + 200 3 9 7 6 56 38 70 31 56 31 + 200 3 6 7 11 56 31 70 31 66 27 + 200 3 6 11 10 56 31 66 27 61 27 + 200 3 2 3 7 0 179 8 179 8 192 + 200 3 2 7 8 0 179 8 192 0 192 + 200 3 3 5 11 8 179 12 179 12 188 + 200 3 3 11 7 8 179 12 188 8 192 + 200 3 10 4 0 12 188 12 179 8 179 + 200 3 10 0 6 12 188 8 179 8 192 + 200 3 0 1 9 8 179 0 179 0 192 + 200 3 0 9 6 8 179 0 192 8 192 + 200 3 5 4 10 70 38 56 38 56 27 + 200 3 5 10 11 70 38 56 27 70 27 \ No newline at end of file diff --git a/data/base/components/weapons/trlcon.pie b/data/base/components/weapons/trlcon.pie index c6fea4273..3eb2f7740 100644 --- a/data/base/components/weapons/trlcon.pie +++ b/data/base/components/weapons/trlcon.pie @@ -30,23 +30,35 @@ POINTS 26 19 3 -25 30 10 -29 19 13 17 -POLYGONS 26 - 200 4 3 2 1 0 106 256 106 247 121 247 121 256 - 200 4 7 6 5 4 121 234 122 231 122 256 121 256 - 200 4 9 8 6 7 106 234 105 231 122 231 121 234 - 200 4 11 10 8 9 106 256 105 256 105 231 106 234 - 200 4 2 13 12 1 106 247 106 234 121 234 121 247 - 200 4 9 15 14 7 86 51 86 63 64 63 64 51 - 200 4 7 4 1 14 148 71 148 104 136 91 136 71 +POLYGONS 38 + 200 3 3 2 1 106 256 106 247 121 247 + 200 3 3 1 0 106 256 121 247 121 256 + 200 3 7 6 5 121 234 122 231 122 256 + 200 3 7 5 4 121 234 122 256 121 256 + 200 3 9 8 6 106 234 105 231 122 231 + 200 3 9 6 7 106 234 122 231 121 234 + 200 3 11 10 8 106 256 105 256 105 231 + 200 3 11 8 9 106 256 105 231 106 234 + 200 3 2 13 12 106 247 106 234 121 234 + 200 3 2 12 1 106 247 121 234 121 247 + 200 3 9 15 14 86 51 86 63 64 63 + 200 3 9 14 7 86 51 64 63 64 51 + 200 3 7 4 1 148 71 148 104 136 91 + 200 3 7 1 14 148 71 136 91 136 71 200 3 1 4 0 136 91 148 104 142 104 - 200 4 15 2 11 9 136 71 136 91 148 104 148 71 + 200 3 15 2 11 136 71 136 91 148 104 + 200 3 15 11 9 136 71 148 104 148 71 200 3 3 11 2 142 104 148 104 136 91 - 200 4 2 3 0 1 65 62 65 52 85 52 85 62 - 200 4 7 14 1 4 148 104 136 104 136 123 148 136 + 200 3 2 3 0 65 62 65 52 85 52 + 200 3 2 0 1 65 62 85 52 85 62 + 200 3 7 14 1 148 104 136 104 136 123 + 200 3 7 1 4 148 104 136 123 148 136 200 3 1 0 4 136 123 142 136 148 136 - 200 4 2 15 9 11 136 123 136 104 148 104 148 136 + 200 3 2 15 9 136 123 136 104 148 104 + 200 3 2 9 11 136 123 148 104 148 136 200 3 3 2 11 142 136 136 123 148 136 - 200 4 13 9 7 12 86 51 86 40 64 40 64 51 + 200 3 13 9 7 86 51 86 40 64 40 + 200 3 13 7 12 86 51 64 40 64 51 200 3 18 17 16 87 250 71 253 87 256 200 3 19 16 17 93 240 93 248 102 248 200 3 16 19 20 102 256 87 250 87 256 @@ -56,4 +68,4 @@ POLYGONS 26 200 3 24 21 22 93 240 102 248 93 248 200 3 22 25 24 102 256 87 256 87 250 200 3 23 24 25 75 51 74 40 86 51 - 200 3 23 21 24 86 48 75 48 75 41 + 200 3 23 21 24 86 48 75 48 75 41 \ No newline at end of file diff --git a/data/base/components/weapons/trlflmr.pie b/data/base/components/weapons/trlflmr.pie index 190a82a15..933fb6d30 100644 --- a/data/base/components/weapons/trlflmr.pie +++ b/data/base/components/weapons/trlflmr.pie @@ -20,15 +20,26 @@ POINTS 16 8 0 -14 5 4 -8 -5 4 -8 -POLYGONS 11 - 200 4 3 2 1 0 1 120 13 120 14 125 0 125 - 200 4 7 6 5 4 128 0 128 17 143 17 143 0 - 200 4 9 8 6 7 118 240 104 240 104 234 118 234 - 200 4 5 11 10 4 104 234 104 240 118 240 118 234 - 200 4 9 7 4 10 128 9 128 0 143 0 143 9 - 200 4 6 8 11 5 128 0 128 9 143 9 143 0 - 200 4 15 14 13 12 13 127 3 127 0 132 16 132 - 200 4 12 13 0 1 2 119 13 119 15 114 0 114 - 200 4 2 3 14 15 14 114 14 114 3 115 3 115 - 200 4 14 3 0 13 3 115 14 114 15 119 0 119 - 200 4 2 15 12 1 14 114 3 115 0 119 15 119 \ No newline at end of file +POLYGONS 22 + 200 3 3 2 1 1 120 13 120 14 125 + 200 3 3 1 0 1 120 14 125 0 125 + 200 3 7 6 5 128 0 128 17 143 17 + 200 3 7 5 4 128 0 143 17 143 0 + 200 3 9 8 6 118 240 104 240 104 234 + 200 3 9 6 7 118 240 104 234 118 234 + 200 3 5 11 10 104 234 104 240 118 240 + 200 3 5 10 4 104 234 118 240 118 234 + 200 3 9 7 4 128 9 128 0 143 0 + 200 3 9 4 10 128 9 143 0 143 9 + 200 3 6 8 11 128 0 128 9 143 9 + 200 3 6 11 5 128 0 143 9 143 0 + 200 3 15 14 13 13 127 3 127 0 132 + 200 3 15 13 12 13 127 0 132 16 132 + 200 3 12 13 0 2 119 13 119 15 114 + 200 3 12 0 1 2 119 15 114 0 114 + 200 3 2 3 14 14 114 14 114 3 115 + 200 3 2 14 15 14 114 3 115 3 115 + 200 3 14 3 0 3 115 14 114 15 119 + 200 3 14 0 13 3 115 15 119 0 119 + 200 3 2 15 12 14 114 3 115 0 119 + 200 3 2 12 1 14 114 0 119 15 119 \ No newline at end of file diff --git a/data/base/components/weapons/trlgss.pie b/data/base/components/weapons/trlgss.pie index de3e741bc..88d664762 100644 --- a/data/base/components/weapons/trlgss.pie +++ b/data/base/components/weapons/trlgss.pie @@ -12,11 +12,16 @@ POINTS 8 10 0 -9 13 0 9 -5 0 9 -POLYGONS 7 - 200 4 3 2 1 0 12 19 4 19 5 0 11 0 - 200 4 0 1 5 4 5 131 11 131 14 140 2 140 - 200 4 2 3 7 6 4 41 14 41 18 47 0 47 - 200 4 1 2 6 5 0 27 25 26 18 20 4 20 - 200 4 3 0 4 7 25 26 0 27 4 20 18 20 +POLYGONS 12 + 200 3 3 2 1 12 19 4 19 5 0 + 200 3 3 1 0 12 19 5 0 11 0 + 200 3 0 1 5 5 131 11 131 14 140 + 200 3 0 5 4 5 131 14 140 2 140 + 200 3 2 3 7 4 41 14 41 18 47 + 200 3 2 7 6 4 41 18 47 0 47 + 200 3 1 2 6 0 27 25 26 18 20 + 200 3 1 6 5 0 27 18 20 4 20 + 200 3 3 0 4 25 26 0 27 4 20 + 200 3 3 4 7 25 26 4 20 18 20 200 3 5 6 7 14 19 16 0 0 0 200 3 7 4 5 0 0 2 19 14 19 \ No newline at end of file diff --git a/data/base/components/weapons/trlmg1.pie b/data/base/components/weapons/trlmg1.pie index ecc0ac8a4..095026017 100644 --- a/data/base/components/weapons/trlmg1.pie +++ b/data/base/components/weapons/trlmg1.pie @@ -16,14 +16,24 @@ POINTS 12 -6 0 -15 6 0 -15 -10 0 0 -POLYGONS 10 - 200 4 3 2 1 0 16 8 0 8 2 0 14 0 - 200 4 3 5 4 2 16 8 12 19 4 19 0 8 - 200 4 4 7 6 2 25 23 25 27 14 27 14 20 - 200 4 4 5 8 7 4 42 14 42 15 47 3 47 - 200 4 0 1 10 9 6 30 12 30 15 37 3 37 - 200 4 2 6 10 1 14 20 14 27 0 27 5 21 - 200 4 11 6 7 8 0 9 16 9 14 0 2 0 - 200 4 11 9 10 6 0 9 3 19 13 19 16 9 - 200 4 5 3 11 8 25 23 14 20 14 27 25 27 - 200 4 3 0 9 11 14 20 5 21 0 27 14 27 \ No newline at end of file +POLYGONS 20 + 200 3 3 2 1 16 8 0 8 2 0 + 200 3 3 1 0 16 8 2 0 14 0 + 200 3 3 5 4 16 8 12 19 4 19 + 200 3 3 4 2 16 8 4 19 0 8 + 200 3 4 7 6 25 23 25 27 14 27 + 200 3 4 6 2 25 23 14 27 14 20 + 200 3 4 5 8 4 42 14 42 15 47 + 200 3 4 8 7 4 42 15 47 3 47 + 200 3 0 1 10 6 30 12 30 15 37 + 200 3 0 10 9 6 30 15 37 3 37 + 200 3 2 6 10 14 20 14 27 0 27 + 200 3 2 10 1 14 20 0 27 5 21 + 200 3 11 6 7 0 9 16 9 14 0 + 200 3 11 7 8 0 9 14 0 2 0 + 200 3 11 9 10 0 9 3 19 13 19 + 200 3 11 10 6 0 9 13 19 16 9 + 200 3 5 3 11 25 23 14 20 14 27 + 200 3 5 11 8 25 23 14 27 25 27 + 200 3 3 0 9 14 20 5 21 0 27 + 200 3 3 9 11 14 20 0 27 14 27 \ No newline at end of file diff --git a/data/base/components/weapons/trlmg2.pie b/data/base/components/weapons/trlmg2.pie index 001afcb41..70cb3bac0 100644 --- a/data/base/components/weapons/trlmg2.pie +++ b/data/base/components/weapons/trlmg2.pie @@ -16,14 +16,24 @@ POINTS 12 -9 0 -15 8 0 -15 -12 0 0 -POLYGONS 10 - 200 4 3 2 1 0 16 8 0 8 2 0 14 0 - 200 4 3 5 4 2 16 8 12 19 4 19 0 8 - 200 4 4 7 6 2 25 23 25 27 14 27 14 20 - 200 4 4 5 8 7 4 42 14 42 15 47 3 47 - 200 4 0 1 10 9 6 30 12 30 15 37 3 37 - 200 4 2 6 10 1 14 20 14 27 0 27 5 21 - 200 4 11 6 7 8 0 9 16 9 14 0 2 0 - 200 4 11 9 10 6 0 9 3 19 13 19 16 9 - 200 4 5 3 11 8 25 23 14 20 14 27 25 27 - 200 4 3 0 9 11 14 20 5 21 0 27 14 27 \ No newline at end of file +POLYGONS 20 + 200 3 3 2 1 16 8 0 8 2 0 + 200 3 3 1 0 16 8 2 0 14 0 + 200 3 3 5 4 16 8 12 19 4 19 + 200 3 3 4 2 16 8 4 19 0 8 + 200 3 4 7 6 25 23 25 27 14 27 + 200 3 4 6 2 25 23 14 27 14 20 + 200 3 4 5 8 4 42 14 42 15 47 + 200 3 4 8 7 4 42 15 47 3 47 + 200 3 0 1 10 6 30 12 30 15 37 + 200 3 0 10 9 6 30 15 37 3 37 + 200 3 2 6 10 14 20 14 27 0 27 + 200 3 2 10 1 14 20 0 27 5 21 + 200 3 11 6 7 0 9 16 9 14 0 + 200 3 11 7 8 0 9 14 0 2 0 + 200 3 11 9 10 0 9 3 19 13 19 + 200 3 11 10 6 0 9 13 19 16 9 + 200 3 5 3 11 25 23 14 20 14 27 + 200 3 5 11 8 25 23 14 27 25 27 + 200 3 3 0 9 14 20 5 21 0 27 + 200 3 3 9 11 14 20 0 27 14 27 \ No newline at end of file diff --git a/data/base/components/weapons/trlmsl.pie b/data/base/components/weapons/trlmsl.pie index c1d661dd4..e787d6b0f 100644 --- a/data/base/components/weapons/trlmsl.pie +++ b/data/base/components/weapons/trlmsl.pie @@ -32,25 +32,40 @@ POINTS 28 3 18 8 5 15 7 3 11 5 -POLYGONS 34 - 200 4 3 2 1 0 115 229 104 234 104 224 108 229 +POLYGONS 49 + 200 3 3 2 1 115 229 104 234 104 224 + 200 3 3 1 0 115 229 104 224 108 229 200 3 1 3 0 104 224 115 229 108 229 - 200 4 4 4 2 3 110 224 110 224 115 234 110 234 - 200 4 4 4 1 2 110 224 110 224 115 234 104 234 - 200 4 4 4 3 1 110 224 110 224 115 234 115 234 - 200 4 4 4 4 4 110 224 110 224 110 224 110 224 - 200 4 4 4 4 4 110 224 110 224 110 224 110 224 - 200 4 8 7 6 5 14 3 14 16 2 16 2 3 - 200 4 5 10 9 8 16 16 12 6 4 6 0 16 - 200 4 7 12 11 6 15 14 13 5 3 5 1 14 - 200 4 14 11 12 13 18 47 14 38 4 38 0 47 - 200 4 16 8 9 15 9 27 9 20 21 21 25 27 - 200 4 13 12 7 16 0 27 2 23 8 23 9 27 - 200 4 10 5 18 17 21 21 9 20 9 27 25 27 + 200 3 4 4 2 110 224 110 224 115 234 + 200 3 4 2 3 110 224 115 234 110 234 + 200 3 4 4 1 110 224 110 224 115 234 + 200 3 4 1 2 110 224 115 234 104 234 + 200 3 4 4 3 110 224 110 224 115 234 + 200 3 4 3 1 110 224 115 234 115 234 + 200 3 4 4 4 110 224 110 224 110 224 + 200 3 4 4 4 110 224 110 224 110 224 + 200 3 4 4 4 110 224 110 224 110 224 + 200 3 4 4 4 110 224 110 224 110 224 + 200 3 8 7 6 14 3 14 16 2 16 + 200 3 8 6 5 14 3 2 16 2 3 + 200 3 5 10 9 16 16 12 6 4 6 + 200 3 5 9 8 16 16 4 6 0 16 + 200 3 7 12 11 15 14 13 5 3 5 + 200 3 7 11 6 15 14 3 5 1 14 + 200 3 14 11 12 18 47 14 38 4 38 + 200 3 14 12 13 18 47 4 38 0 47 + 200 3 16 8 9 9 27 9 20 21 21 + 200 3 16 9 15 9 27 21 21 25 27 + 200 3 13 12 7 0 27 2 23 8 23 + 200 3 13 7 16 0 27 8 23 9 27 + 200 3 10 5 18 21 21 9 20 9 27 + 200 3 10 18 17 21 21 9 27 25 27 200 3 5 6 18 9 20 8 23 9 27 200 3 8 16 7 9 20 9 27 8 23 - 200 4 6 11 14 18 8 23 2 23 0 27 9 27 - 200 4 10 17 15 9 13 30 18 37 0 37 5 30 + 200 3 6 11 14 8 23 2 23 0 27 + 200 3 6 14 18 8 23 0 27 9 27 + 200 3 10 17 15 13 30 18 37 0 37 + 200 3 10 15 9 13 30 0 37 5 30 200 3 21 20 19 111 208 111 216 106 210 200 3 19 20 22 106 210 111 216 104 216 200 3 22 20 23 104 216 111 216 106 222 @@ -66,4 +81,4 @@ POLYGONS 34 200 3 26 20 25 104 216 111 216 106 210 200 3 25 20 21 106 210 111 216 111 208 200 3 24 20 27 111 224 111 216 106 222 - 200 3 27 20 26 106 222 111 216 104 216 + 200 3 27 20 26 106 222 111 216 104 216 \ No newline at end of file diff --git a/data/base/components/weapons/trlrckt.pie b/data/base/components/weapons/trlrckt.pie index 32088c098..07a5ea32f 100644 --- a/data/base/components/weapons/trlrckt.pie +++ b/data/base/components/weapons/trlrckt.pie @@ -16,13 +16,22 @@ POINTS 12 4 15 7 4 15 -7 -4 15 -7 -POLYGONS 9 - 200 4 3 2 1 0 0 48 4 43 14 43 18 48 - 200 4 7 6 5 4 4 43 14 43 18 48 0 48 - 200 4 0 1 7 4 25 27 25 24 0 24 0 27 - 200 4 2 9 8 1 2 32 6 28 12 28 16 32 - 200 4 11 10 6 7 6 28 12 28 16 32 2 32 - 200 4 10 11 8 9 5 16 11 16 11 3 5 3 - 200 4 11 7 1 8 4 20 0 23 25 23 21 20 - 200 4 6 10 9 2 3 25 5 20 20 20 22 25 - 200 4 6 2 3 5 3 25 22 25 25 27 0 27 \ No newline at end of file +POLYGONS 18 + 200 3 3 2 1 0 48 4 43 14 43 + 200 3 3 1 0 0 48 14 43 18 48 + 200 3 7 6 5 4 43 14 43 18 48 + 200 3 7 5 4 4 43 18 48 0 48 + 200 3 0 1 7 25 27 25 24 0 24 + 200 3 0 7 4 25 27 0 24 0 27 + 200 3 2 9 8 2 32 6 28 12 28 + 200 3 2 8 1 2 32 12 28 16 32 + 200 3 11 10 6 6 28 12 28 16 32 + 200 3 11 6 7 6 28 16 32 2 32 + 200 3 10 11 8 5 16 11 16 11 3 + 200 3 10 8 9 5 16 11 3 5 3 + 200 3 11 7 1 4 20 0 23 25 23 + 200 3 11 1 8 4 20 25 23 21 20 + 200 3 6 10 9 3 25 5 20 20 20 + 200 3 6 9 2 3 25 20 20 22 25 + 200 3 6 2 3 3 25 22 25 25 27 + 200 3 6 3 5 3 25 25 27 0 27 \ No newline at end of file diff --git a/data/base/components/weapons/trlrcktp.pie b/data/base/components/weapons/trlrcktp.pie index 3f90d87b3..a7133162f 100644 --- a/data/base/components/weapons/trlrcktp.pie +++ b/data/base/components/weapons/trlrcktp.pie @@ -22,19 +22,28 @@ POINTS 18 10 5 -5 12 5 5 9 17 0 -POLYGONS 15 - 200 4 3 2 1 0 12 20 25 20 25 28 12 28 - 200 4 2 5 4 1 4 38 13 38 13 47 4 47 - 200 4 9 8 7 6 5 28 14 28 14 37 5 37 - 200 4 8 3 0 7 0 20 12 20 12 28 0 28 - 200 4 5 11 10 4 24 20 13 20 13 28 25 28 - 200 4 11 9 6 10 13 20 1 20 0 28 13 28 +POLYGONS 24 + 200 3 3 2 1 12 20 25 20 25 28 + 200 3 3 1 0 12 20 25 28 12 28 + 200 3 2 5 4 4 38 13 38 13 47 + 200 3 2 4 1 4 38 13 47 4 47 + 200 3 9 8 7 5 28 14 28 14 37 + 200 3 9 7 6 5 28 14 37 5 37 + 200 3 8 3 0 0 20 12 20 12 28 + 200 3 8 0 7 0 20 12 28 0 28 + 200 3 5 11 10 24 20 13 20 13 28 + 200 3 5 10 4 24 20 13 28 25 28 + 200 3 11 9 6 13 20 1 20 0 28 + 200 3 11 6 10 13 20 0 28 13 28 200 3 12 13 14 115 234 110 224 104 234 200 3 14 13 12 104 234 110 224 115 234 200 3 15 16 17 104 234 115 234 110 224 200 3 17 16 15 110 224 115 234 104 234 - 200 4 1 6 7 0 35 159 27 176 35 176 40 168 + 200 3 1 6 7 35 159 27 176 35 176 + 200 3 1 7 0 35 159 35 176 40 168 200 3 1 4 6 35 159 27 159 27 176 200 3 10 6 4 22 168 27 176 27 159 - 200 4 11 3 8 9 40 168 22 168 27 159 36 159 - 200 4 5 2 3 11 36 176 27 176 22 168 40 168 \ No newline at end of file + 200 3 11 3 8 40 168 22 168 27 159 + 200 3 11 8 9 40 168 27 159 36 159 + 200 3 5 2 3 36 176 27 176 22 168 + 200 3 5 3 11 36 176 22 168 40 168 \ No newline at end of file diff --git a/data/base/components/weapons/trlsnsr1.pie b/data/base/components/weapons/trlsnsr1.pie index dfb3d9633..8b535789c 100644 --- a/data/base/components/weapons/trlsnsr1.pie +++ b/data/base/components/weapons/trlsnsr1.pie @@ -16,12 +16,20 @@ POINTS 12 14 6 0 9 0 -15 7 6 -13 -POLYGONS 8 - 200 4 3 2 1 0 24 21 13 21 13 27 24 27 - 200 4 2 5 4 1 13 21 1 21 1 27 13 27 - 200 4 9 8 7 6 12 21 24 21 24 27 12 27 - 200 4 8 3 0 7 5 39 13 39 13 46 5 46 - 200 4 5 11 10 4 5 29 13 29 13 36 5 36 - 200 4 11 9 6 10 1 21 12 21 12 27 1 27 - 200 4 2 9 11 5 23 168 39 168 35 175 27 175 - 200 4 3 8 9 2 27 160 35 160 39 168 23 168 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 24 21 13 21 13 27 + 200 3 3 1 0 24 21 13 27 24 27 + 200 3 2 5 4 13 21 1 21 1 27 + 200 3 2 4 1 13 21 1 27 13 27 + 200 3 9 8 7 12 21 24 21 24 27 + 200 3 9 7 6 12 21 24 27 12 27 + 200 3 8 3 0 5 39 13 39 13 46 + 200 3 8 0 7 5 39 13 46 5 46 + 200 3 5 11 10 5 29 13 29 13 36 + 200 3 5 10 4 5 29 13 36 5 36 + 200 3 11 9 6 1 21 12 21 12 27 + 200 3 11 6 10 1 21 12 27 1 27 + 200 3 2 9 11 23 168 39 168 35 175 + 200 3 2 11 5 23 168 35 175 27 175 + 200 3 3 8 9 27 160 35 160 39 168 + 200 3 3 9 2 27 160 39 168 23 168 \ No newline at end of file diff --git a/data/base/components/weapons/trlvtlhe.pie b/data/base/components/weapons/trlvtlhe.pie index e784c9354..a1e81f921 100644 --- a/data/base/components/weapons/trlvtlhe.pie +++ b/data/base/components/weapons/trlvtlhe.pie @@ -20,16 +20,28 @@ POINTS 16 29 8 16 30 0 19 17 0 23 -POLYGONS 12 - 200 4 3 2 1 0 22 176 22 164 0 164 0 176 - 200 4 7 6 5 4 0 208 16 208 16 192 0 192 - 200 4 4 5 1 2 22 152 0 152 0 164 22 164 - 200 4 7 4 2 3 26 114 26 102 0 102 0 114 - 200 4 6 7 3 0 22 102 0 102 0 76 22 76 - 200 4 5 6 0 1 131 114 120 114 120 126 131 126 - 200 4 11 10 9 8 0 176 0 164 22 164 22 176 - 200 4 15 14 13 12 16 208 0 208 0 192 16 192 - 200 4 12 13 9 10 0 152 22 152 22 164 0 164 - 200 4 15 12 10 11 120 114 131 114 131 126 120 126 - 200 4 14 15 11 8 0 102 22 102 22 76 0 76 - 200 4 13 14 8 9 26 102 26 114 0 114 0 102 +POLYGONS 24 + 200 3 3 2 1 22 176 22 164 0 164 + 200 3 3 1 0 22 176 0 164 0 176 + 200 3 7 6 5 0 208 16 208 16 192 + 200 3 7 5 4 0 208 16 192 0 192 + 200 3 4 5 1 22 152 0 152 0 164 + 200 3 4 1 2 22 152 0 164 22 164 + 200 3 7 4 2 26 114 26 102 0 102 + 200 3 7 2 3 26 114 0 102 0 114 + 200 3 6 7 3 22 102 0 102 0 76 + 200 3 6 3 0 22 102 0 76 22 76 + 200 3 5 6 0 131 114 120 114 120 126 + 200 3 5 0 1 131 114 120 126 131 126 + 200 3 11 10 9 0 176 0 164 22 164 + 200 3 11 9 8 0 176 22 164 22 176 + 200 3 15 14 13 16 208 0 208 0 192 + 200 3 15 13 12 16 208 0 192 16 192 + 200 3 12 13 9 0 152 22 152 22 164 + 200 3 12 9 10 0 152 22 164 0 164 + 200 3 15 12 10 120 114 131 114 131 126 + 200 3 15 10 11 120 114 131 126 120 126 + 200 3 14 15 11 0 102 22 102 22 76 + 200 3 14 11 8 0 102 22 76 0 76 + 200 3 13 14 8 26 102 26 114 0 114 + 200 3 13 8 9 26 102 0 114 0 102 \ No newline at end of file diff --git a/data/base/components/weapons/trlvtlin.pie b/data/base/components/weapons/trlvtlin.pie index 976d8a493..b9df21e28 100644 --- a/data/base/components/weapons/trlvtlin.pie +++ b/data/base/components/weapons/trlvtlin.pie @@ -26,4 +26,4 @@ POLYGONS 12 200 3 7 5 9 128 9 128 0 143 6 200 3 8 7 9 128 0 128 9 143 4 200 3 5 8 9 128 0 128 9 143 5 - 200 3 6 7 8 143 4 128 0 128 9 + 200 3 6 7 8 143 4 128 0 128 9 \ No newline at end of file diff --git a/data/base/components/weapons/trmacan.pie b/data/base/components/weapons/trmacan.pie index 101469c1d..c61547d8f 100644 --- a/data/base/components/weapons/trmacan.pie +++ b/data/base/components/weapons/trmacan.pie @@ -27,23 +27,36 @@ POINTS 23 -13 13 5 -10 13 -11 -15 0 -3 -POLYGONS 19 +POLYGONS 32 200 3 7 19 22 0 40 0 39 0 41 - 200 4 19 20 21 4 13 27 16 20 5 20 3 27 - 200 4 4 22 19 2 2 47 0 41 0 39 17 39 + 200 3 19 20 21 13 27 16 20 5 20 + 200 3 19 21 4 13 27 5 20 3 27 + 200 3 4 22 19 2 47 0 41 0 39 + 200 3 4 19 2 2 47 0 39 17 39 200 3 4 2 3 2 47 17 39 18 45 - 200 4 4 3 17 5 16 37 0 35 1 31 17 29 - 200 4 5 13 4 21 5 21 0 27 3 27 5 20 - 200 4 1 2 7 6 16 40 17 45 0 47 0 38 - 200 4 12 18 20 19 25 27 24 20 16 20 13 27 - 200 4 1 6 5 16 2 208 16 205 15 193 1 196 + 200 3 4 3 17 16 37 0 35 1 31 + 200 3 4 17 5 16 37 1 31 17 29 + 200 3 5 13 4 5 21 0 27 3 27 + 200 3 5 4 21 5 21 3 27 5 20 + 200 3 1 2 7 16 40 17 45 0 47 + 200 3 1 7 6 16 40 0 47 0 38 + 200 3 12 18 20 25 27 24 20 16 20 + 200 3 12 20 19 25 27 16 20 13 27 + 200 3 1 6 5 2 208 16 205 15 193 + 200 3 1 5 16 2 208 15 193 1 196 200 3 14 5 18 24 20 5 21 24 20 - 200 4 14 10 11 5 16 19 2 19 4 0 13 0 - 200 4 13 5 11 15 2 37 4 29 14 29 14 37 + 200 3 14 10 11 16 19 2 19 4 0 + 200 3 14 11 5 16 19 4 0 13 0 + 200 3 13 5 11 2 37 4 29 14 29 + 200 3 13 11 15 2 37 14 29 14 37 200 3 0 16 5 1 196 1 196 15 193 200 3 0 5 17 2 30 17 29 1 31 - 200 4 11 10 9 8 5 21 24 20 25 27 0 27 + 200 3 11 10 9 5 21 24 20 25 27 + 200 3 11 9 8 5 21 25 27 0 27 200 3 8 15 11 16 37 14 37 14 29 - 200 4 13 8 9 12 2 19 14 19 16 0 0 0 - 200 4 3 2 1 0 5 46 17 46 18 40 8 41 - 200 4 10 14 12 9 2 38 16 38 18 47 0 47 \ No newline at end of file + 200 3 13 8 9 2 19 14 19 16 0 + 200 3 13 9 12 2 19 16 0 0 0 + 200 3 3 2 1 5 46 17 46 18 40 + 200 3 3 1 0 5 46 18 40 8 41 + 200 3 10 14 12 2 38 16 38 18 47 + 200 3 10 12 9 2 38 18 47 0 47 \ No newline at end of file diff --git a/data/base/components/weapons/trmair.pie b/data/base/components/weapons/trmair.pie index 58492162b..726a29708 100644 --- a/data/base/components/weapons/trmair.pie +++ b/data/base/components/weapons/trmair.pie @@ -14,12 +14,18 @@ POINTS 10 -12 13 -10 -12 18 11 -12 18 19 -POLYGONS 8 - 200 4 3 2 1 0 0 27 4 22 13 20 25 27 +POLYGONS 14 + 200 3 3 2 1 0 27 4 22 13 20 + 200 3 3 1 0 0 27 13 20 25 27 200 3 0 1 4 25 27 13 20 21 20 - 200 4 8 7 6 5 13 20 4 22 0 27 25 27 + 200 3 8 7 6 13 20 4 22 0 27 + 200 3 8 6 5 13 20 0 27 25 27 200 3 8 5 9 13 20 25 27 21 20 - 200 4 6 7 2 3 175 17 175 6 190 6 190 17 - 200 4 7 8 1 2 175 6 175 0 190 0 190 6 - 200 4 9 5 0 4 0 38 0 47 18 47 18 38 - 200 4 8 9 4 1 0 19 0 0 16 0 16 19 \ No newline at end of file + 200 3 6 7 2 175 17 175 6 190 6 + 200 3 6 2 3 175 17 190 6 190 17 + 200 3 7 8 1 175 6 175 0 190 0 + 200 3 7 1 2 175 6 190 0 190 6 + 200 3 9 5 0 0 38 0 47 18 47 + 200 3 9 0 4 0 38 18 47 18 38 + 200 3 8 9 4 0 19 0 0 16 0 + 200 3 8 4 1 0 19 16 0 16 19 \ No newline at end of file diff --git a/data/base/components/weapons/trmair2.pie b/data/base/components/weapons/trmair2.pie index 9937ec4cb..a8927635c 100644 --- a/data/base/components/weapons/trmair2.pie +++ b/data/base/components/weapons/trmair2.pie @@ -1,88 +1,88 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-17-droid-weapons.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 32 - -12 1 -7 - -12 12 -3 - 11 12 1 - 11 0 -19 - 14 0 15 - 13 2 2 - 12 9 18 - 16 30 23 - 17 5 15 - 16 4 17 - 11 6 -3 - -12 6 -3 - 11 1 -7 - 11 3 -14 - -12 3 -14 - -12 12 1 - -12 12 10 - 11 12 -3 - -15 0 18 - -15 0 -1 - 14 0 -1 - -12 0 -19 - 14 0 18 - -12 12 20 - 12 12 20 - 12 12 5 - 22 11 3 - 19 9 16 - 21 1 14 - 24 4 2 - 14 4 16 - 12 12 10 -POLYGONS 49 - 4200 3 12 10 13 8 1 8 1 174 217 171 218 175 221 - 4200 3 13 10 17 8 1 8 1 175 221 171 218 170 221 - 4200 3 0 14 11 8 1 8 1 174 217 175 221 171 218 - 4200 3 11 14 1 8 1 8 1 171 218 175 221 170 221 - 200 3 2 10 15 35 176 42 176 35 191 - 200 3 15 10 11 35 191 42 176 42 191 - 200 3 0 11 12 45 191 42 191 45 176 - 200 3 12 11 10 45 176 42 191 42 176 - 4200 3 13 0 12 8 1 16 1 129 204 143 201 129 201 - 4200 3 0 13 14 8 1 16 1 143 201 129 204 143 204 - 4200 3 1 14 19 8 1 25 1 9 20 3 24 10 27 - 4200 3 19 14 21 8 1 25 1 10 27 3 24 0 27 - 4200 3 1 19 15 8 1 25 1 9 20 10 27 13 20 - 4200 3 15 19 16 8 1 25 1 13 20 10 27 19 20 - 4200 3 13 3 14 8 1 16 1 129 204 129 207 143 204 - 4200 3 14 3 21 8 1 16 1 143 204 129 207 143 207 - 4200 3 10 2 17 8 1 8 1 171 218 168 218 170 221 - 4200 3 1 15 11 8 1 8 1 170 221 168 218 171 218 - 200 3 15 16 2 35 191 30 191 35 176 - 200 3 2 16 31 35 176 30 191 30 176 - 4200 3 17 20 13 8 1 25 1 9 20 10 27 3 24 - 4200 3 13 20 3 8 1 25 1 3 24 10 27 0 27 - 4200 3 17 2 20 8 1 25 1 9 20 13 20 10 27 - 4200 3 20 2 31 8 1 25 1 10 27 13 20 19 20 - 4200 3 18 23 19 8 1 25 1 23 27 24 20 10 27 - 4200 3 3 20 21 8 1 16 1 26 174 24 168 35 174 - 4200 3 18 19 22 8 1 16 1 37 160 37 168 24 160 - 4200 3 22 19 20 8 1 16 1 24 160 37 168 24 168 - 4200 3 19 21 20 8 1 16 1 37 168 35 174 24 168 - 4200 3 20 24 22 8 1 25 1 10 27 24 20 23 27 - 4200 3 22 24 18 8 1 18 1 0 47 2 38 17 47 - 4200 3 18 24 23 8 1 18 1 17 47 2 38 16 38 - 4200 3 4 5 28 8 1 16 1 10 131 0 131 9 137 - 4200 3 28 5 29 8 1 16 1 9 137 0 131 0 139 - 4200 3 25 26 5 8 1 18 1 4 28 13 30 4 37 - 4200 3 5 26 29 8 1 18 1 4 37 13 30 13 36 - 4200 3 6 27 25 8 1 16 1 10 131 9 137 0 131 - 4200 3 25 27 26 8 1 16 1 0 131 9 137 0 139 - 4200 3 6 4 27 8 1 16 1 4 14 4 3 11 12 - 4200 3 27 4 28 8 1 16 1 11 12 4 3 11 3 - 4200 3 28 29 27 8 1 15 1 6 120 5 126 0 120 - 4200 3 27 29 26 8 1 15 1 0 120 5 126 0 126 - 200 3 7 8 30 97 72 96 61 101 61 - 200 3 7 30 9 97 72 96 61 99 61 - 200 3 7 9 8 97 72 99 61 101 61 - 4200 3 31 23 24 8 1 13 1 12 211 8 223 8 211 - 4200 3 20 31 24 8 1 25 1 10 27 19 20 24 20 - 4200 3 16 23 31 8 1 13 1 12 223 8 223 12 211 - 4200 3 16 19 23 8 1 25 1 19 20 10 27 24 20 +PIE 2 +TYPE 200 +TEXTURE 0 page-17-droid-weapons.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 32 + -12 1 -7 + -12 12 -3 + 11 12 1 + 11 0 -19 + 14 0 15 + 13 2 2 + 12 9 18 + 16 30 23 + 17 5 15 + 16 4 17 + 11 6 -3 + -12 6 -3 + 11 1 -7 + 11 3 -14 + -12 3 -14 + -12 12 1 + -12 12 10 + 11 12 -3 + -15 0 18 + -15 0 -1 + 14 0 -1 + -12 0 -19 + 14 0 18 + -12 12 20 + 12 12 20 + 12 12 5 + 22 11 3 + 19 9 16 + 21 1 14 + 24 4 2 + 14 4 16 + 12 12 10 +POLYGONS 49 + 4200 3 12 10 13 8 1 8 1 174 217 171 218 175 221 + 4200 3 13 10 17 8 1 8 1 175 221 171 218 170 221 + 4200 3 0 14 11 8 1 8 1 174 217 175 221 171 218 + 4200 3 11 14 1 8 1 8 1 171 218 175 221 170 221 + 200 3 2 10 15 35 176 42 176 35 191 + 200 3 15 10 11 35 191 42 176 42 191 + 200 3 0 11 12 45 191 42 191 45 176 + 200 3 12 11 10 45 176 42 191 42 176 + 4200 3 13 0 12 8 1 16 1 129 204 143 201 129 201 + 4200 3 0 13 14 8 1 16 1 143 201 129 204 143 204 + 4200 3 1 14 19 8 1 25 1 9 20 3 24 10 27 + 4200 3 19 14 21 8 1 25 1 10 27 3 24 0 27 + 4200 3 1 19 15 8 1 25 1 9 20 10 27 13 20 + 4200 3 15 19 16 8 1 25 1 13 20 10 27 19 20 + 4200 3 13 3 14 8 1 16 1 129 204 129 207 143 204 + 4200 3 14 3 21 8 1 16 1 143 204 129 207 143 207 + 4200 3 10 2 17 8 1 8 1 171 218 168 218 170 221 + 4200 3 1 15 11 8 1 8 1 170 221 168 218 171 218 + 200 3 15 16 2 35 191 30 191 35 176 + 200 3 2 16 31 35 176 30 191 30 176 + 4200 3 17 20 13 8 1 25 1 9 20 10 27 3 24 + 4200 3 13 20 3 8 1 25 1 3 24 10 27 0 27 + 4200 3 17 2 20 8 1 25 1 9 20 13 20 10 27 + 4200 3 20 2 31 8 1 25 1 10 27 13 20 19 20 + 4200 3 18 23 19 8 1 25 1 23 27 24 20 10 27 + 4200 3 3 20 21 8 1 16 1 26 174 24 168 35 174 + 4200 3 18 19 22 8 1 16 1 37 160 37 168 24 160 + 4200 3 22 19 20 8 1 16 1 24 160 37 168 24 168 + 4200 3 19 21 20 8 1 16 1 37 168 35 174 24 168 + 4200 3 20 24 22 8 1 25 1 10 27 24 20 23 27 + 4200 3 22 24 18 8 1 18 1 0 47 2 38 17 47 + 4200 3 18 24 23 8 1 18 1 17 47 2 38 16 38 + 4200 3 4 5 28 8 1 16 1 10 131 0 131 9 137 + 4200 3 28 5 29 8 1 16 1 9 137 0 131 0 139 + 4200 3 25 26 5 8 1 18 1 4 28 13 30 4 37 + 4200 3 5 26 29 8 1 18 1 4 37 13 30 13 36 + 4200 3 6 27 25 8 1 16 1 10 131 9 137 0 131 + 4200 3 25 27 26 8 1 16 1 0 131 9 137 0 139 + 4200 3 6 4 27 8 1 16 1 4 14 4 3 11 12 + 4200 3 27 4 28 8 1 16 1 11 12 4 3 11 3 + 4200 3 28 29 27 8 1 15 1 6 120 5 126 0 120 + 4200 3 27 29 26 8 1 15 1 0 120 5 126 0 126 + 200 3 7 8 30 97 72 96 61 101 61 + 200 3 7 30 9 97 72 96 61 99 61 + 200 3 7 9 8 97 72 99 61 101 61 + 4200 3 31 23 24 8 1 13 1 12 211 8 223 8 211 + 4200 3 20 31 24 8 1 25 1 10 27 19 20 24 20 + 4200 3 16 23 31 8 1 13 1 12 223 8 223 12 211 + 4200 3 16 19 23 8 1 25 1 19 20 10 27 24 20 \ No newline at end of file diff --git a/data/base/components/weapons/trmair3.pie b/data/base/components/weapons/trmair3.pie index a81c18581..4e3068911 100644 --- a/data/base/components/weapons/trmair3.pie +++ b/data/base/components/weapons/trmair3.pie @@ -1,39 +1,39 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-17-droid-weapons.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 12 - -10 13 6 - -10 0 6 - -10 13 -6 - 0 0 12 - 10 0 6 - 10 0 -6 - 10 13 6 - 10 13 -6 - -10 0 -6 - 0 0 -12 - 0 13 -12 - 0 13 12 -POLYGONS 20 - 4200 3 0 2 1 8 1 16 1 129 192 143 192 129 207 - 4200 3 1 2 8 8 1 16 1 129 207 143 192 143 207 - 4200 3 11 0 3 8 1 13 1 6 241 12 241 6 254 - 4200 3 3 0 1 8 1 13 1 6 254 12 241 12 254 - 4200 3 6 11 4 8 1 13 1 0 241 6 241 0 254 - 4200 3 4 11 3 8 1 13 1 0 254 6 241 6 254 - 4200 3 7 6 5 8 1 16 1 129 192 143 192 129 207 - 4200 3 5 6 4 8 1 16 1 129 207 143 192 143 207 - 4200 3 10 7 9 8 1 16 1 8 0 15 0 8 18 - 4200 3 9 7 5 8 1 16 1 8 18 15 0 15 18 - 4200 3 2 10 8 8 1 16 1 0 0 8 0 0 18 - 4200 3 8 10 9 8 1 16 1 0 18 8 0 8 18 - 4200 3 8 9 3 8 1 11 1 34 104 36 108 26 108 - 4200 3 8 3 1 8 1 11 1 34 104 26 108 28 104 - 4200 3 3 9 4 8 1 11 1 26 108 36 108 28 112 - 4200 3 4 9 5 8 1 11 1 28 112 36 108 34 112 - 4200 3 2 0 10 8 1 11 1 34 104 28 104 36 108 - 4200 3 0 11 10 8 1 11 1 28 104 26 108 36 108 - 4200 3 6 7 11 8 1 11 1 28 112 34 112 26 108 - 4200 3 7 10 11 8 1 11 1 34 112 36 108 26 108 +PIE 2 +TYPE 200 +TEXTURE 0 page-17-droid-weapons.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -10 13 6 + -10 0 6 + -10 13 -6 + 0 0 12 + 10 0 6 + 10 0 -6 + 10 13 6 + 10 13 -6 + -10 0 -6 + 0 0 -12 + 0 13 -12 + 0 13 12 +POLYGONS 20 + 4200 3 0 2 1 8 1 16 1 129 192 143 192 129 207 + 4200 3 1 2 8 8 1 16 1 129 207 143 192 143 207 + 4200 3 11 0 3 8 1 13 1 6 241 12 241 6 254 + 4200 3 3 0 1 8 1 13 1 6 254 12 241 12 254 + 4200 3 6 11 4 8 1 13 1 0 241 6 241 0 254 + 4200 3 4 11 3 8 1 13 1 0 254 6 241 6 254 + 4200 3 7 6 5 8 1 16 1 129 192 143 192 129 207 + 4200 3 5 6 4 8 1 16 1 129 207 143 192 143 207 + 4200 3 10 7 9 8 1 16 1 8 0 15 0 8 18 + 4200 3 9 7 5 8 1 16 1 8 18 15 0 15 18 + 4200 3 2 10 8 8 1 16 1 0 0 8 0 0 18 + 4200 3 8 10 9 8 1 16 1 0 18 8 0 8 18 + 4200 3 8 9 3 8 1 11 1 34 104 36 108 26 108 + 4200 3 8 3 1 8 1 11 1 34 104 26 108 28 104 + 4200 3 3 9 4 8 1 11 1 26 108 36 108 28 112 + 4200 3 4 9 5 8 1 11 1 28 112 36 108 34 112 + 4200 3 2 0 10 8 1 11 1 34 104 28 104 36 108 + 4200 3 0 11 10 8 1 11 1 28 104 26 108 36 108 + 4200 3 6 7 11 8 1 11 1 28 112 34 112 26 108 + 4200 3 7 10 11 8 1 11 1 34 112 36 108 26 108 \ No newline at end of file diff --git a/data/base/components/weapons/trmcan.pie b/data/base/components/weapons/trmcan.pie index 5a2f1ec5d..ae7272d50 100644 --- a/data/base/components/weapons/trmcan.pie +++ b/data/base/components/weapons/trmcan.pie @@ -12,10 +12,16 @@ POINTS 8 16 0 18 -16 0 18 -12 0 -22 -POLYGONS 6 - 200 4 3 2 1 0 16 19 2 19 4 0 13 0 - 200 4 1 2 5 4 5 21 24 20 25 27 0 27 - 200 4 7 4 5 6 2 19 14 19 16 0 0 0 - 200 4 0 1 4 7 4 29 14 29 16 37 2 37 - 200 4 2 3 6 5 2 38 16 38 18 47 0 47 - 200 4 3 0 7 6 24 20 5 21 0 27 25 27 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 16 19 2 19 4 0 + 200 3 3 1 0 16 19 4 0 13 0 + 200 3 1 2 5 5 21 24 20 25 27 + 200 3 1 5 4 5 21 25 27 0 27 + 200 3 7 4 5 2 19 14 19 16 0 + 200 3 7 5 6 2 19 16 0 0 0 + 200 3 0 1 4 4 29 14 29 16 37 + 200 3 0 4 7 4 29 16 37 2 37 + 200 3 2 3 6 2 38 16 38 18 47 + 200 3 2 6 5 2 38 18 47 0 47 + 200 3 3 0 7 24 20 5 21 0 27 + 200 3 3 7 6 24 20 0 27 25 27 \ No newline at end of file diff --git a/data/base/components/weapons/trmcon.pie b/data/base/components/weapons/trmcon.pie index 5fa6f1981..9b4066b51 100644 --- a/data/base/components/weapons/trmcon.pie +++ b/data/base/components/weapons/trmcon.pie @@ -20,19 +20,30 @@ POINTS 16 21 19 -18 21 19 36 17 19 36 -POLYGONS 15 - 200 4 6 3 15 7 137 73 137 90 147 102 147 73 +POLYGONS 26 + 200 3 6 3 15 137 73 137 90 147 102 + 200 3 6 15 7 137 73 147 102 147 73 200 3 9 15 3 142 102 147 102 137 90 - 200 4 3 6 7 15 137 123 137 105 147 105 147 135 + 200 3 3 6 7 137 123 137 105 147 105 + 200 3 3 7 15 137 123 147 105 147 135 200 3 9 3 15 142 135 137 123 147 135 - 200 4 4 10 0 5 147 73 147 102 137 90 137 73 + 200 3 4 10 0 147 73 147 102 137 90 + 200 3 4 0 5 147 73 137 90 137 73 200 3 0 10 8 137 90 147 102 142 102 - 200 4 4 5 0 10 147 105 137 105 137 123 147 135 + 200 3 4 5 0 147 105 137 105 137 123 + 200 3 4 0 10 147 105 137 123 147 135 200 3 0 8 10 137 123 142 135 147 135 - 200 4 3 2 1 0 106 247 106 234 121 234 121 247 - 200 4 7 6 5 4 85 52 85 62 65 62 65 52 - 200 4 15 14 13 7 106 255 105 255 105 232 106 234 - 200 4 7 13 12 4 106 234 105 232 122 232 121 234 - 200 4 4 12 11 10 121 234 122 232 122 255 121 255 - 200 4 3 9 8 0 65 61 65 52 85 52 85 61 - 200 4 9 3 0 8 106 255 106 247 121 247 121 255 \ No newline at end of file + 200 3 3 2 1 106 247 106 234 121 234 + 200 3 3 1 0 106 247 121 234 121 247 + 200 3 7 6 5 85 52 85 62 65 62 + 200 3 7 5 4 85 52 65 62 65 52 + 200 3 15 14 13 106 255 105 255 105 232 + 200 3 15 13 7 106 255 105 232 106 234 + 200 3 7 13 12 106 234 105 232 122 232 + 200 3 7 12 4 106 234 122 232 121 234 + 200 3 4 12 11 121 234 122 232 122 255 + 200 3 4 11 10 121 234 122 255 121 255 + 200 3 3 9 8 65 61 65 52 85 52 + 200 3 3 8 0 65 61 85 52 85 61 + 200 3 9 3 0 106 255 106 247 121 247 + 200 3 9 0 8 106 255 121 247 121 255 \ No newline at end of file diff --git a/data/base/components/weapons/trmecm1.pie b/data/base/components/weapons/trmecm1.pie index 976b68c7b..87c454c3f 100644 --- a/data/base/components/weapons/trmecm1.pie +++ b/data/base/components/weapons/trmecm1.pie @@ -16,20 +16,36 @@ POINTS 12 17 6 0 9 0 -15 8 6 -14 -POLYGONS 16 - 200 4 3 2 1 0 24 20 13 20 13 28 25 28 - 200 4 3 2 1 0 24 21 13 21 13 27 24 27 - 200 4 8 3 0 7 5 39 13 39 13 46 5 46 - 200 4 8 3 0 7 4 38 13 38 13 47 4 47 - 200 4 11 9 6 10 0 20 12 20 12 28 0 28 - 200 4 11 9 6 10 1 21 12 21 12 27 1 27 - 200 4 9 8 7 6 12 21 24 21 24 27 12 27 - 200 4 9 8 7 6 12 20 25 20 25 28 12 28 - 200 4 5 11 10 4 5 28 14 28 14 37 5 37 - 200 4 5 11 10 4 5 29 13 29 13 36 5 36 - 200 4 2 5 4 1 13 21 1 21 1 27 13 27 - 200 4 2 5 4 1 13 20 1 20 0 28 13 28 - 200 4 2 9 11 5 40 168 22 168 27 159 36 159 - 200 4 3 8 9 2 36 176 27 176 22 168 40 168 - 200 4 2 9 11 5 23 168 39 168 35 175 27 175 - 200 4 3 8 9 2 27 160 35 160 39 168 23 168 \ No newline at end of file +POLYGONS 32 + 200 3 3 2 1 24 20 13 20 13 28 + 200 3 3 1 0 24 20 13 28 25 28 + 200 3 3 2 1 24 21 13 21 13 27 + 200 3 3 1 0 24 21 13 27 24 27 + 200 3 8 3 0 5 39 13 39 13 46 + 200 3 8 0 7 5 39 13 46 5 46 + 200 3 8 3 0 4 38 13 38 13 47 + 200 3 8 0 7 4 38 13 47 4 47 + 200 3 11 9 6 0 20 12 20 12 28 + 200 3 11 6 10 0 20 12 28 0 28 + 200 3 11 9 6 1 21 12 21 12 27 + 200 3 11 6 10 1 21 12 27 1 27 + 200 3 9 8 7 12 21 24 21 24 27 + 200 3 9 7 6 12 21 24 27 12 27 + 200 3 9 8 7 12 20 25 20 25 28 + 200 3 9 7 6 12 20 25 28 12 28 + 200 3 5 11 10 5 28 14 28 14 37 + 200 3 5 10 4 5 28 14 37 5 37 + 200 3 5 11 10 5 29 13 29 13 36 + 200 3 5 10 4 5 29 13 36 5 36 + 200 3 2 5 4 13 21 1 21 1 27 + 200 3 2 4 1 13 21 1 27 13 27 + 200 3 2 5 4 13 20 1 20 0 28 + 200 3 2 4 1 13 20 0 28 13 28 + 200 3 2 9 11 40 168 22 168 27 159 + 200 3 2 11 5 40 168 27 159 36 159 + 200 3 3 8 9 36 176 27 176 22 168 + 200 3 3 9 2 36 176 22 168 40 168 + 200 3 2 9 11 23 168 39 168 35 175 + 200 3 2 11 5 23 168 35 175 27 175 + 200 3 3 8 9 27 160 35 160 39 168 + 200 3 3 9 2 27 160 39 168 23 168 \ No newline at end of file diff --git a/data/base/components/weapons/trmecm2.pie b/data/base/components/weapons/trmecm2.pie index afad4c30f..837f00c5f 100644 --- a/data/base/components/weapons/trmecm2.pie +++ b/data/base/components/weapons/trmecm2.pie @@ -16,12 +16,20 @@ POINTS 12 -8 5 -14 -16 5 0 -17 0 0 -POLYGONS 8 - 200 4 3 2 1 0 12 20 25 20 25 28 12 28 - 200 4 8 3 0 7 0 20 12 20 12 28 0 28 - 200 4 10 3 8 9 40 168 22 168 27 159 36 159 - 200 4 5 2 3 10 36 176 27 176 22 168 40 168 - 200 4 9 8 7 6 5 28 14 28 14 37 5 37 - 200 4 10 9 6 11 13 20 1 20 0 28 13 28 - 200 4 2 5 4 1 4 38 13 38 13 47 4 47 - 200 4 5 10 11 4 24 20 13 20 13 28 25 28 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 12 20 25 20 25 28 + 200 3 3 1 0 12 20 25 28 12 28 + 200 3 8 3 0 0 20 12 20 12 28 + 200 3 8 0 7 0 20 12 28 0 28 + 200 3 10 3 8 40 168 22 168 27 159 + 200 3 10 8 9 40 168 27 159 36 159 + 200 3 5 2 3 36 176 27 176 22 168 + 200 3 5 3 10 36 176 22 168 40 168 + 200 3 9 8 7 5 28 14 28 14 37 + 200 3 9 7 6 5 28 14 37 5 37 + 200 3 10 9 6 13 20 1 20 0 28 + 200 3 10 6 11 13 20 0 28 13 28 + 200 3 2 5 4 4 38 13 38 13 47 + 200 3 2 4 1 4 38 13 47 4 47 + 200 3 5 10 11 24 20 13 20 13 28 + 200 3 5 11 4 24 20 13 28 25 28 \ No newline at end of file diff --git a/data/base/components/weapons/trmflmr.pie b/data/base/components/weapons/trmflmr.pie index 718c44b92..b91677955 100644 --- a/data/base/components/weapons/trmflmr.pie +++ b/data/base/components/weapons/trmflmr.pie @@ -36,21 +36,38 @@ POINTS 32 -30 2 -8 -18 2 -8 -18 2 16 -POLYGONS 17 - 200 4 3 2 1 0 13 127 3 127 0 132 16 132 - 200 4 7 6 5 4 1 120 13 120 14 125 0 125 - 200 4 2 7 4 1 3 115 14 114 15 119 0 119 - 200 4 6 3 0 5 14 114 3 115 0 119 15 119 - 200 4 11 10 9 8 128 17 128 0 143 0 143 17 - 200 4 13 12 10 11 118 240 104 240 104 234 118 234 - 200 4 9 15 14 8 104 234 104 240 118 240 118 234 - 200 4 13 11 8 14 128 9 128 0 143 0 143 9 - 200 4 10 12 15 9 128 0 128 9 143 9 143 0 - 200 4 19 18 17 16 128 8 128 1 143 1 143 8 - 200 4 18 21 20 17 128 9 128 0 143 0 143 9 - 200 4 19 22 21 18 112 240 104 240 104 234 112 234 - 200 4 20 23 16 17 118 235 118 239 111 239 111 235 - 200 4 27 26 25 24 128 9 128 0 143 0 143 9 - 200 4 26 29 28 25 128 0 128 9 143 9 143 0 - 200 4 30 29 26 27 112 239 105 239 105 235 112 235 - 200 4 25 28 31 24 118 235 118 239 111 239 111 235 +POLYGONS 34 + 200 3 3 2 1 13 127 3 127 0 132 + 200 3 3 1 0 13 127 0 132 16 132 + 200 3 7 6 5 1 120 13 120 14 125 + 200 3 7 5 4 1 120 14 125 0 125 + 200 3 2 7 4 3 115 14 114 15 119 + 200 3 2 4 1 3 115 15 119 0 119 + 200 3 6 3 0 14 114 3 115 0 119 + 200 3 6 0 5 14 114 0 119 15 119 + 200 3 11 10 9 128 17 128 0 143 0 + 200 3 11 9 8 128 17 143 0 143 17 + 200 3 13 12 10 118 240 104 240 104 234 + 200 3 13 10 11 118 240 104 234 118 234 + 200 3 9 15 14 104 234 104 240 118 240 + 200 3 9 14 8 104 234 118 240 118 234 + 200 3 13 11 8 128 9 128 0 143 0 + 200 3 13 8 14 128 9 143 0 143 9 + 200 3 10 12 15 128 0 128 9 143 9 + 200 3 10 15 9 128 0 143 9 143 0 + 200 3 19 18 17 128 8 128 1 143 1 + 200 3 19 17 16 128 8 143 1 143 8 + 200 3 18 21 20 128 9 128 0 143 0 + 200 3 18 20 17 128 9 143 0 143 9 + 200 3 19 22 21 112 240 104 240 104 234 + 200 3 19 21 18 112 240 104 234 112 234 + 200 3 20 23 16 118 235 118 239 111 239 + 200 3 20 16 17 118 235 111 239 111 235 + 200 3 27 26 25 128 9 128 0 143 0 + 200 3 27 25 24 128 9 143 0 143 9 + 200 3 26 29 28 128 0 128 9 143 9 + 200 3 26 28 25 128 0 143 9 143 0 + 200 3 30 29 26 112 239 105 239 105 235 + 200 3 30 26 27 112 239 105 235 112 235 + 200 3 25 28 31 118 235 118 239 111 239 + 200 3 25 31 24 118 235 111 239 111 235 \ No newline at end of file diff --git a/data/base/components/weapons/trmgss.pie b/data/base/components/weapons/trmgss.pie index 4c2d025f1..1e63dd7f7 100644 --- a/data/base/components/weapons/trmgss.pie +++ b/data/base/components/weapons/trmgss.pie @@ -16,15 +16,22 @@ POINTS 12 -7 11 26 -17 6 13 -17 6 4 -POLYGONS 11 +POLYGONS 18 200 3 2 1 0 14 19 16 0 0 0 200 3 0 3 2 0 0 2 19 14 19 - 200 4 5 4 1 2 0 27 25 26 18 20 4 20 - 200 4 8 7 3 6 25 26 0 27 4 20 18 20 - 200 4 9 4 5 7 12 19 4 19 5 0 11 0 - 200 4 7 5 2 3 5 131 11 131 14 140 2 140 - 200 4 4 9 0 1 4 41 14 41 18 47 0 47 - 200 4 11 6 0 10 0 20 22 20 22 23 0 23 - 200 4 8 11 10 9 0 0 16 0 16 8 1 19 + 200 3 5 4 1 0 27 25 26 18 20 + 200 3 5 1 2 0 27 18 20 4 20 + 200 3 8 7 3 25 26 0 27 4 20 + 200 3 8 3 6 25 26 4 20 18 20 + 200 3 9 4 5 12 19 4 19 5 0 + 200 3 9 5 7 12 19 5 0 11 0 + 200 3 7 5 2 5 131 11 131 14 140 + 200 3 7 2 3 5 131 14 140 2 140 + 200 3 4 9 0 4 41 14 41 18 47 + 200 3 4 0 1 4 41 18 47 0 47 + 200 3 11 6 0 0 20 22 20 22 23 + 200 3 11 0 10 0 20 22 23 0 23 + 200 3 8 11 10 0 0 16 0 16 8 + 200 3 8 10 9 0 0 16 8 1 19 200 3 11 8 6 16 134 0 140 2 128 200 3 9 10 0 17 47 0 43 16 38 \ No newline at end of file diff --git a/data/base/components/weapons/trmhowt.pie b/data/base/components/weapons/trmhowt.pie index 1461d98c5..cc35cd542 100644 --- a/data/base/components/weapons/trmhowt.pie +++ b/data/base/components/weapons/trmhowt.pie @@ -28,28 +28,52 @@ POINTS 24 5 9 -14 16 27 -4 5 27 -4 -POLYGONS 24 - 200 4 0 1 2 3 0 139 9 139 11 132 2 132 - 200 4 3 2 1 0 2 132 11 132 9 139 0 139 - 200 4 1 4 5 2 9 139 16 139 15 132 11 132 - 200 4 2 5 4 1 11 132 15 132 16 139 9 139 - 200 4 3 2 6 7 2 132 11 132 9 126 4 126 - 200 4 7 6 2 3 4 126 9 126 11 132 2 132 - 200 4 8 9 5 4 0 47 0 39 18 39 18 47 - 200 4 4 5 9 8 18 47 18 39 0 39 0 47 - 200 4 10 11 1 0 0 192 0 201 16 201 16 192 - 200 4 0 1 11 10 16 192 16 201 0 201 0 192 - 200 4 11 8 4 1 0 201 0 208 16 208 16 201 - 200 4 1 4 8 11 16 201 16 208 0 208 0 201 - 200 4 10 12 13 11 0 139 2 132 10 132 9 139 - 200 4 11 13 12 10 9 139 10 132 2 132 0 139 - 200 4 11 13 9 8 9 139 10 132 15 132 16 139 - 200 4 8 9 13 11 16 139 15 132 10 132 9 139 - 200 4 12 14 15 13 2 132 4 126 9 126 10 132 - 200 4 13 15 14 12 10 132 9 126 4 126 2 132 - 200 4 16 17 18 19 132 202 133 193 130 193 128 207 - 200 4 19 18 17 16 128 207 130 193 133 193 132 202 - 200 4 16 19 20 21 132 202 128 207 144 207 140 202 - 200 4 21 20 19 16 140 202 144 207 128 207 132 202 - 200 4 21 20 22 23 140 202 144 207 142 193 139 193 - 200 4 23 22 20 21 139 193 142 193 144 207 140 202 \ No newline at end of file +POLYGONS 48 + 200 3 0 1 2 0 139 9 139 11 132 + 200 3 0 2 3 0 139 11 132 2 132 + 200 3 3 2 1 2 132 11 132 9 139 + 200 3 3 1 0 2 132 9 139 0 139 + 200 3 1 4 5 9 139 16 139 15 132 + 200 3 1 5 2 9 139 15 132 11 132 + 200 3 2 5 4 11 132 15 132 16 139 + 200 3 2 4 1 11 132 16 139 9 139 + 200 3 3 2 6 2 132 11 132 9 126 + 200 3 3 6 7 2 132 9 126 4 126 + 200 3 7 6 2 4 126 9 126 11 132 + 200 3 7 2 3 4 126 11 132 2 132 + 200 3 8 9 5 0 47 0 39 18 39 + 200 3 8 5 4 0 47 18 39 18 47 + 200 3 4 5 9 18 47 18 39 0 39 + 200 3 4 9 8 18 47 0 39 0 47 + 200 3 10 11 1 0 192 0 201 16 201 + 200 3 10 1 0 0 192 16 201 16 192 + 200 3 0 1 11 16 192 16 201 0 201 + 200 3 0 11 10 16 192 0 201 0 192 + 200 3 11 8 4 0 201 0 208 16 208 + 200 3 11 4 1 0 201 16 208 16 201 + 200 3 1 4 8 16 201 16 208 0 208 + 200 3 1 8 11 16 201 0 208 0 201 + 200 3 10 12 13 0 139 2 132 10 132 + 200 3 10 13 11 0 139 10 132 9 139 + 200 3 11 13 12 9 139 10 132 2 132 + 200 3 11 12 10 9 139 2 132 0 139 + 200 3 11 13 9 9 139 10 132 15 132 + 200 3 11 9 8 9 139 15 132 16 139 + 200 3 8 9 13 16 139 15 132 10 132 + 200 3 8 13 11 16 139 10 132 9 139 + 200 3 12 14 15 2 132 4 126 9 126 + 200 3 12 15 13 2 132 9 126 10 132 + 200 3 13 15 14 10 132 9 126 4 126 + 200 3 13 14 12 10 132 4 126 2 132 + 200 3 16 17 18 132 202 133 193 130 193 + 200 3 16 18 19 132 202 130 193 128 207 + 200 3 19 18 17 128 207 130 193 133 193 + 200 3 19 17 16 128 207 133 193 132 202 + 200 3 16 19 20 132 202 128 207 144 207 + 200 3 16 20 21 132 202 144 207 140 202 + 200 3 21 20 19 140 202 144 207 128 207 + 200 3 21 19 16 140 202 128 207 132 202 + 200 3 21 20 22 140 202 144 207 142 193 + 200 3 21 22 23 140 202 142 193 139 193 + 200 3 23 22 20 139 193 142 193 144 207 + 200 3 23 20 21 139 193 144 207 140 202 \ No newline at end of file diff --git a/data/base/components/weapons/trmlas.pie b/data/base/components/weapons/trmlas.pie index 001be3893..43e2ac2da 100644 --- a/data/base/components/weapons/trmlas.pie +++ b/data/base/components/weapons/trmlas.pie @@ -12,10 +12,16 @@ POINTS 8 17 15 15 10 0 -16 21 0 12 -POLYGONS 6 - 200 4 3 2 1 0 0 20 19 22 25 27 2 27 - 200 4 3 5 4 2 14 19 2 19 5 4 11 4 - 200 4 2 4 6 1 6 30 12 30 13 37 5 37 - 200 4 4 5 7 6 19 22 0 20 2 27 25 27 - 200 4 5 3 0 7 2 38 16 38 18 47 0 47 - 200 4 6 7 0 1 12 19 16 0 0 0 4 19 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 0 20 19 22 25 27 + 200 3 3 1 0 0 20 25 27 2 27 + 200 3 3 5 4 14 19 2 19 5 4 + 200 3 3 4 2 14 19 5 4 11 4 + 200 3 2 4 6 6 30 12 30 13 37 + 200 3 2 6 1 6 30 13 37 5 37 + 200 3 4 5 7 19 22 0 20 2 27 + 200 3 4 7 6 19 22 2 27 25 27 + 200 3 5 3 0 2 38 16 38 18 47 + 200 3 5 0 7 2 38 18 47 0 47 + 200 3 6 7 0 12 19 16 0 0 0 + 200 3 6 0 1 12 19 0 0 4 19 \ No newline at end of file diff --git a/data/base/components/weapons/trmmg.pie b/data/base/components/weapons/trmmg.pie index 8dc6e3feb..8706d67b4 100644 --- a/data/base/components/weapons/trmmg.pie +++ b/data/base/components/weapons/trmmg.pie @@ -16,14 +16,24 @@ POINTS 12 -8 6 16 -6 10 -12 6 10 -12 -POLYGONS 10 - 200 4 3 2 1 0 0 9 16 9 14 0 2 0 - 200 4 3 5 4 2 0 9 3 19 13 19 16 9 - 200 4 7 1 2 6 25 23 25 27 14 27 14 20 - 200 4 9 8 3 0 25 23 14 20 14 27 25 27 - 200 4 8 10 5 3 14 20 5 21 0 27 14 27 - 200 4 6 2 4 11 14 20 14 27 0 27 5 21 - 200 4 10 11 4 5 4 28 14 28 16 37 2 37 - 200 4 8 6 11 10 16 8 0 8 2 0 14 0 - 200 4 8 9 7 6 16 8 12 19 4 19 0 8 - 200 4 7 9 0 1 16 38 2 38 0 47 18 47 \ No newline at end of file +POLYGONS 20 + 200 3 3 2 1 0 9 16 9 14 0 + 200 3 3 1 0 0 9 14 0 2 0 + 200 3 3 5 4 0 9 3 19 13 19 + 200 3 3 4 2 0 9 13 19 16 9 + 200 3 7 1 2 25 23 25 27 14 27 + 200 3 7 2 6 25 23 14 27 14 20 + 200 3 9 8 3 25 23 14 20 14 27 + 200 3 9 3 0 25 23 14 27 25 27 + 200 3 8 10 5 14 20 5 21 0 27 + 200 3 8 5 3 14 20 0 27 14 27 + 200 3 6 2 4 14 20 14 27 0 27 + 200 3 6 4 11 14 20 0 27 5 21 + 200 3 10 11 4 4 28 14 28 16 37 + 200 3 10 4 5 4 28 16 37 2 37 + 200 3 8 6 11 16 8 0 8 2 0 + 200 3 8 11 10 16 8 2 0 14 0 + 200 3 8 9 7 16 8 12 19 4 19 + 200 3 8 7 6 16 8 4 19 0 8 + 200 3 7 9 0 16 38 2 38 0 47 + 200 3 7 0 1 16 38 0 47 18 47 \ No newline at end of file diff --git a/data/base/components/weapons/trmmort.pie b/data/base/components/weapons/trmmort.pie index 77b00d735..4dee95d15 100644 --- a/data/base/components/weapons/trmmort.pie +++ b/data/base/components/weapons/trmmort.pie @@ -28,23 +28,42 @@ POINTS 24 -11 8 -13 11 8 13 -11 8 13 -POLYGONS 19 - 200 4 11 10 9 8 0 208 16 208 16 192 0 192 - 200 4 3 0 4 7 113 243 109 243 105 252 116 252 - 200 4 13 14 18 17 109 243 113 243 116 252 105 252 - 200 4 2 3 7 6 113 243 113 243 116 252 116 252 - 200 4 14 15 19 18 113 243 113 243 116 252 116 252 - 200 4 12 13 17 16 109 243 109 243 105 252 105 252 - 200 4 0 1 5 4 109 243 109 243 105 252 105 252 - 200 4 15 12 16 19 113 243 109 243 105 252 116 252 - 200 4 8 9 21 23 0 140 16 140 14 132 2 132 - 200 4 23 21 9 8 2 132 14 132 16 140 0 140 - 200 4 1 2 6 5 109 243 113 243 116 252 105 252 - 200 4 9 10 20 21 0 140 16 140 15 132 1 132 - 200 4 21 20 10 9 1 132 15 132 16 140 0 140 - 200 4 10 11 22 20 0 140 16 140 14 132 2 132 - 200 4 20 22 11 10 2 132 14 132 16 140 0 140 - 200 4 15 14 13 12 113 243 113 243 109 243 109 243 - 200 4 3 2 1 0 113 243 113 243 109 243 109 243 - 200 4 11 8 23 22 0 140 16 140 15 132 1 132 - 200 4 22 23 8 11 1 132 15 132 16 140 0 140 \ No newline at end of file +POLYGONS 38 + 200 3 11 10 9 0 208 16 208 16 192 + 200 3 11 9 8 0 208 16 192 0 192 + 200 3 3 0 4 113 243 109 243 105 252 + 200 3 3 4 7 113 243 105 252 116 252 + 200 3 13 14 18 109 243 113 243 116 252 + 200 3 13 18 17 109 243 116 252 105 252 + 200 3 2 3 7 113 243 113 243 116 252 + 200 3 2 7 6 113 243 116 252 116 252 + 200 3 14 15 19 113 243 113 243 116 252 + 200 3 14 19 18 113 243 116 252 116 252 + 200 3 12 13 17 109 243 109 243 105 252 + 200 3 12 17 16 109 243 105 252 105 252 + 200 3 0 1 5 109 243 109 243 105 252 + 200 3 0 5 4 109 243 105 252 105 252 + 200 3 15 12 16 113 243 109 243 105 252 + 200 3 15 16 19 113 243 105 252 116 252 + 200 3 8 9 21 0 140 16 140 14 132 + 200 3 8 21 23 0 140 14 132 2 132 + 200 3 23 21 9 2 132 14 132 16 140 + 200 3 23 9 8 2 132 16 140 0 140 + 200 3 1 2 6 109 243 113 243 116 252 + 200 3 1 6 5 109 243 116 252 105 252 + 200 3 9 10 20 0 140 16 140 15 132 + 200 3 9 20 21 0 140 15 132 1 132 + 200 3 21 20 10 1 132 15 132 16 140 + 200 3 21 10 9 1 132 16 140 0 140 + 200 3 10 11 22 0 140 16 140 14 132 + 200 3 10 22 20 0 140 14 132 2 132 + 200 3 20 22 11 2 132 14 132 16 140 + 200 3 20 11 10 2 132 16 140 0 140 + 200 3 15 14 13 113 243 113 243 109 243 + 200 3 15 13 12 113 243 109 243 109 243 + 200 3 3 2 1 113 243 113 243 109 243 + 200 3 3 1 0 113 243 109 243 109 243 + 200 3 11 8 23 0 140 16 140 15 132 + 200 3 11 23 22 0 140 15 132 1 132 + 200 3 22 23 8 1 132 15 132 16 140 + 200 3 22 8 11 1 132 16 140 0 140 \ No newline at end of file diff --git a/data/base/components/weapons/trmmsl.pie b/data/base/components/weapons/trmmsl.pie index a852647ca..3082921ac 100644 --- a/data/base/components/weapons/trmmsl.pie +++ b/data/base/components/weapons/trmmsl.pie @@ -31,7 +31,7 @@ POINTS 27 15 0 19 -15 0 4 15 0 4 -POLYGONS 33 +POLYGONS 47 200 3 2 1 0 111 208 111 216 106 210 200 3 0 1 3 106 210 111 216 104 216 200 3 3 1 4 104 216 111 216 106 222 @@ -48,20 +48,34 @@ POLYGONS 33 200 3 6 1 2 106 210 111 216 111 208 200 3 5 1 8 111 224 111 216 106 222 200 3 8 1 7 106 222 111 216 104 216 - 200 4 12 11 10 9 104 229 115 224 115 234 111 229 + 200 3 12 11 10 104 229 115 224 115 234 + 200 3 12 10 9 104 229 115 234 111 229 200 3 10 12 9 115 234 104 229 111 229 - 200 4 1 1 11 12 110 224 110 224 115 234 110 234 - 200 4 1 1 10 11 110 224 110 224 115 234 115 234 - 200 4 1 1 12 10 110 224 110 224 115 234 104 234 - 200 4 1 1 1 1 110 224 110 224 110 224 110 224 - 200 4 1 1 1 1 110 224 110 224 110 224 110 224 - 200 4 16 15 14 13 174 224 176 208 168 208 170 224 - 200 4 20 19 18 17 14 3 14 16 2 16 2 3 - 200 4 19 22 21 18 15 14 13 5 3 5 1 14 - 200 4 24 21 22 23 18 48 14 38 4 38 0 48 - 200 4 25 20 13 14 16 28 16 20 4 21 0 28 - 200 4 23 22 19 25 25 28 23 24 17 24 16 28 - 200 4 16 17 26 15 4 21 16 20 16 28 0 28 + 200 3 1 1 11 110 224 110 224 115 234 + 200 3 1 11 12 110 224 115 234 110 234 + 200 3 1 1 10 110 224 110 224 115 234 + 200 3 1 10 11 110 224 115 234 115 234 + 200 3 1 1 12 110 224 110 224 115 234 + 200 3 1 12 10 110 224 115 234 104 234 + 200 3 1 1 1 110 224 110 224 110 224 + 200 3 1 1 1 110 224 110 224 110 224 + 200 3 1 1 1 110 224 110 224 110 224 + 200 3 1 1 1 110 224 110 224 110 224 + 200 3 16 15 14 174 224 176 208 168 208 + 200 3 16 14 13 174 224 168 208 170 224 + 200 3 20 19 18 14 3 14 16 2 16 + 200 3 20 18 17 14 3 2 16 2 3 + 200 3 19 22 21 15 14 13 5 3 5 + 200 3 19 21 18 15 14 3 5 1 14 + 200 3 24 21 22 18 48 14 38 4 38 + 200 3 24 22 23 18 48 4 38 0 48 + 200 3 25 20 13 16 28 16 20 4 21 + 200 3 25 13 14 16 28 4 21 0 28 + 200 3 23 22 19 25 28 23 24 17 24 + 200 3 23 19 25 25 28 17 24 16 28 + 200 3 16 17 26 4 21 16 20 16 28 + 200 3 16 26 15 4 21 16 28 0 28 200 3 17 18 26 16 20 17 24 16 28 200 3 20 25 19 16 20 16 28 17 24 - 200 4 18 21 24 26 17 24 23 24 25 28 16 28 \ No newline at end of file + 200 3 18 21 24 17 24 23 24 25 28 + 200 3 18 24 26 17 24 25 28 16 28 \ No newline at end of file diff --git a/data/base/components/weapons/trmmsla.pie b/data/base/components/weapons/trmmsla.pie index 0f325a0f7..63f01217d 100644 --- a/data/base/components/weapons/trmmsla.pie +++ b/data/base/components/weapons/trmmsla.pie @@ -31,18 +31,24 @@ POINTS 27 -14 0 2 14 0 -20 14 0 2 -POLYGONS 36 +POLYGONS 49 200 3 2 1 0 168 216 170 222 175 216 200 3 1 3 0 170 222 175 224 175 216 200 3 5 4 0 175 208 170 210 175 216 200 3 4 2 0 170 210 168 216 175 216 - 200 4 9 8 7 6 115 229 104 234 104 224 108 229 + 200 3 9 8 7 115 229 104 234 104 224 + 200 3 9 7 6 115 229 104 224 108 229 200 3 7 9 6 104 224 115 229 108 229 - 200 4 0 0 8 9 109 234 109 234 104 225 110 225 - 200 4 0 0 7 8 109 234 109 234 104 225 104 225 - 200 4 0 0 9 7 109 234 109 234 104 225 115 225 - 200 4 0 0 0 0 109 234 109 234 109 234 109 234 - 200 4 0 0 0 0 109 234 109 234 109 234 109 234 + 200 3 0 0 8 109 234 109 234 104 225 + 200 3 0 8 9 109 234 104 225 110 225 + 200 3 0 0 7 109 234 109 234 104 225 + 200 3 0 7 8 109 234 104 225 104 225 + 200 3 0 0 9 109 234 109 234 104 225 + 200 3 0 9 7 109 234 104 225 115 225 + 200 3 0 0 0 109 234 109 234 109 234 + 200 3 0 0 0 109 234 109 234 109 234 + 200 3 0 0 0 109 234 109 234 109 234 + 200 3 0 0 0 109 234 109 234 109 234 200 3 3 10 0 175 224 170 222 175 216 200 3 10 11 0 170 222 168 216 175 216 200 3 11 12 0 168 216 170 210 175 216 @@ -55,16 +61,23 @@ POLYGONS 36 200 3 10 0 11 106 210 111 216 104 216 200 3 11 0 12 104 216 111 216 106 222 200 3 12 0 5 106 222 111 216 111 224 - 200 4 16 15 14 13 16 16 12 6 4 6 0 16 - 200 4 20 19 18 17 15 14 13 5 3 5 1 14 - 200 4 22 18 19 21 18 48 14 38 4 38 0 48 + 200 3 16 15 14 16 16 12 6 4 6 + 200 3 16 14 13 16 16 4 6 0 16 + 200 3 20 19 18 15 14 13 5 3 5 + 200 3 20 18 17 15 14 3 5 1 14 + 200 3 22 18 19 18 48 14 38 4 38 + 200 3 22 19 21 18 48 4 38 0 48 200 3 13 14 23 16 20 4 21 0 28 200 3 23 24 13 0 28 16 28 16 20 - 200 4 21 19 20 24 25 28 23 24 17 24 16 28 + 200 3 21 19 20 25 28 23 24 17 24 + 200 3 21 20 24 25 28 17 24 16 28 200 3 16 26 25 16 20 16 28 0 28 200 3 25 15 16 0 28 4 21 16 20 200 3 16 17 26 16 20 17 24 16 28 200 3 13 24 20 16 20 16 28 17 24 - 200 4 17 18 22 26 17 24 23 24 25 28 16 28 - 200 4 13 20 17 16 14 3 14 16 2 16 2 3 - 200 4 15 25 23 14 13 30 18 37 0 37 5 30 \ No newline at end of file + 200 3 17 18 22 17 24 23 24 25 28 + 200 3 17 22 26 17 24 25 28 16 28 + 200 3 13 20 17 14 3 14 16 2 16 + 200 3 13 17 16 14 3 2 16 2 3 + 200 3 15 25 23 13 30 18 37 0 37 + 200 3 15 23 14 13 30 0 37 5 30 \ No newline at end of file diff --git a/data/base/components/weapons/trmmslaa.pie b/data/base/components/weapons/trmmslaa.pie index 5bd601301..21c881405 100644 --- a/data/base/components/weapons/trmmslaa.pie +++ b/data/base/components/weapons/trmmslaa.pie @@ -24,22 +24,30 @@ POINTS 20 -9 19 16 -6 24 19 16 11 21 -POLYGONS 18 +POLYGONS 26 200 3 7 8 9 0 140 2 132 8 135 200 3 7 9 16 0 140 8 135 10 140 - 200 4 13 9 8 14 3 9 1 9 2 0 3 1 + 200 3 13 9 8 3 9 1 9 2 0 + 200 3 13 8 14 3 9 2 0 3 1 200 3 0 16 9 16 140 10 140 8 135 - 200 4 9 13 12 3 1 9 3 9 2 16 0 19 + 200 3 9 13 12 1 9 3 9 2 16 + 200 3 9 12 3 1 9 2 16 0 19 200 3 1 2 6 0 140 1 138 8 135 200 3 6 4 1 8 135 16 140 0 140 200 3 4 6 19 16 140 8 135 15 136 200 3 2 10 6 16 19 13 9 15 10 - 200 4 12 15 2 3 2 139 14 139 16 140 0 140 + 200 3 12 15 2 2 139 14 139 16 140 + 200 3 12 2 3 2 139 16 140 0 140 200 3 15 10 2 14 16 13 9 16 19 - 200 4 5 11 17 18 14 132 13 132 4 132 5 132 - 200 4 6 10 11 5 15 10 13 9 13 1 14 0 + 200 3 5 11 17 14 132 13 132 4 132 + 200 3 5 17 18 14 132 4 132 5 132 + 200 3 6 10 11 15 10 13 9 13 1 + 200 3 6 11 5 15 10 13 1 14 0 200 3 5 19 6 14 132 15 136 8 135 200 3 9 3 0 8 135 15 138 16 140 - 200 4 14 8 18 17 3 132 2 132 5 132 4 132 - 200 4 3 2 1 0 1 138 15 138 16 140 0 140 - 200 4 5 8 7 4 3 132 13 132 14 140 2 140 \ No newline at end of file + 200 3 14 8 18 3 132 2 132 5 132 + 200 3 14 18 17 3 132 5 132 4 132 + 200 3 3 2 1 1 138 15 138 16 140 + 200 3 3 1 0 1 138 16 140 0 140 + 200 3 5 8 7 3 132 13 132 14 140 + 200 3 5 7 4 3 132 14 140 2 140 \ No newline at end of file diff --git a/data/base/components/weapons/trmmslat.pie b/data/base/components/weapons/trmmslat.pie index 8991ad6e1..dcb19f4ce 100644 --- a/data/base/components/weapons/trmmslat.pie +++ b/data/base/components/weapons/trmmslat.pie @@ -18,16 +18,26 @@ POINTS 14 -19 0 5 18 0 -24 18 0 5 -POLYGONS 12 - 200 4 3 2 1 0 14 3 14 16 2 16 2 3 - 200 4 0 5 4 3 16 16 12 6 4 6 0 16 - 200 4 2 7 6 1 15 14 13 5 3 5 1 14 - 200 4 9 6 7 8 18 47 14 38 4 38 0 47 - 200 4 11 3 4 10 9 27 9 20 21 21 25 27 - 200 4 8 7 2 11 0 27 2 23 8 23 9 27 - 200 4 5 0 13 12 21 21 9 20 9 27 25 27 +POLYGONS 22 + 200 3 3 2 1 14 3 14 16 2 16 + 200 3 3 1 0 14 3 2 16 2 3 + 200 3 0 5 4 16 16 12 6 4 6 + 200 3 0 4 3 16 16 4 6 0 16 + 200 3 2 7 6 15 14 13 5 3 5 + 200 3 2 6 1 15 14 3 5 1 14 + 200 3 9 6 7 18 47 14 38 4 38 + 200 3 9 7 8 18 47 4 38 0 47 + 200 3 11 3 4 9 27 9 20 21 21 + 200 3 11 4 10 9 27 21 21 25 27 + 200 3 8 7 2 0 27 2 23 8 23 + 200 3 8 2 11 0 27 8 23 9 27 + 200 3 5 0 13 21 21 9 20 9 27 + 200 3 5 13 12 21 21 9 27 25 27 200 3 0 1 13 9 20 8 23 9 27 200 3 3 11 2 9 20 9 27 8 23 - 200 4 1 6 9 13 8 23 2 23 0 27 9 27 - 200 4 12 9 8 10 16 19 16 0 0 0 0 19 - 200 4 5 12 10 4 13 30 18 37 0 37 5 30 \ No newline at end of file + 200 3 1 6 9 8 23 2 23 0 27 + 200 3 1 9 13 8 23 0 27 9 27 + 200 3 12 9 8 16 19 16 0 0 0 + 200 3 12 8 10 16 19 0 0 0 19 + 200 3 5 12 10 13 30 18 37 0 37 + 200 3 5 10 4 13 30 0 37 5 30 \ No newline at end of file diff --git a/data/base/components/weapons/trmmslbb.pie b/data/base/components/weapons/trmmslbb.pie index 188d1607f..9b31637b5 100644 --- a/data/base/components/weapons/trmmslbb.pie +++ b/data/base/components/weapons/trmmslbb.pie @@ -16,13 +16,22 @@ POINTS 12 1 18 6 1 16 -5 -4 16 -5 -POLYGONS 9 - 200 4 3 2 1 0 0 139 3 133 13 133 16 139 - 200 4 7 6 5 4 4 33 14 33 18 37 0 37 - 200 4 0 1 7 4 0 28 0 24 25 24 25 28 - 200 4 2 9 8 1 2 132 5 126 11 126 14 132 - 200 4 11 10 6 7 6 28 12 28 16 32 2 32 - 200 4 10 11 8 9 5 3 11 3 11 16 5 16 - 200 4 11 7 1 8 21 20 25 24 0 24 4 20 - 200 4 6 10 9 2 22 25 20 20 5 20 3 25 - 200 4 6 2 3 5 22 25 3 25 0 28 25 28 \ No newline at end of file +POLYGONS 18 + 200 3 3 2 1 0 139 3 133 13 133 + 200 3 3 1 0 0 139 13 133 16 139 + 200 3 7 6 5 4 33 14 33 18 37 + 200 3 7 5 4 4 33 18 37 0 37 + 200 3 0 1 7 0 28 0 24 25 24 + 200 3 0 7 4 0 28 25 24 25 28 + 200 3 2 9 8 2 132 5 126 11 126 + 200 3 2 8 1 2 132 11 126 14 132 + 200 3 11 10 6 6 28 12 28 16 32 + 200 3 11 6 7 6 28 16 32 2 32 + 200 3 10 11 8 5 3 11 3 11 16 + 200 3 10 8 9 5 3 11 16 5 16 + 200 3 11 7 1 21 20 25 24 0 24 + 200 3 11 1 8 21 20 0 24 4 20 + 200 3 6 10 9 22 25 20 20 5 20 + 200 3 6 9 2 22 25 5 20 3 25 + 200 3 6 2 3 22 25 3 25 0 28 + 200 3 6 3 5 22 25 0 28 25 28 \ No newline at end of file diff --git a/data/base/components/weapons/trmmslsa.pie b/data/base/components/weapons/trmmslsa.pie index 593a0cb30..d3579cd55 100644 --- a/data/base/components/weapons/trmmslsa.pie +++ b/data/base/components/weapons/trmmslsa.pie @@ -20,13 +20,22 @@ POINTS 16 6 3 -14 7 21 -11 -7 21 -11 -POLYGONS 9 - 200 4 8 3 0 10 136 192 144 192 144 207 136 207 - 200 4 2 9 11 1 128 192 136 192 136 207 128 207 - 200 4 9 2 3 8 26 109 29 103 34 103 37 109 - 200 4 9 8 6 7 26 109 37 109 34 114 29 114 - 200 4 6 8 10 5 128 192 136 192 136 207 128 207 - 200 4 7 6 5 4 1 114 14 114 15 119 0 119 - 200 4 9 7 4 11 136 192 144 192 144 207 136 207 - 200 4 3 2 1 0 12 256 1 256 0 241 13 241 - 200 4 15 14 13 12 44 159 44 140 75 140 75 159 +POLYGONS 18 + 200 3 8 3 0 136 192 144 192 144 207 + 200 3 8 0 10 136 192 144 207 136 207 + 200 3 2 9 11 128 192 136 192 136 207 + 200 3 2 11 1 128 192 136 207 128 207 + 200 3 9 2 3 26 109 29 103 34 103 + 200 3 9 3 8 26 109 34 103 37 109 + 200 3 9 8 6 26 109 37 109 34 114 + 200 3 9 6 7 26 109 34 114 29 114 + 200 3 6 8 10 128 192 136 192 136 207 + 200 3 6 10 5 128 192 136 207 128 207 + 200 3 7 6 5 1 114 14 114 15 119 + 200 3 7 5 4 1 114 15 119 0 119 + 200 3 9 7 4 136 192 144 192 144 207 + 200 3 9 4 11 136 192 144 207 136 207 + 200 3 3 2 1 12 256 1 256 0 241 + 200 3 3 1 0 12 256 0 241 13 241 + 200 3 15 14 13 44 159 44 140 75 140 + 200 3 15 13 12 44 159 75 140 75 159 \ No newline at end of file diff --git a/data/base/components/weapons/trmrckt.pie b/data/base/components/weapons/trmrckt.pie index f832dc738..1120b29f5 100644 --- a/data/base/components/weapons/trmrckt.pie +++ b/data/base/components/weapons/trmrckt.pie @@ -22,19 +22,28 @@ POINTS 18 14 7 -6 15 7 7 13 21 0 -POLYGONS 15 - 200 4 3 2 1 0 12 20 25 20 25 28 12 28 - 200 4 2 5 4 1 4 38 13 38 13 47 4 47 - 200 4 9 8 7 6 5 28 14 28 14 37 5 37 - 200 4 8 3 0 7 0 20 12 20 12 28 0 28 - 200 4 5 11 10 4 24 20 13 20 13 28 25 28 - 200 4 11 9 6 10 13 20 1 20 0 28 13 28 +POLYGONS 24 + 200 3 3 2 1 12 20 25 20 25 28 + 200 3 3 1 0 12 20 25 28 12 28 + 200 3 2 5 4 4 38 13 38 13 47 + 200 3 2 4 1 4 38 13 47 4 47 + 200 3 9 8 7 5 28 14 28 14 37 + 200 3 9 7 6 5 28 14 37 5 37 + 200 3 8 3 0 0 20 12 20 12 28 + 200 3 8 0 7 0 20 12 28 0 28 + 200 3 5 11 10 24 20 13 20 13 28 + 200 3 5 10 4 24 20 13 28 25 28 + 200 3 11 9 6 13 20 1 20 0 28 + 200 3 11 6 10 13 20 0 28 13 28 200 3 12 13 14 115 234 110 224 104 234 200 3 14 13 12 104 234 110 224 115 234 200 3 15 16 17 104 234 115 234 110 224 200 3 17 16 15 110 224 115 234 104 234 - 200 4 1 6 7 0 35 159 27 176 35 176 40 168 + 200 3 1 6 7 35 159 27 176 35 176 + 200 3 1 7 0 35 159 35 176 40 168 200 3 1 4 6 35 159 27 159 27 176 200 3 10 6 4 22 168 27 176 27 159 - 200 4 11 3 8 9 40 168 22 168 27 159 36 159 - 200 4 5 2 3 11 36 176 27 176 22 168 40 168 \ No newline at end of file + 200 3 11 3 8 40 168 22 168 27 159 + 200 3 11 8 9 40 168 27 159 36 159 + 200 3 5 2 3 36 176 27 176 22 168 + 200 3 5 3 11 36 176 22 168 40 168 \ No newline at end of file diff --git a/data/base/components/weapons/trmrckta.pie b/data/base/components/weapons/trmrckta.pie index f5d537ce9..94eacc4d2 100644 --- a/data/base/components/weapons/trmrckta.pie +++ b/data/base/components/weapons/trmrckta.pie @@ -16,14 +16,24 @@ POINTS 12 14 0 15 -14 0 15 -14 0 -14 -POLYGONS 10 - 200 4 3 2 1 0 2 32 6 28 12 28 16 32 - 200 4 7 6 5 4 6 28 12 28 16 32 2 32 - 200 4 6 7 1 2 5 16 11 16 11 3 5 3 - 200 4 7 4 0 1 4 20 0 23 25 23 21 20 - 200 4 5 6 2 3 3 25 5 20 20 20 22 25 - 200 4 5 3 9 8 3 25 22 25 25 27 0 27 - 200 4 9 3 0 10 0 48 4 43 14 43 18 48 - 200 4 4 5 8 11 4 43 14 43 18 48 0 48 - 200 4 10 0 4 11 25 27 25 24 0 24 0 27 - 200 4 8 9 10 11 16 0 16 19 0 19 0 0 \ No newline at end of file +POLYGONS 20 + 200 3 3 2 1 2 32 6 28 12 28 + 200 3 3 1 0 2 32 12 28 16 32 + 200 3 7 6 5 6 28 12 28 16 32 + 200 3 7 5 4 6 28 16 32 2 32 + 200 3 6 7 1 5 16 11 16 11 3 + 200 3 6 1 2 5 16 11 3 5 3 + 200 3 7 4 0 4 20 0 23 25 23 + 200 3 7 0 1 4 20 25 23 21 20 + 200 3 5 6 2 3 25 5 20 20 20 + 200 3 5 2 3 3 25 20 20 22 25 + 200 3 5 3 9 3 25 22 25 25 27 + 200 3 5 9 8 3 25 25 27 0 27 + 200 3 9 3 0 0 48 4 43 14 43 + 200 3 9 0 10 0 48 14 43 18 48 + 200 3 4 5 8 4 43 14 43 18 48 + 200 3 4 8 11 4 43 18 48 0 48 + 200 3 10 0 4 25 27 25 24 0 24 + 200 3 10 4 11 25 27 0 24 0 27 + 200 3 8 9 10 16 0 16 19 0 19 + 200 3 8 10 11 16 0 0 19 0 0 \ No newline at end of file diff --git a/data/base/components/weapons/trmrcktb.pie b/data/base/components/weapons/trmrcktb.pie index 6cdf8a7f6..40a927fe0 100644 --- a/data/base/components/weapons/trmrcktb.pie +++ b/data/base/components/weapons/trmrcktb.pie @@ -12,10 +12,16 @@ POINTS 8 14 0 -19 14 0 19 -14 0 19 -POLYGONS 6 - 200 4 3 2 1 0 0 0 16 0 16 19 0 19 - 200 4 0 1 5 4 0 114 15 114 15 120 0 120 - 200 4 1 2 6 5 0 126 16 126 16 131 0 131 - 200 4 2 3 7 6 0 120 14 120 14 126 0 126 - 200 4 3 0 4 7 0 126 16 126 16 131 0 131 - 200 4 4 5 6 7 0 19 16 19 16 0 0 0 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 0 0 16 0 16 19 + 200 3 3 1 0 0 0 16 19 0 19 + 200 3 0 1 5 0 114 15 114 15 120 + 200 3 0 5 4 0 114 15 120 0 120 + 200 3 1 2 6 0 126 16 126 16 131 + 200 3 1 6 5 0 126 16 131 0 131 + 200 3 2 3 7 0 120 14 120 14 126 + 200 3 2 7 6 0 120 14 126 0 126 + 200 3 3 0 4 0 126 16 126 16 131 + 200 3 3 4 7 0 126 16 131 0 131 + 200 3 4 5 6 0 19 16 19 16 0 + 200 3 4 6 7 0 19 16 0 0 0 \ No newline at end of file diff --git a/data/base/components/weapons/trmrktbb.pie b/data/base/components/weapons/trmrktbb.pie index df1403849..8d5d022bc 100644 --- a/data/base/components/weapons/trmrktbb.pie +++ b/data/base/components/weapons/trmrktbb.pie @@ -16,14 +16,24 @@ POINTS 12 14 0 12 -13 0 12 -13 0 -14 -POLYGONS 10 - 200 4 3 2 1 0 2 132 5 126 11 126 14 132 - 200 4 7 6 5 4 6 28 12 28 16 32 2 32 - 200 4 6 7 1 2 5 3 11 3 11 16 5 16 - 200 4 7 4 0 1 21 20 25 24 0 24 4 20 - 200 4 5 6 2 3 22 25 20 20 5 20 3 25 - 200 4 5 3 9 8 22 25 3 25 0 28 25 28 - 200 4 9 3 0 10 0 139 3 133 13 133 16 139 - 200 4 4 5 8 11 4 33 14 33 18 37 0 37 - 200 4 10 0 4 11 0 28 0 24 25 24 25 28 - 200 4 8 9 10 11 16 19 16 0 0 0 0 19 \ No newline at end of file +POLYGONS 20 + 200 3 3 2 1 2 132 5 126 11 126 + 200 3 3 1 0 2 132 11 126 14 132 + 200 3 7 6 5 6 28 12 28 16 32 + 200 3 7 5 4 6 28 16 32 2 32 + 200 3 6 7 1 5 3 11 3 11 16 + 200 3 6 1 2 5 3 11 16 5 16 + 200 3 7 4 0 21 20 25 24 0 24 + 200 3 7 0 1 21 20 0 24 4 20 + 200 3 5 6 2 22 25 20 20 5 20 + 200 3 5 2 3 22 25 5 20 3 25 + 200 3 5 3 9 22 25 3 25 0 28 + 200 3 5 9 8 22 25 0 28 25 28 + 200 3 9 3 0 0 139 3 133 13 133 + 200 3 9 0 10 0 139 13 133 16 139 + 200 3 4 5 8 4 33 14 33 18 37 + 200 3 4 8 11 4 33 18 37 0 37 + 200 3 10 0 4 0 28 0 24 25 24 + 200 3 10 4 11 0 28 25 24 25 28 + 200 3 8 9 10 16 19 16 0 0 0 + 200 3 8 10 11 16 19 0 0 0 19 \ No newline at end of file diff --git a/data/base/components/weapons/trmsnsr2.pie b/data/base/components/weapons/trmsnsr2.pie index d2adc451c..857896c0a 100644 --- a/data/base/components/weapons/trmsnsr2.pie +++ b/data/base/components/weapons/trmsnsr2.pie @@ -16,12 +16,20 @@ POINTS 12 14 6 0 9 0 -15 7 6 -13 -POLYGONS 8 - 200 4 3 2 1 0 24 20 13 20 13 28 25 28 - 200 4 2 5 4 1 13 20 1 20 0 28 13 28 - 200 4 9 8 7 6 12 20 25 20 25 28 12 28 - 200 4 8 3 0 7 4 38 13 38 13 47 4 47 - 200 4 5 11 10 4 5 28 14 28 14 37 5 37 - 200 4 11 9 6 10 0 20 12 20 12 28 0 28 - 200 4 2 9 11 5 40 168 22 168 27 159 36 159 - 200 4 3 8 9 2 36 176 27 176 22 168 40 168 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 24 20 13 20 13 28 + 200 3 3 1 0 24 20 13 28 25 28 + 200 3 2 5 4 13 20 1 20 0 28 + 200 3 2 4 1 13 20 0 28 13 28 + 200 3 9 8 7 12 20 25 20 25 28 + 200 3 9 7 6 12 20 25 28 12 28 + 200 3 8 3 0 4 38 13 38 13 47 + 200 3 8 0 7 4 38 13 47 4 47 + 200 3 5 11 10 5 28 14 28 14 37 + 200 3 5 10 4 5 28 14 37 5 37 + 200 3 11 9 6 0 20 12 20 12 28 + 200 3 11 6 10 0 20 12 28 0 28 + 200 3 2 9 11 40 168 22 168 27 159 + 200 3 2 11 5 40 168 27 159 36 159 + 200 3 3 8 9 36 176 27 176 22 168 + 200 3 3 9 2 36 176 22 168 40 168 \ No newline at end of file diff --git a/data/base/components/weapons/trmvcan.pie b/data/base/components/weapons/trmvcan.pie index 921db22e4..c3bf77f1e 100644 --- a/data/base/components/weapons/trmvcan.pie +++ b/data/base/components/weapons/trmvcan.pie @@ -26,21 +26,33 @@ POINTS 22 -5 13 2 -12 0 -14 -13 0 -6 -POLYGONS 17 +POLYGONS 29 200 3 8 21 20 2 47 0 43 2 46 - 200 4 9 15 18 19 5 21 2 27 13 27 15 20 - 200 4 7 20 21 11 18 45 2 46 0 43 0 40 + 200 3 9 15 18 5 21 2 27 13 27 + 200 3 9 18 19 5 21 13 27 15 20 + 200 3 7 20 21 18 45 2 46 0 43 + 200 3 7 21 11 18 45 0 43 0 40 200 3 7 11 6 18 45 0 40 17 39 - 200 4 5 6 11 10 16 40 17 45 0 47 0 38 - 200 4 0 17 19 18 25 27 24 20 15 20 13 27 - 200 4 10 9 16 5 16 205 15 193 1 195 2 208 + 200 3 5 6 11 16 40 17 45 0 47 + 200 3 5 11 10 16 40 0 47 0 38 + 200 3 0 17 19 25 27 24 20 15 20 + 200 3 0 19 18 25 27 15 20 13 27 + 200 3 10 9 16 16 205 15 193 1 195 + 200 3 10 16 5 16 205 1 195 2 208 200 3 14 9 17 24 20 5 21 24 20 - 200 4 14 13 12 9 16 19 2 19 4 0 13 0 - 200 4 7 6 5 4 5 46 17 46 18 40 8 41 + 200 3 14 13 12 16 19 2 19 4 0 + 200 3 14 12 9 16 19 4 0 13 0 + 200 3 7 6 5 5 46 17 46 18 40 + 200 3 7 5 4 5 46 18 40 8 41 200 3 4 5 16 1 196 2 208 1 195 - 200 4 7 4 9 8 0 35 2 30 17 29 16 37 + 200 3 7 4 9 0 35 2 30 17 29 + 200 3 7 9 8 0 35 17 29 16 37 200 3 3 15 9 0 27 2 27 5 21 - 200 4 9 12 2 3 4 29 14 29 16 37 2 37 - 200 4 13 14 0 1 2 38 16 38 18 47 0 47 - 200 4 3 2 1 0 2 37 16 37 18 28 0 28 - 200 4 12 13 1 2 5 21 24 20 25 27 0 27 \ No newline at end of file + 200 3 9 12 2 4 29 14 29 16 37 + 200 3 9 2 3 4 29 16 37 2 37 + 200 3 13 14 0 2 38 16 38 18 47 + 200 3 13 0 1 2 38 18 47 0 47 + 200 3 3 2 1 2 37 16 37 18 28 + 200 3 3 1 0 2 37 18 28 0 28 + 200 3 12 13 1 5 21 24 20 25 27 + 200 3 12 1 2 5 21 25 27 0 27 \ No newline at end of file diff --git a/data/base/components/weapons/trmvtlhe.pie b/data/base/components/weapons/trmvtlhe.pie index 5258e6b73..974125489 100644 --- a/data/base/components/weapons/trmvtlhe.pie +++ b/data/base/components/weapons/trmvtlhe.pie @@ -20,16 +20,28 @@ POINTS 16 -21 2 21 -22 -5 29 -39 -3 24 -POLYGONS 12 - 200 4 3 2 1 0 0 176 0 164 22 164 22 176 - 200 4 7 6 5 4 16 208 0 208 0 192 16 192 - 200 4 4 5 1 2 0 152 22 152 22 164 0 164 - 200 4 7 4 2 3 120 114 131 114 131 126 120 126 - 200 4 6 7 3 0 0 102 22 102 22 76 0 76 - 200 4 5 6 0 1 26 102 26 114 0 114 0 102 - 200 4 11 10 9 8 22 176 22 164 0 164 0 176 - 200 4 15 14 13 12 0 208 16 208 16 192 0 192 - 200 4 12 13 9 10 22 152 0 152 0 164 22 164 - 200 4 15 12 10 11 26 114 26 102 0 102 0 114 - 200 4 14 15 11 8 22 102 0 102 0 76 22 76 - 200 4 13 14 8 9 131 114 120 114 120 126 131 126 +POLYGONS 24 + 200 3 3 2 1 0 176 0 164 22 164 + 200 3 3 1 0 0 176 22 164 22 176 + 200 3 7 6 5 16 208 0 208 0 192 + 200 3 7 5 4 16 208 0 192 16 192 + 200 3 4 5 1 0 152 22 152 22 164 + 200 3 4 1 2 0 152 22 164 0 164 + 200 3 7 4 2 120 114 131 114 131 126 + 200 3 7 2 3 120 114 131 126 120 126 + 200 3 6 7 3 0 102 22 102 22 76 + 200 3 6 3 0 0 102 22 76 0 76 + 200 3 5 6 0 26 102 26 114 0 114 + 200 3 5 0 1 26 102 0 114 0 102 + 200 3 11 10 9 22 176 22 164 0 164 + 200 3 11 9 8 22 176 0 164 0 176 + 200 3 15 14 13 0 208 16 208 16 192 + 200 3 15 13 12 0 208 16 192 0 192 + 200 3 12 13 9 22 152 0 152 0 164 + 200 3 12 9 10 22 152 0 164 22 164 + 200 3 15 12 10 26 114 26 102 0 102 + 200 3 15 10 11 26 114 0 102 0 114 + 200 3 14 15 11 22 102 0 102 0 76 + 200 3 14 11 8 22 102 0 76 22 76 + 200 3 13 14 8 131 114 120 114 120 126 + 200 3 13 8 9 131 114 120 126 131 126 \ No newline at end of file diff --git a/data/base/components/weapons/trmvtlin.pie b/data/base/components/weapons/trmvtlin.pie index 97acd1a7b..f23206ec7 100644 --- a/data/base/components/weapons/trmvtlin.pie +++ b/data/base/components/weapons/trmvtlin.pie @@ -36,4 +36,4 @@ POLYGONS 16 200 3 13 15 12 128 9 143 6 128 0 200 3 14 15 13 129 0 143 4 128 9 200 3 12 15 14 128 9 143 6 128 0 - 200 3 11 14 13 143 4 128 9 128 0 + 200 3 11 14 13 143 4 128 9 128 0 \ No newline at end of file diff --git a/data/mp/components/bodies/drcytran.pie b/data/mp/components/bodies/drcytran.pie index 8e9382077..81522bcab 100644 --- a/data/mp/components/bodies/drcytran.pie +++ b/data/mp/components/bodies/drcytran.pie @@ -41,33 +41,53 @@ POINTS 37 25 51 51 42 68 103 42 68 79 -POLYGONS 26 - 200 4 0 1 2 3 0 191 30 191 30 248 0 220 - 200 4 3 2 1 0 0 220 30 248 30 191 0 191 +POLYGONS 46 + 200 3 0 1 2 0 191 30 191 30 248 + 200 3 0 2 3 0 191 30 248 0 220 + 200 3 3 2 1 0 220 30 248 30 191 + 200 3 3 1 0 0 220 30 191 0 191 200 3 6 5 4 0 93 28 106 28 92 200 3 7 5 6 0 105 28 106 0 93 - 200 4 9 8 7 6 12 3 12 64 0 54 0 13 + 200 3 9 8 7 12 3 12 64 0 54 + 200 3 9 7 6 12 3 0 54 0 13 200 3 11 8 10 83 0 42 0 83 41 - 200 4 13 12 11 10 98 40 84 1 127 1 113 40 + 200 3 13 12 11 98 40 84 1 127 1 + 200 3 13 11 10 98 40 127 1 113 40 200 3 10 8 9 12 41 0 64 0 3 200 3 13 10 9 12 26 12 41 0 3 - 200 4 17 16 15 14 219 39 233 26 193 26 206 39 - 200 4 15 16 19 18 193 26 233 26 206 0 193 13 - 200 4 19 16 21 20 206 0 233 26 233 13 219 0 + 200 3 17 16 15 219 39 233 26 193 26 + 200 3 17 15 14 219 39 193 26 206 39 + 200 3 15 16 19 193 26 233 26 206 0 + 200 3 15 19 18 193 26 206 0 193 13 + 200 3 19 16 21 206 0 233 26 233 13 + 200 3 19 21 20 206 0 233 13 219 0 200 3 13 9 12 83 41 43 1 83 1 - 200 4 25 24 23 22 107 49 125 49 122 56 110 56 - 200 4 4 5 24 25 110 42 122 42 125 49 107 49 - 200 4 12 22 23 11 0 106 28 106 28 92 0 92 - 200 4 24 5 26 8 26 113 28 84 4 85 0 113 - 200 4 8 11 23 24 0 113 4 147 24 148 26 113 - 200 4 25 9 6 4 26 113 0 113 4 85 28 84 - 200 4 12 9 25 22 4 147 0 113 26 113 24 148 - 200 4 29 28 27 30 30 248 30 191 0 191 0 220 - 200 4 30 27 28 29 0 220 0 191 30 191 30 248 - 200 4 31 22 32 33 0 180 26 180 32 150 0 150 - 200 4 33 32 22 31 0 150 32 150 26 180 0 180 - 200 4 35 23 34 36 32 150 26 180 0 180 0 150 - 200 4 36 34 23 35 0 150 0 180 26 180 32 150 + 200 3 25 24 23 107 49 125 49 122 56 + 200 3 25 23 22 107 49 122 56 110 56 + 200 3 4 5 24 110 42 122 42 125 49 + 200 3 4 24 25 110 42 125 49 107 49 + 200 3 12 22 23 0 106 28 106 28 92 + 200 3 12 23 11 0 106 28 92 0 92 + 200 3 24 5 26 26 113 28 84 4 85 + 200 3 24 26 8 26 113 4 85 0 113 + 200 3 8 11 23 0 113 4 147 24 148 + 200 3 8 23 24 0 113 24 148 26 113 + 200 3 25 9 6 26 113 0 113 4 85 + 200 3 25 6 4 26 113 4 85 28 84 + 200 3 12 9 25 4 147 0 113 26 113 + 200 3 12 25 22 4 147 26 113 24 148 + 200 3 29 28 27 30 248 30 191 0 191 + 200 3 29 27 30 30 248 0 191 0 220 + 200 3 30 27 28 0 220 0 191 30 191 + 200 3 30 28 29 0 220 30 191 30 248 + 200 3 31 22 32 0 180 26 180 32 150 + 200 3 31 32 33 0 180 32 150 0 150 + 200 3 33 32 22 0 150 32 150 26 180 + 200 3 33 22 31 0 150 26 180 0 180 + 200 3 35 23 34 32 150 26 180 0 180 + 200 3 35 34 36 32 150 0 180 0 150 + 200 3 36 34 23 0 150 0 180 26 180 + 200 3 36 23 35 0 150 26 180 32 150 CONNECTORS 2 0 -72 21 0 0 55 diff --git a/data/mp/components/bodies/drhbod14.pie b/data/mp/components/bodies/drhbod14.pie index 32331e304..44a85a807 100644 --- a/data/mp/components/bodies/drhbod14.pie +++ b/data/mp/components/bodies/drhbod14.pie @@ -32,33 +32,55 @@ POINTS 28 -28 57 21 -19 45 16 -41 29 8 -POLYGONS 26 +POLYGONS 48 200 3 2 1 0 214 214 214 204 222 204 - 200 4 4 3 0 1 251 231 251 237 226 237 226 231 + 200 3 4 3 0 251 231 251 237 226 237 + 200 3 4 0 1 251 231 226 237 226 231 200 3 3 4 5 222 204 214 204 214 214 - 200 4 9 8 7 6 226 237 251 237 251 225 226 225 + 200 3 9 8 7 226 237 251 237 251 225 + 200 3 9 7 6 226 237 251 225 226 225 200 3 11 9 10 214 219 226 204 226 219 - 200 4 11 12 8 9 214 240 189 240 189 256 214 256 + 200 3 11 12 8 214 240 189 240 189 256 + 200 3 11 8 9 214 240 189 256 214 256 200 3 13 8 12 226 219 226 204 214 219 - 200 4 6 7 15 14 256 225 256 219 226 219 226 225 - 200 4 19 18 17 16 189 204 189 194 211 194 211 204 - 200 4 13 12 21 20 226 219 214 219 214 256 226 256 - 200 4 25 24 23 22 189 194 189 204 211 204 211 194 - 200 4 11 10 27 26 214 219 226 219 226 256 214 256 - 200 4 8 13 5 4 256 219 249 225 226 225 226 219 - 200 4 10 9 1 2 249 225 256 219 226 219 226 225 - 200 4 9 6 14 1 251 225 246 237 226 237 226 225 - 200 4 7 8 4 15 246 237 251 225 226 225 226 237 - 200 4 15 4 1 14 251 225 251 231 226 231 226 225 - 200 4 22 23 2 0 211 194 211 204 220 204 220 194 - 200 4 16 17 3 5 211 204 211 194 220 194 220 204 - 200 4 17 18 21 3 253 247 231 247 231 256 253 256 - 200 4 18 19 20 21 211 194 211 204 220 204 220 194 - 200 4 19 16 5 20 231 247 253 247 253 256 231 256 - 200 4 25 22 0 26 231 247 253 247 253 256 231 256 - 200 4 23 24 27 2 253 247 231 247 231 256 253 256 - 200 4 24 25 26 27 211 204 211 194 220 194 220 204 - 200 4 0 3 12 11 214 256 189 256 189 204 214 204 + 200 3 6 7 15 256 225 256 219 226 219 + 200 3 6 15 14 256 225 226 219 226 225 + 200 3 19 18 17 189 204 189 194 211 194 + 200 3 19 17 16 189 204 211 194 211 204 + 200 3 13 12 21 226 219 214 219 214 256 + 200 3 13 21 20 226 219 214 256 226 256 + 200 3 25 24 23 189 194 189 204 211 204 + 200 3 25 23 22 189 194 211 204 211 194 + 200 3 11 10 27 214 219 226 219 226 256 + 200 3 11 27 26 214 219 226 256 214 256 + 200 3 8 13 5 256 219 249 225 226 225 + 200 3 8 5 4 256 219 226 225 226 219 + 200 3 10 9 1 249 225 256 219 226 219 + 200 3 10 1 2 249 225 226 219 226 225 + 200 3 9 6 14 251 225 246 237 226 237 + 200 3 9 14 1 251 225 226 237 226 225 + 200 3 7 8 4 246 237 251 225 226 225 + 200 3 7 4 15 246 237 226 225 226 237 + 200 3 15 4 1 251 225 251 231 226 231 + 200 3 15 1 14 251 225 226 231 226 225 + 200 3 22 23 2 211 194 211 204 220 204 + 200 3 22 2 0 211 194 220 204 220 194 + 200 3 16 17 3 211 204 211 194 220 194 + 200 3 16 3 5 211 204 220 194 220 204 + 200 3 17 18 21 253 247 231 247 231 256 + 200 3 17 21 3 253 247 231 256 253 256 + 200 3 18 19 20 211 194 211 204 220 204 + 200 3 18 20 21 211 194 220 204 220 194 + 200 3 19 16 5 231 247 253 247 253 256 + 200 3 19 5 20 231 247 253 256 231 256 + 200 3 25 22 0 231 247 253 247 253 256 + 200 3 25 0 26 231 247 253 256 231 256 + 200 3 23 24 27 253 247 231 247 231 256 + 200 3 23 27 2 253 247 231 256 253 256 + 200 3 24 25 26 211 204 211 194 220 194 + 200 3 24 26 27 211 204 220 194 220 204 + 200 3 0 3 12 214 256 189 256 189 204 + 200 3 0 12 11 214 256 189 204 214 204 CONNECTORS 8 0 35 47 0 -21 47 diff --git a/data/mp/components/bodies/drmbod13.pie b/data/mp/components/bodies/drmbod13.pie index 01370a82d..eada5e26c 100644 --- a/data/mp/components/bodies/drmbod13.pie +++ b/data/mp/components/bodies/drmbod13.pie @@ -23,27 +23,38 @@ POINTS 19 -10 38 17 -7 43 14 7 43 14 -POLYGONS 21 - 200 4 3 2 1 0 255 225 226 225 226 219 255 219 - 200 4 7 6 5 4 253 237 253 247 236 247 236 237 - 200 4 4 5 3 0 236 237 236 247 226 247 226 237 - 200 4 3 5 6 2 231 256 231 247 253 247 253 256 - 200 4 7 4 0 1 253 247 231 247 231 256 253 256 +POLYGONS 32 + 200 3 3 2 1 255 225 226 225 226 219 + 200 3 3 1 0 255 225 226 219 255 219 + 200 3 7 6 5 253 237 253 247 236 247 + 200 3 7 5 4 253 237 236 247 236 237 + 200 3 4 5 3 236 237 236 247 226 247 + 200 3 4 3 0 236 237 226 247 226 237 + 200 3 3 5 6 231 256 231 247 253 247 + 200 3 3 6 2 231 256 253 247 253 256 + 200 3 7 4 0 253 247 231 247 231 256 + 200 3 7 0 1 253 247 231 256 253 256 200 3 10 9 8 226 256 214 256 214 219 200 3 8 1 10 214 219 226 219 226 256 200 3 13 12 11 214 219 214 256 226 256 200 3 11 2 13 226 256 226 219 214 219 - 200 4 2 11 10 1 226 225 255 225 255 219 226 219 - 200 4 11 12 9 10 251 225 251 237 226 237 226 225 + 200 3 2 11 10 226 225 255 225 255 219 + 200 3 2 10 1 226 225 255 219 226 219 + 200 3 11 12 9 251 225 251 237 226 237 + 200 3 11 9 10 251 225 226 237 226 225 200 3 14 13 2 226 247 231 247 226 256 200 3 1 8 7 226 256 231 247 226 247 - 200 4 15 9 12 13 205 225 189 241 214 241 214 204 + 200 3 15 9 12 205 225 189 241 214 241 + 200 3 15 12 13 205 225 214 241 214 204 200 3 13 6 15 214 204 207 204 205 225 - 200 4 16 8 9 15 198 225 189 204 189 241 205 225 + 200 3 16 8 9 198 225 189 204 189 241 + 200 3 16 9 15 198 225 189 241 205 225 200 3 16 7 8 198 225 196 204 189 204 - 200 4 18 6 7 17 205 224 207 204 196 204 198 224 + 200 3 18 6 7 205 224 207 204 196 204 + 200 3 18 7 17 205 224 196 204 198 224 200 3 18 15 6 221 225 216 224 220 245 - 200 4 18 17 16 15 245 252 239 252 239 252 245 252 + 200 3 18 17 16 245 252 239 252 239 252 + 200 3 18 16 15 245 252 239 252 245 252 200 3 17 7 16 221 225 220 245 216 224 CONNECTORS 8 0 2 43 diff --git a/data/mp/components/bodies/drtrans.pie b/data/mp/components/bodies/drtrans.pie index d4987194e..cdc731626 100644 --- a/data/mp/components/bodies/drtrans.pie +++ b/data/mp/components/bodies/drtrans.pie @@ -116,7 +116,7 @@ POINTS 112 -8 126 138 0 151 207 0 151 119 -POLYGONS 130 +POLYGONS 184 200 3 2 1 0 0 0 41 0 0 63 200 3 1 3 0 41 0 41 63 0 63 200 3 2 0 4 41 0 41 63 0 0 @@ -133,17 +133,28 @@ POLYGONS 130 200 3 13 4 5 0 63 41 0 41 63 200 3 11 12 10 41 0 0 0 41 63 200 3 12 15 10 0 0 0 63 41 63 - 200 4 19 18 17 16 107 42 125 42 125 56 107 56 - 200 4 21 19 16 20 107 42 125 42 125 56 107 56 - 200 4 25 24 23 22 125 42 107 42 107 56 125 56 - 200 4 27 25 22 26 125 42 107 42 107 56 125 56 - 200 4 24 21 20 23 125 42 107 42 107 56 125 56 - 200 4 18 29 28 17 107 42 125 42 125 56 107 56 - 200 4 33 32 31 30 125 42 107 42 107 56 125 56 - 200 4 37 36 35 34 107 42 125 42 125 56 107 56 - 200 4 36 33 30 35 107 42 125 42 125 56 107 56 - 200 4 41 40 39 38 125 42 107 42 107 56 125 56 - 200 4 40 43 42 39 125 42 107 42 107 56 125 56 + 200 3 19 18 17 107 42 125 42 125 56 + 200 3 19 17 16 107 42 125 56 107 56 + 200 3 21 19 16 107 42 125 42 125 56 + 200 3 21 16 20 107 42 125 56 107 56 + 200 3 25 24 23 125 42 107 42 107 56 + 200 3 25 23 22 125 42 107 56 125 56 + 200 3 27 25 22 125 42 107 42 107 56 + 200 3 27 22 26 125 42 107 56 125 56 + 200 3 24 21 20 125 42 107 42 107 56 + 200 3 24 20 23 125 42 107 56 125 56 + 200 3 18 29 28 107 42 125 42 125 56 + 200 3 18 28 17 107 42 125 56 107 56 + 200 3 33 32 31 125 42 107 42 107 56 + 200 3 33 31 30 125 42 107 56 125 56 + 200 3 37 36 35 107 42 125 42 125 56 + 200 3 37 35 34 107 42 125 56 107 56 + 200 3 36 33 30 107 42 125 42 125 56 + 200 3 36 30 35 107 42 125 56 107 56 + 200 3 41 40 39 125 42 107 42 107 56 + 200 3 41 39 38 125 42 107 56 125 56 + 200 3 40 43 42 125 42 107 42 107 56 + 200 3 40 42 39 125 42 107 56 125 56 200 3 5 0 44 28 109 28 148 0 115 200 3 44 0 45 0 115 28 148 0 148 200 3 13 5 46 28 84 28 109 0 95 @@ -200,49 +211,92 @@ POLYGONS 130 200 3 64 53 65 105 41 105 0 82 41 200 3 65 53 52 82 41 105 0 67 0 200 3 54 65 52 42 0 82 41 67 0 - 200 4 66 7 6 67 1 184 29 184 29 250 1 250 - 200 4 67 6 7 66 1 250 29 250 29 184 1 184 - 200 4 71 70 69 68 219 39 233 26 193 26 206 39 - 200 4 69 70 73 72 193 26 233 26 206 0 193 13 - 200 4 73 70 75 74 206 0 233 26 233 13 219 0 - 200 4 77 76 75 70 121 66 107 66 107 57 121 57 - 200 4 78 77 70 71 109 66 120 66 120 57 109 57 - 200 4 79 78 71 68 107 66 121 66 121 57 107 57 - 200 4 81 80 69 72 107 66 121 66 121 57 107 57 - 200 4 80 79 68 69 120 66 109 66 109 57 120 57 - 200 4 82 81 72 73 120 66 109 66 109 57 120 57 - 200 4 83 82 73 74 121 66 107 66 107 57 121 57 - 200 4 76 83 74 75 109 66 120 66 120 57 109 57 - 200 4 14 84 85 13 29 184 1 184 1 249 29 249 - 200 4 13 85 84 14 29 249 1 249 1 184 29 184 - 200 4 89 88 87 86 219 39 233 26 193 26 206 39 - 200 4 87 88 91 90 193 26 233 26 206 0 193 13 - 200 4 91 88 93 92 206 0 233 26 233 13 219 0 - 200 4 95 94 86 87 120 66 109 66 109 57 120 57 - 200 4 96 95 87 90 107 66 121 66 121 57 107 57 - 200 4 97 96 90 91 120 66 109 66 109 57 120 57 - 200 4 94 98 89 86 107 66 121 66 121 57 107 57 - 200 4 98 99 88 89 109 66 120 66 120 57 109 57 - 200 4 101 100 92 93 109 66 120 66 120 57 109 57 - 200 4 99 101 93 88 121 66 107 66 107 57 121 57 - 200 4 100 97 91 92 121 66 107 66 107 57 121 57 - 200 4 29 103 102 28 107 42 125 42 125 56 107 56 - 200 4 43 37 34 42 107 42 125 42 125 56 107 56 - 200 4 105 41 38 104 125 42 107 42 107 56 125 56 - 200 4 32 105 104 31 125 42 107 42 107 56 125 56 - 200 4 103 27 26 102 107 42 125 42 125 56 107 56 - 200 4 19 21 24 25 184 0 192 7 192 15 184 22 - 200 4 103 19 25 27 170 15 184 0 184 22 177 22 - 200 4 18 19 103 29 177 0 184 0 170 15 170 7 - 200 4 43 40 36 37 192 7 184 0 184 22 192 15 - 200 4 40 32 33 36 184 0 170 15 177 22 184 22 - 200 4 40 41 105 32 184 0 177 0 170 7 170 15 - 200 4 106 107 108 109 31 180 31 180 7 159 7 159 - 200 4 109 108 107 106 7 159 7 159 31 180 31 180 - 200 4 107 110 111 108 31 180 31 150 1 150 7 159 - 200 4 108 111 110 107 7 159 1 150 31 150 31 180 - 200 4 110 106 109 111 31 150 31 180 7 159 1 150 - 200 4 111 109 106 110 1 150 7 159 31 180 31 150 + 200 3 66 7 6 1 184 29 184 29 250 + 200 3 66 6 67 1 184 29 250 1 250 + 200 3 67 6 7 1 250 29 250 29 184 + 200 3 67 7 66 1 250 29 184 1 184 + 200 3 71 70 69 219 39 233 26 193 26 + 200 3 71 69 68 219 39 193 26 206 39 + 200 3 69 70 73 193 26 233 26 206 0 + 200 3 69 73 72 193 26 206 0 193 13 + 200 3 73 70 75 206 0 233 26 233 13 + 200 3 73 75 74 206 0 233 13 219 0 + 200 3 77 76 75 121 66 107 66 107 57 + 200 3 77 75 70 121 66 107 57 121 57 + 200 3 78 77 70 109 66 120 66 120 57 + 200 3 78 70 71 109 66 120 57 109 57 + 200 3 79 78 71 107 66 121 66 121 57 + 200 3 79 71 68 107 66 121 57 107 57 + 200 3 81 80 69 107 66 121 66 121 57 + 200 3 81 69 72 107 66 121 57 107 57 + 200 3 80 79 68 120 66 109 66 109 57 + 200 3 80 68 69 120 66 109 57 120 57 + 200 3 82 81 72 120 66 109 66 109 57 + 200 3 82 72 73 120 66 109 57 120 57 + 200 3 83 82 73 121 66 107 66 107 57 + 200 3 83 73 74 121 66 107 57 121 57 + 200 3 76 83 74 109 66 120 66 120 57 + 200 3 76 74 75 109 66 120 57 109 57 + 200 3 14 84 85 29 184 1 184 1 249 + 200 3 14 85 13 29 184 1 249 29 249 + 200 3 13 85 84 29 249 1 249 1 184 + 200 3 13 84 14 29 249 1 184 29 184 + 200 3 89 88 87 219 39 233 26 193 26 + 200 3 89 87 86 219 39 193 26 206 39 + 200 3 87 88 91 193 26 233 26 206 0 + 200 3 87 91 90 193 26 206 0 193 13 + 200 3 91 88 93 206 0 233 26 233 13 + 200 3 91 93 92 206 0 233 13 219 0 + 200 3 95 94 86 120 66 109 66 109 57 + 200 3 95 86 87 120 66 109 57 120 57 + 200 3 96 95 87 107 66 121 66 121 57 + 200 3 96 87 90 107 66 121 57 107 57 + 200 3 97 96 90 120 66 109 66 109 57 + 200 3 97 90 91 120 66 109 57 120 57 + 200 3 94 98 89 107 66 121 66 121 57 + 200 3 94 89 86 107 66 121 57 107 57 + 200 3 98 99 88 109 66 120 66 120 57 + 200 3 98 88 89 109 66 120 57 109 57 + 200 3 101 100 92 109 66 120 66 120 57 + 200 3 101 92 93 109 66 120 57 109 57 + 200 3 99 101 93 121 66 107 66 107 57 + 200 3 99 93 88 121 66 107 57 121 57 + 200 3 100 97 91 121 66 107 66 107 57 + 200 3 100 91 92 121 66 107 57 121 57 + 200 3 29 103 102 107 42 125 42 125 56 + 200 3 29 102 28 107 42 125 56 107 56 + 200 3 43 37 34 107 42 125 42 125 56 + 200 3 43 34 42 107 42 125 56 107 56 + 200 3 105 41 38 125 42 107 42 107 56 + 200 3 105 38 104 125 42 107 56 125 56 + 200 3 32 105 104 125 42 107 42 107 56 + 200 3 32 104 31 125 42 107 56 125 56 + 200 3 103 27 26 107 42 125 42 125 56 + 200 3 103 26 102 107 42 125 56 107 56 + 200 3 19 21 24 184 0 192 7 192 15 + 200 3 19 24 25 184 0 192 15 184 22 + 200 3 103 19 25 170 15 184 0 184 22 + 200 3 103 25 27 170 15 184 22 177 22 + 200 3 18 19 103 177 0 184 0 170 15 + 200 3 18 103 29 177 0 170 15 170 7 + 200 3 43 40 36 192 7 184 0 184 22 + 200 3 43 36 37 192 7 184 22 192 15 + 200 3 40 32 33 184 0 170 15 177 22 + 200 3 40 33 36 184 0 177 22 184 22 + 200 3 40 41 105 184 0 177 0 170 7 + 200 3 40 105 32 184 0 170 7 170 15 + 200 3 106 107 108 31 180 31 180 7 159 + 200 3 106 108 109 31 180 7 159 7 159 + 200 3 109 108 107 7 159 7 159 31 180 + 200 3 109 107 106 7 159 31 180 31 180 + 200 3 107 110 111 31 180 31 150 1 150 + 200 3 107 111 108 31 180 1 150 7 159 + 200 3 108 111 110 7 159 1 150 31 150 + 200 3 108 110 107 7 159 31 150 31 180 + 200 3 110 106 109 31 150 31 180 7 159 + 200 3 110 109 111 31 150 7 159 1 150 + 200 3 111 109 106 1 150 7 159 31 180 + 200 3 111 106 110 1 150 31 180 31 150 200 3 107 106 110 31 180 31 180 31 150 200 3 110 106 107 31 150 31 180 31 180 200 3 108 111 109 7 159 1 150 7 159 diff --git a/data/mp/components/bodies/scbd_run.pie b/data/mp/components/bodies/scbd_run.pie index 85c857a17..9b127bfb8 100644 --- a/data/mp/components/bodies/scbd_run.pie +++ b/data/mp/components/bodies/scbd_run.pie @@ -12,11 +12,15 @@ POINTS 8 14 8 -5 12 26 11 7 42 -6 -POLYGONS 4 - 200 4 0 1 2 3 188 212 180 212 180 200 188 200 - 200 4 3 2 1 0 188 200 180 200 180 212 188 212 - 200 4 4 5 6 7 171 212 179 212 179 200 171 200 - 200 4 7 6 5 4 171 200 179 200 179 212 171 212 +POLYGONS 8 + 200 3 0 1 2 188 212 180 212 180 200 + 200 3 0 2 3 188 212 180 200 188 200 + 200 3 3 2 1 188 200 180 200 180 212 + 200 3 3 1 0 188 200 180 212 188 212 + 200 3 4 5 6 171 212 179 212 179 200 + 200 3 4 6 7 171 212 179 200 171 200 + 200 3 7 6 5 171 200 179 200 179 212 + 200 3 7 5 4 171 200 179 212 171 212 LEVEL 2 POINTS 8 3 2 -19 @@ -27,11 +31,15 @@ POINTS 8 14 0 -11 13 16 -1 10 26 -19 -POLYGONS 4 - 200 4 0 1 2 3 165 199 159 199 159 189 165 189 - 200 4 3 2 1 0 165 189 159 189 159 199 165 199 - 200 4 4 5 6 7 152 199 158 199 158 189 152 189 - 200 4 7 6 5 4 152 189 158 189 158 199 152 199 +POLYGONS 8 + 200 3 0 1 2 165 199 159 199 159 189 + 200 3 0 2 3 165 199 159 189 165 189 + 200 3 3 2 1 165 189 159 189 159 199 + 200 3 3 1 0 165 189 159 199 165 199 + 200 3 4 5 6 152 199 158 199 158 189 + 200 3 4 6 7 152 199 158 189 152 189 + 200 3 7 6 5 152 189 158 189 158 199 + 200 3 7 5 4 152 189 158 199 152 199 LEVEL 3 POINTS 8 3 4 -33 @@ -42,11 +50,15 @@ POINTS 8 13 0 -7 12 7 -5 12 12 -31 -POLYGONS 4 - 200 4 0 1 2 3 156 213 156 206 165 206 165 213 - 200 4 3 2 1 0 165 213 165 206 156 206 156 213 - 200 4 4 5 6 7 166 199 175 199 175 195 166 195 - 200 4 7 6 5 4 166 195 175 195 175 199 166 199 +POLYGONS 8 + 200 3 0 1 2 156 213 156 206 165 206 + 200 3 0 2 3 156 213 165 206 165 213 + 200 3 3 2 1 165 213 165 206 156 206 + 200 3 3 1 0 165 213 156 206 156 213 + 200 3 4 5 6 166 199 175 199 175 195 + 200 3 4 6 7 166 199 175 195 166 195 + 200 3 7 6 5 166 195 175 195 175 199 + 200 3 7 5 4 166 195 175 199 166 199 LEVEL 4 POINTS 8 -20 10 2 @@ -57,11 +69,15 @@ POINTS 8 -12 8 -9 -10 32 -12 -10 36 11 -POLYGONS 4 - 200 4 0 1 2 3 180 212 188 212 188 200 180 200 - 200 4 3 2 1 0 180 200 188 200 188 212 180 212 - 200 4 4 5 6 7 179 212 171 212 171 200 179 200 - 200 4 7 6 5 4 179 200 171 200 171 212 179 212 +POLYGONS 8 + 200 3 0 1 2 180 212 188 212 188 200 + 200 3 0 2 3 180 212 188 200 180 200 + 200 3 3 2 1 180 200 188 200 188 212 + 200 3 3 1 0 180 200 188 212 180 212 + 200 3 4 5 6 179 212 171 212 171 200 + 200 3 4 6 7 179 212 171 200 179 200 + 200 3 7 6 5 179 200 171 200 171 212 + 200 3 7 5 4 179 200 171 212 179 212 LEVEL 5 POINTS 8 -18 4 17 @@ -72,11 +88,15 @@ POINTS 8 -11 -3 10 -13 9 -5 -10 24 6 -POLYGONS 4 - 200 4 0 1 2 3 159 199 165 199 165 189 159 189 - 200 4 3 2 1 0 159 189 165 189 165 199 159 199 - 200 4 4 5 6 7 158 199 152 199 152 189 158 189 - 200 4 7 6 5 4 158 189 152 189 152 199 158 199 +POLYGONS 8 + 200 3 0 1 2 159 199 165 199 165 189 + 200 3 0 2 3 159 199 165 189 159 189 + 200 3 3 2 1 159 189 165 189 165 199 + 200 3 3 1 0 159 189 165 199 159 199 + 200 3 4 5 6 158 199 152 199 152 189 + 200 3 4 6 7 158 199 152 189 158 189 + 200 3 7 6 5 158 189 152 189 152 199 + 200 3 7 5 4 158 189 152 199 158 199 LEVEL 6 POINTS 8 -21 4 0 @@ -87,8 +107,12 @@ POINTS 8 -11 0 0 -9 7 0 -9 12 25 -POLYGONS 4 - 200 4 0 1 2 3 156 206 156 213 165 213 165 206 - 200 4 3 2 1 0 165 206 165 213 156 213 156 206 - 200 4 4 5 6 7 175 199 166 199 166 195 175 195 - 200 4 7 6 5 4 175 195 166 195 166 199 175 199 +POLYGONS 8 + 200 3 0 1 2 156 206 156 213 165 213 + 200 3 0 2 3 156 206 165 213 165 206 + 200 3 3 2 1 165 206 165 213 156 213 + 200 3 3 1 0 165 206 156 213 156 206 + 200 3 4 5 6 175 199 166 199 166 195 + 200 3 4 6 7 175 199 166 195 175 195 + 200 3 7 6 5 175 195 166 195 166 199 + 200 3 7 5 4 175 195 166 199 175 199 \ No newline at end of file diff --git a/data/mp/components/bodies/scbd_std.pie b/data/mp/components/bodies/scbd_std.pie index 57e470409..a2d816708 100644 --- a/data/mp/components/bodies/scbd_std.pie +++ b/data/mp/components/bodies/scbd_std.pie @@ -52,30 +52,54 @@ POINTS 48 -12 0 -7 -11 7 -8 -12 12 17 -POLYGONS 24 - 200 4 0 1 2 3 188 212 180 212 180 200 188 200 - 200 4 3 2 1 0 188 200 180 200 180 212 188 212 - 200 4 4 5 6 7 171 212 179 212 179 200 171 200 - 200 4 7 6 5 4 171 200 179 200 179 212 171 212 - 200 4 8 9 10 11 165 199 159 199 159 189 165 189 - 200 4 11 10 9 8 165 189 159 189 159 199 165 199 - 200 4 12 13 14 15 152 199 158 199 158 189 152 189 - 200 4 15 14 13 12 152 189 158 189 158 199 152 199 - 200 4 16 17 18 19 156 213 156 206 165 206 165 213 - 200 4 19 18 17 16 165 213 165 206 156 206 156 213 - 200 4 20 21 22 23 166 199 175 199 175 195 166 195 - 200 4 23 22 21 20 166 195 175 195 175 199 166 199 - 200 4 24 25 26 27 180 212 188 212 188 200 180 200 - 200 4 27 26 25 24 180 200 188 200 188 212 180 212 - 200 4 28 29 30 31 179 212 171 212 171 200 179 200 - 200 4 31 30 29 28 179 200 171 200 171 212 179 212 - 200 4 32 33 34 35 159 199 165 199 165 189 159 189 - 200 4 35 34 33 32 159 189 165 189 165 199 159 199 - 200 4 36 37 38 39 158 199 152 199 152 189 158 189 - 200 4 39 38 37 36 158 189 152 189 152 199 158 199 - 200 4 40 41 42 43 156 206 156 213 165 213 165 206 - 200 4 43 42 41 40 165 206 165 213 156 213 156 206 - 200 4 44 45 46 47 175 199 166 199 166 195 175 195 - 200 4 47 46 45 44 175 195 166 195 166 199 175 199 +POLYGONS 48 + 200 3 0 1 2 188 212 180 212 180 200 + 200 3 0 2 3 188 212 180 200 188 200 + 200 3 3 2 1 188 200 180 200 180 212 + 200 3 3 1 0 188 200 180 212 188 212 + 200 3 4 5 6 171 212 179 212 179 200 + 200 3 4 6 7 171 212 179 200 171 200 + 200 3 7 6 5 171 200 179 200 179 212 + 200 3 7 5 4 171 200 179 212 171 212 + 200 3 8 9 10 165 199 159 199 159 189 + 200 3 8 10 11 165 199 159 189 165 189 + 200 3 11 10 9 165 189 159 189 159 199 + 200 3 11 9 8 165 189 159 199 165 199 + 200 3 12 13 14 152 199 158 199 158 189 + 200 3 12 14 15 152 199 158 189 152 189 + 200 3 15 14 13 152 189 158 189 158 199 + 200 3 15 13 12 152 189 158 199 152 199 + 200 3 16 17 18 156 213 156 206 165 206 + 200 3 16 18 19 156 213 165 206 165 213 + 200 3 19 18 17 165 213 165 206 156 206 + 200 3 19 17 16 165 213 156 206 156 213 + 200 3 20 21 22 166 199 175 199 175 195 + 200 3 20 22 23 166 199 175 195 166 195 + 200 3 23 22 21 166 195 175 195 175 199 + 200 3 23 21 20 166 195 175 199 166 199 + 200 3 24 25 26 180 212 188 212 188 200 + 200 3 24 26 27 180 212 188 200 180 200 + 200 3 27 26 25 180 200 188 200 188 212 + 200 3 27 25 24 180 200 188 212 180 212 + 200 3 28 29 30 179 212 171 212 171 200 + 200 3 28 30 31 179 212 171 200 179 200 + 200 3 31 30 29 179 200 171 200 171 212 + 200 3 31 29 28 179 200 171 212 179 212 + 200 3 32 33 34 159 199 165 199 165 189 + 200 3 32 34 35 159 199 165 189 159 189 + 200 3 35 34 33 159 189 165 189 165 199 + 200 3 35 33 32 159 189 165 199 159 199 + 200 3 36 37 38 158 199 152 199 152 189 + 200 3 36 38 39 158 199 152 189 158 189 + 200 3 39 38 37 158 189 152 189 152 199 + 200 3 39 37 36 158 189 152 199 158 199 + 200 3 40 41 42 156 206 156 213 165 213 + 200 3 40 42 43 156 206 165 213 165 206 + 200 3 43 42 41 165 206 165 213 156 213 + 200 3 43 41 40 165 206 156 213 156 206 + 200 3 44 45 46 175 199 166 199 166 195 + 200 3 44 46 47 175 199 166 195 175 195 + 200 3 47 46 45 175 195 166 195 166 199 + 200 3 47 45 44 175 195 166 199 175 199 CONNECTORS 1 0 0 36 diff --git a/data/mp/components/prop/prshov1.pie b/data/mp/components/prop/prshov1.pie index 79e661fb2..495cc8af6 100644 --- a/data/mp/components/prop/prshov1.pie +++ b/data/mp/components/prop/prshov1.pie @@ -52,44 +52,79 @@ POINTS 48 41 29 -44 -46 2 -44 -41 29 -44 -POLYGONS 40 - 200 4 0 1 1 0 0 48 0 55 0 55 0 48 - 200 4 1 2 2 1 0 55 7 55 7 55 0 55 - 200 4 2 3 3 2 7 55 7 48 7 48 7 55 - 200 4 3 0 0 3 7 48 0 48 0 48 7 48 - 200 4 3 0 1 2 7 48 0 48 0 55 7 55 - 200 4 1 0 3 2 0 55 0 48 7 48 7 55 - 200 4 4 5 5 4 0 48 0 55 0 55 0 48 - 200 4 5 6 6 5 0 55 7 55 7 55 0 55 - 200 4 6 7 7 6 7 55 7 48 7 48 7 55 - 200 4 7 4 4 7 7 48 0 48 0 48 7 48 - 200 4 7 4 5 6 7 48 0 48 0 55 7 55 - 200 4 5 4 7 6 0 55 0 48 7 48 7 55 - 200 4 11 10 9 8 13 63 18 63 20 68 11 68 +POLYGONS 75 + 200 3 0 1 1 0 48 0 55 0 55 + 200 3 0 1 0 0 48 0 55 0 48 + 200 3 1 2 2 0 55 7 55 7 55 + 200 3 1 2 1 0 55 7 55 0 55 + 200 3 2 3 3 7 55 7 48 7 48 + 200 3 2 3 2 7 55 7 48 7 55 + 200 3 3 0 0 7 48 0 48 0 48 + 200 3 3 0 3 7 48 0 48 7 48 + 200 3 3 0 1 7 48 0 48 0 55 + 200 3 3 1 2 7 48 0 55 7 55 + 200 3 1 0 3 0 55 0 48 7 48 + 200 3 1 3 2 0 55 7 48 7 55 + 200 3 4 5 5 0 48 0 55 0 55 + 200 3 4 5 4 0 48 0 55 0 48 + 200 3 5 6 6 0 55 7 55 7 55 + 200 3 5 6 5 0 55 7 55 0 55 + 200 3 6 7 7 7 55 7 48 7 48 + 200 3 6 7 6 7 55 7 48 7 55 + 200 3 7 4 4 7 48 0 48 0 48 + 200 3 7 4 7 7 48 0 48 7 48 + 200 3 7 4 5 7 48 0 48 0 55 + 200 3 7 5 6 7 48 0 55 7 55 + 200 3 5 4 7 0 55 0 48 7 48 + 200 3 5 7 6 0 55 7 48 7 55 + 200 3 11 10 9 13 63 18 63 20 68 + 200 3 11 9 8 13 63 20 68 11 68 200 3 9 12 8 20 68 16 71 11 68 - 200 4 14 13 8 12 17 85 11 85 11 92 17 92 - 200 4 13 15 11 8 11 85 0 85 0 92 11 92 - 200 4 17 16 9 10 0 85 11 85 11 92 0 92 - 200 4 16 14 12 9 11 85 17 85 17 92 11 92 - 200 4 17 15 13 14 2 63 7 63 9 68 4 71 + 200 3 14 13 8 17 85 11 85 11 92 + 200 3 14 8 12 17 85 11 92 17 92 + 200 3 13 15 11 11 85 0 85 0 92 + 200 3 13 11 8 11 85 0 92 11 92 + 200 3 17 16 9 0 85 11 85 11 92 + 200 3 17 9 10 0 85 11 92 0 92 + 200 3 16 14 12 11 85 17 85 17 92 + 200 3 16 12 9 11 85 17 92 11 92 + 200 3 17 15 13 2 63 7 63 9 68 + 200 3 17 13 14 2 63 9 68 4 71 200 3 16 17 14 0 68 2 63 4 71 - 200 4 20 19 18 9 13 63 18 63 20 68 11 68 + 200 3 20 19 18 13 63 18 63 20 68 + 200 3 20 18 9 13 63 20 68 11 68 200 3 18 21 9 20 68 16 71 11 68 - 200 4 22 16 9 21 17 85 11 85 11 92 17 92 - 200 4 16 23 20 9 11 85 0 85 0 92 11 92 - 200 4 25 24 18 19 0 85 11 85 11 92 0 92 - 200 4 24 22 21 18 11 85 17 85 17 92 11 92 - 200 4 25 23 16 22 2 63 7 63 9 68 4 71 + 200 3 22 16 9 17 85 11 85 11 92 + 200 3 22 9 21 17 85 11 92 17 92 + 200 3 16 23 20 11 85 0 85 0 92 + 200 3 16 20 9 11 85 0 92 11 92 + 200 3 25 24 18 0 85 11 85 11 92 + 200 3 25 18 19 0 85 11 92 0 92 + 200 3 24 22 21 11 85 17 85 17 92 + 200 3 24 21 18 11 85 17 92 11 92 + 200 3 25 23 16 2 63 7 63 9 68 + 200 3 25 16 22 2 63 9 68 4 71 200 3 24 25 22 0 68 2 63 4 71 - 200 4 29 28 27 26 4 40 8 48 0 48 0 40 - 200 4 27 28 31 30 0 48 8 48 4 40 0 40 + 200 3 29 28 27 4 40 8 48 0 48 + 200 3 29 27 26 4 40 0 48 0 40 + 200 3 27 28 31 0 48 8 48 4 40 + 200 3 27 31 30 0 48 4 40 0 40 200 3 29 31 28 4 40 4 40 8 48 - 200 4 35 34 33 32 199 34 199 1 192 0 192 35 - 200 4 39 38 37 36 199 1 199 34 192 35 192 0 - 200 4 41 39 36 40 199 0 199 31 192 35 192 0 - 200 4 38 43 42 37 199 31 199 0 192 0 192 35 - 200 4 45 41 40 44 199 35 199 0 192 0 192 35 - 200 4 43 47 46 42 199 0 199 35 192 35 192 0 - 200 4 34 45 44 33 199 31 199 0 192 0 192 35 - 200 4 47 35 32 46 199 0 199 31 192 35 192 0 - 200 4 38 39 41 43 19 33 5 33 0 24 24 24 \ No newline at end of file + 200 3 35 34 33 199 34 199 1 192 0 + 200 3 35 33 32 199 34 192 0 192 35 + 200 3 39 38 37 199 1 199 34 192 35 + 200 3 39 37 36 199 1 192 35 192 0 + 200 3 41 39 36 199 0 199 31 192 35 + 200 3 41 36 40 199 0 192 35 192 0 + 200 3 38 43 42 199 31 199 0 192 0 + 200 3 38 42 37 199 31 192 0 192 35 + 200 3 45 41 40 199 35 199 0 192 0 + 200 3 45 40 44 199 35 192 0 192 35 + 200 3 43 47 46 199 0 199 35 192 35 + 200 3 43 46 42 199 0 192 35 192 0 + 200 3 34 45 44 199 31 199 0 192 0 + 200 3 34 44 33 199 31 192 0 192 35 + 200 3 47 35 32 199 0 199 31 192 35 + 200 3 47 32 46 199 0 192 35 192 0 + 200 3 38 39 41 19 33 5 33 0 24 + 200 3 38 41 43 19 33 0 24 24 24 \ No newline at end of file diff --git a/data/mp/components/prop/prslhtr4.pie b/data/mp/components/prop/prslhtr4.pie index 53474d348..cf798bc2a 100644 --- a/data/mp/components/prop/prslhtr4.pie +++ b/data/mp/components/prop/prslhtr4.pie @@ -42,42 +42,78 @@ POINTS 38 45 20 54 45 29 46 45 8 54 -POLYGONS 38 - 200 4 3 2 1 0 35 56 35 62 43 62 43 56 - 200 4 7 6 5 4 8 84 5 84 5 73 8 73 - 200 4 11 10 9 8 17 84 13 84 13 73 17 73 - 200 4 10 7 4 9 13 84 8 84 8 73 13 73 - 200 4 12 8 5 0 113 175 113 165 97 165 97 175 - 200 4 8 9 4 5 113 165 108 159 101 159 97 165 - 200 4 6 11 13 3 97 165 113 165 113 175 97 175 - 200 4 7 10 11 6 101 159 108 159 113 165 97 165 - 200 4 13 11 8 12 13 214 13 197 0 197 0 214 - 200 4 6 3 0 5 35 56 35 62 43 62 43 56 - 200 4 15 13 12 14 13 221 13 190 0 190 0 221 - 200 4 2 17 16 1 4 84 8 84 8 73 4 73 - 200 4 17 19 18 16 8 84 13 84 13 73 8 73 - 200 4 19 15 14 18 13 84 17 84 17 73 13 73 - 200 4 0 1 14 12 97 150 97 173 113 173 113 150 - 200 4 15 2 3 13 113 173 97 173 97 150 113 150 - 200 4 1 16 18 14 97 163 102 156 108 156 113 162 - 200 4 19 17 2 15 108 156 102 156 97 163 113 162 - 200 4 23 22 21 20 12 142 0 142 0 160 12 160 - 200 4 17 19 22 23 9 137 3 137 0 142 12 142 - 200 4 27 26 25 24 0 142 3 137 12 142 12 160 +POLYGONS 74 + 200 3 3 2 1 35 56 35 62 43 62 + 200 3 3 1 0 35 56 43 62 43 56 + 200 3 7 6 5 8 84 5 84 5 73 + 200 3 7 5 4 8 84 5 73 8 73 + 200 3 11 10 9 17 84 13 84 13 73 + 200 3 11 9 8 17 84 13 73 17 73 + 200 3 10 7 4 13 84 8 84 8 73 + 200 3 10 4 9 13 84 8 73 13 73 + 200 3 12 8 5 113 175 113 165 97 165 + 200 3 12 5 0 113 175 97 165 97 175 + 200 3 8 9 4 113 165 108 159 101 159 + 200 3 8 4 5 113 165 101 159 97 165 + 200 3 6 11 13 97 165 113 165 113 175 + 200 3 6 13 3 97 165 113 175 97 175 + 200 3 7 10 11 101 159 108 159 113 165 + 200 3 7 11 6 101 159 113 165 97 165 + 200 3 13 11 8 13 214 13 197 0 197 + 200 3 13 8 12 13 214 0 197 0 214 + 200 3 6 3 0 35 56 35 62 43 62 + 200 3 6 0 5 35 56 43 62 43 56 + 200 3 15 13 12 13 221 13 190 0 190 + 200 3 15 12 14 13 221 0 190 0 221 + 200 3 2 17 16 4 84 8 84 8 73 + 200 3 2 16 1 4 84 8 73 4 73 + 200 3 17 19 18 8 84 13 84 13 73 + 200 3 17 18 16 8 84 13 73 8 73 + 200 3 19 15 14 13 84 17 84 17 73 + 200 3 19 14 18 13 84 17 73 13 73 + 200 3 0 1 14 97 150 97 173 113 173 + 200 3 0 14 12 97 150 113 173 113 150 + 200 3 15 2 3 113 173 97 173 97 150 + 200 3 15 3 13 113 173 97 150 113 150 + 200 3 1 16 18 97 163 102 156 108 156 + 200 3 1 18 14 97 163 108 156 113 162 + 200 3 19 17 2 108 156 102 156 97 163 + 200 3 19 2 15 108 156 97 163 113 162 + 200 3 23 22 21 12 142 0 142 0 160 + 200 3 23 21 20 12 142 0 160 12 160 + 200 3 17 19 22 9 137 3 137 0 142 + 200 3 17 22 23 9 137 0 142 12 142 + 200 3 27 26 25 0 142 3 137 12 142 + 200 3 27 25 24 0 142 12 142 12 160 200 3 24 28 27 12 160 0 160 0 142 - 200 4 27 26 29 25 0 142 3 137 9 137 12 142 - 200 4 24 25 23 20 94 136 94 98 88 98 88 136 - 200 4 25 29 17 23 94 124 94 110 88 110 88 124 - 200 4 29 26 19 17 10 186 10 175 0 175 0 186 - 200 4 26 27 22 19 11 98 11 105 0 105 0 98 - 200 4 27 28 21 22 11 105 11 123 0 123 0 105 - 200 4 31 30 28 24 12 142 0 142 0 160 12 160 - 200 4 33 32 30 31 9 137 3 137 0 142 12 142 - 200 4 36 35 34 20 0 142 3 137 12 142 12 160 + 200 3 27 26 29 0 142 3 137 9 137 + 200 3 27 29 25 0 142 9 137 12 142 + 200 3 24 25 23 94 136 94 98 88 98 + 200 3 24 23 20 94 136 88 98 88 136 + 200 3 25 29 17 94 124 94 110 88 110 + 200 3 25 17 23 94 124 88 110 88 124 + 200 3 29 26 19 10 186 10 175 0 175 + 200 3 29 19 17 10 186 0 175 0 186 + 200 3 26 27 22 11 98 11 105 0 105 + 200 3 26 22 19 11 98 0 105 0 98 + 200 3 27 28 21 11 105 11 123 0 123 + 200 3 27 21 22 11 105 0 123 0 105 + 200 3 31 30 28 12 142 0 142 0 160 + 200 3 31 28 24 12 142 0 160 12 160 + 200 3 33 32 30 9 137 3 137 0 142 + 200 3 33 30 31 9 137 0 142 12 142 + 200 3 36 35 34 0 142 3 137 12 142 + 200 3 36 34 20 0 142 12 142 12 160 200 3 20 21 36 12 160 0 160 0 142 - 200 4 36 35 37 34 0 142 3 137 9 137 12 142 - 200 4 20 34 31 24 94 136 94 98 88 98 88 136 - 200 4 34 37 33 31 94 124 94 110 88 110 88 124 - 200 4 37 35 32 33 10 186 10 175 0 175 0 186 - 200 4 35 36 30 32 11 98 11 105 0 105 0 98 - 200 4 36 21 28 30 11 105 11 123 0 123 0 105 \ No newline at end of file + 200 3 36 35 37 0 142 3 137 9 137 + 200 3 36 37 34 0 142 9 137 12 142 + 200 3 20 34 31 94 136 94 98 88 98 + 200 3 20 31 24 94 136 88 98 88 136 + 200 3 34 37 33 94 124 94 110 88 110 + 200 3 34 33 31 94 124 88 110 88 124 + 200 3 37 35 32 10 186 10 175 0 175 + 200 3 37 32 33 10 186 0 175 0 186 + 200 3 35 36 30 11 98 11 105 0 105 + 200 3 35 30 32 11 98 0 105 0 98 + 200 3 36 21 28 11 105 11 123 0 123 + 200 3 36 28 30 11 105 0 123 0 105 \ No newline at end of file diff --git a/data/mp/components/prop/prsltrk4.pie b/data/mp/components/prop/prsltrk4.pie index 31b66433f..a9e7d0992 100644 --- a/data/mp/components/prop/prsltrk4.pie +++ b/data/mp/components/prop/prsltrk4.pie @@ -32,32 +32,58 @@ POINTS 28 42 0 47 42 20 57 42 7 57 -POLYGONS 28 - 200 4 3 2 1 0 12 165 0 165 4 171 9 171 - 200 4 5 4 2 3 12 143 0 143 0 165 12 165 - 200 4 7 6 4 5 8 137 4 137 0 143 12 143 - 200 4 11 10 9 8 0 165 0 143 12 165 9 171 +POLYGONS 54 + 200 3 3 2 1 12 165 0 165 4 171 + 200 3 3 1 0 12 165 4 171 9 171 + 200 3 5 4 2 12 143 0 143 0 165 + 200 3 5 2 3 12 143 0 165 12 165 + 200 3 7 6 4 8 137 4 137 0 143 + 200 3 7 4 5 8 137 0 143 12 143 + 200 3 11 10 9 0 165 0 143 12 165 + 200 3 11 9 8 0 165 12 165 9 171 200 3 8 12 11 9 171 4 171 0 165 - 200 4 10 14 13 9 0 143 4 137 12 143 12 165 - 200 4 10 14 15 13 0 143 4 137 8 137 12 143 - 200 4 8 9 3 0 94 125 94 109 88 109 88 125 - 200 4 9 13 5 3 94 136 94 98 88 98 88 136 - 200 4 13 15 7 5 94 124 94 110 88 110 88 124 - 200 4 14 10 4 6 11 98 11 105 0 105 0 98 - 200 4 10 11 2 4 11 105 11 129 0 129 0 105 - 200 4 11 12 1 2 11 129 11 136 0 136 0 129 - 200 4 12 8 0 1 10 175 10 186 0 186 0 175 - 200 4 17 16 6 7 12 165 0 165 4 171 9 171 - 200 4 19 18 16 17 12 143 0 143 0 165 12 165 - 200 4 21 20 18 19 8 137 4 137 0 143 12 143 - 200 4 24 23 22 15 0 165 0 143 12 165 9 171 + 200 3 10 14 13 0 143 4 137 12 143 + 200 3 10 13 9 0 143 12 143 12 165 + 200 3 10 14 15 0 143 4 137 8 137 + 200 3 10 15 13 0 143 8 137 12 143 + 200 3 8 9 3 94 125 94 109 88 109 + 200 3 8 3 0 94 125 88 109 88 125 + 200 3 9 13 5 94 136 94 98 88 98 + 200 3 9 5 3 94 136 88 98 88 136 + 200 3 13 15 7 94 124 94 110 88 110 + 200 3 13 7 5 94 124 88 110 88 124 + 200 3 14 10 4 11 98 11 105 0 105 + 200 3 14 4 6 11 98 0 105 0 98 + 200 3 10 11 2 11 105 11 129 0 129 + 200 3 10 2 4 11 105 0 129 0 105 + 200 3 11 12 1 11 129 11 136 0 136 + 200 3 11 1 2 11 129 0 136 0 129 + 200 3 12 8 0 10 175 10 186 0 186 + 200 3 12 0 1 10 175 0 186 0 175 + 200 3 17 16 6 12 165 0 165 4 171 + 200 3 17 6 7 12 165 4 171 9 171 + 200 3 19 18 16 12 143 0 143 0 165 + 200 3 19 16 17 12 143 0 165 12 165 + 200 3 21 20 18 8 137 4 137 0 143 + 200 3 21 18 19 8 137 0 143 12 143 + 200 3 24 23 22 0 165 0 143 12 165 + 200 3 24 22 15 0 165 12 165 9 171 200 3 15 14 24 9 171 4 171 0 165 - 200 4 23 26 25 22 0 143 4 137 12 143 12 165 - 200 4 23 26 27 25 0 143 4 137 8 137 12 143 - 200 4 15 22 17 7 94 125 94 109 88 109 88 125 - 200 4 22 25 19 17 94 136 94 98 88 98 88 136 - 200 4 25 27 21 19 94 124 94 110 88 110 88 124 - 200 4 27 26 20 21 10 186 10 175 0 175 0 186 - 200 4 26 23 18 20 11 98 11 105 0 105 0 98 - 200 4 23 24 16 18 11 105 11 129 0 129 0 105 - 200 4 24 14 6 16 11 129 11 136 0 136 0 129 \ No newline at end of file + 200 3 23 26 25 0 143 4 137 12 143 + 200 3 23 25 22 0 143 12 143 12 165 + 200 3 23 26 27 0 143 4 137 8 137 + 200 3 23 27 25 0 143 8 137 12 143 + 200 3 15 22 17 94 125 94 109 88 109 + 200 3 15 17 7 94 125 88 109 88 125 + 200 3 22 25 19 94 136 94 98 88 98 + 200 3 22 19 17 94 136 88 98 88 136 + 200 3 25 27 21 94 124 94 110 88 110 + 200 3 25 21 19 94 124 88 110 88 124 + 200 3 27 26 20 10 186 10 175 0 175 + 200 3 27 20 21 10 186 0 175 0 186 + 200 3 26 23 18 11 98 11 105 0 105 + 200 3 26 18 20 11 98 0 105 0 98 + 200 3 23 24 16 11 105 11 129 0 129 + 200 3 23 16 18 11 105 0 129 0 105 + 200 3 24 14 6 11 129 11 136 0 136 + 200 3 24 6 16 11 129 0 136 0 129 \ No newline at end of file diff --git a/data/mp/components/prop/prslvtl1.pie b/data/mp/components/prop/prslvtl1.pie index 2a4cdaf80..880a6bafb 100644 --- a/data/mp/components/prop/prslvtl1.pie +++ b/data/mp/components/prop/prslvtl1.pie @@ -28,30 +28,49 @@ POINTS 24 10 33 48 0 23 42 0 23 52 -POLYGONS 26 - 200 4 3 2 1 0 0 217 9 194 21 201 28 225 - 200 4 1 2 4 0 21 201 7 194 1 225 29 225 +POLYGONS 45 + 200 3 3 2 1 0 217 9 194 21 201 + 200 3 3 1 0 0 217 21 201 28 225 + 200 3 1 2 4 21 201 7 194 1 225 + 200 3 1 4 0 21 201 1 225 29 225 200 3 3 4 2 0 99 0 92 28 99 - 200 4 5 6 7 8 178 1 178 21 190 17 190 5 - 200 4 8 7 6 5 190 5 190 17 178 21 178 1 + 200 3 5 6 7 178 1 178 21 190 17 + 200 3 5 7 8 178 1 190 17 190 5 + 200 3 8 7 6 190 5 190 17 178 21 + 200 3 8 6 5 190 5 178 21 178 1 200 3 5 9 6 178 1 170 11 178 21 200 3 6 9 5 178 21 170 11 178 1 - 200 4 9 5 10 11 107 56 125 56 125 42 107 42 - 200 4 11 10 5 9 107 42 125 42 125 56 107 56 - 200 4 5 8 12 10 107 56 125 56 125 42 107 42 - 200 4 10 12 8 5 107 42 125 42 125 56 107 56 - 200 4 8 7 13 12 125 56 107 56 107 42 125 42 - 200 4 12 13 7 8 125 42 107 42 107 56 125 56 - 200 4 7 6 14 13 125 56 107 56 107 42 125 42 - 200 4 13 14 6 7 125 42 107 42 107 56 125 56 - 200 4 6 9 11 14 125 56 107 56 107 42 125 42 - 200 4 14 11 9 6 125 42 107 42 107 56 125 56 - 200 4 11 10 12 13 170 11 178 1 190 5 190 17 - 200 4 13 12 10 11 190 17 190 5 178 1 170 11 + 200 3 9 5 10 107 56 125 56 125 42 + 200 3 9 10 11 107 56 125 42 107 42 + 200 3 11 10 5 107 42 125 42 125 56 + 200 3 11 5 9 107 42 125 56 107 56 + 200 3 5 8 12 107 56 125 56 125 42 + 200 3 5 12 10 107 56 125 42 107 42 + 200 3 10 12 8 107 42 125 42 125 56 + 200 3 10 8 5 107 42 125 56 107 56 + 200 3 8 7 13 125 56 107 56 107 42 + 200 3 8 13 12 125 56 107 42 125 42 + 200 3 12 13 7 125 42 107 42 107 56 + 200 3 12 7 8 125 42 107 56 125 56 + 200 3 7 6 14 125 56 107 56 107 42 + 200 3 7 14 13 125 56 107 42 125 42 + 200 3 13 14 6 125 42 107 42 107 56 + 200 3 13 6 7 125 42 107 56 125 56 + 200 3 6 9 11 125 56 107 56 107 42 + 200 3 6 11 14 125 56 107 42 125 42 + 200 3 14 11 9 125 42 107 42 107 56 + 200 3 14 9 6 125 42 107 56 125 56 + 200 3 11 10 12 170 11 178 1 190 5 + 200 3 11 12 13 170 11 190 5 190 17 + 200 3 13 12 10 190 17 190 5 178 1 + 200 3 13 10 11 190 17 178 1 170 11 200 3 11 13 14 170 11 190 17 178 21 200 3 14 13 11 178 21 190 17 170 11 - 200 4 15 16 17 18 0 179 32 179 32 148 0 148 - 200 4 18 17 16 15 0 148 32 148 32 179 0 179 + 200 3 15 16 17 0 179 32 179 32 148 + 200 3 15 17 18 0 179 32 148 0 148 + 200 3 18 17 16 0 148 32 148 32 179 + 200 3 18 16 15 0 148 32 179 0 179 200 3 21 20 19 115 61 108 56 115 56 - 200 4 21 19 23 22 115 61 115 56 122 56 122 66 - 200 3 19 20 23 237 112 237 112 236 112 + 200 3 21 19 23 115 61 115 56 122 56 + 200 3 21 23 22 115 61 122 56 122 66 + 200 3 19 20 23 237 112 237 112 236 112 \ No newline at end of file diff --git a/data/mp/components/prop/prslwhl1.pie b/data/mp/components/prop/prslwhl1.pie index 06d2bdff8..6939d6fe6 100644 --- a/data/mp/components/prop/prslwhl1.pie +++ b/data/mp/components/prop/prslwhl1.pie @@ -138,119 +138,243 @@ POINTS 134 44 12 -17 24 19 -75 41 19 -75 -POLYGONS 115 - 200 4 12 9 2 11 27 52 27 53 21 53 21 52 - 200 4 13 3 9 12 27 52 27 53 21 53 21 52 - 200 4 14 0 3 13 27 52 27 53 21 53 21 52 - 200 4 15 4 0 14 27 52 27 53 21 53 21 52 - 200 4 16 10 4 15 27 52 27 53 21 53 21 52 - 200 4 17 5 10 16 27 52 27 53 21 53 21 52 - 200 4 11 2 7 18 27 52 27 53 21 53 21 52 - 200 4 19 8 5 17 27 52 27 53 21 53 21 52 - 200 4 18 7 1 20 27 52 27 53 21 53 21 52 - 200 4 21 6 8 19 27 52 27 53 21 53 21 52 - 200 4 12 11 18 19 150 161 152 160 154 159 154 174 - 200 4 14 13 12 19 147 167 148 164 150 161 154 174 - 200 5 15 14 19 17 16 148 170 147 167 154 174 152 173 150 172 - 200 4 38 37 28 35 27 52 21 52 21 53 27 53 - 200 4 39 38 35 29 27 52 21 52 21 53 27 53 - 200 4 40 39 29 26 27 52 21 52 21 53 27 53 - 200 4 41 40 26 30 27 52 21 52 21 53 27 53 - 200 4 42 41 30 36 27 52 21 52 21 53 27 53 - 200 4 43 42 36 31 27 52 21 52 21 53 27 53 - 200 4 37 44 33 28 27 52 21 52 21 53 27 53 - 200 4 45 43 31 34 27 52 21 52 21 53 27 53 - 200 4 44 46 27 33 27 52 21 52 21 53 27 53 - 200 4 47 45 34 32 27 52 21 52 21 53 27 53 - 200 4 38 45 44 37 150 161 154 174 154 159 152 160 - 200 4 40 45 38 39 147 167 154 174 150 161 148 164 - 200 5 41 42 43 45 40 148 170 150 172 152 173 154 174 147 167 - 200 4 51 50 52 53 12 204 1 204 1 199 12 199 - 200 4 53 52 50 51 12 199 1 199 1 204 12 204 - 200 4 51 53 49 54 12 204 12 199 12 187 1 195 - 200 4 54 49 53 51 1 195 12 187 12 199 12 204 - 200 4 48 52 50 55 1 187 1 200 1 204 12 196 - 200 4 55 50 52 48 12 196 1 204 1 200 1 187 - 200 4 54 49 23 24 1 224 12 224 12 187 1 187 - 200 4 24 23 49 54 1 187 12 187 12 224 1 224 - 200 4 49 48 22 23 12 224 1 224 1 187 12 187 - 200 4 23 22 48 49 12 187 1 187 1 224 12 224 - 200 4 25 22 48 55 12 187 1 187 1 224 12 224 - 200 4 55 48 22 25 12 224 1 224 1 187 12 187 - 200 4 47 46 44 45 156 173 156 160 154 159 154 174 - 200 4 20 21 19 18 156 160 156 173 154 174 154 159 - 200 4 53 52 48 49 12 199 1 199 1 187 12 187 - 200 4 49 48 52 53 12 187 1 187 1 199 12 199 - 200 4 68 65 58 67 27 52 27 53 21 53 21 52 - 200 4 69 59 65 68 27 52 27 53 21 53 21 52 - 200 4 70 56 59 69 27 52 27 53 21 53 21 52 - 200 4 71 60 56 70 27 52 27 53 21 53 21 52 - 200 4 72 66 60 71 27 52 27 53 21 53 21 52 - 200 4 73 61 66 72 27 52 27 53 21 53 21 52 - 200 4 67 58 63 74 27 52 27 53 21 53 21 52 - 200 4 75 64 61 73 27 52 27 53 21 53 21 52 - 200 4 74 63 57 76 27 52 27 53 21 53 21 52 - 200 4 77 62 64 75 27 52 27 53 21 53 21 52 - 200 4 113 103 109 112 27 52 27 53 21 53 21 52 - 200 4 90 87 80 89 27 52 27 53 21 53 21 52 - 200 4 91 81 87 90 27 52 27 53 21 53 21 52 - 200 4 92 78 81 91 27 52 27 53 21 53 21 52 - 200 4 93 82 78 92 27 52 27 53 21 53 21 52 - 200 4 94 88 82 93 27 52 27 53 21 53 21 52 - 200 4 95 83 88 94 27 52 27 53 21 53 21 52 - 200 4 89 80 85 96 27 52 27 53 21 53 21 52 - 200 4 97 86 83 95 27 52 27 53 21 53 21 52 - 200 4 96 85 79 98 27 52 27 53 21 53 21 52 - 200 4 99 84 86 97 27 52 27 53 21 53 21 52 - 200 4 112 109 102 111 27 52 27 53 21 53 21 52 - 200 4 114 100 103 113 27 52 27 53 21 53 21 52 - 200 4 115 104 100 114 27 52 27 53 21 53 21 52 - 200 4 116 110 104 115 27 52 27 53 21 53 21 52 - 200 4 117 105 110 116 27 52 27 53 21 53 21 52 - 200 4 111 102 107 118 27 52 27 53 21 53 21 52 - 200 4 119 108 105 117 27 52 27 53 21 53 21 52 - 200 4 118 107 101 120 27 52 27 53 21 53 21 52 - 200 4 121 106 108 119 27 52 27 53 21 53 21 52 - 200 4 121 119 118 120 156 173 154 174 154 159 156 160 - 200 4 112 111 118 119 150 161 152 160 154 159 154 174 - 200 4 114 113 112 119 147 167 148 164 150 161 154 174 - 200 4 99 97 96 98 156 173 154 174 154 159 156 160 - 200 4 90 89 96 97 150 161 152 160 154 159 154 174 - 200 4 92 91 90 97 147 167 148 164 150 161 154 174 - 200 5 115 114 119 117 116 148 170 147 167 154 174 152 173 150 172 - 200 5 93 92 97 95 94 148 170 147 167 154 174 152 173 150 172 - 200 4 77 75 74 76 156 173 154 174 154 159 156 160 - 200 4 68 67 74 75 150 161 152 160 154 159 154 174 - 200 4 70 69 68 75 147 167 148 164 150 161 154 174 - 200 5 71 70 75 73 72 148 170 147 167 154 174 152 173 150 172 - 200 4 83 80 87 88 152 173 152 160 150 161 150 172 - 200 5 87 81 78 82 88 150 161 148 164 147 167 148 170 150 172 - 200 4 105 107 102 110 152 173 154 159 152 160 150 172 - 200 4 102 109 103 110 152 160 150 161 148 164 150 172 - 200 4 103 100 104 110 148 164 147 167 148 170 150 172 - 200 4 131 130 125 126 1 187 12 187 12 224 1 224 - 200 4 126 125 130 131 1 224 12 224 12 187 1 187 - 200 4 132 124 127 133 1 220 1 211 12 211 12 220 - 200 4 133 127 124 132 12 220 12 211 1 211 1 220 - 200 4 133 125 123 132 12 220 12 224 1 224 1 220 - 200 4 132 123 125 133 1 220 1 224 12 224 12 220 - 200 4 122 123 128 129 12 224 1 224 1 187 12 187 - 200 4 129 128 123 122 12 187 1 187 1 224 12 224 - 200 4 130 128 123 125 12 187 1 187 1 224 12 224 - 200 4 125 123 128 130 12 224 1 224 1 187 12 187 - 200 4 122 124 132 123 8 210 12 211 12 220 6 223 - 200 4 123 132 124 122 6 223 12 220 12 211 8 210 - 200 4 126 125 133 127 8 210 6 223 12 220 12 211 - 200 4 127 133 125 126 12 211 12 220 6 223 8 210 - 200 4 24 23 130 131 1 223 12 223 12 196 1 196 - 200 4 131 130 23 24 1 196 12 196 12 223 1 223 - 200 4 23 22 128 130 12 223 1 223 1 196 12 196 - 200 4 130 128 22 23 12 196 1 196 1 223 12 223 - 200 4 22 25 129 128 1 223 12 223 12 196 1 196 - 200 4 128 129 25 22 1 196 12 196 12 223 1 223 - 200 5 65 59 56 60 66 150 161 148 164 147 167 148 170 150 172 - 200 4 65 66 61 58 150 161 150 172 152 173 152 160 - 200 5 36 30 26 29 35 150 172 148 170 147 167 148 164 150 161 - 200 4 35 28 31 36 150 161 152 160 152 173 150 172 - 200 5 9 3 0 4 10 150 161 148 164 147 167 148 170 150 172 - 200 4 9 10 5 2 150 161 150 172 152 173 152 160 +POLYGONS 239 + 200 3 12 9 2 27 52 27 53 21 53 + 200 3 12 2 11 27 52 21 53 21 52 + 200 3 13 3 9 27 52 27 53 21 53 + 200 3 13 9 12 27 52 21 53 21 52 + 200 3 14 0 3 27 52 27 53 21 53 + 200 3 14 3 13 27 52 21 53 21 52 + 200 3 15 4 0 27 52 27 53 21 53 + 200 3 15 0 14 27 52 21 53 21 52 + 200 3 16 10 4 27 52 27 53 21 53 + 200 3 16 4 15 27 52 21 53 21 52 + 200 3 17 5 10 27 52 27 53 21 53 + 200 3 17 10 16 27 52 21 53 21 52 + 200 3 11 2 7 27 52 27 53 21 53 + 200 3 11 7 18 27 52 21 53 21 52 + 200 3 19 8 5 27 52 27 53 21 53 + 200 3 19 5 17 27 52 21 53 21 52 + 200 3 18 7 1 27 52 27 53 21 53 + 200 3 18 1 20 27 52 21 53 21 52 + 200 3 21 6 8 27 52 27 53 21 53 + 200 3 21 8 19 27 52 21 53 21 52 + 200 3 12 11 18 150 161 152 160 154 159 + 200 3 12 18 19 150 161 154 159 154 174 + 200 3 14 13 12 147 167 148 164 150 161 + 200 3 14 12 19 147 167 150 161 154 174 + 200 3 15 14 19 148 170 147 167 154 174 + 200 3 15 19 17 148 170 154 174 152 173 + 200 3 15 17 16 148 170 152 173 150 172 + 200 3 38 37 28 27 52 21 52 21 53 + 200 3 38 28 35 27 52 21 53 27 53 + 200 3 39 38 35 27 52 21 52 21 53 + 200 3 39 35 29 27 52 21 53 27 53 + 200 3 40 39 29 27 52 21 52 21 53 + 200 3 40 29 26 27 52 21 53 27 53 + 200 3 41 40 26 27 52 21 52 21 53 + 200 3 41 26 30 27 52 21 53 27 53 + 200 3 42 41 30 27 52 21 52 21 53 + 200 3 42 30 36 27 52 21 53 27 53 + 200 3 43 42 36 27 52 21 52 21 53 + 200 3 43 36 31 27 52 21 53 27 53 + 200 3 37 44 33 27 52 21 52 21 53 + 200 3 37 33 28 27 52 21 53 27 53 + 200 3 45 43 31 27 52 21 52 21 53 + 200 3 45 31 34 27 52 21 53 27 53 + 200 3 44 46 27 27 52 21 52 21 53 + 200 3 44 27 33 27 52 21 53 27 53 + 200 3 47 45 34 27 52 21 52 21 53 + 200 3 47 34 32 27 52 21 53 27 53 + 200 3 38 45 44 150 161 154 174 154 159 + 200 3 38 44 37 150 161 154 159 152 160 + 200 3 40 45 38 147 167 154 174 150 161 + 200 3 40 38 39 147 167 150 161 148 164 + 200 3 41 42 43 148 170 150 172 152 173 + 200 3 41 43 45 148 170 152 173 154 174 + 200 3 41 45 40 148 170 154 174 147 167 + 200 3 51 50 52 12 204 1 204 1 199 + 200 3 51 52 53 12 204 1 199 12 199 + 200 3 53 52 50 12 199 1 199 1 204 + 200 3 53 50 51 12 199 1 204 12 204 + 200 3 51 53 49 12 204 12 199 12 187 + 200 3 51 49 54 12 204 12 187 1 195 + 200 3 54 49 53 1 195 12 187 12 199 + 200 3 54 53 51 1 195 12 199 12 204 + 200 3 48 52 50 1 187 1 200 1 204 + 200 3 48 50 55 1 187 1 204 12 196 + 200 3 55 50 52 12 196 1 204 1 200 + 200 3 55 52 48 12 196 1 200 1 187 + 200 3 54 49 23 1 224 12 224 12 187 + 200 3 54 23 24 1 224 12 187 1 187 + 200 3 24 23 49 1 187 12 187 12 224 + 200 3 24 49 54 1 187 12 224 1 224 + 200 3 49 48 22 12 224 1 224 1 187 + 200 3 49 22 23 12 224 1 187 12 187 + 200 3 23 22 48 12 187 1 187 1 224 + 200 3 23 48 49 12 187 1 224 12 224 + 200 3 25 22 48 12 187 1 187 1 224 + 200 3 25 48 55 12 187 1 224 12 224 + 200 3 55 48 22 12 224 1 224 1 187 + 200 3 55 22 25 12 224 1 187 12 187 + 200 3 47 46 44 156 173 156 160 154 159 + 200 3 47 44 45 156 173 154 159 154 174 + 200 3 20 21 19 156 160 156 173 154 174 + 200 3 20 19 18 156 160 154 174 154 159 + 200 3 53 52 48 12 199 1 199 1 187 + 200 3 53 48 49 12 199 1 187 12 187 + 200 3 49 48 52 12 187 1 187 1 199 + 200 3 49 52 53 12 187 1 199 12 199 + 200 3 68 65 58 27 52 27 53 21 53 + 200 3 68 58 67 27 52 21 53 21 52 + 200 3 69 59 65 27 52 27 53 21 53 + 200 3 69 65 68 27 52 21 53 21 52 + 200 3 70 56 59 27 52 27 53 21 53 + 200 3 70 59 69 27 52 21 53 21 52 + 200 3 71 60 56 27 52 27 53 21 53 + 200 3 71 56 70 27 52 21 53 21 52 + 200 3 72 66 60 27 52 27 53 21 53 + 200 3 72 60 71 27 52 21 53 21 52 + 200 3 73 61 66 27 52 27 53 21 53 + 200 3 73 66 72 27 52 21 53 21 52 + 200 3 67 58 63 27 52 27 53 21 53 + 200 3 67 63 74 27 52 21 53 21 52 + 200 3 75 64 61 27 52 27 53 21 53 + 200 3 75 61 73 27 52 21 53 21 52 + 200 3 74 63 57 27 52 27 53 21 53 + 200 3 74 57 76 27 52 21 53 21 52 + 200 3 77 62 64 27 52 27 53 21 53 + 200 3 77 64 75 27 52 21 53 21 52 + 200 3 113 103 109 27 52 27 53 21 53 + 200 3 113 109 112 27 52 21 53 21 52 + 200 3 90 87 80 27 52 27 53 21 53 + 200 3 90 80 89 27 52 21 53 21 52 + 200 3 91 81 87 27 52 27 53 21 53 + 200 3 91 87 90 27 52 21 53 21 52 + 200 3 92 78 81 27 52 27 53 21 53 + 200 3 92 81 91 27 52 21 53 21 52 + 200 3 93 82 78 27 52 27 53 21 53 + 200 3 93 78 92 27 52 21 53 21 52 + 200 3 94 88 82 27 52 27 53 21 53 + 200 3 94 82 93 27 52 21 53 21 52 + 200 3 95 83 88 27 52 27 53 21 53 + 200 3 95 88 94 27 52 21 53 21 52 + 200 3 89 80 85 27 52 27 53 21 53 + 200 3 89 85 96 27 52 21 53 21 52 + 200 3 97 86 83 27 52 27 53 21 53 + 200 3 97 83 95 27 52 21 53 21 52 + 200 3 96 85 79 27 52 27 53 21 53 + 200 3 96 79 98 27 52 21 53 21 52 + 200 3 99 84 86 27 52 27 53 21 53 + 200 3 99 86 97 27 52 21 53 21 52 + 200 3 112 109 102 27 52 27 53 21 53 + 200 3 112 102 111 27 52 21 53 21 52 + 200 3 114 100 103 27 52 27 53 21 53 + 200 3 114 103 113 27 52 21 53 21 52 + 200 3 115 104 100 27 52 27 53 21 53 + 200 3 115 100 114 27 52 21 53 21 52 + 200 3 116 110 104 27 52 27 53 21 53 + 200 3 116 104 115 27 52 21 53 21 52 + 200 3 117 105 110 27 52 27 53 21 53 + 200 3 117 110 116 27 52 21 53 21 52 + 200 3 111 102 107 27 52 27 53 21 53 + 200 3 111 107 118 27 52 21 53 21 52 + 200 3 119 108 105 27 52 27 53 21 53 + 200 3 119 105 117 27 52 21 53 21 52 + 200 3 118 107 101 27 52 27 53 21 53 + 200 3 118 101 120 27 52 21 53 21 52 + 200 3 121 106 108 27 52 27 53 21 53 + 200 3 121 108 119 27 52 21 53 21 52 + 200 3 121 119 118 156 173 154 174 154 159 + 200 3 121 118 120 156 173 154 159 156 160 + 200 3 112 111 118 150 161 152 160 154 159 + 200 3 112 118 119 150 161 154 159 154 174 + 200 3 114 113 112 147 167 148 164 150 161 + 200 3 114 112 119 147 167 150 161 154 174 + 200 3 99 97 96 156 173 154 174 154 159 + 200 3 99 96 98 156 173 154 159 156 160 + 200 3 90 89 96 150 161 152 160 154 159 + 200 3 90 96 97 150 161 154 159 154 174 + 200 3 92 91 90 147 167 148 164 150 161 + 200 3 92 90 97 147 167 150 161 154 174 + 200 3 115 114 119 148 170 147 167 154 174 + 200 3 115 119 117 148 170 154 174 152 173 + 200 3 115 117 116 148 170 152 173 150 172 + 200 3 93 92 97 148 170 147 167 154 174 + 200 3 93 97 95 148 170 154 174 152 173 + 200 3 93 95 94 148 170 152 173 150 172 + 200 3 77 75 74 156 173 154 174 154 159 + 200 3 77 74 76 156 173 154 159 156 160 + 200 3 68 67 74 150 161 152 160 154 159 + 200 3 68 74 75 150 161 154 159 154 174 + 200 3 70 69 68 147 167 148 164 150 161 + 200 3 70 68 75 147 167 150 161 154 174 + 200 3 71 70 75 148 170 147 167 154 174 + 200 3 71 75 73 148 170 154 174 152 173 + 200 3 71 73 72 148 170 152 173 150 172 + 200 3 83 80 87 152 173 152 160 150 161 + 200 3 83 87 88 152 173 150 161 150 172 + 200 3 87 81 78 150 161 148 164 147 167 + 200 3 87 78 82 150 161 147 167 148 170 + 200 3 87 82 88 150 161 148 170 150 172 + 200 3 105 107 102 152 173 154 159 152 160 + 200 3 105 102 110 152 173 152 160 150 172 + 200 3 102 109 103 152 160 150 161 148 164 + 200 3 102 103 110 152 160 148 164 150 172 + 200 3 103 100 104 148 164 147 167 148 170 + 200 3 103 104 110 148 164 148 170 150 172 + 200 3 131 130 125 1 187 12 187 12 224 + 200 3 131 125 126 1 187 12 224 1 224 + 200 3 126 125 130 1 224 12 224 12 187 + 200 3 126 130 131 1 224 12 187 1 187 + 200 3 132 124 127 1 220 1 211 12 211 + 200 3 132 127 133 1 220 12 211 12 220 + 200 3 133 127 124 12 220 12 211 1 211 + 200 3 133 124 132 12 220 1 211 1 220 + 200 3 133 125 123 12 220 12 224 1 224 + 200 3 133 123 132 12 220 1 224 1 220 + 200 3 132 123 125 1 220 1 224 12 224 + 200 3 132 125 133 1 220 12 224 12 220 + 200 3 122 123 128 12 224 1 224 1 187 + 200 3 122 128 129 12 224 1 187 12 187 + 200 3 129 128 123 12 187 1 187 1 224 + 200 3 129 123 122 12 187 1 224 12 224 + 200 3 130 128 123 12 187 1 187 1 224 + 200 3 130 123 125 12 187 1 224 12 224 + 200 3 125 123 128 12 224 1 224 1 187 + 200 3 125 128 130 12 224 1 187 12 187 + 200 3 122 124 132 8 210 12 211 12 220 + 200 3 122 132 123 8 210 12 220 6 223 + 200 3 123 132 124 6 223 12 220 12 211 + 200 3 123 124 122 6 223 12 211 8 210 + 200 3 126 125 133 8 210 6 223 12 220 + 200 3 126 133 127 8 210 12 220 12 211 + 200 3 127 133 125 12 211 12 220 6 223 + 200 3 127 125 126 12 211 6 223 8 210 + 200 3 24 23 130 1 223 12 223 12 196 + 200 3 24 130 131 1 223 12 196 1 196 + 200 3 131 130 23 1 196 12 196 12 223 + 200 3 131 23 24 1 196 12 223 1 223 + 200 3 23 22 128 12 223 1 223 1 196 + 200 3 23 128 130 12 223 1 196 12 196 + 200 3 130 128 22 12 196 1 196 1 223 + 200 3 130 22 23 12 196 1 223 12 223 + 200 3 22 25 129 1 223 12 223 12 196 + 200 3 22 129 128 1 223 12 196 1 196 + 200 3 128 129 25 1 196 12 196 12 223 + 200 3 128 25 22 1 196 12 223 1 223 + 200 3 65 59 56 150 161 148 164 147 167 + 200 3 65 56 60 150 161 147 167 148 170 + 200 3 65 60 66 150 161 148 170 150 172 + 200 3 65 66 61 150 161 150 172 152 173 + 200 3 65 61 58 150 161 152 173 152 160 + 200 3 36 30 26 150 172 148 170 147 167 + 200 3 36 26 29 150 172 147 167 148 164 + 200 3 36 29 35 150 172 148 164 150 161 + 200 3 35 28 31 150 161 152 160 152 173 + 200 3 35 31 36 150 161 152 173 150 172 + 200 3 9 3 0 150 161 148 164 147 167 + 200 3 9 0 4 150 161 147 167 148 170 + 200 3 9 4 10 150 161 148 170 150 172 + 200 3 9 10 5 150 161 150 172 152 173 + 200 3 9 5 2 150 161 152 173 152 160 \ No newline at end of file diff --git a/data/mp/components/prop/prsrhtr4.pie b/data/mp/components/prop/prsrhtr4.pie index 5f09c0604..c22f162f4 100644 --- a/data/mp/components/prop/prsrhtr4.pie +++ b/data/mp/components/prop/prsrhtr4.pie @@ -42,42 +42,78 @@ POINTS 38 -19 20 54 -19 29 46 -19 8 54 -POLYGONS 38 - 200 4 3 2 1 0 35 56 35 62 43 62 43 56 - 200 4 2 5 4 1 4 84 8 84 8 73 4 73 - 200 4 5 7 6 4 8 84 13 84 13 73 8 73 - 200 4 7 9 8 6 13 84 17 84 17 73 13 73 - 200 4 0 1 8 10 97 150 97 173 113 173 113 150 - 200 4 9 2 3 11 113 173 97 173 97 150 113 150 - 200 4 1 4 6 8 97 163 102 156 108 156 113 162 - 200 4 7 5 2 9 108 156 102 156 97 163 113 162 - 200 4 15 14 13 12 8 84 5 84 5 73 8 73 - 200 4 19 18 17 16 17 84 13 84 13 73 17 73 - 200 4 18 15 12 17 13 84 8 84 8 73 13 73 - 200 4 10 16 13 0 113 175 113 165 97 165 97 175 - 200 4 16 17 12 13 113 165 108 159 101 159 97 165 - 200 4 14 19 11 3 97 165 113 165 113 175 97 175 - 200 4 15 18 19 14 101 159 108 159 113 165 97 165 - 200 4 11 19 16 10 13 214 13 197 0 197 0 214 - 200 4 14 3 0 13 35 56 35 62 43 62 43 56 - 200 4 9 11 10 8 13 221 13 190 0 190 0 221 - 200 4 23 22 21 20 12 142 0 142 0 160 12 160 - 200 4 5 7 22 23 9 137 3 137 0 142 12 142 - 200 4 27 26 25 24 0 142 3 137 12 142 12 160 +POLYGONS 74 + 200 3 3 2 1 35 56 35 62 43 62 + 200 3 3 1 0 35 56 43 62 43 56 + 200 3 2 5 4 4 84 8 84 8 73 + 200 3 2 4 1 4 84 8 73 4 73 + 200 3 5 7 6 8 84 13 84 13 73 + 200 3 5 6 4 8 84 13 73 8 73 + 200 3 7 9 8 13 84 17 84 17 73 + 200 3 7 8 6 13 84 17 73 13 73 + 200 3 0 1 8 97 150 97 173 113 173 + 200 3 0 8 10 97 150 113 173 113 150 + 200 3 9 2 3 113 173 97 173 97 150 + 200 3 9 3 11 113 173 97 150 113 150 + 200 3 1 4 6 97 163 102 156 108 156 + 200 3 1 6 8 97 163 108 156 113 162 + 200 3 7 5 2 108 156 102 156 97 163 + 200 3 7 2 9 108 156 97 163 113 162 + 200 3 15 14 13 8 84 5 84 5 73 + 200 3 15 13 12 8 84 5 73 8 73 + 200 3 19 18 17 17 84 13 84 13 73 + 200 3 19 17 16 17 84 13 73 17 73 + 200 3 18 15 12 13 84 8 84 8 73 + 200 3 18 12 17 13 84 8 73 13 73 + 200 3 10 16 13 113 175 113 165 97 165 + 200 3 10 13 0 113 175 97 165 97 175 + 200 3 16 17 12 113 165 108 159 101 159 + 200 3 16 12 13 113 165 101 159 97 165 + 200 3 14 19 11 97 165 113 165 113 175 + 200 3 14 11 3 97 165 113 175 97 175 + 200 3 15 18 19 101 159 108 159 113 165 + 200 3 15 19 14 101 159 113 165 97 165 + 200 3 11 19 16 13 214 13 197 0 197 + 200 3 11 16 10 13 214 0 197 0 214 + 200 3 14 3 0 35 56 35 62 43 62 + 200 3 14 0 13 35 56 43 62 43 56 + 200 3 9 11 10 13 221 13 190 0 190 + 200 3 9 10 8 13 221 0 190 0 221 + 200 3 23 22 21 12 142 0 142 0 160 + 200 3 23 21 20 12 142 0 160 12 160 + 200 3 5 7 22 9 137 3 137 0 142 + 200 3 5 22 23 9 137 0 142 12 142 + 200 3 27 26 25 0 142 3 137 12 142 + 200 3 27 25 24 0 142 12 142 12 160 200 3 24 28 27 12 160 0 160 0 142 - 200 4 27 26 29 25 0 142 3 137 9 137 12 142 - 200 4 24 25 23 20 94 136 94 98 88 98 88 136 - 200 4 25 29 5 23 94 124 94 110 88 110 88 124 - 200 4 29 26 7 5 10 186 10 175 0 175 0 186 - 200 4 26 27 22 7 11 98 11 105 0 105 0 98 - 200 4 27 28 21 22 11 105 11 123 0 123 0 105 - 200 4 31 30 28 24 12 142 0 142 0 160 12 160 - 200 4 33 32 30 31 9 137 3 137 0 142 12 142 - 200 4 36 35 34 20 0 142 3 137 12 142 12 160 + 200 3 27 26 29 0 142 3 137 9 137 + 200 3 27 29 25 0 142 9 137 12 142 + 200 3 24 25 23 94 136 94 98 88 98 + 200 3 24 23 20 94 136 88 98 88 136 + 200 3 25 29 5 94 124 94 110 88 110 + 200 3 25 5 23 94 124 88 110 88 124 + 200 3 29 26 7 10 186 10 175 0 175 + 200 3 29 7 5 10 186 0 175 0 186 + 200 3 26 27 22 11 98 11 105 0 105 + 200 3 26 22 7 11 98 0 105 0 98 + 200 3 27 28 21 11 105 11 123 0 123 + 200 3 27 21 22 11 105 0 123 0 105 + 200 3 31 30 28 12 142 0 142 0 160 + 200 3 31 28 24 12 142 0 160 12 160 + 200 3 33 32 30 9 137 3 137 0 142 + 200 3 33 30 31 9 137 0 142 12 142 + 200 3 36 35 34 0 142 3 137 12 142 + 200 3 36 34 20 0 142 12 142 12 160 200 3 20 21 36 12 160 0 160 0 142 - 200 4 36 35 37 34 0 142 3 137 9 137 12 142 - 200 4 20 34 31 24 94 136 94 98 88 98 88 136 - 200 4 34 37 33 31 94 124 94 110 88 110 88 124 - 200 4 37 35 32 33 10 186 10 175 0 175 0 186 - 200 4 35 36 30 32 11 98 11 105 0 105 0 98 - 200 4 36 21 28 30 11 105 11 123 0 123 0 105 \ No newline at end of file + 200 3 36 35 37 0 142 3 137 9 137 + 200 3 36 37 34 0 142 9 137 12 142 + 200 3 20 34 31 94 136 94 98 88 98 + 200 3 20 31 24 94 136 88 98 88 136 + 200 3 34 37 33 94 124 94 110 88 110 + 200 3 34 33 31 94 124 88 110 88 124 + 200 3 37 35 32 10 186 10 175 0 175 + 200 3 37 32 33 10 186 0 175 0 186 + 200 3 35 36 30 11 98 11 105 0 105 + 200 3 35 30 32 11 98 0 105 0 98 + 200 3 36 21 28 11 105 11 123 0 123 + 200 3 36 28 30 11 105 0 123 0 105 \ No newline at end of file diff --git a/data/mp/components/prop/prsrtrk4.pie b/data/mp/components/prop/prsrtrk4.pie index aa1847576..bcb7295cb 100644 --- a/data/mp/components/prop/prsrtrk4.pie +++ b/data/mp/components/prop/prsrtrk4.pie @@ -32,32 +32,58 @@ POINTS 28 -20 0 47 -20 20 57 -20 7 57 -POLYGONS 28 - 200 4 3 2 1 0 12 165 0 165 4 171 9 171 - 200 4 5 4 2 3 12 143 0 143 0 165 12 165 - 200 4 7 6 4 5 8 137 4 137 0 143 12 143 - 200 4 11 10 9 8 0 165 0 143 12 165 9 171 +POLYGONS 54 + 200 3 3 2 1 12 165 0 165 4 171 + 200 3 3 1 0 12 165 4 171 9 171 + 200 3 5 4 2 12 143 0 143 0 165 + 200 3 5 2 3 12 143 0 165 12 165 + 200 3 7 6 4 8 137 4 137 0 143 + 200 3 7 4 5 8 137 0 143 12 143 + 200 3 11 10 9 0 165 0 143 12 165 + 200 3 11 9 8 0 165 12 165 9 171 200 3 8 12 11 9 171 4 171 0 165 - 200 4 10 14 13 9 0 143 4 137 12 143 12 165 - 200 4 10 14 15 13 0 143 4 137 8 137 12 143 - 200 4 8 9 3 0 94 125 94 109 88 109 88 125 - 200 4 9 13 5 3 94 136 94 98 88 98 88 136 - 200 4 13 15 7 5 94 124 94 110 88 110 88 124 - 200 4 14 10 4 6 11 98 11 105 0 105 0 98 - 200 4 10 11 2 4 11 105 11 129 0 129 0 105 - 200 4 11 12 1 2 11 129 11 136 0 136 0 129 - 200 4 12 8 0 1 10 175 10 186 0 186 0 175 - 200 4 17 16 6 7 12 165 0 165 4 171 9 171 - 200 4 19 18 16 17 12 143 0 143 0 165 12 165 - 200 4 21 20 18 19 8 137 4 137 0 143 12 143 - 200 4 24 23 22 15 0 165 0 143 12 165 9 171 + 200 3 10 14 13 0 143 4 137 12 143 + 200 3 10 13 9 0 143 12 143 12 165 + 200 3 10 14 15 0 143 4 137 8 137 + 200 3 10 15 13 0 143 8 137 12 143 + 200 3 8 9 3 94 125 94 109 88 109 + 200 3 8 3 0 94 125 88 109 88 125 + 200 3 9 13 5 94 136 94 98 88 98 + 200 3 9 5 3 94 136 88 98 88 136 + 200 3 13 15 7 94 124 94 110 88 110 + 200 3 13 7 5 94 124 88 110 88 124 + 200 3 14 10 4 11 98 11 105 0 105 + 200 3 14 4 6 11 98 0 105 0 98 + 200 3 10 11 2 11 105 11 129 0 129 + 200 3 10 2 4 11 105 0 129 0 105 + 200 3 11 12 1 11 129 11 136 0 136 + 200 3 11 1 2 11 129 0 136 0 129 + 200 3 12 8 0 10 175 10 186 0 186 + 200 3 12 0 1 10 175 0 186 0 175 + 200 3 17 16 6 12 165 0 165 4 171 + 200 3 17 6 7 12 165 4 171 9 171 + 200 3 19 18 16 12 143 0 143 0 165 + 200 3 19 16 17 12 143 0 165 12 165 + 200 3 21 20 18 8 137 4 137 0 143 + 200 3 21 18 19 8 137 0 143 12 143 + 200 3 24 23 22 0 165 0 143 12 165 + 200 3 24 22 15 0 165 12 165 9 171 200 3 15 14 24 9 171 4 171 0 165 - 200 4 23 26 25 22 0 143 4 137 12 143 12 165 - 200 4 23 26 27 25 0 143 4 137 8 137 12 143 - 200 4 15 22 17 7 94 125 94 109 88 109 88 125 - 200 4 22 25 19 17 94 136 94 98 88 98 88 136 - 200 4 25 27 21 19 94 124 94 110 88 110 88 124 - 200 4 27 26 20 21 10 186 10 175 0 175 0 186 - 200 4 26 23 18 20 11 98 11 105 0 105 0 98 - 200 4 23 24 16 18 11 105 11 129 0 129 0 105 - 200 4 24 14 6 16 11 129 11 136 0 136 0 129 \ No newline at end of file + 200 3 23 26 25 0 143 4 137 12 143 + 200 3 23 25 22 0 143 12 143 12 165 + 200 3 23 26 27 0 143 4 137 8 137 + 200 3 23 27 25 0 143 8 137 12 143 + 200 3 15 22 17 94 125 94 109 88 109 + 200 3 15 17 7 94 125 88 109 88 125 + 200 3 22 25 19 94 136 94 98 88 98 + 200 3 22 19 17 94 136 88 98 88 136 + 200 3 25 27 21 94 124 94 110 88 110 + 200 3 25 21 19 94 124 88 110 88 124 + 200 3 27 26 20 10 186 10 175 0 175 + 200 3 27 20 21 10 186 0 175 0 186 + 200 3 26 23 18 11 98 11 105 0 105 + 200 3 26 18 20 11 98 0 105 0 98 + 200 3 23 24 16 11 105 11 129 0 129 + 200 3 23 16 18 11 105 0 129 0 105 + 200 3 24 14 6 11 129 11 136 0 136 + 200 3 24 6 16 11 129 0 136 0 129 \ No newline at end of file diff --git a/data/mp/components/prop/prsrvtl1.pie b/data/mp/components/prop/prsrvtl1.pie index 3042567a4..93efa853d 100644 --- a/data/mp/components/prop/prsrvtl1.pie +++ b/data/mp/components/prop/prsrvtl1.pie @@ -36,33 +36,55 @@ POINTS 32 -10 33 52 -10 33 48 0 23 42 -POLYGONS 29 - 200 4 0 1 2 3 178 1 178 21 190 17 190 5 - 200 4 3 2 1 0 190 5 190 17 178 21 178 1 +POLYGONS 51 + 200 3 0 1 2 178 1 178 21 190 17 + 200 3 0 2 3 178 1 190 17 190 5 + 200 3 3 2 1 190 5 190 17 178 21 + 200 3 3 1 0 190 5 178 21 178 1 200 3 0 4 1 178 1 170 11 178 21 200 3 1 4 0 178 21 170 11 178 1 - 200 4 4 0 5 6 107 56 125 56 125 42 107 42 - 200 4 6 5 0 4 107 42 125 42 125 56 107 56 - 200 4 0 3 7 5 107 56 125 56 125 42 107 42 - 200 4 5 7 3 0 107 42 125 42 125 56 107 56 - 200 4 3 2 8 7 125 56 107 56 107 42 125 42 - 200 4 7 8 2 3 125 42 107 42 107 56 125 56 - 200 4 2 1 9 8 125 56 107 56 107 42 125 42 - 200 4 8 9 1 2 125 42 107 42 107 56 125 56 - 200 4 1 4 6 9 125 56 107 56 107 42 125 42 - 200 4 9 6 4 1 125 42 107 42 107 56 125 56 - 200 4 6 5 7 8 170 11 178 1 190 5 190 17 - 200 4 8 7 5 6 190 17 190 5 178 1 170 11 + 200 3 4 0 5 107 56 125 56 125 42 + 200 3 4 5 6 107 56 125 42 107 42 + 200 3 6 5 0 107 42 125 42 125 56 + 200 3 6 0 4 107 42 125 56 107 56 + 200 3 0 3 7 107 56 125 56 125 42 + 200 3 0 7 5 107 56 125 42 107 42 + 200 3 5 7 3 107 42 125 42 125 56 + 200 3 5 3 0 107 42 125 56 107 56 + 200 3 3 2 8 125 56 107 56 107 42 + 200 3 3 8 7 125 56 107 42 125 42 + 200 3 7 8 2 125 42 107 42 107 56 + 200 3 7 2 3 125 42 107 56 125 56 + 200 3 2 1 9 125 56 107 56 107 42 + 200 3 2 9 8 125 56 107 42 125 42 + 200 3 8 9 1 125 42 107 42 107 56 + 200 3 8 1 2 125 42 107 56 125 56 + 200 3 1 4 6 125 56 107 56 107 42 + 200 3 1 6 9 125 56 107 42 125 42 + 200 3 9 6 4 125 42 107 42 107 56 + 200 3 9 4 1 125 42 107 56 125 56 + 200 3 6 5 7 170 11 178 1 190 5 + 200 3 6 7 8 170 11 190 5 190 17 + 200 3 8 7 5 190 17 190 5 178 1 + 200 3 8 5 6 190 17 178 1 170 11 200 3 6 8 9 170 11 190 17 178 21 200 3 9 8 6 178 21 190 17 170 11 - 200 4 13 12 11 10 0 217 9 194 21 201 28 225 - 200 4 11 12 14 10 21 201 7 194 1 225 29 225 + 200 3 13 12 11 0 217 9 194 21 201 + 200 3 13 11 10 0 217 21 201 28 225 + 200 3 11 12 14 21 201 7 194 1 225 + 200 3 11 14 10 21 201 1 225 29 225 200 3 13 14 12 0 99 0 92 28 99 - 200 4 18 17 16 15 193 20 199 7 212 1 225 7 - 200 4 20 19 18 15 212 39 199 33 193 20 225 7 - 200 4 22 21 20 15 231 20 225 33 212 39 225 7 - 200 4 23 24 25 26 0 179 32 179 32 148 0 148 - 200 4 26 25 24 23 0 148 32 148 32 179 0 179 + 200 3 18 17 16 193 20 199 7 212 1 + 200 3 18 16 15 193 20 212 1 225 7 + 200 3 20 19 18 212 39 199 33 193 20 + 200 3 20 18 15 212 39 193 20 225 7 + 200 3 22 21 20 231 20 225 33 212 39 + 200 3 22 20 15 231 20 212 39 225 7 + 200 3 23 24 25 0 179 32 179 32 148 + 200 3 23 25 26 0 179 32 148 0 148 + 200 3 26 25 24 0 148 32 148 32 179 + 200 3 26 24 23 0 148 32 179 0 179 200 3 29 28 27 236 112 237 112 237 111 200 3 30 29 27 115 61 115 56 108 56 - 200 4 30 31 28 29 115 61 122 66 122 56 115 56 \ No newline at end of file + 200 3 30 31 28 115 61 122 66 122 56 + 200 3 30 28 29 115 61 122 56 115 56 \ No newline at end of file diff --git a/data/mp/components/prop/prsrwhl1.pie b/data/mp/components/prop/prsrwhl1.pie index 8513f4bd5..3b8710764 100644 --- a/data/mp/components/prop/prsrwhl1.pie +++ b/data/mp/components/prop/prsrwhl1.pie @@ -138,119 +138,243 @@ POINTS 134 -44 12 -17 -24 19 -75 -41 19 -75 -POLYGONS 115 - 200 4 12 11 2 9 27 52 21 52 21 53 27 53 - 200 4 13 12 9 3 27 52 21 52 21 53 27 53 - 200 4 14 13 3 0 27 52 21 52 21 53 27 53 - 200 4 15 14 0 4 27 52 21 52 21 53 27 53 - 200 4 16 15 4 10 27 52 21 52 21 53 27 53 - 200 4 17 16 10 5 27 52 21 52 21 53 27 53 - 200 4 11 18 7 2 27 52 21 52 21 53 27 53 - 200 4 19 17 5 8 27 52 21 52 21 53 27 53 - 200 4 18 20 1 7 27 52 21 52 21 53 27 53 - 200 4 21 19 8 6 27 52 21 52 21 53 27 53 - 200 4 12 19 18 11 150 161 154 174 154 159 152 160 - 200 4 14 19 12 13 147 167 154 174 150 161 148 164 - 200 5 15 16 17 19 14 148 170 150 172 152 173 154 174 147 167 - 200 4 38 35 28 37 27 52 27 53 21 53 21 52 - 200 4 39 29 35 38 27 52 27 53 21 53 21 52 - 200 4 40 26 29 39 27 52 27 53 21 53 21 52 - 200 4 41 30 26 40 27 52 27 53 21 53 21 52 - 200 4 42 36 30 41 27 52 27 53 21 53 21 52 - 200 4 43 31 36 42 27 52 27 53 21 53 21 52 - 200 4 37 28 33 44 27 52 27 53 21 53 21 52 - 200 4 45 34 31 43 27 52 27 53 21 53 21 52 - 200 4 44 33 27 46 27 52 27 53 21 53 21 52 - 200 4 47 32 34 45 27 52 27 53 21 53 21 52 - 200 4 38 37 44 45 150 161 152 160 154 159 154 174 - 200 4 40 39 38 45 147 167 148 164 150 161 154 174 - 200 5 41 40 45 43 42 148 170 147 167 154 174 152 173 150 172 - 200 4 52 50 51 53 1 199 1 204 12 204 12 199 - 200 4 53 51 50 52 12 199 12 204 1 204 1 199 - 200 4 49 53 51 54 12 187 12 199 12 204 1 195 - 200 4 54 51 53 49 1 195 12 204 12 199 12 187 - 200 4 50 52 48 55 1 204 1 199 1 187 12 196 - 200 4 55 48 52 50 12 196 1 187 1 199 1 204 - 200 4 23 49 54 24 12 187 12 224 1 224 1 187 - 200 4 24 54 49 23 1 187 1 224 12 224 12 187 - 200 4 22 48 49 23 1 187 1 224 12 224 12 187 - 200 4 23 49 48 22 12 187 12 224 1 224 1 187 - 200 4 48 22 25 55 1 224 1 187 12 187 12 224 - 200 4 55 25 22 48 12 224 12 187 1 187 1 224 - 200 4 47 45 44 46 156 173 154 174 154 159 156 160 - 200 4 20 18 19 21 156 160 154 159 154 174 156 173 - 200 4 48 52 53 49 1 187 1 199 12 199 12 187 - 200 4 49 53 52 48 12 187 12 199 1 199 1 187 - 200 4 68 67 58 65 27 52 21 52 21 53 27 53 - 200 4 69 68 65 59 27 52 21 52 21 53 27 53 - 200 4 70 69 59 56 27 52 21 52 21 53 27 53 - 200 4 71 70 56 60 27 52 21 52 21 53 27 53 - 200 4 72 71 60 66 27 52 21 52 21 53 27 53 - 200 4 73 72 66 61 27 52 21 52 21 53 27 53 - 200 4 67 74 63 58 27 52 21 52 21 53 27 53 - 200 4 75 73 61 64 27 52 21 52 21 53 27 53 - 200 4 74 76 57 63 27 52 21 52 21 53 27 53 - 200 4 77 75 64 62 27 52 21 52 21 53 27 53 - 200 4 113 112 109 103 27 52 21 52 21 53 27 53 - 200 4 90 89 80 87 27 52 21 52 21 53 27 53 - 200 4 91 90 87 81 27 52 21 52 21 53 27 53 - 200 4 92 91 81 78 27 52 21 52 21 53 27 53 - 200 4 93 92 78 82 27 52 21 52 21 53 27 53 - 200 4 94 93 82 88 27 52 21 52 21 53 27 53 - 200 4 95 94 88 83 27 52 21 52 21 53 27 53 - 200 4 89 96 85 80 27 52 21 52 21 53 27 53 - 200 4 97 95 83 86 27 52 21 52 21 53 27 53 - 200 4 96 98 79 85 27 52 21 52 21 53 27 53 - 200 4 99 97 86 84 27 52 21 52 21 53 27 53 - 200 4 112 111 102 109 27 52 21 52 21 53 27 53 - 200 4 114 113 103 100 27 52 21 52 21 53 27 53 - 200 4 115 114 100 104 27 52 21 52 21 53 27 53 - 200 4 116 115 104 110 27 52 21 52 21 53 27 53 - 200 4 117 116 110 105 27 52 21 52 21 53 27 53 - 200 4 111 118 107 102 27 52 21 52 21 53 27 53 - 200 4 119 117 105 108 27 52 21 52 21 53 27 53 - 200 4 118 120 101 107 27 52 21 52 21 53 27 53 - 200 4 121 119 108 106 27 52 21 52 21 53 27 53 - 200 4 121 120 118 119 156 173 156 160 154 159 154 174 - 200 4 112 119 118 111 150 161 154 174 154 159 152 160 - 200 4 114 119 112 113 147 167 154 174 150 161 148 164 - 200 4 99 98 96 97 156 173 156 160 154 159 154 174 - 200 4 90 97 96 89 150 161 154 174 154 159 152 160 - 200 4 92 97 90 91 147 167 154 174 150 161 148 164 - 200 5 115 116 117 119 114 148 170 150 172 152 173 154 174 147 167 - 200 5 93 94 95 97 92 148 170 150 172 152 173 154 174 147 167 - 200 4 77 76 74 75 156 173 156 160 154 159 154 174 - 200 4 68 75 74 67 150 161 154 174 154 159 152 160 - 200 4 70 75 68 69 147 167 154 174 150 161 148 164 - 200 5 71 72 73 75 70 148 170 150 172 152 173 154 174 147 167 - 200 4 83 88 87 80 152 173 150 172 150 161 152 160 - 200 5 87 88 82 78 81 150 161 150 172 148 170 147 167 148 164 - 200 4 105 110 102 107 152 173 150 172 152 160 154 159 - 200 4 102 110 103 109 152 160 150 172 148 164 150 161 - 200 4 103 110 104 100 148 164 150 172 148 170 147 167 - 200 4 125 130 131 126 12 224 12 187 1 187 1 224 - 200 4 126 131 130 125 1 224 1 187 12 187 12 224 - 200 4 127 124 132 133 12 211 1 211 1 220 12 220 - 200 4 133 132 124 127 12 220 1 220 1 211 12 211 - 200 4 123 125 133 132 1 224 12 224 12 220 1 220 - 200 4 132 133 125 123 1 220 12 220 12 224 1 224 - 200 4 128 123 122 129 1 187 1 224 12 224 12 187 - 200 4 129 122 123 128 12 187 12 224 1 224 1 187 - 200 4 123 128 130 125 1 224 1 187 12 187 12 224 - 200 4 125 130 128 123 12 224 12 187 1 187 1 224 - 200 4 132 124 122 123 12 220 12 211 8 210 6 223 - 200 4 123 122 124 132 6 223 8 210 12 211 12 220 - 200 4 133 125 126 127 12 220 6 223 8 210 12 211 - 200 4 127 126 125 133 12 211 8 210 6 223 12 220 - 200 4 130 23 24 131 12 196 12 223 1 223 1 196 - 200 4 131 24 23 130 1 196 1 223 12 223 12 196 - 200 4 128 22 23 130 1 196 1 223 12 223 12 196 - 200 4 130 23 22 128 12 196 12 223 1 223 1 196 - 200 4 129 25 22 128 12 196 12 223 1 223 1 196 - 200 4 128 22 25 129 1 196 1 223 12 223 12 196 - 200 5 65 66 60 56 59 150 161 150 172 148 170 147 167 148 164 - 200 4 65 58 61 66 150 161 152 160 152 173 150 172 - 200 5 36 35 29 26 30 150 172 150 161 148 164 147 167 148 170 - 200 4 35 36 31 28 150 161 150 172 152 173 152 160 - 200 5 9 10 4 0 3 150 161 150 172 148 170 147 167 148 164 - 200 4 9 2 5 10 150 161 152 160 152 173 150 172 +POLYGONS 239 + 200 3 12 11 2 27 52 21 52 21 53 + 200 3 12 2 9 27 52 21 53 27 53 + 200 3 13 12 9 27 52 21 52 21 53 + 200 3 13 9 3 27 52 21 53 27 53 + 200 3 14 13 3 27 52 21 52 21 53 + 200 3 14 3 0 27 52 21 53 27 53 + 200 3 15 14 0 27 52 21 52 21 53 + 200 3 15 0 4 27 52 21 53 27 53 + 200 3 16 15 4 27 52 21 52 21 53 + 200 3 16 4 10 27 52 21 53 27 53 + 200 3 17 16 10 27 52 21 52 21 53 + 200 3 17 10 5 27 52 21 53 27 53 + 200 3 11 18 7 27 52 21 52 21 53 + 200 3 11 7 2 27 52 21 53 27 53 + 200 3 19 17 5 27 52 21 52 21 53 + 200 3 19 5 8 27 52 21 53 27 53 + 200 3 18 20 1 27 52 21 52 21 53 + 200 3 18 1 7 27 52 21 53 27 53 + 200 3 21 19 8 27 52 21 52 21 53 + 200 3 21 8 6 27 52 21 53 27 53 + 200 3 12 19 18 150 161 154 174 154 159 + 200 3 12 18 11 150 161 154 159 152 160 + 200 3 14 19 12 147 167 154 174 150 161 + 200 3 14 12 13 147 167 150 161 148 164 + 200 3 15 16 17 148 170 150 172 152 173 + 200 3 15 17 19 148 170 152 173 154 174 + 200 3 15 19 14 148 170 154 174 147 167 + 200 3 38 35 28 27 52 27 53 21 53 + 200 3 38 28 37 27 52 21 53 21 52 + 200 3 39 29 35 27 52 27 53 21 53 + 200 3 39 35 38 27 52 21 53 21 52 + 200 3 40 26 29 27 52 27 53 21 53 + 200 3 40 29 39 27 52 21 53 21 52 + 200 3 41 30 26 27 52 27 53 21 53 + 200 3 41 26 40 27 52 21 53 21 52 + 200 3 42 36 30 27 52 27 53 21 53 + 200 3 42 30 41 27 52 21 53 21 52 + 200 3 43 31 36 27 52 27 53 21 53 + 200 3 43 36 42 27 52 21 53 21 52 + 200 3 37 28 33 27 52 27 53 21 53 + 200 3 37 33 44 27 52 21 53 21 52 + 200 3 45 34 31 27 52 27 53 21 53 + 200 3 45 31 43 27 52 21 53 21 52 + 200 3 44 33 27 27 52 27 53 21 53 + 200 3 44 27 46 27 52 21 53 21 52 + 200 3 47 32 34 27 52 27 53 21 53 + 200 3 47 34 45 27 52 21 53 21 52 + 200 3 38 37 44 150 161 152 160 154 159 + 200 3 38 44 45 150 161 154 159 154 174 + 200 3 40 39 38 147 167 148 164 150 161 + 200 3 40 38 45 147 167 150 161 154 174 + 200 3 41 40 45 148 170 147 167 154 174 + 200 3 41 45 43 148 170 154 174 152 173 + 200 3 41 43 42 148 170 152 173 150 172 + 200 3 52 50 51 1 199 1 204 12 204 + 200 3 52 51 53 1 199 12 204 12 199 + 200 3 53 51 50 12 199 12 204 1 204 + 200 3 53 50 52 12 199 1 204 1 199 + 200 3 49 53 51 12 187 12 199 12 204 + 200 3 49 51 54 12 187 12 204 1 195 + 200 3 54 51 53 1 195 12 204 12 199 + 200 3 54 53 49 1 195 12 199 12 187 + 200 3 50 52 48 1 204 1 199 1 187 + 200 3 50 48 55 1 204 1 187 12 196 + 200 3 55 48 52 12 196 1 187 1 199 + 200 3 55 52 50 12 196 1 199 1 204 + 200 3 23 49 54 12 187 12 224 1 224 + 200 3 23 54 24 12 187 1 224 1 187 + 200 3 24 54 49 1 187 1 224 12 224 + 200 3 24 49 23 1 187 12 224 12 187 + 200 3 22 48 49 1 187 1 224 12 224 + 200 3 22 49 23 1 187 12 224 12 187 + 200 3 23 49 48 12 187 12 224 1 224 + 200 3 23 48 22 12 187 1 224 1 187 + 200 3 48 22 25 1 224 1 187 12 187 + 200 3 48 25 55 1 224 12 187 12 224 + 200 3 55 25 22 12 224 12 187 1 187 + 200 3 55 22 48 12 224 1 187 1 224 + 200 3 47 45 44 156 173 154 174 154 159 + 200 3 47 44 46 156 173 154 159 156 160 + 200 3 20 18 19 156 160 154 159 154 174 + 200 3 20 19 21 156 160 154 174 156 173 + 200 3 48 52 53 1 187 1 199 12 199 + 200 3 48 53 49 1 187 12 199 12 187 + 200 3 49 53 52 12 187 12 199 1 199 + 200 3 49 52 48 12 187 1 199 1 187 + 200 3 68 67 58 27 52 21 52 21 53 + 200 3 68 58 65 27 52 21 53 27 53 + 200 3 69 68 65 27 52 21 52 21 53 + 200 3 69 65 59 27 52 21 53 27 53 + 200 3 70 69 59 27 52 21 52 21 53 + 200 3 70 59 56 27 52 21 53 27 53 + 200 3 71 70 56 27 52 21 52 21 53 + 200 3 71 56 60 27 52 21 53 27 53 + 200 3 72 71 60 27 52 21 52 21 53 + 200 3 72 60 66 27 52 21 53 27 53 + 200 3 73 72 66 27 52 21 52 21 53 + 200 3 73 66 61 27 52 21 53 27 53 + 200 3 67 74 63 27 52 21 52 21 53 + 200 3 67 63 58 27 52 21 53 27 53 + 200 3 75 73 61 27 52 21 52 21 53 + 200 3 75 61 64 27 52 21 53 27 53 + 200 3 74 76 57 27 52 21 52 21 53 + 200 3 74 57 63 27 52 21 53 27 53 + 200 3 77 75 64 27 52 21 52 21 53 + 200 3 77 64 62 27 52 21 53 27 53 + 200 3 113 112 109 27 52 21 52 21 53 + 200 3 113 109 103 27 52 21 53 27 53 + 200 3 90 89 80 27 52 21 52 21 53 + 200 3 90 80 87 27 52 21 53 27 53 + 200 3 91 90 87 27 52 21 52 21 53 + 200 3 91 87 81 27 52 21 53 27 53 + 200 3 92 91 81 27 52 21 52 21 53 + 200 3 92 81 78 27 52 21 53 27 53 + 200 3 93 92 78 27 52 21 52 21 53 + 200 3 93 78 82 27 52 21 53 27 53 + 200 3 94 93 82 27 52 21 52 21 53 + 200 3 94 82 88 27 52 21 53 27 53 + 200 3 95 94 88 27 52 21 52 21 53 + 200 3 95 88 83 27 52 21 53 27 53 + 200 3 89 96 85 27 52 21 52 21 53 + 200 3 89 85 80 27 52 21 53 27 53 + 200 3 97 95 83 27 52 21 52 21 53 + 200 3 97 83 86 27 52 21 53 27 53 + 200 3 96 98 79 27 52 21 52 21 53 + 200 3 96 79 85 27 52 21 53 27 53 + 200 3 99 97 86 27 52 21 52 21 53 + 200 3 99 86 84 27 52 21 53 27 53 + 200 3 112 111 102 27 52 21 52 21 53 + 200 3 112 102 109 27 52 21 53 27 53 + 200 3 114 113 103 27 52 21 52 21 53 + 200 3 114 103 100 27 52 21 53 27 53 + 200 3 115 114 100 27 52 21 52 21 53 + 200 3 115 100 104 27 52 21 53 27 53 + 200 3 116 115 104 27 52 21 52 21 53 + 200 3 116 104 110 27 52 21 53 27 53 + 200 3 117 116 110 27 52 21 52 21 53 + 200 3 117 110 105 27 52 21 53 27 53 + 200 3 111 118 107 27 52 21 52 21 53 + 200 3 111 107 102 27 52 21 53 27 53 + 200 3 119 117 105 27 52 21 52 21 53 + 200 3 119 105 108 27 52 21 53 27 53 + 200 3 118 120 101 27 52 21 52 21 53 + 200 3 118 101 107 27 52 21 53 27 53 + 200 3 121 119 108 27 52 21 52 21 53 + 200 3 121 108 106 27 52 21 53 27 53 + 200 3 121 120 118 156 173 156 160 154 159 + 200 3 121 118 119 156 173 154 159 154 174 + 200 3 112 119 118 150 161 154 174 154 159 + 200 3 112 118 111 150 161 154 159 152 160 + 200 3 114 119 112 147 167 154 174 150 161 + 200 3 114 112 113 147 167 150 161 148 164 + 200 3 99 98 96 156 173 156 160 154 159 + 200 3 99 96 97 156 173 154 159 154 174 + 200 3 90 97 96 150 161 154 174 154 159 + 200 3 90 96 89 150 161 154 159 152 160 + 200 3 92 97 90 147 167 154 174 150 161 + 200 3 92 90 91 147 167 150 161 148 164 + 200 3 115 116 117 148 170 150 172 152 173 + 200 3 115 117 119 148 170 152 173 154 174 + 200 3 115 119 114 148 170 154 174 147 167 + 200 3 93 94 95 148 170 150 172 152 173 + 200 3 93 95 97 148 170 152 173 154 174 + 200 3 93 97 92 148 170 154 174 147 167 + 200 3 77 76 74 156 173 156 160 154 159 + 200 3 77 74 75 156 173 154 159 154 174 + 200 3 68 75 74 150 161 154 174 154 159 + 200 3 68 74 67 150 161 154 159 152 160 + 200 3 70 75 68 147 167 154 174 150 161 + 200 3 70 68 69 147 167 150 161 148 164 + 200 3 71 72 73 148 170 150 172 152 173 + 200 3 71 73 75 148 170 152 173 154 174 + 200 3 71 75 70 148 170 154 174 147 167 + 200 3 83 88 87 152 173 150 172 150 161 + 200 3 83 87 80 152 173 150 161 152 160 + 200 3 87 88 82 150 161 150 172 148 170 + 200 3 87 82 78 150 161 148 170 147 167 + 200 3 87 78 81 150 161 147 167 148 164 + 200 3 105 110 102 152 173 150 172 152 160 + 200 3 105 102 107 152 173 152 160 154 159 + 200 3 102 110 103 152 160 150 172 148 164 + 200 3 102 103 109 152 160 148 164 150 161 + 200 3 103 110 104 148 164 150 172 148 170 + 200 3 103 104 100 148 164 148 170 147 167 + 200 3 125 130 131 12 224 12 187 1 187 + 200 3 125 131 126 12 224 1 187 1 224 + 200 3 126 131 130 1 224 1 187 12 187 + 200 3 126 130 125 1 224 12 187 12 224 + 200 3 127 124 132 12 211 1 211 1 220 + 200 3 127 132 133 12 211 1 220 12 220 + 200 3 133 132 124 12 220 1 220 1 211 + 200 3 133 124 127 12 220 1 211 12 211 + 200 3 123 125 133 1 224 12 224 12 220 + 200 3 123 133 132 1 224 12 220 1 220 + 200 3 132 133 125 1 220 12 220 12 224 + 200 3 132 125 123 1 220 12 224 1 224 + 200 3 128 123 122 1 187 1 224 12 224 + 200 3 128 122 129 1 187 12 224 12 187 + 200 3 129 122 123 12 187 12 224 1 224 + 200 3 129 123 128 12 187 1 224 1 187 + 200 3 123 128 130 1 224 1 187 12 187 + 200 3 123 130 125 1 224 12 187 12 224 + 200 3 125 130 128 12 224 12 187 1 187 + 200 3 125 128 123 12 224 1 187 1 224 + 200 3 132 124 122 12 220 12 211 8 210 + 200 3 132 122 123 12 220 8 210 6 223 + 200 3 123 122 124 6 223 8 210 12 211 + 200 3 123 124 132 6 223 12 211 12 220 + 200 3 133 125 126 12 220 6 223 8 210 + 200 3 133 126 127 12 220 8 210 12 211 + 200 3 127 126 125 12 211 8 210 6 223 + 200 3 127 125 133 12 211 6 223 12 220 + 200 3 130 23 24 12 196 12 223 1 223 + 200 3 130 24 131 12 196 1 223 1 196 + 200 3 131 24 23 1 196 1 223 12 223 + 200 3 131 23 130 1 196 12 223 12 196 + 200 3 128 22 23 1 196 1 223 12 223 + 200 3 128 23 130 1 196 12 223 12 196 + 200 3 130 23 22 12 196 12 223 1 223 + 200 3 130 22 128 12 196 1 223 1 196 + 200 3 129 25 22 12 196 12 223 1 223 + 200 3 129 22 128 12 196 1 223 1 196 + 200 3 128 22 25 1 196 1 223 12 223 + 200 3 128 25 129 1 196 12 223 12 196 + 200 3 65 66 60 150 161 150 172 148 170 + 200 3 65 60 56 150 161 148 170 147 167 + 200 3 65 56 59 150 161 147 167 148 164 + 200 3 65 58 61 150 161 152 160 152 173 + 200 3 65 61 66 150 161 152 173 150 172 + 200 3 36 35 29 150 172 150 161 148 164 + 200 3 36 29 26 150 172 148 164 147 167 + 200 3 36 26 30 150 172 147 167 148 170 + 200 3 35 36 31 150 161 150 172 152 173 + 200 3 35 31 28 150 161 152 173 152 160 + 200 3 9 10 4 150 161 150 172 148 170 + 200 3 9 4 0 150 161 148 170 147 167 + 200 3 9 0 3 150 161 147 167 148 164 + 200 3 9 2 5 150 161 152 160 152 173 + 200 3 9 5 10 150 161 152 173 150 172 \ No newline at end of file diff --git a/data/mp/components/weapons/cy_con.pie b/data/mp/components/weapons/cy_con.pie index b1634c8bd..78a5fc3ea 100644 --- a/data/mp/components/weapons/cy_con.pie +++ b/data/mp/components/weapons/cy_con.pie @@ -26,4 +26,4 @@ POLYGONS 12 200 3 5 8 9 102 256 87 250 87 256 200 3 7 9 8 75 51 86 51 74 40 200 3 7 8 6 86 48 75 41 75 48 - 200 3 5 9 7 80 242 91 250 72 244 + 200 3 5 9 7 80 242 91 250 72 244 \ No newline at end of file diff --git a/data/mp/components/weapons/cy_gren.pie b/data/mp/components/weapons/cy_gren.pie index 709cfd60d..9c63a0461 100644 --- a/data/mp/components/weapons/cy_gren.pie +++ b/data/mp/components/weapons/cy_gren.pie @@ -16,16 +16,26 @@ POINTS 12 -1 -6 -17 4 -3 6 4 -3 -17 -POLYGONS 10 - 200 4 3 2 1 0 127 70 127 68 142 68 142 70 - 200 4 2 5 4 1 127 68 127 70 142 70 142 68 - 200 4 5 7 6 4 127 70 127 73 142 73 142 70 - 200 4 7 9 8 6 127 73 127 75 142 75 142 73 - 200 4 9 11 10 8 127 75 127 73 142 73 142 75 - 200 4 11 3 0 10 127 73 127 70 142 70 142 73 - 200 4 7 3 11 9 158 31 164 35 164 31 161 29 - 200 4 7 5 2 3 158 31 158 35 161 37 164 35 - 200 4 0 6 8 10 47 188 56 183 51 181 47 183 - 200 4 0 1 4 6 47 188 51 191 56 188 56 183 +POLYGONS 20 + 200 3 3 2 1 127 70 127 68 142 68 + 200 3 3 1 0 127 70 142 68 142 70 + 200 3 2 5 4 127 68 127 70 142 70 + 200 3 2 4 1 127 68 142 70 142 68 + 200 3 5 7 6 127 70 127 73 142 73 + 200 3 5 6 4 127 70 142 73 142 70 + 200 3 7 9 8 127 73 127 75 142 75 + 200 3 7 8 6 127 73 142 75 142 73 + 200 3 9 11 10 127 75 127 73 142 73 + 200 3 9 10 8 127 75 142 73 142 75 + 200 3 11 3 0 127 73 127 70 142 70 + 200 3 11 0 10 127 73 142 70 142 73 + 200 3 7 3 11 158 31 164 35 164 31 + 200 3 7 11 9 158 31 164 31 161 29 + 200 3 7 5 2 158 31 158 35 161 37 + 200 3 7 2 3 158 31 161 37 164 35 + 200 3 0 6 8 47 188 56 183 51 181 + 200 3 0 8 10 47 188 51 181 47 183 + 200 3 0 1 4 47 188 51 191 56 188 + 200 3 0 4 6 47 188 56 188 56 183 CONNECTORS 1 -1 -18 0 diff --git a/data/mp/components/weapons/cy_rep.pie b/data/mp/components/weapons/cy_rep.pie index 120db4661..2d8d2bff2 100644 --- a/data/mp/components/weapons/cy_rep.pie +++ b/data/mp/components/weapons/cy_rep.pie @@ -33,34 +33,56 @@ POINTS 29 4 0 -8 4 7 4 4 7 -4 -POLYGONS 28 - 200 4 0 1 2 3 36 187 31 187 31 181 36 181 - 200 4 3 2 1 0 36 181 31 181 31 187 36 187 - 200 4 1 4 5 2 31 187 31 187 31 181 31 181 - 200 4 2 5 4 1 31 181 31 181 31 187 31 187 - 200 4 4 0 3 5 31 187 36 187 36 181 31 181 - 200 4 5 3 0 4 31 181 36 181 36 187 31 187 +POLYGONS 50 + 200 3 0 1 2 36 187 31 187 31 181 + 200 3 0 2 3 36 187 31 181 36 181 + 200 3 3 2 1 36 181 31 181 31 187 + 200 3 3 1 0 36 181 31 187 36 187 + 200 3 1 4 5 31 187 31 187 31 181 + 200 3 1 5 2 31 187 31 181 31 181 + 200 3 2 5 4 31 181 31 181 31 187 + 200 3 2 4 1 31 181 31 187 31 187 + 200 3 4 0 3 31 187 36 187 36 181 + 200 3 4 3 5 31 187 36 181 31 181 + 200 3 5 3 0 31 181 36 181 36 187 + 200 3 5 0 4 31 181 36 187 31 187 200 3 6 7 8 34 181 36 187 31 187 200 3 8 7 6 31 187 36 187 34 181 200 3 6 8 9 34 181 31 187 31 187 200 3 9 8 6 31 187 31 187 34 181 200 3 6 9 7 34 181 31 187 36 187 200 3 7 9 6 36 187 31 187 34 181 - 200 4 8 12 11 10 202 234 202 224 192 224 192 234 - 200 4 16 15 14 13 192 224 202 224 202 234 192 234 - 200 4 13 14 8 10 2 177 0 177 0 191 2 191 - 200 4 14 15 12 8 0 177 4 177 4 191 0 191 - 200 4 15 16 11 12 4 177 6 177 6 191 4 191 - 200 4 16 13 10 11 6 177 2 177 2 191 6 191 - 200 4 20 19 18 17 202 229 192 229 195 234 199 234 - 200 4 20 22 21 19 202 229 199 224 195 224 192 229 - 200 4 26 25 24 23 192 229 202 229 199 234 195 234 - 200 4 25 26 28 27 202 229 192 229 195 224 199 224 - 200 4 25 27 22 20 3 177 6 177 6 191 3 191 - 200 4 27 28 21 22 6 177 6 177 6 191 6 191 - 200 4 28 26 19 21 6 177 3 177 3 191 6 191 - 200 4 26 23 18 19 3 177 0 177 0 191 3 191 - 200 4 23 24 17 18 0 177 0 177 0 191 0 191 - 200 4 24 25 20 17 0 177 3 177 3 191 0 191 + 200 3 8 12 11 202 234 202 224 192 224 + 200 3 8 11 10 202 234 192 224 192 234 + 200 3 16 15 14 192 224 202 224 202 234 + 200 3 16 14 13 192 224 202 234 192 234 + 200 3 13 14 8 2 177 0 177 0 191 + 200 3 13 8 10 2 177 0 191 2 191 + 200 3 14 15 12 0 177 4 177 4 191 + 200 3 14 12 8 0 177 4 191 0 191 + 200 3 15 16 11 4 177 6 177 6 191 + 200 3 15 11 12 4 177 6 191 4 191 + 200 3 16 13 10 6 177 2 177 2 191 + 200 3 16 10 11 6 177 2 191 6 191 + 200 3 20 19 18 202 229 192 229 195 234 + 200 3 20 18 17 202 229 195 234 199 234 + 200 3 20 22 21 202 229 199 224 195 224 + 200 3 20 21 19 202 229 195 224 192 229 + 200 3 26 25 24 192 229 202 229 199 234 + 200 3 26 24 23 192 229 199 234 195 234 + 200 3 25 26 28 202 229 192 229 195 224 + 200 3 25 28 27 202 229 195 224 199 224 + 200 3 25 27 22 3 177 6 177 6 191 + 200 3 25 22 20 3 177 6 191 3 191 + 200 3 27 28 21 6 177 6 177 6 191 + 200 3 27 21 22 6 177 6 191 6 191 + 200 3 28 26 19 6 177 3 177 3 191 + 200 3 28 19 21 6 177 3 191 6 191 + 200 3 26 23 18 3 177 0 177 0 191 + 200 3 26 18 19 3 177 0 191 3 191 + 200 3 23 24 17 0 177 0 177 0 191 + 200 3 23 17 18 0 177 0 191 0 191 + 200 3 24 25 20 0 177 3 177 3 191 + 200 3 24 20 17 0 177 3 191 0 191 CONNECTORS 1 0 -33 1 diff --git a/data/mp/components/weapons/cy_therm.pie b/data/mp/components/weapons/cy_therm.pie index 9474bfdf2..77629b944 100644 --- a/data/mp/components/weapons/cy_therm.pie +++ b/data/mp/components/weapons/cy_therm.pie @@ -20,17 +20,28 @@ POINTS 16 -5 6 5 -5 -14 5 3 -14 5 -POLYGONS 11 - 200 4 3 2 1 0 237 173 233 173 233 165 237 165 - 200 4 2 5 4 1 233 173 229 173 229 165 233 165 - 200 4 5 7 6 4 229 173 233 173 233 165 229 165 - 200 4 7 3 0 6 233 173 237 173 237 165 233 165 - 200 4 2 3 7 5 102 70 105 68 107 70 105 72 - 200 4 11 10 9 8 0 192 0 176 8 176 8 192 - 200 4 11 8 13 12 0 184 0 176 16 176 16 184 - 200 4 9 10 15 14 0 176 0 184 16 184 16 176 - 200 4 8 9 14 13 232 237 252 237 252 249 232 249 - 200 4 14 15 12 13 8 176 0 176 0 192 8 192 - 200 4 10 11 12 15 252 237 232 237 232 249 252 249 +POLYGONS 22 + 200 3 3 2 1 237 173 233 173 233 165 + 200 3 3 1 0 237 173 233 165 237 165 + 200 3 2 5 4 233 173 229 173 229 165 + 200 3 2 4 1 233 173 229 165 233 165 + 200 3 5 7 6 229 173 233 173 233 165 + 200 3 5 6 4 229 173 233 165 229 165 + 200 3 7 3 0 233 173 237 173 237 165 + 200 3 7 0 6 233 173 237 165 233 165 + 200 3 2 3 7 102 70 105 68 107 70 + 200 3 2 7 5 102 70 107 70 105 72 + 200 3 11 10 9 0 192 0 176 8 176 + 200 3 11 9 8 0 192 8 176 8 192 + 200 3 11 8 13 0 184 0 176 16 176 + 200 3 11 13 12 0 184 16 176 16 184 + 200 3 9 10 15 0 176 0 184 16 184 + 200 3 9 15 14 0 176 16 184 16 176 + 200 3 8 9 14 232 237 252 237 252 249 + 200 3 8 14 13 232 237 252 249 232 249 + 200 3 14 15 12 8 176 0 176 0 192 + 200 3 14 12 13 8 176 0 192 8 192 + 200 3 10 11 12 252 237 232 237 232 249 + 200 3 10 12 15 252 237 232 249 252 249 CONNECTORS 1 -1 -22 -6 diff --git a/data/mp/components/weapons/gnhaalas.pie b/data/mp/components/weapons/gnhaalas.pie index 84568bd0c..40edecb95 100644 --- a/data/mp/components/weapons/gnhaalas.pie +++ b/data/mp/components/weapons/gnhaalas.pie @@ -28,22 +28,34 @@ POINTS 24 -10 11 -29 -5 14 -12 -5 14 -29 -POLYGONS 16 +POLYGONS 28 200 3 2 1 0 46 185 56 179 56 191 200 3 5 4 3 157 26 167 33 157 40 - 200 4 9 8 7 6 33 177 46 177 46 192 33 192 - 200 4 8 11 10 7 33 177 46 177 46 192 33 192 - 200 4 11 9 6 10 33 177 46 177 46 192 33 192 - 200 4 4 5 1 2 242 25 251 25 251 37 242 37 - 200 4 5 3 0 1 242 25 251 25 251 37 242 37 - 200 4 3 4 2 0 242 25 251 25 251 37 242 37 + 200 3 9 8 7 33 177 46 177 46 192 + 200 3 9 7 6 33 177 46 192 33 192 + 200 3 8 11 10 33 177 46 177 46 192 + 200 3 8 10 7 33 177 46 192 33 192 + 200 3 11 9 6 33 177 46 177 46 192 + 200 3 11 6 10 33 177 46 192 33 192 + 200 3 4 5 1 242 25 251 25 251 37 + 200 3 4 1 2 242 25 251 37 242 37 + 200 3 5 3 0 242 25 251 25 251 37 + 200 3 5 0 1 242 25 251 37 242 37 + 200 3 3 4 2 242 25 251 25 251 37 + 200 3 3 2 0 242 25 251 37 242 37 200 3 14 13 12 46 185 56 179 56 191 200 3 17 16 15 157 26 167 33 157 40 - 200 4 16 17 13 14 242 25 251 25 251 37 242 37 - 200 4 17 15 12 13 242 25 251 25 251 37 242 37 - 200 4 15 16 14 12 242 25 251 25 251 37 242 37 - 200 4 21 20 19 18 33 177 46 177 46 192 33 192 - 200 4 20 23 22 19 33 177 46 177 46 192 33 192 - 200 4 23 21 18 22 33 177 46 177 46 192 33 192 + 200 3 16 17 13 242 25 251 25 251 37 + 200 3 16 13 14 242 25 251 37 242 37 + 200 3 17 15 12 242 25 251 25 251 37 + 200 3 17 12 13 242 25 251 37 242 37 + 200 3 15 16 14 242 25 251 25 251 37 + 200 3 15 14 12 242 25 251 37 242 37 + 200 3 21 20 19 33 177 46 177 46 192 + 200 3 21 19 18 33 177 46 192 33 192 + 200 3 20 23 22 33 177 46 177 46 192 + 200 3 20 22 19 33 177 46 192 33 192 + 200 3 23 21 18 33 177 46 177 46 192 + 200 3 23 18 22 33 177 46 192 33 192 CONNECTORS 1 0 -44 10 diff --git a/data/mp/components/weapons/gnhemp.pie b/data/mp/components/weapons/gnhemp.pie index 81e3f96f7..20c8746f6 100644 --- a/data/mp/components/weapons/gnhemp.pie +++ b/data/mp/components/weapons/gnhemp.pie @@ -10,8 +10,11 @@ POINTS 6 -6 11 -27 6 11 -27 0 23 10 -POLYGONS 4 +POLYGONS 7 200 3 2 1 0 53 187 49 185 49 189 - 200 4 4 3 0 1 53 180 49 180 50 184 52 184 - 200 4 5 4 1 2 236 24 213 28 207 28 207 24 - 200 4 3 5 2 0 213 28 236 24 207 24 207 28 + 200 3 4 3 0 53 180 49 180 50 184 + 200 3 4 0 1 53 180 50 184 52 184 + 200 3 5 4 1 236 24 213 28 207 28 + 200 3 5 1 2 236 24 207 28 207 24 + 200 3 3 5 2 213 28 236 24 207 24 + 200 3 3 2 0 213 28 207 24 207 28 \ No newline at end of file diff --git a/data/mp/components/weapons/gnhlas.pie b/data/mp/components/weapons/gnhlas.pie index 7add97f9b..7ca3fc61d 100644 --- a/data/mp/components/weapons/gnhlas.pie +++ b/data/mp/components/weapons/gnhlas.pie @@ -19,17 +19,25 @@ POINTS 15 0 22 -8 -4 15 -13 4 15 -13 -POLYGONS 11 - 200 4 3 2 1 0 242 25 251 25 251 37 242 37 - 200 4 2 5 4 1 242 25 251 25 251 37 242 37 - 200 4 5 3 0 4 242 25 251 25 251 37 242 37 +POLYGONS 19 + 200 3 3 2 1 242 25 251 25 251 37 + 200 3 3 1 0 242 25 251 37 242 37 + 200 3 2 5 4 242 25 251 25 251 37 + 200 3 2 4 1 242 25 251 37 242 37 + 200 3 5 3 0 242 25 251 25 251 37 + 200 3 5 0 4 242 25 251 37 242 37 200 3 2 3 5 157 26 167 33 157 40 - 200 4 0 1 7 6 33 192 46 192 46 177 33 177 - 200 4 1 4 8 7 33 192 46 192 46 177 33 177 - 200 4 4 0 6 8 33 192 46 192 46 177 33 177 + 200 3 0 1 7 33 192 46 192 46 177 + 200 3 0 7 6 33 192 46 177 33 177 + 200 3 1 4 8 33 192 46 192 46 177 + 200 3 1 8 7 33 192 46 177 33 177 + 200 3 4 0 6 33 192 46 192 46 177 + 200 3 4 6 8 33 192 46 177 33 177 200 3 11 10 9 157 26 167 33 157 40 - 200 4 10 11 13 12 209 60 216 60 216 81 209 81 - 200 4 9 10 12 14 216 60 209 60 209 81 216 81 + 200 3 10 11 13 209 60 216 60 216 81 + 200 3 10 13 12 209 60 216 81 209 81 + 200 3 9 10 12 216 60 209 60 209 81 + 200 3 9 12 14 216 60 209 81 216 81 200 3 13 14 12 157 26 167 33 157 40 CONNECTORS 1 0 -48 9 diff --git a/data/mp/components/weapons/gnhmg1.pie b/data/mp/components/weapons/gnhmg1.pie index dbbb26138..b447439df 100644 --- a/data/mp/components/weapons/gnhmg1.pie +++ b/data/mp/components/weapons/gnhmg1.pie @@ -40,32 +40,56 @@ POINTS 36 6 1 -29 12 7 -29 6 14 -29 -POLYGONS 26 - 200 4 3 2 1 0 150 129 161 129 161 140 150 140 - 200 4 7 6 5 4 128 126 140 126 140 128 128 128 +POLYGONS 50 + 200 3 3 2 1 150 129 161 129 161 140 + 200 3 3 1 0 150 129 161 140 150 140 + 200 3 7 6 5 128 126 140 126 140 128 + 200 3 7 5 4 128 126 140 128 128 128 200 3 5 6 8 128 126 140 126 140 128 - 200 4 6 7 9 8 128 126 140 126 140 128 128 128 + 200 3 6 7 9 128 126 140 126 140 128 + 200 3 6 9 8 128 126 140 128 128 128 200 3 9 7 4 128 128 128 126 140 126 - 200 4 10 11 12 13 208 23 211 23 211 20 208 20 - 200 4 13 12 11 10 208 20 211 20 211 23 208 23 - 200 4 11 14 15 12 213 23 218 23 218 20 213 20 - 200 4 12 15 14 11 213 20 218 20 218 23 213 23 - 200 4 16 10 13 17 213 23 218 23 218 20 213 20 - 200 4 17 13 10 16 213 20 218 20 218 23 213 23 - 200 4 20 3 19 18 147 128 150 128 150 140 147 140 - 200 4 3 22 21 19 147 128 150 128 150 140 147 140 - 200 4 22 24 23 21 147 128 150 128 150 140 147 140 - 200 4 24 20 18 23 147 128 150 128 150 140 147 140 - 200 4 24 22 3 20 150 129 161 129 161 140 150 140 - 200 4 25 26 27 28 208 23 211 23 211 20 208 20 - 200 4 28 27 26 25 208 20 211 20 211 23 208 23 - 200 4 26 29 30 27 213 23 218 23 218 20 213 20 - 200 4 27 30 29 26 213 20 218 20 218 23 213 23 - 200 4 31 25 28 32 213 23 218 23 218 20 213 20 - 200 4 32 28 25 31 213 20 218 20 218 23 213 23 - 200 4 0 1 34 33 147 128 150 128 150 140 147 140 - 200 4 1 2 35 34 147 128 150 128 150 140 147 140 - 200 4 2 3 19 35 147 128 150 128 150 140 147 140 - 200 4 3 0 33 19 147 128 150 128 150 140 147 140 + 200 3 10 11 12 208 23 211 23 211 20 + 200 3 10 12 13 208 23 211 20 208 20 + 200 3 13 12 11 208 20 211 20 211 23 + 200 3 13 11 10 208 20 211 23 208 23 + 200 3 11 14 15 213 23 218 23 218 20 + 200 3 11 15 12 213 23 218 20 213 20 + 200 3 12 15 14 213 20 218 20 218 23 + 200 3 12 14 11 213 20 218 23 213 23 + 200 3 16 10 13 213 23 218 23 218 20 + 200 3 16 13 17 213 23 218 20 213 20 + 200 3 17 13 10 213 20 218 20 218 23 + 200 3 17 10 16 213 20 218 23 213 23 + 200 3 20 3 19 147 128 150 128 150 140 + 200 3 20 19 18 147 128 150 140 147 140 + 200 3 3 22 21 147 128 150 128 150 140 + 200 3 3 21 19 147 128 150 140 147 140 + 200 3 22 24 23 147 128 150 128 150 140 + 200 3 22 23 21 147 128 150 140 147 140 + 200 3 24 20 18 147 128 150 128 150 140 + 200 3 24 18 23 147 128 150 140 147 140 + 200 3 24 22 3 150 129 161 129 161 140 + 200 3 24 3 20 150 129 161 140 150 140 + 200 3 25 26 27 208 23 211 23 211 20 + 200 3 25 27 28 208 23 211 20 208 20 + 200 3 28 27 26 208 20 211 20 211 23 + 200 3 28 26 25 208 20 211 23 208 23 + 200 3 26 29 30 213 23 218 23 218 20 + 200 3 26 30 27 213 23 218 20 213 20 + 200 3 27 30 29 213 20 218 20 218 23 + 200 3 27 29 26 213 20 218 23 213 23 + 200 3 31 25 28 213 23 218 23 218 20 + 200 3 31 28 32 213 23 218 20 213 20 + 200 3 32 28 25 213 20 218 20 218 23 + 200 3 32 25 31 213 20 218 23 213 23 + 200 3 0 1 34 147 128 150 128 150 140 + 200 3 0 34 33 147 128 150 140 147 140 + 200 3 1 2 35 147 128 150 128 150 140 + 200 3 1 35 34 147 128 150 140 147 140 + 200 3 2 3 19 147 128 150 128 150 140 + 200 3 2 19 35 147 128 150 140 147 140 + 200 3 3 0 33 147 128 150 128 150 140 + 200 3 3 33 19 147 128 150 140 147 140 CONNECTORS 1 0 -54 7 diff --git a/data/mp/components/weapons/gnhmorte.pie b/data/mp/components/weapons/gnhmorte.pie index bcbafec7f..4218a3231 100644 --- a/data/mp/components/weapons/gnhmorte.pie +++ b/data/mp/components/weapons/gnhmorte.pie @@ -26,22 +26,36 @@ POINTS 22 16 21 -18 13 19 -39 5 19 -11 -POLYGONS 16 - 200 4 3 2 1 0 209 71 210 54 223 51 223 71 - 200 4 1 2 3 4 223 51 210 54 209 71 223 71 +POLYGONS 30 + 200 3 3 2 1 209 71 210 54 223 51 + 200 3 3 1 0 209 71 223 51 223 71 + 200 3 1 2 3 223 51 210 54 209 71 + 200 3 1 3 4 223 51 209 71 223 71 200 3 0 4 3 223 71 223 71 209 71 - 200 4 8 7 6 5 157 33 164 33 162 36 159 36 - 200 4 8 10 9 7 157 33 159 29 162 29 164 33 - 200 4 7 9 12 11 207 26 207 24 236 24 236 26 - 200 4 9 10 13 12 207 24 207 24 236 24 236 24 - 200 4 10 8 14 13 207 24 207 26 236 26 236 24 - 200 4 8 5 15 14 207 26 207 28 236 28 236 26 - 200 4 5 6 16 15 207 28 207 28 236 28 236 28 - 200 4 6 7 11 16 207 28 207 26 236 26 236 28 - 200 4 11 14 15 16 53 182 49 182 50 180 52 180 - 200 4 11 12 13 14 53 182 52 184 50 184 49 182 - 200 4 20 19 18 17 210 54 209 71 223 71 223 51 - 200 4 20 17 21 19 210 54 223 51 223 71 209 71 + 200 3 8 7 6 157 33 164 33 162 36 + 200 3 8 6 5 157 33 162 36 159 36 + 200 3 8 10 9 157 33 159 29 162 29 + 200 3 8 9 7 157 33 162 29 164 33 + 200 3 7 9 12 207 26 207 24 236 24 + 200 3 7 12 11 207 26 236 24 236 26 + 200 3 9 10 13 207 24 207 24 236 24 + 200 3 9 13 12 207 24 236 24 236 24 + 200 3 10 8 14 207 24 207 26 236 26 + 200 3 10 14 13 207 24 236 26 236 24 + 200 3 8 5 15 207 26 207 28 236 28 + 200 3 8 15 14 207 26 236 28 236 26 + 200 3 5 6 16 207 28 207 28 236 28 + 200 3 5 16 15 207 28 236 28 236 28 + 200 3 6 7 11 207 28 207 26 236 26 + 200 3 6 11 16 207 28 236 26 236 28 + 200 3 11 14 15 53 182 49 182 50 180 + 200 3 11 15 16 53 182 50 180 52 180 + 200 3 11 12 13 53 182 52 184 50 184 + 200 3 11 13 14 53 182 50 184 49 182 + 200 3 20 19 18 210 54 209 71 223 71 + 200 3 20 18 17 210 54 223 71 223 51 + 200 3 20 17 21 210 54 223 51 223 71 + 200 3 20 21 19 210 54 223 71 209 71 200 3 18 19 21 223 71 209 71 223 71 CONNECTORS 1 0 -31 12 diff --git a/data/mp/components/weapons/gnhplsma.pie b/data/mp/components/weapons/gnhplsma.pie index 047d87690..5cdda1a36 100644 --- a/data/mp/components/weapons/gnhplsma.pie +++ b/data/mp/components/weapons/gnhplsma.pie @@ -26,21 +26,34 @@ POINTS 22 0 24 -2 -5 17 0 5 17 0 -POLYGONS 15 - 200 4 3 2 1 0 253 37 256 33 237 33 240 37 - 200 4 5 4 1 2 256 27 237 27 237 33 256 33 - 200 4 5 7 6 4 256 27 253 23 240 23 237 27 - 200 4 4 6 9 8 240 23 245 23 245 1 240 1 - 200 4 6 7 10 9 229 23 242 23 242 1 229 1 - 200 4 7 5 11 10 226 23 231 23 231 1 226 1 - 200 4 5 2 12 11 231 23 240 23 240 1 231 1 - 200 4 2 3 13 12 240 23 245 23 245 1 240 1 - 200 4 3 0 14 13 229 23 242 23 242 1 229 1 - 200 4 0 1 15 14 226 23 231 23 231 1 226 1 - 200 4 1 4 8 15 231 23 240 23 240 1 231 1 +POLYGONS 28 + 200 3 3 2 1 253 37 256 33 237 33 + 200 3 3 1 0 253 37 237 33 240 37 + 200 3 5 4 1 256 27 237 27 237 33 + 200 3 5 1 2 256 27 237 33 256 33 + 200 3 5 7 6 256 27 253 23 240 23 + 200 3 5 6 4 256 27 240 23 237 27 + 200 3 4 6 9 240 23 245 23 245 1 + 200 3 4 9 8 240 23 245 1 240 1 + 200 3 6 7 10 229 23 242 23 242 1 + 200 3 6 10 9 229 23 242 1 229 1 + 200 3 7 5 11 226 23 231 23 231 1 + 200 3 7 11 10 226 23 231 1 226 1 + 200 3 5 2 12 231 23 240 23 240 1 + 200 3 5 12 11 231 23 240 1 231 1 + 200 3 2 3 13 240 23 245 23 245 1 + 200 3 2 13 12 240 23 245 1 240 1 + 200 3 3 0 14 229 23 242 23 242 1 + 200 3 3 14 13 229 23 242 1 229 1 + 200 3 0 1 15 226 23 231 23 231 1 + 200 3 0 15 14 226 23 231 1 226 1 + 200 3 1 4 8 231 23 240 23 240 1 + 200 3 1 8 15 231 23 240 1 231 1 200 3 18 17 16 157 26 167 33 157 40 - 200 4 17 18 20 19 209 60 216 60 216 81 209 81 - 200 4 16 17 19 21 216 60 209 60 209 81 216 81 + 200 3 17 18 20 209 60 216 60 216 81 + 200 3 17 20 19 209 60 216 81 209 81 + 200 3 16 17 19 216 60 209 60 209 81 + 200 3 16 19 21 216 60 209 81 216 81 200 3 20 21 19 157 26 157 40 167 33 CONNECTORS 1 0 -60 7 diff --git a/data/mp/components/weapons/gnhsnsr4.pie b/data/mp/components/weapons/gnhsnsr4.pie index 9c9cc092d..a91f539af 100644 --- a/data/mp/components/weapons/gnhsnsr4.pie +++ b/data/mp/components/weapons/gnhsnsr4.pie @@ -27,26 +27,40 @@ POINTS 23 9 6 16 -12 6 -1 12 6 -1 -POLYGONS 22 - 200 4 3 2 1 0 78 76 65 76 64 101 79 101 - 200 4 0 4 5 6 181 154 181 141 170 141 170 154 - 200 4 6 5 4 0 170 154 170 141 181 141 181 154 - 200 4 1 7 8 9 181 154 181 141 170 141 170 154 - 200 4 9 8 7 1 170 154 170 141 181 141 181 154 +POLYGONS 36 + 200 3 3 2 1 78 76 65 76 64 101 + 200 3 3 1 0 78 76 64 101 79 101 + 200 3 0 4 5 181 154 181 141 170 141 + 200 3 0 5 6 181 154 170 141 170 154 + 200 3 6 5 4 170 154 170 141 181 141 + 200 3 6 4 0 170 154 181 141 181 154 + 200 3 1 7 8 181 154 181 141 170 141 + 200 3 1 8 9 181 154 170 141 170 154 + 200 3 9 8 7 170 154 170 141 181 141 + 200 3 9 7 1 170 154 181 141 181 154 200 3 12 11 10 50 101 50 76 65 95 200 3 13 11 12 79 76 79 101 64 89 - 200 4 13 14 10 11 22 76 37 83 37 94 22 101 + 200 3 13 14 10 22 76 37 83 37 94 + 200 3 13 10 11 22 76 37 94 22 101 200 3 14 13 12 50 95 65 76 65 101 200 3 10 14 12 74 95 74 84 89 90 200 3 3 0 4 65 77 50 100 50 77 200 3 1 2 7 65 100 50 77 65 77 - 200 4 7 2 3 4 36 75 51 75 51 102 36 102 - 200 4 1 7 4 0 208 95 208 84 223 84 223 95 - 200 4 7 1 1 7 222 84 222 95 222 95 222 84 - 200 4 7 1 1 7 222 84 222 95 222 95 222 84 - 200 4 7 1 1 7 222 84 222 95 222 95 222 84 - 200 4 10 14 15 16 209 81 212 81 212 59 209 59 - 200 4 16 15 14 10 209 59 212 59 212 81 209 81 - 200 4 20 19 18 17 212 81 211 59 210 59 209 81 + 200 3 7 2 3 36 75 51 75 51 102 + 200 3 7 3 4 36 75 51 102 36 102 + 200 3 1 7 4 208 95 208 84 223 84 + 200 3 1 4 0 208 95 223 84 223 95 + 200 3 7 1 1 222 84 222 95 222 95 + 200 3 7 1 7 222 84 222 95 222 84 + 200 3 7 1 1 222 84 222 95 222 95 + 200 3 7 1 7 222 84 222 95 222 84 + 200 3 7 1 1 222 84 222 95 222 95 + 200 3 7 1 7 222 84 222 95 222 84 + 200 3 10 14 15 209 81 212 81 212 59 + 200 3 10 15 16 209 81 212 59 209 59 + 200 3 16 15 14 209 59 212 59 212 81 + 200 3 16 14 10 209 59 212 81 209 81 + 200 3 20 19 18 212 81 211 59 210 59 + 200 3 20 18 17 212 81 210 59 209 81 200 3 21 17 18 219 81 209 81 209 59 - 200 3 19 20 22 209 59 209 81 219 81 + 200 3 19 20 22 209 59 209 81 219 81 \ No newline at end of file diff --git a/data/mp/components/weapons/gnhvcan2.pie b/data/mp/components/weapons/gnhvcan2.pie index 2f6dfa5a2..bdec5034d 100644 --- a/data/mp/components/weapons/gnhvcan2.pie +++ b/data/mp/components/weapons/gnhvcan2.pie @@ -26,20 +26,32 @@ POINTS 22 -13 15 -29 13 15 -21 -13 15 -21 -POLYGONS 14 - 200 4 3 2 1 0 65 66 70 61 76 67 71 72 - 200 4 7 6 5 4 44 48 47 48 47 60 44 60 - 200 4 6 9 8 5 44 48 47 48 47 60 44 60 - 200 4 9 11 10 8 44 48 47 48 47 60 44 60 - 200 4 11 7 4 10 44 48 47 48 47 60 44 60 - 200 4 11 9 6 7 65 66 70 61 76 67 71 72 - 200 4 0 1 13 12 44 48 47 48 47 60 44 60 - 200 4 1 2 14 13 44 48 47 48 47 60 44 60 - 200 4 2 3 15 14 44 48 47 48 47 60 44 60 - 200 4 3 0 12 15 44 48 47 48 47 60 44 60 - 200 4 19 18 17 16 0 182 0 189 9 190 9 182 +POLYGONS 26 + 200 3 3 2 1 65 66 70 61 76 67 + 200 3 3 1 0 65 66 76 67 71 72 + 200 3 7 6 5 44 48 47 48 47 60 + 200 3 7 5 4 44 48 47 60 44 60 + 200 3 6 9 8 44 48 47 48 47 60 + 200 3 6 8 5 44 48 47 60 44 60 + 200 3 9 11 10 44 48 47 48 47 60 + 200 3 9 10 8 44 48 47 60 44 60 + 200 3 11 7 4 44 48 47 48 47 60 + 200 3 11 4 10 44 48 47 60 44 60 + 200 3 11 9 6 65 66 70 61 76 67 + 200 3 11 6 7 65 66 76 67 71 72 + 200 3 0 1 13 44 48 47 48 47 60 + 200 3 0 13 12 44 48 47 60 44 60 + 200 3 1 2 14 44 48 47 48 47 60 + 200 3 1 14 13 44 48 47 60 44 60 + 200 3 2 3 15 44 48 47 48 47 60 + 200 3 2 15 14 44 48 47 60 44 60 + 200 3 3 0 12 44 48 47 48 47 60 + 200 3 3 12 15 44 48 47 60 44 60 + 200 3 19 18 17 0 182 0 189 9 190 + 200 3 19 17 16 0 182 9 190 9 182 200 3 20 17 18 0 190 9 182 0 182 - 200 4 18 19 21 20 9 182 0 182 0 190 9 190 + 200 3 18 19 21 9 182 0 182 0 190 + 200 3 18 21 20 9 182 0 190 9 190 200 3 21 19 16 9 190 9 182 0 182 CONNECTORS 1 0 -67 8 diff --git a/data/mp/components/weapons/gnlassat.pie b/data/mp/components/weapons/gnlassat.pie index f064c1715..6767e8f78 100644 --- a/data/mp/components/weapons/gnlassat.pie +++ b/data/mp/components/weapons/gnlassat.pie @@ -12,12 +12,20 @@ POINTS 8 9 239 9 -7 44 7 -9 239 9 -POLYGONS 8 - 200 4 0 1 2 3 179 194 190 194 194 245 175 245 - 200 4 3 2 1 0 175 245 194 245 190 194 179 194 - 200 4 1 4 5 2 202 194 213 194 217 245 198 245 - 200 4 2 5 4 1 198 245 217 245 213 194 202 194 - 200 4 4 6 7 5 179 194 190 194 194 245 175 245 - 200 4 5 7 6 4 175 245 194 245 190 194 179 194 - 200 4 6 0 3 7 202 194 213 194 217 245 198 245 - 200 4 7 3 0 6 198 245 217 245 213 194 202 194 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 179 194 190 194 194 245 + 200 3 0 2 3 179 194 194 245 175 245 + 200 3 3 2 1 175 245 194 245 190 194 + 200 3 3 1 0 175 245 190 194 179 194 + 200 3 1 4 5 202 194 213 194 217 245 + 200 3 1 5 2 202 194 217 245 198 245 + 200 3 2 5 4 198 245 217 245 213 194 + 200 3 2 4 1 198 245 213 194 202 194 + 200 3 4 6 7 179 194 190 194 194 245 + 200 3 4 7 5 179 194 194 245 175 245 + 200 3 5 7 6 175 245 194 245 190 194 + 200 3 5 6 4 175 245 190 194 179 194 + 200 3 6 0 3 202 194 213 194 217 245 + 200 3 6 3 7 202 194 217 245 198 245 + 200 3 7 3 0 198 245 217 245 213 194 + 200 3 7 0 6 198 245 213 194 202 194 \ No newline at end of file diff --git a/data/mp/components/weapons/gnmflmrp.pie b/data/mp/components/weapons/gnmflmrp.pie index bdb5a7421..f40bf2a0e 100644 --- a/data/mp/components/weapons/gnmflmrp.pie +++ b/data/mp/components/weapons/gnmflmrp.pie @@ -16,11 +16,16 @@ POINTS 12 6 5 -27 -7 5 -27 0 17 -27 -POLYGONS 7 - 200 4 3 2 1 0 108 68 108 73 116 73 116 68 - 200 4 5 3 0 4 116 73 116 68 108 68 108 73 +POLYGONS 12 + 200 3 3 2 1 108 68 108 73 116 73 + 200 3 3 1 0 108 68 116 73 116 68 + 200 3 5 3 0 116 73 116 68 108 68 + 200 3 5 0 4 116 73 108 68 108 73 200 3 8 7 6 105 70 103 71 103 69 200 3 11 10 9 107 70 102 68 102 72 - 200 4 8 6 10 11 125 61 125 73 116 73 116 61 - 200 4 6 7 9 10 125 61 125 73 116 73 116 61 - 200 4 7 8 11 9 116 73 116 61 125 61 125 73 + 200 3 8 6 10 125 61 125 73 116 73 + 200 3 8 10 11 125 61 116 73 116 61 + 200 3 6 7 9 125 61 125 73 116 73 + 200 3 6 9 10 125 61 116 73 116 61 + 200 3 7 8 11 116 73 116 61 125 61 + 200 3 7 11 9 116 73 125 61 125 73 \ No newline at end of file diff --git a/data/mp/components/weapons/gnmhowti.pie b/data/mp/components/weapons/gnmhowti.pie index 7d1eb5e10..ba8bb6ab1 100644 --- a/data/mp/components/weapons/gnmhowti.pie +++ b/data/mp/components/weapons/gnmhowti.pie @@ -30,21 +30,36 @@ POINTS 26 -3 26 -18 0 16 -17 3 26 -18 -POLYGONS 15 - 200 4 3 2 1 0 149 48 152 48 153 66 149 62 - 200 4 2 5 4 1 147 48 151 48 150 62 147 66 - 200 4 6 5 2 3 177 59 171 75 160 76 161 65 - 200 4 10 9 8 7 61 48 60 48 51 48 49 48 - 200 4 14 13 12 11 51 57 60 57 61 57 49 57 - 200 4 12 13 9 10 61 57 60 57 60 48 61 48 - 200 4 13 14 8 9 60 57 51 57 51 48 60 48 - 200 4 14 11 7 8 51 57 49 57 49 48 51 48 - 200 4 18 17 16 15 77 71 77 61 90 61 90 71 - 200 4 22 21 20 19 77 61 90 61 90 71 77 71 - 200 4 20 21 17 18 77 71 77 61 90 61 90 71 - 200 4 21 22 16 17 90 61 90 71 77 71 77 61 - 200 4 22 19 15 16 90 61 90 71 77 71 77 61 - 200 4 6 24 23 5 152 69 152 76 146 76 146 65 - 200 4 24 6 3 25 152 76 152 69 146 65 146 76 +POLYGONS 30 + 200 3 3 2 1 149 48 152 48 153 66 + 200 3 3 1 0 149 48 153 66 149 62 + 200 3 2 5 4 147 48 151 48 150 62 + 200 3 2 4 1 147 48 150 62 147 66 + 200 3 6 5 2 177 59 171 75 160 76 + 200 3 6 2 3 177 59 160 76 161 65 + 200 3 10 9 8 61 48 60 48 51 48 + 200 3 10 8 7 61 48 51 48 49 48 + 200 3 14 13 12 51 57 60 57 61 57 + 200 3 14 12 11 51 57 61 57 49 57 + 200 3 12 13 9 61 57 60 57 60 48 + 200 3 12 9 10 61 57 60 48 61 48 + 200 3 13 14 8 60 57 51 57 51 48 + 200 3 13 8 9 60 57 51 48 60 48 + 200 3 14 11 7 51 57 49 57 49 48 + 200 3 14 7 8 51 57 49 48 51 48 + 200 3 18 17 16 77 71 77 61 90 61 + 200 3 18 16 15 77 71 90 61 90 71 + 200 3 22 21 20 77 61 90 61 90 71 + 200 3 22 20 19 77 61 90 71 77 71 + 200 3 20 21 17 77 71 77 61 90 61 + 200 3 20 17 18 77 71 90 61 90 71 + 200 3 21 22 16 90 61 90 71 77 71 + 200 3 21 16 17 90 61 77 71 77 61 + 200 3 22 19 15 90 61 90 71 77 71 + 200 3 22 15 16 90 61 77 71 77 61 + 200 3 6 24 23 152 69 152 76 146 76 + 200 3 6 23 5 152 69 146 76 146 65 + 200 3 24 6 3 152 76 152 69 146 65 + 200 3 24 3 25 152 76 146 65 146 76 CONNECTORS 1 0 -39 26 diff --git a/data/mp/components/weapons/gnmmorti.pie b/data/mp/components/weapons/gnmmorti.pie index ea390c443..af515124b 100644 --- a/data/mp/components/weapons/gnmmorti.pie +++ b/data/mp/components/weapons/gnmmorti.pie @@ -24,22 +24,38 @@ POINTS 20 6 9 1 -3 15 1 3 15 1 -POLYGONS 16 - 200 4 3 2 1 0 157 33 165 33 163 29 159 29 - 200 4 3 5 4 2 157 33 159 37 163 37 165 33 - 200 4 9 8 7 6 49 48 59 48 61 57 49 57 - 200 4 13 12 11 10 49 57 51 48 61 48 61 57 - 200 4 10 11 9 6 49 48 61 49 61 56 49 57 - 200 4 11 12 8 9 49 49 59 49 59 56 49 56 - 200 4 12 13 7 8 50 49 61 48 61 57 50 56 - 200 4 13 10 6 7 49 48 61 48 61 57 49 57 - 200 4 17 16 15 14 239 255 237 255 238 256 238 256 - 200 4 17 19 18 16 239 255 238 254 238 254 237 255 - 200 4 2 4 19 17 149 49 151 49 151 66 149 66 - 200 4 4 5 18 19 151 49 151 49 151 66 151 66 - 200 4 5 3 16 18 151 49 149 49 149 66 151 66 - 200 4 3 0 15 16 149 49 147 49 147 66 149 66 - 200 4 0 1 14 15 147 49 147 49 147 66 147 66 - 200 4 1 2 17 14 147 49 149 49 149 66 147 66 +POLYGONS 32 + 200 3 3 2 1 157 33 165 33 163 29 + 200 3 3 1 0 157 33 163 29 159 29 + 200 3 3 5 4 157 33 159 37 163 37 + 200 3 3 4 2 157 33 163 37 165 33 + 200 3 9 8 7 49 48 59 48 61 57 + 200 3 9 7 6 49 48 61 57 49 57 + 200 3 13 12 11 49 57 51 48 61 48 + 200 3 13 11 10 49 57 61 48 61 57 + 200 3 10 11 9 49 48 61 49 61 56 + 200 3 10 9 6 49 48 61 56 49 57 + 200 3 11 12 8 49 49 59 49 59 56 + 200 3 11 8 9 49 49 59 56 49 56 + 200 3 12 13 7 50 49 61 48 61 57 + 200 3 12 7 8 50 49 61 57 50 56 + 200 3 13 10 6 49 48 61 48 61 57 + 200 3 13 6 7 49 48 61 57 49 57 + 200 3 17 16 15 239 255 237 255 238 256 + 200 3 17 15 14 239 255 238 256 238 256 + 200 3 17 19 18 239 255 238 254 238 254 + 200 3 17 18 16 239 255 238 254 237 255 + 200 3 2 4 19 149 49 151 49 151 66 + 200 3 2 19 17 149 49 151 66 149 66 + 200 3 4 5 18 151 49 151 49 151 66 + 200 3 4 18 19 151 49 151 66 151 66 + 200 3 5 3 16 151 49 149 49 149 66 + 200 3 5 16 18 151 49 149 66 151 66 + 200 3 3 0 15 149 49 147 49 147 66 + 200 3 3 15 16 149 49 147 66 149 66 + 200 3 0 1 14 147 49 147 49 147 66 + 200 3 0 14 15 147 49 147 66 147 66 + 200 3 1 2 17 147 49 149 49 149 66 + 200 3 1 17 14 147 49 149 66 147 66 CONNECTORS 1 0 -22 9 diff --git a/data/mp/components/weapons/gnmrepr2.pie b/data/mp/components/weapons/gnmrepr2.pie index 803cb0dfc..b24657cbd 100644 --- a/data/mp/components/weapons/gnmrepr2.pie +++ b/data/mp/components/weapons/gnmrepr2.pie @@ -34,28 +34,45 @@ POINTS 30 0 13 -52 -3 12 -46 2 12 -46 -POLYGONS 24 - 200 4 3 2 1 0 0 140 0 129 16 129 16 140 - 200 4 7 6 5 4 0 129 16 129 16 140 0 140 - 200 4 5 6 2 3 0 129 16 129 16 140 0 140 - 200 4 6 7 1 2 0 129 16 129 16 140 0 140 - 200 4 7 4 0 1 0 129 16 129 16 140 0 140 - 200 4 11 10 9 8 199 66 182 66 182 83 199 83 - 200 4 13 11 8 12 199 66 182 66 182 83 199 83 - 200 4 10 13 12 9 199 66 182 66 182 83 199 83 +POLYGONS 41 + 200 3 3 2 1 0 140 0 129 16 129 + 200 3 3 1 0 0 140 16 129 16 140 + 200 3 7 6 5 0 129 16 129 16 140 + 200 3 7 5 4 0 129 16 140 0 140 + 200 3 5 6 2 0 129 16 129 16 140 + 200 3 5 2 3 0 129 16 140 0 140 + 200 3 6 7 1 0 129 16 129 16 140 + 200 3 6 1 2 0 129 16 140 0 140 + 200 3 7 4 0 0 129 16 129 16 140 + 200 3 7 0 1 0 129 16 140 0 140 + 200 3 11 10 9 199 66 182 66 182 83 + 200 3 11 9 8 199 66 182 83 199 83 + 200 3 13 11 8 199 66 182 66 182 83 + 200 3 13 8 12 199 66 182 83 199 83 + 200 3 10 13 12 199 66 182 66 182 83 + 200 3 10 12 9 199 66 182 83 199 83 200 3 12 8 9 182 78 190 103 173 103 - 200 4 17 16 15 14 199 62 182 62 182 87 199 87 - 200 4 19 17 14 18 199 62 182 62 182 87 199 87 - 200 4 16 19 18 15 199 62 182 62 182 87 199 87 - 200 4 23 22 21 20 2 177 0 177 0 191 2 191 - 200 4 22 17 16 21 0 177 4 177 4 191 0 191 - 200 4 17 25 24 16 4 177 6 177 6 191 4 191 - 200 4 25 23 20 24 6 177 2 177 2 191 6 191 - 200 4 21 16 24 20 6 191 6 177 0 177 0 191 - 200 4 25 17 22 23 0 177 6 177 6 191 0 191 + 200 3 17 16 15 199 62 182 62 182 87 + 200 3 17 15 14 199 62 182 87 199 87 + 200 3 19 17 14 199 62 182 62 182 87 + 200 3 19 14 18 199 62 182 87 199 87 + 200 3 16 19 18 199 62 182 62 182 87 + 200 3 16 18 15 199 62 182 87 199 87 + 200 3 23 22 21 2 177 0 177 0 191 + 200 3 23 21 20 2 177 0 191 2 191 + 200 3 22 17 16 0 177 4 177 4 191 + 200 3 22 16 21 0 177 4 191 0 191 + 200 3 17 25 24 4 177 6 177 6 191 + 200 3 17 24 16 4 177 6 191 4 191 + 200 3 25 23 20 6 177 2 177 2 191 + 200 3 25 20 24 6 177 2 191 6 191 + 200 3 21 16 24 6 191 6 177 0 177 + 200 3 21 24 20 6 191 0 177 0 191 + 200 3 25 17 22 0 177 6 177 6 191 + 200 3 25 22 23 0 177 6 191 0 191 200 3 26 27 28 34 181 36 187 31 187 200 3 28 27 26 31 187 36 187 34 181 200 3 26 28 29 34 181 31 187 31 187 200 3 29 28 26 31 187 31 187 34 181 200 3 26 29 27 34 181 31 187 36 187 - 200 3 27 29 26 36 187 31 187 34 181 + 200 3 27 29 26 36 187 31 187 34 181 \ No newline at end of file diff --git a/data/mp/components/weapons/gnwpfcan.pie b/data/mp/components/weapons/gnwpfcan.pie index 1d9b52462..34fda6e78 100644 --- a/data/mp/components/weapons/gnwpfcan.pie +++ b/data/mp/components/weapons/gnwpfcan.pie @@ -14,13 +14,19 @@ POINTS 10 13 10 -150 21 35 -38 21 35 -150 -POLYGONS 7 - 200 4 3 2 1 0 209 97 206 97 206 53 209 53 - 200 4 2 5 4 1 206 97 202 97 202 53 206 53 - 200 4 5 7 6 4 202 97 202 97 202 53 202 53 - 200 4 7 9 8 6 202 97 206 97 206 53 202 53 - 200 4 9 3 0 8 206 97 209 97 209 53 206 53 - 200 4 3 9 7 5 165 33 162 37 156 35 156 30 +POLYGONS 13 + 200 3 3 2 1 209 97 206 97 206 53 + 200 3 3 1 0 209 97 206 53 209 53 + 200 3 2 5 4 206 97 202 97 202 53 + 200 3 2 4 1 206 97 202 53 206 53 + 200 3 5 7 6 202 97 202 97 202 53 + 200 3 5 6 4 202 97 202 53 202 53 + 200 3 7 9 8 202 97 206 97 206 53 + 200 3 7 8 6 202 97 206 53 202 53 + 200 3 9 3 0 206 97 209 97 209 53 + 200 3 9 0 8 206 97 209 53 206 53 + 200 3 3 9 7 165 33 162 37 156 35 + 200 3 3 7 5 165 33 156 35 156 30 200 3 2 3 5 162 28 165 33 156 30 CONNECTORS 1 0 -153 31 diff --git a/data/mp/components/weapons/gnwpfgss.pie b/data/mp/components/weapons/gnwpfgss.pie index 51c5231aa..b59593510 100644 --- a/data/mp/components/weapons/gnwpfgss.pie +++ b/data/mp/components/weapons/gnwpfgss.pie @@ -14,16 +14,27 @@ POINTS 10 -9 10 -150 17 10 -150 25 35 -150 -POLYGONS 12 - 200 4 3 2 1 0 216 114 211 118 202 116 202 111 +POLYGONS 23 + 200 3 3 2 1 216 114 211 118 202 116 + 200 3 3 1 0 216 114 202 116 202 111 200 3 4 3 0 211 109 216 114 202 111 - 200 4 3 4 5 6 158 40 152 40 152 70 158 70 - 200 4 6 5 4 3 158 70 152 70 152 40 158 40 - 200 4 4 0 7 5 158 40 152 40 152 70 158 70 - 200 4 5 7 0 4 158 70 152 70 152 40 158 40 - 200 4 0 1 8 7 152 40 158 40 158 70 152 70 - 200 4 7 8 1 0 152 70 158 70 158 40 152 40 - 200 4 1 2 9 8 152 40 158 40 158 70 152 70 - 200 4 8 9 2 1 152 70 158 70 158 40 152 40 - 200 4 2 3 6 9 152 40 158 40 158 70 152 70 - 200 4 9 6 3 2 152 70 158 70 158 40 152 40 + 200 3 3 4 5 158 40 152 40 152 70 + 200 3 3 5 6 158 40 152 70 158 70 + 200 3 6 5 4 158 70 152 70 152 40 + 200 3 6 4 3 158 70 152 40 158 40 + 200 3 4 0 7 158 40 152 40 152 70 + 200 3 4 7 5 158 40 152 70 158 70 + 200 3 5 7 0 158 70 152 70 152 40 + 200 3 5 0 4 158 70 152 40 158 40 + 200 3 0 1 8 152 40 158 40 158 70 + 200 3 0 8 7 152 40 158 70 152 70 + 200 3 7 8 1 152 70 158 70 158 40 + 200 3 7 1 0 152 70 158 40 152 40 + 200 3 1 2 9 152 40 158 40 158 70 + 200 3 1 9 8 152 40 158 70 152 70 + 200 3 8 9 2 152 70 158 70 158 40 + 200 3 8 2 1 152 70 158 40 152 40 + 200 3 2 3 6 152 40 158 40 158 70 + 200 3 2 6 9 152 40 158 70 152 70 + 200 3 9 6 3 152 70 158 70 158 40 + 200 3 9 3 2 152 70 158 40 152 40 \ No newline at end of file diff --git a/data/mp/components/weapons/gnwpfmsl.pie b/data/mp/components/weapons/gnwpfmsl.pie index 25757f511..b95b925d6 100644 --- a/data/mp/components/weapons/gnwpfmsl.pie +++ b/data/mp/components/weapons/gnwpfmsl.pie @@ -52,38 +52,70 @@ POINTS 48 -36 13 31 -36 75 31 -36 75 -30 -POLYGONS 32 - 200 4 3 2 1 0 232 49 228 49 224 99 235 99 - 200 4 7 6 5 4 224 99 228 49 232 49 235 99 - 200 4 4 5 3 0 199 91 199 58 179 58 179 91 - 200 4 6 7 1 2 179 58 179 91 199 91 199 58 - 200 4 11 10 9 8 247 208 237 208 237 238 247 238 - 200 4 15 14 13 12 237 208 247 208 247 238 237 238 - 200 4 14 11 8 13 237 208 247 208 247 238 237 238 - 200 4 10 15 12 9 247 208 237 208 237 238 247 238 - 200 4 8 9 12 13 166 52 166 45 159 45 159 52 - 200 4 15 10 11 14 166 61 159 61 159 68 166 68 - 200 4 19 18 17 16 247 208 237 208 237 238 247 238 - 200 4 23 22 21 20 237 208 247 208 247 238 237 238 - 200 4 22 19 16 21 237 208 247 208 247 238 237 238 - 200 4 18 23 20 17 247 208 237 208 237 238 247 238 - 200 4 16 17 20 21 166 52 166 45 159 45 159 52 - 200 4 23 18 19 22 166 61 159 61 159 68 166 68 - 200 4 27 26 25 24 247 208 237 208 237 238 247 238 - 200 4 31 30 29 28 237 208 247 208 247 238 237 238 - 200 4 30 27 24 29 237 208 247 208 247 238 237 238 - 200 4 26 31 28 25 247 208 237 208 237 238 247 238 - 200 4 24 25 28 29 166 52 166 45 159 45 159 52 - 200 4 31 26 27 30 166 61 159 61 159 68 166 68 - 200 4 35 34 33 32 247 208 237 208 237 238 247 238 - 200 4 39 38 37 36 237 208 247 208 247 238 237 238 - 200 4 38 35 32 37 237 208 247 208 247 238 237 238 - 200 4 34 39 36 33 247 208 237 208 237 238 247 238 - 200 4 32 33 36 37 166 52 166 45 159 45 159 52 - 200 4 39 34 35 38 166 61 159 61 159 68 166 68 - 200 4 40 41 42 43 176 176 196 176 196 156 176 156 - 200 4 43 42 41 40 176 156 196 156 196 176 176 176 - 200 4 44 45 46 47 176 176 196 176 196 156 176 156 - 200 4 47 46 45 44 176 156 196 156 196 176 176 176 +POLYGONS 64 + 200 3 3 2 1 232 49 228 49 224 99 + 200 3 3 1 0 232 49 224 99 235 99 + 200 3 7 6 5 224 99 228 49 232 49 + 200 3 7 5 4 224 99 232 49 235 99 + 200 3 4 5 3 199 91 199 58 179 58 + 200 3 4 3 0 199 91 179 58 179 91 + 200 3 6 7 1 179 58 179 91 199 91 + 200 3 6 1 2 179 58 199 91 199 58 + 200 3 11 10 9 247 208 237 208 237 238 + 200 3 11 9 8 247 208 237 238 247 238 + 200 3 15 14 13 237 208 247 208 247 238 + 200 3 15 13 12 237 208 247 238 237 238 + 200 3 14 11 8 237 208 247 208 247 238 + 200 3 14 8 13 237 208 247 238 237 238 + 200 3 10 15 12 247 208 237 208 237 238 + 200 3 10 12 9 247 208 237 238 247 238 + 200 3 8 9 12 166 52 166 45 159 45 + 200 3 8 12 13 166 52 159 45 159 52 + 200 3 15 10 11 166 61 159 61 159 68 + 200 3 15 11 14 166 61 159 68 166 68 + 200 3 19 18 17 247 208 237 208 237 238 + 200 3 19 17 16 247 208 237 238 247 238 + 200 3 23 22 21 237 208 247 208 247 238 + 200 3 23 21 20 237 208 247 238 237 238 + 200 3 22 19 16 237 208 247 208 247 238 + 200 3 22 16 21 237 208 247 238 237 238 + 200 3 18 23 20 247 208 237 208 237 238 + 200 3 18 20 17 247 208 237 238 247 238 + 200 3 16 17 20 166 52 166 45 159 45 + 200 3 16 20 21 166 52 159 45 159 52 + 200 3 23 18 19 166 61 159 61 159 68 + 200 3 23 19 22 166 61 159 68 166 68 + 200 3 27 26 25 247 208 237 208 237 238 + 200 3 27 25 24 247 208 237 238 247 238 + 200 3 31 30 29 237 208 247 208 247 238 + 200 3 31 29 28 237 208 247 238 237 238 + 200 3 30 27 24 237 208 247 208 247 238 + 200 3 30 24 29 237 208 247 238 237 238 + 200 3 26 31 28 247 208 237 208 237 238 + 200 3 26 28 25 247 208 237 238 247 238 + 200 3 24 25 28 166 52 166 45 159 45 + 200 3 24 28 29 166 52 159 45 159 52 + 200 3 31 26 27 166 61 159 61 159 68 + 200 3 31 27 30 166 61 159 68 166 68 + 200 3 35 34 33 247 208 237 208 237 238 + 200 3 35 33 32 247 208 237 238 247 238 + 200 3 39 38 37 237 208 247 208 247 238 + 200 3 39 37 36 237 208 247 238 237 238 + 200 3 38 35 32 237 208 247 208 247 238 + 200 3 38 32 37 237 208 247 238 237 238 + 200 3 34 39 36 247 208 237 208 237 238 + 200 3 34 36 33 247 208 237 238 247 238 + 200 3 32 33 36 166 52 166 45 159 45 + 200 3 32 36 37 166 52 159 45 159 52 + 200 3 39 34 35 166 61 159 61 159 68 + 200 3 39 35 38 166 61 159 68 166 68 + 200 3 40 41 42 176 176 196 176 196 156 + 200 3 40 42 43 176 176 196 156 176 156 + 200 3 43 42 41 176 156 196 156 196 176 + 200 3 43 41 40 176 156 196 176 176 176 + 200 3 44 45 46 176 176 196 176 196 156 + 200 3 44 46 47 176 176 196 156 176 156 + 200 3 47 46 45 176 156 196 156 196 176 + 200 3 47 45 44 176 156 196 176 176 176 CONNECTORS 1 0 -51 45 diff --git a/data/mp/components/weapons/gnwpfrkt.pie b/data/mp/components/weapons/gnwpfrkt.pie index 4f48df3b0..03fe9c35c 100644 --- a/data/mp/components/weapons/gnwpfrkt.pie +++ b/data/mp/components/weapons/gnwpfrkt.pie @@ -52,38 +52,70 @@ POINTS 48 -31 10 38 -31 10 -38 -34 37 -44 -POLYGONS 32 - 200 4 3 2 1 0 232 49 228 49 224 99 235 99 - 200 4 7 6 5 4 224 99 228 49 232 49 235 99 - 200 4 4 5 3 0 199 91 199 58 179 58 179 91 - 200 4 6 7 1 2 179 58 179 91 199 91 199 58 - 200 4 8 9 10 11 176 176 196 176 196 156 176 156 - 200 4 11 10 9 8 176 156 196 156 196 176 176 176 - 200 4 12 13 14 15 176 176 196 176 196 156 176 156 - 200 4 15 14 13 12 176 156 196 156 196 176 176 176 - 200 4 19 18 17 16 220 169 220 165 196 165 196 169 - 200 4 23 22 21 20 220 165 220 169 196 169 196 165 - 200 4 22 19 16 21 252 116 256 116 256 140 252 140 - 200 4 18 23 20 17 256 116 252 116 252 140 256 140 - 200 4 16 17 20 21 252 183 252 173 242 173 242 183 - 200 4 23 18 19 22 166 61 159 61 159 68 166 68 - 200 4 27 26 25 24 220 169 220 165 196 165 196 169 - 200 4 31 30 29 28 220 165 220 169 196 169 196 165 - 200 4 30 27 24 29 252 116 256 116 256 140 252 140 - 200 4 26 31 28 25 256 116 252 116 252 140 256 140 - 200 4 24 25 28 29 252 183 252 173 242 173 242 183 - 200 4 31 26 27 30 166 61 159 61 159 68 166 68 - 200 4 35 34 33 32 220 169 220 165 196 165 196 169 - 200 4 39 38 37 36 220 165 220 169 196 169 196 165 - 200 4 38 35 32 37 252 116 256 116 256 140 252 140 - 200 4 34 39 36 33 256 116 252 116 252 140 256 140 - 200 4 32 33 36 37 252 183 252 173 242 173 242 183 - 200 4 39 34 35 38 166 61 159 61 159 68 166 68 - 200 4 43 42 41 40 220 169 220 165 196 165 196 169 - 200 4 47 46 45 44 220 165 220 169 196 169 196 165 - 200 4 46 43 40 45 252 116 256 116 256 140 252 140 - 200 4 42 47 44 41 256 116 252 116 252 140 256 140 - 200 4 40 41 44 45 252 183 252 173 242 173 242 183 - 200 4 47 42 43 46 166 61 159 61 159 68 166 68 +POLYGONS 64 + 200 3 3 2 1 232 49 228 49 224 99 + 200 3 3 1 0 232 49 224 99 235 99 + 200 3 7 6 5 224 99 228 49 232 49 + 200 3 7 5 4 224 99 232 49 235 99 + 200 3 4 5 3 199 91 199 58 179 58 + 200 3 4 3 0 199 91 179 58 179 91 + 200 3 6 7 1 179 58 179 91 199 91 + 200 3 6 1 2 179 58 199 91 199 58 + 200 3 8 9 10 176 176 196 176 196 156 + 200 3 8 10 11 176 176 196 156 176 156 + 200 3 11 10 9 176 156 196 156 196 176 + 200 3 11 9 8 176 156 196 176 176 176 + 200 3 12 13 14 176 176 196 176 196 156 + 200 3 12 14 15 176 176 196 156 176 156 + 200 3 15 14 13 176 156 196 156 196 176 + 200 3 15 13 12 176 156 196 176 176 176 + 200 3 19 18 17 220 169 220 165 196 165 + 200 3 19 17 16 220 169 196 165 196 169 + 200 3 23 22 21 220 165 220 169 196 169 + 200 3 23 21 20 220 165 196 169 196 165 + 200 3 22 19 16 252 116 256 116 256 140 + 200 3 22 16 21 252 116 256 140 252 140 + 200 3 18 23 20 256 116 252 116 252 140 + 200 3 18 20 17 256 116 252 140 256 140 + 200 3 16 17 20 252 183 252 173 242 173 + 200 3 16 20 21 252 183 242 173 242 183 + 200 3 23 18 19 166 61 159 61 159 68 + 200 3 23 19 22 166 61 159 68 166 68 + 200 3 27 26 25 220 169 220 165 196 165 + 200 3 27 25 24 220 169 196 165 196 169 + 200 3 31 30 29 220 165 220 169 196 169 + 200 3 31 29 28 220 165 196 169 196 165 + 200 3 30 27 24 252 116 256 116 256 140 + 200 3 30 24 29 252 116 256 140 252 140 + 200 3 26 31 28 256 116 252 116 252 140 + 200 3 26 28 25 256 116 252 140 256 140 + 200 3 24 25 28 252 183 252 173 242 173 + 200 3 24 28 29 252 183 242 173 242 183 + 200 3 31 26 27 166 61 159 61 159 68 + 200 3 31 27 30 166 61 159 68 166 68 + 200 3 35 34 33 220 169 220 165 196 165 + 200 3 35 33 32 220 169 196 165 196 169 + 200 3 39 38 37 220 165 220 169 196 169 + 200 3 39 37 36 220 165 196 169 196 165 + 200 3 38 35 32 252 116 256 116 256 140 + 200 3 38 32 37 252 116 256 140 252 140 + 200 3 34 39 36 256 116 252 116 252 140 + 200 3 34 36 33 256 116 252 140 256 140 + 200 3 32 33 36 252 183 252 173 242 173 + 200 3 32 36 37 252 183 242 173 242 183 + 200 3 39 34 35 166 61 159 61 159 68 + 200 3 39 35 38 166 61 159 68 166 68 + 200 3 43 42 41 220 169 220 165 196 165 + 200 3 43 41 40 220 169 196 165 196 169 + 200 3 47 46 45 220 165 220 169 196 169 + 200 3 47 45 44 220 165 196 169 196 165 + 200 3 46 43 40 252 116 256 116 256 140 + 200 3 46 40 45 252 116 256 140 252 140 + 200 3 42 47 44 256 116 252 116 252 140 + 200 3 42 44 41 256 116 252 140 256 140 + 200 3 40 41 44 252 183 252 173 242 173 + 200 3 40 44 45 252 183 242 173 242 183 + 200 3 47 42 43 166 61 159 61 159 68 + 200 3 47 43 46 166 61 159 68 166 68 CONNECTORS 1 0 -46 42 diff --git a/data/mp/components/weapons/sc_asscn.pie b/data/mp/components/weapons/sc_asscn.pie index ba1609d27..85707a376 100644 --- a/data/mp/components/weapons/sc_asscn.pie +++ b/data/mp/components/weapons/sc_asscn.pie @@ -38,28 +38,50 @@ POINTS 34 1 15 21 1 11 -13 -11 12 20 -POLYGONS 22 - 200 4 0 1 2 3 133 255 149 255 149 240 133 240 - 200 4 3 2 1 0 133 240 149 240 149 255 133 255 - 200 4 4 5 6 7 129 98 122 98 122 111 129 111 - 200 4 7 6 5 4 129 111 122 111 122 98 129 98 - 200 4 6 8 9 10 16 142 2 142 2 148 16 148 - 200 4 10 9 8 6 16 148 2 148 2 142 16 142 - 200 4 14 13 12 11 96 73 102 73 102 63 96 64 - 200 4 13 16 15 12 96 73 102 73 102 62 96 63 - 200 4 16 18 17 15 96 73 102 73 102 63 96 62 - 200 4 18 14 11 17 96 73 102 73 102 64 96 63 - 200 4 18 16 13 14 12 60 16 60 16 64 12 64 - 200 4 22 21 20 19 5 46 8 41 18 40 17 46 - 200 4 21 22 24 23 2 30 0 35 16 37 17 29 - 200 4 20 21 23 25 2 208 1 196 15 193 16 205 - 200 4 22 19 26 24 18 45 17 39 0 40 2 47 - 200 4 19 20 25 26 17 45 16 40 0 38 0 47 - 200 4 30 29 28 27 24 20 24 20 25 27 0 27 - 200 4 28 32 31 27 14 19 2 19 0 0 16 0 - 200 4 29 23 32 28 14 29 4 29 2 37 16 37 - 200 4 33 30 27 31 16 38 2 38 0 47 18 47 - 200 4 23 33 31 32 5 21 24 20 25 27 0 27 - 200 4 30 33 23 29 2 19 16 19 13 0 4 0 +POLYGONS 44 + 200 3 0 1 2 133 255 149 255 149 240 + 200 3 0 2 3 133 255 149 240 133 240 + 200 3 3 2 1 133 240 149 240 149 255 + 200 3 3 1 0 133 240 149 255 133 255 + 200 3 4 5 6 129 98 122 98 122 111 + 200 3 4 6 7 129 98 122 111 129 111 + 200 3 7 6 5 129 111 122 111 122 98 + 200 3 7 5 4 129 111 122 98 129 98 + 200 3 6 8 9 16 142 2 142 2 148 + 200 3 6 9 10 16 142 2 148 16 148 + 200 3 10 9 8 16 148 2 148 2 142 + 200 3 10 8 6 16 148 2 142 16 142 + 200 3 14 13 12 96 73 102 73 102 63 + 200 3 14 12 11 96 73 102 63 96 64 + 200 3 13 16 15 96 73 102 73 102 62 + 200 3 13 15 12 96 73 102 62 96 63 + 200 3 16 18 17 96 73 102 73 102 63 + 200 3 16 17 15 96 73 102 63 96 62 + 200 3 18 14 11 96 73 102 73 102 64 + 200 3 18 11 17 96 73 102 64 96 63 + 200 3 18 16 13 12 60 16 60 16 64 + 200 3 18 13 14 12 60 16 64 12 64 + 200 3 22 21 20 5 46 8 41 18 40 + 200 3 22 20 19 5 46 18 40 17 46 + 200 3 21 22 24 2 30 0 35 16 37 + 200 3 21 24 23 2 30 16 37 17 29 + 200 3 20 21 23 2 208 1 196 15 193 + 200 3 20 23 25 2 208 15 193 16 205 + 200 3 22 19 26 18 45 17 39 0 40 + 200 3 22 26 24 18 45 0 40 2 47 + 200 3 19 20 25 17 45 16 40 0 38 + 200 3 19 25 26 17 45 0 38 0 47 + 200 3 30 29 28 24 20 24 20 25 27 + 200 3 30 28 27 24 20 25 27 0 27 + 200 3 28 32 31 14 19 2 19 0 0 + 200 3 28 31 27 14 19 0 0 16 0 + 200 3 29 23 32 14 29 4 29 2 37 + 200 3 29 32 28 14 29 2 37 16 37 + 200 3 33 30 27 16 38 2 38 0 47 + 200 3 33 27 31 16 38 0 47 18 47 + 200 3 23 33 31 5 21 24 20 25 27 + 200 3 23 31 32 5 21 25 27 0 27 + 200 3 30 33 23 2 19 16 19 13 0 + 200 3 30 23 29 2 19 13 0 4 0 CONNECTORS 1 -4 -43 0 diff --git a/data/mp/components/weapons/sc_atm.pie b/data/mp/components/weapons/sc_atm.pie index 176e755e2..a9128de4b 100644 --- a/data/mp/components/weapons/sc_atm.pie +++ b/data/mp/components/weapons/sc_atm.pie @@ -23,19 +23,32 @@ POINTS 19 1 -6 -30 1 7 -30 -12 7 -30 -POLYGONS 13 - 200 4 0 1 2 3 133 255 149 255 149 240 133 240 - 200 4 3 2 1 0 133 240 149 240 149 255 133 255 - 200 4 4 5 6 7 129 98 122 98 122 111 129 111 - 200 4 7 6 5 4 129 111 122 111 122 98 129 98 - 200 4 6 8 9 10 16 142 2 142 2 148 16 148 - 200 4 10 9 8 6 16 148 2 148 2 142 16 142 - 200 4 14 13 12 11 252 117 252 113 256 113 256 117 - 200 4 18 17 16 15 252 113 256 113 256 117 252 117 - 200 4 15 16 14 11 252 116 256 116 256 140 252 140 - 200 4 17 18 12 13 252 116 256 116 256 140 252 140 - 200 4 18 15 11 12 196 172 220 172 220 176 196 176 - 200 4 16 17 13 14 220 176 220 172 196 172 196 176 - 200 4 18 15 11 12 220 172 220 176 196 176 196 172 +POLYGONS 26 + 200 3 0 1 2 133 255 149 255 149 240 + 200 3 0 2 3 133 255 149 240 133 240 + 200 3 3 2 1 133 240 149 240 149 255 + 200 3 3 1 0 133 240 149 255 133 255 + 200 3 4 5 6 129 98 122 98 122 111 + 200 3 4 6 7 129 98 122 111 129 111 + 200 3 7 6 5 129 111 122 111 122 98 + 200 3 7 5 4 129 111 122 98 129 98 + 200 3 6 8 9 16 142 2 142 2 148 + 200 3 6 9 10 16 142 2 148 16 148 + 200 3 10 9 8 16 148 2 148 2 142 + 200 3 10 8 6 16 148 2 142 16 142 + 200 3 14 13 12 252 117 252 113 256 113 + 200 3 14 12 11 252 117 256 113 256 117 + 200 3 18 17 16 252 113 256 113 256 117 + 200 3 18 16 15 252 113 256 117 252 117 + 200 3 15 16 14 252 116 256 116 256 140 + 200 3 15 14 11 252 116 256 140 252 140 + 200 3 17 18 12 252 116 256 116 256 140 + 200 3 17 12 13 252 116 256 140 252 140 + 200 3 18 15 11 196 172 220 172 220 176 + 200 3 18 11 12 196 172 220 176 196 176 + 200 3 16 17 13 220 176 220 172 196 172 + 200 3 16 13 14 220 176 196 172 196 176 + 200 3 18 15 11 220 172 220 176 196 176 + 200 3 18 11 12 220 172 196 176 196 172 CONNECTORS 1 -5 -34 1 diff --git a/data/mp/components/weapons/sc_can.pie b/data/mp/components/weapons/sc_can.pie index f22a0f5fe..fa8a7f9bc 100644 --- a/data/mp/components/weapons/sc_can.pie +++ b/data/mp/components/weapons/sc_can.pie @@ -31,23 +31,40 @@ POINTS 27 44 -20 -12 52 -14 -12 47 -7 3 -POLYGONS 17 - 200 4 3 2 1 0 16 19 2 19 4 0 13 0 - 200 4 1 2 5 4 5 21 24 20 25 27 0 27 - 200 4 7 4 5 6 2 19 14 19 16 0 0 0 - 200 4 0 1 4 7 4 29 14 29 16 37 2 37 - 200 4 2 3 6 5 2 38 16 38 18 47 0 47 - 200 4 3 0 7 6 24 20 5 21 0 27 25 27 - 200 4 11 10 9 8 16 64 12 64 12 60 16 60 - 200 4 8 9 13 12 6 66 12 66 12 51 6 53 - 200 4 9 10 14 13 6 66 12 66 12 49 6 51 - 200 4 10 11 15 14 6 66 12 66 12 51 6 49 - 200 4 11 8 12 15 6 66 12 66 12 53 6 51 - 200 4 16 17 18 19 133 255 149 255 149 240 133 240 - 200 4 19 18 17 16 133 240 149 240 149 255 133 255 - 200 4 20 21 22 23 129 98 122 98 122 111 129 111 - 200 4 23 22 21 20 129 111 122 111 122 98 129 98 - 200 4 22 24 25 26 16 142 2 142 2 148 16 148 - 200 4 26 25 24 22 16 148 2 148 2 142 16 142 +POLYGONS 34 + 200 3 3 2 1 16 19 2 19 4 0 + 200 3 3 1 0 16 19 4 0 13 0 + 200 3 1 2 5 5 21 24 20 25 27 + 200 3 1 5 4 5 21 25 27 0 27 + 200 3 7 4 5 2 19 14 19 16 0 + 200 3 7 5 6 2 19 16 0 0 0 + 200 3 0 1 4 4 29 14 29 16 37 + 200 3 0 4 7 4 29 16 37 2 37 + 200 3 2 3 6 2 38 16 38 18 47 + 200 3 2 6 5 2 38 18 47 0 47 + 200 3 3 0 7 24 20 5 21 0 27 + 200 3 3 7 6 24 20 0 27 25 27 + 200 3 11 10 9 16 64 12 64 12 60 + 200 3 11 9 8 16 64 12 60 16 60 + 200 3 8 9 13 6 66 12 66 12 51 + 200 3 8 13 12 6 66 12 51 6 53 + 200 3 9 10 14 6 66 12 66 12 49 + 200 3 9 14 13 6 66 12 49 6 51 + 200 3 10 11 15 6 66 12 66 12 51 + 200 3 10 15 14 6 66 12 51 6 49 + 200 3 11 8 12 6 66 12 66 12 53 + 200 3 11 12 15 6 66 12 53 6 51 + 200 3 16 17 18 133 255 149 255 149 240 + 200 3 16 18 19 133 255 149 240 133 240 + 200 3 19 18 17 133 240 149 240 149 255 + 200 3 19 17 16 133 240 149 255 133 255 + 200 3 20 21 22 129 98 122 98 122 111 + 200 3 20 22 23 129 98 122 111 129 111 + 200 3 23 22 21 129 111 122 111 122 98 + 200 3 23 21 20 129 111 122 98 129 98 + 200 3 22 24 25 16 142 2 142 2 148 + 200 3 22 25 26 16 142 2 148 16 148 + 200 3 26 25 24 16 148 2 148 2 142 + 200 3 26 24 22 16 148 2 142 16 142 CONNECTORS 1 -5 -48 0 diff --git a/data/mp/components/weapons/sc_hpvcn.pie b/data/mp/components/weapons/sc_hpvcn.pie index 5570279c6..dbe35bd5e 100644 --- a/data/mp/components/weapons/sc_hpvcn.pie +++ b/data/mp/components/weapons/sc_hpvcn.pie @@ -38,28 +38,50 @@ POINTS 34 2 11 18 2 8 -10 -6 8 17 -POLYGONS 22 - 200 4 0 1 2 3 133 255 149 255 149 240 133 240 - 200 4 3 2 1 0 133 240 149 240 149 255 133 255 - 200 4 4 5 6 7 129 98 122 98 122 111 129 111 - 200 4 7 6 5 4 129 111 122 111 122 98 129 98 - 200 4 6 8 9 10 16 142 2 142 2 148 16 148 - 200 4 10 9 8 6 16 148 2 148 2 142 16 142 - 200 4 14 13 12 11 96 73 102 73 102 63 96 64 - 200 4 13 16 15 12 96 73 102 73 102 62 96 63 - 200 4 16 18 17 15 96 73 102 73 102 63 96 62 - 200 4 18 14 11 17 96 73 102 73 102 64 96 63 - 200 4 18 16 13 14 12 60 16 60 16 64 12 64 - 200 4 22 21 20 19 5 46 8 41 18 40 17 46 - 200 4 21 22 24 23 2 30 0 35 16 37 17 29 - 200 4 20 21 23 25 2 208 1 196 15 193 16 205 - 200 4 22 19 26 24 18 45 17 39 0 40 2 47 - 200 4 19 20 25 26 17 45 16 40 0 38 0 47 - 200 4 30 29 28 27 24 20 24 20 25 27 0 27 - 200 4 28 32 31 27 14 19 2 19 0 0 16 0 - 200 4 29 23 32 28 14 29 4 29 2 37 16 37 - 200 4 33 30 27 31 16 38 2 38 0 47 18 47 - 200 4 23 33 31 32 5 21 24 20 25 27 0 27 - 200 4 30 33 23 29 2 19 16 19 13 0 4 0 +POLYGONS 44 + 200 3 0 1 2 133 255 149 255 149 240 + 200 3 0 2 3 133 255 149 240 133 240 + 200 3 3 2 1 133 240 149 240 149 255 + 200 3 3 1 0 133 240 149 255 133 255 + 200 3 4 5 6 129 98 122 98 122 111 + 200 3 4 6 7 129 98 122 111 129 111 + 200 3 7 6 5 129 111 122 111 122 98 + 200 3 7 5 4 129 111 122 98 129 98 + 200 3 6 8 9 16 142 2 142 2 148 + 200 3 6 9 10 16 142 2 148 16 148 + 200 3 10 9 8 16 148 2 148 2 142 + 200 3 10 8 6 16 148 2 142 16 142 + 200 3 14 13 12 96 73 102 73 102 63 + 200 3 14 12 11 96 73 102 63 96 64 + 200 3 13 16 15 96 73 102 73 102 62 + 200 3 13 15 12 96 73 102 62 96 63 + 200 3 16 18 17 96 73 102 73 102 63 + 200 3 16 17 15 96 73 102 63 96 62 + 200 3 18 14 11 96 73 102 73 102 64 + 200 3 18 11 17 96 73 102 64 96 63 + 200 3 18 16 13 12 60 16 60 16 64 + 200 3 18 13 14 12 60 16 64 12 64 + 200 3 22 21 20 5 46 8 41 18 40 + 200 3 22 20 19 5 46 18 40 17 46 + 200 3 21 22 24 2 30 0 35 16 37 + 200 3 21 24 23 2 30 16 37 17 29 + 200 3 20 21 23 2 208 1 196 15 193 + 200 3 20 23 25 2 208 15 193 16 205 + 200 3 22 19 26 18 45 17 39 0 40 + 200 3 22 26 24 18 45 0 40 2 47 + 200 3 19 20 25 17 45 16 40 0 38 + 200 3 19 25 26 17 45 0 38 0 47 + 200 3 30 29 28 24 20 24 20 25 27 + 200 3 30 28 27 24 20 25 27 0 27 + 200 3 28 32 31 14 19 2 19 0 0 + 200 3 28 31 27 14 19 0 0 16 0 + 200 3 29 23 32 14 29 4 29 2 37 + 200 3 29 32 28 14 29 2 37 16 37 + 200 3 33 30 27 16 38 2 38 0 47 + 200 3 33 27 31 16 38 0 47 18 47 + 200 3 23 33 31 5 21 24 20 25 27 + 200 3 23 31 32 5 21 25 27 0 27 + 200 3 30 33 23 2 19 16 19 13 0 + 200 3 30 23 29 2 19 13 0 4 0 CONNECTORS 1 -2 -33 0 diff --git a/data/mp/components/weapons/sc_pulse.pie b/data/mp/components/weapons/sc_pulse.pie index f3fb49447..709859898 100644 --- a/data/mp/components/weapons/sc_pulse.pie +++ b/data/mp/components/weapons/sc_pulse.pie @@ -35,26 +35,44 @@ POINTS 31 -13 14 11 2 8 -15 2 18 8 -POLYGONS 20 - 200 4 0 1 2 3 133 255 149 255 149 240 133 240 - 200 4 3 2 1 0 133 240 149 240 149 255 133 255 - 200 4 4 5 6 7 129 98 122 98 122 111 129 111 - 200 4 7 6 5 4 129 111 122 111 122 98 129 98 - 200 4 6 8 9 10 16 142 2 142 2 148 16 148 - 200 4 10 9 8 6 16 148 2 148 2 142 16 142 - 200 4 14 13 12 11 242 25 251 25 251 37 242 37 - 200 4 13 16 15 12 242 25 251 25 251 37 242 37 - 200 4 16 14 11 15 242 25 251 25 251 37 242 37 +POLYGONS 38 + 200 3 0 1 2 133 255 149 255 149 240 + 200 3 0 2 3 133 255 149 240 133 240 + 200 3 3 2 1 133 240 149 240 149 255 + 200 3 3 1 0 133 240 149 255 133 255 + 200 3 4 5 6 129 98 122 98 122 111 + 200 3 4 6 7 129 98 122 111 129 111 + 200 3 7 6 5 129 111 122 111 122 98 + 200 3 7 5 4 129 111 122 98 129 98 + 200 3 6 8 9 16 142 2 142 2 148 + 200 3 6 9 10 16 142 2 148 16 148 + 200 3 10 9 8 16 148 2 148 2 142 + 200 3 10 8 6 16 148 2 142 16 142 + 200 3 14 13 12 242 25 251 25 251 37 + 200 3 14 12 11 242 25 251 37 242 37 + 200 3 13 16 15 242 25 251 25 251 37 + 200 3 13 15 12 242 25 251 37 242 37 + 200 3 16 14 11 242 25 251 25 251 37 + 200 3 16 11 15 242 25 251 37 242 37 200 3 13 14 16 157 26 167 33 157 40 200 3 11 12 15 46 185 56 179 56 191 - 200 4 20 19 18 17 33 177 46 177 46 192 33 192 - 200 4 19 22 21 18 33 177 46 177 46 192 33 192 - 200 4 22 20 17 21 33 177 46 177 46 192 33 192 - 200 4 26 25 24 23 0 20 19 22 25 27 2 27 - 200 4 26 28 27 25 14 19 2 19 5 4 11 4 - 200 4 25 27 29 24 6 30 12 30 13 37 5 37 - 200 4 27 28 30 29 19 22 0 20 2 27 25 27 - 200 4 28 26 23 30 2 38 16 38 18 47 0 47 - 200 4 29 30 23 24 12 19 16 0 0 0 4 19 + 200 3 20 19 18 33 177 46 177 46 192 + 200 3 20 18 17 33 177 46 192 33 192 + 200 3 19 22 21 33 177 46 177 46 192 + 200 3 19 21 18 33 177 46 192 33 192 + 200 3 22 20 17 33 177 46 177 46 192 + 200 3 22 17 21 33 177 46 192 33 192 + 200 3 26 25 24 0 20 19 22 25 27 + 200 3 26 24 23 0 20 25 27 2 27 + 200 3 26 28 27 14 19 2 19 5 4 + 200 3 26 27 25 14 19 5 4 11 4 + 200 3 25 27 29 6 30 12 30 13 37 + 200 3 25 29 24 6 30 13 37 5 37 + 200 3 27 28 30 19 22 0 20 2 27 + 200 3 27 30 29 19 22 2 27 25 27 + 200 3 28 26 23 2 38 16 38 18 47 + 200 3 28 23 30 2 38 18 47 0 47 + 200 3 29 30 23 12 19 16 0 0 0 + 200 3 29 23 24 12 19 0 0 4 19 CONNECTORS 1 -5 -39 0 diff --git a/data/mp/components/weapons/sc_rail2.pie b/data/mp/components/weapons/sc_rail2.pie index 810c130cc..176a255c0 100644 --- a/data/mp/components/weapons/sc_rail2.pie +++ b/data/mp/components/weapons/sc_rail2.pie @@ -33,27 +33,46 @@ POINTS 29 -4 -16 4 0 -9 -49 0 -9 4 -POLYGONS 23 - 200 4 0 1 2 3 133 255 149 255 149 240 133 240 - 200 4 3 2 1 0 133 240 149 240 149 255 133 255 - 200 4 4 5 6 7 129 98 122 98 122 111 129 111 - 200 4 7 6 5 4 129 111 122 111 122 98 129 98 - 200 4 6 8 9 10 16 142 2 142 2 148 16 148 - 200 4 10 9 8 6 16 148 2 148 2 142 16 142 +POLYGONS 42 + 200 3 0 1 2 133 255 149 255 149 240 + 200 3 0 2 3 133 255 149 240 133 240 + 200 3 3 2 1 133 240 149 240 149 255 + 200 3 3 1 0 133 240 149 255 133 255 + 200 3 4 5 6 129 98 122 98 122 111 + 200 3 4 6 7 129 98 122 111 129 111 + 200 3 7 6 5 129 111 122 111 122 98 + 200 3 7 5 4 129 111 122 98 129 98 + 200 3 6 8 9 16 142 2 142 2 148 + 200 3 6 9 10 16 142 2 148 16 148 + 200 3 10 9 8 16 148 2 148 2 142 + 200 3 10 8 6 16 148 2 142 16 142 200 3 13 12 11 14 19 16 0 0 0 200 3 11 14 13 0 0 2 19 14 19 - 200 4 16 15 12 13 0 27 25 26 18 20 4 20 - 200 4 19 18 14 17 25 26 0 27 4 20 18 20 - 200 4 20 15 16 18 12 19 4 19 5 0 11 0 - 200 4 18 16 13 14 5 131 11 131 14 140 2 140 - 200 4 15 20 11 12 4 41 14 41 18 47 0 47 - 200 4 22 17 11 21 0 20 22 20 22 23 0 23 - 200 4 19 22 21 20 0 0 16 0 16 8 1 19 + 200 3 16 15 12 0 27 25 26 18 20 + 200 3 16 12 13 0 27 18 20 4 20 + 200 3 19 18 14 25 26 0 27 4 20 + 200 3 19 14 17 25 26 4 20 18 20 + 200 3 20 15 16 12 19 4 19 5 0 + 200 3 20 16 18 12 19 5 0 11 0 + 200 3 18 16 13 5 131 11 131 14 140 + 200 3 18 13 14 5 131 14 140 2 140 + 200 3 15 20 11 4 41 14 41 18 47 + 200 3 15 11 12 4 41 18 47 0 47 + 200 3 22 17 11 0 20 22 20 22 23 + 200 3 22 11 21 0 20 22 23 0 23 + 200 3 19 22 21 0 0 16 0 16 8 + 200 3 19 21 20 0 0 16 8 1 19 200 3 22 19 17 16 134 0 140 2 128 200 3 20 21 11 17 47 0 43 16 38 - 200 4 23 24 25 26 158 45 152 45 152 71 158 71 - 200 4 26 25 24 23 158 71 152 71 152 45 158 45 - 200 4 24 27 28 25 158 45 152 45 152 71 158 71 - 200 4 25 28 27 24 158 71 152 71 152 45 158 45 - 200 4 27 23 26 28 158 45 152 45 152 71 158 71 - 200 4 28 26 23 27 158 71 152 71 152 45 158 45 + 200 3 23 24 25 158 45 152 45 152 71 + 200 3 23 25 26 158 45 152 71 158 71 + 200 3 26 25 24 158 71 152 71 152 45 + 200 3 26 24 23 158 71 152 45 158 45 + 200 3 24 27 28 158 45 152 45 152 71 + 200 3 24 28 25 158 45 152 71 158 71 + 200 3 25 28 27 158 71 152 71 152 45 + 200 3 25 27 24 158 71 152 45 158 45 + 200 3 27 23 26 158 45 152 45 152 71 + 200 3 27 26 28 158 45 152 71 158 71 + 200 3 28 26 23 158 71 152 71 152 45 + 200 3 28 23 27 158 71 152 45 158 45 \ No newline at end of file diff --git a/data/mp/components/weapons/sc_tk.pie b/data/mp/components/weapons/sc_tk.pie index e2adca7b2..6b631b04a 100644 --- a/data/mp/components/weapons/sc_tk.pie +++ b/data/mp/components/weapons/sc_tk.pie @@ -27,20 +27,32 @@ POINTS 23 2 -9 22 -10 9 18 -18 3 18 -POLYGONS 14 - 200 4 0 1 2 3 133 255 149 255 149 240 133 240 - 200 4 3 2 1 0 133 240 149 240 149 255 133 255 - 200 4 4 5 6 7 129 98 122 98 122 111 129 111 - 200 4 7 6 5 4 129 111 122 111 122 98 129 98 - 200 4 6 8 9 10 16 142 2 142 2 148 16 148 - 200 4 10 9 8 6 16 148 2 148 2 142 16 142 +POLYGONS 26 + 200 3 0 1 2 133 255 149 255 149 240 + 200 3 0 2 3 133 255 149 240 133 240 + 200 3 3 2 1 133 240 149 240 149 255 + 200 3 3 1 0 133 240 149 255 133 255 + 200 3 4 5 6 129 98 122 98 122 111 + 200 3 4 6 7 129 98 122 111 129 111 + 200 3 7 6 5 129 111 122 111 122 98 + 200 3 7 5 4 129 111 122 98 129 98 + 200 3 6 8 9 16 142 2 142 2 148 + 200 3 6 9 10 16 142 2 148 16 148 + 200 3 10 9 8 16 148 2 148 2 142 + 200 3 10 8 6 16 148 2 142 16 142 200 3 13 12 11 252 249 255 256 256 249 200 3 11 14 13 256 249 255 256 252 249 - 200 4 18 17 16 15 252 107 256 107 256 115 252 115 - 200 4 16 20 19 15 256 117 256 139 252 139 252 117 - 200 4 22 21 17 18 256 139 252 139 252 117 256 117 - 200 4 17 21 20 16 197 165 219 165 219 176 197 176 - 200 4 21 22 19 20 252 106 256 106 256 116 252 116 - 200 4 22 18 15 19 197 165 219 165 219 176 197 176 + 200 3 18 17 16 252 107 256 107 256 115 + 200 3 18 16 15 252 107 256 115 252 115 + 200 3 16 20 19 256 117 256 139 252 139 + 200 3 16 19 15 256 117 252 139 252 117 + 200 3 22 21 17 256 139 252 139 252 117 + 200 3 22 17 18 256 139 252 117 256 117 + 200 3 17 21 20 197 165 219 165 219 176 + 200 3 17 20 16 197 165 219 176 197 176 + 200 3 21 22 19 252 106 256 106 256 116 + 200 3 21 19 20 252 106 256 116 252 116 + 200 3 22 18 15 197 165 219 165 219 176 + 200 3 22 15 19 197 165 219 176 197 176 CONNECTORS 1 -7 -23 -3 diff --git a/data/mp/components/weapons/scbody.pie b/data/mp/components/weapons/scbody.pie index 99f04b911..fffc9742f 100644 --- a/data/mp/components/weapons/scbody.pie +++ b/data/mp/components/weapons/scbody.pie @@ -18,15 +18,24 @@ POINTS 14 8 -8 2 -16 24 -14 16 24 -14 -POLYGONS 9 - 200 4 3 2 1 0 66 167 74 167 74 185 66 185 - 200 4 5 4 1 2 82 172 82 180 74 185 74 167 - 200 4 0 1 7 6 66 163 74 167 74 155 66 155 - 200 4 4 8 7 1 82 167 82 159 74 155 74 167 - 200 4 6 7 10 9 29 155 37 155 37 137 29 137 - 200 4 11 10 7 8 45 142 37 137 37 155 45 150 - 200 4 9 13 12 6 169 155 157 155 157 137 169 137 - 200 4 9 10 2 3 66 155 74 155 74 167 66 163 - 200 4 11 5 2 10 82 159 82 167 74 167 74 155 +POLYGONS 18 + 200 3 3 2 1 66 167 74 167 74 185 + 200 3 3 1 0 66 167 74 185 66 185 + 200 3 5 4 1 82 172 82 180 74 185 + 200 3 5 1 2 82 172 74 185 74 167 + 200 3 0 1 7 66 163 74 167 74 155 + 200 3 0 7 6 66 163 74 155 66 155 + 200 3 4 8 7 82 167 82 159 74 155 + 200 3 4 7 1 82 167 74 155 74 167 + 200 3 6 7 10 29 155 37 155 37 137 + 200 3 6 10 9 29 155 37 137 29 137 + 200 3 11 10 7 45 142 37 137 37 155 + 200 3 11 7 8 45 142 37 155 45 150 + 200 3 9 13 12 169 155 157 155 157 137 + 200 3 9 12 6 169 155 157 137 169 137 + 200 3 9 10 2 66 155 74 155 74 167 + 200 3 9 2 3 66 155 74 167 66 163 + 200 3 11 5 2 82 159 82 167 74 167 + 200 3 11 2 10 82 159 74 167 74 155 CONNECTORS 1 -18 -4 16 diff --git a/data/mp/components/weapons/trhemp.pie b/data/mp/components/weapons/trhemp.pie index 827b43cb0..1a5498cad 100644 --- a/data/mp/components/weapons/trhemp.pie +++ b/data/mp/components/weapons/trhemp.pie @@ -16,13 +16,22 @@ POINTS 12 32 21 4 -32 21 4 -32 0 -4 -POLYGONS 9 - 200 4 3 2 1 0 0 0 16 0 11 19 5 19 - 200 4 0 1 5 4 11 256 2 256 0 240 13 240 - 200 4 1 2 6 5 6 22 25 20 23 27 0 27 - 200 4 2 3 7 6 2 38 16 38 18 47 0 47 - 200 4 3 0 4 7 25 20 6 22 0 27 23 27 - 200 4 2 6 8 9 209 51 209 71 223 71 223 51 - 200 4 9 8 6 2 223 51 223 71 209 71 209 51 - 200 4 7 3 10 11 223 71 223 51 209 51 209 71 - 200 4 11 10 3 7 209 71 209 51 223 51 223 71 +POLYGONS 18 + 200 3 3 2 1 0 0 16 0 11 19 + 200 3 3 1 0 0 0 11 19 5 19 + 200 3 0 1 5 11 256 2 256 0 240 + 200 3 0 5 4 11 256 0 240 13 240 + 200 3 1 2 6 6 22 25 20 23 27 + 200 3 1 6 5 6 22 23 27 0 27 + 200 3 2 3 7 2 38 16 38 18 47 + 200 3 2 7 6 2 38 18 47 0 47 + 200 3 3 0 4 25 20 6 22 0 27 + 200 3 3 4 7 25 20 0 27 23 27 + 200 3 2 6 8 209 51 209 71 223 71 + 200 3 2 8 9 209 51 223 71 223 51 + 200 3 9 8 6 223 51 223 71 209 71 + 200 3 9 6 2 223 51 209 71 209 51 + 200 3 7 3 10 223 71 223 51 209 51 + 200 3 7 10 11 223 71 209 51 209 71 + 200 3 11 10 3 209 71 209 51 223 51 + 200 3 11 3 7 209 71 223 51 223 71 \ No newline at end of file diff --git a/data/mp/components/weapons/trhmg.pie b/data/mp/components/weapons/trhmg.pie index 718ab064d..d55b37d78 100644 --- a/data/mp/components/weapons/trhmg.pie +++ b/data/mp/components/weapons/trhmg.pie @@ -16,14 +16,24 @@ POINTS 12 -21 0 -1 13 0 -29 -13 0 -29 -POLYGONS 10 - 200 4 3 2 1 0 16 8 0 8 2 0 14 0 - 200 4 3 5 4 2 16 8 12 19 4 19 0 8 - 200 4 9 8 7 6 0 9 16 9 13 0 3 0 - 200 4 9 11 10 8 0 9 3 19 13 19 16 9 - 200 4 4 7 8 2 0 23 0 27 11 27 11 20 - 200 4 4 5 6 7 4 42 14 42 15 47 3 47 - 200 4 0 1 10 11 6 30 12 30 15 37 3 37 - 200 4 2 8 10 1 11 20 11 27 25 27 20 21 - 200 4 5 3 9 6 0 23 11 20 11 27 0 27 - 200 4 3 0 11 9 11 20 20 21 25 27 11 27 \ No newline at end of file +POLYGONS 20 + 200 3 3 2 1 16 8 0 8 2 0 + 200 3 3 1 0 16 8 2 0 14 0 + 200 3 3 5 4 16 8 12 19 4 19 + 200 3 3 4 2 16 8 4 19 0 8 + 200 3 9 8 7 0 9 16 9 13 0 + 200 3 9 7 6 0 9 13 0 3 0 + 200 3 9 11 10 0 9 3 19 13 19 + 200 3 9 10 8 0 9 13 19 16 9 + 200 3 4 7 8 0 23 0 27 11 27 + 200 3 4 8 2 0 23 11 27 11 20 + 200 3 4 5 6 4 42 14 42 15 47 + 200 3 4 6 7 4 42 15 47 3 47 + 200 3 0 1 10 6 30 12 30 15 37 + 200 3 0 10 11 6 30 15 37 3 37 + 200 3 2 8 10 11 20 11 27 25 27 + 200 3 2 10 1 11 20 25 27 20 21 + 200 3 5 3 9 0 23 11 20 11 27 + 200 3 5 9 6 0 23 11 27 0 27 + 200 3 3 0 11 11 20 20 21 25 27 + 200 3 3 11 9 11 20 25 27 11 27 \ No newline at end of file diff --git a/data/mp/components/weapons/trhvcan2.pie b/data/mp/components/weapons/trhvcan2.pie index 72a509510..73653ef9e 100644 --- a/data/mp/components/weapons/trhvcan2.pie +++ b/data/mp/components/weapons/trhvcan2.pie @@ -24,19 +24,34 @@ POINTS 20 32 22 0 29 21 -15 34 10 -19 -POLYGONS 15 - 200 4 3 2 1 0 4 29 14 29 16 37 2 37 - 200 4 7 6 5 4 2 38 16 38 18 47 0 47 - 200 4 9 5 6 8 13 27 25 27 24 20 15 20 - 200 4 13 12 11 10 5 46 17 46 18 40 8 41 - 200 4 13 10 3 0 0 35 2 30 17 29 16 37 - 200 4 10 11 8 3 1 196 2 208 16 205 15 193 - 200 4 12 13 0 9 17 39 18 45 2 47 0 40 - 200 4 11 12 9 8 16 40 17 45 0 47 0 38 - 200 4 4 15 14 7 25 27 13 27 15 20 24 20 - 200 4 19 18 17 16 5 46 8 41 18 40 17 46 - 200 4 18 19 1 2 2 30 0 35 16 37 17 29 - 200 4 17 18 2 14 2 208 1 196 15 193 16 205 - 200 4 19 16 15 1 18 45 17 39 0 40 2 47 - 200 4 16 17 14 15 17 45 16 40 0 38 0 47 - 200 4 6 7 2 3 16 19 2 19 4 0 13 0 \ No newline at end of file +POLYGONS 30 + 200 3 3 2 1 4 29 14 29 16 37 + 200 3 3 1 0 4 29 16 37 2 37 + 200 3 7 6 5 2 38 16 38 18 47 + 200 3 7 5 4 2 38 18 47 0 47 + 200 3 9 5 6 13 27 25 27 24 20 + 200 3 9 6 8 13 27 24 20 15 20 + 200 3 13 12 11 5 46 17 46 18 40 + 200 3 13 11 10 5 46 18 40 8 41 + 200 3 13 10 3 0 35 2 30 17 29 + 200 3 13 3 0 0 35 17 29 16 37 + 200 3 10 11 8 1 196 2 208 16 205 + 200 3 10 8 3 1 196 16 205 15 193 + 200 3 12 13 0 17 39 18 45 2 47 + 200 3 12 0 9 17 39 2 47 0 40 + 200 3 11 12 9 16 40 17 45 0 47 + 200 3 11 9 8 16 40 0 47 0 38 + 200 3 4 15 14 25 27 13 27 15 20 + 200 3 4 14 7 25 27 15 20 24 20 + 200 3 19 18 17 5 46 8 41 18 40 + 200 3 19 17 16 5 46 18 40 17 46 + 200 3 18 19 1 2 30 0 35 16 37 + 200 3 18 1 2 2 30 16 37 17 29 + 200 3 17 18 2 2 208 1 196 15 193 + 200 3 17 2 14 2 208 15 193 16 205 + 200 3 19 16 15 18 45 17 39 0 40 + 200 3 19 15 1 18 45 0 40 2 47 + 200 3 16 17 14 17 45 16 40 0 38 + 200 3 16 14 15 17 45 0 38 0 47 + 200 3 6 7 2 16 19 2 19 4 0 + 200 3 6 2 3 16 19 4 0 13 0 \ No newline at end of file diff --git a/data/mp/components/weapons/trlassat.pie b/data/mp/components/weapons/trlassat.pie index a4fca6114..f830fb0ae 100644 --- a/data/mp/components/weapons/trlassat.pie +++ b/data/mp/components/weapons/trlassat.pie @@ -64,36 +64,68 @@ POINTS 60 7 44 -7 -29 2 -28 -7 44 -7 -POLYGONS 32 - 200 4 0 1 2 3 219 162 246 162 246 147 219 147 - 200 4 3 2 1 0 219 147 246 147 246 162 219 162 - 200 4 1 4 2 5 255 203 255 174 226 174 226 203 - 200 4 5 2 4 1 226 203 226 174 255 174 255 203 - 200 4 6 4 5 7 219 162 246 162 246 147 219 147 - 200 4 7 5 4 6 219 147 246 147 246 162 219 162 - 4200 4 8 9 10 11 2 1 5 5 0 187 5 187 5 182 0 182 - 4200 4 11 10 9 8 2 1 5 5 0 182 5 182 5 187 0 187 - 4200 4 12 13 14 15 2 1 5 5 0 187 5 187 5 182 0 182 - 4200 4 15 14 13 12 2 1 5 5 0 182 5 182 5 187 0 187 - 4200 4 16 17 18 19 2 1 5 5 0 187 5 187 5 182 0 182 - 4200 4 19 18 17 16 2 1 5 5 0 182 5 182 5 187 0 187 - 200 4 20 21 22 23 219 162 246 162 246 147 219 147 - 200 4 23 22 21 20 219 147 246 147 246 162 219 162 - 200 4 24 25 26 27 219 162 246 162 246 147 219 147 - 200 4 27 26 25 24 219 147 246 147 246 162 219 162 - 200 4 28 29 30 31 219 162 246 162 246 147 219 147 - 200 4 31 30 29 28 219 147 246 147 246 162 219 162 - 200 4 32 33 34 35 219 162 246 162 246 147 219 147 - 200 4 35 34 33 32 219 147 246 147 246 162 219 162 - 200 4 36 37 38 39 219 162 246 162 246 147 219 147 - 200 4 39 38 37 36 219 147 246 147 246 162 219 162 - 200 4 40 41 42 43 219 162 246 162 246 147 219 147 - 200 4 43 42 41 40 219 147 246 147 246 162 219 162 - 200 4 44 45 46 47 219 162 246 162 246 147 219 147 - 200 4 47 46 45 44 219 147 246 147 246 162 219 162 - 200 4 48 49 50 51 219 162 246 162 246 147 219 147 - 200 4 51 50 49 48 219 147 246 147 246 162 219 162 - 200 4 55 54 53 52 248 102 248 135 219 135 219 102 - 200 4 57 55 52 56 248 102 248 135 219 135 219 102 - 200 4 59 58 53 54 248 102 219 102 219 135 248 135 - 200 4 57 56 58 59 248 102 219 102 219 135 248 135 +POLYGONS 64 + 200 3 0 1 2 219 162 246 162 246 147 + 200 3 0 2 3 219 162 246 147 219 147 + 200 3 3 2 1 219 147 246 147 246 162 + 200 3 3 1 0 219 147 246 162 219 162 + 200 3 1 4 2 255 203 255 174 226 174 + 200 3 1 2 5 255 203 226 174 226 203 + 200 3 5 2 4 226 203 226 174 255 174 + 200 3 5 4 1 226 203 255 174 255 203 + 200 3 6 4 5 219 162 246 162 246 147 + 200 3 6 5 7 219 162 246 147 219 147 + 200 3 7 5 4 219 147 246 147 246 162 + 200 3 7 4 6 219 147 246 162 219 162 + 4200 3 8 9 10 2 1 5 5 0 187 5 187 5 182 + 4200 3 8 10 11 2 1 5 5 0 187 5 182 0 182 + 4200 3 11 10 9 2 1 5 5 0 182 5 182 5 187 + 4200 3 11 9 8 2 1 5 5 0 182 5 187 0 187 + 4200 3 12 13 14 2 1 5 5 0 187 5 187 5 182 + 4200 3 12 14 15 2 1 5 5 0 187 5 182 0 182 + 4200 3 15 14 13 2 1 5 5 0 182 5 182 5 187 + 4200 3 15 13 12 2 1 5 5 0 182 5 187 0 187 + 4200 3 16 17 18 2 1 5 5 0 187 5 187 5 182 + 4200 3 16 18 19 2 1 5 5 0 187 5 182 0 182 + 4200 3 19 18 17 2 1 5 5 0 182 5 182 5 187 + 4200 3 19 17 16 2 1 5 5 0 182 5 187 0 187 + 200 3 20 21 22 219 162 246 162 246 147 + 200 3 20 22 23 219 162 246 147 219 147 + 200 3 23 22 21 219 147 246 147 246 162 + 200 3 23 21 20 219 147 246 162 219 162 + 200 3 24 25 26 219 162 246 162 246 147 + 200 3 24 26 27 219 162 246 147 219 147 + 200 3 27 26 25 219 147 246 147 246 162 + 200 3 27 25 24 219 147 246 162 219 162 + 200 3 28 29 30 219 162 246 162 246 147 + 200 3 28 30 31 219 162 246 147 219 147 + 200 3 31 30 29 219 147 246 147 246 162 + 200 3 31 29 28 219 147 246 162 219 162 + 200 3 32 33 34 219 162 246 162 246 147 + 200 3 32 34 35 219 162 246 147 219 147 + 200 3 35 34 33 219 147 246 147 246 162 + 200 3 35 33 32 219 147 246 162 219 162 + 200 3 36 37 38 219 162 246 162 246 147 + 200 3 36 38 39 219 162 246 147 219 147 + 200 3 39 38 37 219 147 246 147 246 162 + 200 3 39 37 36 219 147 246 162 219 162 + 200 3 40 41 42 219 162 246 162 246 147 + 200 3 40 42 43 219 162 246 147 219 147 + 200 3 43 42 41 219 147 246 147 246 162 + 200 3 43 41 40 219 147 246 162 219 162 + 200 3 44 45 46 219 162 246 162 246 147 + 200 3 44 46 47 219 162 246 147 219 147 + 200 3 47 46 45 219 147 246 147 246 162 + 200 3 47 45 44 219 147 246 162 219 162 + 200 3 48 49 50 219 162 246 162 246 147 + 200 3 48 50 51 219 162 246 147 219 147 + 200 3 51 50 49 219 147 246 147 246 162 + 200 3 51 49 48 219 147 246 162 219 162 + 200 3 55 54 53 248 102 248 135 219 135 + 200 3 55 53 52 248 102 219 135 219 102 + 200 3 57 55 52 248 102 248 135 219 135 + 200 3 57 52 56 248 102 219 135 219 102 + 200 3 59 58 53 248 102 219 102 219 135 + 200 3 59 53 54 248 102 219 135 248 135 + 200 3 57 56 58 248 102 219 102 219 135 + 200 3 57 58 59 248 102 219 135 248 135 \ No newline at end of file diff --git a/data/mp/components/weapons/trlvtlem.pie b/data/mp/components/weapons/trlvtlem.pie index b67dbd33e..bfc066415 100644 --- a/data/mp/components/weapons/trlvtlem.pie +++ b/data/mp/components/weapons/trlvtlem.pie @@ -20,16 +20,28 @@ POINTS 16 29 8 16 30 0 19 17 0 23 -POLYGONS 12 - 200 4 3 2 1 0 218 120 218 107 199 107 199 120 - 200 4 7 6 5 4 158 76 174 76 174 60 158 60 - 200 4 4 5 1 2 174 44 158 44 158 60 174 60 - 200 4 7 4 2 3 244 15 244 1 226 1 226 15 - 200 4 6 7 3 0 244 15 226 15 226 1 244 1 - 200 4 5 6 0 1 244 1 226 1 226 15 244 15 - 200 4 11 10 9 8 199 120 199 107 218 107 218 120 - 200 4 15 14 13 12 174 76 158 76 158 60 174 60 - 200 4 12 13 9 10 158 44 174 44 174 60 158 60 - 200 4 15 12 10 11 226 1 244 1 244 15 226 15 - 200 4 14 15 11 8 226 15 244 15 244 1 226 1 - 200 4 13 14 8 9 244 1 244 15 226 15 226 1 +POLYGONS 24 + 200 3 3 2 1 218 120 218 107 199 107 + 200 3 3 1 0 218 120 199 107 199 120 + 200 3 7 6 5 158 76 174 76 174 60 + 200 3 7 5 4 158 76 174 60 158 60 + 200 3 4 5 1 174 44 158 44 158 60 + 200 3 4 1 2 174 44 158 60 174 60 + 200 3 7 4 2 244 15 244 1 226 1 + 200 3 7 2 3 244 15 226 1 226 15 + 200 3 6 7 3 244 15 226 15 226 1 + 200 3 6 3 0 244 15 226 1 244 1 + 200 3 5 6 0 244 1 226 1 226 15 + 200 3 5 0 1 244 1 226 15 244 15 + 200 3 11 10 9 199 120 199 107 218 107 + 200 3 11 9 8 199 120 218 107 218 120 + 200 3 15 14 13 174 76 158 76 158 60 + 200 3 15 13 12 174 76 158 60 174 60 + 200 3 12 13 9 158 44 174 44 174 60 + 200 3 12 9 10 158 44 174 60 158 60 + 200 3 15 12 10 226 1 244 1 244 15 + 200 3 15 10 11 226 1 244 15 226 15 + 200 3 14 15 11 226 15 244 15 244 1 + 200 3 14 11 8 226 15 244 1 226 1 + 200 3 13 14 8 244 1 244 15 226 15 + 200 3 13 8 9 244 1 226 15 226 1 \ No newline at end of file diff --git a/data/mp/components/weapons/trlvtlpl.pie b/data/mp/components/weapons/trlvtlpl.pie index a8637f373..35da06be7 100644 --- a/data/mp/components/weapons/trlvtlpl.pie +++ b/data/mp/components/weapons/trlvtlpl.pie @@ -26,4 +26,4 @@ POLYGONS 12 200 3 7 5 9 202 228 215 228 206 239 200 3 8 7 9 215 228 202 228 208 239 200 3 5 8 9 215 228 202 228 208 239 - 200 3 6 7 8 208 239 215 228 202 228 + 200 3 6 7 8 208 239 215 228 202 228 \ No newline at end of file diff --git a/data/mp/components/weapons/trmvtlem.pie b/data/mp/components/weapons/trmvtlem.pie index 211132ccb..8ad971f0b 100644 --- a/data/mp/components/weapons/trmvtlem.pie +++ b/data/mp/components/weapons/trmvtlem.pie @@ -20,16 +20,28 @@ POINTS 16 -21 2 21 -22 -5 29 -39 -3 24 -POLYGONS 12 - 200 4 3 2 1 0 199 120 199 107 218 107 218 120 - 200 4 7 6 5 4 174 76 158 76 158 60 174 60 - 200 4 4 5 1 2 158 44 174 44 174 60 158 60 - 200 4 7 4 2 3 226 1 244 1 244 15 226 15 - 200 4 6 7 3 0 226 15 244 15 244 1 226 1 - 200 4 5 6 0 1 244 1 244 15 226 15 226 1 - 200 4 11 10 9 8 218 120 218 107 199 107 199 120 - 200 4 15 14 13 12 158 76 174 76 174 60 158 60 - 200 4 12 13 9 10 174 44 158 44 158 60 174 60 - 200 4 15 12 10 11 244 15 244 1 226 1 226 15 - 200 4 14 15 11 8 244 15 226 15 226 1 244 1 - 200 4 13 14 8 9 244 1 226 1 226 15 244 15 +POLYGONS 24 + 200 3 3 2 1 199 120 199 107 218 107 + 200 3 3 1 0 199 120 218 107 218 120 + 200 3 7 6 5 174 76 158 76 158 60 + 200 3 7 5 4 174 76 158 60 174 60 + 200 3 4 5 1 158 44 174 44 174 60 + 200 3 4 1 2 158 44 174 60 158 60 + 200 3 7 4 2 226 1 244 1 244 15 + 200 3 7 2 3 226 1 244 15 226 15 + 200 3 6 7 3 226 15 244 15 244 1 + 200 3 6 3 0 226 15 244 1 226 1 + 200 3 5 6 0 244 1 244 15 226 15 + 200 3 5 0 1 244 1 226 15 226 1 + 200 3 11 10 9 218 120 218 107 199 107 + 200 3 11 9 8 218 120 199 107 199 120 + 200 3 15 14 13 158 76 174 76 174 60 + 200 3 15 13 12 158 76 174 60 158 60 + 200 3 12 13 9 174 44 158 44 158 60 + 200 3 12 9 10 174 44 158 60 174 60 + 200 3 15 12 10 244 15 244 1 226 1 + 200 3 15 10 11 244 15 226 1 226 15 + 200 3 14 15 11 244 15 226 15 226 1 + 200 3 14 11 8 244 15 226 1 244 1 + 200 3 13 14 8 244 1 226 1 226 15 + 200 3 13 8 9 244 1 226 15 244 15 \ No newline at end of file diff --git a/data/mp/components/weapons/trmvtlpl.pie b/data/mp/components/weapons/trmvtlpl.pie index a2aaf9522..dda044d4d 100644 --- a/data/mp/components/weapons/trmvtlpl.pie +++ b/data/mp/components/weapons/trmvtlpl.pie @@ -34,4 +34,4 @@ POLYGONS 14 200 3 13 15 12 202 228 206 239 215 228 200 3 14 15 13 215 229 209 239 202 228 200 3 12 15 14 202 228 206 239 215 228 - 200 3 11 14 13 208 239 202 228 215 228 + 200 3 11 14 13 208 239 202 228 215 228 \ No newline at end of file diff --git a/data/mp/components/weapons/trwpfcan.pie b/data/mp/components/weapons/trwpfcan.pie index d96efb65f..e600ca9e8 100644 --- a/data/mp/components/weapons/trwpfcan.pie +++ b/data/mp/components/weapons/trwpfcan.pie @@ -20,15 +20,26 @@ POINTS 16 -54 38 -22 -65 1 32 -60 1 -39 -POLYGONS 11 - 200 4 3 2 1 0 144 208 144 192 128 192 128 208 - 200 4 0 1 5 4 168 224 176 224 176 208 168 208 - 200 4 1 2 6 5 128 192 144 192 144 208 128 208 - 200 4 2 3 7 6 176 224 168 224 168 208 176 208 - 200 4 9 8 0 4 0 255 1 240 12 240 13 255 - 200 4 8 10 3 0 0 255 0 240 13 240 12 255 - 200 4 11 7 3 10 176 208 168 208 168 224 176 224 - 200 4 8 13 12 10 144 208 144 192 128 192 128 208 - 200 4 10 12 14 11 168 224 176 224 176 208 168 208 - 200 4 12 13 15 14 128 192 144 192 144 208 128 208 - 200 4 13 8 9 15 176 224 168 224 168 208 176 208 \ No newline at end of file +POLYGONS 22 + 200 3 3 2 1 144 208 144 192 128 192 + 200 3 3 1 0 144 208 128 192 128 208 + 200 3 0 1 5 168 224 176 224 176 208 + 200 3 0 5 4 168 224 176 208 168 208 + 200 3 1 2 6 128 192 144 192 144 208 + 200 3 1 6 5 128 192 144 208 128 208 + 200 3 2 3 7 176 224 168 224 168 208 + 200 3 2 7 6 176 224 168 208 176 208 + 200 3 9 8 0 0 255 1 240 12 240 + 200 3 9 0 4 0 255 12 240 13 255 + 200 3 8 10 3 0 255 0 240 13 240 + 200 3 8 3 0 0 255 13 240 12 255 + 200 3 11 7 3 176 208 168 208 168 224 + 200 3 11 3 10 176 208 168 224 176 224 + 200 3 8 13 12 144 208 144 192 128 192 + 200 3 8 12 10 144 208 128 192 128 208 + 200 3 10 12 14 168 224 176 224 176 208 + 200 3 10 14 11 168 224 176 208 168 208 + 200 3 12 13 15 128 192 144 192 144 208 + 200 3 12 15 14 128 192 144 208 128 208 + 200 3 13 8 9 176 224 168 224 168 208 + 200 3 13 9 15 176 224 168 208 176 208 \ No newline at end of file diff --git a/data/mp/components/weapons/trwpfgss.pie b/data/mp/components/weapons/trwpfgss.pie index d362fa0c6..3e5e06389 100644 --- a/data/mp/components/weapons/trwpfgss.pie +++ b/data/mp/components/weapons/trwpfgss.pie @@ -20,15 +20,26 @@ POINTS 16 55 1 -39 37 1 32 9 1 45 -POLYGONS 11 - 200 4 3 2 1 0 144 208 144 192 128 192 128 208 - 200 4 0 1 5 4 168 224 176 224 176 208 168 208 - 200 4 1 2 6 5 128 192 144 192 144 208 128 208 - 200 4 2 3 7 6 176 224 168 224 168 208 176 208 - 200 4 11 10 9 8 144 208 144 192 128 192 128 208 - 200 4 8 9 13 12 168 224 176 224 176 208 168 208 - 200 4 9 10 14 13 128 192 144 192 144 208 128 208 - 200 4 10 11 15 14 176 224 168 224 168 208 176 208 - 200 4 7 3 8 12 0 255 1 240 12 240 13 255 - 200 4 3 0 11 8 0 255 0 240 13 240 12 255 - 200 4 4 15 11 0 176 208 168 208 168 224 176 224 \ No newline at end of file +POLYGONS 22 + 200 3 3 2 1 144 208 144 192 128 192 + 200 3 3 1 0 144 208 128 192 128 208 + 200 3 0 1 5 168 224 176 224 176 208 + 200 3 0 5 4 168 224 176 208 168 208 + 200 3 1 2 6 128 192 144 192 144 208 + 200 3 1 6 5 128 192 144 208 128 208 + 200 3 2 3 7 176 224 168 224 168 208 + 200 3 2 7 6 176 224 168 208 176 208 + 200 3 11 10 9 144 208 144 192 128 192 + 200 3 11 9 8 144 208 128 192 128 208 + 200 3 8 9 13 168 224 176 224 176 208 + 200 3 8 13 12 168 224 176 208 168 208 + 200 3 9 10 14 128 192 144 192 144 208 + 200 3 9 14 13 128 192 144 208 128 208 + 200 3 10 11 15 176 224 168 224 168 208 + 200 3 10 15 14 176 224 168 208 176 208 + 200 3 7 3 8 0 255 1 240 12 240 + 200 3 7 8 12 0 255 12 240 13 255 + 200 3 3 0 11 0 255 0 240 13 240 + 200 3 3 11 8 0 255 13 240 12 255 + 200 3 4 15 11 176 208 168 208 168 224 + 200 3 4 11 0 176 208 168 224 176 224 \ No newline at end of file diff --git a/data/mp/components/weapons/trwpfmsl.pie b/data/mp/components/weapons/trwpfmsl.pie index bc3cfbfbe..323084557 100644 --- a/data/mp/components/weapons/trwpfmsl.pie +++ b/data/mp/components/weapons/trwpfmsl.pie @@ -26,18 +26,32 @@ POINTS 22 38 5 -39 64 0 -39 64 0 12 -POLYGONS 14 - 200 4 3 2 1 0 0 47 14 47 14 29 5 29 - 200 4 7 6 5 4 5 29 14 29 14 47 0 47 - 200 4 9 3 0 8 198 84 190 86 190 59 198 59 - 200 4 10 4 3 9 193 64 195 59 195 86 193 81 - 200 4 0 1 11 8 5 47 5 39 12 39 12 47 - 200 4 8 11 12 9 31 175 40 175 40 161 22 161 - 200 4 2 12 11 1 0 227 13 226 13 209 7 209 - 200 4 5 13 12 2 7 209 6 213 6 223 7 227 - 200 4 9 12 13 10 22 161 22 175 40 175 40 161 - 200 4 4 5 2 3 78 161 78 162 77 162 77 161 - 200 4 17 16 15 14 5 39 5 47 12 47 12 39 - 200 4 14 15 19 18 40 175 31 175 22 161 40 161 - 200 4 20 19 15 16 190 86 198 84 198 59 190 59 - 200 4 18 21 17 14 13 226 0 227 7 209 13 209 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 0 47 14 47 14 29 + 200 3 3 1 0 0 47 14 29 5 29 + 200 3 7 6 5 5 29 14 29 14 47 + 200 3 7 5 4 5 29 14 47 0 47 + 200 3 9 3 0 198 84 190 86 190 59 + 200 3 9 0 8 198 84 190 59 198 59 + 200 3 10 4 3 193 64 195 59 195 86 + 200 3 10 3 9 193 64 195 86 193 81 + 200 3 0 1 11 5 47 5 39 12 39 + 200 3 0 11 8 5 47 12 39 12 47 + 200 3 8 11 12 31 175 40 175 40 161 + 200 3 8 12 9 31 175 40 161 22 161 + 200 3 2 12 11 0 227 13 226 13 209 + 200 3 2 11 1 0 227 13 209 7 209 + 200 3 5 13 12 7 209 6 213 6 223 + 200 3 5 12 2 7 209 6 223 7 227 + 200 3 9 12 13 22 161 22 175 40 175 + 200 3 9 13 10 22 161 40 175 40 161 + 200 3 4 5 2 78 161 78 162 77 162 + 200 3 4 2 3 78 161 77 162 77 161 + 200 3 17 16 15 5 39 5 47 12 47 + 200 3 17 15 14 5 39 12 47 12 39 + 200 3 14 15 19 40 175 31 175 22 161 + 200 3 14 19 18 40 175 22 161 40 161 + 200 3 20 19 15 190 86 198 84 198 59 + 200 3 20 15 16 190 86 198 59 190 59 + 200 3 18 21 17 13 226 0 227 7 209 + 200 3 18 17 14 13 226 7 209 13 209 \ No newline at end of file diff --git a/data/mp/components/weapons/trwpfrkt.pie b/data/mp/components/weapons/trwpfrkt.pie index bc3cfbfbe..323084557 100644 --- a/data/mp/components/weapons/trwpfrkt.pie +++ b/data/mp/components/weapons/trwpfrkt.pie @@ -26,18 +26,32 @@ POINTS 22 38 5 -39 64 0 -39 64 0 12 -POLYGONS 14 - 200 4 3 2 1 0 0 47 14 47 14 29 5 29 - 200 4 7 6 5 4 5 29 14 29 14 47 0 47 - 200 4 9 3 0 8 198 84 190 86 190 59 198 59 - 200 4 10 4 3 9 193 64 195 59 195 86 193 81 - 200 4 0 1 11 8 5 47 5 39 12 39 12 47 - 200 4 8 11 12 9 31 175 40 175 40 161 22 161 - 200 4 2 12 11 1 0 227 13 226 13 209 7 209 - 200 4 5 13 12 2 7 209 6 213 6 223 7 227 - 200 4 9 12 13 10 22 161 22 175 40 175 40 161 - 200 4 4 5 2 3 78 161 78 162 77 162 77 161 - 200 4 17 16 15 14 5 39 5 47 12 47 12 39 - 200 4 14 15 19 18 40 175 31 175 22 161 40 161 - 200 4 20 19 15 16 190 86 198 84 198 59 190 59 - 200 4 18 21 17 14 13 226 0 227 7 209 13 209 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 0 47 14 47 14 29 + 200 3 3 1 0 0 47 14 29 5 29 + 200 3 7 6 5 5 29 14 29 14 47 + 200 3 7 5 4 5 29 14 47 0 47 + 200 3 9 3 0 198 84 190 86 190 59 + 200 3 9 0 8 198 84 190 59 198 59 + 200 3 10 4 3 193 64 195 59 195 86 + 200 3 10 3 9 193 64 195 86 193 81 + 200 3 0 1 11 5 47 5 39 12 39 + 200 3 0 11 8 5 47 12 39 12 47 + 200 3 8 11 12 31 175 40 175 40 161 + 200 3 8 12 9 31 175 40 161 22 161 + 200 3 2 12 11 0 227 13 226 13 209 + 200 3 2 11 1 0 227 13 209 7 209 + 200 3 5 13 12 7 209 6 213 6 223 + 200 3 5 12 2 7 209 6 223 7 227 + 200 3 9 12 13 22 161 22 175 40 175 + 200 3 9 13 10 22 161 40 175 40 161 + 200 3 4 5 2 78 161 78 162 77 162 + 200 3 4 2 3 78 161 77 162 77 161 + 200 3 17 16 15 5 39 5 47 12 47 + 200 3 17 15 14 5 39 12 47 12 39 + 200 3 14 15 19 40 175 31 175 22 161 + 200 3 14 19 18 40 175 22 161 40 161 + 200 3 20 19 15 190 86 198 84 198 59 + 200 3 20 15 16 190 86 198 59 190 59 + 200 3 18 21 17 13 226 0 227 7 209 + 200 3 18 17 14 13 226 7 209 13 209 \ No newline at end of file From e5edaeabfd8b7fcc1d261a0767cdbb50bfaa7c5e Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 17:46:08 +0100 Subject: [PATCH 059/142] Tessellate features, effects and other models. --- data/base/effects/cybitbod.pie | 17 +- data/base/effects/cybitgun.pie | 14 +- data/base/effects/cybitlg1.pie | 14 +- data/base/effects/cybitrkt.pie | 20 +- data/base/effects/cyshadow.pie | 5 +- data/base/effects/fxaalsh2.pie | 26 +- data/base/effects/fxaalsht.pie | 50 ++- data/base/effects/fxaamsht.pie | 50 ++- data/base/effects/fxairexp.pie | 8 +- data/base/effects/fxatexp.pie | 8 +- data/base/effects/fxatmiss.pie | 14 +- data/base/effects/fxbeam.pie | 14 +- data/base/effects/fxblip.pie | 8 +- data/base/effects/fxblood.pie | 8 +- data/base/effects/fxcam20.pie | 14 +- data/base/effects/fxcammo.pie | 14 +- data/base/effects/fxcan20a.pie | 14 +- data/base/effects/fxcan20m.pie | 14 +- data/base/effects/fxcan40m.pie | 26 +- data/base/effects/fxcan75m.pie | 26 +- data/base/effects/fxdirt.pie | 20 +- data/base/effects/fxdirtsp.pie | 8 +- data/base/effects/fxdust.pie | 8 +- data/base/effects/fxexpdrt.pie | 14 +- data/base/effects/fxflech2.pie | 8 +- data/base/effects/fxflecht.pie | 8 +- data/base/effects/fxflshl.pie | 8 +- data/base/effects/fxft.pie | 8 +- data/base/effects/fxgammo.pie | 14 +- data/base/effects/fxgammoh.pie | 14 +- data/base/effects/fxgammom.pie | 14 +- data/base/effects/fxgrdexl.pie | 8 +- data/base/effects/fxgrdexp.pie | 8 +- data/base/effects/fxhblas.pie | 14 +- data/base/effects/fxhgauss.pie | 14 +- data/base/effects/fxhhowt.pie | 14 +- data/base/effects/fxhhowt2.pie | 14 +- data/base/effects/fxhplme.pie | 14 +- data/base/effects/fxicbm.pie | 26 +- data/base/effects/fxl3dshk.pie | 8 +- data/base/effects/fxlasrot.pie | 32 +- data/base/effects/fxlbmbi1.pie | 20 +- data/base/effects/fxlbmbx1.pie | 20 +- data/base/effects/fxlenfl.pie | 8 +- data/base/effects/fxlexp.pie | 8 +- data/base/effects/fxlflmr.pie | 14 +- data/base/effects/fxlflsh.pie | 14 +- data/base/effects/fxlgauss.pie | 14 +- data/base/effects/fxlightr.pie | 8 +- data/base/effects/fxlmgun.pie | 14 +- data/base/effects/fxlmgun2.pie | 26 +- data/base/effects/fxlmiss.pie | 26 +- data/base/effects/fxlproj.pie | 26 +- data/base/effects/fxlrocpd.pie | 14 +- data/base/effects/fxlsplsh.pie | 20 +- data/base/effects/fxlswave.pie | 8 +- data/base/effects/fxlthrow.pie | 14 +- data/base/effects/fxmbmbi2.pie | 20 +- data/base/effects/fxmbmbx2.pie | 20 +- data/base/effects/fxmelt.pie | 8 +- data/base/effects/fxmethit.pie | 8 +- data/base/effects/fxmexp.pie | 8 +- data/base/effects/fxmflare.pie | 20 +- data/base/effects/fxmflmr.pie | 26 +- data/base/effects/fxmgauss.pie | 14 +- data/base/effects/fxmgnvic.pie | 14 +- data/base/effects/fxmgnvul.pie | 14 +- data/base/effects/fxmgunx2.pie | 20 +- data/base/effects/fxmhowt.pie | 14 +- data/base/effects/fxmmort.pie | 14 +- data/base/effects/fxmnexp.pie | 8 +- data/base/effects/fxmpexp.pie | 8 +- data/base/effects/fxmplme.pie | 14 +- data/base/effects/fxmroc.pie | 14 +- data/base/effects/fxmrocat.pie | 26 +- data/base/effects/fxmsplsh.pie | 20 +- data/base/effects/fxmsteam.pie | 8 +- data/base/effects/fxmswave.pie | 8 +- data/base/effects/fxplammo.pie | 14 +- data/base/effects/fxplasma.pie | 8 +- data/base/effects/fxpower.pie | 20 +- data/base/effects/fxscudm.pie | 68 ++-- data/base/effects/fxsexp.pie | 8 +- data/base/effects/fxsflms.pie | 8 +- data/base/effects/fxsmoke.pie | 8 +- data/base/effects/fxsnexp.pie | 8 +- data/base/effects/fxsplme.pie | 14 +- data/base/effects/fxsroc.pie | 8 +- data/base/effects/fxssmoke.pie | 8 +- data/base/effects/fxssplsh.pie | 20 +- data/base/effects/fxssteam.pie | 8 +- data/base/effects/fxtracer.pie | 14 +- data/base/effects/fxtracr2.pie | 26 +- data/base/effects/fxtracrd.pie | 14 +- data/base/effects/fxvlexp.pie | 8 +- data/base/effects/fxvlswav.pie | 8 +- data/base/effects/fxvtl01.pie | 38 +- data/base/effects/fxvtl04.pie | 38 +- data/base/effects/fxvtl09.pie | 62 ++- data/base/effects/fxvtl10.pie | 62 ++- data/base/effects/fxvtl11.pie | 62 ++- data/base/effects/fxvtl12.pie | 62 ++- data/base/effects/fxvtl2and3.pie | 38 +- data/base/effects/fxvtl5to8.pie | 38 +- data/base/effects/fxvulcan.pie | 14 +- data/base/effects/midebr1.pie | 20 +- data/base/effects/midebr2.pie | 2 +- data/base/effects/midebr3.pie | 16 +- data/base/effects/midebr4.pie | 2 +- data/base/effects/midebr5.pie | 2 +- data/base/effects/mirain.pie | 8 +- data/base/effects/misnow.pie | 8 +- data/base/effects/partarm.pie | 20 +- data/base/effects/partbody.pie | 20 +- data/base/effects/parthead.pie | 17 +- data/base/effects/partlegs.pie | 26 +- data/base/features/advmatlab.pie | 94 +++-- data/base/features/aerolab.pie | 137 ++++--- data/base/features/arizonabush1.pie | 199 +++++---- data/base/features/arizonabush2.pie | 199 +++++---- data/base/features/arizonabush3.pie | 199 +++++---- data/base/features/arizonabush4.pie | 199 +++++---- data/base/features/arizonatree1.pie | 43 +- data/base/features/arizonatree2.pie | 43 +- data/base/features/arizonatree3.pie | 43 +- data/base/features/arizonatree4.pie | 43 +- data/base/features/arizonatree5.pie | 43 +- data/base/features/arizonatree6.pie | 43 +- data/base/features/arizonatrees1.pie | 287 +++++++------ data/base/features/blbrhut1.pie | 23 +- data/base/features/blfactrd.pie | 152 ++++--- data/base/features/blwall4.pie | 48 ++- data/base/features/blwall4smash.pie | 50 ++- data/base/features/blwallc4.pie | 109 ++--- data/base/features/blwallc4smash.pie | 109 ++--- data/base/features/blware1.pie | 62 ++- data/base/features/blware2.pie | 68 ++-- data/base/features/blware3.pie | 38 +- data/base/features/drwreck.pie | 10 +- data/base/features/hvyweplab.pie | 88 ++-- data/base/features/indlab.pie | 83 ++-- data/base/features/lasoptlab.pie | 139 ++++--- data/base/features/miairtrf.pie | 53 ++- data/base/features/miarthov.pie | 71 ++-- data/base/features/mibar.pie | 98 +++-- data/base/features/mibldwa2.pie | 17 +- data/base/features/mibldwa3.pie | 17 +- data/base/features/mibldwat.pie | 29 +- data/base/features/miblucar.pie | 38 +- data/base/features/mibrdfuk.pie | 50 ++- data/base/features/mibridg1.pie | 58 +-- data/base/features/mibridge.pie | 117 +++--- data/base/features/mibridgx.pie | 494 +++++++++++------------ data/base/features/mibuil10.pie | 23 +- data/base/features/mibuil11.pie | 14 +- data/base/features/mibuil12.pie | 29 +- data/base/features/mibuil16.pie | 74 ++-- data/base/features/mibuil17.pie | 80 ++-- data/base/features/mibuild1.pie | 23 +- data/base/features/mibuild2.pie | 8 +- data/base/features/mibuild3.pie | 23 +- data/base/features/mibuild7.pie | 44 +- data/base/features/mibuild8.pie | 44 +- data/base/features/mibuild9.pie | 44 +- data/base/features/micabin1.pie | 26 +- data/base/features/micabin2.pie | 119 ++++-- data/base/features/micabin3.pie | 98 +++-- data/base/features/micabin4.pie | 53 ++- data/base/features/micabin5.pie | 26 +- data/base/features/micamper.pie | 59 ++- data/base/features/micapsul.pie | 17 +- data/base/features/michevy.pie | 35 +- data/base/features/micoolbig.pie | 208 ++++++---- data/base/features/micrane.pie | 149 ++++--- data/base/features/mifactry.pie | 103 +++-- data/base/features/mijeep.pie | 134 +++--- data/base/features/minuke.pie | 320 +++++++++------ data/base/features/mioil.pie | 56 ++- data/base/features/mioiltow.pie | 31 +- data/base/features/mipickup.pie | 38 +- data/base/features/mipipe.pie | 50 ++- data/base/features/mipipe1.pie | 44 +- data/base/features/mipipe1a.pie | 53 ++- data/base/features/mipipe2a.pie | 53 ++- data/base/features/mipipe3a.pie | 41 +- data/base/features/mipylon.pie | 14 +- data/base/features/miruin1.pie | 26 +- data/base/features/miruin10.pie | 71 ++-- data/base/features/miruin2.pie | 26 +- data/base/features/miruin3.pie | 23 +- data/base/features/miruin4.pie | 23 +- data/base/features/miruin5.pie | 26 +- data/base/features/miruin6.pie | 72 ++-- data/base/features/miruin7.pie | 116 +++--- data/base/features/miruin8.pie | 125 +++--- data/base/features/miruin9.pie | 95 +++-- data/base/features/mislick.pie | 92 +++-- data/base/features/mistree1.pie | 92 +++-- data/base/features/mistree2.pie | 74 ++-- data/base/features/mistree3.pie | 20 +- data/base/features/mitanker.pie | 86 ++-- data/base/features/mitankerh.pie | 86 ++-- data/base/features/mitrapcr.pie | 222 +++++----- data/base/features/mitrapstr.pie | 221 +++++----- data/base/features/mitrees.pie | 92 +++-- data/base/features/mitrees2.pie | 74 ++-- data/base/features/mitrees3.pie | 20 +- data/base/features/miwatow.pie | 65 ++- data/base/features/miwreck.pie | 20 +- data/base/features/miwrek1.pie | 20 +- data/base/features/miwrek3.pie | 20 +- data/base/features/miwrek5.pie | 20 +- data/base/features/nanolab.pie | 129 +++--- data/base/features/powlab.pie | 158 ++++---- data/base/features/rotweplab.pie | 33 +- data/base/misc/arrow.pie | 38 +- data/base/misc/blipart.pie | 8 +- data/base/misc/blipenm.pie | 8 +- data/base/misc/blipres.pie | 8 +- data/base/misc/iccamera.pie | 68 ++-- data/base/misc/icsynapt.pie | 122 ++++-- data/base/misc/micnum1.pie | 8 +- data/base/misc/micnum2.pie | 8 +- data/base/misc/micnum3.pie | 8 +- data/base/misc/micnum4.pie | 8 +- data/base/misc/micnum5.pie | 8 +- data/base/misc/minum1.pie | 8 +- data/base/misc/minum2.pie | 8 +- data/base/misc/minum3.pie | 8 +- data/base/misc/minum4.pie | 8 +- data/base/misc/minum5.pie | 8 +- data/base/misc/mirnum1.pie | 2 +- data/base/misc/mitrnshd.pie | 34 +- data/base/misc/mivnum1.pie | 8 +- data/base/misc/mivnum2.pie | 8 +- data/base/misc/mivnum3.pie | 8 +- data/base/misc/mivnum4.pie | 8 +- data/base/misc/mivnum5.pie | 8 +- data/base/misc/researchimds/dpvtol.pie | 68 ++-- data/base/misc/researchimds/icamrhot.pie | 79 ++-- data/base/misc/researchimds/icamrknt.pie | 65 ++- data/base/misc/researchimds/iccccons.pie | 43 +- data/base/misc/researchimds/iccybmg.pie | 29 +- data/base/misc/researchimds/iceng.pie | 80 ++-- data/base/misc/researchimds/icmolql.pie | 50 ++- data/base/misc/researchimds/icmslcd.pie | 32 +- data/base/misc/researchimds/icspaner.pie | 56 ++- data/base/misc/taljetfx.pie | 38 +- data/base/misc/tbmjetfx.pie | 38 +- data/base/misc/tchjetfx.pie | 62 ++- data/mp/effects/fxflech4.pie | 8 +- data/mp/effects/fxgrdexs.pie | 8 +- data/mp/effects/fxlbmbe1.pie | 2 +- data/mp/effects/fxlbmbe2.pie | 2 +- data/mp/effects/fxlbmbp1.pie | 2 +- data/mp/effects/fxlbmbp2.pie | 2 +- data/mp/effects/fxshcana.pie | 14 +- data/mp/effects/fxshcanm.pie | 62 ++- data/mp/effects/fxshgssa.pie | 14 +- data/mp/effects/fxshgssm.pie | 50 ++- data/mp/effects/fxvtl14.pie | 62 ++- 261 files changed, 6826 insertions(+), 4346 deletions(-) diff --git a/data/base/effects/cybitbod.pie b/data/base/effects/cybitbod.pie index 6749016d6..27e5d6135 100644 --- a/data/base/effects/cybitbod.pie +++ b/data/base/effects/cybitbod.pie @@ -24,9 +24,14 @@ POINTS 20 -10 -12 -8 -6 16 -8 -6 16 8 -POLYGONS 5 - 200 4 3 2 1 0 19 246 1 246 1 230 19 230 - 200 4 7 6 5 4 1 215 19 215 19 231 1 231 - 200 4 11 10 9 8 57 200 66 200 66 214 57 214 - 200 4 15 14 13 12 9 246 9 255 0 255 0 246 - 200 4 19 18 17 16 66 200 57 200 57 214 66 214 \ No newline at end of file +POLYGONS 10 + 200 3 3 2 1 19 246 1 246 1 230 + 200 3 3 1 0 19 246 1 230 19 230 + 200 3 7 6 5 1 215 19 215 19 231 + 200 3 7 5 4 1 215 19 231 1 231 + 200 3 11 10 9 57 200 66 200 66 214 + 200 3 11 9 8 57 200 66 214 57 214 + 200 3 15 14 13 9 246 9 255 0 255 + 200 3 15 13 12 9 246 0 255 0 246 + 200 3 19 18 17 66 200 57 200 57 214 + 200 3 19 17 16 66 200 57 214 66 214 \ No newline at end of file diff --git a/data/base/effects/cybitgun.pie b/data/base/effects/cybitgun.pie index 2050fb7b2..0386316a4 100644 --- a/data/base/effects/cybitgun.pie +++ b/data/base/effects/cybitgun.pie @@ -12,8 +12,12 @@ POINTS 8 4 4 -12 4 0 11 -4 0 11 -POLYGONS 4 - 200 4 0 1 2 3 155 210 140 210 140 200 155 200 - 200 4 3 2 1 0 155 200 140 200 140 210 155 210 - 200 4 4 5 6 7 156 200 156 205 170 205 170 200 - 200 4 7 6 5 4 170 200 170 205 156 205 156 200 +POLYGONS 8 + 200 3 0 1 2 155 210 140 210 140 200 + 200 3 0 2 3 155 210 140 200 155 200 + 200 3 3 2 1 155 200 140 200 140 210 + 200 3 3 1 0 155 200 140 210 155 210 + 200 3 4 5 6 156 200 156 205 170 205 + 200 3 4 6 7 156 200 170 205 170 200 + 200 3 7 6 5 170 200 170 205 156 205 + 200 3 7 5 4 170 200 156 205 156 200 \ No newline at end of file diff --git a/data/base/effects/cybitlg1.pie b/data/base/effects/cybitlg1.pie index c7155009a..45198b515 100644 --- a/data/base/effects/cybitlg1.pie +++ b/data/base/effects/cybitlg1.pie @@ -16,8 +16,12 @@ POINTS 12 -5 13 7 5 -13 -7 3 13 7 -POLYGONS 4 - 200 4 3 2 1 0 78 186 82 186 82 199 78 199 - 200 4 7 6 5 4 78 186 74 186 74 199 78 199 - 200 4 9 7 8 1 28 201 21 201 21 214 28 214 - 200 4 6 11 0 10 21 187 28 187 28 200 21 200 +POLYGONS 8 + 200 3 3 2 1 78 186 82 186 82 199 + 200 3 3 1 0 78 186 82 199 78 199 + 200 3 7 6 5 78 186 74 186 74 199 + 200 3 7 5 4 78 186 74 199 78 199 + 200 3 9 7 8 28 201 21 201 21 214 + 200 3 9 8 1 28 201 21 214 28 214 + 200 3 6 11 0 21 187 28 187 28 200 + 200 3 6 0 10 21 187 28 200 21 200 \ No newline at end of file diff --git a/data/base/effects/cybitrkt.pie b/data/base/effects/cybitrkt.pie index b872f3a41..d29c71d91 100644 --- a/data/base/effects/cybitrkt.pie +++ b/data/base/effects/cybitrkt.pie @@ -12,10 +12,16 @@ POINTS 8 -6 12 15 -6 -12 -15 -6 9 -17 -POLYGONS 6 - 200 4 3 2 1 0 106 186 102 186 102 199 106 199 - 200 4 5 4 0 1 112 186 112 197 118 197 118 186 - 200 4 4 6 3 0 102 199 102 186 106 186 106 199 - 200 4 6 7 2 3 106 197 106 186 112 186 112 197 - 200 4 5 7 6 4 90 198 90 186 94 186 94 198 - 200 4 7 5 1 2 90 186 90 198 94 198 94 186 +POLYGONS 12 + 200 3 3 2 1 106 186 102 186 102 199 + 200 3 3 1 0 106 186 102 199 106 199 + 200 3 5 4 0 112 186 112 197 118 197 + 200 3 5 0 1 112 186 118 197 118 186 + 200 3 4 6 3 102 199 102 186 106 186 + 200 3 4 3 0 102 199 106 186 106 199 + 200 3 6 7 2 106 197 106 186 112 186 + 200 3 6 2 3 106 197 112 186 112 197 + 200 3 5 7 6 90 198 90 186 94 186 + 200 3 5 6 4 90 198 94 186 94 198 + 200 3 7 5 1 90 186 90 198 94 198 + 200 3 7 1 2 90 186 94 198 94 186 \ No newline at end of file diff --git a/data/base/effects/cyshadow.pie b/data/base/effects/cyshadow.pie index 086177348..d1c74b1a5 100644 --- a/data/base/effects/cyshadow.pie +++ b/data/base/effects/cyshadow.pie @@ -8,5 +8,6 @@ POINTS 4 16 0 -16 16 0 16 -16 0 16 -POLYGONS 1 - 200 4 3 2 1 0 153 215 169 215 169 231 153 231 +POLYGONS 2 + 200 3 3 2 1 153 215 169 215 169 231 + 200 3 3 1 0 153 215 169 231 153 231 \ No newline at end of file diff --git a/data/base/effects/fxaalsh2.pie b/data/base/effects/fxaalsh2.pie index a65529390..73fe3770b 100644 --- a/data/base/effects/fxaalsh2.pie +++ b/data/base/effects/fxaalsh2.pie @@ -20,12 +20,20 @@ POINTS 16 -7 4 -42 -4 4 -42 -4 4 -23 -POLYGONS 8 - 200 4 0 1 2 3 211 73 211 55 207 55 207 73 - 200 4 3 2 1 0 207 73 207 55 211 55 211 73 - 200 4 4 5 6 7 211 73 211 55 207 55 207 73 - 200 4 7 6 5 4 207 73 207 55 211 55 211 73 - 200 4 8 9 10 11 211 73 211 55 207 55 207 73 - 200 4 11 10 9 8 207 73 207 55 211 55 211 73 - 200 4 12 13 14 15 211 73 211 55 207 55 207 73 - 200 4 15 14 13 12 207 73 207 55 211 55 211 73 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 211 73 211 55 207 55 + 200 3 0 2 3 211 73 207 55 207 73 + 200 3 3 2 1 207 73 207 55 211 55 + 200 3 3 1 0 207 73 211 55 211 73 + 200 3 4 5 6 211 73 211 55 207 55 + 200 3 4 6 7 211 73 207 55 207 73 + 200 3 7 6 5 207 73 207 55 211 55 + 200 3 7 5 4 207 73 211 55 211 73 + 200 3 8 9 10 211 73 211 55 207 55 + 200 3 8 10 11 211 73 207 55 207 73 + 200 3 11 10 9 207 73 207 55 211 55 + 200 3 11 9 8 207 73 211 55 211 73 + 200 3 12 13 14 211 73 211 55 207 55 + 200 3 12 14 15 211 73 207 55 207 73 + 200 3 15 14 13 207 73 207 55 211 55 + 200 3 15 13 12 207 73 211 55 211 73 \ No newline at end of file diff --git a/data/base/effects/fxaalsht.pie b/data/base/effects/fxaalsht.pie index 1cc2d48d0..eccced1a2 100644 --- a/data/base/effects/fxaalsht.pie +++ b/data/base/effects/fxaalsht.pie @@ -36,20 +36,36 @@ POINTS 32 -7 4 -42 -4 4 -42 -4 4 -23 -POLYGONS 16 - 200 4 0 1 2 3 211 73 211 55 207 55 207 73 - 200 4 3 2 1 0 207 73 207 55 211 55 211 73 - 200 4 4 5 6 7 211 73 211 55 207 55 207 73 - 200 4 7 6 5 4 207 73 207 55 211 55 211 73 - 200 4 8 9 10 11 211 73 211 55 207 55 207 73 - 200 4 11 10 9 8 207 73 207 55 211 55 211 73 - 200 4 12 13 14 15 211 73 211 55 207 55 207 73 - 200 4 15 14 13 12 207 73 207 55 211 55 211 73 - 200 4 16 17 18 19 211 73 211 55 207 55 207 73 - 200 4 19 18 17 16 207 73 207 55 211 55 211 73 - 200 4 20 21 22 23 211 73 211 55 207 55 207 73 - 200 4 23 22 21 20 207 73 207 55 211 55 211 73 - 200 4 24 25 26 27 211 73 211 55 207 55 207 73 - 200 4 27 26 25 24 207 73 207 55 211 55 211 73 - 200 4 28 29 30 31 211 73 211 55 207 55 207 73 - 200 4 31 30 29 28 207 73 207 55 211 55 211 73 \ No newline at end of file +POLYGONS 32 + 200 3 0 1 2 211 73 211 55 207 55 + 200 3 0 2 3 211 73 207 55 207 73 + 200 3 3 2 1 207 73 207 55 211 55 + 200 3 3 1 0 207 73 211 55 211 73 + 200 3 4 5 6 211 73 211 55 207 55 + 200 3 4 6 7 211 73 207 55 207 73 + 200 3 7 6 5 207 73 207 55 211 55 + 200 3 7 5 4 207 73 211 55 211 73 + 200 3 8 9 10 211 73 211 55 207 55 + 200 3 8 10 11 211 73 207 55 207 73 + 200 3 11 10 9 207 73 207 55 211 55 + 200 3 11 9 8 207 73 211 55 211 73 + 200 3 12 13 14 211 73 211 55 207 55 + 200 3 12 14 15 211 73 207 55 207 73 + 200 3 15 14 13 207 73 207 55 211 55 + 200 3 15 13 12 207 73 211 55 211 73 + 200 3 16 17 18 211 73 211 55 207 55 + 200 3 16 18 19 211 73 207 55 207 73 + 200 3 19 18 17 207 73 207 55 211 55 + 200 3 19 17 16 207 73 211 55 211 73 + 200 3 20 21 22 211 73 211 55 207 55 + 200 3 20 22 23 211 73 207 55 207 73 + 200 3 23 22 21 207 73 207 55 211 55 + 200 3 23 21 20 207 73 211 55 211 73 + 200 3 24 25 26 211 73 211 55 207 55 + 200 3 24 26 27 211 73 207 55 207 73 + 200 3 27 26 25 207 73 207 55 211 55 + 200 3 27 25 24 207 73 211 55 211 73 + 200 3 28 29 30 211 73 211 55 207 55 + 200 3 28 30 31 211 73 207 55 207 73 + 200 3 31 30 29 207 73 207 55 211 55 + 200 3 31 29 28 207 73 211 55 211 73 \ No newline at end of file diff --git a/data/base/effects/fxaamsht.pie b/data/base/effects/fxaamsht.pie index da782b118..54344f8f1 100644 --- a/data/base/effects/fxaamsht.pie +++ b/data/base/effects/fxaamsht.pie @@ -36,20 +36,36 @@ POINTS 32 -8 1 -44 -8 6 -44 -8 6 -22 -POLYGONS 16 - 200 4 0 1 2 3 211 73 211 55 207 55 207 73 - 200 4 3 2 1 0 207 73 207 55 211 55 211 73 - 200 4 4 5 6 7 211 73 211 55 207 55 207 73 - 200 4 7 6 5 4 207 73 207 55 211 55 211 73 - 200 4 8 9 10 11 211 73 211 55 207 55 207 73 - 200 4 11 10 9 8 207 73 207 55 211 55 211 73 - 200 4 12 13 14 15 211 73 211 55 207 55 207 73 - 200 4 15 14 13 12 207 73 207 55 211 55 211 73 - 200 4 16 17 18 19 211 73 211 55 207 55 207 73 - 200 4 19 18 17 16 207 73 207 55 211 55 211 73 - 200 4 20 21 22 23 211 73 211 55 207 55 207 73 - 200 4 23 22 21 20 207 73 207 55 211 55 211 73 - 200 4 24 25 26 27 211 73 211 55 207 55 207 73 - 200 4 27 26 25 24 207 73 207 55 211 55 211 73 - 200 4 28 29 30 31 211 73 211 55 207 55 207 73 - 200 4 31 30 29 28 207 73 207 55 211 55 211 73 \ No newline at end of file +POLYGONS 32 + 200 3 0 1 2 211 73 211 55 207 55 + 200 3 0 2 3 211 73 207 55 207 73 + 200 3 3 2 1 207 73 207 55 211 55 + 200 3 3 1 0 207 73 211 55 211 73 + 200 3 4 5 6 211 73 211 55 207 55 + 200 3 4 6 7 211 73 207 55 207 73 + 200 3 7 6 5 207 73 207 55 211 55 + 200 3 7 5 4 207 73 211 55 211 73 + 200 3 8 9 10 211 73 211 55 207 55 + 200 3 8 10 11 211 73 207 55 207 73 + 200 3 11 10 9 207 73 207 55 211 55 + 200 3 11 9 8 207 73 211 55 211 73 + 200 3 12 13 14 211 73 211 55 207 55 + 200 3 12 14 15 211 73 207 55 207 73 + 200 3 15 14 13 207 73 207 55 211 55 + 200 3 15 13 12 207 73 211 55 211 73 + 200 3 16 17 18 211 73 211 55 207 55 + 200 3 16 18 19 211 73 207 55 207 73 + 200 3 19 18 17 207 73 207 55 211 55 + 200 3 19 17 16 207 73 211 55 211 73 + 200 3 20 21 22 211 73 211 55 207 55 + 200 3 20 22 23 211 73 207 55 207 73 + 200 3 23 22 21 207 73 207 55 211 55 + 200 3 23 21 20 207 73 211 55 211 73 + 200 3 24 25 26 211 73 211 55 207 55 + 200 3 24 26 27 211 73 207 55 207 73 + 200 3 27 26 25 207 73 207 55 211 55 + 200 3 27 25 24 207 73 211 55 211 73 + 200 3 28 29 30 211 73 211 55 207 55 + 200 3 28 30 31 211 73 207 55 207 73 + 200 3 31 30 29 207 73 207 55 211 55 + 200 3 31 29 28 207 73 211 55 211 73 \ No newline at end of file diff --git a/data/base/effects/fxairexp.pie b/data/base/effects/fxairexp.pie index 7b9671033..777772808 100644 --- a/data/base/effects/fxairexp.pie +++ b/data/base/effects/fxairexp.pie @@ -8,6 +8,8 @@ POINTS 4 -43 -44 0 42 -44 0 42 45 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 32 32 31 194 31 224 1 224 1 194 - 4200 4 3 2 1 0 8 1 32 32 1 194 1 224 31 224 31 194 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 32 32 31 194 31 224 1 224 + 4200 3 0 2 3 8 1 32 32 31 194 1 224 1 194 + 4200 3 3 2 1 8 1 32 32 1 194 1 224 31 224 + 4200 3 3 1 0 8 1 32 32 1 194 31 224 31 194 \ No newline at end of file diff --git a/data/base/effects/fxatexp.pie b/data/base/effects/fxatexp.pie index 4fef25ff7..508fe39f9 100644 --- a/data/base/effects/fxatexp.pie +++ b/data/base/effects/fxatexp.pie @@ -8,6 +8,8 @@ POINTS 4 -48 84 0 48 84 0 48 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 57 56 55 54 55 2 2 2 2 54 - 4200 4 3 2 1 0 10 1 57 56 2 54 2 2 55 2 55 54 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 57 56 55 54 55 2 2 2 + 4200 3 0 2 3 10 1 57 56 55 54 2 2 2 54 + 4200 3 3 2 1 10 1 57 56 2 54 2 2 55 2 + 4200 3 3 1 0 10 1 57 56 2 54 55 2 55 54 \ No newline at end of file diff --git a/data/base/effects/fxatmiss.pie b/data/base/effects/fxatmiss.pie index d662f1033..e5918341f 100644 --- a/data/base/effects/fxatmiss.pie +++ b/data/base/effects/fxatmiss.pie @@ -12,8 +12,12 @@ POINTS 8 12 0 0 12 0 -35 -11 0 -35 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxbeam.pie b/data/base/effects/fxbeam.pie index 5ac07088e..1a1a6a3b1 100644 --- a/data/base/effects/fxbeam.pie +++ b/data/base/effects/fxbeam.pie @@ -12,8 +12,12 @@ POINTS 8 5 9 -178 5 9 -61 -5 9 -61 -POLYGONS 4 - 200 4 0 1 2 3 75 248 75 256 0 256 0 248 - 200 4 3 2 1 0 0 248 0 256 75 256 75 248 - 200 4 4 5 6 7 75 248 75 256 0 256 0 248 - 200 4 7 6 5 4 0 248 0 256 75 256 75 248 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 75 248 75 256 0 256 + 200 3 0 2 3 75 248 0 256 0 248 + 200 3 3 2 1 0 248 0 256 75 256 + 200 3 3 1 0 0 248 75 256 75 248 + 200 3 4 5 6 75 248 75 256 0 256 + 200 3 4 6 7 75 248 0 256 0 248 + 200 3 7 6 5 0 248 0 256 75 256 + 200 3 7 5 4 0 248 75 256 75 248 \ No newline at end of file diff --git a/data/base/effects/fxblip.pie b/data/base/effects/fxblip.pie index 19b100c6d..38ec2f429 100644 --- a/data/base/effects/fxblip.pie +++ b/data/base/effects/fxblip.pie @@ -8,6 +8,8 @@ POINTS 4 -50 10 50 -50 10 -50 50 10 -50 -POLYGONS 2 - 4200 4 0 1 2 3 5 1 31 31 61 225 32 225 32 254 61 254 - 4200 4 3 2 1 0 5 1 31 31 61 254 32 254 32 225 61 225 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 5 1 31 31 61 225 32 225 32 254 + 4200 3 0 2 3 5 1 31 31 61 225 32 254 61 254 + 4200 3 3 2 1 5 1 31 31 61 254 32 254 32 225 + 4200 3 3 1 0 5 1 31 31 61 254 32 225 61 225 \ No newline at end of file diff --git a/data/base/effects/fxblood.pie b/data/base/effects/fxblood.pie index 73339dda3..d03bd4a0c 100644 --- a/data/base/effects/fxblood.pie +++ b/data/base/effects/fxblood.pie @@ -8,6 +8,8 @@ POINTS 4 -8 -8 0 -8 8 0 8 8 0 -POLYGONS 2 - 4200 4 0 1 2 3 4 1 8 8 75 256 83 256 83 248 75 248 - 4200 4 3 2 1 0 4 1 8 8 75 248 83 248 83 256 75 256 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 4 1 8 8 75 256 83 256 83 248 + 4200 3 0 2 3 4 1 8 8 75 256 83 248 75 248 + 4200 3 3 2 1 4 1 8 8 75 248 83 248 83 256 + 4200 3 3 1 0 4 1 8 8 75 248 83 256 75 256 \ No newline at end of file diff --git a/data/base/effects/fxcam20.pie b/data/base/effects/fxcam20.pie index ab8068084..53d2bf816 100644 --- a/data/base/effects/fxcam20.pie +++ b/data/base/effects/fxcam20.pie @@ -12,8 +12,12 @@ POINTS 8 -2 4 -54 2 4 -54 2 4 -45 -POLYGONS 4 - 200 4 0 1 2 3 203 69 203 54 192 54 192 69 - 200 4 3 2 1 0 192 69 192 54 203 54 203 69 - 200 4 4 5 6 7 203 69 203 54 192 54 192 69 - 200 4 7 6 5 4 192 69 192 54 203 54 203 69 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 203 69 203 54 192 54 + 200 3 0 2 3 203 69 192 54 192 69 + 200 3 3 2 1 192 69 192 54 203 54 + 200 3 3 1 0 192 69 203 54 203 69 + 200 3 4 5 6 203 69 203 54 192 54 + 200 3 4 6 7 203 69 192 54 192 69 + 200 3 7 6 5 192 69 192 54 203 54 + 200 3 7 5 4 192 69 203 54 203 69 \ No newline at end of file diff --git a/data/base/effects/fxcammo.pie b/data/base/effects/fxcammo.pie index 78db52f14..d8a59efb0 100644 --- a/data/base/effects/fxcammo.pie +++ b/data/base/effects/fxcammo.pie @@ -12,8 +12,12 @@ POINTS 8 -1 4 -52 1 4 -52 1 4 -46 -POLYGONS 4 - 200 4 0 1 2 3 203 69 203 54 192 54 192 69 - 200 4 3 2 1 0 192 69 192 54 203 54 203 69 - 200 4 4 5 6 7 203 69 203 54 192 54 192 69 - 200 4 7 6 5 4 192 69 192 54 203 54 203 69 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 203 69 203 54 192 54 + 200 3 0 2 3 203 69 192 54 192 69 + 200 3 3 2 1 192 69 192 54 203 54 + 200 3 3 1 0 192 69 203 54 203 69 + 200 3 4 5 6 203 69 203 54 192 54 + 200 3 4 6 7 203 69 192 54 192 69 + 200 3 7 6 5 192 69 192 54 203 54 + 200 3 7 5 4 192 69 203 54 203 69 \ No newline at end of file diff --git a/data/base/effects/fxcan20a.pie b/data/base/effects/fxcan20a.pie index 7e7ecaeb8..456bb49b4 100644 --- a/data/base/effects/fxcan20a.pie +++ b/data/base/effects/fxcan20a.pie @@ -12,8 +12,12 @@ POINTS 8 -9 0 0 -9 0 -30 10 0 -30 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxcan20m.pie b/data/base/effects/fxcan20m.pie index c368384fa..08bf1e4c9 100644 --- a/data/base/effects/fxcan20m.pie +++ b/data/base/effects/fxcan20m.pie @@ -12,8 +12,12 @@ POINTS 8 -9 0 0 -9 0 -30 10 0 -30 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxcan40m.pie b/data/base/effects/fxcan40m.pie index 5cf041858..be445eb33 100644 --- a/data/base/effects/fxcan40m.pie +++ b/data/base/effects/fxcan40m.pie @@ -20,12 +20,20 @@ POINTS 16 0 -19 7 0 19 7 0 19 -5 -POLYGONS 8 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 - 200 4 8 9 10 11 246 117 252 117 252 82 246 82 - 200 4 11 10 9 8 246 82 252 82 252 117 246 117 - 200 4 12 13 14 15 246 117 252 117 252 82 246 82 - 200 4 15 14 13 12 246 82 252 82 252 117 246 117 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 + 200 3 8 9 10 246 117 252 117 252 82 + 200 3 8 10 11 246 117 252 82 246 82 + 200 3 11 10 9 246 82 252 82 252 117 + 200 3 11 9 8 246 82 252 117 246 117 + 200 3 12 13 14 246 117 252 117 252 82 + 200 3 12 14 15 246 117 252 82 246 82 + 200 3 15 14 13 246 82 252 82 252 117 + 200 3 15 13 12 246 82 252 117 246 117 \ No newline at end of file diff --git a/data/base/effects/fxcan75m.pie b/data/base/effects/fxcan75m.pie index 8757010f1..1602ac588 100644 --- a/data/base/effects/fxcan75m.pie +++ b/data/base/effects/fxcan75m.pie @@ -20,12 +20,20 @@ POINTS 16 0 -19 7 0 19 7 0 19 -5 -POLYGONS 8 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 - 200 4 8 9 10 11 246 117 252 117 252 82 246 82 - 200 4 11 10 9 8 246 82 252 82 252 117 246 117 - 200 4 12 13 14 15 246 117 252 117 252 82 246 82 - 200 4 15 14 13 12 246 82 252 82 252 117 246 117 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 + 200 3 8 9 10 246 117 252 117 252 82 + 200 3 8 10 11 246 117 252 82 246 82 + 200 3 11 10 9 246 82 252 82 252 117 + 200 3 11 9 8 246 82 252 117 246 117 + 200 3 12 13 14 246 117 252 117 252 82 + 200 3 12 14 15 246 117 252 82 246 82 + 200 3 15 14 13 246 82 252 82 252 117 + 200 3 15 13 12 246 82 252 117 246 117 \ No newline at end of file diff --git a/data/base/effects/fxdirt.pie b/data/base/effects/fxdirt.pie index da5d43024..7f9098858 100644 --- a/data/base/effects/fxdirt.pie +++ b/data/base/effects/fxdirt.pie @@ -12,10 +12,16 @@ POINTS 8 3 10 -4 -10 6 2 -8 9 -5 -POLYGONS 6 - 200 4 3 2 1 0 7 237 16 237 16 248 7 248 - 200 4 2 5 4 1 7 237 16 237 16 248 7 248 - 200 4 5 7 6 4 7 237 16 237 16 248 7 248 - 200 4 7 3 0 6 7 237 16 237 16 248 7 248 - 200 4 1 4 6 0 96 174 96 161 107 161 107 174 - 200 4 7 5 2 3 96 161 107 161 107 174 96 174 +POLYGONS 12 + 200 3 3 2 1 7 237 16 237 16 248 + 200 3 3 1 0 7 237 16 248 7 248 + 200 3 2 5 4 7 237 16 237 16 248 + 200 3 2 4 1 7 237 16 248 7 248 + 200 3 5 7 6 7 237 16 237 16 248 + 200 3 5 6 4 7 237 16 248 7 248 + 200 3 7 3 0 7 237 16 237 16 248 + 200 3 7 0 6 7 237 16 248 7 248 + 200 3 1 4 6 96 174 96 161 107 161 + 200 3 1 6 0 96 174 107 161 107 174 + 200 3 7 5 2 96 161 107 161 107 174 + 200 3 7 2 3 96 161 107 174 96 174 \ No newline at end of file diff --git a/data/base/effects/fxdirtsp.pie b/data/base/effects/fxdirtsp.pie index d5310f71d..760020702 100644 --- a/data/base/effects/fxdirtsp.pie +++ b/data/base/effects/fxdirtsp.pie @@ -8,6 +8,8 @@ POINTS 4 -4 28 0 -4 0 0 4 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 6 1 5 15 4 225 1 225 1 240 4 240 - 4200 4 3 2 1 0 6 1 5 15 4 240 1 240 1 225 4 225 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 6 1 5 15 4 225 1 225 1 240 + 4200 3 0 2 3 6 1 5 15 4 225 1 240 4 240 + 4200 3 3 2 1 6 1 5 15 4 240 1 240 1 225 + 4200 3 3 1 0 6 1 5 15 4 240 1 225 4 225 \ No newline at end of file diff --git a/data/base/effects/fxdust.pie b/data/base/effects/fxdust.pie index dda0d9b0b..73dc0d25f 100644 --- a/data/base/effects/fxdust.pie +++ b/data/base/effects/fxdust.pie @@ -8,6 +8,8 @@ POINTS 4 -33 33 0 -32 -32 0 33 -32 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 32 29 32 162 0 162 0 191 32 191 - 4200 4 3 2 1 0 8 1 32 29 32 191 0 191 0 162 32 162 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 32 29 32 162 0 162 0 191 + 4200 3 0 2 3 8 1 32 29 32 162 0 191 32 191 + 4200 3 3 2 1 8 1 32 29 32 191 0 191 0 162 + 4200 3 3 1 0 8 1 32 29 32 191 0 162 32 162 \ No newline at end of file diff --git a/data/base/effects/fxexpdrt.pie b/data/base/effects/fxexpdrt.pie index d8a263fc7..8168b8001 100644 --- a/data/base/effects/fxexpdrt.pie +++ b/data/base/effects/fxexpdrt.pie @@ -12,8 +12,12 @@ POINTS 8 0 0 -38 0 0 38 0 143 38 -POLYGONS 4 - 4200 4 0 1 2 3 10 1 18 39 20 218 20 255 4 255 4 218 - 4200 4 3 2 1 0 10 1 18 39 4 218 4 255 20 255 20 218 - 4200 4 4 5 6 7 10 1 18 39 20 218 20 255 4 255 4 218 - 4200 4 7 6 5 4 10 1 18 39 4 218 4 255 20 255 20 218 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 10 1 18 39 20 218 20 255 4 255 + 4200 3 0 2 3 10 1 18 39 20 218 4 255 4 218 + 4200 3 3 2 1 10 1 18 39 4 218 4 255 20 255 + 4200 3 3 1 0 10 1 18 39 4 218 20 255 20 218 + 4200 3 4 5 6 10 1 18 39 20 218 20 255 4 255 + 4200 3 4 6 7 10 1 18 39 20 218 4 255 4 218 + 4200 3 7 6 5 10 1 18 39 4 218 4 255 20 255 + 4200 3 7 5 4 10 1 18 39 4 218 20 255 20 218 \ No newline at end of file diff --git a/data/base/effects/fxflech2.pie b/data/base/effects/fxflech2.pie index 18f2335d9..4e1113ec0 100644 --- a/data/base/effects/fxflech2.pie +++ b/data/base/effects/fxflech2.pie @@ -8,6 +8,8 @@ POINTS 4 -39 69 0 39 69 0 39 1 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 32 32 31 31 31 1 1 1 1 31 - 4200 4 3 2 1 0 16 1 32 32 1 31 1 1 31 1 31 31 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 32 32 31 31 31 1 1 1 + 4200 3 0 2 3 16 1 32 32 31 31 1 1 1 31 + 4200 3 3 2 1 16 1 32 32 1 31 1 1 31 1 + 4200 3 3 1 0 16 1 32 32 1 31 31 1 31 31 \ No newline at end of file diff --git a/data/base/effects/fxflecht.pie b/data/base/effects/fxflecht.pie index bf9067698..c16731eb1 100644 --- a/data/base/effects/fxflecht.pie +++ b/data/base/effects/fxflecht.pie @@ -8,6 +8,8 @@ POINTS 4 -31 55 0 30 55 0 30 1 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 32 32 31 95 31 65 1 65 1 95 - 4200 4 3 2 1 0 16 1 32 32 1 95 1 65 31 65 31 95 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 32 32 31 95 31 65 1 65 + 4200 3 0 2 3 16 1 32 32 31 95 1 65 1 95 + 4200 3 3 2 1 16 1 32 32 1 95 1 65 31 65 + 4200 3 3 1 0 16 1 32 32 1 95 31 65 31 95 \ No newline at end of file diff --git a/data/base/effects/fxflshl.pie b/data/base/effects/fxflshl.pie index cf70de4a2..f5026dd30 100644 --- a/data/base/effects/fxflshl.pie +++ b/data/base/effects/fxflshl.pie @@ -8,6 +8,8 @@ POINTS 4 18 19 0 -18 19 0 -18 -17 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 28 28 27 180 27 154 1 154 1 180 - 4200 4 3 2 1 0 8 1 28 28 1 180 1 154 27 154 27 180 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 28 28 27 180 27 154 1 154 + 4200 3 0 2 3 8 1 28 28 27 180 1 154 1 180 + 4200 3 3 2 1 8 1 28 28 1 180 1 154 27 154 + 4200 3 3 1 0 8 1 28 28 1 180 27 154 27 180 \ No newline at end of file diff --git a/data/base/effects/fxft.pie b/data/base/effects/fxft.pie index e4810a282..8e71b3fee 100644 --- a/data/base/effects/fxft.pie +++ b/data/base/effects/fxft.pie @@ -8,6 +8,8 @@ POINTS 4 23 41 0 -24 41 0 -24 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 32 32 31 255 31 225 1 225 1 255 - 4200 4 3 2 1 0 8 1 32 32 1 255 1 225 31 225 31 255 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 32 32 31 255 31 225 1 225 + 4200 3 0 2 3 8 1 32 32 31 255 1 225 1 255 + 4200 3 3 2 1 8 1 32 32 1 255 1 225 31 225 + 4200 3 3 1 0 8 1 32 32 1 255 31 225 31 255 \ No newline at end of file diff --git a/data/base/effects/fxgammo.pie b/data/base/effects/fxgammo.pie index eb0ec0623..d96037e8c 100644 --- a/data/base/effects/fxgammo.pie +++ b/data/base/effects/fxgammo.pie @@ -12,8 +12,12 @@ POINTS 8 -3 0 -41 3 0 -41 3 0 41 -POLYGONS 4 - 200 4 0 1 2 3 88 128 0 128 0 135 88 135 - 200 4 3 2 1 0 88 135 0 135 0 128 88 128 - 200 4 4 5 6 7 88 128 0 128 0 135 88 135 - 200 4 7 6 5 4 88 135 0 135 0 128 88 128 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 88 128 0 128 0 135 + 200 3 0 2 3 88 128 0 135 88 135 + 200 3 3 2 1 88 135 0 135 0 128 + 200 3 3 1 0 88 135 0 128 88 128 + 200 3 4 5 6 88 128 0 128 0 135 + 200 3 4 6 7 88 128 0 135 88 135 + 200 3 7 6 5 88 135 0 135 0 128 + 200 3 7 5 4 88 135 0 128 88 128 \ No newline at end of file diff --git a/data/base/effects/fxgammoh.pie b/data/base/effects/fxgammoh.pie index 72f2528d7..7119bcb6a 100644 --- a/data/base/effects/fxgammoh.pie +++ b/data/base/effects/fxgammoh.pie @@ -12,8 +12,12 @@ POINTS 8 -5 0 -12 5 0 -12 5 0 12 -POLYGONS 4 - 200 4 0 1 2 3 29 138 0 138 0 151 29 151 - 200 4 3 2 1 0 29 151 0 151 0 138 29 138 - 200 4 4 5 6 7 29 138 0 138 0 151 29 151 - 200 4 7 6 5 4 29 151 0 151 0 138 29 138 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 29 138 0 138 0 151 + 200 3 0 2 3 29 138 0 151 29 151 + 200 3 3 2 1 29 151 0 151 0 138 + 200 3 3 1 0 29 151 0 138 29 138 + 200 3 4 5 6 29 138 0 138 0 151 + 200 3 4 6 7 29 138 0 151 29 151 + 200 3 7 6 5 29 151 0 151 0 138 + 200 3 7 5 4 29 151 0 138 29 138 \ No newline at end of file diff --git a/data/base/effects/fxgammom.pie b/data/base/effects/fxgammom.pie index 13dcb354f..a5df2f410 100644 --- a/data/base/effects/fxgammom.pie +++ b/data/base/effects/fxgammom.pie @@ -12,8 +12,12 @@ POINTS 8 -4 0 -52 4 0 -52 4 0 52 -POLYGONS 4 - 200 4 0 1 2 3 88 128 0 128 0 135 88 135 - 200 4 3 2 1 0 88 135 0 135 0 128 88 128 - 200 4 4 5 6 7 88 128 0 128 0 135 88 135 - 200 4 7 6 5 4 88 135 0 135 0 128 88 128 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 88 128 0 128 0 135 + 200 3 0 2 3 88 128 0 135 88 135 + 200 3 3 2 1 88 135 0 135 0 128 + 200 3 3 1 0 88 135 0 128 88 128 + 200 3 4 5 6 88 128 0 128 0 135 + 200 3 4 6 7 88 128 0 135 88 135 + 200 3 7 6 5 88 135 0 135 0 128 + 200 3 7 5 4 88 135 0 128 88 128 \ No newline at end of file diff --git a/data/base/effects/fxgrdexl.pie b/data/base/effects/fxgrdexl.pie index 124d4002b..4f4add62f 100644 --- a/data/base/effects/fxgrdexl.pie +++ b/data/base/effects/fxgrdexl.pie @@ -8,6 +8,8 @@ POINTS 4 -65 5 0 64 5 0 64 247 0 -POLYGONS 2 - 4200 4 0 1 2 3 15 1 32 63 31 2 31 61 1 61 1 2 - 4200 4 3 2 1 0 15 1 32 63 1 2 1 61 31 61 31 2 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 15 1 32 63 31 2 31 61 1 61 + 4200 3 0 2 3 15 1 32 63 31 2 1 61 1 2 + 4200 3 3 2 1 15 1 32 63 1 2 1 61 31 61 + 4200 3 3 1 0 15 1 32 63 1 2 31 61 31 2 \ No newline at end of file diff --git a/data/base/effects/fxgrdexp.pie b/data/base/effects/fxgrdexp.pie index e8ec06656..99ec8be2a 100644 --- a/data/base/effects/fxgrdexp.pie +++ b/data/base/effects/fxgrdexp.pie @@ -8,6 +8,8 @@ POINTS 4 -23 1 0 22 1 0 22 87 0 -POLYGONS 2 - 4200 4 0 1 2 3 15 1 32 63 31 2 31 61 1 61 1 2 - 4200 4 3 2 1 0 15 1 32 63 1 2 1 61 31 61 31 2 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 15 1 32 63 31 2 31 61 1 61 + 4200 3 0 2 3 15 1 32 63 31 2 1 61 1 2 + 4200 3 3 2 1 15 1 32 63 1 2 1 61 31 61 + 4200 3 3 1 0 15 1 32 63 1 2 31 61 31 2 \ No newline at end of file diff --git a/data/base/effects/fxhblas.pie b/data/base/effects/fxhblas.pie index 08dbc9493..762163f7c 100644 --- a/data/base/effects/fxhblas.pie +++ b/data/base/effects/fxhblas.pie @@ -10,8 +10,12 @@ POINTS 6 13 0 -51 -13 0 0 -13 0 -51 -POLYGONS 4 - 4200 4 0 1 2 3 4 1 36 18 0 230 0 248 36 248 36 230 - 4200 4 3 2 1 0 4 1 36 18 36 230 36 248 0 248 0 230 - 4200 4 1 4 5 2 4 1 36 18 0 248 0 230 36 230 36 248 - 4200 4 2 5 4 1 4 1 36 18 36 248 36 230 0 230 0 248 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 4 1 36 18 0 230 0 248 36 248 + 4200 3 0 2 3 4 1 36 18 0 230 36 248 36 230 + 4200 3 3 2 1 4 1 36 18 36 230 36 248 0 248 + 4200 3 3 1 0 4 1 36 18 36 230 0 248 0 230 + 4200 3 1 4 5 4 1 36 18 0 248 0 230 36 230 + 4200 3 1 5 2 4 1 36 18 0 248 36 230 36 248 + 4200 3 2 5 4 4 1 36 18 36 248 36 230 0 230 + 4200 3 2 4 1 4 1 36 18 36 248 0 230 0 248 \ No newline at end of file diff --git a/data/base/effects/fxhgauss.pie b/data/base/effects/fxhgauss.pie index a7bbbd430..0ee1759d7 100644 --- a/data/base/effects/fxhgauss.pie +++ b/data/base/effects/fxhgauss.pie @@ -12,8 +12,12 @@ POINTS 8 -20 13 -9 -20 13 -80 20 13 -80 -POLYGONS 4 - 4200 4 0 1 2 3 16 1 32 41 0 41 32 41 32 0 0 0 - 4200 4 3 2 1 0 16 1 32 41 0 0 32 0 32 41 0 41 - 4200 4 4 5 6 7 16 1 32 41 0 41 32 41 32 0 0 0 - 4200 4 7 6 5 4 16 1 32 41 0 0 32 0 32 41 0 41 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 16 1 32 41 0 41 32 41 32 0 + 4200 3 0 2 3 16 1 32 41 0 41 32 0 0 0 + 4200 3 3 2 1 16 1 32 41 0 0 32 0 32 41 + 4200 3 3 1 0 16 1 32 41 0 0 32 41 0 41 + 4200 3 4 5 6 16 1 32 41 0 41 32 41 32 0 + 4200 3 4 6 7 16 1 32 41 0 41 32 0 0 0 + 4200 3 7 6 5 16 1 32 41 0 0 32 0 32 41 + 4200 3 7 5 4 16 1 32 41 0 0 32 41 0 41 \ No newline at end of file diff --git a/data/base/effects/fxhhowt.pie b/data/base/effects/fxhhowt.pie index 3db3848c0..9b447e31f 100644 --- a/data/base/effects/fxhhowt.pie +++ b/data/base/effects/fxhhowt.pie @@ -12,8 +12,12 @@ POINTS 8 27 20 -50 -26 20 -50 -26 0 0 -POLYGONS 4 - 4200 4 0 1 2 3 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 3 2 1 0 7 1 31 32 0 256 0 224 31 224 31 256 - 4200 4 4 5 6 7 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 7 6 5 4 7 1 31 32 0 256 0 224 31 224 31 256 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 7 1 31 32 31 256 31 224 0 224 + 4200 3 0 2 3 7 1 31 32 31 256 0 224 0 256 + 4200 3 3 2 1 7 1 31 32 0 256 0 224 31 224 + 4200 3 3 1 0 7 1 31 32 0 256 31 224 31 256 + 4200 3 4 5 6 7 1 31 32 31 256 31 224 0 224 + 4200 3 4 6 7 7 1 31 32 31 256 0 224 0 256 + 4200 3 7 6 5 7 1 31 32 0 256 0 224 31 224 + 4200 3 7 5 4 7 1 31 32 0 256 31 224 31 256 \ No newline at end of file diff --git a/data/base/effects/fxhhowt2.pie b/data/base/effects/fxhhowt2.pie index 0407b121a..2f7872adf 100644 --- a/data/base/effects/fxhhowt2.pie +++ b/data/base/effects/fxhhowt2.pie @@ -12,8 +12,12 @@ POINTS 8 40 30 -76 -40 30 -76 -40 0 -1 -POLYGONS 4 - 4200 4 0 1 2 3 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 3 2 1 0 7 1 31 32 0 256 0 224 31 224 31 256 - 4200 4 4 5 6 7 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 7 6 5 4 7 1 31 32 0 256 0 224 31 224 31 256 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 7 1 31 32 31 256 31 224 0 224 + 4200 3 0 2 3 7 1 31 32 31 256 0 224 0 256 + 4200 3 3 2 1 7 1 31 32 0 256 0 224 31 224 + 4200 3 3 1 0 7 1 31 32 0 256 31 224 31 256 + 4200 3 4 5 6 7 1 31 32 31 256 31 224 0 224 + 4200 3 4 6 7 7 1 31 32 31 256 0 224 0 256 + 4200 3 7 6 5 7 1 31 32 0 256 0 224 31 224 + 4200 3 7 5 4 7 1 31 32 0 256 31 224 31 256 \ No newline at end of file diff --git a/data/base/effects/fxhplme.pie b/data/base/effects/fxhplme.pie index 0f30d0582..aed6ba8a7 100644 --- a/data/base/effects/fxhplme.pie +++ b/data/base/effects/fxhplme.pie @@ -12,8 +12,12 @@ POINTS 8 12 0 39 12 0 -39 -12 0 -39 -POLYGONS 4 - 200 4 0 1 2 3 228 195 228 181 203 181 203 195 - 200 4 3 2 1 0 203 195 203 181 228 181 228 195 - 200 4 4 5 6 7 228 195 228 181 203 181 203 195 - 200 4 7 6 5 4 203 195 203 181 228 181 228 195 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 228 195 228 181 203 181 + 200 3 0 2 3 228 195 203 181 203 195 + 200 3 3 2 1 203 195 203 181 228 181 + 200 3 3 1 0 203 195 228 181 228 195 + 200 3 4 5 6 228 195 228 181 203 181 + 200 3 4 6 7 228 195 203 181 203 195 + 200 3 7 6 5 203 195 203 181 228 181 + 200 3 7 5 4 203 195 228 181 228 195 \ No newline at end of file diff --git a/data/base/effects/fxicbm.pie b/data/base/effects/fxicbm.pie index 854981046..d4e7f081d 100644 --- a/data/base/effects/fxicbm.pie +++ b/data/base/effects/fxicbm.pie @@ -20,12 +20,20 @@ POINTS 16 0 -36 11 0 35 11 0 35 -11 -POLYGONS 8 - 4200 4 0 1 2 3 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 3 2 1 0 7 1 31 32 0 256 0 224 31 224 31 256 - 4200 4 4 5 6 7 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 7 6 5 4 7 1 31 32 0 256 0 224 31 224 31 256 - 200 4 8 9 10 11 246 117 252 117 252 82 246 82 - 200 4 11 10 9 8 246 82 252 82 252 117 246 117 - 200 4 12 13 14 15 246 117 252 117 252 82 246 82 - 200 4 15 14 13 12 246 82 252 82 252 117 246 117 \ No newline at end of file +POLYGONS 16 + 4200 3 0 1 2 7 1 31 32 31 256 31 224 0 224 + 4200 3 0 2 3 7 1 31 32 31 256 0 224 0 256 + 4200 3 3 2 1 7 1 31 32 0 256 0 224 31 224 + 4200 3 3 1 0 7 1 31 32 0 256 31 224 31 256 + 4200 3 4 5 6 7 1 31 32 31 256 31 224 0 224 + 4200 3 4 6 7 7 1 31 32 31 256 0 224 0 256 + 4200 3 7 6 5 7 1 31 32 0 256 0 224 31 224 + 4200 3 7 5 4 7 1 31 32 0 256 31 224 31 256 + 200 3 8 9 10 246 117 252 117 252 82 + 200 3 8 10 11 246 117 252 82 246 82 + 200 3 11 10 9 246 82 252 82 252 117 + 200 3 11 9 8 246 82 252 117 246 117 + 200 3 12 13 14 246 117 252 117 252 82 + 200 3 12 14 15 246 117 252 82 246 82 + 200 3 15 14 13 246 82 252 82 252 117 + 200 3 15 13 12 246 82 252 117 246 117 \ No newline at end of file diff --git a/data/base/effects/fxl3dshk.pie b/data/base/effects/fxl3dshk.pie index d52cac879..e83d79c0e 100644 --- a/data/base/effects/fxl3dshk.pie +++ b/data/base/effects/fxl3dshk.pie @@ -8,6 +8,8 @@ POINTS 4 131 0 131 -131 0 131 -131 0 -131 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 44 44 44 44 44 0 0 0 0 44 - 4200 4 3 2 1 0 10 1 44 44 0 44 0 0 44 0 44 44 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 44 44 44 44 44 0 0 0 + 4200 3 0 2 3 10 1 44 44 44 44 0 0 0 44 + 4200 3 3 2 1 10 1 44 44 0 44 0 0 44 0 + 4200 3 3 1 0 10 1 44 44 0 44 44 0 44 44 \ No newline at end of file diff --git a/data/base/effects/fxlasrot.pie b/data/base/effects/fxlasrot.pie index 08e0961d2..782cb3be2 100644 --- a/data/base/effects/fxlasrot.pie +++ b/data/base/effects/fxlasrot.pie @@ -24,14 +24,24 @@ POINTS 20 0 5 -7 0 13 -7 0 13 -52 -POLYGONS 10 - 200 4 0 1 2 3 162 158 162 112 114 112 114 158 - 200 4 3 2 1 0 114 158 114 112 162 112 162 158 - 200 4 4 5 6 7 162 158 162 112 114 112 114 158 - 200 4 7 6 5 4 114 158 114 112 162 112 162 158 - 4200 4 8 9 10 11 4 1 36 18 36 248 0 248 0 230 36 230 - 4200 4 11 10 9 8 4 1 36 18 36 230 0 230 0 248 36 248 - 4200 4 12 13 14 15 4 1 36 18 0 248 36 248 36 230 0 230 - 4200 4 15 14 13 12 4 1 36 18 0 230 36 230 36 248 0 248 - 4200 4 16 17 18 19 4 1 36 18 0 248 36 248 36 230 0 230 - 4200 4 19 18 17 16 4 1 36 18 0 230 36 230 36 248 0 248 \ No newline at end of file +POLYGONS 20 + 200 3 0 1 2 162 158 162 112 114 112 + 200 3 0 2 3 162 158 114 112 114 158 + 200 3 3 2 1 114 158 114 112 162 112 + 200 3 3 1 0 114 158 162 112 162 158 + 200 3 4 5 6 162 158 162 112 114 112 + 200 3 4 6 7 162 158 114 112 114 158 + 200 3 7 6 5 114 158 114 112 162 112 + 200 3 7 5 4 114 158 162 112 162 158 + 4200 3 8 9 10 4 1 36 18 36 248 0 248 0 230 + 4200 3 8 10 11 4 1 36 18 36 248 0 230 36 230 + 4200 3 11 10 9 4 1 36 18 36 230 0 230 0 248 + 4200 3 11 9 8 4 1 36 18 36 230 0 248 36 248 + 4200 3 12 13 14 4 1 36 18 0 248 36 248 36 230 + 4200 3 12 14 15 4 1 36 18 0 248 36 230 0 230 + 4200 3 15 14 13 4 1 36 18 0 230 36 230 36 248 + 4200 3 15 13 12 4 1 36 18 0 230 36 248 0 248 + 4200 3 16 17 18 4 1 36 18 0 248 36 248 36 230 + 4200 3 16 18 19 4 1 36 18 0 248 36 230 0 230 + 4200 3 19 18 17 4 1 36 18 0 230 36 230 36 248 + 4200 3 19 17 16 4 1 36 18 0 230 36 248 0 248 \ No newline at end of file diff --git a/data/base/effects/fxlbmbi1.pie b/data/base/effects/fxlbmbi1.pie index 4ba71f8e8..fa9575910 100644 --- a/data/base/effects/fxlbmbi1.pie +++ b/data/base/effects/fxlbmbi1.pie @@ -16,10 +16,16 @@ POINTS 12 0 -3 6 0 3 6 0 3 -5 -POLYGONS 6 - 200 4 0 1 2 3 128 9 143 9 143 0 128 0 - 200 4 3 2 1 0 128 0 143 0 143 9 128 9 - 200 4 4 5 6 7 104 234 111 234 111 241 104 241 - 200 4 7 6 5 4 104 241 111 241 111 234 104 234 - 200 4 8 9 10 11 128 9 143 9 143 0 128 0 - 200 4 11 10 9 8 128 0 143 0 143 9 128 9 +POLYGONS 12 + 200 3 0 1 2 128 9 143 9 143 0 + 200 3 0 2 3 128 9 143 0 128 0 + 200 3 3 2 1 128 0 143 0 143 9 + 200 3 3 1 0 128 0 143 9 128 9 + 200 3 4 5 6 104 234 111 234 111 241 + 200 3 4 6 7 104 234 111 241 104 241 + 200 3 7 6 5 104 241 111 241 111 234 + 200 3 7 5 4 104 241 111 234 104 234 + 200 3 8 9 10 128 9 143 9 143 0 + 200 3 8 10 11 128 9 143 0 128 0 + 200 3 11 10 9 128 0 143 0 143 9 + 200 3 11 9 8 128 0 143 9 128 9 \ No newline at end of file diff --git a/data/base/effects/fxlbmbx1.pie b/data/base/effects/fxlbmbx1.pie index 23699ec6b..7597e5510 100644 --- a/data/base/effects/fxlbmbx1.pie +++ b/data/base/effects/fxlbmbx1.pie @@ -16,10 +16,16 @@ POINTS 12 0 -3 9 0 3 9 0 3 -8 -POLYGONS 6 - 200 4 0 1 2 3 248 233 248 256 256 256 256 233 - 200 4 3 2 1 0 256 233 256 256 248 256 248 233 - 200 4 4 5 6 7 248 224 256 224 256 233 248 233 - 200 4 7 6 5 4 248 233 256 233 256 224 248 224 - 200 4 8 9 10 11 248 233 248 256 256 256 256 233 - 200 4 11 10 9 8 256 233 256 256 248 256 248 233 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 248 233 248 256 256 256 + 200 3 0 2 3 248 233 256 256 256 233 + 200 3 3 2 1 256 233 256 256 248 256 + 200 3 3 1 0 256 233 248 256 248 233 + 200 3 4 5 6 248 224 256 224 256 233 + 200 3 4 6 7 248 224 256 233 248 233 + 200 3 7 6 5 248 233 256 233 256 224 + 200 3 7 5 4 248 233 256 224 248 224 + 200 3 8 9 10 248 233 248 256 256 256 + 200 3 8 10 11 248 233 256 256 256 233 + 200 3 11 10 9 256 233 256 256 248 256 + 200 3 11 9 8 256 233 248 256 248 233 \ No newline at end of file diff --git a/data/base/effects/fxlenfl.pie b/data/base/effects/fxlenfl.pie index 3825d5cb9..666084995 100644 --- a/data/base/effects/fxlenfl.pie +++ b/data/base/effects/fxlenfl.pie @@ -8,6 +8,8 @@ POINTS 4 30 32 0 -31 32 0 -31 -29 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 28 28 27 248 27 222 1 222 1 248 - 4200 4 3 2 1 0 8 1 28 28 1 248 1 222 27 222 27 248 +POLYGONS 4 + 4200 3 0 1 2 8 1 28 28 27 248 27 222 1 222 + 4200 3 0 2 3 8 1 28 28 27 248 1 222 1 248 + 4200 3 3 2 1 8 1 28 28 1 248 1 222 27 222 + 4200 3 3 1 0 8 1 28 28 1 248 27 222 27 248 \ No newline at end of file diff --git a/data/base/effects/fxlexp.pie b/data/base/effects/fxlexp.pie index e72c8c09e..878002822 100644 --- a/data/base/effects/fxlexp.pie +++ b/data/base/effects/fxlexp.pie @@ -8,6 +8,8 @@ POINTS 4 -82 1 0 82 1 0 82 144 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 64 50 63 1 63 49 1 49 1 1 - 4200 4 3 2 1 0 16 1 64 50 1 1 1 49 63 49 63 1 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 64 50 63 1 63 49 1 49 + 4200 3 0 2 3 16 1 64 50 63 1 1 49 1 1 + 4200 3 3 2 1 16 1 64 50 1 1 1 49 63 49 + 4200 3 3 1 0 16 1 64 50 1 1 63 49 63 1 \ No newline at end of file diff --git a/data/base/effects/fxlflmr.pie b/data/base/effects/fxlflmr.pie index 1fa39d113..7df0a7dfe 100644 --- a/data/base/effects/fxlflmr.pie +++ b/data/base/effects/fxlflmr.pie @@ -12,8 +12,12 @@ POINTS 8 -7 0 0 -7 0 -27 7 0 -27 -POLYGONS 4 - 4200 4 0 1 2 3 11 1 13 32 13 160 0 160 0 128 13 128 - 4200 4 3 2 1 0 11 1 13 32 13 128 0 128 0 160 13 160 - 4200 4 4 5 6 7 11 1 13 32 0 160 13 160 13 128 0 128 - 4200 4 7 6 5 4 11 1 13 32 0 128 13 128 13 160 0 160 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 11 1 13 32 13 160 0 160 0 128 + 4200 3 0 2 3 11 1 13 32 13 160 0 128 13 128 + 4200 3 3 2 1 11 1 13 32 13 128 0 128 0 160 + 4200 3 3 1 0 11 1 13 32 13 128 0 160 13 160 + 4200 3 4 5 6 11 1 13 32 0 160 13 160 13 128 + 4200 3 4 6 7 11 1 13 32 0 160 13 128 0 128 + 4200 3 7 6 5 11 1 13 32 0 128 13 128 13 160 + 4200 3 7 5 4 11 1 13 32 0 128 13 160 0 160 \ No newline at end of file diff --git a/data/base/effects/fxlflsh.pie b/data/base/effects/fxlflsh.pie index 24f0c89fd..52d87a96a 100644 --- a/data/base/effects/fxlflsh.pie +++ b/data/base/effects/fxlflsh.pie @@ -12,8 +12,12 @@ POINTS 8 -3 0 -21 3 0 -21 3 0 21 -POLYGONS 4 - 200 4 0 1 2 3 19 153 0 153 0 160 19 160 - 200 4 3 2 1 0 19 160 0 160 0 153 19 153 - 200 4 4 5 6 7 19 153 0 153 0 160 19 160 - 200 4 7 6 5 4 19 160 0 160 0 153 19 153 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 19 153 0 153 0 160 + 200 3 0 2 3 19 153 0 160 19 160 + 200 3 3 2 1 19 160 0 160 0 153 + 200 3 3 1 0 19 160 0 153 19 153 + 200 3 4 5 6 19 153 0 153 0 160 + 200 3 4 6 7 19 153 0 160 19 160 + 200 3 7 6 5 19 160 0 160 0 153 + 200 3 7 5 4 19 160 0 153 19 153 \ No newline at end of file diff --git a/data/base/effects/fxlgauss.pie b/data/base/effects/fxlgauss.pie index 06880058b..98ef80c25 100644 --- a/data/base/effects/fxlgauss.pie +++ b/data/base/effects/fxlgauss.pie @@ -12,8 +12,12 @@ POINTS 8 -14 7 14 -14 7 -38 14 7 -38 -POLYGONS 4 - 4200 4 0 1 2 3 16 1 20 41 32 123 52 123 52 82 32 82 - 4200 4 3 2 1 0 16 1 20 41 32 82 52 82 52 123 32 123 - 4200 4 4 5 6 7 16 1 20 41 32 123 52 123 52 82 32 82 - 4200 4 7 6 5 4 16 1 20 41 32 82 52 82 52 123 32 123 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 16 1 20 41 32 123 52 123 52 82 + 4200 3 0 2 3 16 1 20 41 32 123 52 82 32 82 + 4200 3 3 2 1 16 1 20 41 32 82 52 82 52 123 + 4200 3 3 1 0 16 1 20 41 32 82 52 123 32 123 + 4200 3 4 5 6 16 1 20 41 32 123 52 123 52 82 + 4200 3 4 6 7 16 1 20 41 32 123 52 82 32 82 + 4200 3 7 6 5 16 1 20 41 32 82 52 82 52 123 + 4200 3 7 5 4 16 1 20 41 32 82 52 123 32 123 \ No newline at end of file diff --git a/data/base/effects/fxlightr.pie b/data/base/effects/fxlightr.pie index 937145882..ef8d93d14 100644 --- a/data/base/effects/fxlightr.pie +++ b/data/base/effects/fxlightr.pie @@ -8,6 +8,8 @@ POINTS 4 8 -8 0 8 8 0 -8 8 0 -POLYGONS 2 - 4200 4 0 1 2 3 3 1 20 19 183 237 203 237 203 218 183 218 - 4200 4 3 2 1 0 3 1 20 19 183 218 203 218 203 237 183 237 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 3 1 20 19 183 237 203 237 203 218 + 4200 3 0 2 3 3 1 20 19 183 237 203 218 183 218 + 4200 3 3 2 1 3 1 20 19 183 218 203 218 203 237 + 4200 3 3 1 0 3 1 20 19 183 218 203 237 183 237 \ No newline at end of file diff --git a/data/base/effects/fxlmgun.pie b/data/base/effects/fxlmgun.pie index 28a01f222..694e665bc 100644 --- a/data/base/effects/fxlmgun.pie +++ b/data/base/effects/fxlmgun.pie @@ -12,8 +12,12 @@ POINTS 8 -2 0 0 -2 0 -8 2 0 -8 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxlmgun2.pie b/data/base/effects/fxlmgun2.pie index 27d88647a..103826926 100644 --- a/data/base/effects/fxlmgun2.pie +++ b/data/base/effects/fxlmgun2.pie @@ -20,12 +20,20 @@ POINTS 16 4 2 0 4 2 -8 4 -2 -8 -POLYGONS 8 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 - 200 4 8 9 10 11 240 49 251 49 251 28 240 28 - 200 4 11 10 9 8 240 28 251 28 251 49 240 49 - 200 4 12 13 14 15 240 49 251 49 251 28 240 28 - 200 4 15 14 13 12 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 + 200 3 8 9 10 240 49 251 49 251 28 + 200 3 8 10 11 240 49 251 28 240 28 + 200 3 11 10 9 240 28 251 28 251 49 + 200 3 11 9 8 240 28 251 49 240 49 + 200 3 12 13 14 240 49 251 49 251 28 + 200 3 12 14 15 240 49 251 28 240 28 + 200 3 15 14 13 240 28 251 28 251 49 + 200 3 15 13 12 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxlmiss.pie b/data/base/effects/fxlmiss.pie index 2cbfbccb1..c93aabfaa 100644 --- a/data/base/effects/fxlmiss.pie +++ b/data/base/effects/fxlmiss.pie @@ -20,12 +20,20 @@ POINTS 16 -9 0 0 -9 0 -13 -18 0 -13 -POLYGONS 8 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 - 200 4 8 9 10 11 240 49 251 49 251 28 240 28 - 200 4 11 10 9 8 240 28 251 28 251 49 240 49 - 200 4 12 13 14 15 240 49 251 49 251 28 240 28 - 200 4 15 14 13 12 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 + 200 3 8 9 10 240 49 251 49 251 28 + 200 3 8 10 11 240 49 251 28 240 28 + 200 3 11 10 9 240 28 251 28 251 49 + 200 3 11 9 8 240 28 251 49 240 49 + 200 3 12 13 14 240 49 251 49 251 28 + 200 3 12 14 15 240 49 251 28 240 28 + 200 3 15 14 13 240 28 251 28 251 49 + 200 3 15 13 12 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxlproj.pie b/data/base/effects/fxlproj.pie index 649aff137..b7e9dc16d 100644 --- a/data/base/effects/fxlproj.pie +++ b/data/base/effects/fxlproj.pie @@ -20,12 +20,20 @@ POINTS 16 7 8 -46 7 8 -72 7 -1 -72 -POLYGONS 8 - 4200 4 0 1 2 3 7 1 9 26 177 28 168 28 168 54 177 54 - 4200 4 3 2 1 0 7 1 9 26 177 54 168 54 168 28 177 28 - 4200 4 4 5 6 7 7 1 9 26 177 28 168 28 168 54 177 54 - 4200 4 7 6 5 4 7 1 9 26 177 54 168 54 168 28 177 28 - 4200 4 8 9 10 11 7 1 9 26 177 28 168 28 168 54 177 54 - 4200 4 11 10 9 8 7 1 9 26 177 54 168 54 168 28 177 28 - 4200 4 12 13 14 15 7 1 9 26 177 28 168 28 168 54 177 54 - 4200 4 15 14 13 12 7 1 9 26 177 54 168 54 168 28 177 28 \ No newline at end of file +POLYGONS 16 + 4200 3 0 1 2 7 1 9 26 177 28 168 28 168 54 + 4200 3 0 2 3 7 1 9 26 177 28 168 54 177 54 + 4200 3 3 2 1 7 1 9 26 177 54 168 54 168 28 + 4200 3 3 1 0 7 1 9 26 177 54 168 28 177 28 + 4200 3 4 5 6 7 1 9 26 177 28 168 28 168 54 + 4200 3 4 6 7 7 1 9 26 177 28 168 54 177 54 + 4200 3 7 6 5 7 1 9 26 177 54 168 54 168 28 + 4200 3 7 5 4 7 1 9 26 177 54 168 28 177 28 + 4200 3 8 9 10 7 1 9 26 177 28 168 28 168 54 + 4200 3 8 10 11 7 1 9 26 177 28 168 54 177 54 + 4200 3 11 10 9 7 1 9 26 177 54 168 54 168 28 + 4200 3 11 9 8 7 1 9 26 177 54 168 28 177 28 + 4200 3 12 13 14 7 1 9 26 177 28 168 28 168 54 + 4200 3 12 14 15 7 1 9 26 177 28 168 54 177 54 + 4200 3 15 14 13 7 1 9 26 177 54 168 54 168 28 + 4200 3 15 13 12 7 1 9 26 177 54 168 28 177 28 \ No newline at end of file diff --git a/data/base/effects/fxlrocpd.pie b/data/base/effects/fxlrocpd.pie index 7e7ecaeb8..456bb49b4 100644 --- a/data/base/effects/fxlrocpd.pie +++ b/data/base/effects/fxlrocpd.pie @@ -12,8 +12,12 @@ POINTS 8 -9 0 0 -9 0 -30 10 0 -30 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxlsplsh.pie b/data/base/effects/fxlsplsh.pie index 26f1a1f66..14166619e 100644 --- a/data/base/effects/fxlsplsh.pie +++ b/data/base/effects/fxlsplsh.pie @@ -16,10 +16,16 @@ POINTS 12 35 99 -35 -35 99 34 -35 0 34 -POLYGONS 6 - 4200 4 0 1 2 3 16 1 31 31 30 129 30 99 1 99 1 129 - 4200 4 3 2 1 0 16 1 31 31 1 129 1 99 30 99 30 129 - 4200 4 4 5 6 7 16 1 32 48 32 206 32 162 0 162 0 206 - 4200 4 7 6 5 4 16 1 32 48 0 206 0 162 32 162 32 206 - 4200 4 8 9 10 11 16 1 32 48 32 206 32 162 0 162 0 206 - 4200 4 11 10 9 8 16 1 32 48 0 206 0 162 32 162 32 206 \ No newline at end of file +POLYGONS 12 + 4200 3 0 1 2 16 1 31 31 30 129 30 99 1 99 + 4200 3 0 2 3 16 1 31 31 30 129 1 99 1 129 + 4200 3 3 2 1 16 1 31 31 1 129 1 99 30 99 + 4200 3 3 1 0 16 1 31 31 1 129 30 99 30 129 + 4200 3 4 5 6 16 1 32 48 32 206 32 162 0 162 + 4200 3 4 6 7 16 1 32 48 32 206 0 162 0 206 + 4200 3 7 6 5 16 1 32 48 0 206 0 162 32 162 + 4200 3 7 5 4 16 1 32 48 0 206 32 162 32 206 + 4200 3 8 9 10 16 1 32 48 32 206 32 162 0 162 + 4200 3 8 10 11 16 1 32 48 32 206 0 162 0 206 + 4200 3 11 10 9 16 1 32 48 0 206 0 162 32 162 + 4200 3 11 9 8 16 1 32 48 0 206 32 162 32 206 \ No newline at end of file diff --git a/data/base/effects/fxlswave.pie b/data/base/effects/fxlswave.pie index 945789d85..ea2a8a817 100644 --- a/data/base/effects/fxlswave.pie +++ b/data/base/effects/fxlswave.pie @@ -8,6 +8,8 @@ POINTS 4 82 14 82 -82 14 82 -82 14 -82 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 44 44 44 44 44 0 0 0 0 44 - 4200 4 3 2 1 0 10 1 44 44 0 44 0 0 44 0 44 44 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 44 44 44 44 44 0 0 0 + 4200 3 0 2 3 10 1 44 44 44 44 0 0 0 44 + 4200 3 3 2 1 10 1 44 44 0 44 0 0 44 0 + 4200 3 3 1 0 10 1 44 44 0 44 44 0 44 44 \ No newline at end of file diff --git a/data/base/effects/fxlthrow.pie b/data/base/effects/fxlthrow.pie index 8da0b60e7..d86cbe8cf 100644 --- a/data/base/effects/fxlthrow.pie +++ b/data/base/effects/fxlthrow.pie @@ -12,8 +12,12 @@ POINTS 8 5 3 -46 5 3 -72 -5 3 -72 -POLYGONS 4 - 4200 4 0 1 2 3 7 1 9 26 177 28 168 28 168 54 177 54 - 4200 4 3 2 1 0 7 1 9 26 177 54 168 54 168 28 177 28 - 4200 4 4 5 6 7 7 1 9 26 177 28 168 28 168 54 177 54 - 4200 4 7 6 5 4 7 1 9 26 177 54 168 54 168 28 177 28 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 7 1 9 26 177 28 168 28 168 54 + 4200 3 0 2 3 7 1 9 26 177 28 168 54 177 54 + 4200 3 3 2 1 7 1 9 26 177 54 168 54 168 28 + 4200 3 3 1 0 7 1 9 26 177 54 168 28 177 28 + 4200 3 4 5 6 7 1 9 26 177 28 168 28 168 54 + 4200 3 4 6 7 7 1 9 26 177 28 168 54 177 54 + 4200 3 7 6 5 7 1 9 26 177 54 168 54 168 28 + 4200 3 7 5 4 7 1 9 26 177 54 168 28 177 28 \ No newline at end of file diff --git a/data/base/effects/fxmbmbi2.pie b/data/base/effects/fxmbmbi2.pie index 7380dc8f9..07a6e2132 100644 --- a/data/base/effects/fxmbmbi2.pie +++ b/data/base/effects/fxmbmbi2.pie @@ -16,10 +16,16 @@ POINTS 12 0 -4 8 0 4 8 0 4 -7 -POLYGONS 6 - 200 4 0 1 2 3 128 9 143 9 143 0 128 0 - 200 4 3 2 1 0 128 0 143 0 143 9 128 9 - 200 4 4 5 6 7 104 234 111 234 111 241 104 241 - 200 4 7 6 5 4 104 241 111 241 111 234 104 234 - 200 4 8 9 10 11 128 9 143 9 143 0 128 0 - 200 4 11 10 9 8 128 0 143 0 143 9 128 9 +POLYGONS 12 + 200 3 0 1 2 128 9 143 9 143 0 + 200 3 0 2 3 128 9 143 0 128 0 + 200 3 3 2 1 128 0 143 0 143 9 + 200 3 3 1 0 128 0 143 9 128 9 + 200 3 4 5 6 104 234 111 234 111 241 + 200 3 4 6 7 104 234 111 241 104 241 + 200 3 7 6 5 104 241 111 241 111 234 + 200 3 7 5 4 104 241 111 234 104 234 + 200 3 8 9 10 128 9 143 9 143 0 + 200 3 8 10 11 128 9 143 0 128 0 + 200 3 11 10 9 128 0 143 0 143 9 + 200 3 11 9 8 128 0 143 9 128 9 \ No newline at end of file diff --git a/data/base/effects/fxmbmbx2.pie b/data/base/effects/fxmbmbx2.pie index 5f3596fde..91f19fd13 100644 --- a/data/base/effects/fxmbmbx2.pie +++ b/data/base/effects/fxmbmbx2.pie @@ -16,10 +16,16 @@ POINTS 12 0 -4 12 0 3 12 0 3 -11 -POLYGONS 6 - 200 4 0 1 2 3 248 233 248 256 256 256 256 233 - 200 4 3 2 1 0 256 233 256 256 248 256 248 233 - 200 4 4 5 6 7 248 224 256 224 256 233 248 233 - 200 4 7 6 5 4 248 233 256 233 256 224 248 224 - 200 4 8 9 10 11 248 233 248 256 256 256 256 233 - 200 4 11 10 9 8 256 233 256 256 248 256 248 233 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 248 233 248 256 256 256 + 200 3 0 2 3 248 233 256 256 256 233 + 200 3 3 2 1 256 233 256 256 248 256 + 200 3 3 1 0 256 233 248 256 248 233 + 200 3 4 5 6 248 224 256 224 256 233 + 200 3 4 6 7 248 224 256 233 248 233 + 200 3 7 6 5 248 233 256 233 256 224 + 200 3 7 5 4 248 233 256 224 248 224 + 200 3 8 9 10 248 233 248 256 256 256 + 200 3 8 10 11 248 233 256 256 256 233 + 200 3 11 10 9 256 233 256 256 248 256 + 200 3 11 9 8 256 233 248 256 248 233 \ No newline at end of file diff --git a/data/base/effects/fxmelt.pie b/data/base/effects/fxmelt.pie index 9c6e41900..639dec957 100644 --- a/data/base/effects/fxmelt.pie +++ b/data/base/effects/fxmelt.pie @@ -8,6 +8,8 @@ POINTS 4 49 50 0 -49 50 0 -49 -49 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 32 32 31 223 31 193 1 193 1 223 - 4200 4 3 2 1 0 8 1 32 32 1 223 1 193 31 193 31 223 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 32 32 31 223 31 193 1 193 + 4200 3 0 2 3 8 1 32 32 31 223 1 193 1 223 + 4200 3 3 2 1 8 1 32 32 1 223 1 193 31 193 + 4200 3 3 1 0 8 1 32 32 1 223 31 193 31 223 \ No newline at end of file diff --git a/data/base/effects/fxmethit.pie b/data/base/effects/fxmethit.pie index be33fcb5b..9713fc150 100644 --- a/data/base/effects/fxmethit.pie +++ b/data/base/effects/fxmethit.pie @@ -8,6 +8,8 @@ POINTS 4 -13 11 0 13 11 0 13 -11 0 -POLYGONS 2 - 4200 4 0 1 2 3 4 1 28 28 84 28 84 56 56 56 56 28 - 4200 4 3 2 1 0 4 1 28 28 56 28 56 56 84 56 84 28 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 4 1 28 28 84 28 84 56 56 56 + 4200 3 0 2 3 4 1 28 28 84 28 56 56 56 28 + 4200 3 3 2 1 4 1 28 28 56 28 56 56 84 56 + 4200 3 3 1 0 4 1 28 28 56 28 84 56 84 28 \ No newline at end of file diff --git a/data/base/effects/fxmexp.pie b/data/base/effects/fxmexp.pie index 3e8613451..cf2648de7 100644 --- a/data/base/effects/fxmexp.pie +++ b/data/base/effects/fxmexp.pie @@ -8,6 +8,8 @@ POINTS 4 -41 0 0 41 0 0 41 73 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 64 50 62 2 62 48 2 48 2 2 - 4200 4 3 2 1 0 16 1 64 50 2 2 2 48 62 48 62 2 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 64 50 62 2 62 48 2 48 + 4200 3 0 2 3 16 1 64 50 62 2 2 48 2 2 + 4200 3 3 2 1 16 1 64 50 2 2 2 48 62 48 + 4200 3 3 1 0 16 1 64 50 2 2 62 48 62 2 \ No newline at end of file diff --git a/data/base/effects/fxmflare.pie b/data/base/effects/fxmflare.pie index d53fd64d0..125aea273 100644 --- a/data/base/effects/fxmflare.pie +++ b/data/base/effects/fxmflare.pie @@ -16,10 +16,16 @@ POINTS 12 0 25 24 0 25 -24 0 -24 -24 -POLYGONS 6 - 200 4 0 1 2 3 186 255 186 227 157 227 157 255 - 200 4 3 2 1 0 157 255 157 227 186 227 186 255 - 200 4 4 5 6 7 186 255 186 227 157 227 157 255 - 200 4 7 6 5 4 157 255 157 227 186 227 186 255 - 200 4 8 9 10 11 186 255 186 227 157 227 157 255 - 200 4 11 10 9 8 157 255 157 227 186 227 186 255 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 186 255 186 227 157 227 + 200 3 0 2 3 186 255 157 227 157 255 + 200 3 3 2 1 157 255 157 227 186 227 + 200 3 3 1 0 157 255 186 227 186 255 + 200 3 4 5 6 186 255 186 227 157 227 + 200 3 4 6 7 186 255 157 227 157 255 + 200 3 7 6 5 157 255 157 227 186 227 + 200 3 7 5 4 157 255 186 227 186 255 + 200 3 8 9 10 186 255 186 227 157 227 + 200 3 8 10 11 186 255 157 227 157 255 + 200 3 11 10 9 157 255 157 227 186 227 + 200 3 11 9 8 157 255 186 227 186 255 \ No newline at end of file diff --git a/data/base/effects/fxmflmr.pie b/data/base/effects/fxmflmr.pie index 881acd818..cc3bac486 100644 --- a/data/base/effects/fxmflmr.pie +++ b/data/base/effects/fxmflmr.pie @@ -18,12 +18,20 @@ POINTS 14 -7 15 -50 -7 15 -80 -7 -4 -80 -POLYGONS 8 - 4200 4 0 1 2 3 11 1 13 32 13 160 0 160 0 128 13 128 - 4200 4 3 2 1 0 11 1 13 32 13 128 0 128 0 160 13 160 - 4200 4 4 5 6 7 11 1 13 32 0 160 13 160 13 128 0 128 - 4200 4 7 6 5 4 11 1 13 32 0 128 13 128 13 160 0 160 - 4200 4 5 8 9 6 11 1 13 32 0 160 13 160 13 128 0 128 - 4200 4 6 9 8 5 11 1 13 32 0 128 13 128 13 160 0 160 - 4200 4 10 11 12 13 11 1 13 32 13 160 0 160 0 128 13 128 - 4200 4 13 12 11 10 11 1 13 32 13 128 0 128 0 160 13 160 \ No newline at end of file +POLYGONS 16 + 4200 3 0 1 2 11 1 13 32 13 160 0 160 0 128 + 4200 3 0 2 3 11 1 13 32 13 160 0 128 13 128 + 4200 3 3 2 1 11 1 13 32 13 128 0 128 0 160 + 4200 3 3 1 0 11 1 13 32 13 128 0 160 13 160 + 4200 3 4 5 6 11 1 13 32 0 160 13 160 13 128 + 4200 3 4 6 7 11 1 13 32 0 160 13 128 0 128 + 4200 3 7 6 5 11 1 13 32 0 128 13 128 13 160 + 4200 3 7 5 4 11 1 13 32 0 128 13 160 0 160 + 4200 3 5 8 9 11 1 13 32 0 160 13 160 13 128 + 4200 3 5 9 6 11 1 13 32 0 160 13 128 0 128 + 4200 3 6 9 8 11 1 13 32 0 128 13 128 13 160 + 4200 3 6 8 5 11 1 13 32 0 128 13 160 0 160 + 4200 3 10 11 12 11 1 13 32 13 160 0 160 0 128 + 4200 3 10 12 13 11 1 13 32 13 160 0 128 13 128 + 4200 3 13 12 11 11 1 13 32 13 128 0 128 0 160 + 4200 3 13 11 10 11 1 13 32 13 128 0 160 13 160 \ No newline at end of file diff --git a/data/base/effects/fxmgauss.pie b/data/base/effects/fxmgauss.pie index d47dd0e21..2e4939666 100644 --- a/data/base/effects/fxmgauss.pie +++ b/data/base/effects/fxmgauss.pie @@ -12,8 +12,12 @@ POINTS 8 -17 7 23 -17 7 -72 21 7 -72 -POLYGONS 4 - 4200 4 0 1 2 3 16 1 20 41 32 123 52 123 52 82 32 82 - 4200 4 3 2 1 0 16 1 20 41 32 82 52 82 52 123 32 123 - 4200 4 4 5 6 7 16 1 20 41 32 123 52 123 52 82 32 82 - 4200 4 7 6 5 4 16 1 20 41 32 82 52 82 52 123 32 123 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 16 1 20 41 32 123 52 123 52 82 + 4200 3 0 2 3 16 1 20 41 32 123 52 82 32 82 + 4200 3 3 2 1 16 1 20 41 32 82 52 82 52 123 + 4200 3 3 1 0 16 1 20 41 32 82 52 123 32 123 + 4200 3 4 5 6 16 1 20 41 32 123 52 123 52 82 + 4200 3 4 6 7 16 1 20 41 32 123 52 82 32 82 + 4200 3 7 6 5 16 1 20 41 32 82 52 82 52 123 + 4200 3 7 5 4 16 1 20 41 32 82 52 123 32 123 \ No newline at end of file diff --git a/data/base/effects/fxmgnvic.pie b/data/base/effects/fxmgnvic.pie index fc5b58e4e..7b1426144 100644 --- a/data/base/effects/fxmgnvic.pie +++ b/data/base/effects/fxmgnvic.pie @@ -12,8 +12,12 @@ POINTS 8 -4 0 0 -4 0 -11 3 0 -11 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxmgnvul.pie b/data/base/effects/fxmgnvul.pie index 3a267771e..911a723f2 100644 --- a/data/base/effects/fxmgnvul.pie +++ b/data/base/effects/fxmgnvul.pie @@ -12,8 +12,12 @@ POINTS 8 -4 0 0 -4 0 -13 4 0 -13 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxmgunx2.pie b/data/base/effects/fxmgunx2.pie index 824d472bb..43183fb1e 100644 --- a/data/base/effects/fxmgunx2.pie +++ b/data/base/effects/fxmgunx2.pie @@ -20,10 +20,16 @@ POINTS 16 4 6 -28 4 6 -36 4 1 -36 -POLYGONS 6 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 - 200 4 11 10 9 8 240 28 251 28 251 49 240 49 - 200 4 12 13 14 15 240 49 251 49 251 28 240 28 - 200 4 15 14 13 12 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 + 200 3 11 10 9 240 28 251 28 251 49 + 200 3 11 9 8 240 28 251 49 240 49 + 200 3 12 13 14 240 49 251 49 251 28 + 200 3 12 14 15 240 49 251 28 240 28 + 200 3 15 14 13 240 28 251 28 251 49 + 200 3 15 13 12 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxmhowt.pie b/data/base/effects/fxmhowt.pie index a037d7c16..5d80ae050 100644 --- a/data/base/effects/fxmhowt.pie +++ b/data/base/effects/fxmhowt.pie @@ -12,8 +12,12 @@ POINTS 8 -9 0 0 -10 10 -28 10 10 -28 -POLYGONS 4 - 4200 4 0 1 2 3 7 1 31 32 0 256 31 256 31 224 0 224 - 4200 4 3 2 1 0 7 1 31 32 0 224 31 224 31 256 0 256 - 4200 4 4 5 6 7 7 1 31 32 0 256 31 256 31 224 0 224 - 4200 4 7 6 5 4 7 1 31 32 0 224 31 224 31 256 0 256 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 7 1 31 32 0 256 31 256 31 224 + 4200 3 0 2 3 7 1 31 32 0 256 31 224 0 224 + 4200 3 3 2 1 7 1 31 32 0 224 31 224 31 256 + 4200 3 3 1 0 7 1 31 32 0 224 31 256 0 256 + 4200 3 4 5 6 7 1 31 32 0 256 31 256 31 224 + 4200 3 4 6 7 7 1 31 32 0 256 31 224 0 224 + 4200 3 7 6 5 7 1 31 32 0 224 31 224 31 256 + 4200 3 7 5 4 7 1 31 32 0 224 31 256 0 256 \ No newline at end of file diff --git a/data/base/effects/fxmmort.pie b/data/base/effects/fxmmort.pie index f520ac024..3e51c33bb 100644 --- a/data/base/effects/fxmmort.pie +++ b/data/base/effects/fxmmort.pie @@ -12,8 +12,12 @@ POINTS 8 13 21 -17 -13 21 -17 -13 0 0 -POLYGONS 4 - 4200 4 0 1 2 3 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 3 2 1 0 7 1 31 32 0 256 0 224 31 224 31 256 - 4200 4 4 5 6 7 7 1 31 32 31 256 31 224 0 224 0 256 - 4200 4 7 6 5 4 7 1 31 32 0 256 0 224 31 224 31 256 \ No newline at end of file +POLYGONS 8 + 4200 3 0 1 2 7 1 31 32 31 256 31 224 0 224 + 4200 3 0 2 3 7 1 31 32 31 256 0 224 0 256 + 4200 3 3 2 1 7 1 31 32 0 256 0 224 31 224 + 4200 3 3 1 0 7 1 31 32 0 256 31 224 31 256 + 4200 3 4 5 6 7 1 31 32 31 256 31 224 0 224 + 4200 3 4 6 7 7 1 31 32 31 256 0 224 0 256 + 4200 3 7 6 5 7 1 31 32 0 256 0 224 31 224 + 4200 3 7 5 4 7 1 31 32 0 256 31 224 31 256 \ No newline at end of file diff --git a/data/base/effects/fxmnexp.pie b/data/base/effects/fxmnexp.pie index 450e2c437..3de7a2deb 100644 --- a/data/base/effects/fxmnexp.pie +++ b/data/base/effects/fxmnexp.pie @@ -8,6 +8,8 @@ POINTS 4 -62 109 0 62 109 0 62 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 41 36 39 117 39 83 1 83 1 117 - 4200 4 3 2 1 0 10 1 41 36 1 117 1 83 39 83 39 117 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 41 36 39 117 39 83 1 83 + 4200 3 0 2 3 10 1 41 36 39 117 1 83 1 117 + 4200 3 3 2 1 10 1 41 36 1 117 1 83 39 83 + 4200 3 3 1 0 10 1 41 36 1 117 39 83 39 117 \ No newline at end of file diff --git a/data/base/effects/fxmpexp.pie b/data/base/effects/fxmpexp.pie index 255c9bf52..d66aa643b 100644 --- a/data/base/effects/fxmpexp.pie +++ b/data/base/effects/fxmpexp.pie @@ -8,6 +8,8 @@ POINTS 4 25 0 0 25 51 0 -25 51 0 -POLYGONS 2 - 4200 4 0 1 2 3 13 1 18 18 0 208 18 208 18 190 0 190 - 4200 4 3 2 1 0 13 1 18 18 0 190 18 190 18 208 0 208 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 13 1 18 18 0 208 18 208 18 190 + 4200 3 0 2 3 13 1 18 18 0 208 18 190 0 190 + 4200 3 3 2 1 13 1 18 18 0 190 18 190 18 208 + 4200 3 3 1 0 13 1 18 18 0 190 18 208 0 208 \ No newline at end of file diff --git a/data/base/effects/fxmplme.pie b/data/base/effects/fxmplme.pie index 4e2ee61a2..13665a43f 100644 --- a/data/base/effects/fxmplme.pie +++ b/data/base/effects/fxmplme.pie @@ -12,8 +12,12 @@ POINTS 8 9 0 29 9 0 -29 -9 0 -29 -POLYGONS 4 - 200 4 0 1 2 3 228 195 228 181 203 181 203 195 - 200 4 3 2 1 0 203 195 203 181 228 181 228 195 - 200 4 4 5 6 7 228 195 228 181 203 181 203 195 - 200 4 7 6 5 4 203 195 203 181 228 181 228 195 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 228 195 228 181 203 181 + 200 3 0 2 3 228 195 203 181 203 195 + 200 3 3 2 1 203 195 203 181 228 181 + 200 3 3 1 0 203 195 228 181 228 195 + 200 3 4 5 6 228 195 228 181 203 181 + 200 3 4 6 7 228 195 203 181 203 195 + 200 3 7 6 5 203 195 203 181 228 181 + 200 3 7 5 4 203 195 228 181 228 195 \ No newline at end of file diff --git a/data/base/effects/fxmroc.pie b/data/base/effects/fxmroc.pie index cb21121a7..e104ba0d5 100644 --- a/data/base/effects/fxmroc.pie +++ b/data/base/effects/fxmroc.pie @@ -12,8 +12,12 @@ POINTS 8 10 0 0 10 0 -10 -10 0 -10 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxmrocat.pie b/data/base/effects/fxmrocat.pie index 1daed337d..8b4853b8d 100644 --- a/data/base/effects/fxmrocat.pie +++ b/data/base/effects/fxmrocat.pie @@ -20,12 +20,20 @@ POINTS 16 -18 12 0 -18 12 -36 -18 -11 -36 -POLYGONS 8 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 - 200 4 8 9 10 11 240 49 251 49 251 28 240 28 - 200 4 11 10 9 8 240 28 251 28 251 49 240 49 - 200 4 12 13 14 15 240 49 251 49 251 28 240 28 - 200 4 15 14 13 12 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 + 200 3 8 9 10 240 49 251 49 251 28 + 200 3 8 10 11 240 49 251 28 240 28 + 200 3 11 10 9 240 28 251 28 251 49 + 200 3 11 9 8 240 28 251 49 240 49 + 200 3 12 13 14 240 49 251 49 251 28 + 200 3 12 14 15 240 49 251 28 240 28 + 200 3 15 14 13 240 28 251 28 251 49 + 200 3 15 13 12 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/fxmsplsh.pie b/data/base/effects/fxmsplsh.pie index 801a2b52e..196d720d5 100644 --- a/data/base/effects/fxmsplsh.pie +++ b/data/base/effects/fxmsplsh.pie @@ -16,10 +16,16 @@ POINTS 12 20 60 -20 -20 60 20 -20 2 20 -POLYGONS 6 - 4200 4 0 1 2 3 16 1 31 31 30 129 30 99 1 99 1 129 - 4200 4 3 2 1 0 16 1 31 31 1 129 1 99 30 99 30 129 - 4200 4 4 5 6 7 16 1 32 48 32 206 32 162 0 162 0 206 - 4200 4 7 6 5 4 16 1 32 48 0 206 0 162 32 162 32 206 - 4200 4 8 9 10 11 16 1 32 48 32 206 32 162 0 162 0 206 - 4200 4 11 10 9 8 16 1 32 48 0 206 0 162 32 162 32 206 \ No newline at end of file +POLYGONS 12 + 4200 3 0 1 2 16 1 31 31 30 129 30 99 1 99 + 4200 3 0 2 3 16 1 31 31 30 129 1 99 1 129 + 4200 3 3 2 1 16 1 31 31 1 129 1 99 30 99 + 4200 3 3 1 0 16 1 31 31 1 129 30 99 30 129 + 4200 3 4 5 6 16 1 32 48 32 206 32 162 0 162 + 4200 3 4 6 7 16 1 32 48 32 206 0 162 0 206 + 4200 3 7 6 5 16 1 32 48 0 206 0 162 32 162 + 4200 3 7 5 4 16 1 32 48 0 206 32 162 32 206 + 4200 3 8 9 10 16 1 32 48 32 206 32 162 0 162 + 4200 3 8 10 11 16 1 32 48 32 206 0 162 0 206 + 4200 3 11 10 9 16 1 32 48 0 206 0 162 32 162 + 4200 3 11 9 8 16 1 32 48 0 206 32 162 32 206 \ No newline at end of file diff --git a/data/base/effects/fxmsteam.pie b/data/base/effects/fxmsteam.pie index 260d1d70c..1eaeba6c8 100644 --- a/data/base/effects/fxmsteam.pie +++ b/data/base/effects/fxmsteam.pie @@ -8,6 +8,8 @@ POINTS 4 -22 76 0 21 76 0 21 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 14 1 28 49 27 48 27 1 1 1 1 48 - 4200 4 3 2 1 0 14 1 28 49 1 48 1 1 27 1 27 48 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 14 1 28 49 27 48 27 1 1 1 + 4200 3 0 2 3 14 1 28 49 27 48 1 1 1 48 + 4200 3 3 2 1 14 1 28 49 1 48 1 1 27 1 + 4200 3 3 1 0 14 1 28 49 1 48 27 1 27 48 \ No newline at end of file diff --git a/data/base/effects/fxmswave.pie b/data/base/effects/fxmswave.pie index ca0e05f8b..8c66181be 100644 --- a/data/base/effects/fxmswave.pie +++ b/data/base/effects/fxmswave.pie @@ -8,6 +8,8 @@ POINTS 4 46 14 46 -46 14 46 -46 14 -46 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 44 44 44 44 44 0 0 0 0 44 - 4200 4 3 2 1 0 10 1 44 44 0 44 0 0 44 0 44 44 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 44 44 44 44 44 0 0 0 + 4200 3 0 2 3 10 1 44 44 44 44 0 0 0 44 + 4200 3 3 2 1 10 1 44 44 0 44 0 0 44 0 + 4200 3 3 1 0 10 1 44 44 0 44 44 0 44 44 \ No newline at end of file diff --git a/data/base/effects/fxplammo.pie b/data/base/effects/fxplammo.pie index be7235a68..cf67e20d6 100644 --- a/data/base/effects/fxplammo.pie +++ b/data/base/effects/fxplammo.pie @@ -12,8 +12,12 @@ POINTS 8 -3 0 -88 3 0 -88 3 0 88 -POLYGONS 4 - 200 4 0 1 2 3 61 153 41 153 41 160 61 160 - 200 4 3 2 1 0 61 160 41 160 41 153 61 153 - 200 4 4 5 6 7 61 153 41 153 41 160 61 160 - 200 4 7 6 5 4 61 160 41 160 41 153 61 153 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 61 153 41 153 41 160 + 200 3 0 2 3 61 153 41 160 61 160 + 200 3 3 2 1 61 160 41 160 41 153 + 200 3 3 1 0 61 160 41 153 61 153 + 200 3 4 5 6 61 153 41 153 41 160 + 200 3 4 6 7 61 153 41 160 61 160 + 200 3 7 6 5 61 160 41 160 41 153 + 200 3 7 5 4 61 160 41 153 61 153 \ No newline at end of file diff --git a/data/base/effects/fxplasma.pie b/data/base/effects/fxplasma.pie index ac52076da..3fa30e399 100644 --- a/data/base/effects/fxplasma.pie +++ b/data/base/effects/fxplasma.pie @@ -8,6 +8,8 @@ POINTS 4 65 -65 0 65 64 0 -65 65 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 32 32 1 224 31 224 31 194 1 194 - 4200 4 3 2 1 0 8 1 32 32 1 194 31 194 31 224 1 224 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 32 32 1 224 31 224 31 194 + 4200 3 0 2 3 8 1 32 32 1 224 31 194 1 194 + 4200 3 3 2 1 8 1 32 32 1 194 31 194 31 224 + 4200 3 3 1 0 8 1 32 32 1 194 31 224 1 224 \ No newline at end of file diff --git a/data/base/effects/fxpower.pie b/data/base/effects/fxpower.pie index 1d0ec0edc..32986214f 100644 --- a/data/base/effects/fxpower.pie +++ b/data/base/effects/fxpower.pie @@ -16,10 +16,16 @@ POINTS 12 -59 0 62 70 0 62 70 0 -67 -POLYGONS 6 - 4200 4 0 1 2 3 8 1 32 28 0 229 32 229 32 201 0 201 - 4200 4 3 2 1 0 8 1 32 28 0 201 32 201 32 229 0 229 - 4200 4 4 5 6 7 8 1 32 28 0 229 32 229 32 201 0 201 - 4200 4 7 6 5 4 8 1 32 28 0 201 32 201 32 229 0 229 - 4200 4 8 9 10 11 8 1 32 28 0 229 32 229 32 201 0 201 - 4200 4 11 10 9 8 8 1 32 28 0 201 32 201 32 229 0 229 \ No newline at end of file +POLYGONS 12 + 4200 3 0 1 2 8 1 32 28 0 229 32 229 32 201 + 4200 3 0 2 3 8 1 32 28 0 229 32 201 0 201 + 4200 3 3 2 1 8 1 32 28 0 201 32 201 32 229 + 4200 3 3 1 0 8 1 32 28 0 201 32 229 0 229 + 4200 3 4 5 6 8 1 32 28 0 229 32 229 32 201 + 4200 3 4 6 7 8 1 32 28 0 229 32 201 0 201 + 4200 3 7 6 5 8 1 32 28 0 201 32 201 32 229 + 4200 3 7 5 4 8 1 32 28 0 201 32 229 0 229 + 4200 3 8 9 10 8 1 32 28 0 229 32 229 32 201 + 4200 3 8 10 11 8 1 32 28 0 229 32 201 0 201 + 4200 3 11 10 9 8 1 32 28 0 201 32 201 32 229 + 4200 3 11 9 8 8 1 32 28 0 201 32 229 0 229 \ No newline at end of file diff --git a/data/base/effects/fxscudm.pie b/data/base/effects/fxscudm.pie index 84182c316..481a7b9a4 100644 --- a/data/base/effects/fxscudm.pie +++ b/data/base/effects/fxscudm.pie @@ -28,34 +28,56 @@ POINTS 24 -8 -7 -8 -8 -7 0 -3 -3 0 -POLYGONS 30 - 200 4 0 1 2 3 224 147 219 147 219 147 226 147 - 200 4 3 2 1 0 226 147 219 147 219 147 224 147 - 200 4 0 4 5 1 224 147 230 147 226 147 219 147 - 200 4 1 5 4 0 219 147 226 147 230 147 224 147 +POLYGONS 52 + 200 3 0 1 2 224 147 219 147 219 147 + 200 3 0 2 3 224 147 219 147 226 147 + 200 3 3 2 1 226 147 219 147 219 147 + 200 3 3 1 0 226 147 219 147 224 147 + 200 3 0 4 5 224 147 230 147 226 147 + 200 3 0 5 1 224 147 226 147 219 147 + 200 3 1 5 4 219 147 226 147 230 147 + 200 3 1 4 0 219 147 230 147 224 147 200 3 0 3 4 224 147 226 147 230 147 200 3 4 3 0 230 147 226 147 224 147 - 200 4 3 2 6 7 226 147 219 147 219 109 226 109 - 200 4 7 6 2 3 226 109 219 109 219 147 226 147 - 200 4 2 1 8 6 219 147 219 147 219 109 219 109 - 200 4 6 8 1 2 219 109 219 109 219 147 219 147 - 200 4 1 5 9 8 219 147 226 147 226 109 219 109 - 200 4 8 9 5 1 219 109 226 109 226 147 219 147 - 200 4 5 4 10 9 226 147 230 147 230 109 226 109 - 200 4 9 10 4 5 226 109 230 109 230 147 226 147 - 200 4 4 3 7 10 230 147 226 147 226 109 230 109 - 200 4 10 7 3 4 230 109 226 109 226 147 230 147 - 200 4 7 6 11 10 226 109 219 109 224 103 230 109 - 200 4 10 11 6 7 230 109 224 103 219 109 226 109 + 200 3 3 2 6 226 147 219 147 219 109 + 200 3 3 6 7 226 147 219 109 226 109 + 200 3 7 6 2 226 109 219 109 219 147 + 200 3 7 2 3 226 109 219 147 226 147 + 200 3 2 1 8 219 147 219 147 219 109 + 200 3 2 8 6 219 147 219 109 219 109 + 200 3 6 8 1 219 109 219 109 219 147 + 200 3 6 1 2 219 109 219 147 219 147 + 200 3 1 5 9 219 147 226 147 226 109 + 200 3 1 9 8 219 147 226 109 219 109 + 200 3 8 9 5 219 109 226 109 226 147 + 200 3 8 5 1 219 109 226 147 219 147 + 200 3 5 4 10 226 147 230 147 230 109 + 200 3 5 10 9 226 147 230 109 226 109 + 200 3 9 10 4 226 109 230 109 230 147 + 200 3 9 4 5 226 109 230 147 226 147 + 200 3 4 3 7 230 147 226 147 226 109 + 200 3 4 7 10 230 147 226 109 230 109 + 200 3 10 7 3 230 109 226 109 226 147 + 200 3 10 3 4 230 109 226 147 230 147 + 200 3 7 6 11 226 109 219 109 224 103 + 200 3 7 11 10 226 109 224 103 230 109 + 200 3 10 11 6 230 109 224 103 219 109 + 200 3 10 6 7 230 109 219 109 226 109 200 3 6 8 11 219 109 219 109 224 103 200 3 11 8 6 224 103 219 109 219 109 200 3 8 9 11 219 109 226 109 224 103 200 3 11 9 8 224 103 226 109 219 109 200 3 9 10 11 226 109 230 109 224 103 200 3 11 10 9 224 103 230 109 226 109 - 200 4 12 13 14 15 24 48 18 52 18 57 24 57 - 200 4 15 14 13 12 24 57 18 57 18 52 24 48 - 200 4 16 17 18 19 24 48 18 52 18 57 24 57 - 200 4 19 18 17 16 24 57 18 57 18 52 24 48 - 200 4 20 21 22 23 24 48 18 52 18 57 24 57 - 200 4 23 22 21 20 24 57 18 57 18 52 24 48 + 200 3 12 13 14 24 48 18 52 18 57 + 200 3 12 14 15 24 48 18 57 24 57 + 200 3 15 14 13 24 57 18 57 18 52 + 200 3 15 13 12 24 57 18 52 24 48 + 200 3 16 17 18 24 48 18 52 18 57 + 200 3 16 18 19 24 48 18 57 24 57 + 200 3 19 18 17 24 57 18 57 18 52 + 200 3 19 17 16 24 57 18 52 24 48 + 200 3 20 21 22 24 48 18 52 18 57 + 200 3 20 22 23 24 48 18 57 24 57 + 200 3 23 22 21 24 57 18 57 18 52 + 200 3 23 21 20 24 57 18 52 24 48 \ No newline at end of file diff --git a/data/base/effects/fxsexp.pie b/data/base/effects/fxsexp.pie index add865cf4..4f2dd817f 100644 --- a/data/base/effects/fxsexp.pie +++ b/data/base/effects/fxsexp.pie @@ -8,6 +8,8 @@ POINTS 4 23 41 0 -24 41 0 -24 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 64 50 63 49 63 1 1 1 1 49 - 4200 4 3 2 1 0 16 1 64 50 1 49 1 1 63 1 63 49 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 64 50 63 49 63 1 1 1 + 4200 3 0 2 3 16 1 64 50 63 49 1 1 1 49 + 4200 3 3 2 1 16 1 64 50 1 49 1 1 63 1 + 4200 3 3 1 0 16 1 64 50 1 49 63 1 63 49 \ No newline at end of file diff --git a/data/base/effects/fxsflms.pie b/data/base/effects/fxsflms.pie index c5382655a..83370acf5 100644 --- a/data/base/effects/fxsflms.pie +++ b/data/base/effects/fxsflms.pie @@ -8,6 +8,8 @@ POINTS 4 -13 0 0 12 0 0 12 34 0 -POLYGONS 2 - 4200 4 0 1 2 3 15 1 11 26 11 56 11 82 0 82 0 56 - 4200 4 3 2 1 0 15 1 11 26 0 56 0 82 11 82 11 56 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 15 1 11 26 11 56 11 82 0 82 + 4200 3 0 2 3 15 1 11 26 11 56 0 82 0 56 + 4200 3 3 2 1 15 1 11 26 0 56 0 82 11 82 + 4200 3 3 1 0 15 1 11 26 0 56 11 82 11 56 \ No newline at end of file diff --git a/data/base/effects/fxsmoke.pie b/data/base/effects/fxsmoke.pie index 1964b6a34..6f5d317e6 100644 --- a/data/base/effects/fxsmoke.pie +++ b/data/base/effects/fxsmoke.pie @@ -8,6 +8,8 @@ POINTS 4 65 -65 0 65 64 0 -65 65 0 -POLYGONS 2 - 4200 4 0 1 2 3 8 1 32 28 0 199 32 199 32 171 0 171 - 4200 4 3 2 1 0 8 1 32 28 0 171 32 171 32 199 0 199 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 8 1 32 28 0 199 32 199 32 171 + 4200 3 0 2 3 8 1 32 28 0 199 32 171 0 171 + 4200 3 3 2 1 8 1 32 28 0 171 32 171 32 199 + 4200 3 3 1 0 8 1 32 28 0 171 32 199 0 199 \ No newline at end of file diff --git a/data/base/effects/fxsnexp.pie b/data/base/effects/fxsnexp.pie index c2f8d8f39..153650363 100644 --- a/data/base/effects/fxsnexp.pie +++ b/data/base/effects/fxsnexp.pie @@ -8,6 +8,8 @@ POINTS 4 -24 41 0 23 41 0 23 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 41 36 38 116 38 84 1 84 1 116 - 4200 4 3 2 1 0 10 1 41 36 1 116 1 84 38 84 38 116 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 41 36 38 116 38 84 1 84 + 4200 3 0 2 3 10 1 41 36 38 116 1 84 1 116 + 4200 3 3 2 1 10 1 41 36 1 116 1 84 38 84 + 4200 3 3 1 0 10 1 41 36 1 116 38 84 38 116 \ No newline at end of file diff --git a/data/base/effects/fxsplme.pie b/data/base/effects/fxsplme.pie index 2d69179f7..86c87cfe1 100644 --- a/data/base/effects/fxsplme.pie +++ b/data/base/effects/fxsplme.pie @@ -12,8 +12,12 @@ POINTS 8 6 0 20 6 0 -20 -6 0 -20 -POLYGONS 4 - 200 4 0 1 2 3 254 195 254 181 230 181 230 195 - 200 4 3 2 1 0 230 195 230 181 254 181 254 195 - 200 4 4 5 6 7 254 195 254 181 230 181 230 195 - 200 4 7 6 5 4 230 195 230 181 254 181 254 195 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 254 195 254 181 230 181 + 200 3 0 2 3 254 195 230 181 230 195 + 200 3 3 2 1 230 195 230 181 254 181 + 200 3 3 1 0 230 195 254 181 254 195 + 200 3 4 5 6 254 195 254 181 230 181 + 200 3 4 6 7 254 195 230 181 230 195 + 200 3 7 6 5 230 195 230 181 254 181 + 200 3 7 5 4 230 195 254 181 254 195 \ No newline at end of file diff --git a/data/base/effects/fxsroc.pie b/data/base/effects/fxsroc.pie index 300b35819..7c80063df 100644 --- a/data/base/effects/fxsroc.pie +++ b/data/base/effects/fxsroc.pie @@ -8,6 +8,8 @@ POINTS 4 24 25 0 -24 25 0 -24 -24 0 -POLYGONS 2 - 4200 4 0 1 2 3 3 1 30 30 186 255 186 227 157 227 157 255 - 4200 4 3 2 1 0 3 1 30 30 157 255 157 227 186 227 186 255 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 3 1 30 30 186 255 186 227 157 227 + 4200 3 0 2 3 3 1 30 30 186 255 157 227 157 255 + 4200 3 3 2 1 3 1 30 30 157 255 157 227 186 227 + 4200 3 3 1 0 3 1 30 30 157 255 186 227 186 255 \ No newline at end of file diff --git a/data/base/effects/fxssmoke.pie b/data/base/effects/fxssmoke.pie index 6ee16a862..25ce9f07b 100644 --- a/data/base/effects/fxssmoke.pie +++ b/data/base/effects/fxssmoke.pie @@ -8,6 +8,8 @@ POINTS 4 32 -32 0 32 32 0 -32 32 0 -POLYGONS 2 - 4200 4 0 1 2 3 4 1 16 16 180 247 196 247 196 231 180 231 - 4200 4 3 2 1 0 4 1 16 16 180 231 196 231 196 247 180 247 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 4 1 16 16 180 247 196 247 196 231 + 4200 3 0 2 3 4 1 16 16 180 247 196 231 180 231 + 4200 3 3 2 1 4 1 16 16 180 231 196 231 196 247 + 4200 3 3 1 0 4 1 16 16 180 231 196 247 180 247 \ No newline at end of file diff --git a/data/base/effects/fxssplsh.pie b/data/base/effects/fxssplsh.pie index 8e96a3dd6..e231bfe9d 100644 --- a/data/base/effects/fxssplsh.pie +++ b/data/base/effects/fxssplsh.pie @@ -16,10 +16,16 @@ POINTS 12 8 23 -8 -8 23 8 -8 0 8 -POLYGONS 6 - 4200 4 0 1 2 3 16 1 31 31 31 129 31 98 0 98 0 129 - 4200 4 3 2 1 0 16 1 31 31 0 129 0 98 31 98 31 129 - 4200 4 4 5 6 7 16 1 32 48 32 208 32 160 0 160 0 208 - 4200 4 7 6 5 4 16 1 32 48 0 208 0 160 32 160 32 208 - 4200 4 8 9 10 11 16 1 32 48 32 208 32 160 0 160 0 208 - 4200 4 11 10 9 8 16 1 32 48 0 208 0 160 32 160 32 208 \ No newline at end of file +POLYGONS 12 + 4200 3 0 1 2 16 1 31 31 31 129 31 98 0 98 + 4200 3 0 2 3 16 1 31 31 31 129 0 98 0 129 + 4200 3 3 2 1 16 1 31 31 0 129 0 98 31 98 + 4200 3 3 1 0 16 1 31 31 0 129 31 98 31 129 + 4200 3 4 5 6 16 1 32 48 32 208 32 160 0 160 + 4200 3 4 6 7 16 1 32 48 32 208 0 160 0 208 + 4200 3 7 6 5 16 1 32 48 0 208 0 160 32 160 + 4200 3 7 5 4 16 1 32 48 0 208 32 160 32 208 + 4200 3 8 9 10 16 1 32 48 32 208 32 160 0 160 + 4200 3 8 10 11 16 1 32 48 32 208 0 160 0 208 + 4200 3 11 10 9 16 1 32 48 0 208 0 160 32 160 + 4200 3 11 9 8 16 1 32 48 0 208 32 160 32 208 \ No newline at end of file diff --git a/data/base/effects/fxssteam.pie b/data/base/effects/fxssteam.pie index 13cb00d2c..f6b90c1cc 100644 --- a/data/base/effects/fxssteam.pie +++ b/data/base/effects/fxssteam.pie @@ -8,6 +8,8 @@ POINTS 4 -12 41 0 11 41 0 11 0 0 -POLYGONS 2 - 4200 4 0 1 2 3 14 1 28 49 27 48 27 1 1 1 1 48 - 4200 4 3 2 1 0 14 1 28 49 1 48 1 1 27 1 27 48 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 14 1 28 49 27 48 27 1 1 1 + 4200 3 0 2 3 14 1 28 49 27 48 1 1 1 48 + 4200 3 3 2 1 14 1 28 49 1 48 1 1 27 1 + 4200 3 3 1 0 14 1 28 49 1 48 27 1 27 48 \ No newline at end of file diff --git a/data/base/effects/fxtracer.pie b/data/base/effects/fxtracer.pie index c366b4671..e607b0ec3 100644 --- a/data/base/effects/fxtracer.pie +++ b/data/base/effects/fxtracer.pie @@ -10,8 +10,12 @@ POINTS 6 0 5 -22 0 4 -22 0 4 -38 -POLYGONS 4 - 200 4 0 1 2 3 206 65 206 54 203 54 203 65 - 200 4 3 2 1 0 203 65 203 54 206 54 206 65 - 200 4 4 5 5 4 206 65 206 54 203 54 203 65 - 200 4 4 5 5 4 203 65 203 54 206 54 206 65 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 206 65 206 54 203 54 + 200 3 0 2 3 206 65 203 54 203 65 + 200 3 3 2 1 203 65 203 54 206 54 + 200 3 3 1 0 203 65 206 54 206 65 + 200 3 4 5 5 206 65 206 54 203 54 + 200 3 4 5 4 206 65 203 54 203 65 + 200 3 4 5 5 203 65 203 54 206 54 + 200 3 4 5 4 203 65 206 54 206 65 \ No newline at end of file diff --git a/data/base/effects/fxtracr2.pie b/data/base/effects/fxtracr2.pie index cab9a2f69..2a2d43887 100644 --- a/data/base/effects/fxtracr2.pie +++ b/data/base/effects/fxtracr2.pie @@ -20,12 +20,20 @@ POINTS 16 9 7 -73 9 11 -73 9 11 -45 -POLYGONS 8 - 200 4 0 1 2 3 206 65 206 54 203 54 203 65 - 200 4 3 2 1 0 203 65 203 54 206 54 206 65 - 200 4 4 5 6 7 206 65 206 54 203 54 203 65 - 200 4 7 6 5 4 203 65 203 54 206 54 206 65 - 200 4 8 9 10 11 206 65 206 54 203 54 203 65 - 200 4 11 10 9 8 203 65 203 54 206 54 206 65 - 200 4 12 13 14 15 206 65 206 54 203 54 203 65 - 200 4 15 14 13 12 203 65 203 54 206 54 206 65 \ No newline at end of file +POLYGONS 16 + 200 3 0 1 2 206 65 206 54 203 54 + 200 3 0 2 3 206 65 203 54 203 65 + 200 3 3 2 1 203 65 203 54 206 54 + 200 3 3 1 0 203 65 206 54 206 65 + 200 3 4 5 6 206 65 206 54 203 54 + 200 3 4 6 7 206 65 203 54 203 65 + 200 3 7 6 5 203 65 203 54 206 54 + 200 3 7 5 4 203 65 206 54 206 65 + 200 3 8 9 10 206 65 206 54 203 54 + 200 3 8 10 11 206 65 203 54 203 65 + 200 3 11 10 9 203 65 203 54 206 54 + 200 3 11 9 8 203 65 206 54 206 65 + 200 3 12 13 14 206 65 206 54 203 54 + 200 3 12 14 15 206 65 203 54 203 65 + 200 3 15 14 13 203 65 203 54 206 54 + 200 3 15 13 12 203 65 206 54 206 65 \ No newline at end of file diff --git a/data/base/effects/fxtracrd.pie b/data/base/effects/fxtracrd.pie index 4d6ed772e..561b08566 100644 --- a/data/base/effects/fxtracrd.pie +++ b/data/base/effects/fxtracrd.pie @@ -10,8 +10,12 @@ POINTS 6 0 5 -16 0 4 -16 0 4 -45 -POLYGONS 4 - 200 4 0 1 2 3 214 65 214 54 211 54 211 65 - 200 4 3 2 1 0 211 65 211 54 214 54 214 65 - 200 4 4 5 5 4 214 65 214 54 211 54 211 65 - 200 4 4 5 5 4 211 65 211 54 214 54 214 65 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 214 65 214 54 211 54 + 200 3 0 2 3 214 65 211 54 211 65 + 200 3 3 2 1 211 65 211 54 214 54 + 200 3 3 1 0 211 65 214 54 214 65 + 200 3 4 5 5 214 65 214 54 211 54 + 200 3 4 5 4 214 65 211 54 211 65 + 200 3 4 5 5 211 65 211 54 214 54 + 200 3 4 5 4 211 65 214 54 214 65 \ No newline at end of file diff --git a/data/base/effects/fxvlexp.pie b/data/base/effects/fxvlexp.pie index 8a4b2e9d2..f68269171 100644 --- a/data/base/effects/fxvlexp.pie +++ b/data/base/effects/fxvlexp.pie @@ -8,6 +8,8 @@ POINTS 4 197 350 0 -198 350 0 -198 6 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 64 50 63 49 63 1 1 1 1 49 - 4200 4 3 2 1 0 16 1 64 50 1 49 1 1 63 1 63 49 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 64 50 63 49 63 1 1 1 + 4200 3 0 2 3 16 1 64 50 63 49 1 1 1 49 + 4200 3 3 2 1 16 1 64 50 1 49 1 1 63 1 + 4200 3 3 1 0 16 1 64 50 1 49 63 1 63 49 \ No newline at end of file diff --git a/data/base/effects/fxvlswav.pie b/data/base/effects/fxvlswav.pie index 486d7de39..ccf42e8de 100644 --- a/data/base/effects/fxvlswav.pie +++ b/data/base/effects/fxvlswav.pie @@ -8,6 +8,8 @@ POINTS 4 164 14 164 -164 14 164 -164 14 -164 -POLYGONS 2 - 4200 4 0 1 2 3 10 1 44 44 43 43 43 1 1 1 1 43 - 4200 4 3 2 1 0 10 1 44 44 1 43 1 1 43 1 43 43 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 10 1 44 44 43 43 43 1 1 1 + 4200 3 0 2 3 10 1 44 44 43 43 1 1 1 43 + 4200 3 3 2 1 10 1 44 44 1 43 1 1 43 1 + 4200 3 3 1 0 10 1 44 44 1 43 43 1 43 43 \ No newline at end of file diff --git a/data/base/effects/fxvtl01.pie b/data/base/effects/fxvtl01.pie index e7ff5feca..484a223e1 100644 --- a/data/base/effects/fxvtl01.pie +++ b/data/base/effects/fxvtl01.pie @@ -28,16 +28,28 @@ POINTS 24 -6 14 42 6 14 42 6 14 33 -POLYGONS 12 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 24 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl04.pie b/data/base/effects/fxvtl04.pie index 31295e789..c0116d2b3 100644 --- a/data/base/effects/fxvtl04.pie +++ b/data/base/effects/fxvtl04.pie @@ -28,16 +28,28 @@ POINTS 24 -6 18 40 6 18 40 6 18 32 -POLYGONS 12 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 24 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl09.pie b/data/base/effects/fxvtl09.pie index 0e7186294..103fe77ff 100644 --- a/data/base/effects/fxvtl09.pie +++ b/data/base/effects/fxvtl09.pie @@ -44,24 +44,44 @@ POINTS 40 -11 28 65 11 28 65 11 28 51 -POLYGONS 20 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 24 25 26 27 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 27 26 25 24 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 28 29 30 31 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 31 30 29 28 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 32 33 34 35 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 35 34 33 32 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 36 37 38 39 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 39 38 37 36 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 + 4200 3 24 25 26 8 1 32 15 32 216 32 201 0 201 + 4200 3 24 26 27 8 1 32 15 32 216 0 201 0 216 + 4200 3 27 26 25 8 1 32 15 0 216 0 201 32 201 + 4200 3 27 25 24 8 1 32 15 0 216 32 201 32 216 + 4200 3 28 29 30 8 1 32 15 32 216 32 201 0 201 + 4200 3 28 30 31 8 1 32 15 32 216 0 201 0 216 + 4200 3 31 30 29 8 1 32 15 0 216 0 201 32 201 + 4200 3 31 29 28 8 1 32 15 0 216 32 201 32 216 + 4200 3 32 33 34 8 1 32 15 32 216 32 201 0 201 + 4200 3 32 34 35 8 1 32 15 32 216 0 201 0 216 + 4200 3 35 34 33 8 1 32 15 0 216 0 201 32 201 + 4200 3 35 33 32 8 1 32 15 0 216 32 201 32 216 + 4200 3 36 37 38 8 1 32 15 32 216 32 201 0 201 + 4200 3 36 38 39 8 1 32 15 32 216 0 201 0 216 + 4200 3 39 38 37 8 1 32 15 0 216 0 201 32 201 + 4200 3 39 37 36 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl10.pie b/data/base/effects/fxvtl10.pie index a1f64a958..d40d00ede 100644 --- a/data/base/effects/fxvtl10.pie +++ b/data/base/effects/fxvtl10.pie @@ -44,24 +44,44 @@ POINTS 40 -11 18 71 11 18 71 11 18 56 -POLYGONS 20 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 24 25 26 27 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 27 26 25 24 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 28 29 30 31 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 31 30 29 28 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 32 33 34 35 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 35 34 33 32 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 36 37 38 39 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 39 38 37 36 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 + 4200 3 24 25 26 8 1 32 15 32 216 32 201 0 201 + 4200 3 24 26 27 8 1 32 15 32 216 0 201 0 216 + 4200 3 27 26 25 8 1 32 15 0 216 0 201 32 201 + 4200 3 27 25 24 8 1 32 15 0 216 32 201 32 216 + 4200 3 28 29 30 8 1 32 15 32 216 32 201 0 201 + 4200 3 28 30 31 8 1 32 15 32 216 0 201 0 216 + 4200 3 31 30 29 8 1 32 15 0 216 0 201 32 201 + 4200 3 31 29 28 8 1 32 15 0 216 32 201 32 216 + 4200 3 32 33 34 8 1 32 15 32 216 32 201 0 201 + 4200 3 32 34 35 8 1 32 15 32 216 0 201 0 216 + 4200 3 35 34 33 8 1 32 15 0 216 0 201 32 201 + 4200 3 35 33 32 8 1 32 15 0 216 32 201 32 216 + 4200 3 36 37 38 8 1 32 15 32 216 32 201 0 201 + 4200 3 36 38 39 8 1 32 15 32 216 0 201 0 216 + 4200 3 39 38 37 8 1 32 15 0 216 0 201 32 201 + 4200 3 39 37 36 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl11.pie b/data/base/effects/fxvtl11.pie index 576d647f3..a78a95fe1 100644 --- a/data/base/effects/fxvtl11.pie +++ b/data/base/effects/fxvtl11.pie @@ -44,24 +44,44 @@ POINTS 40 -11 22 72 11 22 72 11 22 58 -POLYGONS 20 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 24 25 26 27 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 27 26 25 24 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 28 29 30 31 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 31 30 29 28 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 32 33 34 35 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 35 34 33 32 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 36 37 38 39 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 39 38 37 36 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 + 4200 3 24 25 26 8 1 32 15 32 216 32 201 0 201 + 4200 3 24 26 27 8 1 32 15 32 216 0 201 0 216 + 4200 3 27 26 25 8 1 32 15 0 216 0 201 32 201 + 4200 3 27 25 24 8 1 32 15 0 216 32 201 32 216 + 4200 3 28 29 30 8 1 32 15 32 216 32 201 0 201 + 4200 3 28 30 31 8 1 32 15 32 216 0 201 0 216 + 4200 3 31 30 29 8 1 32 15 0 216 0 201 32 201 + 4200 3 31 29 28 8 1 32 15 0 216 32 201 32 216 + 4200 3 32 33 34 8 1 32 15 32 216 32 201 0 201 + 4200 3 32 34 35 8 1 32 15 32 216 0 201 0 216 + 4200 3 35 34 33 8 1 32 15 0 216 0 201 32 201 + 4200 3 35 33 32 8 1 32 15 0 216 32 201 32 216 + 4200 3 36 37 38 8 1 32 15 32 216 32 201 0 201 + 4200 3 36 38 39 8 1 32 15 32 216 0 201 0 216 + 4200 3 39 38 37 8 1 32 15 0 216 0 201 32 201 + 4200 3 39 37 36 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl12.pie b/data/base/effects/fxvtl12.pie index 46892e1e9..92d21d2d3 100644 --- a/data/base/effects/fxvtl12.pie +++ b/data/base/effects/fxvtl12.pie @@ -44,24 +44,44 @@ POINTS 40 -11 20 67 11 20 67 11 20 53 -POLYGONS 20 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 24 25 26 27 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 27 26 25 24 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 28 29 30 31 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 31 30 29 28 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 32 33 34 35 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 35 34 33 32 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 36 37 38 39 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 39 38 37 36 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 + 4200 3 24 25 26 8 1 32 15 32 216 32 201 0 201 + 4200 3 24 26 27 8 1 32 15 32 216 0 201 0 216 + 4200 3 27 26 25 8 1 32 15 0 216 0 201 32 201 + 4200 3 27 25 24 8 1 32 15 0 216 32 201 32 216 + 4200 3 28 29 30 8 1 32 15 32 216 32 201 0 201 + 4200 3 28 30 31 8 1 32 15 32 216 0 201 0 216 + 4200 3 31 30 29 8 1 32 15 0 216 0 201 32 201 + 4200 3 31 29 28 8 1 32 15 0 216 32 201 32 216 + 4200 3 32 33 34 8 1 32 15 32 216 32 201 0 201 + 4200 3 32 34 35 8 1 32 15 32 216 0 201 0 216 + 4200 3 35 34 33 8 1 32 15 0 216 0 201 32 201 + 4200 3 35 33 32 8 1 32 15 0 216 32 201 32 216 + 4200 3 36 37 38 8 1 32 15 32 216 32 201 0 201 + 4200 3 36 38 39 8 1 32 15 32 216 0 201 0 216 + 4200 3 39 38 37 8 1 32 15 0 216 0 201 32 201 + 4200 3 39 37 36 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl2and3.pie b/data/base/effects/fxvtl2and3.pie index ca305b043..a0a5457d5 100644 --- a/data/base/effects/fxvtl2and3.pie +++ b/data/base/effects/fxvtl2and3.pie @@ -28,16 +28,28 @@ POINTS 24 -6 20 51 6 20 51 6 20 42 -POLYGONS 12 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 24 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvtl5to8.pie b/data/base/effects/fxvtl5to8.pie index 39f6c6932..393912f02 100644 --- a/data/base/effects/fxvtl5to8.pie +++ b/data/base/effects/fxvtl5to8.pie @@ -28,16 +28,28 @@ POINTS 24 -9 19 54 10 19 54 10 19 43 -POLYGONS 12 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 24 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/effects/fxvulcan.pie b/data/base/effects/fxvulcan.pie index 7259a5b96..5fdfac160 100644 --- a/data/base/effects/fxvulcan.pie +++ b/data/base/effects/fxvulcan.pie @@ -12,8 +12,12 @@ POINTS 8 4 10 0 4 10 -25 -4 10 -25 -POLYGONS 4 - 200 4 0 1 2 3 240 49 251 49 251 28 240 28 - 200 4 3 2 1 0 240 28 251 28 251 49 240 49 - 200 4 4 5 6 7 240 49 251 49 251 28 240 28 - 200 4 7 6 5 4 240 28 251 28 251 49 240 49 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 240 49 251 49 251 28 + 200 3 0 2 3 240 49 251 28 240 28 + 200 3 3 2 1 240 28 251 28 251 49 + 200 3 3 1 0 240 28 251 49 240 49 + 200 3 4 5 6 240 49 251 49 251 28 + 200 3 4 6 7 240 49 251 28 240 28 + 200 3 7 6 5 240 28 251 28 251 49 + 200 3 7 5 4 240 28 251 49 240 49 \ No newline at end of file diff --git a/data/base/effects/midebr1.pie b/data/base/effects/midebr1.pie index da5d43024..7f9098858 100644 --- a/data/base/effects/midebr1.pie +++ b/data/base/effects/midebr1.pie @@ -12,10 +12,16 @@ POINTS 8 3 10 -4 -10 6 2 -8 9 -5 -POLYGONS 6 - 200 4 3 2 1 0 7 237 16 237 16 248 7 248 - 200 4 2 5 4 1 7 237 16 237 16 248 7 248 - 200 4 5 7 6 4 7 237 16 237 16 248 7 248 - 200 4 7 3 0 6 7 237 16 237 16 248 7 248 - 200 4 1 4 6 0 96 174 96 161 107 161 107 174 - 200 4 7 5 2 3 96 161 107 161 107 174 96 174 +POLYGONS 12 + 200 3 3 2 1 7 237 16 237 16 248 + 200 3 3 1 0 7 237 16 248 7 248 + 200 3 2 5 4 7 237 16 237 16 248 + 200 3 2 4 1 7 237 16 248 7 248 + 200 3 5 7 6 7 237 16 237 16 248 + 200 3 5 6 4 7 237 16 248 7 248 + 200 3 7 3 0 7 237 16 237 16 248 + 200 3 7 0 6 7 237 16 248 7 248 + 200 3 1 4 6 96 174 96 161 107 161 + 200 3 1 6 0 96 174 107 161 107 174 + 200 3 7 5 2 96 161 107 161 107 174 + 200 3 7 2 3 96 161 107 174 96 174 \ No newline at end of file diff --git a/data/base/effects/midebr2.pie b/data/base/effects/midebr2.pie index 2acf879f8..32b3158c9 100644 --- a/data/base/effects/midebr2.pie +++ b/data/base/effects/midebr2.pie @@ -12,4 +12,4 @@ POLYGONS 4 200 3 2 1 0 120 0 138 0 129 11 200 3 3 2 0 129 0 138 11 120 11 200 3 3 1 2 129 0 138 11 120 11 - 200 3 3 0 1 129 0 138 11 120 11 + 200 3 3 0 1 129 0 138 11 120 11 \ No newline at end of file diff --git a/data/base/effects/midebr3.pie b/data/base/effects/midebr3.pie index c7f8f2992..be17a7665 100644 --- a/data/base/effects/midebr3.pie +++ b/data/base/effects/midebr3.pie @@ -11,10 +11,14 @@ POINTS 7 -11 -3 -5 13 -13 -7 13 12 -7 -POLYGONS 6 - 200 4 3 2 1 0 17 19 17 0 24 0 24 19 +POLYGONS 10 + 200 3 3 2 1 17 19 17 0 24 0 + 200 3 3 1 0 17 19 24 0 24 19 200 3 6 5 4 24 0 24 19 17 10 - 200 4 4 5 3 0 17 0 24 0 24 19 17 19 - 200 4 5 6 2 3 17 0 24 0 24 19 17 19 - 200 4 6 4 1 2 17 0 24 0 24 19 17 19 - 200 3 4 0 1 21 0 24 19 17 19 + 200 3 4 5 3 17 0 24 0 24 19 + 200 3 4 3 0 17 0 24 19 17 19 + 200 3 5 6 2 17 0 24 0 24 19 + 200 3 5 2 3 17 0 24 19 17 19 + 200 3 6 4 1 17 0 24 0 24 19 + 200 3 6 1 2 17 0 24 19 17 19 + 200 3 4 0 1 21 0 24 19 17 19 \ No newline at end of file diff --git a/data/base/effects/midebr4.pie b/data/base/effects/midebr4.pie index 5a9e9d6d6..b438330d6 100644 --- a/data/base/effects/midebr4.pie +++ b/data/base/effects/midebr4.pie @@ -15,4 +15,4 @@ POLYGONS 6 200 3 0 3 4 31 88 26 74 40 71 200 3 0 4 2 24 88 26 71 40 81 200 3 3 1 2 38 74 40 90 28 81 - 200 3 3 0 1 32 74 40 88 27 90 + 200 3 3 0 1 32 74 40 88 27 90 \ No newline at end of file diff --git a/data/base/effects/midebr5.pie b/data/base/effects/midebr5.pie index 92ff21868..70d9f06ce 100644 --- a/data/base/effects/midebr5.pie +++ b/data/base/effects/midebr5.pie @@ -12,4 +12,4 @@ POLYGONS 4 200 3 2 1 0 115 145 119 157 105 152 200 3 3 0 1 110 157 105 146 119 145 200 3 3 1 2 103 157 106 145 119 152 - 200 3 0 3 2 112 146 119 157 107 159 + 200 3 0 3 2 112 146 119 157 107 159 \ No newline at end of file diff --git a/data/base/effects/mirain.pie b/data/base/effects/mirain.pie index 022d65ab5..6406c73ce 100644 --- a/data/base/effects/mirain.pie +++ b/data/base/effects/mirain.pie @@ -8,6 +8,8 @@ POINTS 4 -12 -13 0 -12 13 0 12 13 0 -POLYGONS 2 - 200 4 0 1 2 3 219 158 230 158 230 144 219 144 - 200 4 3 2 1 0 219 144 230 144 230 158 219 158 \ No newline at end of file +POLYGONS 4 + 200 3 0 1 2 219 158 230 158 230 144 + 200 3 0 2 3 219 158 230 144 219 144 + 200 3 3 2 1 219 144 230 144 230 158 + 200 3 3 1 0 219 144 230 158 219 158 \ No newline at end of file diff --git a/data/base/effects/misnow.pie b/data/base/effects/misnow.pie index b375693e3..d94f22e87 100644 --- a/data/base/effects/misnow.pie +++ b/data/base/effects/misnow.pie @@ -8,6 +8,8 @@ POINTS 4 -2 -2 0 -2 2 0 2 2 0 -POLYGONS 2 - 200 4 0 1 2 3 221 132 229 132 229 124 221 124 - 200 4 3 2 1 0 221 124 229 124 229 132 221 132 \ No newline at end of file +POLYGONS 4 + 200 3 0 1 2 221 132 229 132 229 124 + 200 3 0 2 3 221 132 229 124 221 124 + 200 3 3 2 1 221 124 229 124 229 132 + 200 3 3 1 0 221 124 229 132 221 132 \ No newline at end of file diff --git a/data/base/effects/partarm.pie b/data/base/effects/partarm.pie index 623503999..7194aa26e 100644 --- a/data/base/effects/partarm.pie +++ b/data/base/effects/partarm.pie @@ -26,10 +26,16 @@ POINTS 22 11 -4 0 11 4 0 -11 4 0 -POLYGONS 6 - 200 4 3 2 1 0 139 215 166 215 166 221 139 221 - 200 4 6 2 5 4 253 4 256 4 256 0 253 0 - 200 4 5 9 8 7 166 215 139 215 139 221 166 221 - 200 4 13 12 11 10 166 205 139 205 139 214 166 214 - 200 4 17 16 15 14 167 123 156 123 156 116 167 116 - 200 4 21 20 19 18 139 195 166 195 166 204 139 204 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 139 215 166 215 166 221 + 200 3 3 1 0 139 215 166 221 139 221 + 200 3 6 2 5 253 4 256 4 256 0 + 200 3 6 5 4 253 4 256 0 253 0 + 200 3 5 9 8 166 215 139 215 139 221 + 200 3 5 8 7 166 215 139 221 166 221 + 200 3 13 12 11 166 205 139 205 139 214 + 200 3 13 11 10 166 205 139 214 166 214 + 200 3 17 16 15 167 123 156 123 156 116 + 200 3 17 15 14 167 123 156 116 167 116 + 200 3 21 20 19 139 195 166 195 166 204 + 200 3 21 19 18 139 195 166 204 139 204 \ No newline at end of file diff --git a/data/base/effects/partbody.pie b/data/base/effects/partbody.pie index b3dc2fb58..7a1b5d0fe 100644 --- a/data/base/effects/partbody.pie +++ b/data/base/effects/partbody.pie @@ -28,10 +28,16 @@ POINTS 24 6 -6 -2 6 11 0 -6 11 0 -POLYGONS 6 - 200 4 3 2 1 0 255 159 240 159 240 176 255 176 - 200 4 7 6 5 4 167 116 156 116 156 123 167 123 - 200 4 11 10 9 8 245 208 255 208 255 223 245 223 - 200 4 15 14 13 12 169 168 154 168 154 161 169 161 - 200 4 19 18 17 16 255 195 245 195 245 207 255 207 - 200 4 23 22 21 20 240 159 255 159 255 176 240 176 \ No newline at end of file +POLYGONS 12 + 200 3 3 2 1 255 159 240 159 240 176 + 200 3 3 1 0 255 159 240 176 255 176 + 200 3 7 6 5 167 116 156 116 156 123 + 200 3 7 5 4 167 116 156 123 167 123 + 200 3 11 10 9 245 208 255 208 255 223 + 200 3 11 9 8 245 208 255 223 245 223 + 200 3 15 14 13 169 168 154 168 154 161 + 200 3 15 13 12 169 168 154 161 169 161 + 200 3 19 18 17 255 195 245 195 245 207 + 200 3 19 17 16 255 195 245 207 255 207 + 200 3 23 22 21 240 159 255 159 255 176 + 200 3 23 21 20 240 159 255 176 240 176 \ No newline at end of file diff --git a/data/base/effects/parthead.pie b/data/base/effects/parthead.pie index f7a3f2f35..e2b610762 100644 --- a/data/base/effects/parthead.pie +++ b/data/base/effects/parthead.pie @@ -20,9 +20,14 @@ POINTS 16 3 -4 4 -3 -6 -4 3 -6 -4 -POLYGONS 5 - 200 4 3 2 1 0 246 148 238 148 238 158 246 158 - 200 4 7 6 5 4 237 148 229 148 229 158 237 158 - 200 4 2 3 9 8 238 148 246 148 246 158 238 158 - 200 4 13 12 11 10 90 158 90 152 82 152 82 158 - 200 4 6 7 15 14 247 148 255 148 255 158 247 158 \ No newline at end of file +POLYGONS 10 + 200 3 3 2 1 246 148 238 148 238 158 + 200 3 3 1 0 246 148 238 158 246 158 + 200 3 7 6 5 237 148 229 148 229 158 + 200 3 7 5 4 237 148 229 158 237 158 + 200 3 2 3 9 238 148 246 148 246 158 + 200 3 2 9 8 238 148 246 158 238 158 + 200 3 13 12 11 90 158 90 152 82 152 + 200 3 13 11 10 90 158 82 152 82 158 + 200 3 6 7 15 247 148 255 148 255 158 + 200 3 6 15 14 247 148 255 158 247 158 \ No newline at end of file diff --git a/data/base/effects/partlegs.pie b/data/base/effects/partlegs.pie index 2adf8fe24..1c440c060 100644 --- a/data/base/effects/partlegs.pie +++ b/data/base/effects/partlegs.pie @@ -36,12 +36,20 @@ POINTS 32 3 -11 -4 -1 7 -4 -1 7 4 -POLYGONS 8 - 200 4 3 2 1 0 156 123 167 123 167 116 156 116 - 4200 4 7 6 5 4 2 1 11 14 142 153 133 153 133 165 142 165 - 200 4 11 10 9 8 167 123 156 123 156 116 167 116 - 4200 4 15 14 13 12 2 1 22 20 127 176 147 176 147 194 127 194 - 4200 4 19 18 17 16 2 1 11 19 170 174 179 174 179 191 170 191 - 200 4 23 22 21 20 256 0 256 4 253 4 253 0 - 4200 4 27 26 25 24 2 1 22 20 147 176 127 176 127 194 147 194 - 4200 4 31 30 29 28 2 1 11 19 179 174 170 174 170 191 179 191 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 156 123 167 123 167 116 + 200 3 3 1 0 156 123 167 116 156 116 + 4200 3 7 6 5 2 1 11 14 142 153 133 153 133 165 + 4200 3 7 5 4 2 1 11 14 142 153 133 165 142 165 + 200 3 11 10 9 167 123 156 123 156 116 + 200 3 11 9 8 167 123 156 116 167 116 + 4200 3 15 14 13 2 1 22 20 127 176 147 176 147 194 + 4200 3 15 13 12 2 1 22 20 127 176 147 194 127 194 + 4200 3 19 18 17 2 1 11 19 170 174 179 174 179 191 + 4200 3 19 17 16 2 1 11 19 170 174 179 191 170 191 + 200 3 23 22 21 256 0 256 4 253 4 + 200 3 23 21 20 256 0 253 4 253 0 + 4200 3 27 26 25 2 1 22 20 147 176 127 176 127 194 + 4200 3 27 25 24 2 1 22 20 147 176 127 194 147 194 + 4200 3 31 30 29 2 1 11 19 179 174 170 174 170 191 + 4200 3 31 29 28 2 1 11 19 179 174 170 191 179 191 \ No newline at end of file diff --git a/data/base/features/advmatlab.pie b/data/base/features/advmatlab.pie index 73ebb690c..2fb171049 100644 --- a/data/base/features/advmatlab.pie +++ b/data/base/features/advmatlab.pie @@ -4,48 +4,60 @@ TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 POINTS 24 - -104 0 -104 - 16 0 -104 - 0 104 -76 - -78 104 -78 - 0 104 20 - -14 104 14 - 16 104 -18 - 22 104 0 - 78 104 0 - 78 104 78 - 0 104 78 - 16 0 -32 - 0 104 -24 - 30 0 -14 - 104 0 -16 - -16 0 104 - -16 0 28 - -26 0 16 - -104 0 16 - -78 104 0 - -20 104 0 - 26 0 -26 - -22 0 24 + -104 0 -104 + 16 0 -104 + 0 104 -76 + -78 104 -78 + 0 104 20 + -14 104 14 + 16 104 -18 + 22 104 0 + 78 104 0 + 78 104 78 + 0 104 78 + 16 0 -32 + 0 104 -24 + 30 0 -14 + 104 0 -16 + -16 0 104 + -16 0 28 + -26 0 16 + -104 0 16 + -78 104 0 + -20 104 0 + 26 0 -26 + -22 0 24 104 0 104 -POLYGONS 22 - 200 4 3 2 1 0 172 1 191 1 194 29 166 29 - 200 3 6 5 4 173 31 182 40 178 41 - 200 3 6 4 7 173 31 178 41 171 36 - 200 3 9 8 7 156 57 156 36 171 36 - 200 3 4 10 9 178 41 178 57 156 57 - 200 3 9 7 4 156 57 171 36 178 41 - 200 4 2 12 11 1 210 1 195 1 197 29 218 29 - 200 4 7 8 14 13 195 1 211 1 218 29 197 29 - 200 4 10 4 16 15 211 1 196 1 198 29 217 29 - 200 4 20 19 18 17 195 1 211 1 218 29 197 29 - 200 4 12 6 21 11 218 1 224 1 224 29 220 29 - 200 4 6 7 13 21 224 1 229 1 227 29 224 29 - 200 4 4 5 22 16 229 1 223 1 224 29 227 29 - 200 4 5 20 17 22 223 1 218 1 220 29 224 29 - 200 4 19 3 0 18 190 1 172 1 166 29 194 29 - 200 4 8 9 23 14 190 1 172 1 166 29 194 29 - 200 4 9 10 15 23 172 1 190 1 194 29 166 29 +POLYGONS 34 + 200 3 3 2 1 172 1 191 1 194 29 + 200 3 3 1 0 172 1 194 29 166 29 + 200 3 6 5 4 173 31 182 40 178 41 + 200 3 6 4 7 173 31 178 41 171 36 + 200 3 9 8 7 156 57 156 36 171 36 + 200 3 4 10 9 178 41 178 57 156 57 + 200 3 9 7 4 156 57 171 36 178 41 + 200 3 2 12 11 210 1 195 1 197 29 + 200 3 2 11 1 210 1 197 29 218 29 + 200 3 7 8 14 195 1 211 1 218 29 + 200 3 7 14 13 195 1 218 29 197 29 + 200 3 10 4 16 211 1 196 1 198 29 + 200 3 10 16 15 211 1 198 29 217 29 + 200 3 20 19 18 195 1 211 1 218 29 + 200 3 20 18 17 195 1 218 29 197 29 + 200 3 12 6 21 218 1 224 1 224 29 + 200 3 12 21 11 218 1 224 29 220 29 + 200 3 6 7 13 224 1 229 1 227 29 + 200 3 6 13 21 224 1 227 29 224 29 + 200 3 4 5 22 229 1 223 1 224 29 + 200 3 4 22 16 229 1 224 29 227 29 + 200 3 5 20 17 223 1 218 1 220 29 + 200 3 5 17 22 223 1 220 29 224 29 + 200 3 19 3 0 190 1 172 1 166 29 + 200 3 19 0 18 190 1 166 29 194 29 + 200 3 8 9 23 190 1 172 1 166 29 + 200 3 8 23 14 190 1 166 29 194 29 + 200 3 9 10 15 172 1 190 1 194 29 + 200 3 9 15 23 172 1 194 29 166 29 200 3 3 19 20 156 57 156 35 172 35 200 3 12 2 3 177 42 178 57 156 57 200 3 3 20 12 156 57 172 35 177 42 diff --git a/data/base/features/aerolab.pie b/data/base/features/aerolab.pie index 7feac13d2..c794efa8b 100644 --- a/data/base/features/aerolab.pie +++ b/data/base/features/aerolab.pie @@ -3,66 +3,79 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 40 - 42 0 84 - 104 0 84 - 104 0 -82 - 42 0 -82 - 42 66 40 - 42 66 -40 - -40 0 -40 - 42 0 -40 - 42 44 -40 - -40 44 -40 - 42 0 40 - -40 0 40 - -40 44 40 - 42 44 40 - 42 44 -20 - -40 44 -20 - -40 44 20 - 42 44 20 - 42 64 -20 - -40 64 -20 - -40 64 20 - 42 64 20 - 12 44 -20 - 12 64 -20 - 12 44 -40 - -10 44 -20 - -10 44 -40 - -10 64 -20 - -10 44 40 - -10 64 20 - 12 64 20 - 12 44 40 - -10 44 20 - 12 44 20 - -40 66 -40 - -40 0 -82 - -40 0 84 - -40 66 40 - -102 0 -82 +POINTS 40 + 42 0 84 + 104 0 84 + 104 0 -82 + 42 0 -82 + 42 66 40 + 42 66 -40 + -40 0 -40 + 42 0 -40 + 42 44 -40 + -40 44 -40 + 42 0 40 + -40 0 40 + -40 44 40 + 42 44 40 + 42 44 -20 + -40 44 -20 + -40 44 20 + 42 44 20 + 42 64 -20 + -40 64 -20 + -40 64 20 + 42 64 20 + 12 44 -20 + 12 64 -20 + 12 44 -40 + -10 44 -20 + -10 44 -40 + -10 64 -20 + -10 44 40 + -10 64 20 + 12 64 20 + 12 44 40 + -10 44 20 + 12 44 20 + -40 66 -40 + -40 0 -82 + -40 0 84 + -40 66 40 + -102 0 -82 -102 0 84 -POLYGONS 21 - 200 3 4 0 1 229 1 229 36 248 36 - 200 3 3 5 2 229 36 229 1 248 36 - 200 4 9 8 7 6 88 33 57 33 57 56 88 56 - 200 4 13 12 11 10 57 33 88 33 88 56 57 56 - 200 4 8 9 15 14 219 37 183 37 183 30 219 30 - 200 4 17 16 12 13 219 37 183 37 183 30 219 30 - 200 4 19 18 14 15 57 58 95 58 95 70 57 70 - 200 4 21 20 16 17 95 58 57 58 57 70 95 70 - 200 3 24 23 22 235 50 221 37 221 50 - 200 3 27 26 25 221 37 235 50 221 50 - 200 4 5 3 0 4 15 34 2 68 54 68 41 34 - 200 4 2 5 4 1 2 68 15 33 41 33 54 68 - 200 4 18 19 20 21 183 37 221 37 221 50 183 50 - 200 4 26 27 23 24 73 69 73 58 79 58 79 69 - 200 4 31 30 29 28 72 69 72 58 80 58 80 69 - 200 3 28 29 32 235 50 221 37 221 50 - 200 3 30 31 33 221 37 235 50 221 50 - 200 4 37 36 35 34 15 34 2 68 54 68 41 34 - 200 4 39 37 34 38 54 68 41 33 15 33 2 68 - 200 3 34 35 38 229 1 229 36 248 36 - 200 3 36 37 39 229 36 229 1 248 36 +POLYGONS 34 + 200 3 4 0 1 229 1 229 36 248 36 + 200 3 3 5 2 229 36 229 1 248 36 + 200 3 9 8 7 88 33 57 33 57 56 + 200 3 9 7 6 88 33 57 56 88 56 + 200 3 13 12 11 57 33 88 33 88 56 + 200 3 13 11 10 57 33 88 56 57 56 + 200 3 8 9 15 219 37 183 37 183 30 + 200 3 8 15 14 219 37 183 30 219 30 + 200 3 17 16 12 219 37 183 37 183 30 + 200 3 17 12 13 219 37 183 30 219 30 + 200 3 19 18 14 57 58 95 58 95 70 + 200 3 19 14 15 57 58 95 70 57 70 + 200 3 21 20 16 95 58 57 58 57 70 + 200 3 21 16 17 95 58 57 70 95 70 + 200 3 24 23 22 235 50 221 37 221 50 + 200 3 27 26 25 221 37 235 50 221 50 + 200 3 5 3 0 15 34 2 68 54 68 + 200 3 5 0 4 15 34 54 68 41 34 + 200 3 2 5 4 2 68 15 33 41 33 + 200 3 2 4 1 2 68 41 33 54 68 + 200 3 18 19 20 183 37 221 37 221 50 + 200 3 18 20 21 183 37 221 50 183 50 + 200 3 26 27 23 73 69 73 58 79 58 + 200 3 26 23 24 73 69 79 58 79 69 + 200 3 31 30 29 72 69 72 58 80 58 + 200 3 31 29 28 72 69 80 58 80 69 + 200 3 28 29 32 235 50 221 37 221 50 + 200 3 30 31 33 221 37 235 50 221 50 + 200 3 37 36 35 15 34 2 68 54 68 + 200 3 37 35 34 15 34 54 68 41 34 + 200 3 39 37 34 54 68 41 33 15 33 + 200 3 39 34 38 54 68 15 33 2 68 + 200 3 34 35 38 229 1 229 36 248 36 + 200 3 36 37 39 229 36 229 1 248 36 \ No newline at end of file diff --git a/data/base/features/arizonabush1.pie b/data/base/features/arizonabush1.pie index 2e019a6dc..37e8d4ae7 100644 --- a/data/base/features/arizonabush1.pie +++ b/data/base/features/arizonabush1.pie @@ -3,91 +3,116 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 61 - 0 0 0 - -18 41 -10 - -18 0 -10 - 18 0 10 - 18 41 10 - 10 41 -18 - 10 0 -18 - -10 0 18 - -10 41 18 - -18 2 -10 - 18 2 10 - 10 2 -18 - -10 2 18 - 9 41 -4 - 9 0 -4 - -33 0 4 - -33 41 4 - -8 41 21 - -8 0 21 - -16 0 -21 - -16 41 -21 - 9 2 -4 - -33 2 4 - -8 2 21 - -16 2 -21 - -2 41 7 - -2 0 7 - 38 0 -7 - 38 41 -7 - 11 41 -20 - 11 0 -20 - 25 0 20 - 25 41 20 - -2 2 7 - 38 2 -7 - 11 2 -20 - 25 2 20 - 21 41 16 - 21 0 16 - -21 0 16 - -21 41 16 - 0 41 37 - 0 0 37 - 0 0 -5 - 0 41 -5 - 21 2 16 - -21 2 16 - 0 2 37 - 0 2 -5 - -21 41 -16 - -21 0 -16 - 21 0 -16 - 21 41 -16 - 0 41 -37 - 0 0 -37 - 0 0 5 - 0 41 5 - -21 2 -16 - 21 2 -16 - 0 2 -37 +POINTS 61 + 0 0 0 + -18 41 -10 + -18 0 -10 + 18 0 10 + 18 41 10 + 10 41 -18 + 10 0 -18 + -10 0 18 + -10 41 18 + -18 2 -10 + 18 2 10 + 10 2 -18 + -10 2 18 + 9 41 -4 + 9 0 -4 + -33 0 4 + -33 41 4 + -8 41 21 + -8 0 21 + -16 0 -21 + -16 41 -21 + 9 2 -4 + -33 2 4 + -8 2 21 + -16 2 -21 + -2 41 7 + -2 0 7 + 38 0 -7 + 38 41 -7 + 11 41 -20 + 11 0 -20 + 25 0 20 + 25 41 20 + -2 2 7 + 38 2 -7 + 11 2 -20 + 25 2 20 + 21 41 16 + 21 0 16 + -21 0 16 + -21 41 16 + 0 41 37 + 0 0 37 + 0 0 -5 + 0 41 -5 + 21 2 16 + -21 2 16 + 0 2 37 + 0 2 -5 + -21 41 -16 + -21 0 -16 + 21 0 -16 + 21 41 -16 + 0 41 -37 + 0 0 -37 + 0 0 5 + 0 41 5 + -21 2 -16 + 21 2 -16 + 0 2 -37 0 2 5 -POLYGONS 25 - 200 4 1 2 3 4 0 25 0 41 15 41 15 25 - 200 4 4 3 2 1 15 25 15 41 0 41 0 25 - 200 4 5 6 7 8 0 25 0 41 15 41 15 25 - 200 4 8 7 6 5 15 25 15 41 0 41 0 25 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 - 200 4 13 14 15 16 0 25 0 41 15 41 15 25 - 200 4 16 15 14 13 15 25 15 41 0 41 0 25 - 200 4 17 18 19 20 0 25 0 41 15 41 15 25 - 200 4 20 19 18 17 15 25 15 41 0 41 0 25 - 200 4 24 22 23 21 75 25 59 25 59 41 75 41 - 200 4 25 26 27 28 0 25 0 41 15 41 15 25 - 200 4 28 27 26 25 15 25 15 41 0 41 0 25 - 200 4 29 30 31 32 0 25 0 41 15 41 15 25 - 200 4 32 31 30 29 15 25 15 41 0 41 0 25 - 200 4 36 34 35 33 75 25 59 25 59 41 75 41 - 200 4 37 38 39 40 0 25 0 41 15 41 15 25 - 200 4 40 39 38 37 15 25 15 41 0 41 0 25 - 200 4 41 42 43 44 0 25 0 41 15 41 15 25 - 200 4 44 43 42 41 15 25 15 41 0 41 0 25 - 200 4 48 46 47 45 75 25 59 25 59 41 75 41 - 200 4 49 50 51 52 0 25 0 41 15 41 15 25 - 200 4 52 51 50 49 15 25 15 41 0 41 0 25 - 200 4 53 54 55 56 0 25 0 41 15 41 15 25 - 200 4 56 55 54 53 15 25 15 41 0 41 0 25 - 200 4 60 58 59 57 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 50 + 200 3 1 2 3 0 25 0 41 15 41 + 200 3 1 3 4 0 25 15 41 15 25 + 200 3 4 3 2 15 25 15 41 0 41 + 200 3 4 2 1 15 25 0 41 0 25 + 200 3 5 6 7 0 25 0 41 15 41 + 200 3 5 7 8 0 25 15 41 15 25 + 200 3 8 7 6 15 25 15 41 0 41 + 200 3 8 6 5 15 25 0 41 0 25 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 + 200 3 13 14 15 0 25 0 41 15 41 + 200 3 13 15 16 0 25 15 41 15 25 + 200 3 16 15 14 15 25 15 41 0 41 + 200 3 16 14 13 15 25 0 41 0 25 + 200 3 17 18 19 0 25 0 41 15 41 + 200 3 17 19 20 0 25 15 41 15 25 + 200 3 20 19 18 15 25 15 41 0 41 + 200 3 20 18 17 15 25 0 41 0 25 + 200 3 24 22 23 75 25 59 25 59 41 + 200 3 24 23 21 75 25 59 41 75 41 + 200 3 25 26 27 0 25 0 41 15 41 + 200 3 25 27 28 0 25 15 41 15 25 + 200 3 28 27 26 15 25 15 41 0 41 + 200 3 28 26 25 15 25 0 41 0 25 + 200 3 29 30 31 0 25 0 41 15 41 + 200 3 29 31 32 0 25 15 41 15 25 + 200 3 32 31 30 15 25 15 41 0 41 + 200 3 32 30 29 15 25 0 41 0 25 + 200 3 36 34 35 75 25 59 25 59 41 + 200 3 36 35 33 75 25 59 41 75 41 + 200 3 37 38 39 0 25 0 41 15 41 + 200 3 37 39 40 0 25 15 41 15 25 + 200 3 40 39 38 15 25 15 41 0 41 + 200 3 40 38 37 15 25 0 41 0 25 + 200 3 41 42 43 0 25 0 41 15 41 + 200 3 41 43 44 0 25 15 41 15 25 + 200 3 44 43 42 15 25 15 41 0 41 + 200 3 44 42 41 15 25 0 41 0 25 + 200 3 48 46 47 75 25 59 25 59 41 + 200 3 48 47 45 75 25 59 41 75 41 + 200 3 49 50 51 0 25 0 41 15 41 + 200 3 49 51 52 0 25 15 41 15 25 + 200 3 52 51 50 15 25 15 41 0 41 + 200 3 52 50 49 15 25 0 41 0 25 + 200 3 53 54 55 0 25 0 41 15 41 + 200 3 53 55 56 0 25 15 41 15 25 + 200 3 56 55 54 15 25 15 41 0 41 + 200 3 56 54 53 15 25 0 41 0 25 + 200 3 60 58 59 75 25 59 25 59 41 + 200 3 60 59 57 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonabush2.pie b/data/base/features/arizonabush2.pie index cfbe867c7..e76bc72c2 100644 --- a/data/base/features/arizonabush2.pie +++ b/data/base/features/arizonabush2.pie @@ -3,91 +3,116 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 61 - 0 0 0 - -18 41 -10 - -18 0 -10 - 18 0 10 - 18 41 10 - 10 41 -18 - 10 0 -18 - -10 0 18 - -10 41 18 - -18 2 -10 - 18 2 10 - 10 2 -18 - -10 2 18 - 9 41 -4 - 9 0 -4 - -33 0 4 - -33 41 4 - -8 41 21 - -8 0 21 - -16 0 -21 - -16 41 -21 - 9 2 -4 - -33 2 4 - -8 2 21 - -16 2 -21 - -2 41 7 - -2 0 7 - 38 0 -7 - 38 41 -7 - 11 41 -20 - 11 0 -20 - 25 0 20 - 25 41 20 - -2 2 7 - 38 2 -7 - 11 2 -20 - 25 2 20 - 21 41 16 - 21 0 16 - -21 0 16 - -21 41 16 - 0 41 37 - 0 0 37 - 0 0 -5 - 0 41 -5 - 21 2 16 - -21 2 16 - 0 2 37 - 0 2 -5 - -21 41 -16 - -21 0 -16 - 21 0 -16 - 21 41 -16 - 0 41 -37 - 0 0 -37 - 0 0 5 - 0 41 5 - -21 2 -16 - 21 2 -16 - 0 2 -37 +POINTS 61 + 0 0 0 + -18 41 -10 + -18 0 -10 + 18 0 10 + 18 41 10 + 10 41 -18 + 10 0 -18 + -10 0 18 + -10 41 18 + -18 2 -10 + 18 2 10 + 10 2 -18 + -10 2 18 + 9 41 -4 + 9 0 -4 + -33 0 4 + -33 41 4 + -8 41 21 + -8 0 21 + -16 0 -21 + -16 41 -21 + 9 2 -4 + -33 2 4 + -8 2 21 + -16 2 -21 + -2 41 7 + -2 0 7 + 38 0 -7 + 38 41 -7 + 11 41 -20 + 11 0 -20 + 25 0 20 + 25 41 20 + -2 2 7 + 38 2 -7 + 11 2 -20 + 25 2 20 + 21 41 16 + 21 0 16 + -21 0 16 + -21 41 16 + 0 41 37 + 0 0 37 + 0 0 -5 + 0 41 -5 + 21 2 16 + -21 2 16 + 0 2 37 + 0 2 -5 + -21 41 -16 + -21 0 -16 + 21 0 -16 + 21 41 -16 + 0 41 -37 + 0 0 -37 + 0 0 5 + 0 41 5 + -21 2 -16 + 21 2 -16 + 0 2 -37 0 2 5 -POLYGONS 25 - 200 4 1 2 3 4 15 25 15 41 30 41 30 25 - 200 4 4 3 2 1 30 25 30 41 15 41 15 25 - 200 4 5 6 7 8 15 25 15 41 30 41 30 25 - 200 4 8 7 6 5 30 25 30 41 15 41 15 25 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 - 200 4 13 14 15 16 15 25 15 41 30 41 30 25 - 200 4 16 15 14 13 30 25 30 41 15 41 15 25 - 200 4 17 18 19 20 15 25 15 41 30 41 30 25 - 200 4 20 19 18 17 30 25 30 41 15 41 15 25 - 200 4 24 22 23 21 75 25 59 25 59 41 75 41 - 200 4 25 26 27 28 15 25 15 41 30 41 30 25 - 200 4 28 27 26 25 30 25 30 41 15 41 15 25 - 200 4 29 30 31 32 15 25 15 41 30 41 30 25 - 200 4 32 31 30 29 30 25 30 41 15 41 15 25 - 200 4 36 34 35 33 75 25 59 25 59 41 75 41 - 200 4 37 38 39 40 15 25 15 41 30 41 30 25 - 200 4 40 39 38 37 30 25 30 41 15 41 15 25 - 200 4 41 42 43 44 15 25 15 41 30 41 30 25 - 200 4 44 43 42 41 30 25 30 41 15 41 15 25 - 200 4 48 46 47 45 75 25 59 25 59 41 75 41 - 200 4 49 50 51 52 15 25 15 41 30 41 30 25 - 200 4 52 51 50 49 30 25 30 41 15 41 15 25 - 200 4 53 54 55 56 15 25 15 41 30 41 30 25 - 200 4 56 55 54 53 30 25 30 41 15 41 15 25 - 200 4 60 58 59 57 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 50 + 200 3 1 2 3 15 25 15 41 30 41 + 200 3 1 3 4 15 25 30 41 30 25 + 200 3 4 3 2 30 25 30 41 15 41 + 200 3 4 2 1 30 25 15 41 15 25 + 200 3 5 6 7 15 25 15 41 30 41 + 200 3 5 7 8 15 25 30 41 30 25 + 200 3 8 7 6 30 25 30 41 15 41 + 200 3 8 6 5 30 25 15 41 15 25 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 + 200 3 13 14 15 15 25 15 41 30 41 + 200 3 13 15 16 15 25 30 41 30 25 + 200 3 16 15 14 30 25 30 41 15 41 + 200 3 16 14 13 30 25 15 41 15 25 + 200 3 17 18 19 15 25 15 41 30 41 + 200 3 17 19 20 15 25 30 41 30 25 + 200 3 20 19 18 30 25 30 41 15 41 + 200 3 20 18 17 30 25 15 41 15 25 + 200 3 24 22 23 75 25 59 25 59 41 + 200 3 24 23 21 75 25 59 41 75 41 + 200 3 25 26 27 15 25 15 41 30 41 + 200 3 25 27 28 15 25 30 41 30 25 + 200 3 28 27 26 30 25 30 41 15 41 + 200 3 28 26 25 30 25 15 41 15 25 + 200 3 29 30 31 15 25 15 41 30 41 + 200 3 29 31 32 15 25 30 41 30 25 + 200 3 32 31 30 30 25 30 41 15 41 + 200 3 32 30 29 30 25 15 41 15 25 + 200 3 36 34 35 75 25 59 25 59 41 + 200 3 36 35 33 75 25 59 41 75 41 + 200 3 37 38 39 15 25 15 41 30 41 + 200 3 37 39 40 15 25 30 41 30 25 + 200 3 40 39 38 30 25 30 41 15 41 + 200 3 40 38 37 30 25 15 41 15 25 + 200 3 41 42 43 15 25 15 41 30 41 + 200 3 41 43 44 15 25 30 41 30 25 + 200 3 44 43 42 30 25 30 41 15 41 + 200 3 44 42 41 30 25 15 41 15 25 + 200 3 48 46 47 75 25 59 25 59 41 + 200 3 48 47 45 75 25 59 41 75 41 + 200 3 49 50 51 15 25 15 41 30 41 + 200 3 49 51 52 15 25 30 41 30 25 + 200 3 52 51 50 30 25 30 41 15 41 + 200 3 52 50 49 30 25 15 41 15 25 + 200 3 53 54 55 15 25 15 41 30 41 + 200 3 53 55 56 15 25 30 41 30 25 + 200 3 56 55 54 30 25 30 41 15 41 + 200 3 56 54 53 30 25 15 41 15 25 + 200 3 60 58 59 75 25 59 25 59 41 + 200 3 60 59 57 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonabush3.pie b/data/base/features/arizonabush3.pie index 367d54c74..9117e8b45 100644 --- a/data/base/features/arizonabush3.pie +++ b/data/base/features/arizonabush3.pie @@ -3,91 +3,116 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 61 - 0 0 0 - -18 41 -10 - -18 0 -10 - 18 0 10 - 18 41 10 - 10 41 -18 - 10 0 -18 - -10 0 18 - -10 41 18 - -18 2 -10 - 18 2 10 - 10 2 -18 - -10 2 18 - 9 41 -4 - 9 0 -4 - -33 0 4 - -33 41 4 - -8 41 21 - -8 0 21 - -16 0 -21 - -16 41 -21 - 9 2 -4 - -33 2 4 - -8 2 21 - -16 2 -21 - -2 41 7 - -2 0 7 - 38 0 -7 - 38 41 -7 - 11 41 -20 - 11 0 -20 - 25 0 20 - 25 41 20 - -2 2 7 - 38 2 -7 - 11 2 -20 - 25 2 20 - 21 41 16 - 21 0 16 - -21 0 16 - -21 41 16 - 0 41 37 - 0 0 37 - 0 0 -5 - 0 41 -5 - 21 2 16 - -21 2 16 - 0 2 37 - 0 2 -5 - -21 41 -16 - -21 0 -16 - 21 0 -16 - 21 41 -16 - 0 41 -37 - 0 0 -37 - 0 0 5 - 0 41 5 - -21 2 -16 - 21 2 -16 - 0 2 -37 +POINTS 61 + 0 0 0 + -18 41 -10 + -18 0 -10 + 18 0 10 + 18 41 10 + 10 41 -18 + 10 0 -18 + -10 0 18 + -10 41 18 + -18 2 -10 + 18 2 10 + 10 2 -18 + -10 2 18 + 9 41 -4 + 9 0 -4 + -33 0 4 + -33 41 4 + -8 41 21 + -8 0 21 + -16 0 -21 + -16 41 -21 + 9 2 -4 + -33 2 4 + -8 2 21 + -16 2 -21 + -2 41 7 + -2 0 7 + 38 0 -7 + 38 41 -7 + 11 41 -20 + 11 0 -20 + 25 0 20 + 25 41 20 + -2 2 7 + 38 2 -7 + 11 2 -20 + 25 2 20 + 21 41 16 + 21 0 16 + -21 0 16 + -21 41 16 + 0 41 37 + 0 0 37 + 0 0 -5 + 0 41 -5 + 21 2 16 + -21 2 16 + 0 2 37 + 0 2 -5 + -21 41 -16 + -21 0 -16 + 21 0 -16 + 21 41 -16 + 0 41 -37 + 0 0 -37 + 0 0 5 + 0 41 5 + -21 2 -16 + 21 2 -16 + 0 2 -37 0 2 5 -POLYGONS 25 - 200 4 1 2 3 4 30 25 30 41 44 41 44 25 - 200 4 4 3 2 1 44 25 44 41 30 41 30 25 - 200 4 5 6 7 8 30 25 30 41 44 41 44 25 - 200 4 8 7 6 5 44 25 44 41 30 41 30 25 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 - 200 4 13 14 15 16 30 25 30 41 44 41 44 25 - 200 4 16 15 14 13 44 25 44 41 30 41 30 25 - 200 4 17 18 19 20 30 25 30 41 44 41 44 25 - 200 4 20 19 18 17 44 25 44 41 30 41 30 25 - 200 4 24 22 23 21 75 25 59 25 59 41 75 41 - 200 4 25 26 27 28 30 25 30 41 44 41 44 25 - 200 4 28 27 26 25 44 25 44 41 30 41 30 25 - 200 4 29 30 31 32 30 25 30 41 44 41 44 25 - 200 4 32 31 30 29 44 25 44 41 30 41 30 25 - 200 4 36 34 35 33 75 25 59 25 59 41 75 41 - 200 4 37 38 39 40 30 25 30 41 44 41 44 25 - 200 4 40 39 38 37 44 25 44 41 30 41 30 25 - 200 4 41 42 43 44 30 25 30 41 44 41 44 25 - 200 4 44 43 42 41 44 25 44 41 30 41 30 25 - 200 4 48 46 47 45 75 25 59 25 59 41 75 41 - 200 4 49 50 51 52 30 25 30 41 44 41 44 25 - 200 4 52 51 50 49 44 25 44 41 30 41 30 25 - 200 4 53 54 55 56 30 25 30 41 44 41 44 25 - 200 4 56 55 54 53 44 25 44 41 30 41 30 25 - 200 4 60 58 59 57 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 50 + 200 3 1 2 3 30 25 30 41 44 41 + 200 3 1 3 4 30 25 44 41 44 25 + 200 3 4 3 2 44 25 44 41 30 41 + 200 3 4 2 1 44 25 30 41 30 25 + 200 3 5 6 7 30 25 30 41 44 41 + 200 3 5 7 8 30 25 44 41 44 25 + 200 3 8 7 6 44 25 44 41 30 41 + 200 3 8 6 5 44 25 30 41 30 25 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 + 200 3 13 14 15 30 25 30 41 44 41 + 200 3 13 15 16 30 25 44 41 44 25 + 200 3 16 15 14 44 25 44 41 30 41 + 200 3 16 14 13 44 25 30 41 30 25 + 200 3 17 18 19 30 25 30 41 44 41 + 200 3 17 19 20 30 25 44 41 44 25 + 200 3 20 19 18 44 25 44 41 30 41 + 200 3 20 18 17 44 25 30 41 30 25 + 200 3 24 22 23 75 25 59 25 59 41 + 200 3 24 23 21 75 25 59 41 75 41 + 200 3 25 26 27 30 25 30 41 44 41 + 200 3 25 27 28 30 25 44 41 44 25 + 200 3 28 27 26 44 25 44 41 30 41 + 200 3 28 26 25 44 25 30 41 30 25 + 200 3 29 30 31 30 25 30 41 44 41 + 200 3 29 31 32 30 25 44 41 44 25 + 200 3 32 31 30 44 25 44 41 30 41 + 200 3 32 30 29 44 25 30 41 30 25 + 200 3 36 34 35 75 25 59 25 59 41 + 200 3 36 35 33 75 25 59 41 75 41 + 200 3 37 38 39 30 25 30 41 44 41 + 200 3 37 39 40 30 25 44 41 44 25 + 200 3 40 39 38 44 25 44 41 30 41 + 200 3 40 38 37 44 25 30 41 30 25 + 200 3 41 42 43 30 25 30 41 44 41 + 200 3 41 43 44 30 25 44 41 44 25 + 200 3 44 43 42 44 25 44 41 30 41 + 200 3 44 42 41 44 25 30 41 30 25 + 200 3 48 46 47 75 25 59 25 59 41 + 200 3 48 47 45 75 25 59 41 75 41 + 200 3 49 50 51 30 25 30 41 44 41 + 200 3 49 51 52 30 25 44 41 44 25 + 200 3 52 51 50 44 25 44 41 30 41 + 200 3 52 50 49 44 25 30 41 30 25 + 200 3 53 54 55 30 25 30 41 44 41 + 200 3 53 55 56 30 25 44 41 44 25 + 200 3 56 55 54 44 25 44 41 30 41 + 200 3 56 54 53 44 25 30 41 30 25 + 200 3 60 58 59 75 25 59 25 59 41 + 200 3 60 59 57 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonabush4.pie b/data/base/features/arizonabush4.pie index e2d5270c9..9b30ec315 100644 --- a/data/base/features/arizonabush4.pie +++ b/data/base/features/arizonabush4.pie @@ -3,91 +3,116 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 61 - 0 0 0 - -18 41 -10 - -18 0 -10 - 18 0 10 - 18 41 10 - 10 41 -18 - 10 0 -18 - -10 0 18 - -10 41 18 - -18 2 -10 - 18 2 10 - 10 2 -18 - -10 2 18 - 9 41 -4 - 9 0 -4 - -33 0 4 - -33 41 4 - -8 41 21 - -8 0 21 - -16 0 -21 - -16 41 -21 - 9 2 -4 - -33 2 4 - -8 2 21 - -16 2 -21 - -2 41 7 - -2 0 7 - 38 0 -7 - 38 41 -7 - 11 41 -20 - 11 0 -20 - 25 0 20 - 25 41 20 - -2 2 7 - 38 2 -7 - 11 2 -20 - 25 2 20 - 21 41 16 - 21 0 16 - -21 0 16 - -21 41 16 - 0 41 37 - 0 0 37 - 0 0 -5 - 0 41 -5 - 21 2 16 - -21 2 16 - 0 2 37 - 0 2 -5 - -21 41 -16 - -21 0 -16 - 21 0 -16 - 21 41 -16 - 0 41 -37 - 0 0 -37 - 0 0 5 - 0 41 5 - -21 2 -16 - 21 2 -16 - 0 2 -37 +POINTS 61 + 0 0 0 + -18 41 -10 + -18 0 -10 + 18 0 10 + 18 41 10 + 10 41 -18 + 10 0 -18 + -10 0 18 + -10 41 18 + -18 2 -10 + 18 2 10 + 10 2 -18 + -10 2 18 + 9 41 -4 + 9 0 -4 + -33 0 4 + -33 41 4 + -8 41 21 + -8 0 21 + -16 0 -21 + -16 41 -21 + 9 2 -4 + -33 2 4 + -8 2 21 + -16 2 -21 + -2 41 7 + -2 0 7 + 38 0 -7 + 38 41 -7 + 11 41 -20 + 11 0 -20 + 25 0 20 + 25 41 20 + -2 2 7 + 38 2 -7 + 11 2 -20 + 25 2 20 + 21 41 16 + 21 0 16 + -21 0 16 + -21 41 16 + 0 41 37 + 0 0 37 + 0 0 -5 + 0 41 -5 + 21 2 16 + -21 2 16 + 0 2 37 + 0 2 -5 + -21 41 -16 + -21 0 -16 + 21 0 -16 + 21 41 -16 + 0 41 -37 + 0 0 -37 + 0 0 5 + 0 41 5 + -21 2 -16 + 21 2 -16 + 0 2 -37 0 2 5 -POLYGONS 25 - 200 4 1 2 3 4 44 25 44 41 59 41 59 25 - 200 4 4 3 2 1 59 25 59 41 44 41 44 25 - 200 4 5 6 7 8 44 25 44 41 59 41 59 25 - 200 4 8 7 6 5 59 25 59 41 44 41 44 25 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 - 200 4 13 14 15 16 44 25 44 41 59 41 59 25 - 200 4 16 15 14 13 59 25 59 41 44 41 44 25 - 200 4 17 18 19 20 44 25 44 41 59 41 59 25 - 200 4 20 19 18 17 59 25 59 41 44 41 44 25 - 200 4 24 22 23 21 75 25 59 25 59 41 75 41 - 200 4 25 26 27 28 44 25 44 41 59 41 59 25 - 200 4 28 27 26 25 59 25 59 41 44 41 44 25 - 200 4 29 30 31 32 44 25 44 41 59 41 59 25 - 200 4 32 31 30 29 59 25 59 41 44 41 44 25 - 200 4 36 34 35 33 75 25 59 25 59 41 75 41 - 200 4 37 38 39 40 44 25 44 41 59 41 59 25 - 200 4 40 39 38 37 59 25 59 41 44 41 44 25 - 200 4 41 42 43 44 44 25 44 41 59 41 59 25 - 200 4 44 43 42 41 59 25 59 41 44 41 44 25 - 200 4 48 46 47 45 75 25 59 25 59 41 75 41 - 200 4 49 50 51 52 44 25 44 41 59 41 59 25 - 200 4 52 51 50 49 59 25 59 41 44 41 44 25 - 200 4 53 54 55 56 44 25 44 41 59 41 59 25 - 200 4 56 55 54 53 59 25 59 41 44 41 44 25 - 200 4 60 58 59 57 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 50 + 200 3 1 2 3 44 25 44 41 59 41 + 200 3 1 3 4 44 25 59 41 59 25 + 200 3 4 3 2 59 25 59 41 44 41 + 200 3 4 2 1 59 25 44 41 44 25 + 200 3 5 6 7 44 25 44 41 59 41 + 200 3 5 7 8 44 25 59 41 59 25 + 200 3 8 7 6 59 25 59 41 44 41 + 200 3 8 6 5 59 25 44 41 44 25 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 + 200 3 13 14 15 44 25 44 41 59 41 + 200 3 13 15 16 44 25 59 41 59 25 + 200 3 16 15 14 59 25 59 41 44 41 + 200 3 16 14 13 59 25 44 41 44 25 + 200 3 17 18 19 44 25 44 41 59 41 + 200 3 17 19 20 44 25 59 41 59 25 + 200 3 20 19 18 59 25 59 41 44 41 + 200 3 20 18 17 59 25 44 41 44 25 + 200 3 24 22 23 75 25 59 25 59 41 + 200 3 24 23 21 75 25 59 41 75 41 + 200 3 25 26 27 44 25 44 41 59 41 + 200 3 25 27 28 44 25 59 41 59 25 + 200 3 28 27 26 59 25 59 41 44 41 + 200 3 28 26 25 59 25 44 41 44 25 + 200 3 29 30 31 44 25 44 41 59 41 + 200 3 29 31 32 44 25 59 41 59 25 + 200 3 32 31 30 59 25 59 41 44 41 + 200 3 32 30 29 59 25 44 41 44 25 + 200 3 36 34 35 75 25 59 25 59 41 + 200 3 36 35 33 75 25 59 41 75 41 + 200 3 37 38 39 44 25 44 41 59 41 + 200 3 37 39 40 44 25 59 41 59 25 + 200 3 40 39 38 59 25 59 41 44 41 + 200 3 40 38 37 59 25 44 41 44 25 + 200 3 41 42 43 44 25 44 41 59 41 + 200 3 41 43 44 44 25 59 41 59 25 + 200 3 44 43 42 59 25 59 41 44 41 + 200 3 44 42 41 59 25 44 41 44 25 + 200 3 48 46 47 75 25 59 25 59 41 + 200 3 48 47 45 75 25 59 41 75 41 + 200 3 49 50 51 44 25 44 41 59 41 + 200 3 49 51 52 44 25 59 41 59 25 + 200 3 52 51 50 59 25 59 41 44 41 + 200 3 52 50 49 59 25 44 41 44 25 + 200 3 53 54 55 44 25 44 41 59 41 + 200 3 53 55 56 44 25 59 41 59 25 + 200 3 56 55 54 59 25 59 41 44 41 + 200 3 56 54 53 59 25 44 41 44 25 + 200 3 60 58 59 75 25 59 25 59 41 + 200 3 60 59 57 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatree1.pie b/data/base/features/arizonatree1.pie index d2e58e80d..68d973237 100644 --- a/data/base/features/arizonatree1.pie +++ b/data/base/features/arizonatree1.pie @@ -3,23 +3,28 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 13 - 0 0 0 - -21 66 0 - -21 0 0 - 21 0 0 - 21 66 0 - 0 66 -21 - 0 0 -21 - 0 0 21 - 0 66 21 - -21 2 0 - 21 2 0 - 0 2 -21 +POINTS 13 + 0 0 0 + -21 66 0 + -21 0 0 + 21 0 0 + 21 66 0 + 0 66 -21 + 0 0 -21 + 0 0 21 + 0 66 21 + -21 2 0 + 21 2 0 + 0 2 -21 0 2 21 -POLYGONS 5 - 200 4 1 2 3 4 0 41 0 74 19 74 19 41 - 200 4 4 3 2 1 19 41 19 74 0 74 0 41 - 200 4 5 6 7 8 0 41 0 74 19 74 19 41 - 200 4 8 7 6 5 19 41 19 74 0 74 0 41 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 10 + 200 3 1 2 3 0 41 0 74 19 74 + 200 3 1 3 4 0 41 19 74 19 41 + 200 3 4 3 2 19 41 19 74 0 74 + 200 3 4 2 1 19 41 0 74 0 41 + 200 3 5 6 7 0 41 0 74 19 74 + 200 3 5 7 8 0 41 19 74 19 41 + 200 3 8 7 6 19 41 19 74 0 74 + 200 3 8 6 5 19 41 0 74 0 41 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatree2.pie b/data/base/features/arizonatree2.pie index d2e58e80d..68d973237 100644 --- a/data/base/features/arizonatree2.pie +++ b/data/base/features/arizonatree2.pie @@ -3,23 +3,28 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 13 - 0 0 0 - -21 66 0 - -21 0 0 - 21 0 0 - 21 66 0 - 0 66 -21 - 0 0 -21 - 0 0 21 - 0 66 21 - -21 2 0 - 21 2 0 - 0 2 -21 +POINTS 13 + 0 0 0 + -21 66 0 + -21 0 0 + 21 0 0 + 21 66 0 + 0 66 -21 + 0 0 -21 + 0 0 21 + 0 66 21 + -21 2 0 + 21 2 0 + 0 2 -21 0 2 21 -POLYGONS 5 - 200 4 1 2 3 4 0 41 0 74 19 74 19 41 - 200 4 4 3 2 1 19 41 19 74 0 74 0 41 - 200 4 5 6 7 8 0 41 0 74 19 74 19 41 - 200 4 8 7 6 5 19 41 19 74 0 74 0 41 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 10 + 200 3 1 2 3 0 41 0 74 19 74 + 200 3 1 3 4 0 41 19 74 19 41 + 200 3 4 3 2 19 41 19 74 0 74 + 200 3 4 2 1 19 41 0 74 0 41 + 200 3 5 6 7 0 41 0 74 19 74 + 200 3 5 7 8 0 41 19 74 19 41 + 200 3 8 7 6 19 41 19 74 0 74 + 200 3 8 6 5 19 41 0 74 0 41 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatree3.pie b/data/base/features/arizonatree3.pie index 9487af868..46a322fe6 100644 --- a/data/base/features/arizonatree3.pie +++ b/data/base/features/arizonatree3.pie @@ -3,23 +3,28 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 13 - 0 0 0 - -21 66 0 - -21 0 0 - 21 0 0 - 21 66 0 - 0 66 -21 - 0 0 -21 - 0 0 21 - 0 66 21 - -21 2 0 - 21 2 0 - 0 2 -21 +POINTS 13 + 0 0 0 + -21 66 0 + -21 0 0 + 21 0 0 + 21 66 0 + 0 66 -21 + 0 0 -21 + 0 0 21 + 0 66 21 + -21 2 0 + 21 2 0 + 0 2 -21 0 2 21 -POLYGONS 5 - 200 4 1 2 3 4 38 41 38 74 56 74 56 41 - 200 4 4 3 2 1 56 41 56 74 38 74 38 41 - 200 4 5 6 7 8 38 41 38 74 56 74 56 41 - 200 4 8 7 6 5 56 41 56 74 38 74 38 41 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 10 + 200 3 1 2 3 38 41 38 74 56 74 + 200 3 1 3 4 38 41 56 74 56 41 + 200 3 4 3 2 56 41 56 74 38 74 + 200 3 4 2 1 56 41 38 74 38 41 + 200 3 5 6 7 38 41 38 74 56 74 + 200 3 5 7 8 38 41 56 74 56 41 + 200 3 8 7 6 56 41 56 74 38 74 + 200 3 8 6 5 56 41 38 74 38 41 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatree4.pie b/data/base/features/arizonatree4.pie index 0c667f4aa..fd0a76125 100644 --- a/data/base/features/arizonatree4.pie +++ b/data/base/features/arizonatree4.pie @@ -3,23 +3,28 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 13 - 0 0 0 - -18 85 10 - -18 0 10 - 18 0 -10 - 18 85 -10 - -10 85 -18 - -10 0 -18 - 10 0 18 - 10 85 18 - -18 2 10 - 18 2 -10 - -10 2 -18 +POINTS 13 + 0 0 0 + -18 85 10 + -18 0 10 + 18 0 -10 + 18 85 -10 + -10 85 -18 + -10 0 -18 + 10 0 18 + 10 85 18 + -18 2 10 + 18 2 -10 + -10 2 -18 10 2 18 -POLYGONS 5 - 200 4 1 2 3 4 0 0 0 25 11 25 11 0 - 200 4 4 3 2 1 11 0 11 25 0 25 0 0 - 200 4 5 6 7 8 0 0 0 25 11 25 11 0 - 200 4 8 7 6 5 11 0 11 25 0 25 0 0 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 10 + 200 3 1 2 3 0 0 0 25 11 25 + 200 3 1 3 4 0 0 11 25 11 0 + 200 3 4 3 2 11 0 11 25 0 25 + 200 3 4 2 1 11 0 0 25 0 0 + 200 3 5 6 7 0 0 0 25 11 25 + 200 3 5 7 8 0 0 11 25 11 0 + 200 3 8 7 6 11 0 11 25 0 25 + 200 3 8 6 5 11 0 0 25 0 0 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatree5.pie b/data/base/features/arizonatree5.pie index b1ddaeeed..a03f53749 100644 --- a/data/base/features/arizonatree5.pie +++ b/data/base/features/arizonatree5.pie @@ -3,23 +3,28 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 13 - 0 0 0 - -12 85 -15 - -12 0 -15 - 14 0 17 - 14 85 17 - 16 85 -12 - 16 0 -12 - -16 0 14 - -16 85 14 - -13 2 -16 - 13 2 16 - 16 2 -13 +POINTS 13 + 0 0 0 + -12 85 -15 + -12 0 -15 + 14 0 17 + 14 85 17 + 16 85 -12 + 16 0 -12 + -16 0 14 + -16 85 14 + -13 2 -16 + 13 2 16 + 16 2 -13 -16 2 13 -POLYGONS 5 - 200 4 1 2 3 4 11 0 11 25 23 25 23 0 - 200 4 4 3 2 1 23 0 23 25 11 25 11 0 - 200 4 5 6 7 8 11 0 11 25 23 25 23 0 - 200 4 8 7 6 5 23 0 23 25 11 25 11 0 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 10 + 200 3 1 2 3 11 0 11 25 23 25 + 200 3 1 3 4 11 0 23 25 23 0 + 200 3 4 3 2 23 0 23 25 11 25 + 200 3 4 2 1 23 0 11 25 11 0 + 200 3 5 6 7 11 0 11 25 23 25 + 200 3 5 7 8 11 0 23 25 23 0 + 200 3 8 7 6 23 0 23 25 11 25 + 200 3 8 6 5 23 0 11 25 11 0 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatree6.pie b/data/base/features/arizonatree6.pie index bfac4111e..f372a01cd 100644 --- a/data/base/features/arizonatree6.pie +++ b/data/base/features/arizonatree6.pie @@ -3,23 +3,28 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 13 - 0 0 0 - -18 85 9 - -18 0 9 - 18 0 -11 - 18 85 -11 - -10 85 -19 - -10 0 -19 - 10 0 17 - 10 85 17 - -18 2 10 - 18 2 -10 - -10 2 -18 +POINTS 13 + 0 0 0 + -18 85 9 + -18 0 9 + 18 0 -11 + 18 85 -11 + -10 85 -19 + -10 0 -19 + 10 0 17 + 10 85 17 + -18 2 10 + 18 2 -10 + -10 2 -18 10 2 18 -POLYGONS 5 - 200 4 1 2 3 4 23 0 23 25 37 25 37 0 - 200 4 4 3 2 1 37 0 37 25 23 25 23 0 - 200 4 5 6 7 8 23 0 23 25 37 25 37 0 - 200 4 8 7 6 5 37 0 37 25 23 25 23 0 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 10 + 200 3 1 2 3 23 0 23 25 37 25 + 200 3 1 3 4 23 0 37 25 37 0 + 200 3 4 3 2 37 0 37 25 23 25 + 200 3 4 2 1 37 0 23 25 23 0 + 200 3 5 6 7 23 0 23 25 37 25 + 200 3 5 7 8 23 0 37 25 37 0 + 200 3 8 7 6 37 0 37 25 23 25 + 200 3 8 6 5 37 0 23 25 23 0 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/arizonatrees1.pie b/data/base/features/arizonatrees1.pie index 5fbc7b41b..940f55a21 100644 --- a/data/base/features/arizonatrees1.pie +++ b/data/base/features/arizonatrees1.pie @@ -3,130 +3,165 @@ TYPE 200 TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 -POINTS 90 - -8 0 32 - -20 85 17 - -20 0 17 - 6 0 49 - 6 85 49 - 8 85 20 - 8 0 20 - -24 0 46 - -24 85 46 - -21 2 16 - 5 2 48 - 8 2 19 - -24 2 45 - -8 85 -37 - -8 0 -37 - 24 0 -11 - 24 85 -11 - 21 85 -40 - 21 0 -40 - -5 0 -8 - -5 85 -8 - -8 2 -37 - 24 2 -11 - 21 2 -40 - -5 2 -8 - -9 85 20 - -9 0 20 - -9 0 -21 - -9 85 -21 - -29 85 -1 - -29 0 -1 - 12 0 0 - 12 85 0 - -8 2 21 - -8 2 -21 - -29 2 0 - 13 2 0 - -8 2 0 - 8 2 -24 - 8 85 -13 - 8 0 -13 - 40 0 13 - 40 85 13 - 37 85 -16 - 37 0 -16 - 11 0 16 - 11 85 16 - 8 2 -13 - 40 2 13 - 37 2 -16 - 11 2 16 - 33 85 44 - 33 0 44 - -2 0 21 - -2 85 21 - 5 85 50 - 5 0 50 - 28 0 15 - 28 85 15 - 34 2 44 - 0 2 22 - 6 2 51 - 28 2 16 - 16 29 33 - -50 85 14 - -50 0 14 - -13 0 33 - -13 85 33 - -22 85 5 - -22 0 5 - -41 0 42 - -41 85 42 - -50 2 15 - -14 2 33 - -23 2 6 - -41 2 42 - -32 2 24 - -7 85 -4 - -7 0 -4 - -42 0 -27 - -42 85 -27 - -35 85 2 - -35 0 2 - -12 0 -33 - -12 85 -33 - -6 2 -4 - -40 2 -26 - -34 2 3 - -12 2 -32 +POINTS 90 + -8 0 32 + -20 85 17 + -20 0 17 + 6 0 49 + 6 85 49 + 8 85 20 + 8 0 20 + -24 0 46 + -24 85 46 + -21 2 16 + 5 2 48 + 8 2 19 + -24 2 45 + -8 85 -37 + -8 0 -37 + 24 0 -11 + 24 85 -11 + 21 85 -40 + 21 0 -40 + -5 0 -8 + -5 85 -8 + -8 2 -37 + 24 2 -11 + 21 2 -40 + -5 2 -8 + -9 85 20 + -9 0 20 + -9 0 -21 + -9 85 -21 + -29 85 -1 + -29 0 -1 + 12 0 0 + 12 85 0 + -8 2 21 + -8 2 -21 + -29 2 0 + 13 2 0 + -8 2 0 + 8 2 -24 + 8 85 -13 + 8 0 -13 + 40 0 13 + 40 85 13 + 37 85 -16 + 37 0 -16 + 11 0 16 + 11 85 16 + 8 2 -13 + 40 2 13 + 37 2 -16 + 11 2 16 + 33 85 44 + 33 0 44 + -2 0 21 + -2 85 21 + 5 85 50 + 5 0 50 + 28 0 15 + 28 85 15 + 34 2 44 + 0 2 22 + 6 2 51 + 28 2 16 + 16 29 33 + -50 85 14 + -50 0 14 + -13 0 33 + -13 85 33 + -22 85 5 + -22 0 5 + -41 0 42 + -41 85 42 + -50 2 15 + -14 2 33 + -23 2 6 + -41 2 42 + -32 2 24 + -7 85 -4 + -7 0 -4 + -42 0 -27 + -42 85 -27 + -35 85 2 + -35 0 2 + -12 0 -33 + -12 85 -33 + -6 2 -4 + -40 2 -26 + -34 2 3 + -12 2 -32 -24 29 -15 -POLYGONS 35 - 200 4 1 2 3 4 11 0 11 25 23 25 23 0 - 200 4 4 3 2 1 23 0 23 25 11 25 11 0 - 200 4 5 6 7 8 11 0 11 25 23 25 23 0 - 200 4 8 7 6 5 23 0 23 25 11 25 11 0 - 200 4 12 10 11 9 75 25 59 25 59 41 75 41 - 200 4 13 14 15 16 0 0 0 25 11 25 11 0 - 200 4 16 15 14 13 11 0 11 25 0 25 0 0 - 200 4 17 18 19 20 0 0 0 25 11 25 11 0 - 200 4 20 19 18 17 11 0 11 25 0 25 0 0 - 200 4 24 22 23 21 75 25 59 25 59 41 75 41 - 200 4 25 26 27 28 23 0 23 25 37 25 37 0 - 200 4 28 27 26 25 37 0 37 25 23 25 23 0 - 200 4 29 30 31 32 23 0 23 25 37 25 37 0 - 200 4 32 31 30 29 37 0 37 25 23 25 23 0 - 200 4 36 34 35 33 75 25 59 25 59 41 75 41 - 200 4 39 40 41 42 0 0 0 25 11 25 11 0 - 200 4 42 41 40 39 11 0 11 25 0 25 0 0 - 200 4 43 44 45 46 0 0 0 25 11 25 11 0 - 200 4 46 45 44 43 11 0 11 25 0 25 0 0 - 200 4 50 48 49 47 75 25 59 25 59 41 75 41 - 200 4 51 52 53 54 11 0 11 25 23 25 23 0 - 200 4 54 53 52 51 23 0 23 25 11 25 11 0 - 200 4 55 56 57 58 11 0 11 25 23 25 23 0 - 200 4 58 57 56 55 23 0 23 25 11 25 11 0 - 200 4 62 60 61 59 75 25 59 25 59 41 75 41 - 200 4 64 65 66 67 23 0 23 25 37 25 37 0 - 200 4 67 66 65 64 37 0 37 25 23 25 23 0 - 200 4 68 69 70 71 23 0 23 25 37 25 37 0 - 200 4 71 70 69 68 37 0 37 25 23 25 23 0 - 200 4 75 73 74 72 75 25 59 25 59 41 75 41 - 200 4 77 78 79 80 11 0 11 25 23 25 23 0 - 200 4 80 79 78 77 23 0 23 25 11 25 11 0 - 200 4 81 82 83 84 11 0 11 25 23 25 23 0 - 200 4 84 83 82 81 23 0 23 25 11 25 11 0 - 200 4 88 86 87 85 75 25 59 25 59 41 75 41 \ No newline at end of file +POLYGONS 70 + 200 3 1 2 3 11 0 11 25 23 25 + 200 3 1 3 4 11 0 23 25 23 0 + 200 3 4 3 2 23 0 23 25 11 25 + 200 3 4 2 1 23 0 11 25 11 0 + 200 3 5 6 7 11 0 11 25 23 25 + 200 3 5 7 8 11 0 23 25 23 0 + 200 3 8 7 6 23 0 23 25 11 25 + 200 3 8 6 5 23 0 11 25 11 0 + 200 3 12 10 11 75 25 59 25 59 41 + 200 3 12 11 9 75 25 59 41 75 41 + 200 3 13 14 15 0 0 0 25 11 25 + 200 3 13 15 16 0 0 11 25 11 0 + 200 3 16 15 14 11 0 11 25 0 25 + 200 3 16 14 13 11 0 0 25 0 0 + 200 3 17 18 19 0 0 0 25 11 25 + 200 3 17 19 20 0 0 11 25 11 0 + 200 3 20 19 18 11 0 11 25 0 25 + 200 3 20 18 17 11 0 0 25 0 0 + 200 3 24 22 23 75 25 59 25 59 41 + 200 3 24 23 21 75 25 59 41 75 41 + 200 3 25 26 27 23 0 23 25 37 25 + 200 3 25 27 28 23 0 37 25 37 0 + 200 3 28 27 26 37 0 37 25 23 25 + 200 3 28 26 25 37 0 23 25 23 0 + 200 3 29 30 31 23 0 23 25 37 25 + 200 3 29 31 32 23 0 37 25 37 0 + 200 3 32 31 30 37 0 37 25 23 25 + 200 3 32 30 29 37 0 23 25 23 0 + 200 3 36 34 35 75 25 59 25 59 41 + 200 3 36 35 33 75 25 59 41 75 41 + 200 3 39 40 41 0 0 0 25 11 25 + 200 3 39 41 42 0 0 11 25 11 0 + 200 3 42 41 40 11 0 11 25 0 25 + 200 3 42 40 39 11 0 0 25 0 0 + 200 3 43 44 45 0 0 0 25 11 25 + 200 3 43 45 46 0 0 11 25 11 0 + 200 3 46 45 44 11 0 11 25 0 25 + 200 3 46 44 43 11 0 0 25 0 0 + 200 3 50 48 49 75 25 59 25 59 41 + 200 3 50 49 47 75 25 59 41 75 41 + 200 3 51 52 53 11 0 11 25 23 25 + 200 3 51 53 54 11 0 23 25 23 0 + 200 3 54 53 52 23 0 23 25 11 25 + 200 3 54 52 51 23 0 11 25 11 0 + 200 3 55 56 57 11 0 11 25 23 25 + 200 3 55 57 58 11 0 23 25 23 0 + 200 3 58 57 56 23 0 23 25 11 25 + 200 3 58 56 55 23 0 11 25 11 0 + 200 3 62 60 61 75 25 59 25 59 41 + 200 3 62 61 59 75 25 59 41 75 41 + 200 3 64 65 66 23 0 23 25 37 25 + 200 3 64 66 67 23 0 37 25 37 0 + 200 3 67 66 65 37 0 37 25 23 25 + 200 3 67 65 64 37 0 23 25 23 0 + 200 3 68 69 70 23 0 23 25 37 25 + 200 3 68 70 71 23 0 37 25 37 0 + 200 3 71 70 69 37 0 37 25 23 25 + 200 3 71 69 68 37 0 23 25 23 0 + 200 3 75 73 74 75 25 59 25 59 41 + 200 3 75 74 72 75 25 59 41 75 41 + 200 3 77 78 79 11 0 11 25 23 25 + 200 3 77 79 80 11 0 23 25 23 0 + 200 3 80 79 78 23 0 23 25 11 25 + 200 3 80 78 77 23 0 11 25 11 0 + 200 3 81 82 83 11 0 11 25 23 25 + 200 3 81 83 84 11 0 23 25 23 0 + 200 3 84 83 82 23 0 23 25 11 25 + 200 3 84 82 81 23 0 11 25 11 0 + 200 3 88 86 87 75 25 59 25 59 41 + 200 3 88 87 85 75 25 59 41 75 41 \ No newline at end of file diff --git a/data/base/features/blbrhut1.pie b/data/base/features/blbrhut1.pie index 8a9725056..81ede9b69 100644 --- a/data/base/features/blbrhut1.pie +++ b/data/base/features/blbrhut1.pie @@ -22,11 +22,18 @@ POINTS 18 44 1 -44 -29 1 59 -44 1 44 -POLYGONS 7 - 200 4 15 14 13 12 151 0 184 0 190 7 157 7 - 200 4 17 16 13 14 190 0 185 7 151 7 156 0 - 200 4 7 6 5 4 168 49 127 49 127 72 168 72 - 200 4 6 3 0 5 168 24 127 24 127 46 168 46 - 200 4 3 2 1 0 127 49 168 49 168 72 127 72 - 200 4 2 7 4 1 127 24 168 24 168 46 127 46 - 200 4 11 10 9 8 189 131 189 105 220 105 220 131 \ No newline at end of file +POLYGONS 14 + 200 3 15 14 13 151 0 184 0 190 7 + 200 3 15 13 12 151 0 190 7 157 7 + 200 3 17 16 13 190 0 185 7 151 7 + 200 3 17 13 14 190 0 151 7 156 0 + 200 3 7 6 5 168 49 127 49 127 72 + 200 3 7 5 4 168 49 127 72 168 72 + 200 3 6 3 0 168 24 127 24 127 46 + 200 3 6 0 5 168 24 127 46 168 46 + 200 3 3 2 1 127 49 168 49 168 72 + 200 3 3 1 0 127 49 168 72 127 72 + 200 3 2 7 4 127 24 168 24 168 46 + 200 3 2 4 1 127 24 168 46 127 46 + 200 3 11 10 9 189 131 189 105 220 105 + 200 3 11 9 8 189 131 220 105 220 131 \ No newline at end of file diff --git a/data/base/features/blfactrd.pie b/data/base/features/blfactrd.pie index bfc43ef44..01228033d 100644 --- a/data/base/features/blfactrd.pie +++ b/data/base/features/blfactrd.pie @@ -46,54 +46,104 @@ POINTS 42 72 1 36 87 1 51 87 1 -21 -POLYGONS 50 - 200 4 0 1 2 3 194 83 208 83 208 66 195 66 - 200 4 3 2 1 0 195 66 208 66 208 83 194 83 - 200 4 2 4 5 3 208 66 208 49 194 49 195 66 - 200 4 3 5 4 2 195 66 194 49 208 49 208 66 - 200 4 5 6 7 3 194 49 180 49 180 66 195 66 - 200 4 3 7 6 5 195 66 180 66 180 49 194 49 - 200 4 7 8 0 3 180 66 180 83 194 83 195 66 - 200 4 3 0 8 7 195 66 194 83 180 83 180 66 - 200 4 9 10 11 12 168 82 130 82 130 66 168 66 - 200 4 12 11 10 9 168 66 130 66 130 82 168 82 - 200 4 11 13 14 12 130 66 130 49 168 49 168 66 - 200 4 12 14 13 11 168 66 168 49 130 49 130 66 - 200 4 14 4 2 12 168 49 207 49 207 66 168 66 - 200 4 12 2 4 14 168 66 207 66 207 49 168 49 - 200 4 2 1 9 12 207 66 207 82 168 82 168 66 - 200 4 12 9 1 2 168 66 168 82 207 82 207 66 - 200 4 15 8 7 16 168 82 207 82 207 66 169 66 - 200 4 16 7 8 15 169 66 207 66 207 82 168 82 - 200 4 7 6 17 16 207 66 207 49 168 49 169 66 - 200 4 16 17 6 7 169 66 168 49 207 49 207 66 - 200 4 17 18 19 16 168 49 130 49 130 66 169 66 - 200 4 16 19 18 17 169 66 130 66 130 49 168 49 - 200 4 19 20 15 16 130 66 130 82 168 82 169 66 - 200 4 16 15 20 19 169 66 168 82 130 82 130 66 - 200 4 21 20 19 22 244 43 256 43 256 22 244 22 - 200 4 22 19 20 21 244 22 256 22 256 43 244 43 - 200 4 19 18 23 22 256 22 256 1 244 1 244 22 - 200 4 22 23 18 19 244 22 244 1 256 1 256 22 - 200 4 23 13 11 22 244 1 232 1 232 22 244 22 - 200 4 22 11 13 23 244 22 232 22 232 1 244 1 - 200 4 11 10 21 22 232 22 232 43 244 43 244 22 - 200 4 22 21 10 11 244 22 244 43 232 43 232 22 - 200 4 21 20 15 24 0 248 0 256 38 256 38 248 - 200 4 24 15 20 21 38 248 38 256 0 256 0 248 - 200 4 15 8 0 24 38 256 76 256 76 248 38 248 - 200 4 24 0 8 15 38 248 76 248 76 256 38 256 - 200 4 0 1 9 24 76 248 76 240 38 240 38 248 - 200 4 24 9 1 0 38 248 38 240 76 240 76 248 - 200 4 9 10 21 24 38 240 0 240 0 248 38 248 - 200 4 24 21 10 9 38 248 0 248 0 240 38 240 - 200 4 25 26 27 28 96 177 116 177 116 135 96 135 - 200 4 28 27 26 25 96 135 116 135 116 177 96 177 - 200 4 29 30 31 32 96 177 116 177 116 135 96 135 - 200 4 32 31 30 29 96 135 116 135 116 177 96 177 - 200 4 33 34 35 36 96 177 116 177 116 135 96 135 - 200 4 36 35 34 33 96 135 116 135 116 177 96 177 - 200 4 37 38 39 40 90 73 89 74 95 74 95 73 - 200 4 40 39 38 37 95 73 95 74 89 74 90 73 - 200 4 41 40 39 8 95 79 95 73 95 74 95 80 - 200 4 8 39 40 41 95 80 95 74 95 73 95 79 +POLYGONS 100 + 200 3 0 1 2 194 83 208 83 208 66 + 200 3 0 2 3 194 83 208 66 195 66 + 200 3 3 2 1 195 66 208 66 208 83 + 200 3 3 1 0 195 66 208 83 194 83 + 200 3 2 4 5 208 66 208 49 194 49 + 200 3 2 5 3 208 66 194 49 195 66 + 200 3 3 5 4 195 66 194 49 208 49 + 200 3 3 4 2 195 66 208 49 208 66 + 200 3 5 6 7 194 49 180 49 180 66 + 200 3 5 7 3 194 49 180 66 195 66 + 200 3 3 7 6 195 66 180 66 180 49 + 200 3 3 6 5 195 66 180 49 194 49 + 200 3 7 8 0 180 66 180 83 194 83 + 200 3 7 0 3 180 66 194 83 195 66 + 200 3 3 0 8 195 66 194 83 180 83 + 200 3 3 8 7 195 66 180 83 180 66 + 200 3 9 10 11 168 82 130 82 130 66 + 200 3 9 11 12 168 82 130 66 168 66 + 200 3 12 11 10 168 66 130 66 130 82 + 200 3 12 10 9 168 66 130 82 168 82 + 200 3 11 13 14 130 66 130 49 168 49 + 200 3 11 14 12 130 66 168 49 168 66 + 200 3 12 14 13 168 66 168 49 130 49 + 200 3 12 13 11 168 66 130 49 130 66 + 200 3 14 4 2 168 49 207 49 207 66 + 200 3 14 2 12 168 49 207 66 168 66 + 200 3 12 2 4 168 66 207 66 207 49 + 200 3 12 4 14 168 66 207 49 168 49 + 200 3 2 1 9 207 66 207 82 168 82 + 200 3 2 9 12 207 66 168 82 168 66 + 200 3 12 9 1 168 66 168 82 207 82 + 200 3 12 1 2 168 66 207 82 207 66 + 200 3 15 8 7 168 82 207 82 207 66 + 200 3 15 7 16 168 82 207 66 169 66 + 200 3 16 7 8 169 66 207 66 207 82 + 200 3 16 8 15 169 66 207 82 168 82 + 200 3 7 6 17 207 66 207 49 168 49 + 200 3 7 17 16 207 66 168 49 169 66 + 200 3 16 17 6 169 66 168 49 207 49 + 200 3 16 6 7 169 66 207 49 207 66 + 200 3 17 18 19 168 49 130 49 130 66 + 200 3 17 19 16 168 49 130 66 169 66 + 200 3 16 19 18 169 66 130 66 130 49 + 200 3 16 18 17 169 66 130 49 168 49 + 200 3 19 20 15 130 66 130 82 168 82 + 200 3 19 15 16 130 66 168 82 169 66 + 200 3 16 15 20 169 66 168 82 130 82 + 200 3 16 20 19 169 66 130 82 130 66 + 200 3 21 20 19 244 43 256 43 256 22 + 200 3 21 19 22 244 43 256 22 244 22 + 200 3 22 19 20 244 22 256 22 256 43 + 200 3 22 20 21 244 22 256 43 244 43 + 200 3 19 18 23 256 22 256 1 244 1 + 200 3 19 23 22 256 22 244 1 244 22 + 200 3 22 23 18 244 22 244 1 256 1 + 200 3 22 18 19 244 22 256 1 256 22 + 200 3 23 13 11 244 1 232 1 232 22 + 200 3 23 11 22 244 1 232 22 244 22 + 200 3 22 11 13 244 22 232 22 232 1 + 200 3 22 13 23 244 22 232 1 244 1 + 200 3 11 10 21 232 22 232 43 244 43 + 200 3 11 21 22 232 22 244 43 244 22 + 200 3 22 21 10 244 22 244 43 232 43 + 200 3 22 10 11 244 22 232 43 232 22 + 200 3 21 20 15 0 248 0 256 38 256 + 200 3 21 15 24 0 248 38 256 38 248 + 200 3 24 15 20 38 248 38 256 0 256 + 200 3 24 20 21 38 248 0 256 0 248 + 200 3 15 8 0 38 256 76 256 76 248 + 200 3 15 0 24 38 256 76 248 38 248 + 200 3 24 0 8 38 248 76 248 76 256 + 200 3 24 8 15 38 248 76 256 38 256 + 200 3 0 1 9 76 248 76 240 38 240 + 200 3 0 9 24 76 248 38 240 38 248 + 200 3 24 9 1 38 248 38 240 76 240 + 200 3 24 1 0 38 248 76 240 76 248 + 200 3 9 10 21 38 240 0 240 0 248 + 200 3 9 21 24 38 240 0 248 38 248 + 200 3 24 21 10 38 248 0 248 0 240 + 200 3 24 10 9 38 248 0 240 38 240 + 200 3 25 26 27 96 177 116 177 116 135 + 200 3 25 27 28 96 177 116 135 96 135 + 200 3 28 27 26 96 135 116 135 116 177 + 200 3 28 26 25 96 135 116 177 96 177 + 200 3 29 30 31 96 177 116 177 116 135 + 200 3 29 31 32 96 177 116 135 96 135 + 200 3 32 31 30 96 135 116 135 116 177 + 200 3 32 30 29 96 135 116 177 96 177 + 200 3 33 34 35 96 177 116 177 116 135 + 200 3 33 35 36 96 177 116 135 96 135 + 200 3 36 35 34 96 135 116 135 116 177 + 200 3 36 34 33 96 135 116 177 96 177 + 200 3 37 38 39 90 73 89 74 95 74 + 200 3 37 39 40 90 73 95 74 95 73 + 200 3 40 39 38 95 73 95 74 89 74 + 200 3 40 38 37 95 73 89 74 90 73 + 200 3 41 40 39 95 79 95 73 95 74 + 200 3 41 39 8 95 79 95 74 95 80 + 200 3 8 39 40 95 80 95 74 95 73 + 200 3 8 40 41 95 80 95 73 95 79 \ No newline at end of file diff --git a/data/base/features/blwall4.pie b/data/base/features/blwall4.pie index 6dbde400e..6891b89e8 100644 --- a/data/base/features/blwall4.pie +++ b/data/base/features/blwall4.pie @@ -4,24 +4,32 @@ TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 POINTS 12 - -65 0 -24 - 0 0 -24 - 0 78 -12 - -65 78 -12 - 64 0 -24 - 64 0 25 - 64 78 13 - 64 78 -12 - 0 0 25 - -65 0 25 - -65 78 13 + -65 0 -24 + 0 0 -24 + 0 78 -12 + -65 78 -12 + 64 0 -24 + 64 0 25 + 64 78 13 + 64 78 -12 + 0 0 25 + -65 0 25 + -65 78 13 0 78 13 -POLYGONS 8 - 200 4 3 2 1 0 131 171 150 171 150 207 131 207 - 200 4 7 6 5 4 140 171 160 171 170 207 130 207 - 200 4 11 10 9 8 150 171 169 171 169 207 150 207 - 200 4 10 3 0 9 140 171 160 171 170 207 130 207 - 200 4 7 4 1 2 169 171 169 207 150 207 150 171 - 200 4 5 6 11 8 131 207 131 171 150 171 150 207 - 200 4 10 11 2 3 1 209 28 209 28 222 1 222 - 200 4 6 7 2 11 55 209 55 222 28 222 28 209 \ No newline at end of file +POLYGONS 16 + 200 3 3 2 1 131 171 150 171 150 207 + 200 3 3 1 0 131 171 150 207 131 207 + 200 3 7 6 5 140 171 160 171 170 207 + 200 3 7 5 4 140 171 170 207 130 207 + 200 3 11 10 9 150 171 169 171 169 207 + 200 3 11 9 8 150 171 169 207 150 207 + 200 3 10 3 0 140 171 160 171 170 207 + 200 3 10 0 9 140 171 170 207 130 207 + 200 3 7 4 1 169 171 169 207 150 207 + 200 3 7 1 2 169 171 150 207 150 171 + 200 3 5 6 11 131 207 131 171 150 171 + 200 3 5 11 8 131 207 150 171 150 207 + 200 3 10 11 2 1 209 28 209 28 222 + 200 3 10 2 3 1 209 28 222 1 222 + 200 3 6 7 2 55 209 55 222 28 222 + 200 3 6 2 11 55 209 28 222 28 209 \ No newline at end of file diff --git a/data/base/features/blwall4smash.pie b/data/base/features/blwall4smash.pie index af3f9495a..2065930f2 100644 --- a/data/base/features/blwall4smash.pie +++ b/data/base/features/blwall4smash.pie @@ -3,25 +3,33 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 12 - -65 0 -24 - 0 0 -32 - 0 70 -12 - -65 78 -12 - 64 0 -24 - 64 0 25 - 64 70 13 - 64 78 -12 - 0 0 17 - -65 0 25 - -65 70 13 +POINTS 12 + -65 0 -24 + 0 0 -32 + 0 70 -12 + -65 78 -12 + 64 0 -24 + 64 0 25 + 64 70 13 + 64 78 -12 + 0 0 17 + -65 0 25 + -65 70 13 0 78 13 -POLYGONS 8 - 200 4 3 2 1 0 131 171 150 171 150 207 131 207 - 200 4 7 6 5 4 140 171 160 171 170 207 130 207 - 200 4 11 10 9 8 150 171 169 171 169 207 150 207 - 200 4 10 3 0 9 140 171 160 171 170 207 130 207 - 200 4 7 4 1 2 169 171 169 207 150 207 150 171 - 200 4 5 6 11 8 131 207 131 171 150 171 150 207 - 200 4 10 11 2 3 1 209 28 209 28 222 1 222 - 200 4 6 7 2 11 55 209 55 222 28 222 28 209 +POLYGONS 16 + 200 3 3 2 1 131 171 150 171 150 207 + 200 3 3 1 0 131 171 150 207 131 207 + 200 3 7 6 5 140 171 160 171 170 207 + 200 3 7 5 4 140 171 170 207 130 207 + 200 3 11 10 9 150 171 169 171 169 207 + 200 3 11 9 8 150 171 169 207 150 207 + 200 3 10 3 0 140 171 160 171 170 207 + 200 3 10 0 9 140 171 170 207 130 207 + 200 3 7 4 1 169 171 169 207 150 207 + 200 3 7 1 2 169 171 150 207 150 171 + 200 3 5 6 11 131 207 131 171 150 171 + 200 3 5 11 8 131 207 150 171 150 207 + 200 3 10 11 2 1 209 28 209 28 222 + 200 3 10 2 3 1 209 28 222 1 222 + 200 3 6 7 2 55 209 55 222 28 222 + 200 3 6 2 11 55 209 28 222 28 209 \ No newline at end of file diff --git a/data/base/features/blwallc4.pie b/data/base/features/blwallc4.pie index a35f939d4..37244ae2a 100644 --- a/data/base/features/blwallc4.pie +++ b/data/base/features/blwallc4.pie @@ -3,54 +3,63 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 24 - -26 91 26 - -65 78 12 - -65 78 -12 - -26 91 -25 - 13 78 65 - -13 78 65 - 26 91 26 - 13 78 -65 - 26 91 -25 - -13 78 -65 - 65 78 -12 - 65 78 12 - -65 0 -26 - -26 0 -26 - -26 0 -65 - 26 0 -65 - -65 0 26 - 26 0 -26 - 65 0 -26 - 65 0 26 - 26 0 26 - 26 0 65 - -26 0 65 +POINTS 24 + -26 91 26 + -65 78 12 + -65 78 -12 + -26 91 -25 + 13 78 65 + -13 78 65 + 26 91 26 + 13 78 -65 + 26 91 -25 + -13 78 -65 + 65 78 -12 + 65 78 12 + -65 0 -26 + -26 0 -26 + -26 0 -65 + 26 0 -65 + -65 0 26 + 26 0 -26 + 65 0 -26 + 65 0 26 + 26 0 26 + 26 0 65 + -26 0 65 -26 0 26 -POLYGONS 25 - 200 4 1 2 12 16 160 172 141 172 131 208 170 208 - 200 3 8 10 18 131 172 170 177 170 208 - 200 3 2 3 12 131 177 170 172 131 208 - 200 3 3 13 12 170 172 170 208 131 208 - 200 3 17 8 18 131 208 131 172 170 208 - 200 4 9 7 15 14 140 172 161 172 170 208 131 208 - 200 3 8 17 15 170 172 170 208 131 208 - 200 3 13 3 14 170 208 170 172 131 208 - 200 3 7 8 15 131 177 170 172 131 208 - 200 3 3 9 14 170 172 131 177 131 208 - 200 4 8 3 0 6 170 204 131 204 131 176 170 176 - 200 4 10 11 19 18 141 172 160 172 170 208 131 208 - 4200 4 8 6 11 10 8 1 56 15 0 222 0 209 56 212 56 219 - 200 3 11 6 19 170 177 131 172 170 208 - 4200 4 9 3 8 7 8 1 56 15 0 212 56 209 56 222 0 219 - 200 3 0 1 16 170 172 131 177 131 208 - 4200 4 3 2 1 0 8 1 56 15 56 222 0 219 0 212 56 209 - 200 3 6 20 19 131 172 131 208 170 208 - 200 3 23 0 16 170 208 170 172 131 208 - 200 4 4 5 22 21 161 172 140 172 131 208 170 208 - 200 3 20 6 21 131 208 131 172 170 208 - 200 3 0 23 22 131 172 131 208 170 208 - 200 3 6 4 21 131 172 170 177 170 208 - 200 3 5 0 22 170 177 131 172 170 208 - 4200 4 6 0 5 4 8 1 56 15 0 222 0 209 56 212 56 219 +POLYGONS 34 + 200 3 1 2 12 160 172 141 172 131 208 + 200 3 1 12 16 160 172 131 208 170 208 + 200 3 8 10 18 131 172 170 177 170 208 + 200 3 2 3 12 131 177 170 172 131 208 + 200 3 3 13 12 170 172 170 208 131 208 + 200 3 17 8 18 131 208 131 172 170 208 + 200 3 9 7 15 140 172 161 172 170 208 + 200 3 9 15 14 140 172 170 208 131 208 + 200 3 8 17 15 170 172 170 208 131 208 + 200 3 13 3 14 170 208 170 172 131 208 + 200 3 7 8 15 131 177 170 172 131 208 + 200 3 3 9 14 170 172 131 177 131 208 + 200 3 8 3 0 170 204 131 204 131 176 + 200 3 8 0 6 170 204 131 176 170 176 + 200 3 10 11 19 141 172 160 172 170 208 + 200 3 10 19 18 141 172 170 208 131 208 + 4200 3 8 6 11 8 1 56 15 0 222 0 209 56 212 + 4200 3 8 11 10 8 1 56 15 0 222 56 212 56 219 + 200 3 11 6 19 170 177 131 172 170 208 + 4200 3 9 3 8 8 1 56 15 0 212 56 209 56 222 + 4200 3 9 8 7 8 1 56 15 0 212 56 222 0 219 + 200 3 0 1 16 170 172 131 177 131 208 + 4200 3 3 2 1 8 1 56 15 56 222 0 219 0 212 + 4200 3 3 1 0 8 1 56 15 56 222 0 212 56 209 + 200 3 6 20 19 131 172 131 208 170 208 + 200 3 23 0 16 170 208 170 172 131 208 + 200 3 4 5 22 161 172 140 172 131 208 + 200 3 4 22 21 161 172 131 208 170 208 + 200 3 20 6 21 131 208 131 172 170 208 + 200 3 0 23 22 131 172 131 208 170 208 + 200 3 6 4 21 131 172 170 177 170 208 + 200 3 5 0 22 170 177 131 172 170 208 + 4200 3 6 0 5 8 1 56 15 0 222 0 209 56 212 + 4200 3 6 5 4 8 1 56 15 0 222 56 212 56 219 \ No newline at end of file diff --git a/data/base/features/blwallc4smash.pie b/data/base/features/blwallc4smash.pie index bc48eeeb8..28a4270b7 100644 --- a/data/base/features/blwallc4smash.pie +++ b/data/base/features/blwallc4smash.pie @@ -3,54 +3,63 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 24 - -26 99 26 - -65 78 12 - -65 78 -12 - -34 83 -25 - 13 62 65 - -13 70 65 - 26 59 26 - 13 78 -65 - 26 91 -25 - -13 78 -65 - 65 78 -4 - 65 78 12 - -65 0 -26 - -26 0 -34 - -26 0 -65 - 26 0 -65 - -65 0 -6 - 26 0 -26 - 65 0 -26 - 65 0 26 - 34 0 18 - 26 0 65 - -26 0 65 +POINTS 24 + -26 99 26 + -65 78 12 + -65 78 -12 + -34 83 -25 + 13 62 65 + -13 70 65 + 26 59 26 + 13 78 -65 + 26 91 -25 + -13 78 -65 + 65 78 -4 + 65 78 12 + -65 0 -26 + -26 0 -34 + -26 0 -65 + 26 0 -65 + -65 0 -6 + 26 0 -26 + 65 0 -26 + 65 0 26 + 34 0 18 + 26 0 65 + -26 0 65 -42 0 26 -POLYGONS 25 - 200 4 1 2 12 16 160 172 141 172 131 208 170 208 - 200 3 8 10 18 131 172 170 177 170 208 - 200 3 2 3 12 131 177 170 172 131 208 - 200 3 3 13 12 170 172 170 208 131 208 - 200 3 17 8 18 131 208 131 172 170 208 - 200 4 9 7 15 14 140 172 161 172 170 208 131 208 - 200 3 8 17 15 170 172 170 208 131 208 - 200 3 13 3 14 170 208 170 172 131 208 - 200 3 7 8 15 131 177 170 172 131 208 - 200 3 3 9 14 170 172 131 177 131 208 - 200 4 8 3 0 6 170 204 131 204 131 176 170 176 - 200 4 10 11 19 18 141 172 160 172 170 208 131 208 - 4200 4 8 6 11 10 8 1 56 15 0 222 0 209 56 212 56 219 - 200 3 11 6 19 170 177 131 172 170 208 - 4200 4 9 3 8 7 8 1 56 15 0 212 56 209 56 222 0 219 - 200 3 0 1 16 170 172 131 177 131 208 - 4200 4 3 2 1 0 8 1 56 15 56 222 0 219 0 212 56 209 - 200 3 6 20 19 131 172 131 208 170 208 - 200 3 23 0 16 170 208 170 172 131 208 - 200 4 4 5 22 21 161 172 140 172 131 208 170 208 - 200 3 20 6 21 131 208 131 172 170 208 - 200 3 0 23 22 131 172 131 208 170 208 - 200 3 6 4 21 131 172 170 177 170 208 - 200 3 5 0 22 170 177 131 172 170 208 - 4200 4 6 0 5 4 8 1 56 15 0 222 0 209 56 212 56 219 +POLYGONS 34 + 200 3 1 2 12 160 172 141 172 131 208 + 200 3 1 12 16 160 172 131 208 170 208 + 200 3 8 10 18 131 172 170 177 170 208 + 200 3 2 3 12 131 177 170 172 131 208 + 200 3 3 13 12 170 172 170 208 131 208 + 200 3 17 8 18 131 208 131 172 170 208 + 200 3 9 7 15 140 172 161 172 170 208 + 200 3 9 15 14 140 172 170 208 131 208 + 200 3 8 17 15 170 172 170 208 131 208 + 200 3 13 3 14 170 208 170 172 131 208 + 200 3 7 8 15 131 177 170 172 131 208 + 200 3 3 9 14 170 172 131 177 131 208 + 200 3 8 3 0 170 204 131 204 131 176 + 200 3 8 0 6 170 204 131 176 170 176 + 200 3 10 11 19 141 172 160 172 170 208 + 200 3 10 19 18 141 172 170 208 131 208 + 4200 3 8 6 11 8 1 56 15 0 222 0 209 56 212 + 4200 3 8 11 10 8 1 56 15 0 222 56 212 56 219 + 200 3 11 6 19 170 177 131 172 170 208 + 4200 3 9 3 8 8 1 56 15 0 212 56 209 56 222 + 4200 3 9 8 7 8 1 56 15 0 212 56 222 0 219 + 200 3 0 1 16 170 172 131 177 131 208 + 4200 3 3 2 1 8 1 56 15 56 222 0 219 0 212 + 4200 3 3 1 0 8 1 56 15 56 222 0 212 56 209 + 200 3 6 20 19 131 172 131 208 170 208 + 200 3 23 0 16 170 208 170 172 131 208 + 200 3 4 5 22 161 172 140 172 131 208 + 200 3 4 22 21 161 172 131 208 170 208 + 200 3 20 6 21 131 208 131 172 170 208 + 200 3 0 23 22 131 172 131 208 170 208 + 200 3 6 4 21 131 172 170 177 170 208 + 200 3 5 0 22 170 177 131 172 170 208 + 4200 3 6 0 5 8 1 56 15 0 222 0 209 56 212 + 4200 3 6 5 4 8 1 56 15 0 222 56 212 56 219 \ No newline at end of file diff --git a/data/base/features/blware1.pie b/data/base/features/blware1.pie index 488034b65..ca4c099c8 100644 --- a/data/base/features/blware1.pie +++ b/data/base/features/blware1.pie @@ -35,32 +35,52 @@ POINTS 31 -80 2 65 127 2 64 127 2 -39 -POLYGONS 28 - 200 4 29 26 7 28 95 71 96 72 88 72 88 71 - 200 4 27 26 29 30 96 80 96 73 96 71 96 79 - 200 4 5 8 7 4 253 190 254 231 220 231 220 190 - 200 4 3 2 1 0 218 206 201 207 201 174 218 174 - 200 4 25 24 23 22 218 206 201 207 201 174 218 174 - 200 4 24 19 16 23 200 206 183 207 183 174 200 174 - 200 4 12 3 0 11 200 206 183 207 183 174 200 174 - 200 4 13 12 11 10 218 206 201 207 201 174 218 174 - 200 4 19 18 17 16 218 206 201 207 201 174 218 174 - 200 4 18 13 10 17 200 206 183 207 183 174 200 174 - 200 4 3 9 8 5 140 197 141 227 94 227 94 197 +POLYGONS 48 + 200 3 29 26 7 95 71 96 72 88 72 + 200 3 29 7 28 95 71 88 72 88 71 + 200 3 27 26 29 96 80 96 73 96 71 + 200 3 27 29 30 96 80 96 71 96 79 + 200 3 5 8 7 253 190 254 231 220 231 + 200 3 5 7 4 253 190 220 231 220 190 + 200 3 3 2 1 218 206 201 207 201 174 + 200 3 3 1 0 218 206 201 174 218 174 + 200 3 25 24 23 218 206 201 207 201 174 + 200 3 25 23 22 218 206 201 174 218 174 + 200 3 24 19 16 200 206 183 207 183 174 + 200 3 24 16 23 200 206 183 174 200 174 + 200 3 12 3 0 200 206 183 207 183 174 + 200 3 12 0 11 200 206 183 174 200 174 + 200 3 13 12 11 218 206 201 207 201 174 + 200 3 13 11 10 218 206 201 174 218 174 + 200 3 19 18 17 218 206 201 207 201 174 + 200 3 19 17 16 218 206 201 174 218 174 + 200 3 18 13 10 200 206 183 207 183 174 + 200 3 18 10 17 200 206 183 174 200 174 + 200 3 3 9 8 140 197 141 227 94 227 + 200 3 3 8 5 140 197 94 227 94 197 200 3 3 5 2 140 196 94 197 116 188 - 200 4 13 15 9 3 140 197 141 227 94 227 94 197 + 200 3 13 15 9 140 197 141 227 94 227 + 200 3 13 9 3 140 197 94 227 94 197 200 3 13 3 12 140 196 94 197 116 188 - 200 4 19 21 15 13 140 197 141 227 94 227 94 197 + 200 3 19 21 15 140 197 141 227 94 227 + 200 3 19 15 13 140 197 94 227 94 197 200 3 19 13 18 140 196 94 197 116 188 - 200 4 25 27 21 19 140 197 141 227 94 227 94 197 + 200 3 25 27 21 140 197 141 227 94 227 + 200 3 25 21 19 140 197 94 227 94 197 200 3 25 19 24 140 196 94 197 116 188 200 3 16 22 23 94 196 140 197 117 188 - 200 4 20 26 22 16 94 227 140 228 140 197 94 197 + 200 3 20 26 22 94 227 140 228 140 197 + 200 3 20 22 16 94 227 140 197 94 197 200 3 10 16 17 94 196 140 197 117 188 - 200 4 14 20 16 10 94 227 140 228 140 197 94 197 + 200 3 14 20 16 94 227 140 228 140 197 + 200 3 14 16 10 94 227 140 197 94 197 200 3 0 10 11 94 196 140 197 117 188 - 200 4 6 14 10 0 94 227 140 228 140 197 94 197 + 200 3 6 14 10 94 227 140 228 140 197 + 200 3 6 10 0 94 227 140 197 94 197 200 3 4 0 1 94 196 140 197 117 188 - 200 4 7 6 0 4 94 227 140 228 140 197 94 197 - 200 4 27 25 22 26 140 228 141 189 95 189 95 228 - 200 4 2 5 4 1 200 206 183 207 183 174 200 174 + 200 3 7 6 0 94 227 140 228 140 197 + 200 3 7 0 4 94 227 140 197 94 197 + 200 3 27 25 22 140 228 141 189 95 189 + 200 3 27 22 26 140 228 95 189 95 228 + 200 3 2 5 4 200 206 183 207 183 174 + 200 3 2 4 1 200 206 183 174 200 174 \ No newline at end of file diff --git a/data/base/features/blware2.pie b/data/base/features/blware2.pie index b0eecb8cc..90f046765 100644 --- a/data/base/features/blware2.pie +++ b/data/base/features/blware2.pie @@ -31,26 +31,48 @@ POINTS 27 123 1 -26 123 1 65 -83 1 65 -POLYGONS 22 - 200 4 25 24 16 19 212 29 212 37 212 38 212 31 - 200 4 6 26 25 19 208 30 208 29 211 29 211 30 - 200 4 9 2 13 11 199 59 204 69 184 55 191 55 - 200 4 13 2 7 15 183 55 204 69 171 69 175 60 - 200 4 2 3 6 7 204 70 205 100 171 100 171 70 - 200 4 11 13 12 10 104 55 128 55 128 122 104 122 - 200 4 10 12 22 21 104 55 128 55 128 122 104 122 - 200 4 8 10 21 20 80 55 103 55 103 122 80 122 - 200 4 9 11 10 8 80 55 103 55 103 122 80 122 - 200 4 13 15 14 12 129 55 152 55 152 122 129 122 - 200 4 12 14 23 22 129 55 152 55 152 122 129 122 - 200 4 1 8 20 17 63 55 79 55 79 122 63 122 - 200 4 2 9 8 1 63 55 79 55 79 122 63 122 - 200 4 15 7 4 14 153 55 169 55 169 122 153 122 - 200 4 14 4 18 23 153 55 169 55 169 122 153 122 - 200 4 4 5 19 18 63 124 63 182 101 182 101 124 - 200 4 7 6 5 4 63 124 63 182 101 182 101 124 - 200 4 19 16 17 18 171 100 204 101 204 70 171 70 - 200 4 18 17 22 23 171 69 204 70 184 55 176 59 - 200 4 22 17 20 21 184 55 204 69 200 60 192 55 - 200 4 0 1 17 16 63 182 63 124 101 124 101 182 - 200 4 3 2 1 0 63 182 63 124 101 124 101 182 +POLYGONS 44 + 200 3 25 24 16 212 29 212 37 212 38 + 200 3 25 16 19 212 29 212 38 212 31 + 200 3 6 26 25 208 30 208 29 211 29 + 200 3 6 25 19 208 30 211 29 211 30 + 200 3 9 2 13 199 59 204 69 184 55 + 200 3 9 13 11 199 59 184 55 191 55 + 200 3 13 2 7 183 55 204 69 171 69 + 200 3 13 7 15 183 55 171 69 175 60 + 200 3 2 3 6 204 70 205 100 171 100 + 200 3 2 6 7 204 70 171 100 171 70 + 200 3 11 13 12 104 55 128 55 128 122 + 200 3 11 12 10 104 55 128 122 104 122 + 200 3 10 12 22 104 55 128 55 128 122 + 200 3 10 22 21 104 55 128 122 104 122 + 200 3 8 10 21 80 55 103 55 103 122 + 200 3 8 21 20 80 55 103 122 80 122 + 200 3 9 11 10 80 55 103 55 103 122 + 200 3 9 10 8 80 55 103 122 80 122 + 200 3 13 15 14 129 55 152 55 152 122 + 200 3 13 14 12 129 55 152 122 129 122 + 200 3 12 14 23 129 55 152 55 152 122 + 200 3 12 23 22 129 55 152 122 129 122 + 200 3 1 8 20 63 55 79 55 79 122 + 200 3 1 20 17 63 55 79 122 63 122 + 200 3 2 9 8 63 55 79 55 79 122 + 200 3 2 8 1 63 55 79 122 63 122 + 200 3 15 7 4 153 55 169 55 169 122 + 200 3 15 4 14 153 55 169 122 153 122 + 200 3 14 4 18 153 55 169 55 169 122 + 200 3 14 18 23 153 55 169 122 153 122 + 200 3 4 5 19 63 124 63 182 101 182 + 200 3 4 19 18 63 124 101 182 101 124 + 200 3 7 6 5 63 124 63 182 101 182 + 200 3 7 5 4 63 124 101 182 101 124 + 200 3 19 16 17 171 100 204 101 204 70 + 200 3 19 17 18 171 100 204 70 171 70 + 200 3 18 17 22 171 69 204 70 184 55 + 200 3 18 22 23 171 69 184 55 176 59 + 200 3 22 17 20 184 55 204 69 200 60 + 200 3 22 20 21 184 55 200 60 192 55 + 200 3 0 1 17 63 182 63 124 101 124 + 200 3 0 17 16 63 182 101 124 101 182 + 200 3 3 2 1 63 182 63 124 101 124 + 200 3 3 1 0 63 182 101 124 101 182 \ No newline at end of file diff --git a/data/base/features/blware3.pie b/data/base/features/blware3.pie index 3e1851626..2d470f177 100644 --- a/data/base/features/blware3.pie +++ b/data/base/features/blware3.pie @@ -22,18 +22,30 @@ POINTS 18 49 2 -57 49 2 84 -26 2 84 -POLYGONS 14 - 200 4 16 15 13 1 217 18 218 23 217 24 217 19 - 200 4 2 17 16 1 209 18 209 18 217 18 217 18 - 200 4 13 12 11 10 172 100 206 101 206 66 172 66 +POLYGONS 26 + 200 3 16 15 13 217 18 218 23 217 24 + 200 3 16 13 1 217 18 217 24 217 19 + 200 3 2 17 16 209 18 209 18 217 18 + 200 3 2 16 1 209 18 217 18 217 18 + 200 3 13 12 11 172 100 206 101 206 66 + 200 3 13 11 10 172 100 206 66 172 66 200 3 10 11 14 172 65 206 66 189 55 - 200 4 7 5 14 11 103 124 144 124 144 166 103 166 - 200 4 3 4 5 7 103 124 144 124 144 166 103 166 - 200 4 2 3 7 8 101 113 63 114 63 56 101 56 - 200 4 8 7 11 12 101 113 63 114 63 56 101 56 - 200 4 5 6 10 14 144 124 103 124 103 166 144 166 - 200 4 4 0 6 5 144 124 103 124 103 166 144 166 - 200 4 0 1 9 6 63 113 101 114 101 56 63 56 - 200 4 6 9 13 10 63 113 101 114 101 56 63 56 + 200 3 7 5 14 103 124 144 124 144 166 + 200 3 7 14 11 103 124 144 166 103 166 + 200 3 3 4 5 103 124 144 124 144 166 + 200 3 3 5 7 103 124 144 166 103 166 + 200 3 2 3 7 101 113 63 114 63 56 + 200 3 2 7 8 101 113 63 56 101 56 + 200 3 8 7 11 101 113 63 114 63 56 + 200 3 8 11 12 101 113 63 56 101 56 + 200 3 5 6 10 144 124 103 124 103 166 + 200 3 5 10 14 144 124 103 166 144 166 + 200 3 4 0 6 144 124 103 124 103 166 + 200 3 4 6 5 144 124 103 166 144 166 + 200 3 0 1 9 63 113 101 114 101 56 + 200 3 0 9 6 63 113 101 56 63 56 + 200 3 6 9 13 63 113 101 114 101 56 + 200 3 6 13 10 63 113 101 56 63 56 200 3 3 0 4 206 65 172 66 188 55 - 200 4 3 2 1 0 206 66 207 100 172 100 172 66 + 200 3 3 2 1 206 66 207 100 172 100 + 200 3 3 1 0 206 66 172 100 172 66 \ No newline at end of file diff --git a/data/base/features/drwreck.pie b/data/base/features/drwreck.pie index ec37f9e2d..2b5951ad8 100644 --- a/data/base/features/drwreck.pie +++ b/data/base/features/drwreck.pie @@ -12,13 +12,15 @@ POINTS 8 34 0 -26 3 12 41 40 18 -31 -POLYGONS 18 +POLYGONS 20 200 3 0 1 2 71 227 71 250 83 250 200 3 2 1 0 83 250 71 250 71 227 200 3 0 2 3 71 227 83 250 83 227 200 3 3 2 0 83 227 83 250 71 227 - 200 4 1 0 4 5 83 225 101 225 101 240 83 240 - 200 4 5 4 0 1 83 240 101 240 101 225 83 225 + 200 3 1 0 4 83 225 101 225 101 240 + 200 3 1 4 5 83 225 101 240 83 240 + 200 3 5 4 0 83 240 101 240 101 225 + 200 3 5 0 1 83 240 101 225 83 225 200 3 5 6 7 71 227 83 250 83 227 200 3 7 6 5 83 227 83 250 71 227 200 3 5 4 6 71 227 71 250 83 250 @@ -30,4 +32,4 @@ POLYGONS 18 200 3 1 7 2 84 226 101 235 84 235 200 3 2 7 1 84 235 101 235 84 226 200 3 4 3 6 101 226 84 235 101 235 - 200 3 6 3 4 101 235 84 235 101 226 + 200 3 6 3 4 101 235 84 235 101 226 \ No newline at end of file diff --git a/data/base/features/hvyweplab.pie b/data/base/features/hvyweplab.pie index 40a4444d5..f9cf12e23 100644 --- a/data/base/features/hvyweplab.pie +++ b/data/base/features/hvyweplab.pie @@ -3,41 +3,55 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 22 - 102 196 -104 - 102 196 104 - 58 196 58 - 60 196 -60 - -102 196 -104 - -60 196 -60 - -102 196 104 - -58 196 58 - -58 222 -58 - 58 222 -58 - 58 222 58 - -58 222 58 - -60 196 60 - 60 196 60 - 60 98 -60 - 60 98 60 - -60 98 60 - -60 98 -60 - 102 0 -104 - 102 0 104 - -102 0 104 +POINTS 22 + 102 196 -104 + 102 196 104 + 58 196 58 + 60 196 -60 + -102 196 -104 + -60 196 -60 + -102 196 104 + -58 196 58 + -58 222 -58 + 58 222 -58 + 58 222 58 + -58 222 58 + -60 196 60 + 60 196 60 + 60 98 -60 + 60 98 60 + -60 98 60 + -60 98 -60 + 102 0 -104 + 102 0 104 + -102 0 104 -102 0 -104 -POLYGONS 14 - 200 4 11 10 9 8 58 105 58 77 86 77 86 105 - 200 4 15 14 0 1 11 102 40 102 50 71 1 71 - 200 4 17 16 6 4 40 102 11 102 1 71 50 71 - 200 4 14 15 19 18 40 102 11 102 1 132 50 132 - 200 4 16 17 21 20 11 102 40 102 50 132 1 132 - 200 4 16 15 1 6 40 102 11 102 1 71 50 71 - 200 4 14 17 4 0 11 102 40 102 50 71 1 71 - 200 4 17 14 18 21 40 102 11 102 1 132 50 132 - 200 4 15 16 20 19 11 102 40 102 50 132 1 132 - 200 4 8 9 3 5 85 105 85 77 92 77 92 105 - 200 4 10 11 7 2 59 77 59 105 52 105 52 77 - 200 4 9 10 2 3 86 78 58 78 58 71 86 71 - 200 4 7 11 8 5 58 111 58 104 86 104 86 111 - 200 4 4 6 1 0 51 112 93 112 93 70 51 70 +POLYGONS 28 + 200 3 11 10 9 58 105 58 77 86 77 + 200 3 11 9 8 58 105 86 77 86 105 + 200 3 15 14 0 11 102 40 102 50 71 + 200 3 15 0 1 11 102 50 71 1 71 + 200 3 17 16 6 40 102 11 102 1 71 + 200 3 17 6 4 40 102 1 71 50 71 + 200 3 14 15 19 40 102 11 102 1 132 + 200 3 14 19 18 40 102 1 132 50 132 + 200 3 16 17 21 11 102 40 102 50 132 + 200 3 16 21 20 11 102 50 132 1 132 + 200 3 16 15 1 40 102 11 102 1 71 + 200 3 16 1 6 40 102 1 71 50 71 + 200 3 14 17 4 11 102 40 102 50 71 + 200 3 14 4 0 11 102 50 71 1 71 + 200 3 17 14 18 40 102 11 102 1 132 + 200 3 17 18 21 40 102 1 132 50 132 + 200 3 15 16 20 11 102 40 102 50 132 + 200 3 15 20 19 11 102 50 132 1 132 + 200 3 8 9 3 85 105 85 77 92 77 + 200 3 8 3 5 85 105 92 77 92 105 + 200 3 10 11 7 59 77 59 105 52 105 + 200 3 10 7 2 59 77 52 105 52 77 + 200 3 9 10 2 86 78 58 78 58 71 + 200 3 9 2 3 86 78 58 71 86 71 + 200 3 7 11 8 58 111 58 104 86 104 + 200 3 7 8 5 58 111 86 104 86 111 + 200 3 4 6 1 51 112 93 112 93 70 + 200 3 4 1 0 51 112 93 70 51 70 \ No newline at end of file diff --git a/data/base/features/indlab.pie b/data/base/features/indlab.pie index ca809ccf5..464f419b8 100644 --- a/data/base/features/indlab.pie +++ b/data/base/features/indlab.pie @@ -3,40 +3,51 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 21 - 4 0 22 - 60 126 66 - -92 126 66 - -64 0 24 - 120 0 118 - -114 0 110 - -68 0 -114 - -94 126 -82 - -118 0 -104 - -36 0 -56 - -6 126 -62 - 4 0 -106 - -26 0 20 - -62 0 18 - -62 190 18 - -26 190 20 - -64 190 -26 - -26 190 -24 - -64 0 -26 - -26 0 -24 +POINTS 21 + 4 0 22 + 60 126 66 + -92 126 66 + -64 0 24 + 120 0 118 + -114 0 110 + -68 0 -114 + -94 126 -82 + -118 0 -104 + -36 0 -56 + -6 126 -62 + 4 0 -106 + -26 0 20 + -62 0 18 + -62 190 18 + -26 190 20 + -64 190 -26 + -26 190 -24 + -64 0 -26 + -26 0 -24 -94 0 -110 -POLYGONS 14 - 200 4 3 2 1 0 113 112 105 83 158 83 139 112 - 200 4 2 5 4 1 111 83 106 112 158 112 143 83 - 200 4 6 7 2 3 159 112 153 83 105 83 113 112 - 200 4 7 8 5 2 153 83 159 112 106 112 111 83 - 200 4 0 1 10 9 138 112 158 83 118 83 112 112 - 200 4 1 4 11 10 143 83 158 112 106 112 111 83 - 200 3 10 11 9 111 83 106 112 120 112 - 200 4 15 14 13 12 48 173 37 173 37 136 48 136 - 200 4 14 15 17 16 230 117 199 117 199 104 230 104 - 200 4 16 17 19 18 48 173 37 173 37 136 48 136 - 200 4 17 15 12 19 48 173 37 173 37 136 48 136 - 200 4 14 16 18 13 48 173 37 173 37 136 48 136 - 200 3 7 6 20 153 83 159 112 152 112 - 200 3 20 8 7 152 112 159 112 153 83 +POLYGONS 25 + 200 3 3 2 1 113 112 105 83 158 83 + 200 3 3 1 0 113 112 158 83 139 112 + 200 3 2 5 4 111 83 106 112 158 112 + 200 3 2 4 1 111 83 158 112 143 83 + 200 3 6 7 2 159 112 153 83 105 83 + 200 3 6 2 3 159 112 105 83 113 112 + 200 3 7 8 5 153 83 159 112 106 112 + 200 3 7 5 2 153 83 106 112 111 83 + 200 3 0 1 10 138 112 158 83 118 83 + 200 3 0 10 9 138 112 118 83 112 112 + 200 3 1 4 11 143 83 158 112 106 112 + 200 3 1 11 10 143 83 106 112 111 83 + 200 3 10 11 9 111 83 106 112 120 112 + 200 3 15 14 13 48 173 37 173 37 136 + 200 3 15 13 12 48 173 37 136 48 136 + 200 3 14 15 17 230 117 199 117 199 104 + 200 3 14 17 16 230 117 199 104 230 104 + 200 3 16 17 19 48 173 37 173 37 136 + 200 3 16 19 18 48 173 37 136 48 136 + 200 3 17 15 12 48 173 37 173 37 136 + 200 3 17 12 19 48 173 37 136 48 136 + 200 3 14 16 18 48 173 37 173 37 136 + 200 3 14 18 13 48 173 37 136 48 136 + 200 3 7 6 20 153 83 159 112 152 112 + 200 3 20 8 7 152 112 159 112 153 83 \ No newline at end of file diff --git a/data/base/features/lasoptlab.pie b/data/base/features/lasoptlab.pie index a8d64b097..1085a1a95 100644 --- a/data/base/features/lasoptlab.pie +++ b/data/base/features/lasoptlab.pie @@ -3,64 +3,83 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 36 - 76 0 -104 - 76 0 -68 - 52 78 -68 - 52 76 -104 - -78 0 -68 - -78 0 -104 - -52 76 -104 - -52 78 -68 - 78 0 -18 - 78 0 18 - 52 78 18 - 52 78 -18 - -78 0 18 - -78 0 -18 - -52 78 -18 - -52 78 18 - 78 0 68 - 78 0 104 - 52 76 104 - 52 78 68 - -76 0 104 - -76 0 68 - -52 78 68 - -52 76 104 - -42 0 18 - 0 64 18 - 0 64 68 - -42 0 68 - 42 0 18 - 42 0 68 - -42 0 -68 - 0 64 -68 - 0 64 -18 - -42 0 -18 - 42 0 -68 +POINTS 36 + 76 0 -104 + 76 0 -68 + 52 78 -68 + 52 76 -104 + -78 0 -68 + -78 0 -104 + -52 76 -104 + -52 78 -68 + 78 0 -18 + 78 0 18 + 52 78 18 + 52 78 -18 + -78 0 18 + -78 0 -18 + -52 78 -18 + -52 78 18 + 78 0 68 + 78 0 104 + 52 76 104 + 52 78 68 + -76 0 104 + -76 0 68 + -52 78 68 + -52 76 104 + -42 0 18 + 0 64 18 + 0 64 68 + -42 0 68 + 42 0 18 + 42 0 68 + -42 0 -68 + 0 64 -68 + 0 64 -18 + -42 0 -18 + 42 0 -68 42 0 -18 -POLYGONS 23 - 200 4 3 2 1 0 179 59 191 59 191 88 179 88 - 200 4 7 6 5 4 191 59 179 59 179 88 191 88 - 200 4 11 10 9 8 179 59 191 59 191 88 179 88 - 200 4 15 14 13 12 191 59 179 59 179 88 191 88 - 200 4 19 18 17 16 179 59 191 59 191 88 179 88 - 200 4 23 22 21 20 191 59 179 59 179 88 191 88 - 200 4 27 26 25 24 176 114 176 90 192 90 192 114 - 200 4 26 29 28 25 176 90 176 114 192 114 192 90 - 200 3 25 28 24 192 90 192 114 192 114 - 200 3 29 26 27 176 114 176 90 176 114 - 200 4 33 32 31 30 176 114 176 90 192 90 192 114 - 200 4 32 35 34 31 176 90 176 114 192 114 192 90 - 200 3 31 34 30 192 90 192 114 192 114 - 200 3 35 32 33 176 114 176 90 176 114 - 200 4 19 22 23 18 174 126 132 126 132 114 174 114 - 200 4 11 14 15 10 174 126 132 126 132 114 174 114 - 200 4 3 6 7 2 174 126 132 126 132 114 174 114 - 200 4 22 19 16 21 88 114 122 114 130 142 80 142 - 200 4 18 23 20 17 122 114 88 114 80 142 130 142 - 200 4 14 11 8 13 88 114 122 114 130 142 80 142 - 200 4 10 15 12 9 122 114 88 114 80 142 130 142 - 200 4 6 3 0 5 88 114 122 114 130 142 80 142 - 200 4 2 7 4 1 122 114 88 114 80 142 130 142 +POLYGONS 42 + 200 3 3 2 1 179 59 191 59 191 88 + 200 3 3 1 0 179 59 191 88 179 88 + 200 3 7 6 5 191 59 179 59 179 88 + 200 3 7 5 4 191 59 179 88 191 88 + 200 3 11 10 9 179 59 191 59 191 88 + 200 3 11 9 8 179 59 191 88 179 88 + 200 3 15 14 13 191 59 179 59 179 88 + 200 3 15 13 12 191 59 179 88 191 88 + 200 3 19 18 17 179 59 191 59 191 88 + 200 3 19 17 16 179 59 191 88 179 88 + 200 3 23 22 21 191 59 179 59 179 88 + 200 3 23 21 20 191 59 179 88 191 88 + 200 3 27 26 25 176 114 176 90 192 90 + 200 3 27 25 24 176 114 192 90 192 114 + 200 3 26 29 28 176 90 176 114 192 114 + 200 3 26 28 25 176 90 192 114 192 90 + 200 3 25 28 24 192 90 192 114 192 114 + 200 3 29 26 27 176 114 176 90 176 114 + 200 3 33 32 31 176 114 176 90 192 90 + 200 3 33 31 30 176 114 192 90 192 114 + 200 3 32 35 34 176 90 176 114 192 114 + 200 3 32 34 31 176 90 192 114 192 90 + 200 3 31 34 30 192 90 192 114 192 114 + 200 3 35 32 33 176 114 176 90 176 114 + 200 3 19 22 23 174 126 132 126 132 114 + 200 3 19 23 18 174 126 132 114 174 114 + 200 3 11 14 15 174 126 132 126 132 114 + 200 3 11 15 10 174 126 132 114 174 114 + 200 3 3 6 7 174 126 132 126 132 114 + 200 3 3 7 2 174 126 132 114 174 114 + 200 3 22 19 16 88 114 122 114 130 142 + 200 3 22 16 21 88 114 130 142 80 142 + 200 3 18 23 20 122 114 88 114 80 142 + 200 3 18 20 17 122 114 80 142 130 142 + 200 3 14 11 8 88 114 122 114 130 142 + 200 3 14 8 13 88 114 130 142 80 142 + 200 3 10 15 12 122 114 88 114 80 142 + 200 3 10 12 9 122 114 80 142 130 142 + 200 3 6 3 0 88 114 122 114 130 142 + 200 3 6 0 5 88 114 130 142 80 142 + 200 3 2 7 4 122 114 88 114 80 142 + 200 3 2 4 1 122 114 80 142 130 142 \ No newline at end of file diff --git a/data/base/features/miairtrf.pie b/data/base/features/miairtrf.pie index ad04589a8..abac1fd53 100644 --- a/data/base/features/miairtrf.pie +++ b/data/base/features/miairtrf.pie @@ -32,21 +32,38 @@ POINTS 28 51 181 -51 51 181 51 -51 181 51 -POLYGONS 17 - 200 4 3 2 1 0 132 59 167 59 167 81 132 81 - 200 4 7 6 5 4 167 59 132 59 132 81 167 81 - 200 4 8 9 10 11 93 81 96 81 96 70 93 70 - 200 4 11 10 9 8 93 70 96 70 96 81 93 81 - 200 4 12 13 14 15 93 81 96 81 96 70 93 70 - 200 4 15 14 13 12 93 70 96 70 96 81 93 81 - 200 4 6 3 0 5 97 59 132 59 132 81 97 81 - 200 4 2 7 4 1 132 59 97 59 97 81 132 81 - 200 4 16 17 18 19 93 81 96 81 96 70 93 70 - 200 4 19 18 17 16 93 70 96 70 96 81 93 81 - 200 4 20 21 22 23 93 81 96 81 96 70 93 70 - 200 4 23 22 21 20 93 70 96 70 96 81 93 81 - 200 4 27 26 25 24 63 82 81 82 81 100 63 100 - 200 4 25 26 2 3 37 172 37 138 48 138 48 172 - 200 4 27 24 6 7 37 138 37 172 48 172 48 138 - 200 4 24 25 3 6 37 172 37 138 48 138 48 172 - 200 4 26 27 7 2 37 138 37 172 48 172 48 138 +POLYGONS 34 + 200 3 3 2 1 132 59 167 59 167 81 + 200 3 3 1 0 132 59 167 81 132 81 + 200 3 7 6 5 167 59 132 59 132 81 + 200 3 7 5 4 167 59 132 81 167 81 + 200 3 8 9 10 93 81 96 81 96 70 + 200 3 8 10 11 93 81 96 70 93 70 + 200 3 11 10 9 93 70 96 70 96 81 + 200 3 11 9 8 93 70 96 81 93 81 + 200 3 12 13 14 93 81 96 81 96 70 + 200 3 12 14 15 93 81 96 70 93 70 + 200 3 15 14 13 93 70 96 70 96 81 + 200 3 15 13 12 93 70 96 81 93 81 + 200 3 6 3 0 97 59 132 59 132 81 + 200 3 6 0 5 97 59 132 81 97 81 + 200 3 2 7 4 132 59 97 59 97 81 + 200 3 2 4 1 132 59 97 81 132 81 + 200 3 16 17 18 93 81 96 81 96 70 + 200 3 16 18 19 93 81 96 70 93 70 + 200 3 19 18 17 93 70 96 70 96 81 + 200 3 19 17 16 93 70 96 81 93 81 + 200 3 20 21 22 93 81 96 81 96 70 + 200 3 20 22 23 93 81 96 70 93 70 + 200 3 23 22 21 93 70 96 70 96 81 + 200 3 23 21 20 93 70 96 81 93 81 + 200 3 27 26 25 63 82 81 82 81 100 + 200 3 27 25 24 63 82 81 100 63 100 + 200 3 25 26 2 37 172 37 138 48 138 + 200 3 25 2 3 37 172 48 138 48 172 + 200 3 27 24 6 37 138 37 172 48 172 + 200 3 27 6 7 37 138 48 172 48 138 + 200 3 24 25 3 37 172 37 138 48 138 + 200 3 24 3 6 37 172 48 138 48 172 + 200 3 26 27 7 37 138 37 172 48 172 + 200 3 26 7 2 37 138 48 172 48 138 \ No newline at end of file diff --git a/data/base/features/miarthov.pie b/data/base/features/miarthov.pie index 6f49d2a14..2a4c73b2d 100644 --- a/data/base/features/miarthov.pie +++ b/data/base/features/miarthov.pie @@ -44,27 +44,50 @@ POINTS 40 -12 1 -38 12 1 -38 22 1 -38 -POLYGONS 23 - 200 4 3 2 1 0 87 98 77 98 77 137 87 137 - 200 4 2 5 4 1 87 98 77 98 77 137 87 137 - 200 4 5 7 6 4 87 98 77 98 77 137 87 137 - 200 4 7 3 0 6 87 98 77 98 77 137 87 137 - 200 4 11 10 9 8 87 98 77 98 77 137 87 137 - 200 4 10 13 12 9 87 98 77 98 77 137 87 137 - 200 4 13 15 14 12 87 98 77 98 77 137 87 137 - 200 4 15 11 8 14 87 98 77 98 77 137 87 137 - 200 4 19 18 17 16 161 63 172 63 171 71 160 71 - 200 4 18 21 20 17 172 63 198 63 199 71 171 71 - 200 4 21 23 22 20 198 63 209 63 210 71 199 71 - 200 4 23 25 24 22 167 63 202 63 203 71 166 71 - 200 4 25 27 26 24 161 63 172 63 171 71 160 71 - 200 4 27 29 28 26 172 63 198 63 199 71 171 71 - 200 4 29 31 30 28 198 63 209 63 210 71 199 71 - 200 4 31 19 16 30 168 63 203 63 204 71 167 71 - 200 4 28 30 33 32 87 112 77 140 77 98 87 98 - 200 4 24 26 35 34 87 140 77 112 77 98 87 98 - 200 4 16 17 37 36 87 138 77 111 77 98 87 98 - 200 4 20 22 39 38 87 111 77 138 77 98 87 98 - 200 4 23 19 31 25 233 142 255 142 255 167 233 167 - 200 4 18 19 23 21 250 138 255 142 233 142 238 138 - 200 4 29 27 25 31 250 172 238 172 233 167 255 167 +POLYGONS 46 + 200 3 3 2 1 87 98 77 98 77 137 + 200 3 3 1 0 87 98 77 137 87 137 + 200 3 2 5 4 87 98 77 98 77 137 + 200 3 2 4 1 87 98 77 137 87 137 + 200 3 5 7 6 87 98 77 98 77 137 + 200 3 5 6 4 87 98 77 137 87 137 + 200 3 7 3 0 87 98 77 98 77 137 + 200 3 7 0 6 87 98 77 137 87 137 + 200 3 11 10 9 87 98 77 98 77 137 + 200 3 11 9 8 87 98 77 137 87 137 + 200 3 10 13 12 87 98 77 98 77 137 + 200 3 10 12 9 87 98 77 137 87 137 + 200 3 13 15 14 87 98 77 98 77 137 + 200 3 13 14 12 87 98 77 137 87 137 + 200 3 15 11 8 87 98 77 98 77 137 + 200 3 15 8 14 87 98 77 137 87 137 + 200 3 19 18 17 161 63 172 63 171 71 + 200 3 19 17 16 161 63 171 71 160 71 + 200 3 18 21 20 172 63 198 63 199 71 + 200 3 18 20 17 172 63 199 71 171 71 + 200 3 21 23 22 198 63 209 63 210 71 + 200 3 21 22 20 198 63 210 71 199 71 + 200 3 23 25 24 167 63 202 63 203 71 + 200 3 23 24 22 167 63 203 71 166 71 + 200 3 25 27 26 161 63 172 63 171 71 + 200 3 25 26 24 161 63 171 71 160 71 + 200 3 27 29 28 172 63 198 63 199 71 + 200 3 27 28 26 172 63 199 71 171 71 + 200 3 29 31 30 198 63 209 63 210 71 + 200 3 29 30 28 198 63 210 71 199 71 + 200 3 31 19 16 168 63 203 63 204 71 + 200 3 31 16 30 168 63 204 71 167 71 + 200 3 28 30 33 87 112 77 140 77 98 + 200 3 28 33 32 87 112 77 98 87 98 + 200 3 24 26 35 87 140 77 112 77 98 + 200 3 24 35 34 87 140 77 98 87 98 + 200 3 16 17 37 87 138 77 111 77 98 + 200 3 16 37 36 87 138 77 98 87 98 + 200 3 20 22 39 87 111 77 138 77 98 + 200 3 20 39 38 87 111 77 98 87 98 + 200 3 23 19 31 233 142 255 142 255 167 + 200 3 23 31 25 233 142 255 167 233 167 + 200 3 18 19 23 250 138 255 142 233 142 + 200 3 18 23 21 250 138 233 142 238 138 + 200 3 29 27 25 250 172 238 172 233 167 + 200 3 29 25 31 250 172 233 167 255 167 \ No newline at end of file diff --git a/data/base/features/mibar.pie b/data/base/features/mibar.pie index ab48190f7..a71f9be59 100644 --- a/data/base/features/mibar.pie +++ b/data/base/features/mibar.pie @@ -3,45 +3,61 @@ TYPE 200 TEXTURE 0 page-11-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 24 - -62 32 -14 - -48 32 -14 - -48 32 0 - -62 32 0 - -62 3 -14 - -48 3 -14 - -48 3 0 - -62 3 0 - 58 27 -5 - 66 27 -5 - 66 27 3 - 58 27 3 - 58 3 -5 - 66 3 -5 - 66 3 3 - 58 3 3 - -61 27 0 - -61 27 4 - 66 27 4 - 66 27 0 - -61 36 0 - 66 36 0 - 66 36 4 +POINTS 24 + -62 32 -14 + -48 32 -14 + -48 32 0 + -62 32 0 + -62 3 -14 + -48 3 -14 + -48 3 0 + -62 3 0 + 58 27 -5 + 66 27 -5 + 66 27 3 + 58 27 3 + 58 3 -5 + 66 3 -5 + 66 3 3 + 58 3 3 + -61 27 0 + -61 27 4 + 66 27 4 + 66 27 0 + -61 36 0 + 66 36 0 + 66 36 4 -61 36 4 -POLYGONS 16 - 200 4 3 2 1 0 74 186 78 186 78 205 74 205 - 200 4 0 1 5 4 74 186 78 186 78 205 74 205 - 200 4 1 2 6 5 74 186 78 186 78 205 74 205 - 200 4 2 3 7 6 74 186 78 186 78 205 74 205 - 200 4 3 0 4 7 74 186 78 186 78 205 74 205 - 200 4 11 10 9 8 74 186 78 186 78 205 74 205 - 200 4 8 9 13 12 74 186 78 186 78 205 74 205 - 200 4 9 10 14 13 74 186 78 186 78 205 74 205 - 200 4 10 11 15 14 74 186 78 186 78 205 74 205 - 200 4 11 8 12 15 74 186 78 186 78 205 74 205 - 200 4 19 18 17 16 142 52 142 47 96 47 96 52 - 200 4 23 22 21 20 96 47 142 47 142 52 96 52 - 200 4 20 21 19 16 96 52 142 52 142 52 96 52 - 200 4 21 22 18 19 142 52 142 47 142 47 142 52 - 200 4 22 23 17 18 142 47 96 47 96 47 142 47 - 200 4 23 20 16 17 96 47 96 52 96 52 96 47 \ No newline at end of file +POLYGONS 32 + 200 3 3 2 1 74 186 78 186 78 205 + 200 3 3 1 0 74 186 78 205 74 205 + 200 3 0 1 5 74 186 78 186 78 205 + 200 3 0 5 4 74 186 78 205 74 205 + 200 3 1 2 6 74 186 78 186 78 205 + 200 3 1 6 5 74 186 78 205 74 205 + 200 3 2 3 7 74 186 78 186 78 205 + 200 3 2 7 6 74 186 78 205 74 205 + 200 3 3 0 4 74 186 78 186 78 205 + 200 3 3 4 7 74 186 78 205 74 205 + 200 3 11 10 9 74 186 78 186 78 205 + 200 3 11 9 8 74 186 78 205 74 205 + 200 3 8 9 13 74 186 78 186 78 205 + 200 3 8 13 12 74 186 78 205 74 205 + 200 3 9 10 14 74 186 78 186 78 205 + 200 3 9 14 13 74 186 78 205 74 205 + 200 3 10 11 15 74 186 78 186 78 205 + 200 3 10 15 14 74 186 78 205 74 205 + 200 3 11 8 12 74 186 78 186 78 205 + 200 3 11 12 15 74 186 78 205 74 205 + 200 3 19 18 17 142 52 142 47 96 47 + 200 3 19 17 16 142 52 96 47 96 52 + 200 3 23 22 21 96 47 142 47 142 52 + 200 3 23 21 20 96 47 142 52 96 52 + 200 3 20 21 19 96 52 142 52 142 52 + 200 3 20 19 16 96 52 142 52 96 52 + 200 3 21 22 18 142 52 142 47 142 47 + 200 3 21 18 19 142 52 142 47 142 52 + 200 3 22 23 17 142 47 96 47 96 47 + 200 3 22 17 18 142 47 96 47 142 47 + 200 3 23 20 16 96 47 96 52 96 52 + 200 3 23 16 17 96 47 96 52 96 47 \ No newline at end of file diff --git a/data/base/features/mibldwa2.pie b/data/base/features/mibldwa2.pie index 03986d246..4cf8439a9 100644 --- a/data/base/features/mibldwa2.pie +++ b/data/base/features/mibldwa2.pie @@ -12,9 +12,14 @@ POINTS 8 -150 11 -136 -200 303 -82 -189 255 186 -POLYGONS 5 - 200 4 3 2 1 0 254 212 254 148 198 148 198 205 - 200 4 7 6 5 4 254 148 198 148 198 204 254 196 - 200 4 5 6 2 3 198 204 198 148 254 148 254 212 - 200 4 7 4 0 1 198 148 198 196 254 205 254 148 - 200 4 6 7 1 2 202 88 252 88 252 142 202 142 \ No newline at end of file +POLYGONS 10 + 200 3 3 2 1 254 212 254 148 198 148 + 200 3 3 1 0 254 212 198 148 198 205 + 200 3 7 6 5 254 148 198 148 198 204 + 200 3 7 5 4 254 148 198 204 254 196 + 200 3 5 6 2 198 204 198 148 254 148 + 200 3 5 2 3 198 204 254 148 254 212 + 200 3 7 4 0 198 148 198 196 254 205 + 200 3 7 0 1 198 148 254 205 254 148 + 200 3 6 7 1 202 88 252 88 252 142 + 200 3 6 1 2 202 88 252 142 202 142 \ No newline at end of file diff --git a/data/base/features/mibldwa3.pie b/data/base/features/mibldwa3.pie index 0aba00075..976b877f4 100644 --- a/data/base/features/mibldwa3.pie +++ b/data/base/features/mibldwa3.pie @@ -12,9 +12,14 @@ POINTS 8 114 0 -55 114 0 55 -114 0 55 -POLYGONS 5 - 200 4 3 2 1 0 137 91 94 91 94 47 137 47 - 200 4 5 4 2 3 45 70 1 70 1 50 45 50 - 200 4 6 5 3 0 45 70 1 70 1 50 45 50 - 200 4 7 6 0 1 45 70 1 70 1 50 45 50 - 200 4 4 7 1 2 45 70 1 70 1 50 45 50 \ No newline at end of file +POLYGONS 10 + 200 3 3 2 1 137 91 94 91 94 47 + 200 3 3 1 0 137 91 94 47 137 47 + 200 3 5 4 2 45 70 1 70 1 50 + 200 3 5 2 3 45 70 1 50 45 50 + 200 3 6 5 3 45 70 1 70 1 50 + 200 3 6 3 0 45 70 1 50 45 50 + 200 3 7 6 0 45 70 1 70 1 50 + 200 3 7 0 1 45 70 1 50 45 50 + 200 3 4 7 1 45 70 1 70 1 50 + 200 3 4 1 2 45 70 1 50 45 50 \ No newline at end of file diff --git a/data/base/features/mibldwat.pie b/data/base/features/mibldwat.pie index 3419d915e..23f54296e 100644 --- a/data/base/features/mibldwat.pie +++ b/data/base/features/mibldwat.pie @@ -16,13 +16,22 @@ POINTS 12 199 309 -80 199 241 199 -83 297 213 -POLYGONS 9 - 200 4 0 1 2 3 71 130 71 172 138 181 138 130 - 200 4 3 2 1 0 138 130 138 181 71 172 71 130 - 200 4 3 2 4 5 71 129 71 181 138 192 138 129 - 200 4 5 4 2 3 138 129 138 192 71 181 71 129 - 200 4 6 7 5 4 138 183 138 129 71 129 71 191 - 200 4 4 5 7 6 71 191 71 129 138 129 138 183 - 200 4 7 6 1 0 71 130 71 183 138 172 138 130 - 200 4 0 1 6 7 138 130 138 172 71 183 71 130 - 200 4 11 10 9 8 93 0 139 0 139 46 93 46 \ No newline at end of file +POLYGONS 18 + 200 3 0 1 2 71 130 71 172 138 181 + 200 3 0 2 3 71 130 138 181 138 130 + 200 3 3 2 1 138 130 138 181 71 172 + 200 3 3 1 0 138 130 71 172 71 130 + 200 3 3 2 4 71 129 71 181 138 192 + 200 3 3 4 5 71 129 138 192 138 129 + 200 3 5 4 2 138 129 138 192 71 181 + 200 3 5 2 3 138 129 71 181 71 129 + 200 3 6 7 5 138 183 138 129 71 129 + 200 3 6 5 4 138 183 71 129 71 191 + 200 3 4 5 7 71 191 71 129 138 129 + 200 3 4 7 6 71 191 138 129 138 183 + 200 3 7 6 1 71 130 71 183 138 172 + 200 3 7 1 0 71 130 138 172 138 130 + 200 3 0 1 6 138 130 138 172 71 183 + 200 3 0 6 7 138 130 71 183 71 130 + 200 3 11 10 9 93 0 139 0 139 46 + 200 3 11 9 8 93 0 139 46 93 46 \ No newline at end of file diff --git a/data/base/features/miblucar.pie b/data/base/features/miblucar.pie index 9a357cf56..8d31e6b4a 100644 --- a/data/base/features/miblucar.pie +++ b/data/base/features/miblucar.pie @@ -20,16 +20,28 @@ POINTS 16 11 11 -11 8 12 12 5 18 8 -POLYGONS 12 - 200 4 3 2 1 0 88 16 83 16 83 28 88 28 - 200 4 7 6 5 4 91 18 88 16 88 28 91 26 - 200 4 2 1 9 8 242 0 256 0 256 28 242 28 - 200 4 9 8 11 10 83 40 83 28 88 28 88 40 - 200 4 15 14 13 12 91 38 88 40 88 28 91 30 - 200 4 3 0 5 6 46 114 46 103 51 103 51 114 - 200 4 7 4 15 12 53 112 53 105 59 105 59 112 - 200 4 13 14 10 11 61 114 61 103 69 103 69 114 - 200 4 0 1 9 10 69 98 69 103 46 103 46 98 - 200 4 2 3 11 8 69 103 69 98 46 98 46 103 - 200 4 14 15 4 5 54 98 56 94 61 94 64 98 - 200 4 12 13 6 7 56 94 54 98 64 98 61 94 \ No newline at end of file +POLYGONS 24 + 200 3 3 2 1 88 16 83 16 83 28 + 200 3 3 1 0 88 16 83 28 88 28 + 200 3 7 6 5 91 18 88 16 88 28 + 200 3 7 5 4 91 18 88 28 91 26 + 200 3 2 1 9 242 0 256 0 256 28 + 200 3 2 9 8 242 0 256 28 242 28 + 200 3 9 8 11 83 40 83 28 88 28 + 200 3 9 11 10 83 40 88 28 88 40 + 200 3 15 14 13 91 38 88 40 88 28 + 200 3 15 13 12 91 38 88 28 91 30 + 200 3 3 0 5 46 114 46 103 51 103 + 200 3 3 5 6 46 114 51 103 51 114 + 200 3 7 4 15 53 112 53 105 59 105 + 200 3 7 15 12 53 112 59 105 59 112 + 200 3 13 14 10 61 114 61 103 69 103 + 200 3 13 10 11 61 114 69 103 69 114 + 200 3 0 1 9 69 98 69 103 46 103 + 200 3 0 9 10 69 98 46 103 46 98 + 200 3 2 3 11 69 103 69 98 46 98 + 200 3 2 11 8 69 103 46 98 46 103 + 200 3 14 15 4 54 98 56 94 61 94 + 200 3 14 4 5 54 98 61 94 64 98 + 200 3 12 13 6 56 94 54 98 64 98 + 200 3 12 6 7 56 94 64 98 61 94 \ No newline at end of file diff --git a/data/base/features/mibrdfuk.pie b/data/base/features/mibrdfuk.pie index c23e1ecb8..9d1996f60 100644 --- a/data/base/features/mibrdfuk.pie +++ b/data/base/features/mibrdfuk.pie @@ -53,32 +53,48 @@ POINTS 49 25 0 -26 28 39 -39 3 32 -64 -POLYGONS 28 +POLYGONS 44 200 3 2 1 0 199 87 199 131 194 131 200 3 0 3 2 194 131 194 87 199 87 - 200 4 7 6 5 4 139 41 169 41 169 71 139 71 - 200 4 6 9 8 5 169 71 139 71 139 41 169 41 + 200 3 7 6 5 139 41 169 41 169 71 + 200 3 7 5 4 139 41 169 71 139 71 + 200 3 6 9 8 169 71 139 71 139 41 + 200 3 6 8 5 169 71 139 41 169 41 200 3 10 4 11 79 1 79 47 48 1 200 3 11 4 10 48 1 79 47 79 1 200 3 14 13 12 194 131 194 87 199 87 200 3 12 15 14 199 87 199 131 194 131 200 3 18 17 16 199 87 199 131 194 131 200 3 16 19 18 194 131 194 87 199 87 - 200 4 21 20 6 7 139 41 169 41 169 71 139 71 - 200 4 20 22 9 6 169 71 139 71 139 41 169 41 + 200 3 21 20 6 139 41 169 41 169 71 + 200 3 21 6 7 139 41 169 71 139 71 + 200 3 20 22 9 169 71 139 71 139 41 + 200 3 20 9 6 169 71 139 41 169 41 200 3 23 24 8 79 2 48 2 79 46 200 3 8 24 23 79 46 48 2 79 2 200 3 27 26 25 194 131 194 87 199 87 200 3 25 28 27 199 87 199 131 194 131 - 200 4 24 23 29 30 48 1 79 1 79 47 48 47 - 200 4 30 29 23 24 48 47 79 47 79 1 48 1 - 200 4 10 11 31 32 79 1 48 1 48 47 79 47 - 200 4 32 31 11 10 79 47 48 47 48 1 79 1 - 200 4 36 35 34 33 139 41 169 41 169 71 139 71 - 200 4 37 20 35 36 139 41 169 41 169 71 139 71 - 200 4 20 39 38 35 169 71 139 71 139 41 169 41 - 200 4 35 38 40 34 169 71 139 71 139 41 169 41 - 200 4 44 43 42 41 197 240 225 240 225 256 197 256 - 200 4 48 47 46 45 225 240 197 240 197 256 225 256 - 200 4 43 48 45 42 197 240 225 240 225 256 197 256 - 200 4 47 44 41 46 225 240 197 240 197 256 225 256 \ No newline at end of file + 200 3 24 23 29 48 1 79 1 79 47 + 200 3 24 29 30 48 1 79 47 48 47 + 200 3 30 29 23 48 47 79 47 79 1 + 200 3 30 23 24 48 47 79 1 48 1 + 200 3 10 11 31 79 1 48 1 48 47 + 200 3 10 31 32 79 1 48 47 79 47 + 200 3 32 31 11 79 47 48 47 48 1 + 200 3 32 11 10 79 47 48 1 79 1 + 200 3 36 35 34 139 41 169 41 169 71 + 200 3 36 34 33 139 41 169 71 139 71 + 200 3 37 20 35 139 41 169 41 169 71 + 200 3 37 35 36 139 41 169 71 139 71 + 200 3 20 39 38 169 71 139 71 139 41 + 200 3 20 38 35 169 71 139 41 169 41 + 200 3 35 38 40 169 71 139 71 139 41 + 200 3 35 40 34 169 71 139 41 169 41 + 200 3 44 43 42 197 240 225 240 225 256 + 200 3 44 42 41 197 240 225 256 197 256 + 200 3 48 47 46 225 240 197 240 197 256 + 200 3 48 46 45 225 240 197 256 225 256 + 200 3 43 48 45 197 240 225 240 225 256 + 200 3 43 45 42 197 240 225 256 197 256 + 200 3 47 44 41 225 240 197 240 197 256 + 200 3 47 41 46 225 240 197 256 225 256 \ No newline at end of file diff --git a/data/base/features/mibridg1.pie b/data/base/features/mibridg1.pie index 4eede34ba..12d55170a 100644 --- a/data/base/features/mibridg1.pie +++ b/data/base/features/mibridg1.pie @@ -4,30 +4,30 @@ TEXTURE 0 page-31-features-urban.png 256 256 LEVELS 1 LEVEL 1 POINTS 23 - -65 0 65 - -65 0 -64 - -65 104 65 - -58 105 65 - -71 105 65 - -71 14 -48 - -58 14 -48 - 58 14 -48 - 71 14 -48 - 71 105 65 - 58 105 65 - 65 0 65 - 65 104 65 - 65 0 -64 - 0 13 0 - 65 13 0 - 65 19 64 - 0 19 64 - -65 7 -64 - 0 7 -64 - -65 13 0 - 65 7 -64 + -65 0 65 + -65 0 -64 + -65 104 65 + -58 105 65 + -71 105 65 + -71 14 -48 + -58 14 -48 + 58 14 -48 + 71 14 -48 + 71 105 65 + 58 105 65 + 65 0 65 + 65 104 65 + 65 0 -64 + 0 13 0 + 65 13 0 + 65 19 64 + 0 19 64 + -65 7 -64 + 0 7 -64 + -65 13 0 + 65 7 -64 -65 19 64 -POLYGONS 12 +POLYGONS 16 200 3 0 1 2 79 1 79 47 48 1 200 3 2 1 0 48 1 79 47 79 1 200 3 5 4 3 199 87 199 131 194 131 @@ -36,7 +36,11 @@ POLYGONS 12 200 3 7 10 9 199 87 199 131 194 131 200 3 11 12 13 79 2 48 2 79 46 200 3 13 12 11 79 46 48 2 79 2 - 200 4 17 16 15 14 169 71 139 71 139 41 169 41 - 200 4 20 14 19 18 139 41 169 41 169 71 139 71 - 200 4 14 15 21 19 169 71 139 71 139 41 169 41 - 200 4 22 17 14 20 139 41 169 41 169 71 139 71 \ No newline at end of file + 200 3 17 16 15 169 71 139 71 139 41 + 200 3 17 15 14 169 71 139 41 169 41 + 200 3 20 14 19 139 41 169 41 169 71 + 200 3 20 19 18 139 41 169 71 139 71 + 200 3 14 15 21 169 71 139 71 139 41 + 200 3 14 21 19 169 71 139 41 169 41 + 200 3 22 17 14 139 41 169 41 169 71 + 200 3 22 14 20 139 41 169 71 139 71 \ No newline at end of file diff --git a/data/base/features/mibridge.pie b/data/base/features/mibridge.pie index 95816ebb7..7d462a1ff 100644 --- a/data/base/features/mibridge.pie +++ b/data/base/features/mibridge.pie @@ -3,67 +3,66 @@ TYPE 200 TEXTURE 0 page-31-features-urban.png 256 256 LEVELS 1 LEVEL 1 -POINTS 48 - -58 195 65 - -71 195 65 - -71 195 -65 - -58 195 -64 - 58 195 -64 - 71 195 -65 - 71 195 65 - 58 195 65 - -65 195 65 - -65 91 65 - -65 91 -64 - -65 195 -64 - 65 91 65 - 65 195 65 - 65 195 -64 - 65 91 -64 - -25 0 0 - 0 0 -25 - 0 96 -25 - -25 96 0 - 25 0 0 - 0 0 25 - 0 96 25 - 25 96 0 - 0 0 25 - -25 0 0 - -25 96 0 - 0 96 25 - 0 0 -25 - 25 0 0 - 25 96 0 - 0 96 -25 - -65 97 0 - 0 97 0 - 0 97 65 - -65 97 65 - 0 97 0 - 65 97 0 - 65 97 65 - 0 97 65 - -65 97 -64 - 0 97 -64 - 0 97 0 - -65 97 0 - 0 97 -64 +POINTS 33 + -58 195 65 + -71 195 65 + -71 195 -65 + -58 195 -64 + 58 195 -64 + 71 195 -65 + 71 195 65 + 58 195 65 + -65 195 65 + -65 91 65 + -65 91 -64 + -65 195 -64 + 65 91 65 + 65 195 65 + 65 195 -64 + 65 91 -64 + -25 0 0 + 0 0 -25 + 0 96 -25 + -25 96 0 + 25 0 0 + 0 0 25 + 0 96 25 + 25 96 0 + -65 97 0 + 0 97 0 + 0 97 65 + -65 97 65 + 65 97 0 + 65 97 65 + -65 97 -64 + 0 97 -64 65 97 -64 - 65 97 0 - 0 97 0 -POLYGONS 14 +POLYGONS 26 200 3 2 1 0 199 87 199 131 194 131 200 3 0 3 2 194 131 194 87 199 87 200 3 6 5 4 194 131 194 87 199 87 200 3 4 7 6 199 87 199 131 194 131 - 2a00 4 11 10 9 8 48 47 79 47 79 1 48 1 - 2a00 4 15 14 13 12 79 47 48 47 48 1 79 1 - 200 4 19 18 17 16 197 240 225 240 225 256 197 256 - 200 4 23 22 21 20 225 240 197 240 197 256 225 256 - 200 4 27 26 25 24 197 240 225 240 225 256 197 256 - 200 4 31 30 29 28 225 240 197 240 197 256 225 256 - 200 4 35 34 33 32 139 41 169 41 169 71 139 71 - 200 4 39 38 37 36 169 71 139 71 139 41 169 41 - 200 4 43 42 41 40 139 41 169 41 169 71 139 71 - 200 4 47 46 45 44 169 71 139 71 139 41 169 41 + 200 3 9 10 11 79 1 79 47 48 47 + 200 3 11 10 9 48 47 79 47 79 1 + 200 3 11 8 9 48 47 48 1 79 1 + 200 3 11 9 8 48 47 79 1 48 1 + 200 3 13 14 15 48 1 48 47 79 47 + 200 3 15 14 13 79 47 48 47 48 1 + 200 3 15 12 13 79 47 79 1 48 1 + 200 3 15 13 12 79 47 48 1 79 1 + 200 3 19 18 17 197 240 225 240 225 256 + 200 3 19 17 16 197 240 225 256 197 256 + 200 3 23 22 21 225 240 197 240 197 256 + 200 3 23 21 20 225 240 197 256 225 256 + 200 3 22 19 16 197 240 225 240 225 256 + 200 3 22 16 21 197 240 225 256 197 256 + 200 3 18 23 20 225 240 197 240 197 256 + 200 3 18 20 17 225 240 197 256 225 256 + 200 3 27 26 25 139 41 169 41 169 71 + 200 3 27 25 24 139 41 169 71 139 71 + 200 3 26 29 28 169 71 139 71 139 41 + 200 3 26 28 25 169 71 139 41 169 41 + 200 3 24 25 31 139 41 169 41 169 71 + 200 3 24 31 30 139 41 169 71 139 71 + 200 3 25 28 32 169 71 139 71 139 41 + 200 3 25 32 31 169 71 139 41 169 41 \ No newline at end of file diff --git a/data/base/features/mibridgx.pie b/data/base/features/mibridgx.pie index 16bd7da6a..f4e350212 100644 --- a/data/base/features/mibridgx.pie +++ b/data/base/features/mibridgx.pie @@ -3,271 +3,231 @@ TYPE 200 TEXTURE 0 page-31-features-urban.png 256 256 LEVELS 1 LEVEL 1 -POINTS 204 - 0 121 -325 - 65 121 -325 - 64 124 -260 - 0 124 -260 - 65 121 -195 - 65 228 -195 - 65 121 -325 - 0 124 -260 - 65 124 -260 - 64 127 -195 - 0 127 -195 - -65 121 -325 - 0 121 -325 - 0 124 -260 - -65 124 -260 - -65 121 -195 - -65 121 -325 - -65 228 -195 - 58 135 -309 - 71 135 -309 - 71 229 -195 - 58 229 -195 - -58 229 -195 - -71 229 -195 - -71 135 -309 - -58 135 -309 - -65 124 -260 - 0 124 -260 - 0 127 -195 - -65 127 -195 - 65 121 324 - 0 121 324 - 0 124 259 - 65 124 259 - 0 121 324 - -64 121 324 - -64 124 259 - 0 124 259 - 65 121 194 - 65 121 324 - 65 228 194 - -58 135 308 - -71 135 308 - -71 229 194 - -58 229 194 - 58 229 194 - 71 229 194 - 71 135 308 - 58 135 308 - 65 124 259 - 0 124 259 - 0 127 194 - 65 127 194 - 0 124 259 - -64 124 259 - -64 127 194 - 0 127 194 - -64 121 194 - -64 228 194 - -64 121 324 - -58 228 194 - -71 228 194 - -71 228 64 - -58 228 64 - 58 228 64 - 71 228 64 - 71 228 194 - 58 228 194 - -65 228 194 - -65 121 194 - -65 121 64 - -65 228 64 - 65 121 194 - 65 228 194 - 65 228 64 - 65 121 64 - -25 0 129 - 0 0 104 - 0 122 104 - -25 122 129 - 25 0 129 - 0 0 154 - 0 122 154 - 25 122 129 - 0 0 154 - -25 0 129 - -25 122 129 - 0 122 154 - 0 0 104 - 25 0 129 - 25 122 129 - 0 122 104 - -64 127 129 - 0 127 129 - 0 127 194 - -64 127 194 - 0 127 129 - 65 127 129 - 65 127 194 - 0 127 194 - -64 127 64 - 0 127 64 - 0 127 129 - -64 127 129 - 0 127 64 - 65 127 64 - 65 127 129 - 0 127 129 - -58 228 64 - -71 228 64 - -71 228 -65 - -58 228 -65 - 58 228 -65 - 71 228 -65 - 71 228 64 - 58 228 64 - -65 228 64 - -65 121 64 - -65 121 -65 - -65 228 -65 - 65 121 64 - 65 228 64 - 65 228 -65 - 65 121 -65 - -25 0 0 - 0 0 -25 - 0 122 -25 - -25 122 0 - 25 0 0 - 0 0 24 - 0 122 24 - 25 122 0 - 0 0 24 - -25 0 0 - -25 122 0 - 0 122 24 - 0 0 -25 - 25 0 0 - 25 122 0 - 0 122 -25 - -65 127 0 - 0 127 0 - 0 127 64 - -65 127 64 - 0 127 0 - 65 127 0 - 65 127 64 - 0 127 64 - -65 127 -65 - 0 127 -65 - 0 127 0 - -65 127 0 - 0 127 -65 - 65 127 -65 - 65 127 0 - 0 127 0 - -58 228 -65 - -71 228 -65 - -71 228 -195 - -58 228 -195 - 58 228 -195 - 71 228 -195 - 71 228 -65 - 58 228 -65 - -65 228 -65 - -65 121 -65 - -65 121 -195 - -65 228 -195 - 65 121 -65 - 65 228 -65 - 65 228 -195 - 65 121 -195 - -25 0 -130 - 0 0 -155 - 0 122 -155 - -25 122 -130 - 25 0 -130 - 0 0 -105 - 0 122 -105 - 25 122 -130 - 0 0 -105 - -25 0 -130 - -25 122 -130 - 0 122 -105 - 0 0 -155 - 25 0 -130 - 25 122 -130 - 0 122 -155 - -65 127 -130 - 0 127 -130 - 0 127 -65 - -65 127 -65 - 0 127 -130 - 65 127 -130 - 65 127 -65 - 0 127 -65 - -65 127 -195 - 0 127 -195 - 0 127 -130 - -65 127 -130 - 0 127 -195 +POINTS 110 + 0 121 -325 + 65 121 -325 + 64 124 -260 + 0 124 -260 + 65 121 -195 + 65 228 -195 + 65 124 -260 + 64 127 -195 + 0 127 -195 + -65 121 -325 + -65 124 -260 + -65 121 -195 + -65 228 -195 + 58 135 -309 + 71 135 -309 + 71 229 -195 + 58 229 -195 + -58 229 -195 + -71 229 -195 + -71 135 -309 + -58 135 -309 + -65 127 -195 + 65 121 324 + 0 121 324 + 0 124 259 + 65 124 259 + -64 121 324 + -64 124 259 + 65 121 194 + 65 228 194 + -58 135 308 + -71 135 308 + -71 229 194 + -58 229 194 + 58 229 194 + 71 229 194 + 71 135 308 + 58 135 308 + 0 127 194 + 65 127 194 + -64 127 194 + -64 121 194 + -64 228 194 + -58 228 194 + -71 228 194 + -71 228 64 + -58 228 64 + 58 228 64 + 71 228 64 + 71 228 194 + 58 228 194 + -65 228 194 + -65 121 194 + -65 121 64 + -65 228 64 + 65 228 64 + 65 121 64 + -25 0 129 + 0 0 104 + 0 122 104 + -25 122 129 + 25 0 129 + 0 0 154 + 0 122 154 + 25 122 129 + -64 127 129 + 0 127 129 + 65 127 129 + -64 127 64 + 0 127 64 + 65 127 64 + -71 228 -65 + -58 228 -65 + 58 228 -65 + 71 228 -65 + -65 121 -65 + -65 228 -65 + 65 228 -65 + 65 121 -65 + -25 0 0 + 0 0 -25 + 0 122 -25 + -25 122 0 + 25 0 0 + 0 0 24 + 0 122 24 + 25 122 0 + -65 127 0 + 0 127 0 + -65 127 64 + 65 127 0 + -65 127 -65 + 0 127 -65 + 65 127 -65 + -71 228 -195 + -58 228 -195 + 58 228 -195 + 71 228 -195 + -25 0 -130 + 0 0 -155 + 0 122 -155 + -25 122 -130 + 25 0 -130 + 0 0 -105 + 0 122 -105 + 25 122 -130 + -65 127 -130 + 0 127 -130 + 65 127 -130 65 127 -195 - 65 127 -130 - 0 127 -130 -POLYGONS 62 - 200 4 3 2 1 0 169 71 139 71 139 41 169 41 - 2a00 3 6 5 4 79 46 48 2 79 2 - 200 4 10 9 8 7 169 71 139 71 139 41 169 41 - 200 4 14 13 12 11 139 41 169 41 169 71 139 71 - 2a00 3 17 16 15 48 1 79 47 79 1 - 200 3 20 19 18 194 131 194 87 199 87 - 200 3 18 21 20 199 87 199 131 194 131 - 200 3 24 23 22 199 87 199 131 194 131 - 200 3 22 25 24 194 131 194 87 199 87 - 200 4 29 28 27 26 139 41 169 41 169 71 139 71 - 200 4 33 32 31 30 139 41 169 41 169 71 139 71 - 200 4 37 36 35 34 169 71 139 71 139 41 169 41 - 2a00 3 40 39 38 48 1 79 47 79 1 - 200 3 43 42 41 194 131 194 87 199 87 - 200 3 41 44 43 199 87 199 131 194 131 - 200 3 47 46 45 199 87 199 131 194 131 - 200 3 45 48 47 194 131 194 87 199 87 - 200 4 52 51 50 49 139 41 169 41 169 71 139 71 - 200 4 56 55 54 53 169 71 139 71 139 41 169 41 - 2a00 3 59 58 57 79 46 48 2 79 2 - 200 3 62 61 60 199 87 199 131 194 131 - 200 3 60 63 62 194 131 194 87 199 87 - 200 3 66 65 64 194 131 194 87 199 87 - 200 3 64 67 66 199 87 199 131 194 131 - 2a00 4 71 70 69 68 48 47 79 47 79 1 48 1 - 2a00 4 75 74 73 72 79 47 48 47 48 1 79 1 - 200 4 79 78 77 76 197 240 225 240 225 256 197 256 - 200 4 83 82 81 80 225 240 197 240 197 256 225 256 - 200 4 87 86 85 84 197 240 225 240 225 256 197 256 - 200 4 91 90 89 88 225 240 197 240 197 256 225 256 - 200 4 95 94 93 92 139 41 169 41 169 71 139 71 - 200 4 99 98 97 96 169 71 139 71 139 41 169 41 - 200 4 103 102 101 100 139 41 169 41 169 71 139 71 - 200 4 107 106 105 104 169 71 139 71 139 41 169 41 - 200 3 110 109 108 199 87 199 131 194 131 - 200 3 108 111 110 194 131 194 87 199 87 - 200 3 114 113 112 194 131 194 87 199 87 - 200 3 112 115 114 199 87 199 131 194 131 - 2a00 4 119 118 117 116 48 47 79 47 79 1 48 1 - 2a00 4 123 122 121 120 79 47 48 47 48 1 79 1 - 200 4 127 126 125 124 197 240 225 240 225 256 197 256 - 200 4 131 130 129 128 225 240 197 240 197 256 225 256 - 200 4 135 134 133 132 197 240 225 240 225 256 197 256 - 200 4 139 138 137 136 225 240 197 240 197 256 225 256 - 200 4 143 142 141 140 139 41 169 41 169 71 139 71 - 200 4 147 146 145 144 169 71 139 71 139 41 169 41 - 200 4 151 150 149 148 139 41 169 41 169 71 139 71 - 200 4 155 154 153 152 169 71 139 71 139 41 169 41 - 200 3 158 157 156 199 87 199 131 194 131 - 200 3 156 159 158 194 131 194 87 199 87 - 200 3 162 161 160 194 131 194 87 199 87 - 200 3 160 163 162 199 87 199 131 194 131 - 2a00 4 167 166 165 164 48 47 79 47 79 1 48 1 - 2a00 4 171 170 169 168 79 47 48 47 48 1 79 1 - 200 4 175 174 173 172 197 240 225 240 225 256 197 256 - 200 4 179 178 177 176 225 240 197 240 197 256 225 256 - 200 4 183 182 181 180 197 240 225 240 225 256 197 256 - 200 4 187 186 185 184 225 240 197 240 197 256 225 256 - 200 4 191 190 189 188 139 41 169 41 169 71 139 71 - 200 4 195 194 193 192 169 71 139 71 139 41 169 41 - 200 4 199 198 197 196 139 41 169 41 169 71 139 71 - 200 4 203 202 201 200 169 71 139 71 139 41 169 41 +POLYGONS 110 + 200 3 3 2 1 169 71 139 71 139 41 + 200 3 3 1 0 169 71 139 41 169 41 + 200 3 4 5 1 79 2 48 2 79 46 + 200 3 1 5 4 79 46 48 2 79 2 + 200 3 8 7 6 169 71 139 71 139 41 + 200 3 8 6 3 169 71 139 41 169 41 + 200 3 10 3 0 139 41 169 41 169 71 + 200 3 10 0 9 139 41 169 71 139 71 + 200 3 11 9 12 79 1 79 47 48 1 + 200 3 12 9 11 48 1 79 47 79 1 + 200 3 15 14 13 194 131 194 87 199 87 + 200 3 13 16 15 199 87 199 131 194 131 + 200 3 19 18 17 199 87 199 131 194 131 + 200 3 17 20 19 194 131 194 87 199 87 + 200 3 21 8 3 139 41 169 41 169 71 + 200 3 21 3 10 139 41 169 71 139 71 + 200 3 25 24 23 139 41 169 41 169 71 + 200 3 25 23 22 139 41 169 71 139 71 + 200 3 24 27 26 169 71 139 71 139 41 + 200 3 24 26 23 169 71 139 41 169 41 + 200 3 28 22 29 79 1 79 47 48 1 + 200 3 29 22 28 48 1 79 47 79 1 + 200 3 32 31 30 194 131 194 87 199 87 + 200 3 30 33 32 199 87 199 131 194 131 + 200 3 36 35 34 199 87 199 131 194 131 + 200 3 34 37 36 194 131 194 87 199 87 + 200 3 39 38 24 139 41 169 41 169 71 + 200 3 39 24 25 139 41 169 71 139 71 + 200 3 38 40 27 169 71 139 71 139 41 + 200 3 38 27 24 169 71 139 41 169 41 + 200 3 41 42 26 79 2 48 2 79 46 + 200 3 26 42 41 79 46 48 2 79 2 + 200 3 45 44 43 199 87 199 131 194 131 + 200 3 43 46 45 194 131 194 87 199 87 + 200 3 49 48 47 194 131 194 87 199 87 + 200 3 47 50 49 199 87 199 131 194 131 + 200 3 52 53 54 79 1 79 47 48 47 + 200 3 54 53 52 48 47 79 47 79 1 + 200 3 54 51 52 48 47 48 1 79 1 + 200 3 54 52 51 48 47 79 1 48 1 + 200 3 29 55 56 48 1 48 47 79 47 + 200 3 56 55 29 79 47 48 47 48 1 + 200 3 56 28 29 79 47 79 1 48 1 + 200 3 56 29 28 79 47 48 1 79 1 + 200 3 60 59 58 197 240 225 240 225 256 + 200 3 60 58 57 197 240 225 256 197 256 + 200 3 64 63 62 225 240 197 240 197 256 + 200 3 64 62 61 225 240 197 256 225 256 + 200 3 63 60 57 197 240 225 240 225 256 + 200 3 63 57 62 197 240 225 256 197 256 + 200 3 59 64 61 225 240 197 240 197 256 + 200 3 59 61 58 225 240 197 256 225 256 + 200 3 40 38 66 139 41 169 41 169 71 + 200 3 40 66 65 139 41 169 71 139 71 + 200 3 38 39 67 169 71 139 71 139 41 + 200 3 38 67 66 169 71 139 41 169 41 + 200 3 65 66 69 139 41 169 41 169 71 + 200 3 65 69 68 139 41 169 71 139 71 + 200 3 66 67 70 169 71 139 71 139 41 + 200 3 66 70 69 169 71 139 41 169 41 + 200 3 71 45 46 199 87 199 131 194 131 + 200 3 46 72 71 194 131 194 87 199 87 + 200 3 48 74 73 194 131 194 87 199 87 + 200 3 73 47 48 199 87 199 131 194 131 + 200 3 53 75 76 79 1 79 47 48 47 + 200 3 76 75 53 48 47 79 47 79 1 + 200 3 76 54 53 48 47 48 1 79 1 + 200 3 76 53 54 48 47 79 1 48 1 + 200 3 55 77 78 48 1 48 47 79 47 + 200 3 78 77 55 79 47 48 47 48 1 + 200 3 78 56 55 79 47 79 1 48 1 + 200 3 78 55 56 79 47 48 1 79 1 + 200 3 82 81 80 197 240 225 240 225 256 + 200 3 82 80 79 197 240 225 256 197 256 + 200 3 86 85 84 225 240 197 240 197 256 + 200 3 86 84 83 225 240 197 256 225 256 + 200 3 85 82 79 197 240 225 240 225 256 + 200 3 85 79 84 197 240 225 256 197 256 + 200 3 81 86 83 225 240 197 240 197 256 + 200 3 81 83 80 225 240 197 256 225 256 + 200 3 89 69 88 139 41 169 41 169 71 + 200 3 89 88 87 139 41 169 71 139 71 + 200 3 69 70 90 169 71 139 71 139 41 + 200 3 69 90 88 169 71 139 41 169 41 + 200 3 87 88 92 139 41 169 41 169 71 + 200 3 87 92 91 139 41 169 71 139 71 + 200 3 88 90 93 169 71 139 71 139 41 + 200 3 88 93 92 169 71 139 41 169 41 + 200 3 94 71 72 199 87 199 131 194 131 + 200 3 72 95 94 194 131 194 87 199 87 + 200 3 74 97 96 194 131 194 87 199 87 + 200 3 96 73 74 199 87 199 131 194 131 + 200 3 75 11 12 79 1 79 47 48 47 + 200 3 12 11 75 48 47 79 47 79 1 + 200 3 12 76 75 48 47 48 1 79 1 + 200 3 12 75 76 48 47 79 1 48 1 + 200 3 77 5 4 48 1 48 47 79 47 + 200 3 4 5 77 79 47 48 47 48 1 + 200 3 4 78 77 79 47 79 1 48 1 + 200 3 4 77 78 79 47 48 1 79 1 + 200 3 101 100 99 197 240 225 240 225 256 + 200 3 101 99 98 197 240 225 256 197 256 + 200 3 105 104 103 225 240 197 240 197 256 + 200 3 105 103 102 225 240 197 256 225 256 + 200 3 104 101 98 197 240 225 240 225 256 + 200 3 104 98 103 197 240 225 256 197 256 + 200 3 100 105 102 225 240 197 240 197 256 + 200 3 100 102 99 225 240 197 256 225 256 + 200 3 91 92 107 139 41 169 41 169 71 + 200 3 91 107 106 139 41 169 71 139 71 + 200 3 92 93 108 169 71 139 71 139 41 + 200 3 92 108 107 169 71 139 41 169 41 + 200 3 106 107 8 139 41 169 41 169 71 + 200 3 106 8 21 139 41 169 71 139 71 + 200 3 107 108 109 169 71 139 71 139 41 + 200 3 107 109 8 169 71 139 41 169 41 \ No newline at end of file diff --git a/data/base/features/mibuil10.pie b/data/base/features/mibuil10.pie index a98402efd..4b7661f2d 100644 --- a/data/base/features/mibuil10.pie +++ b/data/base/features/mibuil10.pie @@ -15,11 +15,18 @@ POINTS 11 -59 9 91 110 9 91 110 9 -39 -POLYGONS 7 - 200 4 9 6 7 8 110 18 111 18 110 18 110 18 - 200 4 5 6 9 10 111 18 111 18 111 18 111 18 - 200 4 1 2 6 5 1 50 44 50 44 107 1 107 - 200 4 2 3 7 6 1 50 44 50 44 107 1 107 - 200 4 0 1 5 4 1 50 44 50 44 107 1 107 - 200 4 3 0 4 7 1 50 44 50 44 107 1 107 - 200 4 3 2 1 0 136 47 94 47 94 90 136 90 \ No newline at end of file +POLYGONS 14 + 200 3 9 6 7 110 18 111 18 110 18 + 200 3 9 7 8 110 18 110 18 110 18 + 200 3 5 6 9 111 18 111 18 111 18 + 200 3 5 9 10 111 18 111 18 111 18 + 200 3 1 2 6 1 50 44 50 44 107 + 200 3 1 6 5 1 50 44 107 1 107 + 200 3 2 3 7 1 50 44 50 44 107 + 200 3 2 7 6 1 50 44 107 1 107 + 200 3 0 1 5 1 50 44 50 44 107 + 200 3 0 5 4 1 50 44 107 1 107 + 200 3 3 0 4 1 50 44 50 44 107 + 200 3 3 4 7 1 50 44 107 1 107 + 200 3 3 2 1 136 47 94 47 94 90 + 200 3 3 1 0 136 47 94 90 136 90 \ No newline at end of file diff --git a/data/base/features/mibuil11.pie b/data/base/features/mibuil11.pie index 56a070e33..39f88bed3 100644 --- a/data/base/features/mibuil11.pie +++ b/data/base/features/mibuil11.pie @@ -31,9 +31,11 @@ POINTS 27 189 9 190 189 9 -92 141 9 -142 -POLYGONS 32 - 200 4 24 23 22 21 110 18 111 18 110 18 110 18 - 200 4 26 23 24 25 111 18 111 18 111 18 111 18 +POLYGONS 36 + 200 3 24 23 22 110 18 111 18 110 18 + 200 3 24 22 21 110 18 110 18 110 18 + 200 3 26 23 24 111 18 111 18 111 18 + 200 3 26 24 25 111 18 111 18 111 18 200 3 8 7 1 253 86 254 114 227 114 200 3 2 1 0 200 115 226 115 226 143 200 3 5 1 4 226 86 227 114 200 86 @@ -47,7 +49,8 @@ POLYGONS 32 200 3 16 11 15 253 211 226 180 226 211 200 3 11 6 7 226 179 253 149 226 157 200 3 8 12 11 198 155 198 211 225 180 - 200 4 5 4 14 17 226 148 253 148 253 211 226 180 + 200 3 5 4 14 226 148 253 148 253 211 + 200 3 5 14 17 226 148 253 211 226 180 200 3 19 17 14 226 211 226 180 253 211 200 3 12 8 17 198 211 198 155 225 179 200 3 8 5 17 198 155 225 148 225 179 @@ -56,7 +59,8 @@ POLYGONS 32 200 3 4 2 9 198 148 225 151 225 179 200 3 14 4 9 198 211 198 148 225 179 200 3 13 9 10 226 211 226 180 253 211 - 200 4 2 3 10 9 226 152 253 157 253 211 226 180 + 200 3 2 3 10 226 152 253 157 253 211 + 200 3 2 10 9 226 152 253 211 226 180 200 3 6 16 18 198 149 198 211 225 180 200 3 18 3 0 226 179 253 158 226 148 200 3 10 18 20 253 211 226 180 226 211 diff --git a/data/base/features/mibuil12.pie b/data/base/features/mibuil12.pie index 8efa74e09..8ed296a6b 100644 --- a/data/base/features/mibuil12.pie +++ b/data/base/features/mibuil12.pie @@ -22,13 +22,22 @@ POINTS 18 112 11 86 -112 11 66 112 11 66 -POLYGONS 9 - 200 4 6 4 17 16 254 82 210 82 210 81 254 81 - 200 4 9 8 15 14 110 18 110 18 110 18 110 18 - 200 4 5 7 16 17 210 33 254 33 254 81 210 81 - 200 4 2 5 4 1 210 33 254 33 254 82 210 82 - 200 4 11 10 14 15 110 18 111 18 110 18 110 18 - 200 4 13 10 11 12 111 18 111 18 111 18 111 18 - 200 4 7 3 0 6 210 33 254 33 254 82 210 82 - 200 4 3 2 1 0 210 33 254 33 254 82 210 82 - 200 4 7 5 2 3 207 67 171 68 171 41 207 41 \ No newline at end of file +POLYGONS 18 + 200 3 6 4 17 254 82 210 82 210 81 + 200 3 6 17 16 254 82 210 81 254 81 + 200 3 9 8 15 110 18 110 18 110 18 + 200 3 9 15 14 110 18 110 18 110 18 + 200 3 5 7 16 210 33 254 33 254 81 + 200 3 5 16 17 210 33 254 81 210 81 + 200 3 2 5 4 210 33 254 33 254 82 + 200 3 2 4 1 210 33 254 82 210 82 + 200 3 11 10 14 110 18 111 18 110 18 + 200 3 11 14 15 110 18 110 18 110 18 + 200 3 13 10 11 111 18 111 18 111 18 + 200 3 13 11 12 111 18 111 18 111 18 + 200 3 7 3 0 210 33 254 33 254 82 + 200 3 7 0 6 210 33 254 82 210 82 + 200 3 3 2 1 210 33 254 33 254 82 + 200 3 3 1 0 210 33 254 82 210 82 + 200 3 7 5 2 207 67 171 68 171 41 + 200 3 7 2 3 207 67 171 41 207 41 \ No newline at end of file diff --git a/data/base/features/mibuil16.pie b/data/base/features/mibuil16.pie index 1330210b2..efaf1dcac 100644 --- a/data/base/features/mibuil16.pie +++ b/data/base/features/mibuil16.pie @@ -79,60 +79,84 @@ POINTS 75 48 11 136 63 11 101 95 11 -100 -POLYGONS 56 +POLYGONS 80 200 3 40 45 44 65 199 43 202 65 198 200 3 40 44 37 1 199 1 198 67 194 200 3 12 6 9 31 210 32 225 16 210 - 200 4 54 56 57 50 1 190 11 188 23 190 27 196 + 200 3 54 56 57 1 190 11 188 23 190 + 200 3 54 57 50 1 190 23 190 27 196 200 3 54 50 44 1 190 27 196 1 198 200 3 7 49 48 18 222 29 223 27 224 - 200 4 7 52 53 49 18 222 17 217 23 217 29 223 + 200 3 7 52 53 18 222 17 217 23 217 + 200 3 7 53 49 18 222 23 217 29 223 200 3 55 57 56 22 187 23 190 11 188 200 3 7 48 47 18 222 27 224 21 228 200 3 51 55 54 1 144 22 187 1 190 - 200 4 17 18 19 20 88 89 70 87 72 74 88 74 - 200 4 20 19 18 17 88 74 72 74 70 87 88 89 + 200 3 17 18 19 88 89 70 87 72 74 + 200 3 17 19 20 88 89 72 74 88 74 + 200 3 20 19 18 88 74 72 74 70 87 + 200 3 20 18 17 88 74 70 87 88 89 200 3 50 57 63 27 196 24 190 47 194 200 3 9 53 52 16 210 23 217 17 217 200 3 61 65 64 54 229 54 229 53 229 - 200 4 62 61 64 66 54 229 54 229 53 229 41 233 + 200 3 62 61 64 54 229 54 229 53 229 + 200 3 62 64 66 54 229 53 229 41 233 200 3 37 36 46 67 194 1 124 66 124 - 200 4 31 66 69 68 41 234 41 233 50 229 41 234 + 200 3 31 66 69 41 234 41 233 50 229 + 200 3 31 69 68 41 234 50 229 41 234 200 3 31 68 67 40 234 40 234 39 234 200 3 37 51 36 67 194 1 144 1 124 - 200 4 37 63 57 51 67 194 47 194 24 190 1 144 + 200 3 37 63 57 67 194 47 194 24 190 + 200 3 37 57 51 67 194 24 190 1 144 200 3 60 70 71 58 240 54 240 54 231 - 200 4 59 58 23 24 87 85 70 84 71 74 86 76 - 200 4 24 23 58 59 86 76 71 74 70 84 87 85 - 200 4 64 65 71 70 53 229 54 229 54 231 54 240 + 200 3 59 58 23 87 85 70 84 71 74 + 200 3 59 23 24 87 85 71 74 86 76 + 200 3 24 23 58 86 76 71 74 70 84 + 200 3 24 58 59 86 76 70 84 87 85 + 200 3 64 65 71 53 229 54 229 54 231 + 200 3 64 71 70 53 229 54 231 54 240 200 3 28 64 70 48 240 53 229 54 240 - 200 4 64 28 68 69 53 229 48 240 41 234 50 229 - 200 4 28 32 67 68 47 240 33 241 39 234 40 234 - 200 4 41 37 46 34 66 205 5 195 2 124 66 124 - 200 4 25 26 60 61 55 229 62 240 58 240 54 229 + 200 3 64 28 68 53 229 48 240 41 234 + 200 3 64 68 69 53 229 41 234 50 229 + 200 3 28 32 67 47 240 33 241 39 234 + 200 3 28 67 68 47 240 39 234 40 234 + 200 3 41 37 46 66 205 5 195 2 124 + 200 3 41 46 34 66 205 2 124 66 124 + 200 3 25 26 60 55 229 62 240 58 240 + 200 3 25 60 61 55 229 58 240 54 229 200 3 30 27 25 56 218 62 225 56 228 200 3 27 30 29 62 225 56 218 62 218 200 3 27 26 25 62 226 63 240 56 229 200 3 25 61 62 55 229 54 229 54 229 - 200 4 58 59 21 22 70 84 87 85 88 89 70 89 - 200 4 22 21 59 58 70 89 88 89 87 85 70 84 - 200 4 36 44 45 39 66 124 65 198 43 202 1 210 + 200 3 58 59 21 70 84 87 85 88 89 + 200 3 58 21 22 70 84 88 89 70 89 + 200 3 22 21 59 70 89 88 89 87 85 + 200 3 22 59 58 70 89 87 85 70 84 + 200 3 36 44 45 66 124 65 198 43 202 + 200 3 36 45 39 66 124 43 202 1 210 200 3 36 39 35 66 124 1 210 1 124 - 200 4 1 0 72 73 110 18 110 18 110 18 110 18 + 200 3 1 0 72 110 18 110 18 110 18 + 200 3 1 72 73 110 18 110 18 110 18 200 3 13 14 15 10 231 8 241 0 241 200 3 16 13 15 0 234 10 231 0 241 - 200 4 43 42 73 72 110 18 110 18 110 18 110 18 + 200 3 43 42 73 110 18 110 18 110 18 + 200 3 43 73 72 110 18 110 18 110 18 200 3 14 13 10 8 241 10 231 15 241 200 3 8 11 10 21 231 31 241 16 241 200 3 10 13 8 16 241 11 231 21 231 200 3 6 48 49 31 225 27 224 29 223 200 3 8 6 11 22 231 31 226 31 241 - 200 4 6 8 47 48 31 225 22 230 21 228 27 224 - 200 4 36 35 34 33 1 1 46 1 46 46 1 46 + 200 3 6 8 47 31 225 22 230 21 228 + 200 3 6 47 48 31 225 21 228 27 224 + 200 3 36 35 34 1 1 46 1 46 46 + 200 3 36 34 33 1 1 46 46 1 46 200 3 33 46 36 66 124 66 124 1 124 200 3 33 34 46 2 124 66 124 2 124 - 200 4 34 35 39 38 2 124 66 124 67 210 3 207 + 200 3 34 35 39 2 124 66 124 67 210 + 200 3 34 39 38 2 124 67 210 3 207 200 3 41 74 38 66 205 66 204 68 206 - 200 4 5 2 3 4 111 18 111 18 111 18 111 18 - 200 4 3 2 42 43 110 18 111 18 110 18 110 18 + 200 3 5 2 3 111 18 111 18 111 18 + 200 3 5 3 4 111 18 111 18 111 18 + 200 3 3 2 42 110 18 111 18 110 18 + 200 3 3 42 43 110 18 110 18 110 18 200 3 34 38 74 66 124 68 206 66 204 \ No newline at end of file diff --git a/data/base/features/mibuil17.pie b/data/base/features/mibuil17.pie index f32e76867..540362b61 100644 --- a/data/base/features/mibuil17.pie +++ b/data/base/features/mibuil17.pie @@ -47,31 +47,57 @@ POINTS 43 -16 71 98 43 110 12 43 72 12 -POLYGONS 27 - 200 4 5 2 3 4 111 18 111 18 111 18 111 18 - 200 4 3 2 1 0 110 18 111 18 110 18 110 18 - 200 4 29 30 24 25 210 65 254 65 236 69 210 69 - 200 4 27 24 30 33 236 79 236 70 254 65 254 79 - 200 4 20 24 27 19 48 49 71 49 71 72 48 72 - 200 4 24 20 40 25 45 22 45 46 28 46 28 22 - 200 4 32 31 30 29 94 47 136 47 136 90 94 90 - 200 4 32 29 25 26 210 65 254 65 254 69 227 69 - 200 4 32 26 28 35 210 65 226 69 226 79 210 79 - 200 4 26 23 22 28 64 49 91 49 91 72 64 72 - 200 4 23 26 25 21 1 1 28 1 28 21 1 46 +POLYGONS 53 + 200 3 5 2 3 111 18 111 18 111 18 + 200 3 5 3 4 111 18 111 18 111 18 + 200 3 3 2 1 110 18 111 18 110 18 + 200 3 3 1 0 110 18 110 18 110 18 + 200 3 29 30 24 210 65 254 65 236 69 + 200 3 29 24 25 210 65 236 69 210 69 + 200 3 27 24 30 236 79 236 70 254 65 + 200 3 27 30 33 236 79 254 65 254 79 + 200 3 20 24 27 48 49 71 49 71 72 + 200 3 20 27 19 48 49 71 72 48 72 + 200 3 24 20 40 45 22 45 46 28 46 + 200 3 24 40 25 45 22 28 46 28 22 + 200 3 32 31 30 94 47 136 47 136 90 + 200 3 32 30 29 94 47 136 90 94 90 + 200 3 32 29 25 210 65 254 65 254 69 + 200 3 32 25 26 210 65 254 69 227 69 + 200 3 32 26 28 210 65 226 69 226 79 + 200 3 32 28 35 210 65 226 79 210 79 + 200 3 26 23 22 64 49 91 49 91 72 + 200 3 26 22 28 64 49 91 72 64 72 + 200 3 23 26 25 1 1 28 1 28 21 + 200 3 23 25 21 1 1 28 21 1 46 200 3 21 25 40 1 46 28 22 28 46 - 200 4 41 42 7 8 60 26 60 48 72 48 72 26 - 200 4 8 7 42 41 72 26 72 48 60 48 60 26 - 200 4 36 37 38 39 50 48 72 48 72 26 50 26 - 200 4 39 38 37 36 50 26 72 26 72 48 50 48 - 200 4 42 41 9 6 60 48 60 26 50 26 50 48 - 200 4 6 9 41 42 50 48 50 26 60 26 60 48 - 200 4 11 12 16 15 211 240 225 240 225 254 211 254 - 200 4 12 13 17 16 211 240 225 240 225 254 211 254 - 200 4 10 11 15 14 211 240 225 240 225 254 211 254 - 200 4 13 10 14 17 211 240 225 240 225 254 211 254 - 200 4 21 20 19 18 48 49 91 49 91 72 48 72 - 200 4 23 21 18 22 48 49 91 49 91 72 48 72 - 200 4 13 12 11 10 196 240 210 240 210 254 196 254 - 200 4 30 31 34 33 210 65 254 65 254 79 210 79 - 200 4 31 32 35 34 210 65 254 65 254 79 210 79 \ No newline at end of file + 200 3 41 42 7 60 26 60 48 72 48 + 200 3 41 7 8 60 26 72 48 72 26 + 200 3 8 7 42 72 26 72 48 60 48 + 200 3 8 42 41 72 26 60 48 60 26 + 200 3 36 37 38 50 48 72 48 72 26 + 200 3 36 38 39 50 48 72 26 50 26 + 200 3 39 38 37 50 26 72 26 72 48 + 200 3 39 37 36 50 26 72 48 50 48 + 200 3 42 41 9 60 48 60 26 50 26 + 200 3 42 9 6 60 48 50 26 50 48 + 200 3 6 9 41 50 48 50 26 60 26 + 200 3 6 41 42 50 48 60 26 60 48 + 200 3 11 12 16 211 240 225 240 225 254 + 200 3 11 16 15 211 240 225 254 211 254 + 200 3 12 13 17 211 240 225 240 225 254 + 200 3 12 17 16 211 240 225 254 211 254 + 200 3 10 11 15 211 240 225 240 225 254 + 200 3 10 15 14 211 240 225 254 211 254 + 200 3 13 10 14 211 240 225 240 225 254 + 200 3 13 14 17 211 240 225 254 211 254 + 200 3 21 20 19 48 49 91 49 91 72 + 200 3 21 19 18 48 49 91 72 48 72 + 200 3 23 21 18 48 49 91 49 91 72 + 200 3 23 18 22 48 49 91 72 48 72 + 200 3 13 12 11 196 240 210 240 210 254 + 200 3 13 11 10 196 240 210 254 196 254 + 200 3 30 31 34 210 65 254 65 254 79 + 200 3 30 34 33 210 65 254 79 210 79 + 200 3 31 32 35 210 65 254 65 254 79 + 200 3 31 35 34 210 65 254 79 210 79 \ No newline at end of file diff --git a/data/base/features/mibuild1.pie b/data/base/features/mibuild1.pie index dd7f4e528..d614a10d7 100644 --- a/data/base/features/mibuild1.pie +++ b/data/base/features/mibuild1.pie @@ -16,11 +16,18 @@ POINTS 12 191 9 191 191 9 -96 144 9 -145 -POLYGONS 7 - 200 4 3 2 1 0 71 129 71 208 138 208 138 129 - 200 4 5 3 0 4 95 2 137 2 137 44 95 44 - 200 4 7 5 4 6 71 208 71 129 138 129 138 208 - 200 4 6 4 0 1 138 208 138 129 71 129 71 208 - 200 4 3 5 7 2 138 129 71 129 71 208 138 208 - 200 4 9 1 2 8 111 18 111 18 110 18 111 18 - 200 4 11 1 9 10 111 18 111 18 111 18 111 18 \ No newline at end of file +POLYGONS 14 + 200 3 3 2 1 71 129 71 208 138 208 + 200 3 3 1 0 71 129 138 208 138 129 + 200 3 5 3 0 95 2 137 2 137 44 + 200 3 5 0 4 95 2 137 44 95 44 + 200 3 7 5 4 71 208 71 129 138 129 + 200 3 7 4 6 71 208 138 129 138 208 + 200 3 6 4 0 138 208 138 129 71 129 + 200 3 6 0 1 138 208 71 129 71 208 + 200 3 3 5 7 138 129 71 129 71 208 + 200 3 3 7 2 138 129 71 208 138 208 + 200 3 9 1 2 111 18 111 18 110 18 + 200 3 9 2 8 111 18 110 18 111 18 + 200 3 11 1 9 111 18 111 18 111 18 + 200 3 11 9 10 111 18 111 18 111 18 \ No newline at end of file diff --git a/data/base/features/mibuild2.pie b/data/base/features/mibuild2.pie index 467c07fa7..8cc028c65 100644 --- a/data/base/features/mibuild2.pie +++ b/data/base/features/mibuild2.pie @@ -33,9 +33,11 @@ POINTS 29 191 9 191 191 9 -99 -146 427 -102 -POLYGONS 47 - 200 4 26 18 20 25 110 18 111 18 110 18 110 18 - 200 4 11 18 26 27 111 18 111 18 111 18 111 18 +POLYGONS 49 + 200 3 26 18 20 110 18 111 18 110 18 + 200 3 26 20 25 110 18 110 18 110 18 + 200 3 11 18 26 111 18 111 18 111 18 + 200 3 11 26 27 111 18 111 18 111 18 200 3 9 8 6 173 2 204 2 173 14 200 3 5 9 6 141 2 172 2 172 14 200 3 5 24 9 208 30 237 1 237 30 diff --git a/data/base/features/mibuild3.pie b/data/base/features/mibuild3.pie index 4f68a6547..0d63dc54f 100644 --- a/data/base/features/mibuild3.pie +++ b/data/base/features/mibuild3.pie @@ -15,11 +15,18 @@ POINTS 11 -94 12 191 190 12 191 190 12 -90 -POLYGONS 7 - 200 4 9 4 6 8 110 18 111 18 110 18 110 18 - 200 4 1 4 9 10 111 18 111 18 111 18 111 18 - 200 4 5 7 6 4 2 123 66 123 66 207 2 207 - 200 4 7 3 0 6 2 123 66 123 66 207 2 207 - 200 4 2 5 4 1 2 123 66 123 66 207 2 207 - 200 4 7 5 2 3 1 1 45 1 45 46 1 46 - 200 4 3 2 1 0 2 123 66 123 66 207 2 207 \ No newline at end of file +POLYGONS 14 + 200 3 9 4 6 110 18 111 18 110 18 + 200 3 9 6 8 110 18 110 18 110 18 + 200 3 1 4 9 111 18 111 18 111 18 + 200 3 1 9 10 111 18 111 18 111 18 + 200 3 5 7 6 2 123 66 123 66 207 + 200 3 5 6 4 2 123 66 207 2 207 + 200 3 7 3 0 2 123 66 123 66 207 + 200 3 7 0 6 2 123 66 207 2 207 + 200 3 2 5 4 2 123 66 123 66 207 + 200 3 2 4 1 2 123 66 207 2 207 + 200 3 7 5 2 1 1 45 1 45 46 + 200 3 7 2 3 1 1 45 46 1 46 + 200 3 3 2 1 2 123 66 123 66 207 + 200 3 3 1 0 2 123 66 207 2 207 \ No newline at end of file diff --git a/data/base/features/mibuild7.pie b/data/base/features/mibuild7.pie index cbae0118b..41396763b 100644 --- a/data/base/features/mibuild7.pie +++ b/data/base/features/mibuild7.pie @@ -25,18 +25,32 @@ POINTS 21 0 6 139 138 6 -6 -148 6 -6 -POLYGONS 14 - 200 4 3 2 1 0 39 135 39 135 38 135 38 135 - 200 4 5 2 3 4 39 136 39 135 39 135 39 136 - 200 4 9 8 7 6 94 23 116 23 116 45 94 45 - 200 4 8 11 10 7 116 23 138 23 138 45 116 45 - 200 4 13 12 8 9 94 1 116 1 116 23 94 23 - 200 4 12 14 11 8 116 1 138 1 138 23 116 23 - 200 4 6 7 16 15 44 243 85 243 85 255 44 255 - 200 4 7 10 17 16 44 243 85 243 85 255 44 255 - 200 4 14 12 18 2 85 243 44 243 44 255 85 255 - 200 4 12 13 1 18 85 243 44 243 44 255 85 255 - 200 4 10 11 19 17 42 242 1 242 1 256 42 256 - 200 4 11 14 2 19 42 242 1 242 1 256 42 256 - 200 4 13 9 20 1 1 242 42 242 42 256 1 256 - 200 4 9 6 15 20 1 242 42 242 42 256 1 256 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 39 135 39 135 38 135 + 200 3 3 1 0 39 135 38 135 38 135 + 200 3 5 2 3 39 136 39 135 39 135 + 200 3 5 3 4 39 136 39 135 39 136 + 200 3 9 8 7 94 23 116 23 116 45 + 200 3 9 7 6 94 23 116 45 94 45 + 200 3 8 11 10 116 23 138 23 138 45 + 200 3 8 10 7 116 23 138 45 116 45 + 200 3 13 12 8 94 1 116 1 116 23 + 200 3 13 8 9 94 1 116 23 94 23 + 200 3 12 14 11 116 1 138 1 138 23 + 200 3 12 11 8 116 1 138 23 116 23 + 200 3 6 7 16 44 243 85 243 85 255 + 200 3 6 16 15 44 243 85 255 44 255 + 200 3 7 10 17 44 243 85 243 85 255 + 200 3 7 17 16 44 243 85 255 44 255 + 200 3 14 12 18 85 243 44 243 44 255 + 200 3 14 18 2 85 243 44 255 85 255 + 200 3 12 13 1 85 243 44 243 44 255 + 200 3 12 1 18 85 243 44 255 85 255 + 200 3 10 11 19 42 242 1 242 1 256 + 200 3 10 19 17 42 242 1 256 42 256 + 200 3 11 14 2 42 242 1 242 1 256 + 200 3 11 2 19 42 242 1 256 42 256 + 200 3 13 9 20 1 242 42 242 42 256 + 200 3 13 20 1 1 242 42 256 1 256 + 200 3 9 6 15 1 242 42 242 42 256 + 200 3 9 15 20 1 242 42 256 1 256 \ No newline at end of file diff --git a/data/base/features/mibuild8.pie b/data/base/features/mibuild8.pie index 52a454bb1..d343f87db 100644 --- a/data/base/features/mibuild8.pie +++ b/data/base/features/mibuild8.pie @@ -27,18 +27,32 @@ POINTS 23 -147 2 150 150 2 0 -155 2 0 -POLYGONS 14 - 200 4 3 2 1 0 39 135 39 135 38 135 38 135 - 200 4 5 2 3 4 39 136 39 135 39 135 39 136 - 200 4 9 8 7 6 94 23 116 23 116 45 94 45 - 200 4 8 11 10 7 116 23 138 23 138 45 116 45 - 200 4 13 12 8 9 94 1 116 1 116 23 94 23 - 200 4 12 14 11 8 116 1 138 1 138 23 116 23 - 200 4 6 7 16 15 141 195 195 195 195 224 141 224 - 200 4 7 10 17 16 141 195 195 195 195 224 141 224 - 200 4 14 12 19 18 195 195 141 195 141 224 195 224 - 200 4 12 13 20 19 195 195 141 195 141 224 195 224 - 200 4 10 11 21 17 195 226 141 226 141 255 195 255 - 200 4 11 14 18 21 195 226 141 226 141 255 195 255 - 200 4 13 9 22 20 141 226 195 226 195 255 141 255 - 200 4 9 6 15 22 141 226 195 226 195 255 141 255 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 39 135 39 135 38 135 + 200 3 3 1 0 39 135 38 135 38 135 + 200 3 5 2 3 39 136 39 135 39 135 + 200 3 5 3 4 39 136 39 135 39 136 + 200 3 9 8 7 94 23 116 23 116 45 + 200 3 9 7 6 94 23 116 45 94 45 + 200 3 8 11 10 116 23 138 23 138 45 + 200 3 8 10 7 116 23 138 45 116 45 + 200 3 13 12 8 94 1 116 1 116 23 + 200 3 13 8 9 94 1 116 23 94 23 + 200 3 12 14 11 116 1 138 1 138 23 + 200 3 12 11 8 116 1 138 23 116 23 + 200 3 6 7 16 141 195 195 195 195 224 + 200 3 6 16 15 141 195 195 224 141 224 + 200 3 7 10 17 141 195 195 195 195 224 + 200 3 7 17 16 141 195 195 224 141 224 + 200 3 14 12 19 195 195 141 195 141 224 + 200 3 14 19 18 195 195 141 224 195 224 + 200 3 12 13 20 195 195 141 195 141 224 + 200 3 12 20 19 195 195 141 224 195 224 + 200 3 10 11 21 195 226 141 226 141 255 + 200 3 10 21 17 195 226 141 255 195 255 + 200 3 11 14 18 195 226 141 226 141 255 + 200 3 11 18 21 195 226 141 255 195 255 + 200 3 13 9 22 141 226 195 226 195 255 + 200 3 13 22 20 141 226 195 255 141 255 + 200 3 9 6 15 141 226 195 226 195 255 + 200 3 9 15 22 141 226 195 255 141 255 \ No newline at end of file diff --git a/data/base/features/mibuild9.pie b/data/base/features/mibuild9.pie index 1a20dff60..352c79fec 100644 --- a/data/base/features/mibuild9.pie +++ b/data/base/features/mibuild9.pie @@ -27,18 +27,32 @@ POINTS 23 -135 8 138 138 8 0 -142 8 1 -POLYGONS 14 - 200 4 3 2 1 0 39 135 39 135 38 135 38 135 - 200 4 5 2 3 4 39 136 39 135 39 135 39 136 - 200 4 9 8 7 6 94 23 116 23 116 45 94 45 - 200 4 8 11 10 7 116 23 138 23 138 45 116 45 - 200 4 13 12 8 9 94 1 116 1 116 23 94 23 - 200 4 12 14 11 8 116 1 138 1 138 23 116 23 - 200 4 6 7 16 15 141 133 195 133 195 162 141 162 - 200 4 7 10 17 16 141 133 195 133 195 162 141 162 - 200 4 14 12 19 18 195 133 141 133 141 162 195 162 - 200 4 12 13 20 19 195 133 141 133 141 162 195 162 - 200 4 10 11 21 17 195 164 141 164 141 193 195 193 - 200 4 11 14 18 21 195 164 141 164 141 193 195 193 - 200 4 13 9 22 20 141 164 195 164 195 193 141 193 - 200 4 9 6 15 22 141 164 195 164 195 193 141 193 \ No newline at end of file +POLYGONS 28 + 200 3 3 2 1 39 135 39 135 38 135 + 200 3 3 1 0 39 135 38 135 38 135 + 200 3 5 2 3 39 136 39 135 39 135 + 200 3 5 3 4 39 136 39 135 39 136 + 200 3 9 8 7 94 23 116 23 116 45 + 200 3 9 7 6 94 23 116 45 94 45 + 200 3 8 11 10 116 23 138 23 138 45 + 200 3 8 10 7 116 23 138 45 116 45 + 200 3 13 12 8 94 1 116 1 116 23 + 200 3 13 8 9 94 1 116 23 94 23 + 200 3 12 14 11 116 1 138 1 138 23 + 200 3 12 11 8 116 1 138 23 116 23 + 200 3 6 7 16 141 133 195 133 195 162 + 200 3 6 16 15 141 133 195 162 141 162 + 200 3 7 10 17 141 133 195 133 195 162 + 200 3 7 17 16 141 133 195 162 141 162 + 200 3 14 12 19 195 133 141 133 141 162 + 200 3 14 19 18 195 133 141 162 195 162 + 200 3 12 13 20 195 133 141 133 141 162 + 200 3 12 20 19 195 133 141 162 195 162 + 200 3 10 11 21 195 164 141 164 141 193 + 200 3 10 21 17 195 164 141 193 195 193 + 200 3 11 14 18 195 164 141 164 141 193 + 200 3 11 18 21 195 164 141 193 195 193 + 200 3 13 9 22 141 164 195 164 195 193 + 200 3 13 22 20 141 164 195 193 141 193 + 200 3 9 6 15 141 164 195 164 195 193 + 200 3 9 15 22 141 164 195 193 141 193 \ No newline at end of file diff --git a/data/base/features/micabin1.pie b/data/base/features/micabin1.pie index 2a34ae4a5..50c5ae2e1 100644 --- a/data/base/features/micabin1.pie +++ b/data/base/features/micabin1.pie @@ -23,14 +23,22 @@ POINTS 19 -26 1 52 52 1 52 52 1 -26 -POLYGONS 10 - 200 4 3 2 1 0 150 36 150 69 188 69 188 36 - 200 4 7 6 5 4 185 68 185 35 254 35 254 68 - 200 4 1 4 8 0 150 69 188 69 169 36 150 44 +POLYGONS 18 + 200 3 3 2 1 150 36 150 69 188 69 + 200 3 3 1 0 150 36 188 69 188 36 + 200 3 7 6 5 185 68 185 35 254 35 + 200 3 7 5 4 185 68 254 35 254 68 + 200 3 1 4 8 150 69 188 69 169 36 + 200 3 1 8 0 150 69 169 36 150 44 200 3 8 4 5 169 36 188 69 188 44 - 200 4 9 7 2 3 169 36 188 69 150 69 150 44 + 200 3 9 7 2 169 36 188 69 150 69 + 200 3 9 2 3 169 36 150 69 150 44 200 3 7 9 6 188 69 169 36 188 44 - 200 4 13 12 11 10 223 181 250 181 250 247 223 247 - 200 4 12 15 14 11 250 247 223 247 223 181 250 181 - 200 4 17 1 2 16 197 10 197 11 196 11 196 10 - 200 4 4 1 17 18 197 13 197 11 197 10 197 13 \ No newline at end of file + 200 3 13 12 11 223 181 250 181 250 247 + 200 3 13 11 10 223 181 250 247 223 247 + 200 3 12 15 14 250 247 223 247 223 181 + 200 3 12 14 11 250 247 223 181 250 181 + 200 3 17 1 2 197 10 197 11 196 11 + 200 3 17 2 16 197 10 196 11 196 10 + 200 3 4 1 17 197 13 197 11 197 10 + 200 3 4 17 18 197 13 197 10 197 13 \ No newline at end of file diff --git a/data/base/features/micabin2.pie b/data/base/features/micabin2.pie index 23bd8ba5f..416c00143 100644 --- a/data/base/features/micabin2.pie +++ b/data/base/features/micabin2.pie @@ -48,45 +48,84 @@ POINTS 44 66 1 92 66 1 -67 55 1 -77 -POLYGONS 41 - 200 4 3 2 1 0 150 36 150 69 188 69 188 36 - 200 4 7 6 5 4 185 68 185 35 254 35 254 68 - 200 4 8 9 10 11 223 247 250 247 250 181 223 181 - 200 4 11 10 9 8 223 181 250 181 250 247 223 247 - 200 4 9 12 13 10 250 181 223 181 223 247 250 247 - 200 4 10 13 12 9 250 247 223 247 223 181 250 181 - 200 4 15 14 2 3 150 36 150 69 188 69 188 36 - 200 4 17 16 6 7 185 68 185 35 254 35 254 68 - 200 4 11 10 18 19 223 247 250 247 250 181 223 181 - 200 4 19 18 10 11 223 181 250 181 250 247 223 247 - 200 4 10 13 20 18 250 181 223 181 223 247 250 247 - 200 4 18 20 13 10 250 247 223 247 223 181 250 181 - 200 4 22 7 4 21 185 68 185 35 254 35 254 68 - 200 4 23 17 7 22 185 68 185 35 254 35 254 68 - 200 4 14 25 24 2 150 36 150 69 188 69 188 36 - 200 4 2 24 26 1 150 36 150 69 188 69 188 36 - 200 4 14 17 23 25 150 36 188 36 188 69 150 69 - 200 4 27 28 29 30 254 71 187 71 187 84 254 84 - 200 4 30 29 28 27 254 84 187 84 187 71 254 71 - 200 4 31 27 30 32 214 71 188 71 188 84 214 84 - 200 4 32 30 27 31 214 84 188 84 188 71 214 71 - 200 4 28 33 34 29 254 71 187 71 187 84 254 84 - 200 4 29 34 33 28 254 84 187 84 187 71 254 71 - 200 4 33 35 17 34 254 71 225 71 225 84 254 84 - 200 4 34 17 35 33 254 84 225 84 225 71 254 71 - 200 4 34 29 7 17 223 181 223 247 250 247 250 181 - 200 4 17 7 29 34 250 181 250 247 223 247 223 181 - 200 4 29 30 32 7 223 181 223 247 250 247 250 181 - 200 4 7 32 30 29 250 181 250 247 223 247 223 181 - 200 4 4 1 26 21 188 36 150 36 150 69 188 69 - 200 4 36 17 14 15 173 36 188 69 150 69 150 49 +POLYGONS 80 + 200 3 3 2 1 150 36 150 69 188 69 + 200 3 3 1 0 150 36 188 69 188 36 + 200 3 7 6 5 185 68 185 35 254 35 + 200 3 7 5 4 185 68 254 35 254 68 + 200 3 8 9 10 223 247 250 247 250 181 + 200 3 8 10 11 223 247 250 181 223 181 + 200 3 11 10 9 223 181 250 181 250 247 + 200 3 11 9 8 223 181 250 247 223 247 + 200 3 9 12 13 250 181 223 181 223 247 + 200 3 9 13 10 250 181 223 247 250 247 + 200 3 10 13 12 250 247 223 247 223 181 + 200 3 10 12 9 250 247 223 181 250 181 + 200 3 15 14 2 150 36 150 69 188 69 + 200 3 15 2 3 150 36 188 69 188 36 + 200 3 17 16 6 185 68 185 35 254 35 + 200 3 17 6 7 185 68 254 35 254 68 + 200 3 11 10 18 223 247 250 247 250 181 + 200 3 11 18 19 223 247 250 181 223 181 + 200 3 19 18 10 223 181 250 181 250 247 + 200 3 19 10 11 223 181 250 247 223 247 + 200 3 10 13 20 250 181 223 181 223 247 + 200 3 10 20 18 250 181 223 247 250 247 + 200 3 18 20 13 250 247 223 247 223 181 + 200 3 18 13 10 250 247 223 181 250 181 + 200 3 22 7 4 185 68 185 35 254 35 + 200 3 22 4 21 185 68 254 35 254 68 + 200 3 23 17 7 185 68 185 35 254 35 + 200 3 23 7 22 185 68 254 35 254 68 + 200 3 14 25 24 150 36 150 69 188 69 + 200 3 14 24 2 150 36 188 69 188 36 + 200 3 2 24 26 150 36 150 69 188 69 + 200 3 2 26 1 150 36 188 69 188 36 + 200 3 14 17 23 150 36 188 36 188 69 + 200 3 14 23 25 150 36 188 69 150 69 + 200 3 27 28 29 254 71 187 71 187 84 + 200 3 27 29 30 254 71 187 84 254 84 + 200 3 30 29 28 254 84 187 84 187 71 + 200 3 30 28 27 254 84 187 71 254 71 + 200 3 31 27 30 214 71 188 71 188 84 + 200 3 31 30 32 214 71 188 84 214 84 + 200 3 32 30 27 214 84 188 84 188 71 + 200 3 32 27 31 214 84 188 71 214 71 + 200 3 28 33 34 254 71 187 71 187 84 + 200 3 28 34 29 254 71 187 84 254 84 + 200 3 29 34 33 254 84 187 84 187 71 + 200 3 29 33 28 254 84 187 71 254 71 + 200 3 33 35 17 254 71 225 71 225 84 + 200 3 33 17 34 254 71 225 84 254 84 + 200 3 34 17 35 254 84 225 84 225 71 + 200 3 34 35 33 254 84 225 71 254 71 + 200 3 34 29 7 223 181 223 247 250 247 + 200 3 34 7 17 223 181 250 247 250 181 + 200 3 17 7 29 250 181 250 247 223 247 + 200 3 17 29 34 250 181 223 247 223 181 + 200 3 29 30 32 223 181 223 247 250 247 + 200 3 29 32 7 223 181 250 247 250 181 + 200 3 7 32 30 250 181 250 247 223 247 + 200 3 7 30 29 250 181 223 247 223 181 + 200 3 4 1 26 188 36 150 36 150 69 + 200 3 4 26 21 188 36 150 69 188 69 + 200 3 36 17 14 173 36 188 69 150 69 + 200 3 36 14 15 173 36 150 69 150 49 200 3 17 36 16 188 69 173 36 188 44 - 200 4 15 14 14 15 150 49 150 69 150 69 150 49 - 200 4 14 17 17 14 150 69 188 69 188 69 150 69 - 200 4 36 15 15 36 173 36 150 49 150 49 173 36 - 200 4 16 36 36 16 188 44 173 36 173 36 188 44 - 200 4 17 16 16 17 188 69 188 44 188 44 188 69 - 200 4 1 4 37 0 150 69 188 69 173 36 150 49 + 200 3 15 14 14 150 49 150 69 150 69 + 200 3 15 14 15 150 49 150 69 150 49 + 200 3 14 17 17 150 69 188 69 188 69 + 200 3 14 17 14 150 69 188 69 150 69 + 200 3 36 15 15 173 36 150 49 150 49 + 200 3 36 15 36 173 36 150 49 173 36 + 200 3 16 36 36 188 44 173 36 173 36 + 200 3 16 36 16 188 44 173 36 188 44 + 200 3 17 16 16 188 69 188 44 188 44 + 200 3 17 16 17 188 69 188 44 188 69 + 200 3 1 4 37 150 69 188 69 173 36 + 200 3 1 37 0 150 69 173 36 150 49 200 3 37 4 5 173 36 188 69 188 44 - 200 4 41 40 39 38 197 10 197 10 196 10 196 10 - 200 4 43 40 41 42 197 13 197 10 197 10 197 13 \ No newline at end of file + 200 3 41 40 39 197 10 197 10 196 10 + 200 3 41 39 38 197 10 196 10 196 10 + 200 3 43 40 41 197 13 197 10 197 10 + 200 3 43 41 42 197 13 197 10 197 13 \ No newline at end of file diff --git a/data/base/features/micabin3.pie b/data/base/features/micabin3.pie index 1d69e6f50..1f038d6bf 100644 --- a/data/base/features/micabin3.pie +++ b/data/base/features/micabin3.pie @@ -42,36 +42,68 @@ POINTS 38 -78 53 -53 77 92 -18 -78 92 -18 -POLYGONS 32 - 200 4 3 2 1 0 185 68 185 35 254 35 254 68 - 200 4 4 5 6 7 223 247 250 247 250 181 223 181 - 200 4 7 6 5 4 223 181 250 181 250 247 223 247 - 200 4 5 8 9 6 250 181 223 181 223 247 250 247 - 200 4 6 9 8 5 250 247 223 247 223 181 250 181 - 200 4 11 10 2 3 185 68 185 35 254 35 254 68 - 200 4 7 6 12 13 223 247 250 247 250 181 223 181 - 200 4 13 12 6 7 223 181 250 181 250 247 223 247 - 200 4 6 9 14 12 250 181 223 181 223 247 250 247 - 200 4 12 14 9 6 250 247 223 247 223 181 250 181 - 200 4 18 17 16 15 197 10 197 11 196 11 196 10 - 200 4 20 17 18 19 197 13 197 11 197 10 197 13 - 200 4 21 3 0 20 185 68 185 35 254 35 254 68 - 200 4 22 11 3 21 185 68 185 35 254 35 254 68 - 200 4 25 16 24 23 150 36 150 69 188 69 188 36 - 200 4 23 24 17 26 150 36 150 69 188 69 188 36 - 200 4 25 11 22 16 150 36 188 36 188 69 150 69 - 200 4 27 28 29 30 254 71 187 71 187 84 254 84 - 200 4 30 29 28 27 254 84 187 84 187 71 254 71 - 200 4 31 27 30 32 214 71 188 71 188 84 214 84 - 200 4 32 30 27 31 214 84 188 84 188 71 214 71 - 200 4 28 33 34 29 254 71 187 71 187 84 254 84 - 200 4 29 34 33 28 254 84 187 84 187 71 254 71 - 200 4 33 35 11 34 254 71 225 71 225 84 254 84 - 200 4 34 11 35 33 254 84 225 84 225 71 254 71 - 200 4 34 29 3 11 223 181 223 247 250 247 250 181 - 200 4 11 3 29 34 250 181 250 247 223 247 223 181 - 200 4 29 30 32 3 223 181 223 247 250 247 250 181 - 200 4 3 32 30 29 250 181 250 247 223 247 223 181 - 200 4 1 36 26 0 188 44 175 36 150 69 188 69 - 200 4 37 10 11 25 175 36 188 44 188 69 150 69 - 200 4 0 26 17 20 188 36 150 36 150 69 188 69 \ No newline at end of file +POLYGONS 64 + 200 3 3 2 1 185 68 185 35 254 35 + 200 3 3 1 0 185 68 254 35 254 68 + 200 3 4 5 6 223 247 250 247 250 181 + 200 3 4 6 7 223 247 250 181 223 181 + 200 3 7 6 5 223 181 250 181 250 247 + 200 3 7 5 4 223 181 250 247 223 247 + 200 3 5 8 9 250 181 223 181 223 247 + 200 3 5 9 6 250 181 223 247 250 247 + 200 3 6 9 8 250 247 223 247 223 181 + 200 3 6 8 5 250 247 223 181 250 181 + 200 3 11 10 2 185 68 185 35 254 35 + 200 3 11 2 3 185 68 254 35 254 68 + 200 3 7 6 12 223 247 250 247 250 181 + 200 3 7 12 13 223 247 250 181 223 181 + 200 3 13 12 6 223 181 250 181 250 247 + 200 3 13 6 7 223 181 250 247 223 247 + 200 3 6 9 14 250 181 223 181 223 247 + 200 3 6 14 12 250 181 223 247 250 247 + 200 3 12 14 9 250 247 223 247 223 181 + 200 3 12 9 6 250 247 223 181 250 181 + 200 3 18 17 16 197 10 197 11 196 11 + 200 3 18 16 15 197 10 196 11 196 10 + 200 3 20 17 18 197 13 197 11 197 10 + 200 3 20 18 19 197 13 197 10 197 13 + 200 3 21 3 0 185 68 185 35 254 35 + 200 3 21 0 20 185 68 254 35 254 68 + 200 3 22 11 3 185 68 185 35 254 35 + 200 3 22 3 21 185 68 254 35 254 68 + 200 3 25 16 24 150 36 150 69 188 69 + 200 3 25 24 23 150 36 188 69 188 36 + 200 3 23 24 17 150 36 150 69 188 69 + 200 3 23 17 26 150 36 188 69 188 36 + 200 3 25 11 22 150 36 188 36 188 69 + 200 3 25 22 16 150 36 188 69 150 69 + 200 3 27 28 29 254 71 187 71 187 84 + 200 3 27 29 30 254 71 187 84 254 84 + 200 3 30 29 28 254 84 187 84 187 71 + 200 3 30 28 27 254 84 187 71 254 71 + 200 3 31 27 30 214 71 188 71 188 84 + 200 3 31 30 32 214 71 188 84 214 84 + 200 3 32 30 27 214 84 188 84 188 71 + 200 3 32 27 31 214 84 188 71 214 71 + 200 3 28 33 34 254 71 187 71 187 84 + 200 3 28 34 29 254 71 187 84 254 84 + 200 3 29 34 33 254 84 187 84 187 71 + 200 3 29 33 28 254 84 187 71 254 71 + 200 3 33 35 11 254 71 225 71 225 84 + 200 3 33 11 34 254 71 225 84 254 84 + 200 3 34 11 35 254 84 225 84 225 71 + 200 3 34 35 33 254 84 225 71 254 71 + 200 3 34 29 3 223 181 223 247 250 247 + 200 3 34 3 11 223 181 250 247 250 181 + 200 3 11 3 29 250 181 250 247 223 247 + 200 3 11 29 34 250 181 223 247 223 181 + 200 3 29 30 32 223 181 223 247 250 247 + 200 3 29 32 3 223 181 250 247 250 181 + 200 3 3 32 30 250 181 250 247 223 247 + 200 3 3 30 29 250 181 223 247 223 181 + 200 3 1 36 26 188 44 175 36 150 69 + 200 3 1 26 0 188 44 150 69 188 69 + 200 3 37 10 11 175 36 188 44 188 69 + 200 3 37 11 25 175 36 188 69 150 69 + 200 3 0 26 17 188 36 150 36 150 69 + 200 3 0 17 20 188 36 150 69 188 69 \ No newline at end of file diff --git a/data/base/features/micabin4.pie b/data/base/features/micabin4.pie index e9f1bd0fc..bc8c1d2a4 100644 --- a/data/base/features/micabin4.pie +++ b/data/base/features/micabin4.pie @@ -30,23 +30,40 @@ POINTS 26 -39 1 92 60 1 92 60 1 -67 -POLYGONS 19 - 200 4 3 2 1 0 150 36 150 69 188 69 188 36 - 200 4 7 6 5 4 185 68 185 35 254 35 254 68 - 200 4 11 10 9 8 223 181 250 181 250 247 223 247 - 200 4 10 13 12 9 250 247 223 247 223 181 250 181 - 200 4 15 14 2 3 150 36 150 69 188 69 188 36 - 200 4 17 16 6 7 185 68 185 35 254 35 254 68 - 200 4 19 18 10 11 223 181 250 181 250 247 223 247 - 200 4 18 20 13 10 250 247 223 247 223 181 250 181 - 200 4 21 17 14 15 173 36 188 69 150 69 150 49 +POLYGONS 36 + 200 3 3 2 1 150 36 150 69 188 69 + 200 3 3 1 0 150 36 188 69 188 36 + 200 3 7 6 5 185 68 185 35 254 35 + 200 3 7 5 4 185 68 254 35 254 68 + 200 3 11 10 9 223 181 250 181 250 247 + 200 3 11 9 8 223 181 250 247 223 247 + 200 3 10 13 12 250 247 223 247 223 181 + 200 3 10 12 9 250 247 223 181 250 181 + 200 3 15 14 2 150 36 150 69 188 69 + 200 3 15 2 3 150 36 188 69 188 36 + 200 3 17 16 6 185 68 185 35 254 35 + 200 3 17 6 7 185 68 254 35 254 68 + 200 3 19 18 10 223 181 250 181 250 247 + 200 3 19 10 11 223 181 250 247 223 247 + 200 3 18 20 13 250 247 223 247 223 181 + 200 3 18 13 10 250 247 223 181 250 181 + 200 3 21 17 14 173 36 188 69 150 69 + 200 3 21 14 15 173 36 150 69 150 49 200 3 17 21 16 188 69 173 36 188 44 - 200 4 15 14 14 15 150 49 150 69 150 69 150 49 - 200 4 14 17 17 14 150 69 188 69 188 69 150 69 - 200 4 21 15 15 21 173 36 150 49 150 49 173 36 - 200 4 16 21 21 16 188 44 173 36 173 36 188 44 - 200 4 17 16 16 17 188 69 188 44 188 44 188 69 - 200 4 1 4 22 0 150 69 188 69 173 36 150 49 + 200 3 15 14 14 150 49 150 69 150 69 + 200 3 15 14 15 150 49 150 69 150 49 + 200 3 14 17 17 150 69 188 69 188 69 + 200 3 14 17 14 150 69 188 69 150 69 + 200 3 21 15 15 173 36 150 49 150 49 + 200 3 21 15 21 173 36 150 49 173 36 + 200 3 16 21 21 188 44 173 36 173 36 + 200 3 16 21 16 188 44 173 36 188 44 + 200 3 17 16 16 188 69 188 44 188 44 + 200 3 17 16 17 188 69 188 44 188 69 + 200 3 1 4 22 150 69 188 69 173 36 + 200 3 1 22 0 150 69 173 36 150 49 200 3 22 4 5 173 36 188 69 188 44 - 200 4 24 4 1 23 197 10 197 10 196 10 196 10 - 200 4 17 4 24 25 197 13 197 10 197 10 197 13 \ No newline at end of file + 200 3 24 4 1 197 10 197 10 196 10 + 200 3 24 1 23 197 10 196 10 196 10 + 200 3 17 4 24 197 13 197 10 197 10 + 200 3 17 24 25 197 13 197 10 197 13 \ No newline at end of file diff --git a/data/base/features/micabin5.pie b/data/base/features/micabin5.pie index 0868be248..8d47c56e6 100644 --- a/data/base/features/micabin5.pie +++ b/data/base/features/micabin5.pie @@ -23,14 +23,22 @@ POINTS 19 -25 1 54 52 1 54 52 1 -23 -POLYGONS 10 - 200 4 3 2 1 0 150 36 150 69 188 69 188 36 - 200 4 7 6 5 4 185 68 185 35 254 35 254 68 - 200 4 1 4 8 0 150 69 188 69 169 36 150 44 +POLYGONS 18 + 200 3 3 2 1 150 36 150 69 188 69 + 200 3 3 1 0 150 36 188 69 188 36 + 200 3 7 6 5 185 68 185 35 254 35 + 200 3 7 5 4 185 68 254 35 254 68 + 200 3 1 4 8 150 69 188 69 169 36 + 200 3 1 8 0 150 69 169 36 150 44 200 3 8 4 5 169 36 188 69 188 44 - 200 4 9 7 2 3 169 36 188 69 150 69 150 44 + 200 3 9 7 2 169 36 188 69 150 69 + 200 3 9 2 3 169 36 150 69 150 44 200 3 7 9 6 188 69 169 36 188 44 - 200 4 13 12 11 10 223 181 250 181 250 247 223 247 - 200 4 12 15 14 11 250 247 223 247 223 181 250 181 - 200 4 17 2 7 16 197 10 197 11 196 11 196 10 - 200 4 1 2 17 18 197 13 197 11 197 10 197 13 \ No newline at end of file + 200 3 13 12 11 223 181 250 181 250 247 + 200 3 13 11 10 223 181 250 247 223 247 + 200 3 12 15 14 250 247 223 247 223 181 + 200 3 12 14 11 250 247 223 181 250 181 + 200 3 17 2 7 197 10 197 11 196 11 + 200 3 17 7 16 197 10 196 11 196 10 + 200 3 1 2 17 197 13 197 11 197 10 + 200 3 1 17 18 197 13 197 10 197 13 \ No newline at end of file diff --git a/data/base/features/micamper.pie b/data/base/features/micamper.pie index d0d3d93d7..79b79fb52 100644 --- a/data/base/features/micamper.pie +++ b/data/base/features/micamper.pie @@ -16,23 +16,42 @@ POINTS 12 11 24 -25 -6 1 28 -9 24 27 -POLYGONS 19 - 200 4 3 2 1 0 73 244 100 244 100 253 73 253 - 200 4 4 5 6 7 68 250 68 244 50 244 50 250 - 200 4 7 6 5 4 50 250 50 244 68 244 68 250 - 200 4 0 3 8 9 29 253 39 253 40 247 28 247 - 200 4 9 8 3 0 28 247 40 247 39 253 29 253 - 200 4 9 8 5 4 28 247 40 247 39 243 29 243 - 200 4 4 5 8 9 29 243 39 243 40 247 28 247 - 200 4 3 2 10 8 1 253 25 254 25 248 0 247 - 200 4 8 10 2 3 0 247 25 248 25 254 1 253 - 200 4 8 10 6 5 0 247 25 248 24 243 3 243 - 200 4 5 6 10 8 3 243 24 243 25 248 0 247 - 200 4 2 1 11 10 40 254 48 254 48 248 40 248 - 200 4 10 11 1 2 40 248 48 248 48 254 40 254 - 200 4 10 11 7 6 40 248 48 248 47 243 41 243 - 200 4 6 7 11 10 41 243 47 243 48 248 40 248 - 200 4 1 0 9 11 0 254 25 253 26 247 0 248 - 200 4 11 9 0 1 0 248 26 247 25 253 0 254 - 200 4 11 9 4 7 0 248 26 247 23 243 1 243 - 200 4 7 4 9 11 1 243 23 243 26 247 0 248 \ No newline at end of file +POLYGONS 38 + 200 3 3 2 1 73 244 100 244 100 253 + 200 3 3 1 0 73 244 100 253 73 253 + 200 3 4 5 6 68 250 68 244 50 244 + 200 3 4 6 7 68 250 50 244 50 250 + 200 3 7 6 5 50 250 50 244 68 244 + 200 3 7 5 4 50 250 68 244 68 250 + 200 3 0 3 8 29 253 39 253 40 247 + 200 3 0 8 9 29 253 40 247 28 247 + 200 3 9 8 3 28 247 40 247 39 253 + 200 3 9 3 0 28 247 39 253 29 253 + 200 3 9 8 5 28 247 40 247 39 243 + 200 3 9 5 4 28 247 39 243 29 243 + 200 3 4 5 8 29 243 39 243 40 247 + 200 3 4 8 9 29 243 40 247 28 247 + 200 3 3 2 10 1 253 25 254 25 248 + 200 3 3 10 8 1 253 25 248 0 247 + 200 3 8 10 2 0 247 25 248 25 254 + 200 3 8 2 3 0 247 25 254 1 253 + 200 3 8 10 6 0 247 25 248 24 243 + 200 3 8 6 5 0 247 24 243 3 243 + 200 3 5 6 10 3 243 24 243 25 248 + 200 3 5 10 8 3 243 25 248 0 247 + 200 3 2 1 11 40 254 48 254 48 248 + 200 3 2 11 10 40 254 48 248 40 248 + 200 3 10 11 1 40 248 48 248 48 254 + 200 3 10 1 2 40 248 48 254 40 254 + 200 3 10 11 7 40 248 48 248 47 243 + 200 3 10 7 6 40 248 47 243 41 243 + 200 3 6 7 11 41 243 47 243 48 248 + 200 3 6 11 10 41 243 48 248 40 248 + 200 3 1 0 9 0 254 25 253 26 247 + 200 3 1 9 11 0 254 26 247 0 248 + 200 3 11 9 0 0 248 26 247 25 253 + 200 3 11 0 1 0 248 25 253 0 254 + 200 3 11 9 4 0 248 26 247 23 243 + 200 3 11 4 7 0 248 23 243 1 243 + 200 3 7 4 9 1 243 23 243 26 247 + 200 3 7 9 11 1 243 26 247 0 248 \ No newline at end of file diff --git a/data/base/features/micapsul.pie b/data/base/features/micapsul.pie index 7702f5f83..e9fd28704 100644 --- a/data/base/features/micapsul.pie +++ b/data/base/features/micapsul.pie @@ -12,9 +12,14 @@ POINTS 8 13 0 10 13 26 10 13 26 -9 -POLYGONS 5 - 200 4 3 2 1 0 244 83 256 83 256 97 244 97 - 200 4 7 6 5 4 244 98 256 98 256 112 244 112 - 200 4 6 3 0 5 171 179 157 179 157 193 171 193 - 200 4 2 7 4 1 157 179 171 179 171 193 157 193 - 200 4 2 3 6 7 89 32 101 32 101 44 89 44 +POLYGONS 10 + 200 3 3 2 1 244 83 256 83 256 97 + 200 3 3 1 0 244 83 256 97 244 97 + 200 3 7 6 5 244 98 256 98 256 112 + 200 3 7 5 4 244 98 256 112 244 112 + 200 3 6 3 0 171 179 157 179 157 193 + 200 3 6 0 5 171 179 157 193 171 193 + 200 3 2 7 4 157 179 171 179 171 193 + 200 3 2 4 1 157 179 171 193 157 193 + 200 3 2 3 6 89 32 101 32 101 44 + 200 3 2 6 7 89 32 101 44 89 44 \ No newline at end of file diff --git a/data/base/features/michevy.pie b/data/base/features/michevy.pie index d3ac2e197..9d80fc41e 100644 --- a/data/base/features/michevy.pie +++ b/data/base/features/michevy.pie @@ -18,15 +18,26 @@ POINTS 14 20 20 8 20 2 8 23 23 1 -POLYGONS 11 - 200 4 3 2 1 0 172 72 172 84 145 84 145 72 - 200 4 3 5 4 2 203 77 196 77 196 85 203 85 - 200 4 2 4 7 6 225 220 225 214 200 214 200 220 - 200 4 4 5 8 7 256 0 242 0 242 28 256 28 - 200 4 10 0 1 9 208 78 203 77 203 85 208 84 - 200 4 10 9 12 11 161 74 161 82 147 82 147 74 - 200 4 7 8 13 6 128 210 140 210 140 215 128 215 - 200 4 6 13 11 12 128 215 140 215 138 219 130 219 - 200 4 5 3 13 8 200 224 200 218 225 218 225 224 - 200 4 9 1 6 12 210 214 207 218 225 218 224 214 - 200 4 0 10 11 13 207 218 210 214 224 214 225 218 \ No newline at end of file +POLYGONS 22 + 200 3 3 2 1 172 72 172 84 145 84 + 200 3 3 1 0 172 72 145 84 145 72 + 200 3 3 5 4 203 77 196 77 196 85 + 200 3 3 4 2 203 77 196 85 203 85 + 200 3 2 4 7 225 220 225 214 200 214 + 200 3 2 7 6 225 220 200 214 200 220 + 200 3 4 5 8 256 0 242 0 242 28 + 200 3 4 8 7 256 0 242 28 256 28 + 200 3 10 0 1 208 78 203 77 203 85 + 200 3 10 1 9 208 78 203 85 208 84 + 200 3 10 9 12 161 74 161 82 147 82 + 200 3 10 12 11 161 74 147 82 147 74 + 200 3 7 8 13 128 210 140 210 140 215 + 200 3 7 13 6 128 210 140 215 128 215 + 200 3 6 13 11 128 215 140 215 138 219 + 200 3 6 11 12 128 215 138 219 130 219 + 200 3 5 3 13 200 224 200 218 225 218 + 200 3 5 13 8 200 224 225 218 225 224 + 200 3 9 1 6 210 214 207 218 225 218 + 200 3 9 6 12 210 214 225 218 224 214 + 200 3 0 10 11 207 218 210 214 224 214 + 200 3 0 11 13 207 218 224 214 225 218 \ No newline at end of file diff --git a/data/base/features/micoolbig.pie b/data/base/features/micoolbig.pie index ea0af46b5..22e3be563 100644 --- a/data/base/features/micoolbig.pie +++ b/data/base/features/micoolbig.pie @@ -4,86 +4,134 @@ TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 POINTS 32 - 53 0 130 - -53 0 130 - -43 93 103 - 43 93 103 - -53 0 -130 - 53 0 -130 - 43 93 -103 - -43 93 -103 - -38 202 92 - 38 202 92 - 38 202 -92 - -38 202 -92 - -43 287 104 - 43 287 104 - 43 287 -104 - -43 287 -104 - -130 0 53 - -103 93 43 - 130 0 -53 - 103 93 -43 - -92 202 38 - 92 202 -38 - -104 287 43 - 104 287 -43 - 130 0 53 - 103 93 43 - -130 0 -53 - -103 93 -43 - 92 202 38 - -92 202 -38 - 104 287 43 + 53 0 130 + -53 0 130 + -43 93 103 + 43 93 103 + -53 0 -130 + 53 0 -130 + 43 93 -103 + -43 93 -103 + -38 202 92 + 38 202 92 + 38 202 -92 + -38 202 -92 + -43 287 104 + 43 287 104 + 43 287 -104 + -43 287 -104 + -130 0 53 + -103 93 43 + 130 0 -53 + 103 93 -43 + -92 202 38 + 92 202 -38 + -104 287 43 + 104 287 -43 + 130 0 53 + 103 93 43 + -130 0 -53 + -103 93 -43 + 92 202 38 + -92 202 -38 + 104 287 43 -104 287 -43 -POLYGONS 48 - 200 4 3 2 1 0 75 186 51 186 48 208 78 208 - 200 4 7 6 5 4 51 186 75 186 78 208 48 208 - 200 4 9 8 2 3 74 160 52 160 51 186 75 186 - 200 4 11 10 6 7 52 160 74 160 75 186 51 186 - 200 4 13 12 8 9 75 140 51 140 52 160 74 160 - 200 4 15 14 10 11 51 140 75 140 74 160 52 160 - 200 4 2 17 16 1 75 186 51 186 48 208 78 208 - 200 4 6 19 18 5 51 186 75 186 78 208 48 208 - 200 4 8 20 17 2 74 160 52 160 51 186 75 186 - 200 4 10 21 19 6 52 160 74 160 75 186 51 186 - 200 4 12 22 20 8 75 140 51 140 52 160 74 160 - 200 4 14 23 21 10 51 140 75 140 74 160 52 160 - 200 4 25 3 0 24 75 186 51 186 48 208 78 208 - 200 4 27 7 4 26 51 186 75 186 78 208 48 208 - 200 4 28 9 3 25 74 160 52 160 51 186 75 186 - 200 4 29 11 7 27 52 160 74 160 75 186 51 186 - 200 4 30 13 9 28 75 140 51 140 52 160 74 160 - 200 4 31 15 11 29 51 140 75 140 74 160 52 160 - 200 4 19 25 24 18 51 186 75 186 78 208 48 208 - 200 4 17 27 26 16 75 186 51 186 48 208 78 208 - 200 4 21 28 25 19 52 160 74 160 75 186 51 186 - 200 4 20 29 27 17 74 160 52 160 51 186 75 186 - 200 4 23 30 28 21 51 140 75 140 74 160 52 160 - 200 4 22 31 29 20 75 140 51 140 52 160 74 160 - 200 4 2 1 16 17 253 164 256 186 226 186 229 164 - 200 4 6 5 18 19 229 164 226 186 256 186 253 164 - 200 4 8 2 17 20 252 138 253 164 229 164 230 138 - 200 4 10 6 19 21 230 138 229 164 253 164 252 138 - 200 4 12 8 20 22 253 118 252 138 230 138 229 118 - 200 4 14 10 21 23 229 118 230 138 252 138 253 118 - 200 4 3 0 1 2 253 164 256 186 226 186 229 164 - 200 4 7 4 5 6 229 164 226 186 256 186 253 164 - 200 4 9 3 2 8 252 138 253 164 229 164 230 138 - 200 4 11 7 6 10 230 138 229 164 253 164 252 138 - 200 4 13 9 8 12 253 118 252 138 230 138 229 118 - 200 4 15 11 10 14 229 118 230 138 252 138 253 118 - 200 4 25 24 0 3 253 164 256 186 226 186 229 164 - 200 4 27 26 4 7 229 164 226 186 256 186 253 164 - 200 4 28 25 3 9 252 138 253 164 229 164 230 138 - 200 4 29 27 7 11 230 138 229 164 253 164 252 138 - 200 4 30 28 9 13 253 118 252 138 230 138 229 118 - 200 4 31 29 11 15 229 118 230 138 252 138 253 118 - 200 4 19 18 24 25 229 164 226 186 256 186 253 164 - 200 4 17 16 26 27 253 164 256 186 226 186 229 164 - 200 4 21 19 25 28 230 138 229 164 253 164 252 138 - 200 4 20 17 27 29 252 138 253 164 229 164 230 138 - 200 4 23 21 28 30 229 118 230 138 252 138 253 118 - 200 4 22 20 29 31 253 118 252 138 230 138 229 118 +POLYGONS 96 + 200 3 3 2 1 75 186 51 186 48 208 + 200 3 3 1 0 75 186 48 208 78 208 + 200 3 7 6 5 51 186 75 186 78 208 + 200 3 7 5 4 51 186 78 208 48 208 + 200 3 9 8 2 74 160 52 160 51 186 + 200 3 9 2 3 74 160 51 186 75 186 + 200 3 11 10 6 52 160 74 160 75 186 + 200 3 11 6 7 52 160 75 186 51 186 + 200 3 13 12 8 75 140 51 140 52 160 + 200 3 13 8 9 75 140 52 160 74 160 + 200 3 15 14 10 51 140 75 140 74 160 + 200 3 15 10 11 51 140 74 160 52 160 + 200 3 2 17 16 75 186 51 186 48 208 + 200 3 2 16 1 75 186 48 208 78 208 + 200 3 6 19 18 51 186 75 186 78 208 + 200 3 6 18 5 51 186 78 208 48 208 + 200 3 8 20 17 74 160 52 160 51 186 + 200 3 8 17 2 74 160 51 186 75 186 + 200 3 10 21 19 52 160 74 160 75 186 + 200 3 10 19 6 52 160 75 186 51 186 + 200 3 12 22 20 75 140 51 140 52 160 + 200 3 12 20 8 75 140 52 160 74 160 + 200 3 14 23 21 51 140 75 140 74 160 + 200 3 14 21 10 51 140 74 160 52 160 + 200 3 25 3 0 75 186 51 186 48 208 + 200 3 25 0 24 75 186 48 208 78 208 + 200 3 27 7 4 51 186 75 186 78 208 + 200 3 27 4 26 51 186 78 208 48 208 + 200 3 28 9 3 74 160 52 160 51 186 + 200 3 28 3 25 74 160 51 186 75 186 + 200 3 29 11 7 52 160 74 160 75 186 + 200 3 29 7 27 52 160 75 186 51 186 + 200 3 30 13 9 75 140 51 140 52 160 + 200 3 30 9 28 75 140 52 160 74 160 + 200 3 31 15 11 51 140 75 140 74 160 + 200 3 31 11 29 51 140 74 160 52 160 + 200 3 19 25 24 51 186 75 186 78 208 + 200 3 19 24 18 51 186 78 208 48 208 + 200 3 17 27 26 75 186 51 186 48 208 + 200 3 17 26 16 75 186 48 208 78 208 + 200 3 21 28 25 52 160 74 160 75 186 + 200 3 21 25 19 52 160 75 186 51 186 + 200 3 20 29 27 74 160 52 160 51 186 + 200 3 20 27 17 74 160 51 186 75 186 + 200 3 23 30 28 51 140 75 140 74 160 + 200 3 23 28 21 51 140 74 160 52 160 + 200 3 22 31 29 75 140 51 140 52 160 + 200 3 22 29 20 75 140 52 160 74 160 + 200 3 2 1 16 253 164 256 186 226 186 + 200 3 2 16 17 253 164 226 186 229 164 + 200 3 6 5 18 229 164 226 186 256 186 + 200 3 6 18 19 229 164 256 186 253 164 + 200 3 8 2 17 252 138 253 164 229 164 + 200 3 8 17 20 252 138 229 164 230 138 + 200 3 10 6 19 230 138 229 164 253 164 + 200 3 10 19 21 230 138 253 164 252 138 + 200 3 12 8 20 253 118 252 138 230 138 + 200 3 12 20 22 253 118 230 138 229 118 + 200 3 14 10 21 229 118 230 138 252 138 + 200 3 14 21 23 229 118 252 138 253 118 + 200 3 3 0 1 253 164 256 186 226 186 + 200 3 3 1 2 253 164 226 186 229 164 + 200 3 7 4 5 229 164 226 186 256 186 + 200 3 7 5 6 229 164 256 186 253 164 + 200 3 9 3 2 252 138 253 164 229 164 + 200 3 9 2 8 252 138 229 164 230 138 + 200 3 11 7 6 230 138 229 164 253 164 + 200 3 11 6 10 230 138 253 164 252 138 + 200 3 13 9 8 253 118 252 138 230 138 + 200 3 13 8 12 253 118 230 138 229 118 + 200 3 15 11 10 229 118 230 138 252 138 + 200 3 15 10 14 229 118 252 138 253 118 + 200 3 25 24 0 253 164 256 186 226 186 + 200 3 25 0 3 253 164 226 186 229 164 + 200 3 27 26 4 229 164 226 186 256 186 + 200 3 27 4 7 229 164 256 186 253 164 + 200 3 28 25 3 252 138 253 164 229 164 + 200 3 28 3 9 252 138 229 164 230 138 + 200 3 29 27 7 230 138 229 164 253 164 + 200 3 29 7 11 230 138 253 164 252 138 + 200 3 30 28 9 253 118 252 138 230 138 + 200 3 30 9 13 253 118 230 138 229 118 + 200 3 31 29 11 229 118 230 138 252 138 + 200 3 31 11 15 229 118 252 138 253 118 + 200 3 19 18 24 229 164 226 186 256 186 + 200 3 19 24 25 229 164 256 186 253 164 + 200 3 17 16 26 253 164 256 186 226 186 + 200 3 17 26 27 253 164 226 186 229 164 + 200 3 21 19 25 230 138 229 164 253 164 + 200 3 21 25 28 230 138 253 164 252 138 + 200 3 20 17 27 252 138 253 164 229 164 + 200 3 20 27 29 252 138 229 164 230 138 + 200 3 23 21 28 229 118 230 138 252 138 + 200 3 23 28 30 229 118 252 138 253 118 + 200 3 22 20 29 253 118 252 138 230 138 + 200 3 22 29 31 253 118 230 138 229 118 CONNECTORS 1 0 0 202 diff --git a/data/base/features/micrane.pie b/data/base/features/micrane.pie index 95a6a4c00..63ccd99b3 100644 --- a/data/base/features/micrane.pie +++ b/data/base/features/micrane.pie @@ -62,55 +62,104 @@ POINTS 58 17 0 -18 17 8 -18 6 8 0 -POLYGONS 51 - 200 4 3 2 1 0 140 62 140 74 125 74 125 62 - 200 4 7 6 5 4 125 62 140 62 140 74 125 74 - 200 4 7 4 2 3 52 127 38 127 38 113 52 113 - 200 4 6 7 3 0 38 127 24 127 24 113 38 113 - 200 4 5 6 0 1 52 127 38 127 38 113 52 113 - 200 4 11 10 9 8 59 226 59 211 52 211 52 223 - 200 4 15 14 13 12 59 211 52 211 52 226 59 223 - 200 4 13 14 10 11 29 226 29 211 35 211 35 226 - 200 4 15 12 8 9 210 173 210 183 203 183 203 173 - 200 4 9 10 14 15 96 211 105 211 105 219 96 219 - 200 4 16 17 18 19 190 194 179 194 174 249 195 249 - 200 4 19 18 17 16 195 249 174 249 179 194 190 194 - 200 4 20 16 19 21 190 194 179 194 174 249 195 249 - 200 4 21 19 16 20 195 249 174 249 179 194 190 194 - 200 4 20 17 18 21 213 194 202 194 197 249 218 249 - 200 4 21 18 17 20 218 249 197 249 202 194 213 194 - 200 4 25 24 23 22 179 89 179 89 178 89 178 89 - 200 4 24 25 27 26 179 89 179 89 179 89 179 89 +POLYGONS 100 + 200 3 3 2 1 140 62 140 74 125 74 + 200 3 3 1 0 140 62 125 74 125 62 + 200 3 7 6 5 125 62 140 62 140 74 + 200 3 7 5 4 125 62 140 74 125 74 + 200 3 7 4 2 52 127 38 127 38 113 + 200 3 7 2 3 52 127 38 113 52 113 + 200 3 6 7 3 38 127 24 127 24 113 + 200 3 6 3 0 38 127 24 113 38 113 + 200 3 5 6 0 52 127 38 127 38 113 + 200 3 5 0 1 52 127 38 113 52 113 + 200 3 11 10 9 59 226 59 211 52 211 + 200 3 11 9 8 59 226 52 211 52 223 + 200 3 15 14 13 59 211 52 211 52 226 + 200 3 15 13 12 59 211 52 226 59 223 + 200 3 13 14 10 29 226 29 211 35 211 + 200 3 13 10 11 29 226 35 211 35 226 + 200 3 15 12 8 210 173 210 183 203 183 + 200 3 15 8 9 210 173 203 183 203 173 + 200 3 9 10 14 96 211 105 211 105 219 + 200 3 9 14 15 96 211 105 219 96 219 + 200 3 16 17 18 190 194 179 194 174 249 + 200 3 16 18 19 190 194 174 249 195 249 + 200 3 19 18 17 195 249 174 249 179 194 + 200 3 19 17 16 195 249 179 194 190 194 + 200 3 20 16 19 190 194 179 194 174 249 + 200 3 20 19 21 190 194 174 249 195 249 + 200 3 21 19 16 195 249 174 249 179 194 + 200 3 21 16 20 195 249 179 194 190 194 + 200 3 20 17 18 213 194 202 194 197 249 + 200 3 20 18 21 213 194 197 249 218 249 + 200 3 21 18 17 218 249 197 249 202 194 + 200 3 21 17 20 218 249 202 194 213 194 + 200 3 25 24 23 179 89 179 89 178 89 + 200 3 25 23 22 179 89 178 89 178 89 + 200 3 24 25 27 179 89 179 89 179 89 + 200 3 24 27 26 179 89 179 89 179 89 200 3 28 24 26 179 90 179 89 179 89 200 3 25 29 27 179 89 179 89 179 89 - 200 4 30 31 32 33 174 249 195 249 191 194 178 194 - 200 4 33 32 31 30 178 194 191 194 195 249 174 249 - 200 4 31 34 35 32 197 249 218 249 214 194 201 194 - 200 4 32 35 34 31 201 194 214 194 218 249 197 249 - 200 4 34 36 37 35 174 249 195 249 191 194 178 194 - 200 4 35 37 36 34 178 194 191 194 195 249 174 249 - 200 4 36 30 33 37 174 249 195 249 191 194 178 194 - 200 4 37 33 30 36 178 194 191 194 195 249 174 249 - 200 4 33 32 38 39 174 249 195 249 191 194 178 194 - 200 4 39 38 32 33 178 194 191 194 195 249 174 249 - 200 4 32 35 40 38 197 249 218 249 214 194 201 194 - 200 4 38 40 35 32 201 194 214 194 218 249 197 249 - 200 4 35 37 41 40 174 249 195 249 191 194 178 194 - 200 4 40 41 37 35 178 194 191 194 195 249 174 249 - 200 4 37 33 39 41 174 249 195 249 191 194 178 194 - 200 4 41 39 33 37 178 194 191 194 195 249 174 249 - 200 4 19 18 42 43 190 194 179 194 174 247 195 236 - 200 4 43 42 18 19 195 236 174 247 179 194 190 194 - 200 4 21 19 43 44 190 194 179 194 174 236 195 247 - 200 4 44 43 19 21 195 247 174 236 179 194 190 194 - 200 4 21 18 42 44 213 194 202 194 197 247 218 247 - 200 4 44 42 18 21 218 247 197 247 202 194 213 194 - 200 4 48 47 46 45 196 250 217 250 217 256 196 256 - 200 4 47 50 49 46 217 250 217 250 217 256 217 256 - 200 4 50 52 51 49 217 250 196 250 196 256 217 256 - 200 4 52 54 53 51 196 250 175 250 175 256 196 256 - 200 4 54 56 55 53 175 250 175 250 175 256 175 256 - 200 4 56 48 45 55 175 250 196 250 196 256 175 256 - 200 4 47 48 56 57 166 144 170 152 166 160 162 152 - 200 4 52 50 47 57 154 152 158 144 166 144 162 152 - 200 4 56 54 52 57 166 160 158 160 154 152 162 152 \ No newline at end of file + 200 3 30 31 32 174 249 195 249 191 194 + 200 3 30 32 33 174 249 191 194 178 194 + 200 3 33 32 31 178 194 191 194 195 249 + 200 3 33 31 30 178 194 195 249 174 249 + 200 3 31 34 35 197 249 218 249 214 194 + 200 3 31 35 32 197 249 214 194 201 194 + 200 3 32 35 34 201 194 214 194 218 249 + 200 3 32 34 31 201 194 218 249 197 249 + 200 3 34 36 37 174 249 195 249 191 194 + 200 3 34 37 35 174 249 191 194 178 194 + 200 3 35 37 36 178 194 191 194 195 249 + 200 3 35 36 34 178 194 195 249 174 249 + 200 3 36 30 33 174 249 195 249 191 194 + 200 3 36 33 37 174 249 191 194 178 194 + 200 3 37 33 30 178 194 191 194 195 249 + 200 3 37 30 36 178 194 195 249 174 249 + 200 3 33 32 38 174 249 195 249 191 194 + 200 3 33 38 39 174 249 191 194 178 194 + 200 3 39 38 32 178 194 191 194 195 249 + 200 3 39 32 33 178 194 195 249 174 249 + 200 3 32 35 40 197 249 218 249 214 194 + 200 3 32 40 38 197 249 214 194 201 194 + 200 3 38 40 35 201 194 214 194 218 249 + 200 3 38 35 32 201 194 218 249 197 249 + 200 3 35 37 41 174 249 195 249 191 194 + 200 3 35 41 40 174 249 191 194 178 194 + 200 3 40 41 37 178 194 191 194 195 249 + 200 3 40 37 35 178 194 195 249 174 249 + 200 3 37 33 39 174 249 195 249 191 194 + 200 3 37 39 41 174 249 191 194 178 194 + 200 3 41 39 33 178 194 191 194 195 249 + 200 3 41 33 37 178 194 195 249 174 249 + 200 3 19 18 42 190 194 179 194 174 247 + 200 3 19 42 43 190 194 174 247 195 236 + 200 3 43 42 18 195 236 174 247 179 194 + 200 3 43 18 19 195 236 179 194 190 194 + 200 3 21 19 43 190 194 179 194 174 236 + 200 3 21 43 44 190 194 174 236 195 247 + 200 3 44 43 19 195 247 174 236 179 194 + 200 3 44 19 21 195 247 179 194 190 194 + 200 3 21 18 42 213 194 202 194 197 247 + 200 3 21 42 44 213 194 197 247 218 247 + 200 3 44 42 18 218 247 197 247 202 194 + 200 3 44 18 21 218 247 202 194 213 194 + 200 3 48 47 46 196 250 217 250 217 256 + 200 3 48 46 45 196 250 217 256 196 256 + 200 3 47 50 49 217 250 217 250 217 256 + 200 3 47 49 46 217 250 217 256 217 256 + 200 3 50 52 51 217 250 196 250 196 256 + 200 3 50 51 49 217 250 196 256 217 256 + 200 3 52 54 53 196 250 175 250 175 256 + 200 3 52 53 51 196 250 175 256 196 256 + 200 3 54 56 55 175 250 175 250 175 256 + 200 3 54 55 53 175 250 175 256 175 256 + 200 3 56 48 45 175 250 196 250 196 256 + 200 3 56 45 55 175 250 196 256 175 256 + 200 3 47 48 56 166 144 170 152 166 160 + 200 3 47 56 57 166 144 166 160 162 152 + 200 3 52 50 47 154 152 158 144 166 144 + 200 3 52 47 57 154 152 166 144 162 152 + 200 3 56 54 52 166 160 158 160 154 152 + 200 3 56 52 57 166 160 154 152 162 152 \ No newline at end of file diff --git a/data/base/features/mifactry.pie b/data/base/features/mifactry.pie index 98cd4b225..ae6c6ff6d 100644 --- a/data/base/features/mifactry.pie +++ b/data/base/features/mifactry.pie @@ -63,40 +63,73 @@ POINTS 59 95 4 -30 95 4 88 71 4 -58 -POLYGONS 36 - 200 4 3 2 1 0 48 172 37 172 37 138 48 138 - 200 4 7 6 5 4 162 84 162 96 103 96 103 84 - 200 4 11 10 9 8 256 117 248 117 248 181 256 181 - 200 4 10 13 12 9 248 117 234 117 234 181 248 181 - 200 4 13 15 14 12 234 117 226 117 226 181 234 181 - 200 4 5 6 17 16 103 84 162 84 162 96 103 96 - 200 4 7 4 19 18 162 84 103 84 103 96 162 96 - 200 4 4 5 16 19 108 170 137 170 137 188 108 188 - 200 4 6 7 18 17 137 170 108 170 108 188 137 188 - 200 4 22 21 20 3 167 59 132 59 132 81 167 81 - 200 4 25 24 2 23 80 113 80 139 52 139 52 113 - 200 4 29 28 27 26 48 172 37 172 37 138 48 138 - 200 4 33 32 31 30 48 138 48 172 37 172 37 138 - 200 4 36 35 34 29 97 81 112 81 112 59 97 59 - 200 4 37 22 3 0 112 81 132 81 132 59 112 59 - 200 4 21 38 32 20 132 81 97 81 97 59 132 59 - 200 4 34 39 28 29 48 172 37 172 37 138 48 138 - 200 4 3 20 23 2 48 172 48 138 37 138 37 172 - 200 4 34 0 1 39 48 172 48 138 37 138 37 172 - 200 4 20 33 30 23 48 138 48 172 37 172 37 138 +POLYGONS 69 + 200 3 3 2 1 48 172 37 172 37 138 + 200 3 3 1 0 48 172 37 138 48 138 + 200 3 7 6 5 162 84 162 96 103 96 + 200 3 7 5 4 162 84 103 96 103 84 + 200 3 11 10 9 256 117 248 117 248 181 + 200 3 11 9 8 256 117 248 181 256 181 + 200 3 10 13 12 248 117 234 117 234 181 + 200 3 10 12 9 248 117 234 181 248 181 + 200 3 13 15 14 234 117 226 117 226 181 + 200 3 13 14 12 234 117 226 181 234 181 + 200 3 5 6 17 103 84 162 84 162 96 + 200 3 5 17 16 103 84 162 96 103 96 + 200 3 7 4 19 162 84 103 84 103 96 + 200 3 7 19 18 162 84 103 96 162 96 + 200 3 4 5 16 108 170 137 170 137 188 + 200 3 4 16 19 108 170 137 188 108 188 + 200 3 6 7 18 137 170 108 170 108 188 + 200 3 6 18 17 137 170 108 188 137 188 + 200 3 22 21 20 167 59 132 59 132 81 + 200 3 22 20 3 167 59 132 81 167 81 + 200 3 25 24 2 80 113 80 139 52 139 + 200 3 25 2 23 80 113 52 139 52 113 + 200 3 29 28 27 48 172 37 172 37 138 + 200 3 29 27 26 48 172 37 138 48 138 + 200 3 33 32 31 48 138 48 172 37 172 + 200 3 33 31 30 48 138 37 172 37 138 + 200 3 36 35 34 97 81 112 81 112 59 + 200 3 36 34 29 97 81 112 59 97 59 + 200 3 37 22 3 112 81 132 81 132 59 + 200 3 37 3 0 112 81 132 59 112 59 + 200 3 21 38 32 132 81 97 81 97 59 + 200 3 21 32 20 132 81 97 59 132 59 + 200 3 34 39 28 48 172 37 172 37 138 + 200 3 34 28 29 48 172 37 138 48 138 + 200 3 3 20 23 48 172 48 138 37 138 + 200 3 3 23 2 48 172 37 138 37 172 + 200 3 34 0 1 48 172 48 138 37 138 + 200 3 34 1 39 48 172 37 138 37 172 + 200 3 20 33 30 48 138 48 172 37 172 + 200 3 20 30 23 48 138 37 172 37 138 200 3 32 27 31 48 138 37 172 37 138 200 3 27 32 26 37 172 48 138 48 172 - 200 4 43 42 41 40 119 190 119 208 99 208 99 190 - 200 4 45 44 42 43 99 188 119 188 119 190 99 190 - 200 4 47 46 40 41 119 188 99 188 99 190 119 190 - 200 4 46 45 43 40 119 190 99 190 99 188 119 188 - 200 4 35 37 0 34 132 96 107 96 107 112 132 112 - 200 4 38 36 29 32 167 81 132 81 132 59 167 59 - 200 4 15 49 48 14 48 140 56 140 56 204 48 204 - 200 4 49 51 50 48 56 140 70 140 70 204 56 204 - 200 4 51 11 8 50 70 140 78 140 78 204 70 204 - 200 4 15 11 51 49 21 198 29 198 27 202 23 202 - 200 4 13 10 11 15 23 194 27 194 29 198 21 198 - 200 4 55 54 53 52 150 1 150 1 150 1 150 1 - 200 4 58 54 57 56 150 2 150 1 150 1 150 1 - 200 3 55 57 54 150 0 150 0 150 0 + 200 3 43 42 41 119 190 119 208 99 208 + 200 3 43 41 40 119 190 99 208 99 190 + 200 3 45 44 42 99 188 119 188 119 190 + 200 3 45 42 43 99 188 119 190 99 190 + 200 3 47 46 40 119 188 99 188 99 190 + 200 3 47 40 41 119 188 99 190 119 190 + 200 3 46 45 43 119 190 99 190 99 188 + 200 3 46 43 40 119 190 99 188 119 188 + 200 3 35 37 0 132 96 107 96 107 112 + 200 3 35 0 34 132 96 107 112 132 112 + 200 3 38 36 29 167 81 132 81 132 59 + 200 3 38 29 32 167 81 132 59 167 59 + 200 3 15 49 48 48 140 56 140 56 204 + 200 3 15 48 14 48 140 56 204 48 204 + 200 3 49 51 50 56 140 70 140 70 204 + 200 3 49 50 48 56 140 70 204 56 204 + 200 3 51 11 8 70 140 78 140 78 204 + 200 3 51 8 50 70 140 78 204 70 204 + 200 3 15 11 51 21 198 29 198 27 202 + 200 3 15 51 49 21 198 27 202 23 202 + 200 3 13 10 11 23 194 27 194 29 198 + 200 3 13 11 15 23 194 29 198 21 198 + 200 3 55 54 53 150 1 150 1 150 1 + 200 3 55 53 52 150 1 150 1 150 1 + 200 3 58 54 57 150 2 150 1 150 1 + 200 3 58 57 56 150 2 150 1 150 1 + 200 3 55 57 54 150 0 150 0 150 0 \ No newline at end of file diff --git a/data/base/features/mijeep.pie b/data/base/features/mijeep.pie index 98fb68491..b4a4cd1a3 100644 --- a/data/base/features/mijeep.pie +++ b/data/base/features/mijeep.pie @@ -28,48 +28,92 @@ POINTS 24 1 0 -19 -4 17 -17 -6 17 -21 -POLYGONS 44 - 200 4 0 1 2 3 114 252 119 253 119 244 114 245 - 200 4 3 2 1 0 114 245 119 244 119 253 114 252 - 200 4 1 4 5 2 175 251 178 252 178 243 175 244 - 200 4 2 5 4 1 175 244 178 243 178 252 175 251 - 200 4 4 6 7 5 120 254 125 254 125 243 120 243 - 200 4 5 7 6 4 120 243 125 243 125 254 120 254 - 200 4 6 8 9 7 179 252 183 252 183 243 179 243 - 200 4 7 9 8 6 179 243 183 243 183 252 179 252 - 200 4 8 10 11 9 114 254 116 254 116 244 114 244 - 200 4 9 11 10 8 114 244 116 244 116 254 114 254 - 200 4 10 12 13 11 116 254 119 254 119 244 116 244 - 200 4 11 13 12 10 116 244 119 244 119 254 116 254 - 200 4 12 14 15 13 119 254 123 254 123 244 119 244 - 200 4 13 15 14 12 119 244 123 244 123 254 119 254 - 200 4 14 16 17 15 123 254 126 254 126 244 123 244 - 200 4 15 17 16 14 123 244 126 244 126 254 123 254 - 200 4 16 18 19 17 126 254 129 254 129 244 126 244 - 200 4 17 19 18 16 126 244 129 244 129 254 126 254 - 200 4 20 21 22 23 108 254 110 254 110 243 108 243 - 200 4 23 22 21 20 108 243 110 243 110 254 108 254 - 200 4 18 16 21 20 164 245 160 244 162 250 164 250 - 200 4 20 21 16 18 164 250 162 250 160 244 164 245 - 200 4 14 4 21 16 156 246 151 250 162 250 160 244 - 200 4 16 21 4 14 160 244 162 250 151 250 156 246 - 200 4 21 4 1 0 162 250 151 250 153 254 158 254 - 200 4 0 1 4 21 158 254 153 254 151 250 162 250 - 200 4 12 6 4 14 152 246 146 250 151 250 156 246 - 200 4 14 4 6 12 156 246 151 250 146 250 152 246 - 200 4 12 10 8 6 152 246 148 244 145 245 146 250 - 200 4 6 8 10 12 146 250 145 245 148 244 152 246 - 200 4 19 23 22 17 144 245 144 250 145 250 147 243 - 200 4 17 22 23 19 147 243 145 250 144 250 144 245 - 200 4 15 17 22 5 152 245 147 243 145 250 157 250 - 200 4 5 22 17 15 157 250 145 250 147 243 152 245 - 200 4 22 3 2 5 145 250 150 254 155 253 157 250 - 200 4 5 2 3 22 157 250 155 253 150 254 145 250 - 200 4 13 15 5 7 157 245 152 245 157 250 163 249 - 200 4 7 5 15 13 163 249 157 250 152 245 157 245 - 200 4 13 7 9 11 157 245 163 249 164 245 161 243 - 200 4 11 9 7 13 161 243 164 245 163 249 157 245 - 200 4 18 20 23 19 167 251 171 251 171 243 167 243 - 200 4 19 23 20 18 167 243 171 243 171 251 167 251 - 200 4 21 0 3 22 171 251 175 250 175 244 171 243 - 200 4 22 3 0 21 171 243 175 244 175 250 171 251 \ No newline at end of file +POLYGONS 88 + 200 3 0 1 2 114 252 119 253 119 244 + 200 3 0 2 3 114 252 119 244 114 245 + 200 3 3 2 1 114 245 119 244 119 253 + 200 3 3 1 0 114 245 119 253 114 252 + 200 3 1 4 5 175 251 178 252 178 243 + 200 3 1 5 2 175 251 178 243 175 244 + 200 3 2 5 4 175 244 178 243 178 252 + 200 3 2 4 1 175 244 178 252 175 251 + 200 3 4 6 7 120 254 125 254 125 243 + 200 3 4 7 5 120 254 125 243 120 243 + 200 3 5 7 6 120 243 125 243 125 254 + 200 3 5 6 4 120 243 125 254 120 254 + 200 3 6 8 9 179 252 183 252 183 243 + 200 3 6 9 7 179 252 183 243 179 243 + 200 3 7 9 8 179 243 183 243 183 252 + 200 3 7 8 6 179 243 183 252 179 252 + 200 3 8 10 11 114 254 116 254 116 244 + 200 3 8 11 9 114 254 116 244 114 244 + 200 3 9 11 10 114 244 116 244 116 254 + 200 3 9 10 8 114 244 116 254 114 254 + 200 3 10 12 13 116 254 119 254 119 244 + 200 3 10 13 11 116 254 119 244 116 244 + 200 3 11 13 12 116 244 119 244 119 254 + 200 3 11 12 10 116 244 119 254 116 254 + 200 3 12 14 15 119 254 123 254 123 244 + 200 3 12 15 13 119 254 123 244 119 244 + 200 3 13 15 14 119 244 123 244 123 254 + 200 3 13 14 12 119 244 123 254 119 254 + 200 3 14 16 17 123 254 126 254 126 244 + 200 3 14 17 15 123 254 126 244 123 244 + 200 3 15 17 16 123 244 126 244 126 254 + 200 3 15 16 14 123 244 126 254 123 254 + 200 3 16 18 19 126 254 129 254 129 244 + 200 3 16 19 17 126 254 129 244 126 244 + 200 3 17 19 18 126 244 129 244 129 254 + 200 3 17 18 16 126 244 129 254 126 254 + 200 3 20 21 22 108 254 110 254 110 243 + 200 3 20 22 23 108 254 110 243 108 243 + 200 3 23 22 21 108 243 110 243 110 254 + 200 3 23 21 20 108 243 110 254 108 254 + 200 3 18 16 21 164 245 160 244 162 250 + 200 3 18 21 20 164 245 162 250 164 250 + 200 3 20 21 16 164 250 162 250 160 244 + 200 3 20 16 18 164 250 160 244 164 245 + 200 3 14 4 21 156 246 151 250 162 250 + 200 3 14 21 16 156 246 162 250 160 244 + 200 3 16 21 4 160 244 162 250 151 250 + 200 3 16 4 14 160 244 151 250 156 246 + 200 3 21 4 1 162 250 151 250 153 254 + 200 3 21 1 0 162 250 153 254 158 254 + 200 3 0 1 4 158 254 153 254 151 250 + 200 3 0 4 21 158 254 151 250 162 250 + 200 3 12 6 4 152 246 146 250 151 250 + 200 3 12 4 14 152 246 151 250 156 246 + 200 3 14 4 6 156 246 151 250 146 250 + 200 3 14 6 12 156 246 146 250 152 246 + 200 3 12 10 8 152 246 148 244 145 245 + 200 3 12 8 6 152 246 145 245 146 250 + 200 3 6 8 10 146 250 145 245 148 244 + 200 3 6 10 12 146 250 148 244 152 246 + 200 3 19 23 22 144 245 144 250 145 250 + 200 3 19 22 17 144 245 145 250 147 243 + 200 3 17 22 23 147 243 145 250 144 250 + 200 3 17 23 19 147 243 144 250 144 245 + 200 3 15 17 22 152 245 147 243 145 250 + 200 3 15 22 5 152 245 145 250 157 250 + 200 3 5 22 17 157 250 145 250 147 243 + 200 3 5 17 15 157 250 147 243 152 245 + 200 3 22 3 2 145 250 150 254 155 253 + 200 3 22 2 5 145 250 155 253 157 250 + 200 3 5 2 3 157 250 155 253 150 254 + 200 3 5 3 22 157 250 150 254 145 250 + 200 3 13 15 5 157 245 152 245 157 250 + 200 3 13 5 7 157 245 157 250 163 249 + 200 3 7 5 15 163 249 157 250 152 245 + 200 3 7 15 13 163 249 152 245 157 245 + 200 3 13 7 9 157 245 163 249 164 245 + 200 3 13 9 11 157 245 164 245 161 243 + 200 3 11 9 7 161 243 164 245 163 249 + 200 3 11 7 13 161 243 163 249 157 245 + 200 3 18 20 23 167 251 171 251 171 243 + 200 3 18 23 19 167 251 171 243 167 243 + 200 3 19 23 20 167 243 171 243 171 251 + 200 3 19 20 18 167 243 171 251 167 251 + 200 3 21 0 3 171 251 175 250 175 244 + 200 3 21 3 22 171 251 175 244 171 243 + 200 3 22 3 0 171 243 175 244 175 250 + 200 3 22 0 21 171 243 175 250 171 251 \ No newline at end of file diff --git a/data/base/features/minuke.pie b/data/base/features/minuke.pie index e80267074..c50ec6a43 100644 --- a/data/base/features/minuke.pie +++ b/data/base/features/minuke.pie @@ -4,138 +4,190 @@ TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 POINTS 82 - -65 0 156 - -95 0 130 - 96 0 130 - 124 0 156 - 124 0 -103 - 96 0 26 - 96 0 -30 - 96 0 -130 - 74 0 -30 - 74 0 26 - -59 64 -72 - -59 151 -72 - -20 151 -72 - -20 64 -72 - -59 151 -94 - -59 64 -94 - -20 64 -94 - -20 151 -94 - 0 142 -72 - 52 142 -72 - 52 142 73 - 0 142 73 - -50 142 73 - -50 142 -72 - -20 142 -72 - -20 63 -72 - 22 63 -72 - 22 142 -72 - 61 64 -72 - 61 151 -72 - 61 151 -94 - 61 64 -94 - 22 151 -72 - 22 151 -94 - 22 64 -72 - 22 64 -94 - 52 63 -72 - 52 63 73 - -50 63 73 - -50 63 -72 - 22 142 73 - 22 63 73 - -20 63 73 - -20 142 73 - -59 64 73 - -59 151 73 - -59 151 95 - -59 64 95 - -20 151 73 - -20 151 95 - -20 64 73 - -20 64 95 - 61 151 73 - 61 151 95 - 22 151 95 - 22 151 73 - 22 64 95 - 22 64 73 - 61 64 73 - 61 64 95 - 95 0 -129 - 95 0 -30 - 80 63 -54 - 80 63 -105 - -80 63 -105 - -80 63 -54 - 80 63 50 - 80 63 105 - -80 63 105 - -80 63 50 - 59 63 -54 - 59 63 50 - -58 63 50 - -58 63 -54 - 95 0 26 - 95 0 129 - -95 0 129 - -95 0 -30 - -73 0 -30 - -95 0 -129 - -95 0 26 + -65 0 156 + -95 0 130 + 96 0 130 + 124 0 156 + 124 0 -103 + 96 0 26 + 96 0 -30 + 96 0 -130 + 74 0 -30 + 74 0 26 + -59 64 -72 + -59 151 -72 + -20 151 -72 + -20 64 -72 + -59 151 -94 + -59 64 -94 + -20 64 -94 + -20 151 -94 + 0 142 -72 + 52 142 -72 + 52 142 73 + 0 142 73 + -50 142 73 + -50 142 -72 + -20 142 -72 + -20 63 -72 + 22 63 -72 + 22 142 -72 + 61 64 -72 + 61 151 -72 + 61 151 -94 + 61 64 -94 + 22 151 -72 + 22 151 -94 + 22 64 -72 + 22 64 -94 + 52 63 -72 + 52 63 73 + -50 63 73 + -50 63 -72 + 22 142 73 + 22 63 73 + -20 63 73 + -20 142 73 + -59 64 73 + -59 151 73 + -59 151 95 + -59 64 95 + -20 151 73 + -20 151 95 + -20 64 73 + -20 64 95 + 61 151 73 + 61 151 95 + 22 151 95 + 22 151 73 + 22 64 95 + 22 64 73 + 61 64 73 + 61 64 95 + 95 0 -129 + 95 0 -30 + 80 63 -54 + 80 63 -105 + -80 63 -105 + -80 63 -54 + 80 63 50 + 80 63 105 + -80 63 105 + -80 63 50 + 59 63 -54 + 59 63 50 + -58 63 50 + -58 63 -54 + 95 0 26 + 95 0 129 + -95 0 129 + -95 0 -30 + -73 0 -30 + -95 0 -129 + -95 0 26 -73 0 26 -POLYGONS 52 - 200 4 3 2 1 0 152 0 152 0 151 0 151 0 - 200 4 5 2 3 4 152 0 152 0 152 0 152 1 - 200 4 5 4 7 6 152 0 152 1 152 1 152 1 - 200 4 9 5 6 8 152 0 152 0 152 1 152 1 - 200 4 13 12 11 10 163 113 163 83 173 83 173 113 - 200 4 17 16 15 14 163 83 163 113 173 113 173 83 - 200 4 21 20 19 18 162 85 162 96 103 96 103 85 - 200 4 17 12 13 16 97 59 132 59 132 81 97 81 - 200 4 23 22 21 18 162 96 103 96 103 85 162 85 - 200 4 27 26 25 24 147 83 147 112 122 112 122 83 - 200 4 31 30 29 28 103 113 103 83 93 83 93 113 - 200 4 33 32 29 30 167 59 167 81 132 81 132 59 - 200 4 32 33 35 34 97 59 132 59 132 81 97 81 - 200 4 35 33 30 31 163 113 163 83 173 83 173 113 - 200 4 32 34 28 29 163 83 163 113 173 113 173 83 - 200 4 10 11 14 15 103 113 103 83 93 83 93 113 - 200 4 12 17 14 11 167 59 167 81 132 81 132 59 - 200 4 19 20 37 36 105 83 160 83 160 113 105 113 - 200 4 22 23 39 38 160 83 105 83 105 113 160 113 - 200 4 43 42 41 40 147 83 147 112 122 112 122 83 - 200 4 47 46 45 44 103 113 103 83 93 83 93 113 - 200 4 49 48 45 46 167 59 167 81 132 81 132 59 - 200 4 48 49 51 50 97 59 132 59 132 81 97 81 - 200 4 51 49 46 47 163 113 163 83 173 83 173 113 - 200 4 48 50 44 45 163 83 163 113 173 113 173 83 - 200 4 55 54 53 52 167 59 167 81 132 81 132 59 - 200 4 54 55 57 56 97 59 132 59 132 81 97 81 - 200 4 57 55 52 58 163 113 163 83 173 83 173 113 - 200 4 54 56 59 53 163 83 163 113 173 113 173 83 - 200 4 58 52 53 59 103 113 103 83 93 83 93 113 - 200 4 63 62 61 60 248 158 233 158 226 137 255 137 - 200 4 64 63 62 65 48 203 78 203 78 192 48 192 - 200 4 65 62 63 64 48 192 78 192 78 203 48 203 - 200 4 66 67 68 69 78 169 78 158 48 158 48 169 - 200 4 69 68 67 66 48 169 48 158 78 158 78 169 - 200 4 70 71 72 73 74 192 74 169 52 169 52 192 - 200 4 73 72 71 70 52 192 52 169 74 169 74 192 - 200 4 70 71 9 8 79 164 49 164 56 143 72 143 - 200 4 66 67 75 74 248 158 233 158 226 137 255 137 - 200 4 75 67 68 76 226 118 228 139 254 139 256 118 - 200 4 8 70 62 61 229 118 232 139 228 139 226 118 - 200 4 73 78 77 65 250 139 253 118 256 118 254 139 - 200 4 70 8 61 62 232 139 229 118 226 118 228 139 - 200 4 65 77 78 73 254 139 256 118 253 118 250 139 - 200 4 77 65 64 79 48 161 55 182 71 182 78 161 - 200 4 76 68 69 80 48 161 55 182 71 182 78 161 - 200 4 72 73 78 81 49 164 79 164 72 143 56 143 - 200 4 64 63 60 79 77 164 51 164 49 143 79 143 - 200 4 71 9 74 66 55 164 52 143 49 143 51 164 - 200 4 81 72 69 80 76 143 73 164 77 164 79 143 - 200 4 9 71 66 74 52 143 55 164 51 164 49 143 - 200 4 80 69 72 81 79 143 77 164 73 164 76 143 \ No newline at end of file +POLYGONS 104 + 200 3 3 2 1 152 0 152 0 151 0 + 200 3 3 1 0 152 0 151 0 151 0 + 200 3 5 2 3 152 0 152 0 152 0 + 200 3 5 3 4 152 0 152 0 152 1 + 200 3 5 4 7 152 0 152 1 152 1 + 200 3 5 7 6 152 0 152 1 152 1 + 200 3 9 5 6 152 0 152 0 152 1 + 200 3 9 6 8 152 0 152 1 152 1 + 200 3 13 12 11 163 113 163 83 173 83 + 200 3 13 11 10 163 113 173 83 173 113 + 200 3 17 16 15 163 83 163 113 173 113 + 200 3 17 15 14 163 83 173 113 173 83 + 200 3 21 20 19 162 85 162 96 103 96 + 200 3 21 19 18 162 85 103 96 103 85 + 200 3 17 12 13 97 59 132 59 132 81 + 200 3 17 13 16 97 59 132 81 97 81 + 200 3 23 22 21 162 96 103 96 103 85 + 200 3 23 21 18 162 96 103 85 162 85 + 200 3 27 26 25 147 83 147 112 122 112 + 200 3 27 25 24 147 83 122 112 122 83 + 200 3 31 30 29 103 113 103 83 93 83 + 200 3 31 29 28 103 113 93 83 93 113 + 200 3 33 32 29 167 59 167 81 132 81 + 200 3 33 29 30 167 59 132 81 132 59 + 200 3 32 33 35 97 59 132 59 132 81 + 200 3 32 35 34 97 59 132 81 97 81 + 200 3 35 33 30 163 113 163 83 173 83 + 200 3 35 30 31 163 113 173 83 173 113 + 200 3 32 34 28 163 83 163 113 173 113 + 200 3 32 28 29 163 83 173 113 173 83 + 200 3 10 11 14 103 113 103 83 93 83 + 200 3 10 14 15 103 113 93 83 93 113 + 200 3 12 17 14 167 59 167 81 132 81 + 200 3 12 14 11 167 59 132 81 132 59 + 200 3 19 20 37 105 83 160 83 160 113 + 200 3 19 37 36 105 83 160 113 105 113 + 200 3 22 23 39 160 83 105 83 105 113 + 200 3 22 39 38 160 83 105 113 160 113 + 200 3 43 42 41 147 83 147 112 122 112 + 200 3 43 41 40 147 83 122 112 122 83 + 200 3 47 46 45 103 113 103 83 93 83 + 200 3 47 45 44 103 113 93 83 93 113 + 200 3 49 48 45 167 59 167 81 132 81 + 200 3 49 45 46 167 59 132 81 132 59 + 200 3 48 49 51 97 59 132 59 132 81 + 200 3 48 51 50 97 59 132 81 97 81 + 200 3 51 49 46 163 113 163 83 173 83 + 200 3 51 46 47 163 113 173 83 173 113 + 200 3 48 50 44 163 83 163 113 173 113 + 200 3 48 44 45 163 83 173 113 173 83 + 200 3 55 54 53 167 59 167 81 132 81 + 200 3 55 53 52 167 59 132 81 132 59 + 200 3 54 55 57 97 59 132 59 132 81 + 200 3 54 57 56 97 59 132 81 97 81 + 200 3 57 55 52 163 113 163 83 173 83 + 200 3 57 52 58 163 113 173 83 173 113 + 200 3 54 56 59 163 83 163 113 173 113 + 200 3 54 59 53 163 83 173 113 173 83 + 200 3 58 52 53 103 113 103 83 93 83 + 200 3 58 53 59 103 113 93 83 93 113 + 200 3 63 62 61 248 158 233 158 226 137 + 200 3 63 61 60 248 158 226 137 255 137 + 200 3 64 63 62 48 203 78 203 78 192 + 200 3 64 62 65 48 203 78 192 48 192 + 200 3 65 62 63 48 192 78 192 78 203 + 200 3 65 63 64 48 192 78 203 48 203 + 200 3 66 67 68 78 169 78 158 48 158 + 200 3 66 68 69 78 169 48 158 48 169 + 200 3 69 68 67 48 169 48 158 78 158 + 200 3 69 67 66 48 169 78 158 78 169 + 200 3 70 71 72 74 192 74 169 52 169 + 200 3 70 72 73 74 192 52 169 52 192 + 200 3 73 72 71 52 192 52 169 74 169 + 200 3 73 71 70 52 192 74 169 74 192 + 200 3 70 71 9 79 164 49 164 56 143 + 200 3 70 9 8 79 164 56 143 72 143 + 200 3 66 67 75 248 158 233 158 226 137 + 200 3 66 75 74 248 158 226 137 255 137 + 200 3 75 67 68 226 118 228 139 254 139 + 200 3 75 68 76 226 118 254 139 256 118 + 200 3 8 70 62 229 118 232 139 228 139 + 200 3 8 62 61 229 118 228 139 226 118 + 200 3 73 78 77 250 139 253 118 256 118 + 200 3 73 77 65 250 139 256 118 254 139 + 200 3 70 8 61 232 139 229 118 226 118 + 200 3 70 61 62 232 139 226 118 228 139 + 200 3 65 77 78 254 139 256 118 253 118 + 200 3 65 78 73 254 139 253 118 250 139 + 200 3 77 65 64 48 161 55 182 71 182 + 200 3 77 64 79 48 161 71 182 78 161 + 200 3 76 68 69 48 161 55 182 71 182 + 200 3 76 69 80 48 161 71 182 78 161 + 200 3 72 73 78 49 164 79 164 72 143 + 200 3 72 78 81 49 164 72 143 56 143 + 200 3 64 63 60 77 164 51 164 49 143 + 200 3 64 60 79 77 164 49 143 79 143 + 200 3 71 9 74 55 164 52 143 49 143 + 200 3 71 74 66 55 164 49 143 51 164 + 200 3 81 72 69 76 143 73 164 77 164 + 200 3 81 69 80 76 143 77 164 79 143 + 200 3 9 71 66 52 143 55 164 51 164 + 200 3 9 66 74 52 143 51 164 49 143 + 200 3 80 69 72 79 143 77 164 73 164 + 200 3 80 72 81 79 143 73 164 76 143 \ No newline at end of file diff --git a/data/base/features/mioil.pie b/data/base/features/mioil.pie index 0ac73c818..e7d1c1b92 100644 --- a/data/base/features/mioil.pie +++ b/data/base/features/mioil.pie @@ -17,22 +17,40 @@ POINTS 13 7 3 -12 7 37 -12 0 37 0 -POLYGONS 18 - 200 4 0 1 2 3 10 192 12 192 12 177 10 177 - 200 4 3 2 1 0 10 177 12 177 12 192 10 192 - 200 4 1 4 5 2 0 192 1 192 1 177 0 177 - 200 4 2 5 4 1 0 177 1 177 1 192 0 192 - 200 4 4 6 7 5 1 192 3 192 3 177 1 177 - 200 4 5 7 6 4 1 177 3 177 3 192 1 192 - 200 4 6 8 9 7 3 192 5 192 5 177 3 177 - 200 4 7 9 8 6 3 177 5 177 5 192 3 192 - 200 4 8 10 11 9 5 192 8 192 8 177 5 177 - 200 4 9 11 10 8 5 177 8 177 8 192 5 192 - 200 4 10 0 3 11 8 192 10 192 10 177 8 177 - 200 4 11 3 0 10 8 177 10 177 10 192 8 192 - 200 4 12 11 3 2 23 185 26 192 29 185 26 178 - 200 4 2 3 11 12 26 178 29 185 26 192 23 185 - 200 4 12 2 5 7 23 185 26 178 19 178 16 185 - 200 4 7 5 2 12 16 185 19 178 26 178 23 185 - 200 4 12 7 9 11 23 185 16 185 19 192 26 192 - 200 4 11 9 7 12 26 192 19 192 16 185 23 185 \ No newline at end of file +POLYGONS 36 + 200 3 0 1 2 10 192 12 192 12 177 + 200 3 0 2 3 10 192 12 177 10 177 + 200 3 3 2 1 10 177 12 177 12 192 + 200 3 3 1 0 10 177 12 192 10 192 + 200 3 1 4 5 0 192 1 192 1 177 + 200 3 1 5 2 0 192 1 177 0 177 + 200 3 2 5 4 0 177 1 177 1 192 + 200 3 2 4 1 0 177 1 192 0 192 + 200 3 4 6 7 1 192 3 192 3 177 + 200 3 4 7 5 1 192 3 177 1 177 + 200 3 5 7 6 1 177 3 177 3 192 + 200 3 5 6 4 1 177 3 192 1 192 + 200 3 6 8 9 3 192 5 192 5 177 + 200 3 6 9 7 3 192 5 177 3 177 + 200 3 7 9 8 3 177 5 177 5 192 + 200 3 7 8 6 3 177 5 192 3 192 + 200 3 8 10 11 5 192 8 192 8 177 + 200 3 8 11 9 5 192 8 177 5 177 + 200 3 9 11 10 5 177 8 177 8 192 + 200 3 9 10 8 5 177 8 192 5 192 + 200 3 10 0 3 8 192 10 192 10 177 + 200 3 10 3 11 8 192 10 177 8 177 + 200 3 11 3 0 8 177 10 177 10 192 + 200 3 11 0 10 8 177 10 192 8 192 + 200 3 12 11 3 23 185 26 192 29 185 + 200 3 12 3 2 23 185 29 185 26 178 + 200 3 2 3 11 26 178 29 185 26 192 + 200 3 2 11 12 26 178 26 192 23 185 + 200 3 12 2 5 23 185 26 178 19 178 + 200 3 12 5 7 23 185 19 178 16 185 + 200 3 7 5 2 16 185 19 178 26 178 + 200 3 7 2 12 16 185 26 178 23 185 + 200 3 12 7 9 23 185 16 185 19 192 + 200 3 12 9 11 23 185 19 192 26 192 + 200 3 11 9 7 26 192 19 192 16 185 + 200 3 11 7 12 26 192 16 185 23 185 \ No newline at end of file diff --git a/data/base/features/mioiltow.pie b/data/base/features/mioiltow.pie index aa542a471..73876f4a3 100644 --- a/data/base/features/mioiltow.pie +++ b/data/base/features/mioiltow.pie @@ -26,7 +26,7 @@ POINTS 22 55 1 0 3 1 58 47 1 48 -POLYGONS 18 +POLYGONS 27 200 3 2 1 0 247 103 254 86 232 86 200 3 3 2 0 232 109 247 103 232 86 200 3 4 3 0 216 103 232 109 232 86 @@ -35,13 +35,22 @@ POLYGONS 18 200 3 7 6 0 232 63 216 70 232 86 200 3 8 7 0 247 70 232 63 232 86 200 3 1 8 0 254 86 247 70 232 86 - 200 4 4 5 10 9 94 138 118 138 118 186 94 186 - 200 4 3 4 9 11 139 138 163 138 163 186 139 186 - 200 4 2 3 11 12 140 84 164 84 164 132 140 132 - 200 4 1 2 12 13 139 138 163 138 163 186 139 186 - 200 4 8 1 13 14 140 85 115 85 115 133 140 133 - 200 4 7 8 14 15 140 138 115 138 115 186 140 186 - 200 4 5 6 16 10 115 138 140 138 140 186 115 186 - 200 4 6 7 15 16 118 138 94 138 94 186 118 186 - 200 4 20 19 18 17 158 13 161 16 159 18 157 15 - 200 3 21 19 20 160 14 161 16 158 13 + 200 3 4 5 10 94 138 118 138 118 186 + 200 3 4 10 9 94 138 118 186 94 186 + 200 3 3 4 9 139 138 163 138 163 186 + 200 3 3 9 11 139 138 163 186 139 186 + 200 3 2 3 11 140 84 164 84 164 132 + 200 3 2 11 12 140 84 164 132 140 132 + 200 3 1 2 12 139 138 163 138 163 186 + 200 3 1 12 13 139 138 163 186 139 186 + 200 3 8 1 13 140 85 115 85 115 133 + 200 3 8 13 14 140 85 115 133 140 133 + 200 3 7 8 14 140 138 115 138 115 186 + 200 3 7 14 15 140 138 115 186 140 186 + 200 3 5 6 16 115 138 140 138 140 186 + 200 3 5 16 10 115 138 140 186 115 186 + 200 3 6 7 15 118 138 94 138 94 186 + 200 3 6 15 16 118 138 94 186 118 186 + 200 3 20 19 18 158 13 161 16 159 18 + 200 3 20 18 17 158 13 159 18 157 15 + 200 3 21 19 20 160 14 161 16 158 13 \ No newline at end of file diff --git a/data/base/features/mipickup.pie b/data/base/features/mipickup.pie index 18eadbdfc..ab4e7ea8d 100644 --- a/data/base/features/mipickup.pie +++ b/data/base/features/mipickup.pie @@ -22,16 +22,28 @@ POINTS 18 -13 0 -24 -13 0 -25 10 -1 -26 -POLYGONS 12 - 200 4 3 2 1 0 46 84 46 74 51 74 51 84 - 200 4 7 6 5 4 54 83 54 75 58 75 58 83 - 200 4 11 10 9 8 59 84 59 74 70 74 70 84 - 200 4 13 12 8 9 172 85 172 69 178 69 178 85 - 200 4 5 10 11 4 182 83 178 85 178 69 182 71 - 200 4 15 14 12 13 256 0 242 0 242 28 256 28 - 200 4 3 17 16 2 188 69 182 69 182 85 188 85 - 200 4 7 0 1 6 192 72 188 70 188 85 192 83 - 200 4 2 16 13 9 46 88 46 94 69 94 69 88 - 200 4 17 3 8 12 46 94 46 88 69 88 69 94 - 200 4 10 5 6 1 58 88 58 84 54 84 51 88 - 200 4 4 11 0 7 58 84 58 88 51 88 54 84 \ No newline at end of file +POLYGONS 24 + 200 3 3 2 1 46 84 46 74 51 74 + 200 3 3 1 0 46 84 51 74 51 84 + 200 3 7 6 5 54 83 54 75 58 75 + 200 3 7 5 4 54 83 58 75 58 83 + 200 3 11 10 9 59 84 59 74 70 74 + 200 3 11 9 8 59 84 70 74 70 84 + 200 3 13 12 8 172 85 172 69 178 69 + 200 3 13 8 9 172 85 178 69 178 85 + 200 3 5 10 11 182 83 178 85 178 69 + 200 3 5 11 4 182 83 178 69 182 71 + 200 3 15 14 12 256 0 242 0 242 28 + 200 3 15 12 13 256 0 242 28 256 28 + 200 3 3 17 16 188 69 182 69 182 85 + 200 3 3 16 2 188 69 182 85 188 85 + 200 3 7 0 1 192 72 188 70 188 85 + 200 3 7 1 6 192 72 188 85 192 83 + 200 3 2 16 13 46 88 46 94 69 94 + 200 3 2 13 9 46 88 69 94 69 88 + 200 3 17 3 8 46 94 46 88 69 88 + 200 3 17 8 12 46 94 69 88 69 94 + 200 3 10 5 6 58 88 58 84 54 84 + 200 3 10 6 1 58 88 54 84 51 88 + 200 3 4 11 0 58 84 58 88 51 88 + 200 3 4 0 7 58 84 51 88 54 84 \ No newline at end of file diff --git a/data/base/features/mipipe.pie b/data/base/features/mipipe.pie index a2d9b468d..eb2b3f1ee 100644 --- a/data/base/features/mipipe.pie +++ b/data/base/features/mipipe.pie @@ -36,7 +36,7 @@ POINTS 32 -19 0 62 20 45 103 -19 45 103 -POLYGONS 32 +POLYGONS 48 200 3 2 1 0 226 214 241 214 241 235 200 3 4 0 3 226 256 241 235 241 256 200 3 4 2 0 226 256 226 214 241 235 @@ -52,20 +52,36 @@ POLYGONS 32 200 3 12 3 0 254 227 254 215 248 216 200 3 0 1 13 248 216 243 215 243 227 200 3 13 11 0 243 227 248 225 248 216 - 200 4 14 15 16 17 138 249 138 245 91 245 97 249 - 200 4 17 16 15 14 97 249 91 245 138 245 138 249 - 200 4 15 18 19 16 138 245 138 243 89 243 91 245 - 200 4 16 19 18 15 91 245 89 243 138 243 138 245 - 200 4 18 20 21 19 138 243 138 245 91 245 89 243 - 200 4 19 21 20 18 89 243 91 245 138 245 138 243 - 200 4 20 22 23 21 138 245 138 249 97 249 91 245 - 200 4 21 23 22 20 91 245 97 249 138 249 138 245 - 200 4 22 1 24 23 138 249 138 254 104 254 97 249 - 200 4 23 24 1 22 97 249 104 254 138 254 138 249 - 200 4 3 14 17 25 138 254 138 249 97 249 104 254 - 200 4 25 17 14 3 104 254 97 249 138 249 138 254 - 200 4 29 28 27 26 89 256 108 256 108 256 89 256 - 200 4 31 30 28 29 89 256 108 256 108 256 89 256 - 200 4 25 17 23 24 106 256 108 256 89 256 92 256 - 200 4 16 21 23 17 106 256 92 256 89 256 108 256 + 200 3 14 15 16 138 249 138 245 91 245 + 200 3 14 16 17 138 249 91 245 97 249 + 200 3 17 16 15 97 249 91 245 138 245 + 200 3 17 15 14 97 249 138 245 138 249 + 200 3 15 18 19 138 245 138 243 89 243 + 200 3 15 19 16 138 245 89 243 91 245 + 200 3 16 19 18 91 245 89 243 138 243 + 200 3 16 18 15 91 245 138 243 138 245 + 200 3 18 20 21 138 243 138 245 91 245 + 200 3 18 21 19 138 243 91 245 89 243 + 200 3 19 21 20 89 243 91 245 138 245 + 200 3 19 20 18 89 243 138 245 138 243 + 200 3 20 22 23 138 245 138 249 97 249 + 200 3 20 23 21 138 245 97 249 91 245 + 200 3 21 23 22 91 245 97 249 138 249 + 200 3 21 22 20 91 245 138 249 138 245 + 200 3 22 1 24 138 249 138 254 104 254 + 200 3 22 24 23 138 249 104 254 97 249 + 200 3 23 24 1 97 249 104 254 138 254 + 200 3 23 1 22 97 249 138 254 138 249 + 200 3 3 14 17 138 254 138 249 97 249 + 200 3 3 17 25 138 254 97 249 104 254 + 200 3 25 17 14 104 254 97 249 138 249 + 200 3 25 14 3 104 254 138 249 138 254 + 200 3 29 28 27 89 256 108 256 108 256 + 200 3 29 27 26 89 256 108 256 89 256 + 200 3 31 30 28 89 256 108 256 108 256 + 200 3 31 28 29 89 256 108 256 89 256 + 200 3 25 17 23 106 256 108 256 89 256 + 200 3 25 23 24 106 256 89 256 92 256 + 200 3 16 21 23 106 256 92 256 89 256 + 200 3 16 23 17 106 256 89 256 108 256 200 3 16 19 21 106 256 99 256 92 256 \ No newline at end of file diff --git a/data/base/features/mipipe1.pie b/data/base/features/mipipe1.pie index 09c317a17..e6a6e9f88 100644 --- a/data/base/features/mipipe1.pie +++ b/data/base/features/mipipe1.pie @@ -36,7 +36,7 @@ POINTS 32 -19 0 62 20 45 103 -19 45 103 -POLYGONS 29 +POLYGONS 43 200 3 2 1 0 140 243 193 243 193 250 200 3 4 0 3 140 256 193 250 193 256 200 3 4 2 0 140 256 140 243 193 250 @@ -52,17 +52,31 @@ POLYGONS 29 200 3 12 3 0 211 227 211 216 203 217 200 3 0 1 13 203 217 196 216 196 227 200 3 13 11 0 196 227 203 225 203 217 - 200 4 14 15 16 17 138 249 138 245 91 245 97 249 - 200 4 17 16 15 14 97 249 91 245 138 245 138 249 - 200 4 15 18 19 16 138 245 138 243 89 243 91 245 - 200 4 16 19 18 15 91 245 89 243 138 243 138 245 - 200 4 18 20 21 19 138 243 138 245 91 245 89 243 - 200 4 19 21 20 18 89 243 91 245 138 245 138 243 - 200 4 20 22 23 21 138 245 138 249 97 249 91 245 - 200 4 21 23 22 20 91 245 97 249 138 249 138 245 - 200 4 22 1 24 23 138 249 138 254 104 254 97 249 - 200 4 23 24 1 22 97 249 104 254 138 254 138 249 - 200 4 3 14 17 25 138 254 138 249 97 249 104 254 - 200 4 25 17 14 3 104 254 97 249 138 249 138 254 - 200 4 29 28 27 26 89 256 108 256 108 256 89 256 - 200 4 31 30 28 29 89 256 108 256 108 256 89 256 \ No newline at end of file + 200 3 14 15 16 138 249 138 245 91 245 + 200 3 14 16 17 138 249 91 245 97 249 + 200 3 17 16 15 97 249 91 245 138 245 + 200 3 17 15 14 97 249 138 245 138 249 + 200 3 15 18 19 138 245 138 243 89 243 + 200 3 15 19 16 138 245 89 243 91 245 + 200 3 16 19 18 91 245 89 243 138 243 + 200 3 16 18 15 91 245 138 243 138 245 + 200 3 18 20 21 138 243 138 245 91 245 + 200 3 18 21 19 138 243 91 245 89 243 + 200 3 19 21 20 89 243 91 245 138 245 + 200 3 19 20 18 89 243 138 245 138 243 + 200 3 20 22 23 138 245 138 249 97 249 + 200 3 20 23 21 138 245 97 249 91 245 + 200 3 21 23 22 91 245 97 249 138 249 + 200 3 21 22 20 91 245 138 249 138 245 + 200 3 22 1 24 138 249 138 254 104 254 + 200 3 22 24 23 138 249 104 254 97 249 + 200 3 23 24 1 97 249 104 254 138 254 + 200 3 23 1 22 97 249 138 254 138 249 + 200 3 3 14 17 138 254 138 249 97 249 + 200 3 3 17 25 138 254 97 249 104 254 + 200 3 25 17 14 104 254 97 249 138 249 + 200 3 25 14 3 104 254 138 249 138 254 + 200 3 29 28 27 89 256 108 256 108 256 + 200 3 29 27 26 89 256 108 256 89 256 + 200 3 31 30 28 89 256 108 256 108 256 + 200 3 31 28 29 89 256 108 256 89 256 \ No newline at end of file diff --git a/data/base/features/mipipe1a.pie b/data/base/features/mipipe1a.pie index f14e87934..fdac54b32 100644 --- a/data/base/features/mipipe1a.pie +++ b/data/base/features/mipipe1a.pie @@ -32,21 +32,38 @@ POINTS 28 34 28 3 27 2 3 27 28 3 -POLYGONS 17 - 200 4 0 1 2 3 153 218 164 218 164 194 153 194 - 200 4 3 2 1 0 153 194 164 194 164 218 153 218 - 200 4 1 4 5 2 153 218 164 218 164 194 153 194 - 200 4 2 5 4 1 153 194 164 194 164 218 153 218 - 200 4 4 6 7 5 153 218 164 218 164 194 153 194 - 200 4 5 7 6 4 153 194 164 194 164 218 153 218 - 200 4 6 0 3 7 153 218 164 218 164 194 153 194 - 200 4 7 3 0 6 153 194 164 194 164 218 153 218 - 200 4 11 10 9 8 144 204 147 204 147 214 144 214 - 200 4 10 13 12 9 144 204 147 204 147 214 144 214 - 200 4 13 15 14 12 144 204 147 204 147 214 144 214 - 200 4 15 11 8 14 144 204 147 204 147 214 144 214 - 200 4 19 18 17 16 193 0 198 0 198 6 193 6 - 200 4 23 22 21 20 144 204 147 204 147 214 144 214 - 200 4 22 25 24 21 144 204 147 204 147 214 144 214 - 200 4 25 27 26 24 144 204 147 204 147 214 144 214 - 200 4 27 23 20 26 144 204 147 204 147 214 144 214 +POLYGONS 34 + 200 3 0 1 2 153 218 164 218 164 194 + 200 3 0 2 3 153 218 164 194 153 194 + 200 3 3 2 1 153 194 164 194 164 218 + 200 3 3 1 0 153 194 164 218 153 218 + 200 3 1 4 5 153 218 164 218 164 194 + 200 3 1 5 2 153 218 164 194 153 194 + 200 3 2 5 4 153 194 164 194 164 218 + 200 3 2 4 1 153 194 164 218 153 218 + 200 3 4 6 7 153 218 164 218 164 194 + 200 3 4 7 5 153 218 164 194 153 194 + 200 3 5 7 6 153 194 164 194 164 218 + 200 3 5 6 4 153 194 164 218 153 218 + 200 3 6 0 3 153 218 164 218 164 194 + 200 3 6 3 7 153 218 164 194 153 194 + 200 3 7 3 0 153 194 164 194 164 218 + 200 3 7 0 6 153 194 164 218 153 218 + 200 3 11 10 9 144 204 147 204 147 214 + 200 3 11 9 8 144 204 147 214 144 214 + 200 3 10 13 12 144 204 147 204 147 214 + 200 3 10 12 9 144 204 147 214 144 214 + 200 3 13 15 14 144 204 147 204 147 214 + 200 3 13 14 12 144 204 147 214 144 214 + 200 3 15 11 8 144 204 147 204 147 214 + 200 3 15 8 14 144 204 147 214 144 214 + 200 3 19 18 17 193 0 198 0 198 6 + 200 3 19 17 16 193 0 198 6 193 6 + 200 3 23 22 21 144 204 147 204 147 214 + 200 3 23 21 20 144 204 147 214 144 214 + 200 3 22 25 24 144 204 147 204 147 214 + 200 3 22 24 21 144 204 147 214 144 214 + 200 3 25 27 26 144 204 147 204 147 214 + 200 3 25 26 24 144 204 147 214 144 214 + 200 3 27 23 20 144 204 147 204 147 214 + 200 3 27 20 26 144 204 147 214 144 214 \ No newline at end of file diff --git a/data/base/features/mipipe2a.pie b/data/base/features/mipipe2a.pie index 5a1570dfb..2e423df42 100644 --- a/data/base/features/mipipe2a.pie +++ b/data/base/features/mipipe2a.pie @@ -32,21 +32,38 @@ POINTS 28 -64 60 0 63 42 18 -64 42 18 -POLYGONS 17 - 200 4 3 2 1 0 144 204 147 204 147 214 144 214 - 200 4 2 5 4 1 144 204 147 204 147 214 144 214 - 200 4 5 7 6 4 144 204 147 204 147 214 144 214 - 200 4 7 3 0 6 144 204 147 204 147 214 144 214 - 200 4 11 10 9 8 193 0 198 0 198 6 193 6 - 200 4 15 14 13 12 144 204 147 204 147 214 144 214 - 200 4 14 17 16 13 144 204 147 204 147 214 144 214 - 200 4 17 19 18 16 144 204 147 204 147 214 144 214 - 200 4 19 15 12 18 144 204 147 204 147 214 144 214 - 200 4 20 21 22 23 142 218 154 218 154 194 142 194 - 200 4 23 22 21 20 142 194 154 194 154 218 142 218 - 200 4 21 24 25 22 142 218 154 218 154 194 142 194 - 200 4 22 25 24 21 142 194 154 194 154 218 142 218 - 200 4 24 26 27 25 142 218 154 218 154 194 142 194 - 200 4 25 27 26 24 142 194 154 194 154 218 142 218 - 200 4 26 20 23 27 142 218 154 218 154 194 142 194 - 200 4 27 23 20 26 142 194 154 194 154 218 142 218 +POLYGONS 34 + 200 3 3 2 1 144 204 147 204 147 214 + 200 3 3 1 0 144 204 147 214 144 214 + 200 3 2 5 4 144 204 147 204 147 214 + 200 3 2 4 1 144 204 147 214 144 214 + 200 3 5 7 6 144 204 147 204 147 214 + 200 3 5 6 4 144 204 147 214 144 214 + 200 3 7 3 0 144 204 147 204 147 214 + 200 3 7 0 6 144 204 147 214 144 214 + 200 3 11 10 9 193 0 198 0 198 6 + 200 3 11 9 8 193 0 198 6 193 6 + 200 3 15 14 13 144 204 147 204 147 214 + 200 3 15 13 12 144 204 147 214 144 214 + 200 3 14 17 16 144 204 147 204 147 214 + 200 3 14 16 13 144 204 147 214 144 214 + 200 3 17 19 18 144 204 147 204 147 214 + 200 3 17 18 16 144 204 147 214 144 214 + 200 3 19 15 12 144 204 147 204 147 214 + 200 3 19 12 18 144 204 147 214 144 214 + 200 3 20 21 22 142 218 154 218 154 194 + 200 3 20 22 23 142 218 154 194 142 194 + 200 3 23 22 21 142 194 154 194 154 218 + 200 3 23 21 20 142 194 154 218 142 218 + 200 3 21 24 25 142 218 154 218 154 194 + 200 3 21 25 22 142 218 154 194 142 194 + 200 3 22 25 24 142 194 154 194 154 218 + 200 3 22 24 21 142 194 154 218 142 218 + 200 3 24 26 27 142 218 154 218 154 194 + 200 3 24 27 25 142 218 154 194 142 194 + 200 3 25 27 26 142 194 154 194 154 218 + 200 3 25 26 24 142 194 154 218 142 218 + 200 3 26 20 23 142 218 154 218 154 194 + 200 3 26 23 27 142 218 154 194 142 194 + 200 3 27 23 20 142 194 154 194 154 218 + 200 3 27 20 26 142 194 154 218 142 218 \ No newline at end of file diff --git a/data/base/features/mipipe3a.pie b/data/base/features/mipipe3a.pie index dc1f46198..086c0e4a5 100644 --- a/data/base/features/mipipe3a.pie +++ b/data/base/features/mipipe3a.pie @@ -24,17 +24,30 @@ POINTS 20 40 29 3 33 3 3 33 29 3 -POLYGONS 13 - 200 4 0 1 2 3 165 218 176 218 176 194 165 194 - 200 4 3 2 1 0 165 194 176 194 176 218 165 218 - 200 4 1 4 5 2 165 218 176 218 176 194 165 194 - 200 4 2 5 4 1 165 194 176 194 176 218 165 218 - 200 4 4 6 7 5 165 218 176 218 176 194 165 194 - 200 4 5 7 6 4 165 194 176 194 176 218 165 218 - 200 4 6 0 3 7 165 218 176 218 176 194 165 194 - 200 4 7 3 0 6 165 194 176 194 176 218 165 218 - 200 4 11 10 9 8 193 0 198 0 198 6 193 6 - 200 4 15 14 13 12 144 204 147 204 147 214 144 214 - 200 4 14 17 16 13 144 204 147 204 147 214 144 214 - 200 4 17 19 18 16 144 204 147 204 147 214 144 214 - 200 4 19 15 12 18 144 204 147 204 147 214 144 214 +POLYGONS 26 + 200 3 0 1 2 165 218 176 218 176 194 + 200 3 0 2 3 165 218 176 194 165 194 + 200 3 3 2 1 165 194 176 194 176 218 + 200 3 3 1 0 165 194 176 218 165 218 + 200 3 1 4 5 165 218 176 218 176 194 + 200 3 1 5 2 165 218 176 194 165 194 + 200 3 2 5 4 165 194 176 194 176 218 + 200 3 2 4 1 165 194 176 218 165 218 + 200 3 4 6 7 165 218 176 218 176 194 + 200 3 4 7 5 165 218 176 194 165 194 + 200 3 5 7 6 165 194 176 194 176 218 + 200 3 5 6 4 165 194 176 218 165 218 + 200 3 6 0 3 165 218 176 218 176 194 + 200 3 6 3 7 165 218 176 194 165 194 + 200 3 7 3 0 165 194 176 194 176 218 + 200 3 7 0 6 165 194 176 218 165 218 + 200 3 11 10 9 193 0 198 0 198 6 + 200 3 11 9 8 193 0 198 6 193 6 + 200 3 15 14 13 144 204 147 204 147 214 + 200 3 15 13 12 144 204 147 214 144 214 + 200 3 14 17 16 144 204 147 204 147 214 + 200 3 14 16 13 144 204 147 214 144 214 + 200 3 17 19 18 144 204 147 204 147 214 + 200 3 17 18 16 144 204 147 214 144 214 + 200 3 19 15 12 144 204 147 204 147 214 + 200 3 19 12 18 144 204 147 214 144 214 \ No newline at end of file diff --git a/data/base/features/mipylon.pie b/data/base/features/mipylon.pie index 3452b8b17..14fd5142f 100644 --- a/data/base/features/mipylon.pie +++ b/data/base/features/mipylon.pie @@ -18,13 +18,17 @@ POINTS 14 -75 151 0 -15 152 0 -18 124 8 -POLYGONS 16 - 200 4 0 1 2 3 180 194 174 249 195 249 189 194 - 200 4 3 2 1 0 189 194 195 249 174 249 180 194 +POLYGONS 20 + 200 3 0 1 2 180 194 174 249 195 249 + 200 3 0 2 3 180 194 195 249 189 194 + 200 3 3 2 1 189 194 195 249 174 249 + 200 3 3 1 0 189 194 174 249 180 194 200 3 0 4 1 185 194 174 249 195 249 200 3 1 4 0 195 249 174 249 185 194 - 200 4 0 3 5 4 212 194 203 194 197 249 218 249 - 200 4 4 5 3 0 218 249 197 249 203 194 212 194 + 200 3 0 3 5 212 194 203 194 197 249 + 200 3 0 5 4 212 194 197 249 218 249 + 200 3 4 5 3 218 249 197 249 203 194 + 200 3 4 3 0 218 249 203 194 212 194 200 3 2 5 3 174 249 195 249 185 194 200 3 3 5 2 185 194 195 249 174 249 200 3 6 7 8 175 242 194 222 194 245 diff --git a/data/base/features/miruin1.pie b/data/base/features/miruin1.pie index 2bf5c6a63..a61ee0968 100644 --- a/data/base/features/miruin1.pie +++ b/data/base/features/miruin1.pie @@ -28,17 +28,25 @@ POINTS 24 40 1 -38 39 1 52 39 1 50 -POLYGONS 13 - 200 4 6 3 0 5 212 58 171 58 171 73 212 73 - 200 4 19 18 23 14 189 0 189 0 156 5 156 0 - 200 4 18 16 22 23 189 0 185 7 156 7 156 5 - 200 4 7 6 5 4 254 58 215 58 215 73 254 73 - 200 4 13 12 21 20 190 7 157 7 151 0 151 0 +POLYGONS 21 + 200 3 6 3 0 212 58 171 58 171 73 + 200 3 6 0 5 212 58 171 73 212 73 + 200 3 19 18 23 189 0 189 0 156 5 + 200 3 19 23 14 189 0 156 5 156 0 + 200 3 18 16 22 189 0 185 7 156 7 + 200 3 18 22 23 189 0 156 7 156 5 + 200 3 7 6 5 254 58 215 58 215 73 + 200 3 7 5 4 254 58 215 73 254 73 + 200 3 13 12 21 190 7 157 7 151 0 + 200 3 13 21 20 190 7 151 0 151 0 200 3 14 13 20 184 0 190 7 151 0 200 3 13 23 22 151 7 156 5 156 7 200 3 13 14 23 151 7 156 0 156 5 - 200 4 2 7 4 1 171 58 212 58 212 73 171 73 + 200 3 2 7 4 171 58 212 58 212 73 + 200 3 2 4 1 171 58 212 73 171 73 200 3 15 20 21 151 0 151 0 151 0 - 200 4 3 2 1 0 215 58 254 58 254 73 215 73 + 200 3 3 2 1 215 58 254 58 254 73 + 200 3 3 1 0 215 58 254 73 215 73 200 3 17 18 19 190 0 189 0 189 0 - 200 4 11 10 9 8 223 121 223 95 254 95 254 121 \ No newline at end of file + 200 3 11 10 9 223 121 223 95 254 95 + 200 3 11 9 8 223 121 254 95 254 121 \ No newline at end of file diff --git a/data/base/features/miruin10.pie b/data/base/features/miruin10.pie index a70e7d411..1128f31d2 100644 --- a/data/base/features/miruin10.pie +++ b/data/base/features/miruin10.pie @@ -4,37 +4,46 @@ TEXTURE 0 page-29-features-arizona.png 256 256 LEVELS 1 LEVEL 1 POINTS 22 - -62 0 39 - -62 39 39 - 59 39 39 - 59 0 39 - -62 39 -38 - -62 0 -38 - 59 0 -38 - 59 39 -38 - -62 39 42 - -69 50 0 - 67 50 0 - 62 39 40 - -62 37 -47 - 60 39 -45 - -62 49 0 - 59 49 0 - 73 1 -25 - 72 1 53 - 59 1 39 - 59 1 -38 - -48 1 53 + -62 0 39 + -62 39 39 + 59 39 39 + 59 0 39 + -62 39 -38 + -62 0 -38 + 59 0 -38 + 59 39 -38 + -62 39 42 + -69 50 0 + 67 50 0 + 62 39 40 + -62 37 -47 + 60 39 -45 + -62 49 0 + 59 49 0 + 73 1 -25 + 72 1 53 + 59 1 39 + 59 1 -38 + -48 1 53 -61 1 39 -POLYGONS 11 - 200 4 3 2 1 0 234 74 234 58 171 58 171 74 - 200 4 7 6 5 4 234 58 234 74 171 74 171 58 - 200 4 11 10 9 8 156 129 155 118 187 118 186 130 - 200 4 10 13 12 9 155 118 156 106 185 105 187 118 - 200 4 0 1 14 5 207 57 207 38 191 33 174 57 +POLYGONS 20 + 200 3 3 2 1 234 74 234 58 171 58 + 200 3 3 1 0 234 74 171 58 171 74 + 200 3 7 6 5 234 58 234 74 171 74 + 200 3 7 5 4 234 58 171 74 171 58 + 200 3 11 10 9 156 129 155 118 187 118 + 200 3 11 9 8 156 129 187 118 186 130 + 200 3 10 13 12 155 118 156 106 185 105 + 200 3 10 12 9 155 118 185 105 187 118 + 200 3 0 1 14 207 57 207 38 191 33 + 200 3 0 14 5 207 57 191 33 174 57 200 3 5 14 4 174 57 191 33 174 38 - 200 4 15 2 3 6 191 33 207 38 207 57 174 57 + 200 3 15 2 3 191 33 207 38 207 57 + 200 3 15 3 6 191 33 207 57 174 57 200 3 15 6 7 191 33 174 57 174 38 - 200 4 3 6 5 0 151 8 191 8 191 0 151 0 - 200 4 19 18 17 16 151 0 185 0 191 8 157 8 - 200 4 17 18 21 20 151 8 155 0 191 0 187 8 \ No newline at end of file + 200 3 3 6 5 151 8 191 8 191 0 + 200 3 3 5 0 151 8 191 0 151 0 + 200 3 19 18 17 151 0 185 0 191 8 + 200 3 19 17 16 151 0 191 8 157 8 + 200 3 17 18 21 151 8 155 0 191 0 + 200 3 17 21 20 151 8 191 0 187 8 \ No newline at end of file diff --git a/data/base/features/miruin2.pie b/data/base/features/miruin2.pie index f073c55d6..a1c2980b7 100644 --- a/data/base/features/miruin2.pie +++ b/data/base/features/miruin2.pie @@ -24,12 +24,20 @@ POINTS 20 39 1 -17 39 1 59 52 1 59 -POLYGONS 8 - 200 4 6 3 0 5 212 58 171 58 171 73 212 73 - 200 4 16 17 18 19 157 7 151 0 183 0 184 7 - 200 4 3 2 1 0 215 58 254 58 254 73 215 73 - 200 4 15 14 13 12 190 0 185 7 151 7 156 0 - 200 4 12 13 19 18 184 0 190 7 184 7 183 0 - 200 4 2 7 4 1 171 58 212 58 212 73 171 73 - 200 4 7 6 5 4 254 58 215 58 215 73 254 73 - 200 4 11 10 9 8 223 121 223 95 254 95 254 121 \ No newline at end of file +POLYGONS 16 + 200 3 6 3 0 212 58 171 58 171 73 + 200 3 6 0 5 212 58 171 73 212 73 + 200 3 16 17 18 157 7 151 0 183 0 + 200 3 16 18 19 157 7 183 0 184 7 + 200 3 3 2 1 215 58 254 58 254 73 + 200 3 3 1 0 215 58 254 73 215 73 + 200 3 15 14 13 190 0 185 7 151 7 + 200 3 15 13 12 190 0 151 7 156 0 + 200 3 12 13 19 184 0 190 7 184 7 + 200 3 12 19 18 184 0 184 7 183 0 + 200 3 2 7 4 171 58 212 58 212 73 + 200 3 2 4 1 171 58 212 73 171 73 + 200 3 7 6 5 254 58 215 58 215 73 + 200 3 7 5 4 254 58 215 73 254 73 + 200 3 11 10 9 223 121 223 95 254 95 + 200 3 11 9 8 223 121 254 95 254 121 \ No newline at end of file diff --git a/data/base/features/miruin3.pie b/data/base/features/miruin3.pie index ae02561c4..5cd0b86a2 100644 --- a/data/base/features/miruin3.pie +++ b/data/base/features/miruin3.pie @@ -23,12 +23,19 @@ POINTS 19 -21 1 42 -32 1 33 33 1 42 -POLYGONS 8 - 200 4 6 3 0 5 212 33 171 33 171 56 212 56 - 200 4 17 16 18 14 190 0 185 7 157 7 156 0 - 200 4 7 6 5 4 254 33 215 33 215 56 254 56 - 200 4 15 14 13 12 151 0 185 0 190 7 155 7 +POLYGONS 15 + 200 3 6 3 0 212 33 171 33 171 56 + 200 3 6 0 5 212 33 171 56 212 56 + 200 3 17 16 18 190 0 185 7 157 7 + 200 3 17 18 14 190 0 157 7 156 0 + 200 3 7 6 5 254 33 215 33 215 56 + 200 3 7 5 4 254 33 215 56 254 56 + 200 3 15 14 13 151 0 185 0 190 7 + 200 3 15 13 12 151 0 190 7 155 7 200 3 13 14 18 151 7 156 0 157 7 - 200 4 2 7 4 1 171 33 212 33 212 56 171 56 - 200 4 3 2 1 0 215 33 254 33 254 56 215 56 - 200 4 11 10 9 8 223 121 223 95 254 95 254 121 \ No newline at end of file + 200 3 2 7 4 171 33 212 33 212 56 + 200 3 2 4 1 171 33 212 56 171 56 + 200 3 3 2 1 215 33 254 33 254 56 + 200 3 3 1 0 215 33 254 56 215 56 + 200 3 11 10 9 223 121 223 95 254 95 + 200 3 11 9 8 223 121 254 95 254 121 \ No newline at end of file diff --git a/data/base/features/miruin4.pie b/data/base/features/miruin4.pie index bbe24a85f..04302427f 100644 --- a/data/base/features/miruin4.pie +++ b/data/base/features/miruin4.pie @@ -23,12 +23,19 @@ POINTS 19 -21 1 42 -32 1 33 46 1 33 -POLYGONS 8 - 200 4 6 3 0 5 212 33 171 33 171 56 212 56 - 200 4 12 15 14 18 155 7 151 0 185 0 185 7 - 200 4 3 2 1 0 215 33 254 33 254 56 215 56 +POLYGONS 15 + 200 3 6 3 0 212 33 171 33 171 56 + 200 3 6 0 5 212 33 171 56 212 56 + 200 3 12 15 14 155 7 151 0 185 0 + 200 3 12 14 18 155 7 185 0 185 7 + 200 3 3 2 1 215 33 254 33 254 56 + 200 3 3 1 0 215 33 254 56 215 56 200 3 13 18 14 190 7 185 7 185 0 - 200 4 17 16 13 14 190 0 185 7 151 7 156 0 - 200 4 2 7 4 1 171 33 212 33 212 56 171 56 - 200 4 7 6 5 4 254 33 215 33 215 56 254 56 - 200 4 11 10 9 8 223 121 223 95 254 95 254 121 \ No newline at end of file + 200 3 17 16 13 190 0 185 7 151 7 + 200 3 17 13 14 190 0 151 7 156 0 + 200 3 2 7 4 171 33 212 33 212 56 + 200 3 2 4 1 171 33 212 56 171 56 + 200 3 7 6 5 254 33 215 33 215 56 + 200 3 7 5 4 254 33 215 56 254 56 + 200 3 11 10 9 223 121 223 95 254 95 + 200 3 11 9 8 223 121 254 95 254 121 \ No newline at end of file diff --git a/data/base/features/miruin5.pie b/data/base/features/miruin5.pie index af3f33f51..5f0e992a1 100644 --- a/data/base/features/miruin5.pie +++ b/data/base/features/miruin5.pie @@ -24,12 +24,20 @@ POINTS 20 -39 1 39 39 1 38 52 1 38 -POLYGONS 8 - 200 4 2 7 4 1 171 33 212 33 212 56 171 56 - 200 4 7 6 5 4 254 33 215 33 215 56 254 56 - 200 4 6 3 0 5 212 33 171 33 171 56 212 56 - 200 4 12 15 18 19 156 7 150 0 184 0 184 7 - 200 4 3 2 1 0 215 33 254 33 254 56 215 56 - 200 4 14 13 19 18 185 0 191 7 184 7 184 0 - 200 4 17 16 13 14 191 0 186 7 150 7 155 0 - 200 4 11 10 9 8 155 105 186 105 186 131 155 131 \ No newline at end of file +POLYGONS 16 + 200 3 2 7 4 171 33 212 33 212 56 + 200 3 2 4 1 171 33 212 56 171 56 + 200 3 7 6 5 254 33 215 33 215 56 + 200 3 7 5 4 254 33 215 56 254 56 + 200 3 6 3 0 212 33 171 33 171 56 + 200 3 6 0 5 212 33 171 56 212 56 + 200 3 12 15 18 156 7 150 0 184 0 + 200 3 12 18 19 156 7 184 0 184 7 + 200 3 3 2 1 215 33 254 33 254 56 + 200 3 3 1 0 215 33 254 56 215 56 + 200 3 14 13 19 185 0 191 7 184 7 + 200 3 14 19 18 185 0 184 7 184 0 + 200 3 17 16 13 191 0 186 7 150 7 + 200 3 17 13 14 191 0 150 7 155 0 + 200 3 11 10 9 155 105 186 105 186 131 + 200 3 11 9 8 155 105 186 131 155 131 \ No newline at end of file diff --git a/data/base/features/miruin6.pie b/data/base/features/miruin6.pie index 68370dffd..87369bee8 100644 --- a/data/base/features/miruin6.pie +++ b/data/base/features/miruin6.pie @@ -3,40 +3,48 @@ TYPE 200 TEXTURE 0 page-29-features-arizona.png 256 256 LEVELS 1 LEVEL 1 -POINTS 23 - 38 0 38 - -38 0 38 - -38 47 38 - 38 47 38 - -38 0 -38 - 38 0 -38 - 38 36 -38 - -38 36 -38 - 43 47 43 - -43 48 43 - -42 37 -42 - 43 36 -42 - 52 1 -26 - 52 1 52 - 39 1 39 - 39 1 -39 - -26 1 52 - -39 1 39 - 38 41 0 - 38 46 38 - -12 47 38 - 39 1 38 +POINTS 23 + 38 0 38 + -38 0 38 + -38 47 38 + 38 47 38 + -38 0 -38 + 38 0 -38 + 38 36 -38 + -38 36 -38 + 43 47 43 + -43 48 43 + -42 37 -42 + 43 36 -42 + 52 1 -26 + 52 1 52 + 39 1 39 + 39 1 -39 + -26 1 52 + -39 1 39 + 38 41 0 + 38 46 38 + -12 47 38 + 39 1 38 52 1 38 -POLYGONS 12 - 200 4 7 6 5 4 254 33 215 33 215 56 254 56 - 200 4 6 18 19 0 212 33 191 33 171 33 171 56 +POLYGONS 20 + 200 3 7 6 5 254 33 215 33 215 56 + 200 3 7 5 4 254 33 215 56 254 56 + 200 3 6 18 19 212 33 191 33 171 33 + 200 3 6 19 0 212 33 171 33 171 56 200 3 6 0 5 212 33 171 56 212 56 - 200 4 12 15 21 22 156 7 150 0 184 0 184 7 - 200 4 2 7 4 1 171 33 212 33 212 56 171 56 + 200 3 12 15 21 156 7 150 0 184 0 + 200 3 12 21 22 156 7 184 0 184 7 + 200 3 2 7 4 171 33 212 33 212 56 + 200 3 2 4 1 171 33 212 56 171 56 200 3 2 1 20 254 33 254 56 241 33 - 200 4 1 0 19 20 254 56 215 56 215 33 241 33 - 200 4 14 13 22 21 185 0 191 7 184 7 184 0 - 200 4 17 16 13 14 191 0 186 7 150 7 155 0 - 200 4 11 10 9 8 155 105 186 105 186 131 155 131 + 200 3 1 0 19 254 56 215 56 215 33 + 200 3 1 19 20 254 56 215 33 241 33 + 200 3 14 13 22 185 0 191 7 184 7 + 200 3 14 22 21 185 0 184 7 184 0 + 200 3 17 16 13 191 0 186 7 150 7 + 200 3 17 13 14 191 0 150 7 155 0 + 200 3 11 10 9 155 105 186 105 186 131 + 200 3 11 9 8 155 105 186 131 155 131 200 3 3 19 18 171 33 171 33 191 33 200 3 3 20 19 215 33 241 33 215 33 \ No newline at end of file diff --git a/data/base/features/miruin7.pie b/data/base/features/miruin7.pie index 9b7d4bcad..2bbb34d93 100644 --- a/data/base/features/miruin7.pie +++ b/data/base/features/miruin7.pie @@ -3,60 +3,74 @@ TYPE 200 TEXTURE 0 page-29-features-arizona.png 256 256 LEVELS 1 LEVEL 1 -POINTS 35 - 39 0 40 - 39 41 40 - 39 41 -39 - 39 0 -39 - -39 41 40 - -39 0 40 - -39 0 -39 - -39 41 -39 - 41 40 42 - 0 51 42 - 0 51 -42 - 41 40 -42 - -41 40 42 - -41 40 -42 - 0 51 40 - 0 51 -39 - 39 1 40 - 39 1 -40 - 52 1 -27 - 52 1 52 - 38 1 39 - -26 1 52 - -39 1 39 - -39 40 -42 - -39 40 42 - 39 40 -42 - 39 40 42 - 39 1 52 - 39 1 39 - -39 40 -39 - 39 40 -39 - 39 40 40 - -39 40 40 - 33 1 40 +POINTS 35 + 39 0 40 + 39 41 40 + 39 41 -39 + 39 0 -39 + -39 41 40 + -39 0 40 + -39 0 -39 + -39 41 -39 + 41 40 42 + 0 51 42 + 0 51 -42 + 41 40 -42 + -41 40 42 + -41 40 -42 + 0 51 40 + 0 51 -39 + 39 1 40 + 39 1 -40 + 52 1 -27 + 52 1 52 + 38 1 39 + -26 1 52 + -39 1 39 + -39 40 -42 + -39 40 42 + 39 40 -42 + 39 40 42 + 39 1 52 + 39 1 39 + -39 40 -39 + 39 40 -39 + 39 40 40 + -39 40 40 + 33 1 40 -38 1 40 -POLYGONS 20 - 200 4 28 20 33 16 155 0 156 0 158 0 155 0 - 200 4 20 22 34 33 156 0 190 0 189 0 158 0 +POLYGONS 34 + 200 3 28 20 33 155 0 156 0 158 0 + 200 3 28 33 16 155 0 158 0 155 0 + 200 3 20 22 34 156 0 190 0 189 0 + 200 3 20 34 33 156 0 189 0 158 0 200 3 5 14 32 171 56 191 33 171 37 - 200 4 5 0 31 14 171 56 212 56 212 38 192 33 - 200 4 21 27 16 33 185 7 156 7 155 0 158 0 + 200 3 5 0 31 171 56 212 56 212 38 + 200 3 5 31 14 171 56 212 38 192 33 + 200 3 21 27 16 185 7 156 7 155 0 + 200 3 21 16 33 185 7 155 0 158 0 200 3 21 33 34 185 7 158 0 189 0 - 200 4 24 9 15 29 186 105 186 118 156 118 156 105 + 200 3 24 9 15 186 105 186 118 156 118 + 200 3 24 15 29 186 105 156 118 156 105 200 3 4 32 14 171 37 171 37 191 33 - 200 4 9 26 30 15 186 119 186 130 156 130 156 119 + 200 3 9 26 30 186 119 186 130 156 130 + 200 3 9 30 15 186 119 156 130 156 119 200 3 1 14 31 213 38 192 33 212 38 - 200 4 15 2 3 6 191 33 212 37 212 56 171 56 - 200 3 15 6 7 191 33 171 56 171 38 - 200 4 10 23 29 15 155 118 155 105 156 105 156 118 - 200 4 25 10 15 30 155 130 155 119 156 119 156 130 - 200 4 3 2 1 0 254 56 255 33 215 33 215 56 - 200 4 19 18 17 16 190 7 157 8 151 0 185 0 + 200 3 15 2 3 191 33 212 37 212 56 + 200 3 15 3 6 191 33 212 56 171 56 + 200 3 15 6 7 191 33 171 56 171 38 + 200 3 10 23 29 155 118 155 105 156 105 + 200 3 10 29 15 155 118 156 105 156 118 + 200 3 25 10 15 155 130 155 119 156 119 + 200 3 25 15 30 155 130 156 119 156 130 + 200 3 3 2 1 254 56 255 33 215 33 + 200 3 3 1 0 254 56 215 33 215 56 + 200 3 19 18 17 190 7 157 8 151 0 + 200 3 19 17 16 190 7 151 0 185 0 200 3 19 28 27 151 7 155 0 156 7 - 200 4 8 11 25 26 186 131 155 131 155 130 186 130 - 200 4 7 6 5 4 254 33 255 56 215 56 215 33 - 200 4 13 12 24 23 155 105 186 105 186 105 155 105 \ No newline at end of file + 200 3 8 11 25 186 131 155 131 155 130 + 200 3 8 25 26 186 131 155 130 186 130 + 200 3 7 6 5 254 33 255 56 215 56 + 200 3 7 5 4 254 33 215 56 215 33 + 200 3 13 12 24 155 105 186 105 186 105 + 200 3 13 24 23 155 105 186 105 155 105 \ No newline at end of file diff --git a/data/base/features/miruin8.pie b/data/base/features/miruin8.pie index c311b3367..6194f6102 100644 --- a/data/base/features/miruin8.pie +++ b/data/base/features/miruin8.pie @@ -3,64 +3,79 @@ TYPE 200 TEXTURE 0 page-29-features-arizona.png 256 256 LEVELS 1 LEVEL 1 -POINTS 38 - -39 0 39 - -39 41 39 - 40 41 39 - 40 0 39 - -39 41 -38 - -39 0 -38 - 40 0 -38 - 40 41 -38 - -42 40 41 - -42 51 0 - 42 51 0 - 42 40 41 - -42 40 -41 - 42 40 -41 - -39 51 0 - 40 51 0 - 39 1 40 - 39 1 -40 - 52 1 -27 - 52 1 52 - 38 1 39 - -26 1 52 - -39 1 39 - -39 40 -41 - -39 40 41 - 42 40 39 - -39 40 39 - 52 1 39 - 39 1 39 - 40 40 39 - 42 40 -38 - -39 40 -38 - 41 1 -38 - 39 1 -38 - 40 40 -38 - 40 1 -38 - 40 1 33 +POINTS 38 + -39 0 39 + -39 41 39 + 40 41 39 + 40 0 39 + -39 41 -38 + -39 0 -38 + 40 0 -38 + 40 41 -38 + -42 40 41 + -42 51 0 + 42 51 0 + 42 40 41 + -42 40 -41 + 42 40 -41 + -39 51 0 + 40 51 0 + 39 1 40 + 39 1 -40 + 52 1 -27 + 52 1 52 + 38 1 39 + -26 1 52 + -39 1 39 + -39 40 -41 + -39 40 41 + 42 40 39 + -39 40 39 + 52 1 39 + 39 1 39 + 40 40 39 + 42 40 -38 + -39 40 -38 + 41 1 -38 + 39 1 -38 + 40 40 -38 + 40 1 -38 + 40 1 33 40 1 39 -POLYGONS 21 - 200 4 33 28 36 35 151 0 184 0 181 0 151 0 +POLYGONS 36 + 200 3 33 28 36 151 0 184 0 181 0 + 200 3 33 36 35 151 0 181 0 151 0 200 3 28 37 36 184 0 184 0 181 0 200 3 6 34 15 171 56 171 38 191 33 - 200 4 3 6 15 29 212 56 171 56 191 33 212 37 - 200 4 18 32 35 36 157 8 151 1 151 0 181 0 - 200 4 27 18 36 37 184 7 157 8 181 0 184 0 - 200 4 14 10 30 31 184 118 155 118 155 105 184 105 + 200 3 3 6 15 212 56 171 56 191 33 + 200 3 3 15 29 212 56 191 33 212 37 + 200 3 18 32 35 157 8 151 1 151 0 + 200 3 18 35 36 157 8 151 0 181 0 + 200 3 27 18 36 184 7 157 8 181 0 + 200 3 27 36 37 184 7 181 0 184 0 + 200 3 14 10 30 184 118 155 118 155 105 + 200 3 14 30 31 184 118 155 105 184 105 200 3 7 15 34 171 38 191 33 171 38 - 200 4 7 6 5 4 254 33 255 56 215 56 215 33 + 200 3 7 6 5 254 33 255 56 215 56 + 200 3 7 5 4 254 33 215 56 215 33 200 3 17 33 32 151 0 151 0 151 1 - 200 4 13 23 31 30 155 105 184 105 184 105 155 105 - 200 4 10 14 26 25 155 119 184 119 184 130 155 130 + 200 3 13 23 31 155 105 184 105 184 105 + 200 3 13 31 30 155 105 184 105 155 105 + 200 3 10 14 26 155 119 184 119 184 130 + 200 3 10 26 25 155 119 184 130 155 130 200 3 2 29 15 212 37 212 37 191 33 - 200 4 3 2 1 0 254 56 255 33 215 33 215 56 - 200 4 16 19 27 28 185 0 190 7 184 7 184 0 - 200 4 22 21 19 20 190 0 185 7 151 7 156 0 - 200 4 24 11 25 26 184 131 155 131 155 130 184 130 - 200 4 0 1 14 5 212 56 213 38 192 33 171 56 - 200 3 5 14 4 171 56 191 33 171 37 - 200 4 12 9 14 23 186 105 186 118 184 118 184 105 - 200 4 9 8 24 14 186 119 186 131 184 131 184 119 \ No newline at end of file + 200 3 3 2 1 254 56 255 33 215 33 + 200 3 3 1 0 254 56 215 33 215 56 + 200 3 16 19 27 185 0 190 7 184 7 + 200 3 16 27 28 185 0 184 7 184 0 + 200 3 22 21 19 190 0 185 7 151 7 + 200 3 22 19 20 190 0 151 7 156 0 + 200 3 24 11 25 184 131 155 131 155 130 + 200 3 24 25 26 184 131 155 130 184 130 + 200 3 0 1 14 212 56 213 38 192 33 + 200 3 0 14 5 212 56 192 33 171 56 + 200 3 5 14 4 171 56 191 33 171 37 + 200 3 12 9 14 186 105 186 118 184 118 + 200 3 12 14 23 186 105 184 118 184 105 + 200 3 9 8 24 186 119 186 131 184 131 + 200 3 9 24 14 186 119 184 131 184 119 \ No newline at end of file diff --git a/data/base/features/miruin9.pie b/data/base/features/miruin9.pie index 470e0605b..783e02f3f 100644 --- a/data/base/features/miruin9.pie +++ b/data/base/features/miruin9.pie @@ -3,47 +3,58 @@ TYPE 200 TEXTURE 0 page-29-features-arizona.png 256 256 LEVELS 1 LEVEL 1 -POINTS 28 - 38 0 61 - 38 39 61 - 38 39 -61 - 38 0 -61 - -39 39 61 - -39 0 61 - -39 0 -61 - -39 39 -61 - 41 39 61 - 0 50 68 - 0 50 -68 - 39 39 -63 - -49 37 61 - -46 39 -61 - 0 49 61 - 0 49 -61 - 52 1 -47 - 52 1 74 - 38 1 60 - 38 1 -60 - -26 1 74 - -39 1 60 - 39 1 60 - 51 1 74 - 0 50 -61 - 38 1 74 - -38 1 61 +POINTS 28 + 38 0 61 + 38 39 61 + 38 39 -61 + 38 0 -61 + -39 39 61 + -39 0 61 + -39 0 -61 + -39 39 -61 + 41 39 61 + 0 50 68 + 0 50 -68 + 39 39 -63 + -49 37 61 + -46 39 -61 + 0 49 61 + 0 49 -61 + 52 1 -47 + 52 1 74 + 38 1 60 + 38 1 -60 + -26 1 74 + -39 1 60 + 39 1 60 + 51 1 74 + 0 50 -61 + 38 1 74 + -38 1 61 38 1 61 -POLYGONS 14 - 200 4 3 6 5 0 151 7 190 8 190 0 151 0 - 200 4 18 21 26 27 156 0 190 0 189 0 156 0 - 200 4 0 1 14 5 206 56 207 38 191 33 174 56 - 200 3 5 14 4 174 56 190 33 174 37 - 200 4 20 25 27 26 185 7 156 7 156 0 189 0 - 200 4 3 2 1 0 233 73 234 58 171 58 171 73 - 200 4 19 18 17 16 151 0 186 0 190 7 155 7 - 200 4 23 22 18 25 151 7 156 0 156 0 156 7 - 200 4 7 6 5 4 233 58 234 73 171 73 171 58 - 200 4 12 9 24 13 184 105 186 117 156 117 155 106 - 200 4 15 2 3 6 190 33 206 37 206 56 174 56 - 200 3 15 6 7 190 33 174 56 174 38 +POLYGONS 25 + 200 3 3 6 5 151 7 190 8 190 0 + 200 3 3 5 0 151 7 190 0 151 0 + 200 3 18 21 26 156 0 190 0 189 0 + 200 3 18 26 27 156 0 189 0 156 0 + 200 3 0 1 14 206 56 207 38 191 33 + 200 3 0 14 5 206 56 191 33 174 56 + 200 3 5 14 4 174 56 190 33 174 37 + 200 3 20 25 27 185 7 156 7 156 0 + 200 3 20 27 26 185 7 156 0 189 0 + 200 3 3 2 1 233 73 234 58 171 58 + 200 3 3 1 0 233 73 171 58 171 73 + 200 3 19 18 17 151 0 186 0 190 7 + 200 3 19 17 16 151 0 190 7 155 7 + 200 3 23 22 18 151 7 156 0 156 0 + 200 3 23 18 25 151 7 156 0 156 7 + 200 3 7 6 5 233 58 234 73 171 73 + 200 3 7 5 4 233 58 171 73 171 58 + 200 3 12 9 24 184 105 186 117 156 117 + 200 3 12 24 13 184 105 156 117 155 106 + 200 3 15 2 3 190 33 206 37 206 56 + 200 3 15 3 6 190 33 206 56 174 56 + 200 3 15 6 7 190 33 174 56 174 38 200 3 10 13 24 155 117 155 106 156 117 - 200 4 11 10 9 8 156 129 155 118 186 118 186 129 + 200 3 11 10 9 156 129 155 118 186 118 + 200 3 11 9 8 156 129 186 118 186 129 \ No newline at end of file diff --git a/data/base/features/mislick.pie b/data/base/features/mislick.pie index d5cdb376b..0e451362c 100644 --- a/data/base/features/mislick.pie +++ b/data/base/features/mislick.pie @@ -59,34 +59,64 @@ POINTS 55 39 3 -35 39 3 38 -38 3 38 -POLYGONS 30 - 200 4 54 53 52 51 1 228 25 228 25 255 1 255 - 200 4 44 45 49 48 93 126 107 126 107 132 93 132 - 200 4 43 44 48 47 93 126 107 126 107 132 93 132 - 200 4 45 46 50 49 93 126 107 126 107 132 93 132 - 200 4 46 45 44 43 93 126 107 126 107 132 93 132 - 200 4 46 43 47 50 93 126 107 126 107 132 93 132 - 200 4 7 3 0 6 93 119 107 119 107 136 93 136 - 200 4 3 2 1 0 93 119 107 119 107 136 93 136 - 200 4 21 22 27 26 100 126 107 126 107 132 100 132 - 200 4 2 5 4 1 93 119 107 119 107 136 93 136 - 200 4 22 17 28 27 97 126 104 126 104 132 97 132 - 200 4 5 7 6 4 93 119 107 119 107 136 93 136 - 200 4 19 20 25 24 97 126 104 126 104 132 97 132 - 200 4 17 18 23 28 93 126 100 126 100 132 93 132 - 200 4 31 34 33 30 93 126 107 126 107 132 93 132 - 200 4 36 32 29 35 93 126 107 126 107 132 93 132 - 200 4 32 31 30 29 93 126 107 126 107 132 93 132 - 200 4 20 21 26 25 93 126 100 126 100 132 93 132 - 200 4 37 9 40 39 93 126 107 126 107 132 93 132 - 200 4 9 8 41 40 93 126 107 126 107 132 93 132 - 200 4 10 13 12 9 93 126 107 126 107 132 93 132 - 200 4 38 8 9 37 93 126 107 126 107 132 93 132 - 200 4 11 10 9 8 93 126 107 126 107 132 93 132 - 200 4 15 11 8 14 93 126 107 126 107 132 93 132 - 200 4 8 38 42 41 93 126 107 126 107 132 93 132 - 200 4 38 37 39 42 93 126 107 126 107 132 93 132 - 200 4 18 19 24 23 100 126 107 126 107 132 100 132 - 200 4 17 22 21 16 108 120 98 120 93 112 103 112 - 200 4 21 20 19 16 93 112 98 103 108 103 103 112 - 200 4 19 18 17 16 108 103 113 112 108 120 103 112 +POLYGONS 60 + 200 3 54 53 52 1 228 25 228 25 255 + 200 3 54 52 51 1 228 25 255 1 255 + 200 3 44 45 49 93 126 107 126 107 132 + 200 3 44 49 48 93 126 107 132 93 132 + 200 3 43 44 48 93 126 107 126 107 132 + 200 3 43 48 47 93 126 107 132 93 132 + 200 3 45 46 50 93 126 107 126 107 132 + 200 3 45 50 49 93 126 107 132 93 132 + 200 3 46 45 44 93 126 107 126 107 132 + 200 3 46 44 43 93 126 107 132 93 132 + 200 3 46 43 47 93 126 107 126 107 132 + 200 3 46 47 50 93 126 107 132 93 132 + 200 3 7 3 0 93 119 107 119 107 136 + 200 3 7 0 6 93 119 107 136 93 136 + 200 3 3 2 1 93 119 107 119 107 136 + 200 3 3 1 0 93 119 107 136 93 136 + 200 3 21 22 27 100 126 107 126 107 132 + 200 3 21 27 26 100 126 107 132 100 132 + 200 3 2 5 4 93 119 107 119 107 136 + 200 3 2 4 1 93 119 107 136 93 136 + 200 3 22 17 28 97 126 104 126 104 132 + 200 3 22 28 27 97 126 104 132 97 132 + 200 3 5 7 6 93 119 107 119 107 136 + 200 3 5 6 4 93 119 107 136 93 136 + 200 3 19 20 25 97 126 104 126 104 132 + 200 3 19 25 24 97 126 104 132 97 132 + 200 3 17 18 23 93 126 100 126 100 132 + 200 3 17 23 28 93 126 100 132 93 132 + 200 3 31 34 33 93 126 107 126 107 132 + 200 3 31 33 30 93 126 107 132 93 132 + 200 3 36 32 29 93 126 107 126 107 132 + 200 3 36 29 35 93 126 107 132 93 132 + 200 3 32 31 30 93 126 107 126 107 132 + 200 3 32 30 29 93 126 107 132 93 132 + 200 3 20 21 26 93 126 100 126 100 132 + 200 3 20 26 25 93 126 100 132 93 132 + 200 3 37 9 40 93 126 107 126 107 132 + 200 3 37 40 39 93 126 107 132 93 132 + 200 3 9 8 41 93 126 107 126 107 132 + 200 3 9 41 40 93 126 107 132 93 132 + 200 3 10 13 12 93 126 107 126 107 132 + 200 3 10 12 9 93 126 107 132 93 132 + 200 3 38 8 9 93 126 107 126 107 132 + 200 3 38 9 37 93 126 107 132 93 132 + 200 3 11 10 9 93 126 107 126 107 132 + 200 3 11 9 8 93 126 107 132 93 132 + 200 3 15 11 8 93 126 107 126 107 132 + 200 3 15 8 14 93 126 107 132 93 132 + 200 3 8 38 42 93 126 107 126 107 132 + 200 3 8 42 41 93 126 107 132 93 132 + 200 3 38 37 39 93 126 107 126 107 132 + 200 3 38 39 42 93 126 107 132 93 132 + 200 3 18 19 24 100 126 107 126 107 132 + 200 3 18 24 23 100 126 107 132 100 132 + 200 3 17 22 21 108 120 98 120 93 112 + 200 3 17 21 16 108 120 93 112 103 112 + 200 3 21 20 19 93 112 98 103 108 103 + 200 3 21 19 16 93 112 108 103 103 112 + 200 3 19 18 17 108 103 113 112 108 120 + 200 3 19 17 16 108 103 108 120 103 112 \ No newline at end of file diff --git a/data/base/features/mistree1.pie b/data/base/features/mistree1.pie index d3e39a9dc..a65068628 100644 --- a/data/base/features/mistree1.pie +++ b/data/base/features/mistree1.pie @@ -64,34 +64,64 @@ POINTS 60 1 10 -34 29 10 -94 90 10 -65 -POLYGONS 30 - 200 4 0 1 2 3 0 105 46 105 46 53 0 53 - 200 4 3 2 1 0 0 53 46 53 46 105 0 105 - 200 4 4 5 6 7 99 72 147 72 147 0 99 0 - 200 4 7 6 5 4 99 0 147 0 147 72 99 72 - 200 4 8 9 10 11 99 72 147 72 147 0 99 0 - 200 4 11 10 9 8 99 0 147 0 147 72 99 72 - 200 4 12 13 14 15 99 72 147 72 147 0 99 0 - 200 4 15 14 13 12 99 0 147 0 147 72 99 72 - 200 4 16 17 18 19 99 72 147 72 147 0 99 0 - 200 4 19 18 17 16 99 0 147 0 147 72 99 72 - 200 4 20 21 22 23 0 105 46 105 46 53 0 53 - 200 4 23 22 21 20 0 53 46 53 46 105 0 105 - 200 4 24 25 26 27 99 72 147 72 147 0 99 0 - 200 4 27 26 25 24 99 0 147 0 147 72 99 72 - 200 4 28 29 30 31 0 105 46 105 46 53 0 53 - 200 4 31 30 29 28 0 53 46 53 46 105 0 105 - 200 4 32 33 34 35 99 72 147 72 147 0 99 0 - 200 4 35 34 33 32 99 0 147 0 147 72 99 72 - 200 4 36 37 38 39 0 105 46 105 46 53 0 53 - 200 4 39 38 37 36 0 53 46 53 46 105 0 105 - 200 4 40 41 42 43 99 72 147 72 147 0 99 0 - 200 4 43 42 41 40 99 0 147 0 147 72 99 72 - 200 4 44 45 46 47 99 72 147 72 147 0 99 0 - 200 4 47 46 45 44 99 0 147 0 147 72 99 72 - 200 4 48 49 50 51 99 72 147 72 147 0 99 0 - 200 4 51 50 49 48 99 0 147 0 147 72 99 72 - 200 4 52 53 54 55 99 72 147 72 147 0 99 0 - 200 4 55 54 53 52 99 0 147 0 147 72 99 72 - 200 4 56 57 58 59 0 105 46 105 46 53 0 53 - 200 4 59 58 57 56 0 53 46 53 46 105 0 105 \ No newline at end of file +POLYGONS 60 + 200 3 0 1 2 0 105 46 105 46 53 + 200 3 0 2 3 0 105 46 53 0 53 + 200 3 3 2 1 0 53 46 53 46 105 + 200 3 3 1 0 0 53 46 105 0 105 + 200 3 4 5 6 99 72 147 72 147 0 + 200 3 4 6 7 99 72 147 0 99 0 + 200 3 7 6 5 99 0 147 0 147 72 + 200 3 7 5 4 99 0 147 72 99 72 + 200 3 8 9 10 99 72 147 72 147 0 + 200 3 8 10 11 99 72 147 0 99 0 + 200 3 11 10 9 99 0 147 0 147 72 + 200 3 11 9 8 99 0 147 72 99 72 + 200 3 12 13 14 99 72 147 72 147 0 + 200 3 12 14 15 99 72 147 0 99 0 + 200 3 15 14 13 99 0 147 0 147 72 + 200 3 15 13 12 99 0 147 72 99 72 + 200 3 16 17 18 99 72 147 72 147 0 + 200 3 16 18 19 99 72 147 0 99 0 + 200 3 19 18 17 99 0 147 0 147 72 + 200 3 19 17 16 99 0 147 72 99 72 + 200 3 20 21 22 0 105 46 105 46 53 + 200 3 20 22 23 0 105 46 53 0 53 + 200 3 23 22 21 0 53 46 53 46 105 + 200 3 23 21 20 0 53 46 105 0 105 + 200 3 24 25 26 99 72 147 72 147 0 + 200 3 24 26 27 99 72 147 0 99 0 + 200 3 27 26 25 99 0 147 0 147 72 + 200 3 27 25 24 99 0 147 72 99 72 + 200 3 28 29 30 0 105 46 105 46 53 + 200 3 28 30 31 0 105 46 53 0 53 + 200 3 31 30 29 0 53 46 53 46 105 + 200 3 31 29 28 0 53 46 105 0 105 + 200 3 32 33 34 99 72 147 72 147 0 + 200 3 32 34 35 99 72 147 0 99 0 + 200 3 35 34 33 99 0 147 0 147 72 + 200 3 35 33 32 99 0 147 72 99 72 + 200 3 36 37 38 0 105 46 105 46 53 + 200 3 36 38 39 0 105 46 53 0 53 + 200 3 39 38 37 0 53 46 53 46 105 + 200 3 39 37 36 0 53 46 105 0 105 + 200 3 40 41 42 99 72 147 72 147 0 + 200 3 40 42 43 99 72 147 0 99 0 + 200 3 43 42 41 99 0 147 0 147 72 + 200 3 43 41 40 99 0 147 72 99 72 + 200 3 44 45 46 99 72 147 72 147 0 + 200 3 44 46 47 99 72 147 0 99 0 + 200 3 47 46 45 99 0 147 0 147 72 + 200 3 47 45 44 99 0 147 72 99 72 + 200 3 48 49 50 99 72 147 72 147 0 + 200 3 48 50 51 99 72 147 0 99 0 + 200 3 51 50 49 99 0 147 0 147 72 + 200 3 51 49 48 99 0 147 72 99 72 + 200 3 52 53 54 99 72 147 72 147 0 + 200 3 52 54 55 99 72 147 0 99 0 + 200 3 55 54 53 99 0 147 0 147 72 + 200 3 55 53 52 99 0 147 72 99 72 + 200 3 56 57 58 0 105 46 105 46 53 + 200 3 56 58 59 0 105 46 53 0 53 + 200 3 59 58 57 0 53 46 53 46 105 + 200 3 59 57 56 0 53 46 105 0 105 \ No newline at end of file diff --git a/data/base/features/mistree2.pie b/data/base/features/mistree2.pie index b54418d4c..581682e9e 100644 --- a/data/base/features/mistree2.pie +++ b/data/base/features/mistree2.pie @@ -52,28 +52,52 @@ POINTS 48 -4 10 -11 -21 10 -75 43 10 -92 -POLYGONS 24 - 200 4 0 1 2 3 0 105 46 105 46 53 0 53 - 200 4 3 2 1 0 0 53 46 53 46 105 0 105 - 200 4 4 5 6 7 99 72 147 72 147 0 99 0 - 200 4 7 6 5 4 99 0 147 0 147 72 99 72 - 200 4 8 9 10 11 99 72 147 72 147 0 99 0 - 200 4 11 10 9 8 99 0 147 0 147 72 99 72 - 200 4 12 13 14 15 99 72 147 72 147 0 99 0 - 200 4 15 14 13 12 99 0 147 0 147 72 99 72 - 200 4 16 17 18 19 0 105 46 105 46 53 0 53 - 200 4 19 18 17 16 0 53 46 53 46 105 0 105 - 200 4 20 21 22 23 99 72 147 72 147 0 99 0 - 200 4 23 22 21 20 99 0 147 0 147 72 99 72 - 200 4 24 25 26 27 0 105 46 105 46 53 0 53 - 200 4 27 26 25 24 0 53 46 53 46 105 0 105 - 200 4 28 29 30 31 99 72 147 72 147 0 99 0 - 200 4 31 30 29 28 99 0 147 0 147 72 99 72 - 200 4 32 33 34 35 99 72 147 72 147 0 99 0 - 200 4 35 34 33 32 99 0 147 0 147 72 99 72 - 200 4 36 37 38 39 99 72 147 72 147 0 99 0 - 200 4 39 38 37 36 99 0 147 0 147 72 99 72 - 200 4 40 41 42 43 99 72 147 72 147 0 99 0 - 200 4 43 42 41 40 99 0 147 0 147 72 99 72 - 200 4 44 45 46 47 0 105 46 105 46 53 0 53 - 200 4 47 46 45 44 0 53 46 53 46 105 0 105 \ No newline at end of file +POLYGONS 48 + 200 3 0 1 2 0 105 46 105 46 53 + 200 3 0 2 3 0 105 46 53 0 53 + 200 3 3 2 1 0 53 46 53 46 105 + 200 3 3 1 0 0 53 46 105 0 105 + 200 3 4 5 6 99 72 147 72 147 0 + 200 3 4 6 7 99 72 147 0 99 0 + 200 3 7 6 5 99 0 147 0 147 72 + 200 3 7 5 4 99 0 147 72 99 72 + 200 3 8 9 10 99 72 147 72 147 0 + 200 3 8 10 11 99 72 147 0 99 0 + 200 3 11 10 9 99 0 147 0 147 72 + 200 3 11 9 8 99 0 147 72 99 72 + 200 3 12 13 14 99 72 147 72 147 0 + 200 3 12 14 15 99 72 147 0 99 0 + 200 3 15 14 13 99 0 147 0 147 72 + 200 3 15 13 12 99 0 147 72 99 72 + 200 3 16 17 18 0 105 46 105 46 53 + 200 3 16 18 19 0 105 46 53 0 53 + 200 3 19 18 17 0 53 46 53 46 105 + 200 3 19 17 16 0 53 46 105 0 105 + 200 3 20 21 22 99 72 147 72 147 0 + 200 3 20 22 23 99 72 147 0 99 0 + 200 3 23 22 21 99 0 147 0 147 72 + 200 3 23 21 20 99 0 147 72 99 72 + 200 3 24 25 26 0 105 46 105 46 53 + 200 3 24 26 27 0 105 46 53 0 53 + 200 3 27 26 25 0 53 46 53 46 105 + 200 3 27 25 24 0 53 46 105 0 105 + 200 3 28 29 30 99 72 147 72 147 0 + 200 3 28 30 31 99 72 147 0 99 0 + 200 3 31 30 29 99 0 147 0 147 72 + 200 3 31 29 28 99 0 147 72 99 72 + 200 3 32 33 34 99 72 147 72 147 0 + 200 3 32 34 35 99 72 147 0 99 0 + 200 3 35 34 33 99 0 147 0 147 72 + 200 3 35 33 32 99 0 147 72 99 72 + 200 3 36 37 38 99 72 147 72 147 0 + 200 3 36 38 39 99 72 147 0 99 0 + 200 3 39 38 37 99 0 147 0 147 72 + 200 3 39 37 36 99 0 147 72 99 72 + 200 3 40 41 42 99 72 147 72 147 0 + 200 3 40 42 43 99 72 147 0 99 0 + 200 3 43 42 41 99 0 147 0 147 72 + 200 3 43 41 40 99 0 147 72 99 72 + 200 3 44 45 46 0 105 46 105 46 53 + 200 3 44 46 47 0 105 46 53 0 53 + 200 3 47 46 45 0 53 46 53 46 105 + 200 3 47 45 44 0 53 46 105 0 105 \ No newline at end of file diff --git a/data/base/features/mistree3.pie b/data/base/features/mistree3.pie index 6f1785fc6..69a12ac74 100644 --- a/data/base/features/mistree3.pie +++ b/data/base/features/mistree3.pie @@ -16,10 +16,16 @@ POINTS 12 2 0 39 2 102 39 -4 102 -40 -POLYGONS 6 - 200 4 0 1 2 3 0 105 46 105 46 53 0 53 - 200 4 3 2 1 0 0 53 46 53 46 105 0 105 - 200 4 4 5 6 7 99 72 147 72 147 0 99 0 - 200 4 7 6 5 4 99 0 147 0 147 72 99 72 - 200 4 8 9 10 11 99 72 147 72 147 0 99 0 - 200 4 11 10 9 8 99 0 147 0 147 72 99 72 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 0 105 46 105 46 53 + 200 3 0 2 3 0 105 46 53 0 53 + 200 3 3 2 1 0 53 46 53 46 105 + 200 3 3 1 0 0 53 46 105 0 105 + 200 3 4 5 6 99 72 147 72 147 0 + 200 3 4 6 7 99 72 147 0 99 0 + 200 3 7 6 5 99 0 147 0 147 72 + 200 3 7 5 4 99 0 147 72 99 72 + 200 3 8 9 10 99 72 147 72 147 0 + 200 3 8 10 11 99 72 147 0 99 0 + 200 3 11 10 9 99 0 147 0 147 72 + 200 3 11 9 8 99 0 147 72 99 72 \ No newline at end of file diff --git a/data/base/features/mitanker.pie b/data/base/features/mitanker.pie index b6772d01b..01d66a572 100644 --- a/data/base/features/mitanker.pie +++ b/data/base/features/mitanker.pie @@ -44,25 +44,43 @@ POINTS 40 -16 38 46 -6 20 46 -18 4 44 -POLYGONS 38 - 200 4 3 2 1 0 91 82 91 75 110 75 110 82 - 200 4 7 6 5 4 110 75 91 75 91 82 110 82 - 200 4 4 5 3 0 130 74 110 74 110 86 130 86 - 200 4 7 4 0 1 129 74 129 81 150 81 150 74 - 200 4 5 6 2 3 129 81 129 74 150 74 150 81 - 200 4 6 7 1 2 151 89 166 89 166 74 151 74 - 200 4 11 10 9 8 130 74 110 74 110 86 130 86 - 200 4 15 14 13 12 151 89 166 89 166 74 151 74 - 200 4 14 15 10 11 110 75 91 75 91 82 110 82 - 200 4 14 11 8 13 129 74 129 81 150 81 150 74 - 200 4 9 12 13 8 91 82 91 75 110 75 110 82 - 200 4 10 15 12 9 110 74 110 86 130 86 130 74 - 200 4 9 18 17 16 166 89 151 88 151 75 166 74 - 200 4 22 21 20 19 185 74 193 74 194 85 184 85 - 200 4 22 19 16 17 215 79 215 90 196 90 196 74 - 200 4 20 21 18 9 215 90 215 79 196 74 196 90 - 200 4 21 22 17 18 225 94 217 94 215 74 227 74 - 200 4 19 20 9 16 237 94 228 94 227 75 238 75 +POLYGONS 66 + 200 3 3 2 1 91 82 91 75 110 75 + 200 3 3 1 0 91 82 110 75 110 82 + 200 3 7 6 5 110 75 91 75 91 82 + 200 3 7 5 4 110 75 91 82 110 82 + 200 3 4 5 3 130 74 110 74 110 86 + 200 3 4 3 0 130 74 110 86 130 86 + 200 3 7 4 0 129 74 129 81 150 81 + 200 3 7 0 1 129 74 150 81 150 74 + 200 3 5 6 2 129 81 129 74 150 74 + 200 3 5 2 3 129 81 150 74 150 81 + 200 3 6 7 1 151 89 166 89 166 74 + 200 3 6 1 2 151 89 166 74 151 74 + 200 3 11 10 9 130 74 110 74 110 86 + 200 3 11 9 8 130 74 110 86 130 86 + 200 3 15 14 13 151 89 166 89 166 74 + 200 3 15 13 12 151 89 166 74 151 74 + 200 3 14 15 10 110 75 91 75 91 82 + 200 3 14 10 11 110 75 91 82 110 82 + 200 3 14 11 8 129 74 129 81 150 81 + 200 3 14 8 13 129 74 150 81 150 74 + 200 3 9 12 13 91 82 91 75 110 75 + 200 3 9 13 8 91 82 110 75 110 82 + 200 3 10 15 12 110 74 110 86 130 86 + 200 3 10 12 9 110 74 130 86 130 74 + 200 3 9 18 17 166 89 151 88 151 75 + 200 3 9 17 16 166 89 151 75 166 74 + 200 3 22 21 20 185 74 193 74 194 85 + 200 3 22 20 19 185 74 194 85 184 85 + 200 3 22 19 16 215 79 215 90 196 90 + 200 3 22 16 17 215 79 196 90 196 74 + 200 3 20 21 18 215 90 215 79 196 74 + 200 3 20 18 9 215 90 196 74 196 90 + 200 3 21 22 17 225 94 217 94 215 74 + 200 3 21 17 18 225 94 215 74 227 74 + 200 3 19 20 9 237 94 228 94 227 75 + 200 3 19 9 16 237 94 227 75 238 75 200 3 25 24 23 252 81 246 86 246 80 200 3 24 26 23 246 86 239 82 246 80 200 3 26 27 23 239 82 242 75 246 80 @@ -73,13 +91,23 @@ POLYGONS 38 200 3 33 32 29 242 75 239 82 246 80 200 3 34 33 29 250 75 242 75 246 80 200 3 30 34 29 252 81 250 75 246 80 - 200 4 36 35 28 27 111 100 111 110 148 110 148 100 - 200 4 33 34 35 36 88 100 88 110 111 110 111 100 - 200 4 35 37 25 28 128 92 128 100 91 100 91 92 - 200 4 34 30 37 35 151 92 151 100 128 100 128 92 - 200 4 37 38 24 25 194 102 194 92 156 92 156 102 - 200 4 30 31 38 37 217 102 217 92 194 92 194 102 - 200 4 38 39 26 24 194 91 194 104 156 104 156 91 - 200 4 31 32 39 38 217 91 217 104 194 104 194 91 - 200 4 39 36 27 26 128 92 128 100 91 100 91 92 - 200 4 32 33 36 39 151 92 151 100 128 100 128 92 \ No newline at end of file + 200 3 36 35 28 111 100 111 110 148 110 + 200 3 36 28 27 111 100 148 110 148 100 + 200 3 33 34 35 88 100 88 110 111 110 + 200 3 33 35 36 88 100 111 110 111 100 + 200 3 35 37 25 128 92 128 100 91 100 + 200 3 35 25 28 128 92 91 100 91 92 + 200 3 34 30 37 151 92 151 100 128 100 + 200 3 34 37 35 151 92 128 100 128 92 + 200 3 37 38 24 194 102 194 92 156 92 + 200 3 37 24 25 194 102 156 92 156 102 + 200 3 30 31 38 217 102 217 92 194 92 + 200 3 30 38 37 217 102 194 92 194 102 + 200 3 38 39 26 194 91 194 104 156 104 + 200 3 38 26 24 194 91 156 104 156 91 + 200 3 31 32 39 217 91 217 104 194 104 + 200 3 31 39 38 217 91 194 104 194 91 + 200 3 39 36 27 128 92 128 100 91 100 + 200 3 39 27 26 128 92 91 100 91 92 + 200 3 32 33 36 151 92 151 100 128 100 + 200 3 32 36 39 151 92 128 100 128 92 \ No newline at end of file diff --git a/data/base/features/mitankerh.pie b/data/base/features/mitankerh.pie index b6772d01b..01d66a572 100644 --- a/data/base/features/mitankerh.pie +++ b/data/base/features/mitankerh.pie @@ -44,25 +44,43 @@ POINTS 40 -16 38 46 -6 20 46 -18 4 44 -POLYGONS 38 - 200 4 3 2 1 0 91 82 91 75 110 75 110 82 - 200 4 7 6 5 4 110 75 91 75 91 82 110 82 - 200 4 4 5 3 0 130 74 110 74 110 86 130 86 - 200 4 7 4 0 1 129 74 129 81 150 81 150 74 - 200 4 5 6 2 3 129 81 129 74 150 74 150 81 - 200 4 6 7 1 2 151 89 166 89 166 74 151 74 - 200 4 11 10 9 8 130 74 110 74 110 86 130 86 - 200 4 15 14 13 12 151 89 166 89 166 74 151 74 - 200 4 14 15 10 11 110 75 91 75 91 82 110 82 - 200 4 14 11 8 13 129 74 129 81 150 81 150 74 - 200 4 9 12 13 8 91 82 91 75 110 75 110 82 - 200 4 10 15 12 9 110 74 110 86 130 86 130 74 - 200 4 9 18 17 16 166 89 151 88 151 75 166 74 - 200 4 22 21 20 19 185 74 193 74 194 85 184 85 - 200 4 22 19 16 17 215 79 215 90 196 90 196 74 - 200 4 20 21 18 9 215 90 215 79 196 74 196 90 - 200 4 21 22 17 18 225 94 217 94 215 74 227 74 - 200 4 19 20 9 16 237 94 228 94 227 75 238 75 +POLYGONS 66 + 200 3 3 2 1 91 82 91 75 110 75 + 200 3 3 1 0 91 82 110 75 110 82 + 200 3 7 6 5 110 75 91 75 91 82 + 200 3 7 5 4 110 75 91 82 110 82 + 200 3 4 5 3 130 74 110 74 110 86 + 200 3 4 3 0 130 74 110 86 130 86 + 200 3 7 4 0 129 74 129 81 150 81 + 200 3 7 0 1 129 74 150 81 150 74 + 200 3 5 6 2 129 81 129 74 150 74 + 200 3 5 2 3 129 81 150 74 150 81 + 200 3 6 7 1 151 89 166 89 166 74 + 200 3 6 1 2 151 89 166 74 151 74 + 200 3 11 10 9 130 74 110 74 110 86 + 200 3 11 9 8 130 74 110 86 130 86 + 200 3 15 14 13 151 89 166 89 166 74 + 200 3 15 13 12 151 89 166 74 151 74 + 200 3 14 15 10 110 75 91 75 91 82 + 200 3 14 10 11 110 75 91 82 110 82 + 200 3 14 11 8 129 74 129 81 150 81 + 200 3 14 8 13 129 74 150 81 150 74 + 200 3 9 12 13 91 82 91 75 110 75 + 200 3 9 13 8 91 82 110 75 110 82 + 200 3 10 15 12 110 74 110 86 130 86 + 200 3 10 12 9 110 74 130 86 130 74 + 200 3 9 18 17 166 89 151 88 151 75 + 200 3 9 17 16 166 89 151 75 166 74 + 200 3 22 21 20 185 74 193 74 194 85 + 200 3 22 20 19 185 74 194 85 184 85 + 200 3 22 19 16 215 79 215 90 196 90 + 200 3 22 16 17 215 79 196 90 196 74 + 200 3 20 21 18 215 90 215 79 196 74 + 200 3 20 18 9 215 90 196 74 196 90 + 200 3 21 22 17 225 94 217 94 215 74 + 200 3 21 17 18 225 94 215 74 227 74 + 200 3 19 20 9 237 94 228 94 227 75 + 200 3 19 9 16 237 94 227 75 238 75 200 3 25 24 23 252 81 246 86 246 80 200 3 24 26 23 246 86 239 82 246 80 200 3 26 27 23 239 82 242 75 246 80 @@ -73,13 +91,23 @@ POLYGONS 38 200 3 33 32 29 242 75 239 82 246 80 200 3 34 33 29 250 75 242 75 246 80 200 3 30 34 29 252 81 250 75 246 80 - 200 4 36 35 28 27 111 100 111 110 148 110 148 100 - 200 4 33 34 35 36 88 100 88 110 111 110 111 100 - 200 4 35 37 25 28 128 92 128 100 91 100 91 92 - 200 4 34 30 37 35 151 92 151 100 128 100 128 92 - 200 4 37 38 24 25 194 102 194 92 156 92 156 102 - 200 4 30 31 38 37 217 102 217 92 194 92 194 102 - 200 4 38 39 26 24 194 91 194 104 156 104 156 91 - 200 4 31 32 39 38 217 91 217 104 194 104 194 91 - 200 4 39 36 27 26 128 92 128 100 91 100 91 92 - 200 4 32 33 36 39 151 92 151 100 128 100 128 92 \ No newline at end of file + 200 3 36 35 28 111 100 111 110 148 110 + 200 3 36 28 27 111 100 148 110 148 100 + 200 3 33 34 35 88 100 88 110 111 110 + 200 3 33 35 36 88 100 111 110 111 100 + 200 3 35 37 25 128 92 128 100 91 100 + 200 3 35 25 28 128 92 91 100 91 92 + 200 3 34 30 37 151 92 151 100 128 100 + 200 3 34 37 35 151 92 128 100 128 92 + 200 3 37 38 24 194 102 194 92 156 92 + 200 3 37 24 25 194 102 156 92 156 102 + 200 3 30 31 38 217 102 217 92 194 92 + 200 3 30 38 37 217 102 194 92 194 102 + 200 3 38 39 26 194 91 194 104 156 104 + 200 3 38 26 24 194 91 156 104 156 91 + 200 3 31 32 39 217 91 217 104 194 104 + 200 3 31 39 38 217 91 194 104 194 91 + 200 3 39 36 27 128 92 128 100 91 100 + 200 3 39 27 26 128 92 91 100 91 92 + 200 3 32 33 36 151 92 151 100 128 100 + 200 3 32 36 39 151 92 128 100 128 92 \ No newline at end of file diff --git a/data/base/features/mitrapcr.pie b/data/base/features/mitrapcr.pie index 617fb94ea..bde9fa3b7 100644 --- a/data/base/features/mitrapcr.pie +++ b/data/base/features/mitrapcr.pie @@ -4,103 +4,133 @@ TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 POINTS 66 - 2 26 0 - 2 26 54 - -15 26 54 - -15 26 0 - -6 35 0 - -6 35 54 - -6 17 54 - -6 17 0 - 20 35 27 - -33 35 27 - -33 17 27 - 20 17 27 - 5 26 53 - -32 26 14 - -19 26 2 - 18 26 40 - 20 26 18 - 20 26 36 - -33 26 36 - -33 26 18 - -6 0 18 - -6 53 18 - -6 53 36 - -6 0 36 - 18 26 14 - -19 26 52 - -32 26 40 - 5 26 1 - 28 26 -46 - 28 26 7 - 9 26 7 - 9 26 -46 - 18 35 -46 - 18 35 7 - 18 17 7 - 18 17 -46 - 46 35 -19 - -8 35 -19 - -8 17 -19 - 46 17 -19 - 31 26 6 - -6 26 -32 - 6 26 -44 - 44 26 -6 - 46 26 -28 - 46 26 -10 - -8 26 -10 - -8 26 -28 - 18 0 -28 - 18 53 -28 - 18 53 -10 - 18 0 -10 - 44 26 -32 - 6 26 5 - -6 26 -6 - 31 26 -45 - -26 1 -25 - -26 1 65 - -65 39 65 - -65 40 -64 - 64 1 -25 - 64 40 -64 - 25 1 65 - 25 1 26 - 64 1 26 + 2 26 0 + 2 26 54 + -15 26 54 + -15 26 0 + -6 35 0 + -6 35 54 + -6 17 54 + -6 17 0 + 20 35 27 + -33 35 27 + -33 17 27 + 20 17 27 + 5 26 53 + -32 26 14 + -19 26 2 + 18 26 40 + 20 26 18 + 20 26 36 + -33 26 36 + -33 26 18 + -6 0 18 + -6 53 18 + -6 53 36 + -6 0 36 + 18 26 14 + -19 26 52 + -32 26 40 + 5 26 1 + 28 26 -46 + 28 26 7 + 9 26 7 + 9 26 -46 + 18 35 -46 + 18 35 7 + 18 17 7 + 18 17 -46 + 46 35 -19 + -8 35 -19 + -8 17 -19 + 46 17 -19 + 31 26 6 + -6 26 -32 + 6 26 -44 + 44 26 -6 + 46 26 -28 + 46 26 -10 + -8 26 -10 + -8 26 -28 + 18 0 -28 + 18 53 -28 + 18 53 -10 + 18 0 -10 + 44 26 -32 + 6 26 5 + -6 26 -6 + 31 26 -45 + -26 1 -25 + -26 1 65 + -65 39 65 + -65 40 -64 + 64 1 -25 + 64 40 -64 + 25 1 65 + 25 1 26 + 64 1 26 64 39 65 -POLYGONS 36 - 200 4 0 1 2 3 215 83 178 83 178 94 215 94 - 200 4 3 2 1 0 215 94 178 94 178 83 215 83 - 200 4 4 5 6 7 215 83 178 83 178 94 215 94 - 200 4 7 6 5 4 215 94 178 94 178 83 215 83 - 200 4 8 9 10 11 215 83 178 83 178 94 215 94 - 200 4 11 10 9 8 215 94 178 94 178 83 215 83 - 200 4 12 13 14 15 215 83 178 83 178 94 215 94 - 200 4 15 14 13 12 215 94 178 94 178 83 215 83 - 200 4 16 17 18 19 215 94 215 83 178 83 178 94 - 200 4 19 18 17 16 178 94 178 83 215 83 215 94 - 200 4 20 21 22 23 215 83 178 83 178 94 215 94 - 200 4 23 22 21 20 215 94 178 94 178 83 215 83 - 200 4 24 25 26 27 215 83 178 83 178 94 215 94 - 200 4 27 26 25 24 215 94 178 94 178 83 215 83 - 200 4 28 29 30 31 215 83 178 83 178 94 215 94 - 200 4 31 30 29 28 215 94 178 94 178 83 215 83 - 200 4 32 33 34 35 215 83 178 83 178 94 215 94 - 200 4 35 34 33 32 215 94 178 94 178 83 215 83 - 200 4 36 37 38 39 215 83 178 83 178 94 215 94 - 200 4 39 38 37 36 215 94 178 94 178 83 215 83 - 200 4 40 41 42 43 215 83 178 83 178 94 215 94 - 200 4 43 42 41 40 215 94 178 94 178 83 215 83 - 200 4 44 45 46 47 215 94 215 83 178 83 178 94 - 200 4 47 46 45 44 178 94 178 83 215 83 215 94 - 200 4 48 49 50 51 215 83 178 83 178 94 215 94 - 200 4 51 50 49 48 215 94 178 94 178 83 215 83 - 200 4 52 53 54 55 215 83 178 83 178 94 215 94 - 200 4 55 54 53 52 215 94 178 94 178 83 215 83 - 200 4 59 58 57 56 129 189 91 189 91 170 118 170 - 200 4 61 59 56 60 129 189 91 189 102 170 129 170 +POLYGONS 66 + 200 3 0 1 2 215 83 178 83 178 94 + 200 3 0 2 3 215 83 178 94 215 94 + 200 3 3 2 1 215 94 178 94 178 83 + 200 3 3 1 0 215 94 178 83 215 83 + 200 3 4 5 6 215 83 178 83 178 94 + 200 3 4 6 7 215 83 178 94 215 94 + 200 3 7 6 5 215 94 178 94 178 83 + 200 3 7 5 4 215 94 178 83 215 83 + 200 3 8 9 10 215 83 178 83 178 94 + 200 3 8 10 11 215 83 178 94 215 94 + 200 3 11 10 9 215 94 178 94 178 83 + 200 3 11 9 8 215 94 178 83 215 83 + 200 3 12 13 14 215 83 178 83 178 94 + 200 3 12 14 15 215 83 178 94 215 94 + 200 3 15 14 13 215 94 178 94 178 83 + 200 3 15 13 12 215 94 178 83 215 83 + 200 3 16 17 18 215 94 215 83 178 83 + 200 3 16 18 19 215 94 178 83 178 94 + 200 3 19 18 17 178 94 178 83 215 83 + 200 3 19 17 16 178 94 215 83 215 94 + 200 3 20 21 22 215 83 178 83 178 94 + 200 3 20 22 23 215 83 178 94 215 94 + 200 3 23 22 21 215 94 178 94 178 83 + 200 3 23 21 20 215 94 178 83 215 83 + 200 3 24 25 26 215 83 178 83 178 94 + 200 3 24 26 27 215 83 178 94 215 94 + 200 3 27 26 25 215 94 178 94 178 83 + 200 3 27 25 24 215 94 178 83 215 83 + 200 3 28 29 30 215 83 178 83 178 94 + 200 3 28 30 31 215 83 178 94 215 94 + 200 3 31 30 29 215 94 178 94 178 83 + 200 3 31 29 28 215 94 178 83 215 83 + 200 3 32 33 34 215 83 178 83 178 94 + 200 3 32 34 35 215 83 178 94 215 94 + 200 3 35 34 33 215 94 178 94 178 83 + 200 3 35 33 32 215 94 178 83 215 83 + 200 3 36 37 38 215 83 178 83 178 94 + 200 3 36 38 39 215 83 178 94 215 94 + 200 3 39 38 37 215 94 178 94 178 83 + 200 3 39 37 36 215 94 178 83 215 83 + 200 3 40 41 42 215 83 178 83 178 94 + 200 3 40 42 43 215 83 178 94 215 94 + 200 3 43 42 41 215 94 178 94 178 83 + 200 3 43 41 40 215 94 178 83 215 83 + 200 3 44 45 46 215 94 215 83 178 83 + 200 3 44 46 47 215 94 178 83 178 94 + 200 3 47 46 45 178 94 178 83 215 83 + 200 3 47 45 44 178 94 215 83 215 94 + 200 3 48 49 50 215 83 178 83 178 94 + 200 3 48 50 51 215 83 178 94 215 94 + 200 3 51 50 49 215 94 178 94 178 83 + 200 3 51 49 48 215 94 178 83 215 83 + 200 3 52 53 54 215 83 178 83 178 94 + 200 3 52 54 55 215 83 178 94 215 94 + 200 3 55 54 53 215 94 178 94 178 83 + 200 3 55 53 52 215 94 178 83 215 83 + 200 3 59 58 57 129 189 91 189 91 170 + 200 3 59 57 56 129 189 91 170 118 170 + 200 3 61 59 56 129 189 91 189 102 170 + 200 3 61 56 60 129 189 102 170 129 170 200 3 57 62 56 256 85 248 85 256 60 200 3 62 63 56 248 85 248 74 256 60 200 3 64 60 56 248 60 256 60 256 85 diff --git a/data/base/features/mitrapstr.pie b/data/base/features/mitrapstr.pie index ba814fa8a..3b4d32791 100644 --- a/data/base/features/mitrapstr.pie +++ b/data/base/features/mitrapstr.pie @@ -4,99 +4,130 @@ TEXTURE 0 page-6.png 256 256 LEVELS 1 LEVEL 1 POINTS 64 - 26 1 65 - -26 1 65 - -26 1 -64 - 26 1 -64 - -65 39 65 - -65 40 -64 - 65 39 65 - 65 40 -64 - 9 26 5 - 9 26 59 - -9 26 59 - -9 26 5 - 0 35 5 - 0 35 59 - 0 17 59 - 0 17 5 - 27 35 32 - -27 35 32 - -27 17 32 - 27 17 32 - 12 26 58 - -25 26 19 - -12 26 7 - 25 26 45 - 27 26 23 - 27 26 41 - -27 26 41 - -27 26 23 - 0 0 23 - 0 53 23 - 0 53 41 - 0 0 41 - 25 26 19 - -12 26 57 - -25 26 45 - 12 26 6 - 9 26 -60 - 9 26 -5 - -9 26 -5 - -9 26 -60 - 0 35 -60 - 0 35 -5 - 0 17 -5 - 0 17 -60 - 27 35 -33 - -27 35 -33 - -27 17 -33 - 27 17 -33 - 12 26 -7 - -25 26 -45 - -12 26 -58 - 25 26 -19 - 27 26 -41 - 27 26 -23 - -27 26 -23 - -27 26 -41 - 0 0 -42 - 0 53 -42 - 0 53 -24 - 0 0 -24 - 25 26 -45 - -12 26 -7 - -25 26 -20 + 26 1 65 + -26 1 65 + -26 1 -64 + 26 1 -64 + -65 39 65 + -65 40 -64 + 65 39 65 + 65 40 -64 + 9 26 5 + 9 26 59 + -9 26 59 + -9 26 5 + 0 35 5 + 0 35 59 + 0 17 59 + 0 17 5 + 27 35 32 + -27 35 32 + -27 17 32 + 27 17 32 + 12 26 58 + -25 26 19 + -12 26 7 + 25 26 45 + 27 26 23 + 27 26 41 + -27 26 41 + -27 26 23 + 0 0 23 + 0 53 23 + 0 53 41 + 0 0 41 + 25 26 19 + -12 26 57 + -25 26 45 + 12 26 6 + 9 26 -60 + 9 26 -5 + -9 26 -5 + -9 26 -60 + 0 35 -60 + 0 35 -5 + 0 17 -5 + 0 17 -60 + 27 35 -33 + -27 35 -33 + -27 17 -33 + 27 17 -33 + 12 26 -7 + -25 26 -45 + -12 26 -58 + 25 26 -19 + 27 26 -41 + 27 26 -23 + -27 26 -23 + -27 26 -41 + 0 0 -42 + 0 53 -42 + 0 53 -24 + 0 0 -24 + 25 26 -45 + -12 26 -7 + -25 26 -20 12 26 -58 -POLYGONS 31 - 200 4 3 2 1 0 256 85 248 85 248 60 256 60 - 200 4 2 5 4 1 128 171 128 188 92 188 92 171 - 200 4 7 3 0 6 92 188 92 171 128 171 128 188 - 200 4 8 9 10 11 215 82 178 82 178 94 215 94 - 200 4 11 10 9 8 215 94 178 94 178 82 215 82 - 200 4 12 13 14 15 215 82 178 82 178 94 215 94 - 200 4 15 14 13 12 215 94 178 94 178 82 215 82 - 200 4 16 17 18 19 215 82 178 82 178 94 215 94 - 200 4 19 18 17 16 215 94 178 94 178 82 215 82 - 200 4 20 21 22 23 215 82 178 82 178 94 215 94 - 200 4 23 22 21 20 215 94 178 94 178 82 215 82 - 200 4 24 25 26 27 215 94 215 82 178 82 178 94 - 200 4 27 26 25 24 178 94 178 82 215 82 215 94 - 200 4 28 29 30 31 215 82 178 82 178 94 215 94 - 200 4 31 30 29 28 215 94 178 94 178 82 215 82 - 200 4 32 33 34 35 215 82 178 82 178 94 215 94 - 200 4 35 34 33 32 215 94 178 94 178 82 215 82 - 200 4 36 37 38 39 215 82 178 82 178 94 215 94 - 200 4 39 38 37 36 215 94 178 94 178 82 215 82 - 200 4 40 41 42 43 215 82 178 82 178 94 215 94 - 200 4 43 42 41 40 215 94 178 94 178 82 215 82 - 200 4 44 45 46 47 215 82 178 82 178 94 215 94 - 200 4 47 46 45 44 215 94 178 94 178 82 215 82 - 200 4 48 49 50 51 215 82 178 82 178 94 215 94 - 200 4 51 50 49 48 215 94 178 94 178 82 215 82 - 200 4 52 53 54 55 215 94 215 82 178 82 178 94 - 200 4 55 54 53 52 178 94 178 82 215 82 215 94 - 200 4 56 57 58 59 215 82 178 82 178 94 215 94 - 200 4 59 58 57 56 215 94 178 94 178 82 215 82 - 200 4 60 61 62 63 215 82 178 82 178 94 215 94 - 200 4 63 62 61 60 215 94 178 94 178 82 215 82 \ No newline at end of file +POLYGONS 62 + 200 3 3 2 1 256 85 248 85 248 60 + 200 3 3 1 0 256 85 248 60 256 60 + 200 3 2 5 4 128 171 128 188 92 188 + 200 3 2 4 1 128 171 92 188 92 171 + 200 3 7 3 0 92 188 92 171 128 171 + 200 3 7 0 6 92 188 128 171 128 188 + 200 3 8 9 10 215 82 178 82 178 94 + 200 3 8 10 11 215 82 178 94 215 94 + 200 3 11 10 9 215 94 178 94 178 82 + 200 3 11 9 8 215 94 178 82 215 82 + 200 3 12 13 14 215 82 178 82 178 94 + 200 3 12 14 15 215 82 178 94 215 94 + 200 3 15 14 13 215 94 178 94 178 82 + 200 3 15 13 12 215 94 178 82 215 82 + 200 3 16 17 18 215 82 178 82 178 94 + 200 3 16 18 19 215 82 178 94 215 94 + 200 3 19 18 17 215 94 178 94 178 82 + 200 3 19 17 16 215 94 178 82 215 82 + 200 3 20 21 22 215 82 178 82 178 94 + 200 3 20 22 23 215 82 178 94 215 94 + 200 3 23 22 21 215 94 178 94 178 82 + 200 3 23 21 20 215 94 178 82 215 82 + 200 3 24 25 26 215 94 215 82 178 82 + 200 3 24 26 27 215 94 178 82 178 94 + 200 3 27 26 25 178 94 178 82 215 82 + 200 3 27 25 24 178 94 215 82 215 94 + 200 3 28 29 30 215 82 178 82 178 94 + 200 3 28 30 31 215 82 178 94 215 94 + 200 3 31 30 29 215 94 178 94 178 82 + 200 3 31 29 28 215 94 178 82 215 82 + 200 3 32 33 34 215 82 178 82 178 94 + 200 3 32 34 35 215 82 178 94 215 94 + 200 3 35 34 33 215 94 178 94 178 82 + 200 3 35 33 32 215 94 178 82 215 82 + 200 3 36 37 38 215 82 178 82 178 94 + 200 3 36 38 39 215 82 178 94 215 94 + 200 3 39 38 37 215 94 178 94 178 82 + 200 3 39 37 36 215 94 178 82 215 82 + 200 3 40 41 42 215 82 178 82 178 94 + 200 3 40 42 43 215 82 178 94 215 94 + 200 3 43 42 41 215 94 178 94 178 82 + 200 3 43 41 40 215 94 178 82 215 82 + 200 3 44 45 46 215 82 178 82 178 94 + 200 3 44 46 47 215 82 178 94 215 94 + 200 3 47 46 45 215 94 178 94 178 82 + 200 3 47 45 44 215 94 178 82 215 82 + 200 3 48 49 50 215 82 178 82 178 94 + 200 3 48 50 51 215 82 178 94 215 94 + 200 3 51 50 49 215 94 178 94 178 82 + 200 3 51 49 48 215 94 178 82 215 82 + 200 3 52 53 54 215 94 215 82 178 82 + 200 3 52 54 55 215 94 178 82 178 94 + 200 3 55 54 53 178 94 178 82 215 82 + 200 3 55 53 52 178 94 215 82 215 94 + 200 3 56 57 58 215 82 178 82 178 94 + 200 3 56 58 59 215 82 178 94 215 94 + 200 3 59 58 57 215 94 178 94 178 82 + 200 3 59 57 56 215 94 178 82 215 82 + 200 3 60 61 62 215 82 178 82 178 94 + 200 3 60 62 63 215 82 178 94 215 94 + 200 3 63 62 61 215 94 178 94 178 82 + 200 3 63 61 60 215 94 178 82 215 82 \ No newline at end of file diff --git a/data/base/features/mitrees.pie b/data/base/features/mitrees.pie index 746889893..264a46ef7 100644 --- a/data/base/features/mitrees.pie +++ b/data/base/features/mitrees.pie @@ -64,34 +64,64 @@ POINTS 60 1 10 -34 29 10 -94 90 10 -65 -POLYGONS 30 - 200 4 0 1 2 3 0 52 46 52 46 0 0 0 - 200 4 3 2 1 0 0 0 46 0 46 52 0 52 - 200 4 4 5 6 7 49 72 96 72 96 0 49 0 - 200 4 7 6 5 4 49 0 96 0 96 72 49 72 - 200 4 8 9 10 11 49 72 96 72 96 0 49 0 - 200 4 11 10 9 8 49 0 96 0 96 72 49 72 - 200 4 12 13 14 15 49 72 96 72 96 0 49 0 - 200 4 15 14 13 12 49 0 96 0 96 72 49 72 - 200 4 16 17 18 19 49 72 96 72 96 0 49 0 - 200 4 19 18 17 16 49 0 96 0 96 72 49 72 - 200 4 20 21 22 23 0 52 46 52 46 0 0 0 - 200 4 23 22 21 20 0 0 46 0 46 52 0 52 - 200 4 24 25 26 27 49 72 96 72 96 0 49 0 - 200 4 27 26 25 24 49 0 96 0 96 72 49 72 - 200 4 28 29 30 31 0 52 46 52 46 0 0 0 - 200 4 31 30 29 28 0 0 46 0 46 52 0 52 - 200 4 32 33 34 35 49 72 96 72 96 0 49 0 - 200 4 35 34 33 32 49 0 96 0 96 72 49 72 - 200 4 36 37 38 39 0 52 46 52 46 0 0 0 - 200 4 39 38 37 36 0 0 46 0 46 52 0 52 - 200 4 40 41 42 43 49 72 96 72 96 0 49 0 - 200 4 43 42 41 40 49 0 96 0 96 72 49 72 - 200 4 44 45 46 47 49 72 96 72 96 0 49 0 - 200 4 47 46 45 44 49 0 96 0 96 72 49 72 - 200 4 48 49 50 51 49 72 96 72 96 0 49 0 - 200 4 51 50 49 48 49 0 96 0 96 72 49 72 - 200 4 52 53 54 55 49 72 96 72 96 0 49 0 - 200 4 55 54 53 52 49 0 96 0 96 72 49 72 - 200 4 56 57 58 59 0 52 46 52 46 0 0 0 - 200 4 59 58 57 56 0 0 46 0 46 52 0 52 \ No newline at end of file +POLYGONS 60 + 200 3 0 1 2 0 52 46 52 46 0 + 200 3 0 2 3 0 52 46 0 0 0 + 200 3 3 2 1 0 0 46 0 46 52 + 200 3 3 1 0 0 0 46 52 0 52 + 200 3 4 5 6 49 72 96 72 96 0 + 200 3 4 6 7 49 72 96 0 49 0 + 200 3 7 6 5 49 0 96 0 96 72 + 200 3 7 5 4 49 0 96 72 49 72 + 200 3 8 9 10 49 72 96 72 96 0 + 200 3 8 10 11 49 72 96 0 49 0 + 200 3 11 10 9 49 0 96 0 96 72 + 200 3 11 9 8 49 0 96 72 49 72 + 200 3 12 13 14 49 72 96 72 96 0 + 200 3 12 14 15 49 72 96 0 49 0 + 200 3 15 14 13 49 0 96 0 96 72 + 200 3 15 13 12 49 0 96 72 49 72 + 200 3 16 17 18 49 72 96 72 96 0 + 200 3 16 18 19 49 72 96 0 49 0 + 200 3 19 18 17 49 0 96 0 96 72 + 200 3 19 17 16 49 0 96 72 49 72 + 200 3 20 21 22 0 52 46 52 46 0 + 200 3 20 22 23 0 52 46 0 0 0 + 200 3 23 22 21 0 0 46 0 46 52 + 200 3 23 21 20 0 0 46 52 0 52 + 200 3 24 25 26 49 72 96 72 96 0 + 200 3 24 26 27 49 72 96 0 49 0 + 200 3 27 26 25 49 0 96 0 96 72 + 200 3 27 25 24 49 0 96 72 49 72 + 200 3 28 29 30 0 52 46 52 46 0 + 200 3 28 30 31 0 52 46 0 0 0 + 200 3 31 30 29 0 0 46 0 46 52 + 200 3 31 29 28 0 0 46 52 0 52 + 200 3 32 33 34 49 72 96 72 96 0 + 200 3 32 34 35 49 72 96 0 49 0 + 200 3 35 34 33 49 0 96 0 96 72 + 200 3 35 33 32 49 0 96 72 49 72 + 200 3 36 37 38 0 52 46 52 46 0 + 200 3 36 38 39 0 52 46 0 0 0 + 200 3 39 38 37 0 0 46 0 46 52 + 200 3 39 37 36 0 0 46 52 0 52 + 200 3 40 41 42 49 72 96 72 96 0 + 200 3 40 42 43 49 72 96 0 49 0 + 200 3 43 42 41 49 0 96 0 96 72 + 200 3 43 41 40 49 0 96 72 49 72 + 200 3 44 45 46 49 72 96 72 96 0 + 200 3 44 46 47 49 72 96 0 49 0 + 200 3 47 46 45 49 0 96 0 96 72 + 200 3 47 45 44 49 0 96 72 49 72 + 200 3 48 49 50 49 72 96 72 96 0 + 200 3 48 50 51 49 72 96 0 49 0 + 200 3 51 50 49 49 0 96 0 96 72 + 200 3 51 49 48 49 0 96 72 49 72 + 200 3 52 53 54 49 72 96 72 96 0 + 200 3 52 54 55 49 72 96 0 49 0 + 200 3 55 54 53 49 0 96 0 96 72 + 200 3 55 53 52 49 0 96 72 49 72 + 200 3 56 57 58 0 52 46 52 46 0 + 200 3 56 58 59 0 52 46 0 0 0 + 200 3 59 58 57 0 0 46 0 46 52 + 200 3 59 57 56 0 0 46 52 0 52 \ No newline at end of file diff --git a/data/base/features/mitrees2.pie b/data/base/features/mitrees2.pie index 206552a51..b690457ff 100644 --- a/data/base/features/mitrees2.pie +++ b/data/base/features/mitrees2.pie @@ -52,28 +52,52 @@ POINTS 48 -4 10 -11 -21 10 -75 43 10 -92 -POLYGONS 24 - 200 4 0 1 2 3 0 52 46 52 46 0 0 0 - 200 4 3 2 1 0 0 0 46 0 46 52 0 52 - 200 4 4 5 6 7 49 72 96 72 96 0 49 0 - 200 4 7 6 5 4 49 0 96 0 96 72 49 72 - 200 4 8 9 10 11 49 72 96 72 96 0 49 0 - 200 4 11 10 9 8 49 0 96 0 96 72 49 72 - 200 4 12 13 14 15 49 72 96 72 96 0 49 0 - 200 4 15 14 13 12 49 0 96 0 96 72 49 72 - 200 4 16 17 18 19 0 52 46 52 46 0 0 0 - 200 4 19 18 17 16 0 0 46 0 46 52 0 52 - 200 4 20 21 22 23 49 72 96 72 96 0 49 0 - 200 4 23 22 21 20 49 0 96 0 96 72 49 72 - 200 4 24 25 26 27 0 52 46 52 46 0 0 0 - 200 4 27 26 25 24 0 0 46 0 46 52 0 52 - 200 4 28 29 30 31 49 72 96 72 96 0 49 0 - 200 4 31 30 29 28 49 0 96 0 96 72 49 72 - 200 4 32 33 34 35 49 72 96 72 96 0 49 0 - 200 4 35 34 33 32 49 0 96 0 96 72 49 72 - 200 4 36 37 38 39 49 72 96 72 96 0 49 0 - 200 4 39 38 37 36 49 0 96 0 96 72 49 72 - 200 4 40 41 42 43 49 72 96 72 96 0 49 0 - 200 4 43 42 41 40 49 0 96 0 96 72 49 72 - 200 4 44 45 46 47 0 52 46 52 46 0 0 0 - 200 4 47 46 45 44 0 0 46 0 46 52 0 52 \ No newline at end of file +POLYGONS 48 + 200 3 0 1 2 0 52 46 52 46 0 + 200 3 0 2 3 0 52 46 0 0 0 + 200 3 3 2 1 0 0 46 0 46 52 + 200 3 3 1 0 0 0 46 52 0 52 + 200 3 4 5 6 49 72 96 72 96 0 + 200 3 4 6 7 49 72 96 0 49 0 + 200 3 7 6 5 49 0 96 0 96 72 + 200 3 7 5 4 49 0 96 72 49 72 + 200 3 8 9 10 49 72 96 72 96 0 + 200 3 8 10 11 49 72 96 0 49 0 + 200 3 11 10 9 49 0 96 0 96 72 + 200 3 11 9 8 49 0 96 72 49 72 + 200 3 12 13 14 49 72 96 72 96 0 + 200 3 12 14 15 49 72 96 0 49 0 + 200 3 15 14 13 49 0 96 0 96 72 + 200 3 15 13 12 49 0 96 72 49 72 + 200 3 16 17 18 0 52 46 52 46 0 + 200 3 16 18 19 0 52 46 0 0 0 + 200 3 19 18 17 0 0 46 0 46 52 + 200 3 19 17 16 0 0 46 52 0 52 + 200 3 20 21 22 49 72 96 72 96 0 + 200 3 20 22 23 49 72 96 0 49 0 + 200 3 23 22 21 49 0 96 0 96 72 + 200 3 23 21 20 49 0 96 72 49 72 + 200 3 24 25 26 0 52 46 52 46 0 + 200 3 24 26 27 0 52 46 0 0 0 + 200 3 27 26 25 0 0 46 0 46 52 + 200 3 27 25 24 0 0 46 52 0 52 + 200 3 28 29 30 49 72 96 72 96 0 + 200 3 28 30 31 49 72 96 0 49 0 + 200 3 31 30 29 49 0 96 0 96 72 + 200 3 31 29 28 49 0 96 72 49 72 + 200 3 32 33 34 49 72 96 72 96 0 + 200 3 32 34 35 49 72 96 0 49 0 + 200 3 35 34 33 49 0 96 0 96 72 + 200 3 35 33 32 49 0 96 72 49 72 + 200 3 36 37 38 49 72 96 72 96 0 + 200 3 36 38 39 49 72 96 0 49 0 + 200 3 39 38 37 49 0 96 0 96 72 + 200 3 39 37 36 49 0 96 72 49 72 + 200 3 40 41 42 49 72 96 72 96 0 + 200 3 40 42 43 49 72 96 0 49 0 + 200 3 43 42 41 49 0 96 0 96 72 + 200 3 43 41 40 49 0 96 72 49 72 + 200 3 44 45 46 0 52 46 52 46 0 + 200 3 44 46 47 0 52 46 0 0 0 + 200 3 47 46 45 0 0 46 0 46 52 + 200 3 47 45 44 0 0 46 52 0 52 \ No newline at end of file diff --git a/data/base/features/mitrees3.pie b/data/base/features/mitrees3.pie index ca87d5f4e..937218662 100644 --- a/data/base/features/mitrees3.pie +++ b/data/base/features/mitrees3.pie @@ -16,10 +16,16 @@ POINTS 12 -8 0 39 -8 102 39 5 102 -40 -POLYGONS 6 - 200 4 0 1 2 3 0 52 46 52 46 0 0 0 - 200 4 3 2 1 0 0 0 46 0 46 52 0 52 - 200 4 4 5 6 7 49 72 96 72 96 0 49 0 - 200 4 7 6 5 4 49 0 96 0 96 72 49 72 - 200 4 8 9 10 11 49 72 96 72 96 0 49 0 - 200 4 11 10 9 8 49 0 96 0 96 72 49 72 \ No newline at end of file +POLYGONS 12 + 200 3 0 1 2 0 52 46 52 46 0 + 200 3 0 2 3 0 52 46 0 0 0 + 200 3 3 2 1 0 0 46 0 46 52 + 200 3 3 1 0 0 0 46 52 0 52 + 200 3 4 5 6 49 72 96 72 96 0 + 200 3 4 6 7 49 72 96 0 49 0 + 200 3 7 6 5 49 0 96 0 96 72 + 200 3 7 5 4 49 0 96 72 49 72 + 200 3 8 9 10 49 72 96 72 96 0 + 200 3 8 10 11 49 72 96 0 49 0 + 200 3 11 10 9 49 0 96 0 96 72 + 200 3 11 9 8 49 0 96 72 49 72 \ No newline at end of file diff --git a/data/base/features/miwatow.pie b/data/base/features/miwatow.pie index 4a5864768..438bcd51c 100644 --- a/data/base/features/miwatow.pie +++ b/data/base/features/miwatow.pie @@ -41,39 +41,60 @@ POINTS 37 13 65 13 13 67 13 13 65 12 -POLYGONS 35 - 200 4 22 21 1 20 179 20 178 20 175 20 175 20 - 200 4 4 21 22 23 178 23 178 21 179 20 179 22 +POLYGONS 56 + 200 3 22 21 1 179 20 178 20 175 20 + 200 3 22 1 20 179 20 175 20 175 20 + 200 3 4 21 22 178 23 178 21 179 20 + 200 3 4 22 23 178 23 179 20 179 22 200 3 34 36 35 210 254 209 254 209 253 - 200 4 5 30 29 0 176 192 175 192 182 232 194 232 - 200 4 0 29 30 5 194 232 182 232 175 192 176 192 + 200 3 5 30 29 176 192 175 192 182 232 + 200 3 5 29 0 176 192 182 232 194 232 + 200 3 0 29 30 194 232 182 232 175 192 + 200 3 0 30 5 194 232 175 192 176 192 200 3 3 5 0 191 192 176 192 194 232 200 3 0 5 3 194 232 176 192 191 192 - 200 4 33 35 36 13 206 251 209 253 209 254 200 254 + 200 3 33 35 36 206 251 209 253 209 254 + 200 3 33 36 13 206 251 209 254 200 254 200 3 33 13 14 206 251 200 254 200 251 200 3 2 1 7 192 192 194 232 177 192 200 3 7 1 2 177 192 194 232 192 192 - 200 4 1 26 25 7 194 232 182 232 176 195 177 192 - 200 4 7 25 26 1 177 192 176 195 182 232 194 232 - 200 4 10 9 32 31 195 251 195 254 209 254 204 251 - 200 4 0 1 2 3 195 248 173 248 177 192 192 192 - 200 4 3 2 1 0 192 192 177 192 173 248 195 248 - 200 4 17 16 34 33 214 251 214 254 210 254 206 251 - 200 4 8 11 31 32 215 254 215 251 204 251 209 254 - 200 4 17 11 8 16 215 251 199 251 199 254 215 254 - 200 4 14 13 28 27 194 251 194 254 178 254 183 251 + 200 3 1 26 25 194 232 182 232 176 195 + 200 3 1 25 7 194 232 176 195 177 192 + 200 3 7 25 26 177 192 176 195 182 232 + 200 3 7 26 1 177 192 182 232 194 232 + 200 3 10 9 32 195 251 195 254 209 254 + 200 3 10 32 31 195 251 209 254 204 251 + 200 3 0 1 2 195 248 173 248 177 192 + 200 3 0 2 3 195 248 177 192 192 192 + 200 3 3 2 1 192 192 177 192 173 248 + 200 3 3 1 0 192 192 173 248 195 248 + 200 3 17 16 34 214 251 214 254 210 254 + 200 3 17 34 33 214 251 210 254 206 251 + 200 3 8 11 31 215 254 215 251 204 251 + 200 3 8 31 32 215 254 204 251 209 254 + 200 3 17 11 8 215 251 199 251 199 254 + 200 3 17 8 16 215 251 199 254 215 254 + 200 3 14 13 28 194 251 194 254 178 254 + 200 3 14 28 27 194 251 178 254 183 251 200 3 29 30 4 182 232 175 192 174 232 200 3 4 30 29 174 232 175 192 182 232 - 200 4 7 25 24 4 199 192 198 197 201 248 218 248 - 200 4 4 24 25 7 218 248 201 248 198 197 199 192 + 200 3 7 25 24 199 192 198 197 201 248 + 200 3 7 24 4 199 192 201 248 218 248 + 200 3 4 24 25 218 248 201 248 198 197 + 200 3 4 25 7 218 248 198 197 199 192 200 3 5 7 4 214 192 199 192 218 248 200 3 4 7 5 218 248 199 192 214 192 - 200 4 12 15 27 28 174 254 174 251 183 251 178 254 - 200 4 19 15 12 18 199 251 215 251 215 254 199 254 - 200 4 10 19 18 9 199 251 184 251 184 254 199 254 + 200 3 12 15 27 174 254 174 251 183 251 + 200 3 12 27 28 174 254 183 251 178 254 + 200 3 19 15 12 199 251 215 251 215 254 + 200 3 19 12 18 199 251 215 254 199 254 + 200 3 10 19 18 199 251 184 251 184 254 + 200 3 10 18 9 199 251 184 254 199 254 200 3 24 25 6 201 248 198 197 196 248 200 3 6 25 24 196 248 198 197 201 248 200 3 25 26 6 176 195 182 232 174 232 200 3 6 26 25 174 232 182 232 176 195 - 200 4 14 15 11 17 168 148 169 155 156 150 161 146 - 200 4 11 15 19 10 156 150 169 155 164 159 157 157 \ No newline at end of file + 200 3 14 15 11 168 148 169 155 156 150 + 200 3 14 11 17 168 148 156 150 161 146 + 200 3 11 15 19 156 150 169 155 164 159 + 200 3 11 19 10 156 150 164 159 157 157 \ No newline at end of file diff --git a/data/base/features/miwreck.pie b/data/base/features/miwreck.pie index 133366fe7..5e2a55de2 100644 --- a/data/base/features/miwreck.pie +++ b/data/base/features/miwreck.pie @@ -30,7 +30,7 @@ POINTS 26 -6 47 -3 49 4 24 37 4 26 -POLYGONS 22 +POLYGONS 28 200 3 2 1 0 0 226 0 210 12 219 200 3 5 4 3 22 231 18 222 32 226 200 3 3 4 6 32 226 18 222 16 210 @@ -47,9 +47,15 @@ POLYGONS 22 200 3 8 12 13 11 231 8 242 0 242 200 3 9 8 5 16 242 11 231 22 231 200 3 5 8 4 22 231 11 231 18 222 - 200 4 14 15 16 17 89 90 70 90 71 75 89 74 - 200 4 17 16 15 14 89 74 71 75 70 90 89 90 - 200 4 18 19 20 21 89 90 70 88 72 74 89 74 - 200 4 21 20 19 18 89 74 72 74 70 88 89 90 - 200 4 22 23 24 25 89 74 70 74 71 90 86 88 - 200 4 25 24 23 22 86 88 71 90 70 74 89 74 \ No newline at end of file + 200 3 14 15 16 89 90 70 90 71 75 + 200 3 14 16 17 89 90 71 75 89 74 + 200 3 17 16 15 89 74 71 75 70 90 + 200 3 17 15 14 89 74 70 90 89 90 + 200 3 18 19 20 89 90 70 88 72 74 + 200 3 18 20 21 89 90 72 74 89 74 + 200 3 21 20 19 89 74 72 74 70 88 + 200 3 21 19 18 89 74 70 88 89 90 + 200 3 22 23 24 89 74 70 74 71 90 + 200 3 22 24 25 89 74 71 90 86 88 + 200 3 25 24 23 86 88 71 90 70 74 + 200 3 25 23 22 86 88 70 74 89 74 \ No newline at end of file diff --git a/data/base/features/miwrek1.pie b/data/base/features/miwrek1.pie index ee9d3eecf..582428069 100644 --- a/data/base/features/miwrek1.pie +++ b/data/base/features/miwrek1.pie @@ -30,13 +30,19 @@ POINTS 26 -65 3 -65 32 3 65 65 3 65 -POLYGONS 22 - 200 4 0 1 2 3 89 90 70 88 72 74 89 74 - 200 4 3 2 1 0 89 74 72 74 70 88 89 90 - 200 4 4 5 6 7 89 90 70 90 71 75 89 74 - 200 4 7 6 5 4 89 74 71 75 70 90 89 90 - 200 4 8 9 10 11 89 74 70 74 71 90 86 88 - 200 4 11 10 9 8 86 88 71 90 70 74 89 74 +POLYGONS 28 + 200 3 0 1 2 89 90 70 88 72 74 + 200 3 0 2 3 89 90 72 74 89 74 + 200 3 3 2 1 89 74 72 74 70 88 + 200 3 3 1 0 89 74 70 88 89 90 + 200 3 4 5 6 89 90 70 90 71 75 + 200 3 4 6 7 89 90 71 75 89 74 + 200 3 7 6 5 89 74 71 75 70 90 + 200 3 7 5 4 89 74 70 90 89 90 + 200 3 8 9 10 89 74 70 74 71 90 + 200 3 8 10 11 89 74 71 90 86 88 + 200 3 11 10 9 86 88 71 90 70 74 + 200 3 11 9 8 86 88 70 74 89 74 200 3 14 13 12 2 226 2 212 13 220 200 3 17 16 15 21 230 18 222 30 226 200 3 15 16 18 30 226 18 222 16 212 diff --git a/data/base/features/miwrek3.pie b/data/base/features/miwrek3.pie index 8b6aeb8bf..b421b953a 100644 --- a/data/base/features/miwrek3.pie +++ b/data/base/features/miwrek3.pie @@ -30,7 +30,7 @@ POINTS 26 -26 2 -32 -26 39 -18 -39 39 -18 -POLYGONS 22 +POLYGONS 28 200 3 2 1 0 96 226 96 240 88 229 200 3 5 4 3 79 218 83 226 66 226 200 3 3 4 6 66 226 83 226 81 240 @@ -47,9 +47,15 @@ POLYGONS 22 200 3 8 12 13 89 219 88 212 96 212 200 3 9 8 5 81 212 89 219 79 218 200 3 5 8 4 79 218 89 219 83 226 - 200 4 14 15 16 17 70 90 77 90 77 114 70 114 - 200 4 17 16 15 14 70 114 77 114 77 90 70 90 - 200 4 18 19 20 21 78 90 85 90 85 111 78 111 - 200 4 21 20 19 18 78 111 85 111 85 90 78 90 - 200 4 22 23 24 25 70 90 77 90 77 114 70 114 - 200 4 25 24 23 22 70 114 77 114 77 90 70 90 \ No newline at end of file + 200 3 14 15 16 70 90 77 90 77 114 + 200 3 14 16 17 70 90 77 114 70 114 + 200 3 17 16 15 70 114 77 114 77 90 + 200 3 17 15 14 70 114 77 90 70 90 + 200 3 18 19 20 78 90 85 90 85 111 + 200 3 18 20 21 78 90 85 111 78 111 + 200 3 21 20 19 78 111 85 111 85 90 + 200 3 21 19 18 78 111 85 90 78 90 + 200 3 22 23 24 70 90 77 90 77 114 + 200 3 22 24 25 70 90 77 114 70 114 + 200 3 25 24 23 70 114 77 114 77 90 + 200 3 25 23 22 70 114 77 90 70 90 \ No newline at end of file diff --git a/data/base/features/miwrek5.pie b/data/base/features/miwrek5.pie index 2769ffa4d..65ca1ef76 100644 --- a/data/base/features/miwrek5.pie +++ b/data/base/features/miwrek5.pie @@ -31,7 +31,7 @@ POINTS 27 -37 1 -5 -42 6 -1 -11 40 0 -POLYGONS 24 +POLYGONS 30 200 3 2 1 0 31 226 31 241 23 229 200 3 5 4 3 1 226 9 218 9 233 200 3 3 4 6 9 233 9 218 16 226 @@ -50,9 +50,15 @@ POLYGONS 24 200 3 4 9 6 9 218 24 218 16 226 200 3 0 7 3 23 229 16 241 9 233 200 3 7 12 3 16 241 1 241 9 233 - 200 4 15 16 17 18 85 90 85 110 78 110 78 90 - 200 4 18 17 16 15 78 90 78 110 85 110 85 90 - 200 4 19 20 21 22 85 90 85 110 78 110 78 90 - 200 4 22 21 20 19 78 90 78 110 85 110 85 90 - 200 4 23 24 25 26 85 90 85 110 78 110 78 90 - 200 4 26 25 24 23 78 90 78 110 85 110 85 90 \ No newline at end of file + 200 3 15 16 17 85 90 85 110 78 110 + 200 3 15 17 18 85 90 78 110 78 90 + 200 3 18 17 16 78 90 78 110 85 110 + 200 3 18 16 15 78 90 85 110 85 90 + 200 3 19 20 21 85 90 85 110 78 110 + 200 3 19 21 22 85 90 78 110 78 90 + 200 3 22 21 20 78 90 78 110 85 110 + 200 3 22 20 19 78 90 85 110 85 90 + 200 3 23 24 25 85 90 85 110 78 110 + 200 3 23 25 26 85 90 78 110 78 90 + 200 3 26 25 24 78 90 78 110 85 110 + 200 3 26 24 23 78 90 85 110 85 90 \ No newline at end of file diff --git a/data/base/features/nanolab.pie b/data/base/features/nanolab.pie index c9462826b..c9b983b80 100644 --- a/data/base/features/nanolab.pie +++ b/data/base/features/nanolab.pie @@ -3,58 +3,79 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 32 - 26 80 70 - 0 80 70 - 0 106 70 - 26 106 70 - 0 80 44 - 26 80 44 - 26 106 44 - 0 106 44 - 12 0 36 - 12 0 -2 - 12 80 -26 - 12 80 36 - -12 0 -2 - -12 0 26 - -12 80 24 - -12 80 -26 - -90 0 26 - -90 0 -100 - -66 80 -72 - -66 80 24 - 90 0 -100 - 90 0 -4 - 66 80 -26 - 66 80 -72 - 64 0 -4 - 64 0 106 - 48 80 78 - 48 80 -26 - -64 0 106 - -64 0 36 - -46 80 36 +POINTS 32 + 26 80 70 + 0 80 70 + 0 106 70 + 26 106 70 + 0 80 44 + 26 80 44 + 26 106 44 + 0 106 44 + 12 0 36 + 12 0 -2 + 12 80 -26 + 12 80 36 + -12 0 -2 + -12 0 26 + -12 80 24 + -12 80 -26 + -90 0 26 + -90 0 -100 + -66 80 -72 + -66 80 24 + 90 0 -100 + 90 0 -4 + 66 80 -26 + 66 80 -72 + 64 0 -4 + 64 0 106 + 48 80 78 + 48 80 -26 + -64 0 106 + -64 0 36 + -46 80 36 -46 80 78 -POLYGONS 21 - 200 4 3 2 1 0 165 0 156 0 156 10 165 10 - 200 4 7 6 5 4 156 0 165 0 165 10 156 10 - 200 4 11 10 9 8 38 1 21 1 27 31 38 31 - 200 4 15 14 13 12 21 1 35 1 35 31 27 31 - 200 4 19 18 17 16 35 1 9 1 2 31 35 31 - 200 4 23 22 21 20 9 1 21 1 27 31 2 31 - 200 4 27 26 25 24 21 1 49 1 56 31 27 31 - 200 4 31 30 29 28 49 1 38 1 38 31 56 31 - 200 4 30 11 8 29 73 1 91 1 91 31 67 31 - 200 4 10 15 12 9 91 1 83 1 83 31 91 31 - 200 4 14 19 16 13 83 1 67 1 59 31 83 31 - 200 4 18 23 20 17 67 1 107 1 115 31 59 31 - 200 4 22 27 24 21 107 1 101 1 107 31 115 31 - 200 4 26 31 28 25 101 1 73 1 67 31 107 31 - 200 4 2 3 6 7 156 11 165 11 165 20 156 20 - 200 4 2 7 4 1 165 0 156 0 156 10 165 10 - 200 4 6 3 0 5 156 0 165 0 165 10 156 10 - 200 4 11 30 31 26 139 13 122 13 122 1 149 1 - 200 4 10 11 26 27 139 31 139 13 149 1 149 31 - 200 4 14 15 18 19 132 16 132 31 117 44 117 16 - 200 4 15 22 23 18 132 31 154 31 154 44 117 44 +POLYGONS 42 + 200 3 3 2 1 165 0 156 0 156 10 + 200 3 3 1 0 165 0 156 10 165 10 + 200 3 7 6 5 156 0 165 0 165 10 + 200 3 7 5 4 156 0 165 10 156 10 + 200 3 11 10 9 38 1 21 1 27 31 + 200 3 11 9 8 38 1 27 31 38 31 + 200 3 15 14 13 21 1 35 1 35 31 + 200 3 15 13 12 21 1 35 31 27 31 + 200 3 19 18 17 35 1 9 1 2 31 + 200 3 19 17 16 35 1 2 31 35 31 + 200 3 23 22 21 9 1 21 1 27 31 + 200 3 23 21 20 9 1 27 31 2 31 + 200 3 27 26 25 21 1 49 1 56 31 + 200 3 27 25 24 21 1 56 31 27 31 + 200 3 31 30 29 49 1 38 1 38 31 + 200 3 31 29 28 49 1 38 31 56 31 + 200 3 30 11 8 73 1 91 1 91 31 + 200 3 30 8 29 73 1 91 31 67 31 + 200 3 10 15 12 91 1 83 1 83 31 + 200 3 10 12 9 91 1 83 31 91 31 + 200 3 14 19 16 83 1 67 1 59 31 + 200 3 14 16 13 83 1 59 31 83 31 + 200 3 18 23 20 67 1 107 1 115 31 + 200 3 18 20 17 67 1 115 31 59 31 + 200 3 22 27 24 107 1 101 1 107 31 + 200 3 22 24 21 107 1 107 31 115 31 + 200 3 26 31 28 101 1 73 1 67 31 + 200 3 26 28 25 101 1 67 31 107 31 + 200 3 2 3 6 156 11 165 11 165 20 + 200 3 2 6 7 156 11 165 20 156 20 + 200 3 2 7 4 165 0 156 0 156 10 + 200 3 2 4 1 165 0 156 10 165 10 + 200 3 6 3 0 156 0 165 0 165 10 + 200 3 6 0 5 156 0 165 10 156 10 + 200 3 11 30 31 139 13 122 13 122 1 + 200 3 11 31 26 139 13 122 1 149 1 + 200 3 10 11 26 139 31 139 13 149 1 + 200 3 10 26 27 139 31 149 1 149 31 + 200 3 14 15 18 132 16 132 31 117 44 + 200 3 14 18 19 132 16 117 44 117 16 + 200 3 15 22 23 132 31 154 31 154 44 + 200 3 15 23 18 132 31 154 44 117 44 \ No newline at end of file diff --git a/data/base/features/powlab.pie b/data/base/features/powlab.pie index ce92803b1..46455239b 100644 --- a/data/base/features/powlab.pie +++ b/data/base/features/powlab.pie @@ -3,79 +3,87 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 46 - 52 44 19 - -53 44 19 - -19 0 70 - -18 28 17 - 17 28 17 - 19 0 70 - -74 114 0 - -40 0 0 - -39 0 37 - -74 0 54 - -110 0 38 - -128 0 0 - -18 0 17 - 17 0 17 - -39 0 19 - 58 61 7 - -58 61 7 - -63 74 7 - 63 74 7 - 63 74 -7 - 38 0 19 - -63 74 -7 - 52 44 -19 - -53 44 -19 - -19 0 -70 - -18 28 -18 - 17 28 -18 - 19 0 -70 - -39 0 -37 - -74 0 -54 - -110 0 -39 - -18 0 -18 - 17 0 -18 - -39 0 -19 - 58 61 -7 - -58 61 -7 - 38 0 -19 - 73 114 0 - 40 0 0 - 38 0 37 - 73 0 54 - 110 0 38 - 128 0 0 - 38 0 -37 - 73 0 -54 +POINTS 46 + 52 44 19 + -53 44 19 + -19 0 70 + -18 28 17 + 17 28 17 + 19 0 70 + -74 114 0 + -40 0 0 + -39 0 37 + -74 0 54 + -110 0 38 + -128 0 0 + -18 0 17 + 17 0 17 + -39 0 19 + 58 61 7 + -58 61 7 + -63 74 7 + 63 74 7 + 63 74 -7 + 38 0 19 + -63 74 -7 + 52 44 -19 + -53 44 -19 + -19 0 -70 + -18 28 -18 + 17 28 -18 + 19 0 -70 + -39 0 -37 + -74 0 -54 + -110 0 -39 + -18 0 -18 + 17 0 -18 + -39 0 -19 + 58 61 -7 + -58 61 -7 + 38 0 -19 + 73 114 0 + 40 0 0 + 38 0 37 + 73 0 54 + 110 0 38 + 128 0 0 + 38 0 -37 + 73 0 -54 110 0 -39 -POLYGONS 28 - 200 3 9 8 6 18 170 34 171 18 135 - 200 3 6 8 7 18 135 34 171 18 170 - 200 3 2 3 12 102 43 115 32 115 43 - 200 4 5 4 3 2 143 144 143 132 152 132 152 144 - 200 3 4 5 13 115 32 102 43 115 43 - 200 3 11 10 6 18 170 1 171 18 135 - 200 3 10 9 6 1 171 18 170 18 135 - 200 4 15 18 17 16 177 122 175 124 219 124 217 122 - 200 4 21 17 18 19 219 122 219 124 175 124 175 122 - 200 4 1 14 20 0 164 129 160 144 135 144 131 129 - 200 3 29 6 28 18 170 18 135 34 171 - 200 3 6 7 28 18 135 18 170 34 171 - 200 3 24 31 25 102 43 115 43 115 32 - 200 4 27 24 25 26 143 144 152 144 152 132 143 132 - 200 3 26 32 27 115 32 115 43 102 43 - 200 3 11 6 30 18 170 18 135 1 171 - 200 3 30 6 29 1 171 18 135 18 170 - 200 4 34 35 21 19 177 124 217 124 219 122 175 122 - 200 4 23 22 36 33 164 129 131 129 135 144 160 144 - 200 4 22 23 1 0 193 104 237 104 237 117 193 117 - 200 3 40 37 39 18 170 18 135 34 171 - 200 3 37 38 39 18 135 18 170 34 171 - 200 3 42 37 41 18 170 18 135 1 171 - 200 3 41 37 40 1 171 18 135 18 170 - 200 3 44 43 37 18 170 34 171 18 135 - 200 3 37 43 38 18 135 34 171 18 170 - 200 3 42 45 37 18 170 1 171 18 135 - 200 3 45 44 37 1 171 18 170 18 135 +POLYGONS 36 + 200 3 9 8 6 18 170 34 171 18 135 + 200 3 6 8 7 18 135 34 171 18 170 + 200 3 2 3 12 102 43 115 32 115 43 + 200 3 5 4 3 143 144 143 132 152 132 + 200 3 5 3 2 143 144 152 132 152 144 + 200 3 4 5 13 115 32 102 43 115 43 + 200 3 11 10 6 18 170 1 171 18 135 + 200 3 10 9 6 1 171 18 170 18 135 + 200 3 15 18 17 177 122 175 124 219 124 + 200 3 15 17 16 177 122 219 124 217 122 + 200 3 21 17 18 219 122 219 124 175 124 + 200 3 21 18 19 219 122 175 124 175 122 + 200 3 1 14 20 164 129 160 144 135 144 + 200 3 1 20 0 164 129 135 144 131 129 + 200 3 29 6 28 18 170 18 135 34 171 + 200 3 6 7 28 18 135 18 170 34 171 + 200 3 24 31 25 102 43 115 43 115 32 + 200 3 27 24 25 143 144 152 144 152 132 + 200 3 27 25 26 143 144 152 132 143 132 + 200 3 26 32 27 115 32 115 43 102 43 + 200 3 11 6 30 18 170 18 135 1 171 + 200 3 30 6 29 1 171 18 135 18 170 + 200 3 34 35 21 177 124 217 124 219 122 + 200 3 34 21 19 177 124 219 122 175 122 + 200 3 23 22 36 164 129 131 129 135 144 + 200 3 23 36 33 164 129 135 144 160 144 + 200 3 22 23 1 193 104 237 104 237 117 + 200 3 22 1 0 193 104 237 117 193 117 + 200 3 40 37 39 18 170 18 135 34 171 + 200 3 37 38 39 18 135 18 170 34 171 + 200 3 42 37 41 18 170 18 135 1 171 + 200 3 41 37 40 1 171 18 135 18 170 + 200 3 44 43 37 18 170 34 171 18 135 + 200 3 37 43 38 18 135 34 171 18 170 + 200 3 42 45 37 18 170 1 171 18 135 + 200 3 45 44 37 1 171 18 170 18 135 \ No newline at end of file diff --git a/data/base/features/rotweplab.pie b/data/base/features/rotweplab.pie index be8a3527c..4c8ca13e5 100644 --- a/data/base/features/rotweplab.pie +++ b/data/base/features/rotweplab.pie @@ -3,18 +3,23 @@ TYPE 200 TEXTURE 0 page-10-laboratories.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -104 0 -104 - -104 0 104 - 104 0 104 - 104 0 -104 - 60 220 60 - 60 220 -60 - -60 220 -60 +POINTS 8 + -104 0 -104 + -104 0 104 + 104 0 104 + 104 0 -104 + 60 220 60 + 60 220 -60 + -60 220 -60 -60 220 60 -POLYGONS 5 - 200 4 5 4 2 3 233 52 204 52 194 102 243 102 - 200 4 7 6 0 1 204 52 233 52 243 102 194 102 - 200 4 7 4 5 6 78 139 52 139 52 113 78 113 - 200 4 6 5 3 0 233 52 204 52 194 102 243 102 - 200 4 4 7 1 2 204 52 233 52 243 102 194 102 +POLYGONS 10 + 200 3 5 4 2 233 52 204 52 194 102 + 200 3 5 2 3 233 52 194 102 243 102 + 200 3 7 6 0 204 52 233 52 243 102 + 200 3 7 0 1 204 52 243 102 194 102 + 200 3 7 4 5 78 139 52 139 52 113 + 200 3 7 5 6 78 139 52 113 78 113 + 200 3 6 5 3 233 52 204 52 194 102 + 200 3 6 3 0 233 52 194 102 243 102 + 200 3 4 7 1 204 52 233 52 243 102 + 200 3 4 1 2 204 52 243 102 194 102 \ No newline at end of file diff --git a/data/base/misc/arrow.pie b/data/base/misc/arrow.pie index b08ad175f..927ebb83d 100644 --- a/data/base/misc/arrow.pie +++ b/data/base/misc/arrow.pie @@ -17,18 +17,30 @@ POINTS 13 2 52 -2 2 52 2 0 18 0 -POLYGONS 14 - 200 4 3 2 1 0 83 173 83 173 83 174 84 174 - 200 4 5 4 2 3 81 174 82 174 83 173 83 173 - 200 4 7 6 4 5 83 174 83 174 82 174 81 174 - 200 4 0 1 6 7 84 174 83 174 83 174 83 174 +POLYGONS 26 + 200 3 3 2 1 83 173 83 173 83 174 + 200 3 3 1 0 83 173 83 174 84 174 + 200 3 5 4 2 81 174 82 174 83 173 + 200 3 5 2 3 81 174 83 173 83 173 + 200 3 7 6 4 83 174 83 174 82 174 + 200 3 7 4 5 83 174 82 174 81 174 + 200 3 0 1 6 84 174 83 174 83 174 + 200 3 0 6 7 84 174 83 174 83 174 200 3 10 9 8 83 173 83 174 83 174 200 3 9 10 11 83 174 83 173 82 174 - 200 4 6 9 11 4 84 172 84 175 87 175 87 172 - 200 4 2 10 8 1 87 172 87 175 84 175 84 172 - 200 4 4 11 10 2 87 172 87 175 90 175 90 172 - 200 4 1 8 9 6 90 172 90 175 87 175 87 172 - 200 4 12 3 0 12 95 172 93 175 96 175 95 172 - 200 4 12 7 5 12 95 172 96 175 93 175 95 172 - 200 4 12 5 3 12 92 172 90 175 93 175 92 172 - 200 4 12 0 7 12 92 172 93 175 90 175 92 172 + 200 3 6 9 11 84 172 84 175 87 175 + 200 3 6 11 4 84 172 87 175 87 172 + 200 3 2 10 8 87 172 87 175 84 175 + 200 3 2 8 1 87 172 84 175 84 172 + 200 3 4 11 10 87 172 87 175 90 175 + 200 3 4 10 2 87 172 90 175 90 172 + 200 3 1 8 9 90 172 90 175 87 175 + 200 3 1 9 6 90 172 87 175 87 172 + 200 3 12 3 0 95 172 93 175 96 175 + 200 3 12 0 12 95 172 96 175 95 172 + 200 3 12 7 5 95 172 96 175 93 175 + 200 3 12 5 12 95 172 93 175 95 172 + 200 3 12 5 3 92 172 90 175 93 175 + 200 3 12 3 12 92 172 93 175 92 172 + 200 3 12 0 7 92 172 93 175 90 175 + 200 3 12 7 12 92 172 90 175 92 172 \ No newline at end of file diff --git a/data/base/misc/blipart.pie b/data/base/misc/blipart.pie index 8f2c9da41..a520d6a93 100644 --- a/data/base/misc/blipart.pie +++ b/data/base/misc/blipart.pie @@ -8,6 +8,8 @@ POINTS 4 21 -21 0 21 21 0 -21 21 0 -POLYGONS 2 - 4200 4 0 1 2 3 4 1 27 27 146 207 173 207 173 180 146 180 - 4200 4 3 2 1 0 4 1 27 27 146 180 173 180 173 207 146 207 +POLYGONS 4 + 4200 3 0 1 2 4 1 27 27 146 207 173 207 173 180 + 4200 3 0 2 3 4 1 27 27 146 207 173 180 146 180 + 4200 3 3 2 1 4 1 27 27 146 180 173 180 173 207 + 4200 3 3 1 0 4 1 27 27 146 180 173 207 146 207 \ No newline at end of file diff --git a/data/base/misc/blipenm.pie b/data/base/misc/blipenm.pie index bfaf981e8..d33687deb 100644 --- a/data/base/misc/blipenm.pie +++ b/data/base/misc/blipenm.pie @@ -8,6 +8,8 @@ POINTS 4 21 -21 0 21 21 0 -21 21 0 -POLYGONS 2 - 4200 4 0 1 2 3 4 1 27 27 146 151 173 151 173 124 146 124 - 4200 4 3 2 1 0 4 1 27 27 146 124 173 124 173 151 146 151 +POLYGONS 4 + 4200 3 0 1 2 4 1 27 27 146 151 173 151 173 124 + 4200 3 0 2 3 4 1 27 27 146 151 173 124 146 124 + 4200 3 3 2 1 4 1 27 27 146 124 173 124 173 151 + 4200 3 3 1 0 4 1 27 27 146 124 173 151 146 151 \ No newline at end of file diff --git a/data/base/misc/blipres.pie b/data/base/misc/blipres.pie index 03a8be0e7..ec9bc16a8 100644 --- a/data/base/misc/blipres.pie +++ b/data/base/misc/blipres.pie @@ -8,6 +8,8 @@ POINTS 4 21 -21 0 21 21 0 -21 21 0 -POLYGONS 2 - 4200 4 0 1 2 3 4 1 27 27 146 179 173 179 173 152 146 152 - 4200 4 3 2 1 0 4 1 27 27 146 152 173 152 173 179 146 179 +POLYGONS 4 + 4200 3 0 1 2 4 1 27 27 146 179 173 179 173 152 + 4200 3 0 2 3 4 1 27 27 146 179 173 152 146 152 + 4200 3 3 2 1 4 1 27 27 146 152 173 152 173 179 + 4200 3 3 1 0 4 1 27 27 146 152 173 179 146 179 \ No newline at end of file diff --git a/data/base/misc/iccamera.pie b/data/base/misc/iccamera.pie index 5df3ebb3e..2ff071d1a 100644 --- a/data/base/misc/iccamera.pie +++ b/data/base/misc/iccamera.pie @@ -36,26 +36,48 @@ POINTS 32 53 7 85 68 -7 85 68 7 85 -POLYGONS 22 - 200 4 3 2 1 0 5 102 26 102 26 114 5 114 - 200 4 2 5 4 1 0 192 16 192 16 208 0 208 - 200 4 5 7 6 4 5 102 26 102 26 114 5 114 - 200 4 11 10 9 8 30 83 30 83 30 84 29 84 - 200 4 10 13 12 9 123 116 123 116 123 117 123 117 - 200 4 13 15 14 12 30 83 30 83 30 84 30 84 - 200 4 15 11 8 14 7 98 7 98 7 99 6 99 - 200 4 7 3 0 6 0 192 0 208 16 208 16 192 - 200 4 2 5 4 1 0 208 0 192 16 192 16 208 - 200 4 1 4 6 0 22 81 0 81 0 101 22 101 - 200 4 7 5 2 3 0 101 0 81 22 81 22 101 - 200 4 12 14 8 9 172 46 172 58 160 58 160 46 - 200 4 19 18 17 16 50 19 50 12 60 12 60 19 - 200 4 23 22 21 20 188 203 181 203 181 192 188 192 - 200 4 20 21 17 18 182 207 176 207 176 192 182 192 - 200 4 23 20 18 19 38 256 38 242 52 242 52 256 - 200 4 22 23 19 16 182 207 176 207 176 192 182 192 - 200 4 27 26 25 24 32 150 32 157 24 157 24 150 - 200 4 29 28 24 25 30 83 30 83 30 84 29 84 - 200 4 28 30 27 24 123 116 123 116 123 117 123 117 - 200 4 30 31 26 27 30 83 30 83 30 84 30 84 - 200 4 31 29 25 26 7 98 7 98 7 99 6 99 +POLYGONS 44 + 200 3 3 2 1 5 102 26 102 26 114 + 200 3 3 1 0 5 102 26 114 5 114 + 200 3 2 5 4 0 192 16 192 16 208 + 200 3 2 4 1 0 192 16 208 0 208 + 200 3 5 7 6 5 102 26 102 26 114 + 200 3 5 6 4 5 102 26 114 5 114 + 200 3 11 10 9 30 83 30 83 30 84 + 200 3 11 9 8 30 83 30 84 29 84 + 200 3 10 13 12 123 116 123 116 123 117 + 200 3 10 12 9 123 116 123 117 123 117 + 200 3 13 15 14 30 83 30 83 30 84 + 200 3 13 14 12 30 83 30 84 30 84 + 200 3 15 11 8 7 98 7 98 7 99 + 200 3 15 8 14 7 98 7 99 6 99 + 200 3 7 3 0 0 192 0 208 16 208 + 200 3 7 0 6 0 192 16 208 16 192 + 200 3 2 5 4 0 208 0 192 16 192 + 200 3 2 4 1 0 208 16 192 16 208 + 200 3 1 4 6 22 81 0 81 0 101 + 200 3 1 6 0 22 81 0 101 22 101 + 200 3 7 5 2 0 101 0 81 22 81 + 200 3 7 2 3 0 101 22 81 22 101 + 200 3 12 14 8 172 46 172 58 160 58 + 200 3 12 8 9 172 46 160 58 160 46 + 200 3 19 18 17 50 19 50 12 60 12 + 200 3 19 17 16 50 19 60 12 60 19 + 200 3 23 22 21 188 203 181 203 181 192 + 200 3 23 21 20 188 203 181 192 188 192 + 200 3 20 21 17 182 207 176 207 176 192 + 200 3 20 17 18 182 207 176 192 182 192 + 200 3 23 20 18 38 256 38 242 52 242 + 200 3 23 18 19 38 256 52 242 52 256 + 200 3 22 23 19 182 207 176 207 176 192 + 200 3 22 19 16 182 207 176 192 182 192 + 200 3 27 26 25 32 150 32 157 24 157 + 200 3 27 25 24 32 150 24 157 24 150 + 200 3 29 28 24 30 83 30 83 30 84 + 200 3 29 24 25 30 83 30 84 29 84 + 200 3 28 30 27 123 116 123 116 123 117 + 200 3 28 27 24 123 116 123 117 123 117 + 200 3 30 31 26 30 83 30 83 30 84 + 200 3 30 26 27 30 83 30 84 30 84 + 200 3 31 29 25 7 98 7 98 7 99 + 200 3 31 25 26 7 98 7 99 6 99 \ No newline at end of file diff --git a/data/base/misc/icsynapt.pie b/data/base/misc/icsynapt.pie index b31f0721e..3d9939094 100644 --- a/data/base/misc/icsynapt.pie +++ b/data/base/misc/icsynapt.pie @@ -105,66 +105,106 @@ POINTS 101 12 43 3 13 40 2 16 44 0 -POLYGONS 62 - 200 4 8 7 1 4 223 67 218 67 218 63 223 63 - 200 4 7 6 0 1 218 67 209 67 209 63 218 63 +POLYGONS 102 + 200 3 8 7 1 223 67 218 67 218 63 + 200 3 8 1 4 223 67 218 63 223 63 + 200 3 7 6 0 218 67 209 67 209 63 + 200 3 7 0 1 218 67 209 63 218 63 200 3 40 39 38 214 55 217 51 217 54 200 3 39 41 38 217 51 220 55 217 54 - 200 4 9 8 4 2 218 67 223 67 223 63 218 63 - 200 4 6 5 3 0 33 196 30 196 30 192 33 192 - 200 4 5 9 2 3 209 67 218 67 218 63 209 63 + 200 3 9 8 4 218 67 223 67 223 63 + 200 3 9 4 2 218 67 223 63 218 63 + 200 3 6 5 3 33 196 30 196 30 192 + 200 3 6 3 0 33 196 30 192 33 192 + 200 3 5 9 2 209 67 218 67 218 63 + 200 3 5 2 3 209 67 218 63 209 63 200 3 46 47 49 217 51 217 54 220 55 200 3 48 47 46 214 55 217 54 217 51 200 3 4 1 2 156 33 159 28 159 37 - 200 4 3 2 1 0 165 35 159 37 159 28 165 30 - 200 4 57 56 55 54 223 55 218 55 218 58 223 58 - 200 4 88 89 17 90 222 67 222 63 218 63 218 67 - 200 4 56 59 58 55 218 55 209 55 209 58 218 58 + 200 3 3 2 1 165 35 159 37 159 28 + 200 3 3 1 0 165 35 159 28 165 30 + 200 3 57 56 55 223 55 218 55 218 58 + 200 3 57 55 54 223 55 218 58 223 58 + 200 3 88 89 17 222 67 222 63 218 63 + 200 3 88 17 90 222 67 218 63 218 67 + 200 3 56 59 58 218 55 209 55 209 58 + 200 3 56 58 55 218 55 209 58 218 58 200 3 18 90 17 218 67 218 67 218 63 200 3 53 92 91 220 55 219 54 219 54 - 200 4 18 17 83 82 218 67 218 63 209 63 210 67 + 200 3 18 17 83 218 67 218 63 209 63 + 200 3 18 83 82 218 67 209 63 210 67 200 3 52 51 50 214 55 217 54 217 51 - 200 4 50 51 91 92 217 51 217 54 219 54 219 54 - 200 4 61 63 62 60 209 55 218 55 218 58 209 58 - 200 4 63 57 54 62 218 55 223 55 223 58 218 58 - 200 4 13 12 11 10 223 67 218 67 218 63 223 63 + 200 3 50 51 91 217 51 217 54 219 54 + 200 3 50 91 92 217 51 219 54 219 54 + 200 3 61 63 62 209 55 218 55 218 58 + 200 3 61 62 60 209 55 218 58 209 58 + 200 3 63 57 54 218 55 223 55 223 58 + 200 3 63 54 62 218 55 223 58 218 58 + 200 3 13 12 11 223 67 218 67 218 63 + 200 3 13 11 10 223 67 218 63 223 63 200 3 33 87 86 220 55 219 54 219 54 - 200 4 13 10 89 88 223 67 223 63 222 63 222 67 - 200 4 11 12 84 85 218 63 218 67 210 67 209 63 + 200 3 13 10 89 223 67 223 63 222 63 + 200 3 13 89 88 223 67 222 63 222 67 + 200 3 11 12 84 218 63 218 67 210 67 + 200 3 11 84 85 218 63 210 67 209 63 200 3 32 31 30 214 55 217 51 217 54 - 200 4 30 31 86 87 217 54 217 51 219 54 219 54 - 200 4 59 61 60 58 209 55 209 55 209 58 209 58 + 200 3 30 31 86 217 54 217 51 219 54 + 200 3 30 86 87 217 54 219 54 219 54 + 200 3 59 61 60 209 55 209 55 209 58 + 200 3 59 60 58 209 55 209 58 209 58 200 3 74 96 75 44 60 44 59 41 60 200 3 74 80 96 44 60 47 60 44 59 - 200 4 16 19 82 83 209 63 209 67 210 67 209 63 - 200 4 93 16 80 95 31 196 30 192 31 192 32 193 + 200 3 16 19 82 209 63 209 67 210 67 + 200 3 16 82 83 209 63 210 67 209 63 + 200 3 93 16 80 31 196 30 192 31 192 + 200 3 93 80 95 31 196 31 192 32 193 200 3 19 16 93 30 196 30 192 31 196 - 200 4 77 76 75 96 44 52 41 52 41 60 44 59 - 200 4 81 77 96 80 47 52 44 52 44 59 47 60 - 200 4 79 81 80 78 44 52 47 52 47 60 44 60 - 200 4 14 94 95 80 33 192 33 193 32 193 31 192 - 200 4 76 79 78 75 41 52 44 52 44 60 41 60 + 200 3 77 76 75 44 52 41 52 41 60 + 200 3 77 75 96 44 52 41 60 44 59 + 200 3 81 77 96 47 52 44 52 44 59 + 200 3 81 96 80 47 52 44 59 47 60 + 200 3 79 81 80 44 52 47 52 47 60 + 200 3 79 80 78 44 52 47 60 44 60 + 200 3 14 94 95 33 192 33 193 32 193 + 200 3 14 95 80 33 192 32 193 31 192 + 200 3 76 79 78 41 52 44 52 44 60 + 200 3 76 78 75 41 52 44 60 41 60 200 3 15 93 94 33 196 31 196 33 193 - 200 4 15 14 85 84 209 67 209 63 209 63 210 67 + 200 3 15 14 85 209 67 209 63 209 63 + 200 3 15 85 84 209 67 209 63 210 67 200 3 10 11 17 156 33 159 28 159 37 - 200 4 16 17 11 14 165 35 159 37 159 28 165 30 - 200 4 69 71 70 68 209 55 209 55 209 58 209 58 - 200 4 67 66 65 64 223 55 218 55 218 58 223 58 - 200 4 73 67 64 72 218 55 223 55 223 58 218 58 - 200 4 20 23 97 21 223 63 223 67 218 67 218 63 - 200 4 71 73 72 70 209 55 218 55 218 58 209 58 + 200 3 16 17 11 165 35 159 37 159 28 + 200 3 16 11 14 165 35 159 28 165 30 + 200 3 69 71 70 209 55 209 55 209 58 + 200 3 69 70 68 209 55 209 58 209 58 + 200 3 67 66 65 223 55 218 55 218 58 + 200 3 67 65 64 223 55 218 58 223 58 + 200 3 73 67 64 218 55 223 55 223 58 + 200 3 73 64 72 218 55 223 58 218 58 + 200 3 20 23 97 223 63 223 67 218 67 + 200 3 20 97 21 223 63 218 67 218 63 + 200 3 71 73 72 209 55 218 55 218 58 + 200 3 71 72 70 209 55 218 58 209 58 200 3 97 22 98 218 67 218 67 218 64 - 200 4 22 25 24 21 218 67 209 67 209 63 218 63 + 200 3 22 25 24 218 67 209 67 209 63 + 200 3 22 24 21 218 67 209 63 218 63 200 3 35 99 100 217 51 219 53 217 52 200 3 21 98 22 218 63 218 64 218 67 - 200 4 37 34 100 99 220 55 217 54 217 52 219 53 + 200 3 37 34 100 220 55 217 54 217 52 + 200 3 37 100 99 220 55 217 52 219 53 200 3 36 35 34 214 55 217 51 217 54 - 200 4 66 69 68 65 218 55 209 55 209 58 218 58 - 200 4 28 23 20 27 218 67 223 67 223 63 218 63 - 200 4 29 28 27 26 209 67 218 67 218 63 209 63 + 200 3 66 69 68 218 55 209 55 209 58 + 200 3 66 68 65 218 55 209 58 218 58 + 200 3 28 23 20 218 67 223 67 223 63 + 200 3 28 20 27 218 67 223 63 218 63 + 200 3 29 28 27 209 67 218 67 218 63 + 200 3 29 27 26 209 67 218 63 209 63 200 3 44 43 42 214 55 217 54 217 51 200 3 42 43 45 217 51 217 54 220 55 - 200 4 25 29 26 24 33 196 30 196 30 192 33 192 - 200 4 26 27 21 24 165 35 159 37 159 28 165 30 + 200 3 25 29 26 33 196 30 196 30 192 + 200 3 25 26 24 33 196 30 192 33 192 + 200 3 26 27 21 165 35 159 37 159 28 + 200 3 26 21 24 165 35 159 28 165 30 200 3 20 21 27 156 33 159 28 159 37 - 200 4 81 79 76 77 156 28 165 28 165 37 156 37 + 200 3 81 79 76 156 28 165 28 165 37 + 200 3 81 76 77 156 28 165 37 156 37 \ No newline at end of file diff --git a/data/base/misc/micnum1.pie b/data/base/misc/micnum1.pie index f36ab1897..dcea57b00 100644 --- a/data/base/misc/micnum1.pie +++ b/data/base/misc/micnum1.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 188 101 210 101 210 125 188 125 - 200 4 7 6 5 4 1 78 19 78 19 98 1 98 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 1 78 19 78 19 98 + 200 3 7 5 4 1 78 19 98 1 98 \ No newline at end of file diff --git a/data/base/misc/micnum2.pie b/data/base/misc/micnum2.pie index 75a55a680..e8c8c34c5 100644 --- a/data/base/misc/micnum2.pie +++ b/data/base/misc/micnum2.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 188 101 210 101 210 125 188 125 - 200 4 7 6 5 4 189 130 208 130 208 150 189 150 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 189 130 208 130 208 150 + 200 3 7 5 4 189 130 208 150 189 150 \ No newline at end of file diff --git a/data/base/misc/micnum3.pie b/data/base/misc/micnum3.pie index 35aea8c86..e284ae07c 100644 --- a/data/base/misc/micnum3.pie +++ b/data/base/misc/micnum3.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 188 101 210 101 210 125 188 125 - 200 4 7 6 5 4 58 184 79 184 79 206 58 206 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 58 184 79 184 79 206 + 200 3 7 5 4 58 184 79 206 58 206 \ No newline at end of file diff --git a/data/base/misc/micnum4.pie b/data/base/misc/micnum4.pie index 4a215ce0c..b016788bb 100644 --- a/data/base/misc/micnum4.pie +++ b/data/base/misc/micnum4.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 188 101 210 101 210 125 188 125 - 200 4 7 6 5 4 226 206 248 206 248 228 226 228 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 206 248 206 248 228 + 200 3 7 5 4 226 206 248 228 226 228 \ No newline at end of file diff --git a/data/base/misc/micnum5.pie b/data/base/misc/micnum5.pie index aaa31fff5..f1811b943 100644 --- a/data/base/misc/micnum5.pie +++ b/data/base/misc/micnum5.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 188 101 210 101 210 125 188 125 - 200 4 7 6 5 4 226 232 248 232 248 254 226 254 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 232 248 232 248 254 + 200 3 7 5 4 226 232 248 254 226 254 \ No newline at end of file diff --git a/data/base/misc/minum1.pie b/data/base/misc/minum1.pie index 0241e27a6..fc53dc62e 100644 --- a/data/base/misc/minum1.pie +++ b/data/base/misc/minum1.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 101 185 101 185 125 161 125 - 200 4 7 6 5 4 1 78 19 78 19 98 1 98 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 1 78 19 78 19 98 + 200 3 7 5 4 1 78 19 98 1 98 \ No newline at end of file diff --git a/data/base/misc/minum2.pie b/data/base/misc/minum2.pie index 2016c4fa2..bc70847fc 100644 --- a/data/base/misc/minum2.pie +++ b/data/base/misc/minum2.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 101 185 101 185 125 161 125 - 200 4 7 6 5 4 189 130 208 130 208 150 189 150 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 189 130 208 130 208 150 + 200 3 7 5 4 189 130 208 150 189 150 \ No newline at end of file diff --git a/data/base/misc/minum3.pie b/data/base/misc/minum3.pie index 67d4917a6..f13fade89 100644 --- a/data/base/misc/minum3.pie +++ b/data/base/misc/minum3.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 101 185 101 185 125 161 125 - 200 4 7 6 5 4 58 184 79 184 79 206 58 206 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 58 184 79 184 79 206 + 200 3 7 5 4 58 184 79 206 58 206 \ No newline at end of file diff --git a/data/base/misc/minum4.pie b/data/base/misc/minum4.pie index d034487c8..7571a0b8f 100644 --- a/data/base/misc/minum4.pie +++ b/data/base/misc/minum4.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 101 185 101 185 125 161 125 - 200 4 7 6 5 4 226 206 248 206 248 228 226 228 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 206 248 206 248 228 + 200 3 7 5 4 226 206 248 228 226 228 \ No newline at end of file diff --git a/data/base/misc/minum5.pie b/data/base/misc/minum5.pie index be003815e..0af03e832 100644 --- a/data/base/misc/minum5.pie +++ b/data/base/misc/minum5.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 101 185 101 185 125 161 125 - 200 4 7 6 5 4 226 232 248 232 248 254 226 254 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 232 248 232 248 254 + 200 3 7 5 4 226 232 248 254 226 254 \ No newline at end of file diff --git a/data/base/misc/mirnum1.pie b/data/base/misc/mirnum1.pie index 9bde1971e..5ac9a383e 100644 --- a/data/base/misc/mirnum1.pie +++ b/data/base/misc/mirnum1.pie @@ -8,4 +8,4 @@ POINTS 3 65 0 -63 0 0 66 POLYGONS 1 - 200 3 2 1 0 26 13 0 26 0 0 + 200 3 2 1 0 26 13 0 26 0 0 \ No newline at end of file diff --git a/data/base/misc/mitrnshd.pie b/data/base/misc/mitrnshd.pie index 39a8f1674..7852a5e09 100644 --- a/data/base/misc/mitrnshd.pie +++ b/data/base/misc/mitrnshd.pie @@ -3,22 +3,22 @@ TYPE 200 TEXTURE 0 page-15-droid-hubs.png 256 256 LEVELS 1 LEVEL 1 -POINTS 16 - 84 2 56 - 135 2 56 - 135 2 -51 - 84 2 -51 - -82 2 -51 - -134 2 -51 - -134 2 56 - -83 2 56 - -69 2 110 - -25 2 164 - 27 2 164 - 70 2 111 - -69 2 -106 - 70 2 -106 - 27 2 -159 +POINTS 16 + 84 2 56 + 135 2 56 + 135 2 -51 + 84 2 -51 + -82 2 -51 + -134 2 -51 + -134 2 56 + -83 2 56 + -69 2 110 + -25 2 164 + 27 2 164 + 70 2 111 + -69 2 -106 + 70 2 -106 + 27 2 -159 -24 2 -159 POLYGONS 14 200 3 0 1 2 249 124 255 124 255 106 @@ -34,4 +34,4 @@ POLYGONS 14 200 3 12 4 3 232 97 230 106 249 106 200 3 12 3 13 232 97 249 106 247 97 200 3 14 15 12 243 88 237 88 232 97 - 200 3 14 12 13 243 88 232 97 247 97 + 200 3 14 12 13 243 88 232 97 247 97 \ No newline at end of file diff --git a/data/base/misc/mivnum1.pie b/data/base/misc/mivnum1.pie index 72182499b..978d8f65d 100644 --- a/data/base/misc/mivnum1.pie +++ b/data/base/misc/mivnum1.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 128 186 128 186 151 161 151 - 200 4 7 6 5 4 1 78 19 78 19 98 1 98 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 1 78 19 78 19 98 + 200 3 7 5 4 1 78 19 98 1 98 \ No newline at end of file diff --git a/data/base/misc/mivnum2.pie b/data/base/misc/mivnum2.pie index 42075a33f..eede1252c 100644 --- a/data/base/misc/mivnum2.pie +++ b/data/base/misc/mivnum2.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 128 186 128 186 151 161 151 - 200 4 7 6 5 4 189 130 208 130 208 150 189 150 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 189 130 208 130 208 150 + 200 3 7 5 4 189 130 208 150 189 150 \ No newline at end of file diff --git a/data/base/misc/mivnum3.pie b/data/base/misc/mivnum3.pie index aa2572882..159c85bd2 100644 --- a/data/base/misc/mivnum3.pie +++ b/data/base/misc/mivnum3.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 128 186 128 186 151 161 151 - 200 4 7 6 5 4 58 184 79 184 79 206 58 206 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 58 184 79 184 79 206 + 200 3 7 5 4 58 184 79 206 58 206 \ No newline at end of file diff --git a/data/base/misc/mivnum4.pie b/data/base/misc/mivnum4.pie index da11b1727..036598a18 100644 --- a/data/base/misc/mivnum4.pie +++ b/data/base/misc/mivnum4.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 128 186 128 186 151 161 151 - 200 4 7 6 5 4 226 206 248 206 248 228 226 228 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 206 248 206 248 228 + 200 3 7 5 4 226 206 248 228 226 228 \ No newline at end of file diff --git a/data/base/misc/mivnum5.pie b/data/base/misc/mivnum5.pie index 48b8c54ba..e40e47c19 100644 --- a/data/base/misc/mivnum5.pie +++ b/data/base/misc/mivnum5.pie @@ -12,6 +12,8 @@ POINTS 8 63 3 -64 63 3 65 -65 3 65 -POLYGONS 2 - 200 4 3 2 1 0 161 128 186 128 186 151 161 151 - 200 4 7 6 5 4 226 232 248 232 248 254 226 254 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 232 248 232 248 254 + 200 3 7 5 4 226 232 248 254 226 254 \ No newline at end of file diff --git a/data/base/misc/researchimds/dpvtol.pie b/data/base/misc/researchimds/dpvtol.pie index 20aabf599..ea3dadca3 100644 --- a/data/base/misc/researchimds/dpvtol.pie +++ b/data/base/misc/researchimds/dpvtol.pie @@ -46,37 +46,59 @@ POINTS 42 -23 23 -7 -23 27 5 -36 27 5 -POLYGONS 30 - 200 4 0 1 2 3 8 48 2 48 0 40 3 40 - 200 4 3 2 1 0 3 40 0 40 2 48 8 48 +POLYGONS 52 + 200 3 0 1 2 8 48 2 48 0 40 + 200 3 0 2 3 8 48 0 40 3 40 + 200 3 3 2 1 3 40 0 40 2 48 + 200 3 3 1 0 3 40 2 48 8 48 200 3 6 5 4 88 182 90 180 88 178 - 200 4 8 7 4 5 8 93 17 93 17 89 9 89 - 200 4 9 8 5 6 0 93 8 93 9 89 0 89 - 200 4 13 12 11 10 104 231 104 217 118 217 118 231 - 200 4 17 16 15 14 104 189 118 189 118 204 104 204 - 200 4 14 15 13 10 104 203 117 203 117 217 104 217 - 200 4 15 16 12 13 104 203 117 203 117 217 104 217 - 200 4 16 17 11 12 104 203 117 203 117 217 104 217 - 200 4 17 14 10 11 104 203 117 203 117 217 104 217 - 200 4 21 20 19 18 0 98 2 85 9 89 17 98 + 200 3 8 7 4 8 93 17 93 17 89 + 200 3 8 4 5 8 93 17 89 9 89 + 200 3 9 8 5 0 93 8 93 9 89 + 200 3 9 5 6 0 93 9 89 0 89 + 200 3 13 12 11 104 231 104 217 118 217 + 200 3 13 11 10 104 231 118 217 118 231 + 200 3 17 16 15 104 189 118 189 118 204 + 200 3 17 15 14 104 189 118 204 104 204 + 200 3 14 15 13 104 203 117 203 117 217 + 200 3 14 13 10 104 203 117 217 104 217 + 200 3 15 16 12 104 203 117 203 117 217 + 200 3 15 12 13 104 203 117 217 104 217 + 200 3 16 17 11 104 203 117 203 117 217 + 200 3 16 11 12 104 203 117 217 104 217 + 200 3 17 14 10 104 203 117 203 117 217 + 200 3 17 10 11 104 203 117 217 104 217 + 200 3 21 20 19 0 98 2 85 9 89 + 200 3 21 19 18 0 98 9 89 17 98 200 3 21 22 20 17 98 1 98 0 85 200 3 19 22 18 8 93 17 84 0 84 200 3 20 22 19 15 97 17 84 8 93 - 200 4 23 24 25 26 8 48 2 48 0 40 3 40 - 200 4 26 25 24 23 3 40 0 40 2 48 8 48 + 200 3 23 24 25 8 48 2 48 0 40 + 200 3 23 25 26 8 48 0 40 3 40 + 200 3 26 25 24 3 40 0 40 2 48 + 200 3 26 24 23 3 40 2 48 8 48 200 3 27 6 4 86 180 88 182 88 178 - 200 4 7 28 27 4 17 93 8 93 8 89 17 89 - 200 4 28 9 6 27 8 93 0 93 0 89 8 89 + 200 3 7 28 27 17 93 8 93 8 89 + 200 3 7 27 4 17 93 8 89 17 89 + 200 3 28 9 6 8 93 0 93 0 89 + 200 3 28 6 27 8 93 0 89 8 89 200 3 31 30 29 17 98 0 85 1 98 200 3 33 32 29 8 93 0 84 17 84 200 3 30 33 29 15 97 8 93 17 84 - 200 4 37 36 35 34 104 217 104 231 118 231 118 217 - 200 4 41 40 39 38 118 189 104 189 104 204 118 204 - 200 4 38 39 35 36 117 203 104 203 104 217 117 217 - 200 4 41 38 36 37 117 203 104 203 104 217 117 217 - 200 4 40 41 37 34 117 203 104 203 104 217 117 217 - 200 4 39 40 34 35 117 203 104 203 104 217 117 217 - 200 4 30 31 32 33 2 85 0 98 17 98 9 89 + 200 3 37 36 35 104 217 104 231 118 231 + 200 3 37 35 34 104 217 118 231 118 217 + 200 3 41 40 39 118 189 104 189 104 204 + 200 3 41 39 38 118 189 104 204 118 204 + 200 3 38 39 35 117 203 104 203 104 217 + 200 3 38 35 36 117 203 104 217 117 217 + 200 3 41 38 36 117 203 104 203 104 217 + 200 3 41 36 37 117 203 104 217 117 217 + 200 3 40 41 37 117 203 104 203 104 217 + 200 3 40 37 34 117 203 104 217 117 217 + 200 3 39 40 34 117 203 104 203 104 217 + 200 3 39 34 35 117 203 104 217 117 217 + 200 3 30 31 32 2 85 0 98 17 98 + 200 3 30 32 33 2 85 17 98 9 89 CONNECTORS 2 -431602080 -431602080 -431602080 0 7 27 diff --git a/data/base/misc/researchimds/icamrhot.pie b/data/base/misc/researchimds/icamrhot.pie index 1e150c8fc..33ff47152 100644 --- a/data/base/misc/researchimds/icamrhot.pie +++ b/data/base/misc/researchimds/icamrhot.pie @@ -60,19 +60,27 @@ POINTS 56 2 39 5 2 36 4 2 32 0 -POLYGONS 41 - 200 4 28 42 47 46 123 248 123 250 120 250 121 248 +POLYGONS 66 + 200 3 28 42 47 123 248 123 250 120 250 + 200 3 28 47 46 123 248 120 250 121 248 200 3 44 45 34 127 256 131 255 131 256 200 3 34 45 44 131 256 131 255 127 256 200 3 43 46 47 116 250 121 248 120 250 - 200 4 43 48 49 46 116 250 116 249 116 248 121 248 - 200 4 19 18 14 17 0 38 17 39 18 41 1 40 + 200 3 43 48 49 116 250 116 249 116 248 + 200 3 43 49 46 116 250 116 248 121 248 + 200 3 19 18 14 0 38 17 39 18 41 + 200 3 19 14 17 0 38 18 41 1 40 200 3 29 49 48 116 248 116 248 116 249 - 200 4 18 20 13 14 144 203 128 203 128 203 144 203 - 200 4 20 21 16 13 17 39 0 38 1 40 18 41 - 200 4 20 18 19 21 15 0 1 0 1 19 15 19 - 200 4 35 52 44 47 125 256 125 255 126 255 128 255 - 200 4 47 44 52 35 128 255 126 255 125 255 125 256 + 200 3 18 20 13 144 203 128 203 128 203 + 200 3 18 13 14 144 203 128 203 144 203 + 200 3 20 21 16 17 39 0 38 1 40 + 200 3 20 16 13 17 39 1 40 18 41 + 200 3 20 18 19 15 0 1 0 1 19 + 200 3 20 19 21 15 0 1 19 15 19 + 200 3 35 52 44 125 256 125 255 126 255 + 200 3 35 44 47 125 256 126 255 128 255 + 200 3 47 44 52 128 255 126 255 125 255 + 200 3 47 52 35 128 255 125 255 125 256 200 3 44 35 47 127 256 125 256 128 255 200 3 47 35 44 128 255 125 256 127 256 200 3 27 54 55 123 256 119 256 119 253 @@ -81,24 +89,41 @@ POLYGONS 41 200 3 53 52 35 125 254 125 255 125 256 200 3 35 52 53 125 256 125 255 125 254 200 3 50 51 54 117 256 116 252 119 256 - 200 4 51 43 55 54 116 252 116 250 119 253 119 256 + 200 3 51 43 55 116 252 116 250 119 253 + 200 3 51 55 54 116 252 119 253 119 256 200 3 27 43 42 123 256 116 250 123 250 - 200 4 30 31 32 33 124 256 132 256 132 241 124 241 - 200 4 33 32 31 30 124 241 132 241 132 256 124 256 - 200 4 25 24 23 22 116 248 123 248 123 256 116 256 - 200 4 0 1 2 3 116 256 124 256 124 241 116 241 - 200 4 3 2 1 0 116 241 124 241 124 256 116 256 - 200 4 8 9 10 11 131 256 125 256 125 241 131 241 - 200 4 11 10 9 8 131 241 125 241 125 256 131 256 - 200 4 47 52 37 45 128 255 125 255 131 241 131 255 - 200 4 45 37 52 47 131 255 131 241 125 255 128 255 - 200 4 52 53 36 37 125 255 125 254 125 241 131 241 - 200 4 37 36 53 52 131 241 125 241 125 254 125 255 - 200 4 4 5 6 7 124 256 132 256 132 241 124 241 - 200 4 7 6 5 4 124 241 132 241 132 256 124 256 - 200 4 38 39 40 41 116 256 124 256 124 241 116 241 - 200 4 41 40 39 38 116 241 124 241 124 256 116 256 + 200 3 30 31 32 124 256 132 256 132 241 + 200 3 30 32 33 124 256 132 241 124 241 + 200 3 33 32 31 124 241 132 241 132 256 + 200 3 33 31 30 124 241 132 256 124 256 + 200 3 25 24 23 116 248 123 248 123 256 + 200 3 25 23 22 116 248 123 256 116 256 + 200 3 0 1 2 116 256 124 256 124 241 + 200 3 0 2 3 116 256 124 241 116 241 + 200 3 3 2 1 116 241 124 241 124 256 + 200 3 3 1 0 116 241 124 256 116 256 + 200 3 8 9 10 131 256 125 256 125 241 + 200 3 8 10 11 131 256 125 241 131 241 + 200 3 11 10 9 131 241 125 241 125 256 + 200 3 11 9 8 131 241 125 256 131 256 + 200 3 47 52 37 128 255 125 255 131 241 + 200 3 47 37 45 128 255 131 241 131 255 + 200 3 45 37 52 131 255 131 241 125 255 + 200 3 45 52 47 131 255 125 255 128 255 + 200 3 52 53 36 125 255 125 254 125 241 + 200 3 52 36 37 125 255 125 241 131 241 + 200 3 37 36 53 131 241 125 241 125 254 + 200 3 37 53 52 131 241 125 254 125 255 + 200 3 4 5 6 124 256 132 256 132 241 + 200 3 4 6 7 124 256 132 241 124 241 + 200 3 7 6 5 124 241 132 241 132 256 + 200 3 7 5 4 124 241 132 256 124 256 + 200 3 38 39 40 116 256 124 256 124 241 + 200 3 38 40 41 116 256 124 241 116 241 + 200 3 41 40 39 116 241 124 241 124 256 + 200 3 41 39 38 116 241 124 256 116 256 200 3 26 51 50 116 256 116 252 117 256 200 3 13 16 12 114 140 123 159 104 159 - 200 4 15 14 13 12 85 159 85 140 104 140 104 159 - 200 3 17 14 15 104 159 114 140 123 159 + 200 3 15 14 13 85 159 85 140 104 140 + 200 3 15 13 12 85 159 104 140 104 159 + 200 3 17 14 15 104 159 114 140 123 159 \ No newline at end of file diff --git a/data/base/misc/researchimds/icamrknt.pie b/data/base/misc/researchimds/icamrknt.pie index 5d50c31aa..f99844327 100644 --- a/data/base/misc/researchimds/icamrknt.pie +++ b/data/base/misc/researchimds/icamrknt.pie @@ -49,41 +49,62 @@ POINTS 45 8 19 -9 6 21 -9 14 22 -10 -POLYGONS 37 - 200 4 10 9 5 8 0 38 17 39 18 41 1 40 +POLYGONS 58 + 200 3 10 9 5 0 38 17 39 18 41 + 200 3 10 5 8 0 38 18 41 1 40 200 3 8 5 6 104 159 114 140 123 159 - 200 4 9 11 4 5 144 203 128 203 128 203 144 203 + 200 3 9 11 4 144 203 128 203 128 203 + 200 3 9 4 5 144 203 128 203 144 203 200 3 4 7 3 114 140 123 159 104 159 - 200 4 11 12 7 4 17 39 0 38 1 40 18 41 - 200 4 6 5 4 3 85 159 85 140 104 140 104 159 - 200 4 11 9 10 12 15 0 1 0 1 19 15 19 - 200 4 34 33 27 38 116 254 116 250 117 250 117 252 - 200 4 36 37 27 26 116 250 119 256 118 256 116 253 - 200 4 26 27 37 36 116 253 118 256 119 256 116 250 + 200 3 11 12 7 17 39 0 38 1 40 + 200 3 11 7 4 17 39 1 40 18 41 + 200 3 6 5 4 85 159 85 140 104 140 + 200 3 6 4 3 85 159 104 140 104 159 + 200 3 11 9 10 15 0 1 0 1 19 + 200 3 11 10 12 15 0 1 19 15 19 + 200 3 34 33 27 116 254 116 250 117 250 + 200 3 34 27 38 116 254 117 250 117 252 + 200 3 36 37 27 116 250 119 256 118 256 + 200 3 36 27 26 116 250 118 256 116 253 + 200 3 26 27 37 116 253 118 256 119 256 + 200 3 26 37 36 116 253 119 256 116 250 200 3 35 38 27 120 250 117 252 117 250 - 200 4 31 30 20 21 121 256 122 248 120 241 116 256 - 200 4 21 20 30 31 116 256 120 241 122 248 121 256 + 200 3 31 30 20 121 256 122 248 120 241 + 200 3 31 20 21 121 256 120 241 116 256 + 200 3 21 20 30 116 256 120 241 122 248 + 200 3 21 30 31 116 256 122 248 121 256 200 3 22 32 23 116 256 123 250 123 256 - 200 4 22 34 35 32 116 256 116 254 120 250 123 250 + 200 3 22 34 35 116 256 116 254 120 250 + 200 3 22 35 32 116 256 120 250 123 250 200 3 40 39 18 126 256 124 253 124 256 200 3 18 39 40 124 256 124 253 126 256 - 200 4 37 36 14 15 119 256 116 250 120 241 124 256 - 200 4 15 14 36 37 124 256 120 241 116 250 119 256 + 200 3 37 36 14 119 256 116 250 120 241 + 200 3 37 14 15 119 256 120 241 124 256 + 200 3 15 14 36 124 256 120 241 116 250 + 200 3 15 36 37 124 256 116 250 119 256 200 3 39 28 17 124 253 131 253 128 241 200 3 17 28 39 128 241 131 253 124 253 - 200 4 39 40 29 28 124 253 126 256 129 256 131 253 - 200 4 28 29 40 39 131 253 129 256 126 256 124 253 + 200 3 39 40 29 124 253 126 256 129 256 + 200 3 39 29 28 124 253 129 256 131 253 + 200 3 28 29 40 131 253 129 256 126 256 + 200 3 28 40 39 131 253 126 256 124 253 200 3 0 1 2 132 256 128 241 124 256 200 3 2 1 0 124 256 128 241 132 256 - 200 4 33 25 41 27 116 250 116 248 117 248 117 250 + 200 3 33 25 41 116 250 116 248 117 248 + 200 3 33 41 27 116 250 117 248 117 250 200 3 26 27 13 116 253 118 256 116 256 200 3 13 27 26 116 256 118 256 116 253 200 3 42 35 31 122 256 121 255 121 256 200 3 31 35 42 121 256 121 255 122 256 - 200 4 24 32 27 41 123 248 123 250 117 250 117 248 + 200 3 24 32 27 123 248 123 250 117 250 + 200 3 24 27 41 123 248 117 250 117 248 200 3 44 43 16 131 254 129 256 132 256 200 3 16 43 44 132 256 129 256 131 254 - 200 4 35 42 19 30 121 255 122 256 124 256 122 248 - 200 4 30 19 42 35 122 248 124 256 122 256 121 255 - 200 4 43 44 28 29 129 256 131 254 131 253 129 256 - 200 4 29 28 44 43 129 256 131 253 131 254 129 256 + 200 3 35 42 19 121 255 122 256 124 256 + 200 3 35 19 30 121 255 124 256 122 248 + 200 3 30 19 42 122 248 124 256 122 256 + 200 3 30 42 35 122 248 122 256 121 255 + 200 3 43 44 28 129 256 131 254 131 253 + 200 3 43 28 29 129 256 131 253 129 256 + 200 3 29 28 44 129 256 131 253 131 254 + 200 3 29 44 43 129 256 131 254 129 256 \ No newline at end of file diff --git a/data/base/misc/researchimds/iccccons.pie b/data/base/misc/researchimds/iccccons.pie index dbb84cde2..0c3325419 100644 --- a/data/base/misc/researchimds/iccccons.pie +++ b/data/base/misc/researchimds/iccccons.pie @@ -32,20 +32,33 @@ POINTS 28 11 0 -11 -11 0 11 11 0 11 -POLYGONS 21 - 200 4 3 2 1 0 248 97 244 97 256 83 256 87 - 200 4 5 4 1 2 157 193 157 179 171 179 171 193 - 200 4 7 4 5 6 244 87 244 83 256 97 252 97 - 200 4 9 8 0 1 256 112 252 112 244 102 244 98 - 200 4 11 9 1 10 101 44 89 44 89 32 101 32 - 200 4 13 11 10 12 248 112 244 112 256 98 256 102 - 200 4 15 4 7 14 244 112 256 98 256 102 248 112 - 200 4 17 4 15 16 89 32 101 32 101 44 89 44 - 200 4 19 17 16 18 244 102 244 98 256 112 252 112 - 200 4 21 20 12 10 256 97 252 97 244 87 244 83 - 200 4 21 10 17 22 157 193 157 179 171 179 171 193 - 200 4 22 17 19 23 244 97 256 83 256 87 248 97 - 200 4 4 17 10 1 89 32 101 32 101 44 89 44 +POLYGONS 34 + 200 3 3 2 1 248 97 244 97 256 83 + 200 3 3 1 0 248 97 256 83 256 87 + 200 3 5 4 1 157 193 157 179 171 179 + 200 3 5 1 2 157 193 171 179 171 193 + 200 3 7 4 5 244 87 244 83 256 97 + 200 3 7 5 6 244 87 256 97 252 97 + 200 3 9 8 0 256 112 252 112 244 102 + 200 3 9 0 1 256 112 244 102 244 98 + 200 3 11 9 1 101 44 89 44 89 32 + 200 3 11 1 10 101 44 89 32 101 32 + 200 3 13 11 10 248 112 244 112 256 98 + 200 3 13 10 12 248 112 256 98 256 102 + 200 3 15 4 7 244 112 256 98 256 102 + 200 3 15 7 14 244 112 256 102 248 112 + 200 3 17 4 15 89 32 101 32 101 44 + 200 3 17 15 16 89 32 101 44 89 44 + 200 3 19 17 16 244 102 244 98 256 112 + 200 3 19 16 18 244 102 256 112 252 112 + 200 3 21 20 12 256 97 252 97 244 87 + 200 3 21 12 10 256 97 244 87 244 83 + 200 3 21 10 17 157 193 157 179 171 179 + 200 3 21 17 22 157 193 171 179 171 193 + 200 3 22 17 19 244 97 256 83 256 87 + 200 3 22 19 23 244 97 256 87 248 97 + 200 3 4 17 10 89 32 101 32 101 44 + 200 3 4 10 1 89 32 101 44 89 44 200 3 0 8 24 171 58 171 74 168 74 200 3 24 3 0 178 74 175 74 175 58 200 3 12 20 25 171 58 171 74 168 74 @@ -53,4 +66,4 @@ POLYGONS 21 200 3 26 14 7 178 74 175 74 175 58 200 3 7 6 26 171 58 171 74 168 74 200 3 27 23 19 178 74 175 74 175 58 - 200 3 19 18 27 171 58 171 74 168 74 + 200 3 19 18 27 171 58 171 74 168 74 \ No newline at end of file diff --git a/data/base/misc/researchimds/iccybmg.pie b/data/base/misc/researchimds/iccybmg.pie index a2d4eceb0..6be056be8 100644 --- a/data/base/misc/researchimds/iccybmg.pie +++ b/data/base/misc/researchimds/iccybmg.pie @@ -28,13 +28,22 @@ POINTS 24 4 -14 -13 4 -4 -13 -4 -4 -13 -POLYGONS 9 - 200 4 0 1 2 3 156 200 156 205 170 205 170 200 - 200 4 3 2 1 0 170 200 170 205 156 205 156 200 - 200 4 4 5 6 7 155 210 140 210 140 200 155 200 - 200 4 7 6 5 4 155 200 140 200 140 210 155 210 - 200 4 8 9 10 11 155 210 140 210 140 200 155 200 - 200 4 11 10 9 8 155 200 140 200 140 210 155 210 - 200 4 15 14 13 12 112 192 118 192 118 186 112 186 - 200 4 19 18 17 16 117 193 117 187 129 187 129 193 - 200 4 23 22 21 20 118 186 118 192 124 192 124 186 +POLYGONS 18 + 200 3 0 1 2 156 200 156 205 170 205 + 200 3 0 2 3 156 200 170 205 170 200 + 200 3 3 2 1 170 200 170 205 156 205 + 200 3 3 1 0 170 200 156 205 156 200 + 200 3 4 5 6 155 210 140 210 140 200 + 200 3 4 6 7 155 210 140 200 155 200 + 200 3 7 6 5 155 200 140 200 140 210 + 200 3 7 5 4 155 200 140 210 155 210 + 200 3 8 9 10 155 210 140 210 140 200 + 200 3 8 10 11 155 210 140 200 155 200 + 200 3 11 10 9 155 200 140 200 140 210 + 200 3 11 9 8 155 200 140 210 155 210 + 200 3 15 14 13 112 192 118 192 118 186 + 200 3 15 13 12 112 192 118 186 112 186 + 200 3 19 18 17 117 193 117 187 129 187 + 200 3 19 17 16 117 193 129 187 129 193 + 200 3 23 22 21 118 186 118 192 124 192 + 200 3 23 21 20 118 186 124 192 124 186 \ No newline at end of file diff --git a/data/base/misc/researchimds/iceng.pie b/data/base/misc/researchimds/iceng.pie index 5783ed8ae..6d904693e 100644 --- a/data/base/misc/researchimds/iceng.pie +++ b/data/base/misc/researchimds/iceng.pie @@ -54,32 +54,58 @@ POINTS 50 12 20 -16 4 27 14 4 27 -15 -POLYGONS 28 - 200 4 45 47 49 48 139 73 128 73 128 69 139 69 - 200 4 33 30 28 29 116 61 116 74 126 74 126 61 - 200 4 46 42 48 49 128 68 139 68 139 69 128 69 - 200 4 33 32 31 30 142 68 126 68 126 76 142 76 - 200 4 44 11 46 47 126 73 126 68 128 68 128 73 - 200 4 31 32 26 27 126 74 126 61 116 61 116 74 - 200 4 43 16 44 45 139 76 126 76 126 73 139 73 - 200 4 29 28 27 26 126 68 126 76 142 76 142 68 - 200 4 8 15 43 42 142 68 142 76 139 76 139 68 - 200 4 15 9 12 14 20 189 20 179 27 181 27 187 +POLYGONS 54 + 200 3 45 47 49 139 73 128 73 128 69 + 200 3 45 49 48 139 73 128 69 139 69 + 200 3 33 30 28 116 61 116 74 126 74 + 200 3 33 28 29 116 61 126 74 126 61 + 200 3 46 42 48 128 68 139 68 139 69 + 200 3 46 48 49 128 68 139 69 128 69 + 200 3 33 32 31 142 68 126 68 126 76 + 200 3 33 31 30 142 68 126 76 142 76 + 200 3 44 11 46 126 73 126 68 128 68 + 200 3 44 46 47 126 73 128 68 128 73 + 200 3 31 32 26 126 74 126 61 116 61 + 200 3 31 26 27 126 74 116 61 116 74 + 200 3 43 16 44 139 76 126 76 126 73 + 200 3 43 44 45 139 76 126 73 139 73 + 200 3 29 28 27 126 68 126 76 142 76 + 200 3 29 27 26 126 68 142 76 142 68 + 200 3 8 15 43 142 68 142 76 139 76 + 200 3 8 43 42 142 68 139 76 139 68 + 200 3 15 9 12 20 189 20 179 27 181 + 200 3 15 12 14 20 189 27 181 27 187 200 3 15 8 9 20 189 16 184 20 179 - 200 4 17 16 15 14 104 140 104 159 123 159 123 140 - 200 4 10 16 17 13 23 179 23 189 16 187 16 181 + 200 3 17 16 15 104 140 104 159 123 159 + 200 3 17 15 14 104 140 123 159 123 140 + 200 3 10 16 17 23 179 23 189 16 187 + 200 3 10 17 13 23 179 16 187 16 181 200 3 10 11 16 23 179 27 184 23 189 - 200 4 11 10 9 8 126 68 126 76 142 76 142 68 - 200 4 41 40 39 38 142 68 126 68 126 76 142 76 - 200 4 41 38 36 37 116 61 116 74 126 74 126 61 - 200 4 37 36 35 34 126 68 126 76 142 76 142 68 - 200 4 39 40 34 35 126 74 126 61 116 61 116 74 - 200 4 21 20 19 18 179 173 186 156 179 159 176 166 - 200 4 21 23 22 20 179 173 196 166 193 159 186 156 - 200 4 21 25 24 23 179 173 186 176 193 173 196 166 - 200 4 10 13 12 9 104 159 104 140 123 140 123 159 - 200 4 32 33 29 26 209 73 201 73 201 96 209 96 - 200 4 7 2 5 6 186 176 179 173 196 166 193 173 - 200 4 5 2 3 4 196 166 179 173 186 156 193 159 - 200 4 3 2 1 0 186 156 179 173 176 166 179 159 - 200 4 40 41 37 34 209 73 201 73 201 96 209 96 + 200 3 11 10 9 126 68 126 76 142 76 + 200 3 11 9 8 126 68 142 76 142 68 + 200 3 41 40 39 142 68 126 68 126 76 + 200 3 41 39 38 142 68 126 76 142 76 + 200 3 41 38 36 116 61 116 74 126 74 + 200 3 41 36 37 116 61 126 74 126 61 + 200 3 37 36 35 126 68 126 76 142 76 + 200 3 37 35 34 126 68 142 76 142 68 + 200 3 39 40 34 126 74 126 61 116 61 + 200 3 39 34 35 126 74 116 61 116 74 + 200 3 21 20 19 179 173 186 156 179 159 + 200 3 21 19 18 179 173 179 159 176 166 + 200 3 21 23 22 179 173 196 166 193 159 + 200 3 21 22 20 179 173 193 159 186 156 + 200 3 21 25 24 179 173 186 176 193 173 + 200 3 21 24 23 179 173 193 173 196 166 + 200 3 10 13 12 104 159 104 140 123 140 + 200 3 10 12 9 104 159 123 140 123 159 + 200 3 32 33 29 209 73 201 73 201 96 + 200 3 32 29 26 209 73 201 96 209 96 + 200 3 7 2 5 186 176 179 173 196 166 + 200 3 7 5 6 186 176 196 166 193 173 + 200 3 5 2 3 196 166 179 173 186 156 + 200 3 5 3 4 196 166 186 156 193 159 + 200 3 3 2 1 186 156 179 173 176 166 + 200 3 3 1 0 186 156 176 166 179 159 + 200 3 40 41 37 209 73 201 73 201 96 + 200 3 40 37 34 209 73 201 96 209 96 \ No newline at end of file diff --git a/data/base/misc/researchimds/icmolql.pie b/data/base/misc/researchimds/icmolql.pie index cbd101b3f..2c43b6c87 100644 --- a/data/base/misc/researchimds/icmolql.pie +++ b/data/base/misc/researchimds/icmolql.pie @@ -20,20 +20,36 @@ POINTS 16 -17 0 18 18 0 18 18 35 18 -POLYGONS 16 - 200 4 14 15 12 13 123 159 123 140 104 140 104 159 - 200 4 2 15 14 1 117 140 104 140 104 159 117 159 - 200 4 15 2 4 12 85 159 98 159 98 140 85 140 - 200 4 13 12 4 6 117 159 117 140 104 140 104 159 - 200 4 2 1 6 4 123 140 123 159 142 159 142 140 - 200 4 7 5 9 8 117 159 117 140 104 140 104 159 - 200 4 0 3 5 7 123 159 123 140 104 140 104 159 - 200 4 6 7 5 4 170 154 181 154 181 141 170 141 - 200 4 4 5 7 6 170 141 181 141 181 154 170 154 - 200 4 3 11 9 5 85 159 98 159 98 140 85 140 - 200 4 2 4 5 3 170 141 170 154 181 154 181 141 - 200 4 3 5 4 2 181 141 181 154 170 154 170 141 - 200 4 11 10 8 9 123 140 123 159 142 159 142 140 - 200 4 11 3 0 10 117 140 104 140 104 159 117 159 - 200 4 0 1 2 3 170 154 181 154 181 141 170 141 - 200 4 3 2 1 0 170 141 181 141 181 154 170 154 +POLYGONS 32 + 200 3 14 15 12 123 159 123 140 104 140 + 200 3 14 12 13 123 159 104 140 104 159 + 200 3 2 15 14 117 140 104 140 104 159 + 200 3 2 14 1 117 140 104 159 117 159 + 200 3 15 2 4 85 159 98 159 98 140 + 200 3 15 4 12 85 159 98 140 85 140 + 200 3 13 12 4 117 159 117 140 104 140 + 200 3 13 4 6 117 159 104 140 104 159 + 200 3 2 1 6 123 140 123 159 142 159 + 200 3 2 6 4 123 140 142 159 142 140 + 200 3 7 5 9 117 159 117 140 104 140 + 200 3 7 9 8 117 159 104 140 104 159 + 200 3 0 3 5 123 159 123 140 104 140 + 200 3 0 5 7 123 159 104 140 104 159 + 200 3 6 7 5 170 154 181 154 181 141 + 200 3 6 5 4 170 154 181 141 170 141 + 200 3 4 5 7 170 141 181 141 181 154 + 200 3 4 7 6 170 141 181 154 170 154 + 200 3 3 11 9 85 159 98 159 98 140 + 200 3 3 9 5 85 159 98 140 85 140 + 200 3 2 4 5 170 141 170 154 181 154 + 200 3 2 5 3 170 141 181 154 181 141 + 200 3 3 5 4 181 141 181 154 170 154 + 200 3 3 4 2 181 141 170 154 170 141 + 200 3 11 10 8 123 140 123 159 142 159 + 200 3 11 8 9 123 140 142 159 142 140 + 200 3 11 3 0 117 140 104 140 104 159 + 200 3 11 0 10 117 140 104 159 117 159 + 200 3 0 1 2 170 154 181 154 181 141 + 200 3 0 2 3 170 154 181 141 170 141 + 200 3 3 2 1 170 141 181 141 181 154 + 200 3 3 1 0 170 141 181 154 170 154 \ No newline at end of file diff --git a/data/base/misc/researchimds/icmslcd.pie b/data/base/misc/researchimds/icmslcd.pie index c4076b28b..82a54c312 100644 --- a/data/base/misc/researchimds/icmslcd.pie +++ b/data/base/misc/researchimds/icmslcd.pie @@ -42,8 +42,9 @@ POINTS 38 4 23 -44 4 1 -44 -4 1 -44 -POLYGONS 38 - 200 4 11 12 4 3 89 172 90 172 90 175 89 175 +POLYGONS 48 + 200 3 11 12 4 89 172 90 172 90 175 + 200 3 11 4 3 89 172 90 175 89 175 200 3 12 11 16 30 238 38 235 38 246 200 3 9 10 16 45 238 48 246 38 246 200 3 10 15 16 48 246 45 253 38 246 @@ -60,24 +61,33 @@ POLYGONS 38 200 3 6 7 0 45 253 38 256 38 246 200 3 4 5 0 45 238 48 246 38 246 200 3 5 6 0 48 246 45 253 38 246 - 200 4 13 14 6 5 95 172 96 172 96 175 95 175 - 200 4 12 13 5 4 84 172 86 172 86 175 84 175 + 200 3 13 14 6 95 172 96 172 96 175 + 200 3 13 6 5 95 172 96 175 95 175 + 200 3 12 13 5 84 172 86 172 86 175 + 200 3 12 5 4 84 172 86 175 84 175 200 3 31 30 28 90 175 87 175 89 172 200 3 30 29 28 84 175 81 175 83 172 200 3 29 32 28 90 175 87 175 89 172 - 200 4 15 10 2 8 84 172 86 172 86 175 84 175 - 200 4 9 11 3 1 81 172 83 172 83 175 81 175 - 200 4 29 30 31 32 87 175 84 175 84 172 87 172 + 200 3 15 10 2 84 172 86 172 86 175 + 200 3 15 2 8 84 172 86 175 84 175 + 200 3 9 11 3 81 172 83 172 83 175 + 200 3 9 3 1 81 172 83 175 81 175 + 200 3 29 30 31 87 175 84 175 84 172 + 200 3 29 31 32 87 175 84 172 87 172 200 3 36 35 33 90 175 87 175 89 172 200 3 34 37 33 90 175 87 175 89 172 200 3 35 34 33 84 175 81 175 83 172 - 200 4 10 9 1 2 89 172 90 172 90 175 89 175 + 200 3 10 9 1 89 172 90 172 90 175 + 200 3 10 1 2 89 172 90 175 89 175 200 3 26 25 23 90 175 87 175 89 172 200 3 24 27 23 90 175 87 175 89 172 200 3 25 24 23 84 175 81 175 83 172 - 200 4 24 25 26 27 87 175 84 175 84 172 87 172 + 200 3 24 25 26 87 175 84 175 84 172 + 200 3 24 26 27 87 175 84 172 87 172 200 3 19 22 18 90 175 87 175 89 172 200 3 21 20 18 90 175 87 175 89 172 - 200 4 19 20 21 22 87 175 84 175 84 172 87 172 + 200 3 19 20 21 87 175 84 175 84 172 + 200 3 19 21 22 87 175 84 172 87 172 200 3 20 19 18 84 175 81 175 83 172 - 200 4 34 35 36 37 87 175 84 175 84 172 87 172 + 200 3 34 35 36 87 175 84 175 84 172 + 200 3 34 36 37 87 175 84 172 87 172 \ No newline at end of file diff --git a/data/base/misc/researchimds/icspaner.pie b/data/base/misc/researchimds/icspaner.pie index 423840e7a..3db0c0cd1 100644 --- a/data/base/misc/researchimds/icspaner.pie +++ b/data/base/misc/researchimds/icspaner.pie @@ -36,30 +36,48 @@ POINTS 32 8 57 -17 8 44 -17 3 50 -12 -POLYGONS 26 - 200 4 3 2 1 0 129 140 137 140 137 153 129 153 - 200 4 2 5 4 1 99 140 91 140 91 153 99 153 - 200 4 5 7 6 4 137 140 129 140 129 153 137 153 - 200 4 11 10 9 8 91 140 99 140 99 153 91 153 - 200 4 10 13 12 9 99 140 91 140 91 153 99 153 - 200 4 15 11 8 14 129 140 137 140 137 153 129 153 - 200 4 19 18 17 16 118 140 110 140 110 153 118 153 - 200 4 18 21 20 17 129 140 137 140 137 153 129 153 - 200 4 21 23 22 20 91 140 99 140 99 153 91 153 - 200 4 27 26 25 24 118 140 110 140 110 153 118 153 - 200 4 26 29 28 25 129 140 137 140 137 153 129 153 - 200 4 31 27 24 30 99 140 91 140 91 153 99 153 - 200 4 29 19 16 28 132 140 134 140 134 153 132 153 - 200 4 7 31 30 6 118 140 110 140 110 153 118 153 - 200 4 23 15 14 22 110 140 118 140 118 153 110 153 - 200 4 13 3 0 12 113 140 115 140 115 153 113 153 +POLYGONS 44 + 200 3 3 2 1 129 140 137 140 137 153 + 200 3 3 1 0 129 140 137 153 129 153 + 200 3 2 5 4 99 140 91 140 91 153 + 200 3 2 4 1 99 140 91 153 99 153 + 200 3 5 7 6 137 140 129 140 129 153 + 200 3 5 6 4 137 140 129 153 137 153 + 200 3 11 10 9 91 140 99 140 99 153 + 200 3 11 9 8 91 140 99 153 91 153 + 200 3 10 13 12 99 140 91 140 91 153 + 200 3 10 12 9 99 140 91 153 99 153 + 200 3 15 11 8 129 140 137 140 137 153 + 200 3 15 8 14 129 140 137 153 129 153 + 200 3 19 18 17 118 140 110 140 110 153 + 200 3 19 17 16 118 140 110 153 118 153 + 200 3 18 21 20 129 140 137 140 137 153 + 200 3 18 20 17 129 140 137 153 129 153 + 200 3 21 23 22 91 140 99 140 99 153 + 200 3 21 22 20 91 140 99 153 91 153 + 200 3 27 26 25 118 140 110 140 110 153 + 200 3 27 25 24 118 140 110 153 118 153 + 200 3 26 29 28 129 140 137 140 137 153 + 200 3 26 28 25 129 140 137 153 129 153 + 200 3 31 27 24 99 140 91 140 91 153 + 200 3 31 24 30 99 140 91 153 99 153 + 200 3 29 19 16 132 140 134 140 134 153 + 200 3 29 16 28 132 140 134 153 132 153 + 200 3 7 31 30 118 140 110 140 110 153 + 200 3 7 30 6 118 140 110 153 118 153 + 200 3 23 15 14 110 140 118 140 118 153 + 200 3 23 14 22 110 140 118 153 110 153 + 200 3 13 3 0 113 140 115 140 115 153 + 200 3 13 0 12 113 140 115 153 113 153 200 3 27 31 26 85 152 91 150 91 154 200 3 23 21 18 98 150 104 152 98 154 200 3 5 2 7 85 142 91 140 91 144 200 3 10 11 15 98 140 104 142 98 144 - 200 4 29 3 13 19 91 152 91 142 98 142 98 152 + 200 3 29 3 13 91 152 91 142 98 142 + 200 3 29 13 19 91 152 98 142 98 152 200 3 6 1 4 129 144 129 140 123 142 200 3 14 8 9 136 144 142 142 136 140 200 3 17 20 22 136 154 142 152 136 150 200 3 24 25 30 123 152 129 154 129 150 - 200 4 16 12 0 28 136 152 136 142 129 142 129 152 + 200 3 16 12 0 136 152 136 142 129 142 + 200 3 16 0 28 136 152 129 142 129 152 \ No newline at end of file diff --git a/data/base/misc/taljetfx.pie b/data/base/misc/taljetfx.pie index 00964af15..d041a27cb 100644 --- a/data/base/misc/taljetfx.pie +++ b/data/base/misc/taljetfx.pie @@ -28,16 +28,28 @@ POINTS 24 -6 14 40 6 14 40 6 14 31 -POLYGONS 12 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 24 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/misc/tbmjetfx.pie b/data/base/misc/tbmjetfx.pie index 742f3364d..5aabb8e6a 100644 --- a/data/base/misc/tbmjetfx.pie +++ b/data/base/misc/tbmjetfx.pie @@ -28,16 +28,28 @@ POINTS 24 -48 -5 9 -28 -5 9 -28 6 5 -POLYGONS 12 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 24 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/base/misc/tchjetfx.pie b/data/base/misc/tchjetfx.pie index c5eb4977d..72d1fbb89 100644 --- a/data/base/misc/tchjetfx.pie +++ b/data/base/misc/tchjetfx.pie @@ -44,24 +44,44 @@ POINTS 40 -11 31 72 11 31 72 11 31 58 -POLYGONS 20 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 24 25 26 27 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 27 26 25 24 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 28 29 30 31 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 31 30 29 28 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 32 33 34 35 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 35 34 33 32 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 36 37 38 39 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 39 38 37 36 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 + 4200 3 24 25 26 8 1 32 15 32 216 32 201 0 201 + 4200 3 24 26 27 8 1 32 15 32 216 0 201 0 216 + 4200 3 27 26 25 8 1 32 15 0 216 0 201 32 201 + 4200 3 27 25 24 8 1 32 15 0 216 32 201 32 216 + 4200 3 28 29 30 8 1 32 15 32 216 32 201 0 201 + 4200 3 28 30 31 8 1 32 15 32 216 0 201 0 216 + 4200 3 31 30 29 8 1 32 15 0 216 0 201 32 201 + 4200 3 31 29 28 8 1 32 15 0 216 32 201 32 216 + 4200 3 32 33 34 8 1 32 15 32 216 32 201 0 201 + 4200 3 32 34 35 8 1 32 15 32 216 0 201 0 216 + 4200 3 35 34 33 8 1 32 15 0 216 0 201 32 201 + 4200 3 35 33 32 8 1 32 15 0 216 32 201 32 216 + 4200 3 36 37 38 8 1 32 15 32 216 32 201 0 201 + 4200 3 36 38 39 8 1 32 15 32 216 0 201 0 216 + 4200 3 39 38 37 8 1 32 15 0 216 0 201 32 201 + 4200 3 39 37 36 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file diff --git a/data/mp/effects/fxflech4.pie b/data/mp/effects/fxflech4.pie index 4e0b7a2c0..c88ed25e3 100644 --- a/data/mp/effects/fxflech4.pie +++ b/data/mp/effects/fxflech4.pie @@ -8,6 +8,8 @@ POINTS 4 -150 241 0 149 241 0 149 -18 0 -POLYGONS 2 - 4200 4 0 1 2 3 16 1 32 32 31 31 31 1 1 1 1 31 - 4200 4 3 2 1 0 16 1 32 32 1 31 1 1 31 1 31 31 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 16 1 32 32 31 31 31 1 1 1 + 4200 3 0 2 3 16 1 32 32 31 31 1 1 1 31 + 4200 3 3 2 1 16 1 32 32 1 31 1 1 31 1 + 4200 3 3 1 0 16 1 32 32 1 31 31 1 31 31 \ No newline at end of file diff --git a/data/mp/effects/fxgrdexs.pie b/data/mp/effects/fxgrdexs.pie index ffb11579d..b6521527f 100644 --- a/data/mp/effects/fxgrdexs.pie +++ b/data/mp/effects/fxgrdexs.pie @@ -8,6 +8,8 @@ POINTS 4 -114 -56 0 112 -56 0 112 367 0 -POLYGONS 2 - 4200 4 0 1 2 3 15 1 32 63 31 2 31 61 1 61 1 2 - 4200 4 3 2 1 0 15 1 32 63 1 2 1 61 31 61 31 2 \ No newline at end of file +POLYGONS 4 + 4200 3 0 1 2 15 1 32 63 31 2 31 61 1 61 + 4200 3 0 2 3 15 1 32 63 31 2 1 61 1 2 + 4200 3 3 2 1 15 1 32 63 1 2 1 61 31 61 + 4200 3 3 1 0 15 1 32 63 1 2 31 61 31 2 \ No newline at end of file diff --git a/data/mp/effects/fxlbmbe1.pie b/data/mp/effects/fxlbmbe1.pie index 38d0e2d84..675e8d7c5 100644 --- a/data/mp/effects/fxlbmbe1.pie +++ b/data/mp/effects/fxlbmbe1.pie @@ -26,4 +26,4 @@ POLYGONS 16 200 3 1 3 2 235 10 235 1 239 10 200 3 2 3 1 239 10 235 1 235 10 200 3 5 4 3 230 10 226 10 235 1 - 200 3 3 4 5 235 1 226 10 230 10 + 200 3 3 4 5 235 1 226 10 230 10 \ No newline at end of file diff --git a/data/mp/effects/fxlbmbe2.pie b/data/mp/effects/fxlbmbe2.pie index d925719a2..f8fa5a74a 100644 --- a/data/mp/effects/fxlbmbe2.pie +++ b/data/mp/effects/fxlbmbe2.pie @@ -26,4 +26,4 @@ POLYGONS 16 200 3 1 3 2 235 10 235 1 239 10 200 3 2 3 1 239 10 235 1 235 10 200 3 5 4 3 230 10 226 10 235 1 - 200 3 3 4 5 235 1 226 10 230 10 + 200 3 3 4 5 235 1 226 10 230 10 \ No newline at end of file diff --git a/data/mp/effects/fxlbmbp1.pie b/data/mp/effects/fxlbmbp1.pie index 00a341086..b0c95e5f9 100644 --- a/data/mp/effects/fxlbmbp1.pie +++ b/data/mp/effects/fxlbmbp1.pie @@ -15,4 +15,4 @@ POLYGONS 6 200 3 2 0 4 202 228 215 228 206 239 200 3 3 2 4 215 228 202 228 208 239 200 3 0 3 4 215 228 202 228 208 239 - 200 3 1 2 3 208 239 215 228 202 228 + 200 3 1 2 3 208 239 215 228 202 228 \ No newline at end of file diff --git a/data/mp/effects/fxlbmbp2.pie b/data/mp/effects/fxlbmbp2.pie index 7c030e7e8..bb2c88074 100644 --- a/data/mp/effects/fxlbmbp2.pie +++ b/data/mp/effects/fxlbmbp2.pie @@ -15,4 +15,4 @@ POLYGONS 6 200 3 2 0 4 202 228 215 228 206 239 200 3 3 2 4 215 229 202 228 209 239 200 3 0 3 4 202 228 215 228 206 239 - 200 3 1 2 3 208 239 215 228 202 228 + 200 3 1 2 3 208 239 215 228 202 228 \ No newline at end of file diff --git a/data/mp/effects/fxshcana.pie b/data/mp/effects/fxshcana.pie index 00d7353b7..305cfc375 100644 --- a/data/mp/effects/fxshcana.pie +++ b/data/mp/effects/fxshcana.pie @@ -12,8 +12,12 @@ POINTS 8 -7 0 -17 7 0 -17 7 0 17 -POLYGONS 4 - 200 4 0 1 2 3 203 74 203 54 192 54 192 74 - 200 4 3 2 1 0 192 74 192 54 203 54 203 74 - 200 4 4 5 6 7 203 74 203 54 192 54 192 74 - 200 4 7 6 5 4 192 74 192 54 203 54 203 74 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 203 74 203 54 192 54 + 200 3 0 2 3 203 74 192 54 192 74 + 200 3 3 2 1 192 74 192 54 203 54 + 200 3 3 1 0 192 74 203 54 203 74 + 200 3 4 5 6 203 74 203 54 192 54 + 200 3 4 6 7 203 74 192 54 192 74 + 200 3 7 6 5 192 74 192 54 203 54 + 200 3 7 5 4 192 74 203 54 203 74 \ No newline at end of file diff --git a/data/mp/effects/fxshcanm.pie b/data/mp/effects/fxshcanm.pie index 8a78a502c..669eadfbc 100644 --- a/data/mp/effects/fxshcanm.pie +++ b/data/mp/effects/fxshcanm.pie @@ -44,24 +44,44 @@ POINTS 40 -238 0 -70 -238 0 78 -1 0 78 -POLYGONS 20 - 4200 4 0 1 2 3 16 1 32 64 0 64 32 64 32 0 0 0 - 4200 4 3 2 1 0 16 1 32 64 0 0 32 0 32 64 0 64 - 4200 4 4 5 6 7 16 1 32 64 0 64 32 64 32 0 0 0 - 4200 4 7 6 5 4 16 1 32 64 0 0 32 0 32 64 0 64 - 4200 4 8 9 10 11 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 11 10 9 8 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 12 13 14 15 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 15 14 13 12 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 16 17 18 19 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 19 18 17 16 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 20 21 22 23 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 23 22 21 20 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 24 25 26 27 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 27 26 25 24 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 28 29 30 31 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 31 30 29 28 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 32 33 34 35 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 35 34 33 32 16 1 32 64 0 53 0 0 32 0 32 53 - 4200 4 36 37 38 39 16 1 32 64 32 53 32 0 0 0 0 53 - 4200 4 39 38 37 36 16 1 32 64 0 53 0 0 32 0 32 53 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 16 1 32 64 0 64 32 64 32 0 + 4200 3 0 2 3 16 1 32 64 0 64 32 0 0 0 + 4200 3 3 2 1 16 1 32 64 0 0 32 0 32 64 + 4200 3 3 1 0 16 1 32 64 0 0 32 64 0 64 + 4200 3 4 5 6 16 1 32 64 0 64 32 64 32 0 + 4200 3 4 6 7 16 1 32 64 0 64 32 0 0 0 + 4200 3 7 6 5 16 1 32 64 0 0 32 0 32 64 + 4200 3 7 5 4 16 1 32 64 0 0 32 64 0 64 + 4200 3 8 9 10 16 1 32 64 32 53 32 0 0 0 + 4200 3 8 10 11 16 1 32 64 32 53 0 0 0 53 + 4200 3 11 10 9 16 1 32 64 0 53 0 0 32 0 + 4200 3 11 9 8 16 1 32 64 0 53 32 0 32 53 + 4200 3 12 13 14 16 1 32 64 32 53 32 0 0 0 + 4200 3 12 14 15 16 1 32 64 32 53 0 0 0 53 + 4200 3 15 14 13 16 1 32 64 0 53 0 0 32 0 + 4200 3 15 13 12 16 1 32 64 0 53 32 0 32 53 + 4200 3 16 17 18 16 1 32 64 32 53 32 0 0 0 + 4200 3 16 18 19 16 1 32 64 32 53 0 0 0 53 + 4200 3 19 18 17 16 1 32 64 0 53 0 0 32 0 + 4200 3 19 17 16 16 1 32 64 0 53 32 0 32 53 + 4200 3 20 21 22 16 1 32 64 32 53 32 0 0 0 + 4200 3 20 22 23 16 1 32 64 32 53 0 0 0 53 + 4200 3 23 22 21 16 1 32 64 0 53 0 0 32 0 + 4200 3 23 21 20 16 1 32 64 0 53 32 0 32 53 + 4200 3 24 25 26 16 1 32 64 32 53 32 0 0 0 + 4200 3 24 26 27 16 1 32 64 32 53 0 0 0 53 + 4200 3 27 26 25 16 1 32 64 0 53 0 0 32 0 + 4200 3 27 25 24 16 1 32 64 0 53 32 0 32 53 + 4200 3 28 29 30 16 1 32 64 32 53 32 0 0 0 + 4200 3 28 30 31 16 1 32 64 32 53 0 0 0 53 + 4200 3 31 30 29 16 1 32 64 0 53 0 0 32 0 + 4200 3 31 29 28 16 1 32 64 0 53 32 0 32 53 + 4200 3 32 33 34 16 1 32 64 32 53 32 0 0 0 + 4200 3 32 34 35 16 1 32 64 32 53 0 0 0 53 + 4200 3 35 34 33 16 1 32 64 0 53 0 0 32 0 + 4200 3 35 33 32 16 1 32 64 0 53 32 0 32 53 + 4200 3 36 37 38 16 1 32 64 32 53 32 0 0 0 + 4200 3 36 38 39 16 1 32 64 32 53 0 0 0 53 + 4200 3 39 38 37 16 1 32 64 0 53 0 0 32 0 + 4200 3 39 37 36 16 1 32 64 0 53 32 0 32 53 \ No newline at end of file diff --git a/data/mp/effects/fxshgssa.pie b/data/mp/effects/fxshgssa.pie index e6ccabda3..4a5f8e849 100644 --- a/data/mp/effects/fxshgssa.pie +++ b/data/mp/effects/fxshgssa.pie @@ -12,8 +12,12 @@ POINTS 8 -7 0 -17 7 0 -17 7 0 17 -POLYGONS 4 - 200 4 0 1 2 3 29 138 0 138 0 151 29 151 - 200 4 3 2 1 0 29 151 0 151 0 138 29 138 - 200 4 4 5 6 7 29 138 0 138 0 151 29 151 - 200 4 7 6 5 4 29 151 0 151 0 138 29 138 \ No newline at end of file +POLYGONS 8 + 200 3 0 1 2 29 138 0 138 0 151 + 200 3 0 2 3 29 138 0 151 29 151 + 200 3 3 2 1 29 151 0 151 0 138 + 200 3 3 1 0 29 151 0 138 29 138 + 200 3 4 5 6 29 138 0 138 0 151 + 200 3 4 6 7 29 138 0 151 29 151 + 200 3 7 6 5 29 151 0 151 0 138 + 200 3 7 5 4 29 151 0 138 29 138 \ No newline at end of file diff --git a/data/mp/effects/fxshgssm.pie b/data/mp/effects/fxshgssm.pie index 192b7f4f4..8363b7c33 100644 --- a/data/mp/effects/fxshgssm.pie +++ b/data/mp/effects/fxshgssm.pie @@ -36,20 +36,36 @@ POINTS 32 18 0 114 85 0 114 85 0 -41 -POLYGONS 16 - 4200 4 0 1 2 3 16 1 32 41 0 0 0 41 16 41 16 0 - 4200 4 3 2 1 0 16 1 32 41 16 0 16 41 0 41 0 0 - 4200 4 4 5 6 7 16 1 32 41 16 0 16 41 32 41 32 0 - 4200 4 7 6 5 4 16 1 32 41 32 0 32 41 16 41 16 0 - 4200 4 8 9 10 11 16 1 32 41 0 0 0 41 16 41 16 0 - 4200 4 11 10 9 8 16 1 32 41 16 0 16 41 0 41 0 0 - 4200 4 12 13 14 15 16 1 32 41 16 0 16 41 32 41 32 0 - 4200 4 15 14 13 12 16 1 32 41 32 0 32 41 16 41 16 0 - 4200 4 16 17 18 19 16 1 32 41 0 0 0 41 16 41 16 0 - 4200 4 19 18 17 16 16 1 32 41 16 0 16 41 0 41 0 0 - 4200 4 20 21 22 23 16 1 32 41 16 0 16 41 32 41 32 0 - 4200 4 23 22 21 20 16 1 32 41 32 0 32 41 16 41 16 0 - 4200 4 24 25 26 27 16 1 32 41 0 0 0 41 16 41 16 0 - 4200 4 27 26 25 24 16 1 32 41 16 0 16 41 0 41 0 0 - 4200 4 28 29 30 31 16 1 32 41 16 0 16 41 32 41 32 0 - 4200 4 31 30 29 28 16 1 32 41 32 0 32 41 16 41 16 0 \ No newline at end of file +POLYGONS 32 + 4200 3 0 1 2 16 1 32 41 0 0 0 41 16 41 + 4200 3 0 2 3 16 1 32 41 0 0 16 41 16 0 + 4200 3 3 2 1 16 1 32 41 16 0 16 41 0 41 + 4200 3 3 1 0 16 1 32 41 16 0 0 41 0 0 + 4200 3 4 5 6 16 1 32 41 16 0 16 41 32 41 + 4200 3 4 6 7 16 1 32 41 16 0 32 41 32 0 + 4200 3 7 6 5 16 1 32 41 32 0 32 41 16 41 + 4200 3 7 5 4 16 1 32 41 32 0 16 41 16 0 + 4200 3 8 9 10 16 1 32 41 0 0 0 41 16 41 + 4200 3 8 10 11 16 1 32 41 0 0 16 41 16 0 + 4200 3 11 10 9 16 1 32 41 16 0 16 41 0 41 + 4200 3 11 9 8 16 1 32 41 16 0 0 41 0 0 + 4200 3 12 13 14 16 1 32 41 16 0 16 41 32 41 + 4200 3 12 14 15 16 1 32 41 16 0 32 41 32 0 + 4200 3 15 14 13 16 1 32 41 32 0 32 41 16 41 + 4200 3 15 13 12 16 1 32 41 32 0 16 41 16 0 + 4200 3 16 17 18 16 1 32 41 0 0 0 41 16 41 + 4200 3 16 18 19 16 1 32 41 0 0 16 41 16 0 + 4200 3 19 18 17 16 1 32 41 16 0 16 41 0 41 + 4200 3 19 17 16 16 1 32 41 16 0 0 41 0 0 + 4200 3 20 21 22 16 1 32 41 16 0 16 41 32 41 + 4200 3 20 22 23 16 1 32 41 16 0 32 41 32 0 + 4200 3 23 22 21 16 1 32 41 32 0 32 41 16 41 + 4200 3 23 21 20 16 1 32 41 32 0 16 41 16 0 + 4200 3 24 25 26 16 1 32 41 0 0 0 41 16 41 + 4200 3 24 26 27 16 1 32 41 0 0 16 41 16 0 + 4200 3 27 26 25 16 1 32 41 16 0 16 41 0 41 + 4200 3 27 25 24 16 1 32 41 16 0 0 41 0 0 + 4200 3 28 29 30 16 1 32 41 16 0 16 41 32 41 + 4200 3 28 30 31 16 1 32 41 16 0 32 41 32 0 + 4200 3 31 30 29 16 1 32 41 32 0 32 41 16 41 + 4200 3 31 29 28 16 1 32 41 32 0 16 41 16 0 \ No newline at end of file diff --git a/data/mp/effects/fxvtl14.pie b/data/mp/effects/fxvtl14.pie index 2efd07a38..d7ba60b47 100644 --- a/data/mp/effects/fxvtl14.pie +++ b/data/mp/effects/fxvtl14.pie @@ -44,24 +44,44 @@ POINTS 40 54 8 22 55 13 47 58 28 43 -POLYGONS 20 - 4200 4 0 1 2 3 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 3 2 1 0 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 4 5 6 7 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 7 6 5 4 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 8 9 10 11 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 11 10 9 8 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 12 13 14 15 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 15 14 13 12 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 16 17 18 19 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 19 18 17 16 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 20 21 22 23 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 23 22 21 20 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 24 25 26 27 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 27 26 25 24 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 28 29 30 31 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 31 30 29 28 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 32 33 34 35 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 35 34 33 32 8 1 32 15 0 216 0 201 32 201 32 216 - 4200 4 36 37 38 39 8 1 32 15 32 216 32 201 0 201 0 216 - 4200 4 39 38 37 36 8 1 32 15 0 216 0 201 32 201 32 216 \ No newline at end of file +POLYGONS 40 + 4200 3 0 1 2 8 1 32 15 32 216 32 201 0 201 + 4200 3 0 2 3 8 1 32 15 32 216 0 201 0 216 + 4200 3 3 2 1 8 1 32 15 0 216 0 201 32 201 + 4200 3 3 1 0 8 1 32 15 0 216 32 201 32 216 + 4200 3 4 5 6 8 1 32 15 32 216 32 201 0 201 + 4200 3 4 6 7 8 1 32 15 32 216 0 201 0 216 + 4200 3 7 6 5 8 1 32 15 0 216 0 201 32 201 + 4200 3 7 5 4 8 1 32 15 0 216 32 201 32 216 + 4200 3 8 9 10 8 1 32 15 32 216 32 201 0 201 + 4200 3 8 10 11 8 1 32 15 32 216 0 201 0 216 + 4200 3 11 10 9 8 1 32 15 0 216 0 201 32 201 + 4200 3 11 9 8 8 1 32 15 0 216 32 201 32 216 + 4200 3 12 13 14 8 1 32 15 32 216 32 201 0 201 + 4200 3 12 14 15 8 1 32 15 32 216 0 201 0 216 + 4200 3 15 14 13 8 1 32 15 0 216 0 201 32 201 + 4200 3 15 13 12 8 1 32 15 0 216 32 201 32 216 + 4200 3 16 17 18 8 1 32 15 32 216 32 201 0 201 + 4200 3 16 18 19 8 1 32 15 32 216 0 201 0 216 + 4200 3 19 18 17 8 1 32 15 0 216 0 201 32 201 + 4200 3 19 17 16 8 1 32 15 0 216 32 201 32 216 + 4200 3 20 21 22 8 1 32 15 32 216 32 201 0 201 + 4200 3 20 22 23 8 1 32 15 32 216 0 201 0 216 + 4200 3 23 22 21 8 1 32 15 0 216 0 201 32 201 + 4200 3 23 21 20 8 1 32 15 0 216 32 201 32 216 + 4200 3 24 25 26 8 1 32 15 32 216 32 201 0 201 + 4200 3 24 26 27 8 1 32 15 32 216 0 201 0 216 + 4200 3 27 26 25 8 1 32 15 0 216 0 201 32 201 + 4200 3 27 25 24 8 1 32 15 0 216 32 201 32 216 + 4200 3 28 29 30 8 1 32 15 32 216 32 201 0 201 + 4200 3 28 30 31 8 1 32 15 32 216 0 201 0 216 + 4200 3 31 30 29 8 1 32 15 0 216 0 201 32 201 + 4200 3 31 29 28 8 1 32 15 0 216 32 201 32 216 + 4200 3 32 33 34 8 1 32 15 32 216 32 201 0 201 + 4200 3 32 34 35 8 1 32 15 32 216 0 201 0 216 + 4200 3 35 34 33 8 1 32 15 0 216 0 201 32 201 + 4200 3 35 33 32 8 1 32 15 0 216 32 201 32 216 + 4200 3 36 37 38 8 1 32 15 32 216 32 201 0 201 + 4200 3 36 38 39 8 1 32 15 32 216 0 201 0 216 + 4200 3 39 38 37 8 1 32 15 0 216 0 201 32 201 + 4200 3 39 37 36 8 1 32 15 0 216 32 201 32 216 \ No newline at end of file From 3d7a7b397b9ef4b842c02d449a65accd00a547af Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 18:20:51 +0100 Subject: [PATCH 060/142] simplipie: Fix error when fixing face culling and tessellation at the same time. --- data/base/features/mibridge.pie | 2 +- data/base/features/mibridgx.pie | 2 +- tools/conversion/simplipie.c | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/base/features/mibridge.pie b/data/base/features/mibridge.pie index 7d462a1ff..6b63c34ac 100644 --- a/data/base/features/mibridge.pie +++ b/data/base/features/mibridge.pie @@ -37,7 +37,7 @@ POINTS 33 -65 97 -64 0 97 -64 65 97 -64 -POLYGONS 26 +POLYGONS 28 200 3 2 1 0 199 87 199 131 194 131 200 3 0 3 2 194 131 194 87 199 87 200 3 6 5 4 194 131 194 87 199 87 diff --git a/data/base/features/mibridgx.pie b/data/base/features/mibridgx.pie index f4e350212..cd7509ea6 100644 --- a/data/base/features/mibridgx.pie +++ b/data/base/features/mibridgx.pie @@ -114,7 +114,7 @@ POINTS 110 0 127 -130 65 127 -130 65 127 -195 -POLYGONS 110 +POLYGONS 116 200 3 3 2 1 169 71 139 71 139 41 200 3 3 1 0 169 71 139 41 169 41 200 3 4 5 1 79 2 48 2 79 46 diff --git a/tools/conversion/simplipie.c b/tools/conversion/simplipie.c index be7377419..fcc94db02 100644 --- a/tools/conversion/simplipie.c +++ b/tools/conversion/simplipie.c @@ -305,6 +305,10 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) faceList[j].index[m] = posList[faceList[j].index[m]].reindex; } facesPIE3 += faceList[j].vertices - 3; // easy tessellation + if (faceList[j].cull) + { + facesPIE3 += faceList[j].vertices - 3; // must add additional face that is faced in the opposite direction also for tessellated faces + } } if (verbose && (facesPIE3 - faces)) From 88fe0bcb2e9ad550553f0654705c61a2ecece376 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 18:22:22 +0100 Subject: [PATCH 061/142] Remove support for non-triangle polygons in model files. --- lib/ivis_common/imd.cpp | 25 ++++++++++++++----------- lib/ivis_common/imd.h | 7 ------- lib/ivis_common/imdload.cpp | 25 +++++-------------------- lib/ivis_common/ivisdef.h | 4 +--- lib/ivis_common/pietypes.h | 4 ---- lib/ivis_opengl/piedraw.cpp | 6 +++--- lib/ivis_opengl/piefunc.cpp | 7 ++++--- src/display3d.cpp | 1 + 8 files changed, 28 insertions(+), 51 deletions(-) diff --git a/lib/ivis_common/imd.cpp b/lib/ivis_common/imd.cpp index 2c1e10e48..f46ebd4dc 100644 --- a/lib/ivis_common/imd.cpp +++ b/lib/ivis_common/imd.cpp @@ -32,22 +32,25 @@ //****** void iV_IMDRelease(iIMDShape *s) { - unsigned int i; - iIMDShape *d; + unsigned int i; + iIMDShape *d; - if (s) { - if (s->points) { + if (s) + { + if (s->points) + { free(s->points); } - if (s->connectors) { + if (s->connectors) + { free(s->connectors); } - if (s->polys) { - for (i = 0; i < s->npolys; i++) { - if (s->polys[i].pindex) { - free(s->polys[i].pindex); - } - if (s->polys[i].texCoord) { + if (s->polys) + { + for (i = 0; i < s->npolys; i++) + { + if (s->polys[i].texCoord) + { free(s->polys[i].texCoord); } } diff --git a/lib/ivis_common/imd.h b/lib/ivis_common/imd.h index 4944e707e..5d80a660e 100644 --- a/lib/ivis_common/imd.h +++ b/lib/ivis_common/imd.h @@ -23,19 +23,12 @@ #include "ivisdef.h" -#define IMD_NAME "IMD" #define PIE_NAME "PIE" // Pumpkin image export data file -#define IMD_VER 1 #define PIE_VER 2 #define PIE_FLOAT_VER 3 //************************************************************************* -#define iV_IMD_MAX_POINTS pie_MAX_VERTICES -#define iV_IMD_MAX_POLYS pie_MAX_POLYGONS - -//************************************************************************* - // PIE model flags #define iV_IMD_NOSTRETCH 0x00001000 #define iV_IMD_TCMASK 0x00010000 diff --git a/lib/ivis_common/imdload.cpp b/lib/ivis_common/imdload.cpp index a287c731c..1c073ff33 100644 --- a/lib/ivis_common/imdload.cpp +++ b/lib/ivis_common/imdload.cpp @@ -93,28 +93,13 @@ static bool _imd_load_polys( const char **ppFileData, iIMDShape *s, int pieVersi poly->flags = flags; poly->npnts = npnts; - - poly->pindex = (VERTEXID *)malloc(sizeof(*poly->pindex) * poly->npnts); - if (poly->pindex == NULL) + ASSERT_OR_RETURN(false, npnts == 3, "Invalid polygon size (%d)", npnts); + if (sscanf(pFileData, "%d %d %d%n", &poly->pindex[0], &poly->pindex[1], &poly->pindex[2], &cnt) != 3) { - debug(LOG_ERROR, "(_load_polys) [poly %u] memory alloc fail (poly indices)", i); + debug(LOG_ERROR, "failed reading triangle, point %d", i); return false; } - - for (j = 0; j < poly->npnts; j++) - { - int newID; - - if (sscanf(pFileData, "%d%n", &newID, &cnt) != 1) - { - debug(LOG_ERROR, "failed poly %u. point %d", i, j); - return false; - } - pFileData += cnt; - poly->pindex[j] = newID; - } - - assert(poly->npnts > 2); + pFileData += cnt; // calc poly normal { @@ -665,7 +650,7 @@ iIMDShape *iV_ProcessIMD( const char **ppFileData, const char *FileDataEnd ) } pFileData += cnt; - if (strcmp(IMD_NAME, buffer) != 0 && strcmp(PIE_NAME, buffer) !=0 ) + if (strcmp(PIE_NAME, buffer) != 0) { debug(LOG_ERROR, "iV_ProcessIMD %s not an IMD file (%s %d)", pFileName, buffer, imd_version); return NULL; diff --git a/lib/ivis_common/ivisdef.h b/lib/ivis_common/ivisdef.h index ec297b34a..e395a22d3 100644 --- a/lib/ivis_common/ivisdef.h +++ b/lib/ivis_common/ivisdef.h @@ -60,14 +60,12 @@ typedef struct edge_ int from, to; } EDGE; -typedef int VERTEXID; // Size of the entry for vertex id in the imd polygon structure - typedef struct { uint32_t flags; int32_t zcentre; unsigned int npnts; Vector3f normal; - VERTEXID *pindex; + int pindex[3]; Vector2f *texCoord; Vector2f texAnim; } iIMDPoly; diff --git a/lib/ivis_common/pietypes.h b/lib/ivis_common/pietypes.h index d8f637aad..03f30ea54 100644 --- a/lib/ivis_common/pietypes.h +++ b/lib/ivis_common/pietypes.h @@ -58,10 +58,6 @@ #define pie_RAISE_SCALE 256 -#define pie_MAX_VERTICES 768 -#define pie_MAX_POLYGONS 512 -#define pie_MAX_VERTICES_PER_POLYGON 6 - typedef enum { LIGHT_EMISSIVE, diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index 065c0a752..2164da12f 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -198,9 +198,9 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI for (pPolys = shape->polys; pPolys < shape->polys + shape->npolys; pPolys++) { - Vector3f vertexCoords[pie_MAX_VERTICES_PER_POLYGON]; + Vector3f vertexCoords[3]; unsigned int n, fidx = frame; - VERTEXID *index; + int *index; if (!(pPolys->flags & iV_IMD_TEXANIM)) { @@ -335,7 +335,7 @@ static void pie_DrawShadow(iIMDShape *shape, int flag, int flag_data, Vector3f* for (i = 0, pPolys = shape->polys; i < shape->npolys; ++i, ++pPolys) { Vector3f p[3]; - VERTEXID current, first; + int current, first; for(j = 0; j < 3; j++) { current = pPolys->pindex[j]; diff --git a/lib/ivis_opengl/piefunc.cpp b/lib/ivis_opengl/piefunc.cpp index 8c2d8a296..4f258bf3a 100644 --- a/lib/ivis_opengl/piefunc.cpp +++ b/lib/ivis_opengl/piefunc.cpp @@ -48,9 +48,10 @@ void pie_ClipEnd() glDisable(GL_SCISSOR_TEST); } +#define VW_VERTICES 5 void pie_DrawViewingWindow(Vector3i *v, UDWORD x1, UDWORD y1, UDWORD x2, UDWORD y2, PIELIGHT colour) { - CLIP_VERTEX pieVrts[pie_MAX_VERTICES_PER_POLYGON]; + CLIP_VERTEX pieVrts[VW_VERTICES]; SDWORD i; pie_SetTexturePage(TEXPAGE_NONE); @@ -81,7 +82,7 @@ void pie_DrawViewingWindow(Vector3i *v, UDWORD x1, UDWORD y1, UDWORD x2, UDWORD glColor4ub(colour.byte.r, colour.byte.g, colour.byte.b, colour.byte.a >> 1); glBegin(GL_TRIANGLE_FAN); - for (i = 0; i < 5; i++) + for (i = 0; i < VW_VERTICES; i++) { glVertex2f(pieVrts[i].pos.x, pieVrts[i].pos.y); } @@ -89,7 +90,7 @@ void pie_DrawViewingWindow(Vector3i *v, UDWORD x1, UDWORD y1, UDWORD x2, UDWORD glColor4ub(colour.byte.r, colour.byte.g, colour.byte.b, colour.byte.a); glBegin(GL_LINE_STRIP); - for (i = 0; i < 5; i++) + for (i = 0; i < VW_VERTICES; i++) { glVertex2f(pieVrts[i].pos.x, pieVrts[i].pos.y); } diff --git a/src/display3d.cpp b/src/display3d.cpp index 969f4798c..7ad9b246d 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -187,6 +187,7 @@ static UDWORD currentGameFrame; static QUAD dragQuad; /// temporary buffer used for flattening IMDs +#define iV_IMD_MAX_POINTS 500 static Vector3f alteredPoints[iV_IMD_MAX_POINTS]; /** Number of tiles visible From 2e6332ca8cd0cebdfce8e98961ca086c145599e5 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 18:59:41 +0100 Subject: [PATCH 062/142] Slight optimization: Now we draw the entire model within the same glBegin .. glEnd pair. --- lib/ivis_opengl/piedraw.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index 2164da12f..4f0300363 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -196,15 +196,16 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI frame %= MAX(1, shape->numFrames); + glBegin(GL_TRIANGLES); for (pPolys = shape->polys; pPolys < shape->polys + shape->npolys; pPolys++) { Vector3f vertexCoords[3]; - unsigned int n, fidx = frame; + unsigned int n, frameidx = frame; int *index; if (!(pPolys->flags & iV_IMD_TEXANIM)) { - fidx = 0; + frameidx = 0; } for (n = 0, index = pPolys->pindex; @@ -218,17 +219,14 @@ static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELI polyCount++; - glBegin(GL_TRIANGLE_FAN); - glNormal3fv((GLfloat*)&pPolys->normal); for (n = 0; n < pPolys->npnts; n++) { - glTexCoord2fv((GLfloat*)&pPolys->texCoord[fidx * pPolys->npnts + n]); + glTexCoord2fv((GLfloat*)&pPolys->texCoord[frameidx * pPolys->npnts + n]); glVertex3fv((GLfloat*)&vertexCoords[n]); } - - glEnd(); } + glEnd(); if (light || (pieFlag & pie_BUTTON)) { From 1c0af54edf3db922553bf2f7592827e4efe01814 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 22:18:45 +0100 Subject: [PATCH 063/142] Merge the two variants of piestate.cpp; it too confusing to keep two files with the same name doing almost the same thing. --- lib/ivis_common/Makefile.am | 1 - lib/ivis_common/makefile.win32 | 1 - lib/ivis_common/piestate.cpp | 140 --------------------------------- lib/ivis_common/piestate.h | 1 - lib/ivis_opengl/piestate.cpp | 118 ++++++++++++++++++++++++++- 5 files changed, 117 insertions(+), 144 deletions(-) delete mode 100644 lib/ivis_common/piestate.cpp diff --git a/lib/ivis_common/Makefile.am b/lib/ivis_common/Makefile.am index 845746af3..87e6fdab1 100644 --- a/lib/ivis_common/Makefile.am +++ b/lib/ivis_common/Makefile.am @@ -28,7 +28,6 @@ libivis_common_a_SOURCES = \ imdload.cpp \ jpeg_encoder.cpp \ pieclip.cpp \ - piestate.cpp \ png_util.cpp libivis_common_a_LIBADD = $(top_builddir)/lib/framework/libframework.a diff --git a/lib/ivis_common/makefile.win32 b/lib/ivis_common/makefile.win32 index bf5c62551..3d3424fc8 100644 --- a/lib/ivis_common/makefile.win32 +++ b/lib/ivis_common/makefile.win32 @@ -9,7 +9,6 @@ SRC= \ imdload.cpp \ jpeg_encoder.cpp \ pieclip.cpp \ - piestate.cpp \ png_util.cpp LIB=ivis_common diff --git a/lib/ivis_common/piestate.cpp b/lib/ivis_common/piestate.cpp deleted file mode 100644 index 0b64c4fdf..000000000 --- a/lib/ivis_common/piestate.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#include "piestate.h" - -unsigned int pieStateCount = 0; // Used in pie_GetResetCounts -RENDER_STATE rendStates; - -void pie_SetDefaultStates(void)//Sets all states -{ - PIELIGHT black; - - //fog off - rendStates.fogEnabled = false;// enable fog before renderer - rendStates.fog = false;//to force reset to false - pie_SetFogStatus(false); - black.rgba = 0; - black.byte.a = 255; - pie_SetFogColour(black);//nicks colour - - //depth Buffer on - pie_SetDepthBufferStatus(DEPTH_CMP_LEQ_WRT_ON); - - rendStates.transMode = TRANS_ALPHA;//to force reset to DECAL - pie_SetTranslucencyMode(TRANS_DECAL); - - //chroma keying on black - rendStates.keyingOn = false;//to force reset to true - pie_SetAlphaTest(true); -} - - -//*************************************************************************** -// -// pie_EnableFog(BOOL val) -// -// Global enable/disable fog to allow fog to be turned of ingame -// -//*************************************************************************** - -void pie_EnableFog(BOOL val) -{ - if (rendStates.fogEnabled != val) - { - debug(LOG_FOG, "pie_EnableFog: Setting fog to %s", val ? "ON" : "OFF"); - rendStates.fogEnabled = val; - if (val == true) - { - PIELIGHT nickscolour; - - nickscolour.byte.r = 0xB0; - nickscolour.byte.g = 0x08; - nickscolour.byte.b = 0x5f; - nickscolour.byte.a = 0xff; - pie_SetFogColour(nickscolour); // nicks colour - } - else - { - PIELIGHT black; - - black.rgba = 0; - black.byte.a = 255; - pie_SetFogColour(black); // clear background to black - } - } -} - -BOOL pie_GetFogEnabled(void) -{ - return rendStates.fogEnabled; -} - -//*************************************************************************** -// -// pie_SetFogStatus(BOOL val) -// -// Toggle fog on and off for rendering objects inside or outside the 3D world -// -//*************************************************************************** - -BOOL pie_GetFogStatus(void) -{ - return rendStates.fog; -} - -void pie_SetFogColour(PIELIGHT colour) -{ - rendStates.fogColour = colour; -} - -PIELIGHT pie_GetFogColour(void) -{ - return rendStates.fogColour; -} - -void pie_SetRendMode(REND_MODE rendMode) -{ - if (rendMode != rendStates.rendMode) - { - rendStates.rendMode = rendMode; - switch (rendMode) - { - case REND_OPAQUE: - pie_SetTranslucencyMode(TRANS_DECAL); - break; - - case REND_ALPHA: - pie_SetTranslucencyMode(TRANS_ALPHA); - break; - - case REND_ADDITIVE: - pie_SetTranslucencyMode(TRANS_ADDITIVE); - break; - - case REND_MULTIPLICATIVE: - pie_SetTranslucencyMode(TRANS_MULTIPLICATIVE); - break; - - default: - break; - } - } - return; -} diff --git a/lib/ivis_common/piestate.h b/lib/ivis_common/piestate.h index 85fed5e62..ed0e91b83 100644 --- a/lib/ivis_common/piestate.h +++ b/lib/ivis_common/piestate.h @@ -59,7 +59,6 @@ typedef struct RENDER_STATE /***************************************************************************/ extern unsigned int pieStateCount; -extern RENDER_STATE rendStates; /***************************************************************************/ /* diff --git a/lib/ivis_opengl/piestate.cpp b/lib/ivis_opengl/piestate.cpp index 0a3fcaf48..68192b719 100644 --- a/lib/ivis_opengl/piestate.cpp +++ b/lib/ivis_opengl/piestate.cpp @@ -52,15 +52,132 @@ static bool ColouredMouse = false; static IMAGEFILE* MouseCursors = NULL; static uint16_t MouseCursorIDs[CURSOR_MAX]; static bool MouseVisible = true; + static GLuint shaderProgram[SHADER_MAX]; static GLfloat shaderStretch = 0; static GLint locTeam, locStretch, locTCMask, locFog; static SHADER_MODE currentShaderMode = SHADER_NONE; +unsigned int pieStateCount = 0; // Used in pie_GetResetCounts +static RENDER_STATE rendStates; /* * Source */ +void pie_SetDefaultStates(void)//Sets all states +{ + PIELIGHT black; + + //fog off + rendStates.fogEnabled = false;// enable fog before renderer + rendStates.fog = false;//to force reset to false + pie_SetFogStatus(false); + black.rgba = 0; + black.byte.a = 255; + pie_SetFogColour(black);//nicks colour + + //depth Buffer on + pie_SetDepthBufferStatus(DEPTH_CMP_LEQ_WRT_ON); + + rendStates.transMode = TRANS_ALPHA;//to force reset to DECAL + pie_SetTranslucencyMode(TRANS_DECAL); + + //chroma keying on black + rendStates.keyingOn = false;//to force reset to true + pie_SetAlphaTest(true); +} + +//*************************************************************************** +// +// pie_EnableFog(BOOL val) +// +// Global enable/disable fog to allow fog to be turned of ingame +// +//*************************************************************************** +void pie_EnableFog(BOOL val) +{ + if (rendStates.fogEnabled != val) + { + debug(LOG_FOG, "pie_EnableFog: Setting fog to %s", val ? "ON" : "OFF"); + rendStates.fogEnabled = val; + if (val == true) + { + PIELIGHT nickscolour; + + nickscolour.byte.r = 0xB0; + nickscolour.byte.g = 0x08; + nickscolour.byte.b = 0x5f; + nickscolour.byte.a = 0xff; + pie_SetFogColour(nickscolour); // nicks colour + } + else + { + PIELIGHT black; + + black.rgba = 0; + black.byte.a = 255; + pie_SetFogColour(black); // clear background to black + } + } +} + +BOOL pie_GetFogEnabled(void) +{ + return rendStates.fogEnabled; +} + +//*************************************************************************** +// +// pie_SetFogStatus(BOOL val) +// +// Toggle fog on and off for rendering objects inside or outside the 3D world +// +//*************************************************************************** +BOOL pie_GetFogStatus(void) +{ + return rendStates.fog; +} + +void pie_SetFogColour(PIELIGHT colour) +{ + rendStates.fogColour = colour; +} + +PIELIGHT pie_GetFogColour(void) +{ + return rendStates.fogColour; +} + +void pie_SetRendMode(REND_MODE rendMode) +{ + if (rendMode != rendStates.rendMode) + { + rendStates.rendMode = rendMode; + switch (rendMode) + { + case REND_OPAQUE: + pie_SetTranslucencyMode(TRANS_DECAL); + break; + + case REND_ALPHA: + pie_SetTranslucencyMode(TRANS_ALPHA); + break; + + case REND_ADDITIVE: + pie_SetTranslucencyMode(TRANS_ADDITIVE); + break; + + case REND_MULTIPLICATIVE: + pie_SetTranslucencyMode(TRANS_MULTIPLICATIVE); + break; + + default: + break; + } + } + return; +} + // Read shader into text buffer static char *readShaderBuf(const char *name) { @@ -343,7 +460,6 @@ void pie_UpdateFogDistance(float begin, float end) // // Toggle fog on and off for rendering objects inside or outside the 3D world // - void pie_SetFogStatus(BOOL val) { float fog_colour[4]; From b15addfcf19861f11db913c18ef76e87929b9ae3 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 22:26:45 +0100 Subject: [PATCH 064/142] simplipie: Add warning when not all polygons in a mesh do not use the same number of frames for texture animation. --- tools/conversion/simplipie.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/conversion/simplipie.c b/tools/conversion/simplipie.c index fcc94db02..93fe32b4f 100644 --- a/tools/conversion/simplipie.c +++ b/tools/conversion/simplipie.c @@ -132,7 +132,7 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) for (level = 0; level < levels; level++) { - int j, points, faces, facesPIE3, textureArrays = 1; + int j, points, faces, facesPIE3; WZ_FACE *faceList; WZ_POSITION *posList; @@ -228,17 +228,18 @@ static void dump_to_pie(FILE *ctl, FILE *fp, const char *input) num = fscanf(fp, "%d %d %d %d", &faceList[j].frames, &faceList[j].rate, &faceList[j].width, &faceList[j].height); if (num != 4) { - fprintf(stderr, "File %s. Bad texture animation entry level %d, number %d.\n", input, level, j); + fprintf(stderr, "File %s - Bad texture animation entry level %d, number %d.\n", input, level, j); exit(1); } if (faceList[j].frames <= 1) { - fprintf(stderr, "File %s. Level %d, polygon %d has a single animation frame. Disabled.\n", input, level, j); + fprintf(stderr, "File %s - Level %d, polygon %d has a single animation frame. Disabled.\n", input, level, j); faceList[j].frames = 0; } - if (textureArrays < faceList[j].frames) + if (faceList[0].frames != faceList[j].frames) { - textureArrays = faceList[j].frames; + fprintf(stderr, "File %s - Polygon %d in level %d does not have the same number of frames as the first (%d, %d)!\n", + input, j, level, faceList[0].frames, faceList[j].frames); } } else From 67e9635f9f434af3c682a5ab8d2d85cb1bea584e Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 22:37:14 +0100 Subject: [PATCH 065/142] Merge the ivis_common and ivis_opengl directories, only five years and two months after I originally split them apart. --- Makefile.am | 1 - configure.ac | 1 - lib/gamelib/anim.h | 2 +- lib/ivis_common/Makefile.am | 33 ------------------- lib/ivis_common/makefile.win32 | 16 --------- lib/ivis_opengl/Makefile.am | 30 ++++++++++++++--- lib/{ivis_common => ivis_opengl}/bitimage.cpp | 0 lib/{ivis_common => ivis_opengl}/bitimage.h | 0 lib/{ivis_common => ivis_opengl}/imd.cpp | 0 lib/{ivis_common => ivis_opengl}/imd.h | 0 lib/{ivis_common => ivis_opengl}/imdload.cpp | 0 lib/ivis_opengl/ivi.cpp | 8 ++--- lib/{ivis_common => ivis_opengl}/ivi.h | 0 .../ivis_common.vcproj | 0 lib/{ivis_common => ivis_opengl}/ivisdef.h | 0 .../jpeg_encoder.cpp | 0 .../jpeg_encoder.h | 0 lib/ivis_opengl/makefile.win32 | 6 ++++ lib/ivis_opengl/pieblitfunc.cpp | 16 ++++----- .../pieblitfunc.h | 0 lib/{ivis_common => ivis_opengl}/pieclip.cpp | 0 lib/{ivis_common => ivis_opengl}/pieclip.h | 0 lib/{ivis_common => ivis_opengl}/piedef.h | 0 lib/ivis_opengl/piedraw.cpp | 16 ++++----- lib/ivis_opengl/piefunc.cpp | 10 +++--- lib/{ivis_common => ivis_opengl}/piefunc.h | 4 +-- lib/ivis_opengl/piematrix.cpp | 4 +-- lib/ivis_opengl/piematrix.h | 2 +- lib/ivis_opengl/piemode.cpp | 14 ++++---- lib/{ivis_common => ivis_opengl}/piemode.h | 0 lib/ivis_opengl/piepalette.cpp | 4 +-- lib/{ivis_common => ivis_opengl}/piepalette.h | 2 +- lib/ivis_opengl/piestate.cpp | 10 +++--- lib/{ivis_common => ivis_opengl}/piestate.h | 0 lib/{ivis_common => ivis_opengl}/pietypes.h | 0 lib/{ivis_common => ivis_opengl}/png_util.cpp | 0 lib/{ivis_common => ivis_opengl}/png_util.h | 0 lib/ivis_opengl/rendmode.cpp | 2 +- lib/{ivis_common => ivis_opengl}/rendmode.h | 0 lib/ivis_opengl/screen.cpp | 12 +++---- lib/ivis_opengl/tex.cpp | 10 +++--- lib/{ivis_common => ivis_opengl}/tex.h | 0 lib/ivis_opengl/textdraw.cpp | 14 ++++---- lib/{ivis_common => ivis_opengl}/textdraw.h | 0 lib/makefile.win32 | 1 - lib/sequence/sequence.cpp | 2 +- lib/sound/audio.cpp | 2 +- lib/widget/bar.cpp | 4 +-- lib/widget/button.cpp | 2 +- lib/widget/button.h | 2 +- lib/widget/editbox.cpp | 4 +-- lib/widget/editbox.h | 2 +- lib/widget/form.cpp | 4 +-- lib/widget/label.cpp | 2 +- lib/widget/label.h | 2 +- lib/widget/slider.cpp | 2 +- lib/widget/tip.cpp | 2 +- lib/widget/tip.h | 2 +- lib/widget/widgbase.h | 4 +-- lib/widget/widget.cpp | 2 +- lib/widget/widget.h | 4 +-- src/Makefile.am | 1 - src/atmos.h | 2 +- src/bridge.cpp | 2 +- src/challenge.cpp | 4 +-- src/component.cpp | 2 +- src/console.cpp | 6 ++-- src/data.cpp | 4 +-- src/design.cpp | 10 +++--- src/display.cpp | 2 +- src/display3d.cpp | 14 ++++---- src/display3d.h | 4 +-- src/displaydef.h | 4 +-- src/effects.cpp | 10 +++--- src/effects.h | 4 +-- src/frontend.cpp | 4 +-- src/game.cpp | 8 ++--- src/geometry.cpp | 2 +- src/hci.cpp | 8 ++--- src/hci.h | 2 +- src/ingameop.cpp | 2 +- src/init.cpp | 8 ++--- src/init.h | 2 +- src/intdisplay.cpp | 16 ++++----- src/intelmap.cpp | 10 +++--- src/intimage.cpp | 8 ++--- src/intorder.cpp | 2 +- src/keybind.cpp | 2 +- src/keyedit.cpp | 4 +-- src/levels.cpp | 4 +-- src/lighting.cpp | 2 +- src/lighting.h | 2 +- src/loadsave.cpp | 6 ++-- src/loop.cpp | 6 ++-- src/main.cpp | 8 ++--- src/map.cpp | 2 +- src/messagedef.h | 4 +-- src/mission.cpp | 8 ++--- src/multiint.cpp | 14 ++++---- src/multijoin.cpp | 2 +- src/multilimit.cpp | 8 ++--- src/multimenu.cpp | 6 ++-- src/multiopt.cpp | 2 +- src/objectdef.h | 2 +- src/projectile.cpp | 2 +- src/radar.cpp | 8 ++--- src/scores.cpp | 12 +++---- src/scriptfuncs.cpp | 2 +- src/seqdisp.cpp | 2 +- src/statsdef.h | 2 +- src/terrain.cpp | 14 ++++---- src/terrain.h | 2 +- src/texture.cpp | 8 ++--- src/transporter.cpp | 4 +-- src/warcam.h | 2 +- src/warzoneconfig.cpp | 2 +- src/wrappers.cpp | 6 ++-- 117 files changed, 262 insertions(+), 287 deletions(-) delete mode 100644 lib/ivis_common/Makefile.am delete mode 100644 lib/ivis_common/makefile.win32 rename lib/{ivis_common => ivis_opengl}/bitimage.cpp (100%) rename lib/{ivis_common => ivis_opengl}/bitimage.h (100%) rename lib/{ivis_common => ivis_opengl}/imd.cpp (100%) rename lib/{ivis_common => ivis_opengl}/imd.h (100%) rename lib/{ivis_common => ivis_opengl}/imdload.cpp (100%) rename lib/{ivis_common => ivis_opengl}/ivi.h (100%) rename lib/{ivis_common => ivis_opengl}/ivis_common.vcproj (100%) rename lib/{ivis_common => ivis_opengl}/ivisdef.h (100%) rename lib/{ivis_common => ivis_opengl}/jpeg_encoder.cpp (100%) rename lib/{ivis_common => ivis_opengl}/jpeg_encoder.h (100%) rename lib/{ivis_common => ivis_opengl}/pieblitfunc.h (100%) rename lib/{ivis_common => ivis_opengl}/pieclip.cpp (100%) rename lib/{ivis_common => ivis_opengl}/pieclip.h (100%) rename lib/{ivis_common => ivis_opengl}/piedef.h (100%) rename lib/{ivis_common => ivis_opengl}/piefunc.h (95%) rename lib/{ivis_common => ivis_opengl}/piemode.h (100%) rename lib/{ivis_common => ivis_opengl}/piepalette.h (99%) rename lib/{ivis_common => ivis_opengl}/piestate.h (100%) rename lib/{ivis_common => ivis_opengl}/pietypes.h (100%) rename lib/{ivis_common => ivis_opengl}/png_util.cpp (100%) rename lib/{ivis_common => ivis_opengl}/png_util.h (100%) rename lib/{ivis_common => ivis_opengl}/rendmode.h (100%) rename lib/{ivis_common => ivis_opengl}/tex.h (100%) rename lib/{ivis_common => ivis_opengl}/textdraw.h (100%) diff --git a/Makefile.am b/Makefile.am index 9981a365a..c8ab355d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,6 @@ SUBDIRS = \ lib/script \ lib/sequence \ lib/iniparser \ - lib/ivis_common \ lib/ivis_opengl \ lib/gamelib \ lib/sound \ diff --git a/configure.ac b/configure.ac index 2fc611fdf..4c1a3e5f8 100644 --- a/configure.ac +++ b/configure.ac @@ -469,7 +469,6 @@ AC_CONFIG_FILES([Makefile lib/gamelib/Makefile lib/iniparser/Makefile lib/ivis_opengl/Makefile - lib/ivis_common/Makefile lib/netplay/Makefile lib/netplay/miniupnpc/Makefile lib/script/Makefile diff --git a/lib/gamelib/anim.h b/lib/gamelib/anim.h index b5245e23d..6291e866b 100644 --- a/lib/gamelib/anim.h +++ b/lib/gamelib/anim.h @@ -33,7 +33,7 @@ #include #include "lib/framework/types.h" -#include "lib/ivis_common/imd.h" +#include "lib/ivis_opengl/imd.h" #define ANIM_MAX_STR 256 #define ANIM_DELAYED 0xFFFE diff --git a/lib/ivis_common/Makefile.am b/lib/ivis_common/Makefile.am deleted file mode 100644 index 87e6fdab1..000000000 --- a/lib/ivis_common/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -AM_CPPFLAGS = $(SDL_CFLAGS) $(PNG_CFLAGS) $(WZ_CPPFLAGS) -AM_CFLAGS = $(WZ_CFLAGS) -AM_CXXFLAGS = $(WZ_CXXFLAGS) - -noinst_LIBRARIES = libivis_common.a -noinst_HEADERS = \ - bitimage.h \ - imd.h \ - ivi.h \ - ivisdef.h \ - jpeg_encoder.h \ - pieblitfunc.h \ - pieclip.h \ - piedef.h \ - piefunc.h \ - piemode.h \ - piepalette.h \ - piestate.h \ - pietypes.h \ - png_util.h \ - rendmode.h \ - tex.h \ - textdraw.h - -libivis_common_a_SOURCES = \ - bitimage.cpp \ - imd.cpp \ - imdload.cpp \ - jpeg_encoder.cpp \ - pieclip.cpp \ - png_util.cpp - -libivis_common_a_LIBADD = $(top_builddir)/lib/framework/libframework.a diff --git a/lib/ivis_common/makefile.win32 b/lib/ivis_common/makefile.win32 deleted file mode 100644 index 3d3424fc8..000000000 --- a/lib/ivis_common/makefile.win32 +++ /dev/null @@ -1,16 +0,0 @@ -top_srcdir=../.. -top_builddir=$(top_srcdir) - -include $(top_srcdir)/makerules/common.mk - -SRC= \ - bitimage.cpp \ - imd.cpp \ - imdload.cpp \ - jpeg_encoder.cpp \ - pieclip.cpp \ - png_util.cpp - -LIB=ivis_common - -include $(top_srcdir)/makerules/lib.mk diff --git a/lib/ivis_opengl/Makefile.am b/lib/ivis_opengl/Makefile.am index 18ed6ef04..fc48a1af8 100644 --- a/lib/ivis_opengl/Makefile.am +++ b/lib/ivis_opengl/Makefile.am @@ -5,7 +5,24 @@ AM_CXXFLAGS = $(WZ_CXXFLAGS) noinst_LIBRARIES = libivis_opengl.a noinst_HEADERS = \ piematrix.h \ - screen.h + screen.h \ + bitimage.h \ + imd.h \ + ivi.h \ + ivisdef.h \ + jpeg_encoder.h \ + pieblitfunc.h \ + pieclip.h \ + piedef.h \ + piefunc.h \ + piemode.h \ + piepalette.h \ + piestate.h \ + pietypes.h \ + png_util.h \ + rendmode.h \ + tex.h \ + textdraw.h libivis_opengl_a_SOURCES = \ ivi.cpp \ @@ -19,12 +36,17 @@ libivis_opengl_a_SOURCES = \ rendmode.cpp \ screen.cpp \ tex.cpp \ - textdraw.cpp + textdraw.cpp \ + bitimage.cpp \ + imd.cpp \ + imdload.cpp \ + jpeg_encoder.cpp \ + pieclip.cpp \ + png_util.cpp if !SYSTEM_GLEE libivis_opengl_a_SOURCES += GLee.c noinst_HEADERS += GLee.h endif -libivis_opengl_a_LIBADD = $(top_builddir)/lib/ivis_common/libivis_common.a \ - $(top_builddir)/lib/framework/libframework.a +libivis_opengl_a_LIBADD = $(top_builddir)/lib/framework/libframework.a diff --git a/lib/ivis_common/bitimage.cpp b/lib/ivis_opengl/bitimage.cpp similarity index 100% rename from lib/ivis_common/bitimage.cpp rename to lib/ivis_opengl/bitimage.cpp diff --git a/lib/ivis_common/bitimage.h b/lib/ivis_opengl/bitimage.h similarity index 100% rename from lib/ivis_common/bitimage.h rename to lib/ivis_opengl/bitimage.h diff --git a/lib/ivis_common/imd.cpp b/lib/ivis_opengl/imd.cpp similarity index 100% rename from lib/ivis_common/imd.cpp rename to lib/ivis_opengl/imd.cpp diff --git a/lib/ivis_common/imd.h b/lib/ivis_opengl/imd.h similarity index 100% rename from lib/ivis_common/imd.h rename to lib/ivis_opengl/imd.h diff --git a/lib/ivis_common/imdload.cpp b/lib/ivis_opengl/imdload.cpp similarity index 100% rename from lib/ivis_common/imdload.cpp rename to lib/ivis_opengl/imdload.cpp diff --git a/lib/ivis_opengl/ivi.cpp b/lib/ivis_opengl/ivi.cpp index 5f090375d..3fa1b109e 100644 --- a/lib/ivis_opengl/ivi.cpp +++ b/lib/ivis_opengl/ivi.cpp @@ -18,10 +18,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "lib/ivis_common/ivi.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/ivi.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/textdraw.h" // pass in true to reset the palette too. void iV_Reset() diff --git a/lib/ivis_common/ivi.h b/lib/ivis_opengl/ivi.h similarity index 100% rename from lib/ivis_common/ivi.h rename to lib/ivis_opengl/ivi.h diff --git a/lib/ivis_common/ivis_common.vcproj b/lib/ivis_opengl/ivis_common.vcproj similarity index 100% rename from lib/ivis_common/ivis_common.vcproj rename to lib/ivis_opengl/ivis_common.vcproj diff --git a/lib/ivis_common/ivisdef.h b/lib/ivis_opengl/ivisdef.h similarity index 100% rename from lib/ivis_common/ivisdef.h rename to lib/ivis_opengl/ivisdef.h diff --git a/lib/ivis_common/jpeg_encoder.cpp b/lib/ivis_opengl/jpeg_encoder.cpp similarity index 100% rename from lib/ivis_common/jpeg_encoder.cpp rename to lib/ivis_opengl/jpeg_encoder.cpp diff --git a/lib/ivis_common/jpeg_encoder.h b/lib/ivis_opengl/jpeg_encoder.h similarity index 100% rename from lib/ivis_common/jpeg_encoder.h rename to lib/ivis_opengl/jpeg_encoder.h diff --git a/lib/ivis_opengl/makefile.win32 b/lib/ivis_opengl/makefile.win32 index 638beb4ee..9e871cb38 100644 --- a/lib/ivis_opengl/makefile.win32 +++ b/lib/ivis_opengl/makefile.win32 @@ -6,6 +6,12 @@ include $(top_srcdir)/makerules/common.mk CPPFLAGS := $(CPPFLAGS) -I$(top_srcdir)/lib/ivis_opengl SRC= \ + bitimage.cpp \ + imd.cpp \ + imdload.cpp \ + jpeg_encoder.cpp \ + pieclip.cpp \ + png_util.cpp \ GLee.c \ ivi.cpp \ pieblitfunc.cpp \ diff --git a/lib/ivis_opengl/pieblitfunc.cpp b/lib/ivis_opengl/pieblitfunc.cpp index f91bda942..ccf80f92d 100644 --- a/lib/ivis_opengl/pieblitfunc.cpp +++ b/lib/ivis_opengl/pieblitfunc.cpp @@ -30,14 +30,14 @@ #include "lib/framework/opengl.h" #include -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/pieclip.h" -#include "lib/ivis_common/piefunc.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/tex.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/pieclip.h" +#include "lib/ivis_opengl/piefunc.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/tex.h" #include "piematrix.h" #include "screen.h" diff --git a/lib/ivis_common/pieblitfunc.h b/lib/ivis_opengl/pieblitfunc.h similarity index 100% rename from lib/ivis_common/pieblitfunc.h rename to lib/ivis_opengl/pieblitfunc.h diff --git a/lib/ivis_common/pieclip.cpp b/lib/ivis_opengl/pieclip.cpp similarity index 100% rename from lib/ivis_common/pieclip.cpp rename to lib/ivis_opengl/pieclip.cpp diff --git a/lib/ivis_common/pieclip.h b/lib/ivis_opengl/pieclip.h similarity index 100% rename from lib/ivis_common/pieclip.h rename to lib/ivis_opengl/pieclip.h diff --git a/lib/ivis_common/piedef.h b/lib/ivis_opengl/piedef.h similarity index 100% rename from lib/ivis_common/piedef.h rename to lib/ivis_opengl/piedef.h diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index 4f0300363..7579abbc0 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -25,14 +25,14 @@ #include #include "lib/framework/frame.h" -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/imd.h" -#include "lib/ivis_common/piefunc.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/imd.h" +#include "lib/ivis_opengl/piefunc.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/pieclip.h" #include "piematrix.h" #include "screen.h" diff --git a/lib/ivis_opengl/piefunc.cpp b/lib/ivis_opengl/piefunc.cpp index 4f258bf3a..b7ef9a97b 100644 --- a/lib/ivis_opengl/piefunc.cpp +++ b/lib/ivis_opengl/piefunc.cpp @@ -26,12 +26,12 @@ #include "lib/framework/opengl.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piefunc.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piefunc.h" +#include "lib/ivis_opengl/piestate.h" #include "piematrix.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/pieclip.h" /* * Source diff --git a/lib/ivis_common/piefunc.h b/lib/ivis_opengl/piefunc.h similarity index 95% rename from lib/ivis_common/piefunc.h rename to lib/ivis_opengl/piefunc.h index a53671781..04c6f678e 100644 --- a/lib/ivis_common/piefunc.h +++ b/lib/ivis_opengl/piefunc.h @@ -30,8 +30,8 @@ #define _piefunc_h #include "lib/framework/frame.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/pieclip.h" extern UBYTE pie_ByteScale(UBYTE a, UBYTE b) WZ_DECL_CONST; extern void pie_TransColouredTriangle(Vector3f *vrt, PIELIGHT c); diff --git a/lib/ivis_opengl/piematrix.cpp b/lib/ivis_opengl/piematrix.cpp index 8ebc59d78..b5e639e39 100644 --- a/lib/ivis_opengl/piematrix.cpp +++ b/lib/ivis_opengl/piematrix.cpp @@ -25,9 +25,9 @@ #include "lib/framework/opengl.h" #include "lib/framework/fixedpoint.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/pieclip.h" #include "piematrix.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" /***************************************************************************/ /* diff --git a/lib/ivis_opengl/piematrix.h b/lib/ivis_opengl/piematrix.h index aa0f2b83f..ffd823e29 100644 --- a/lib/ivis_opengl/piematrix.h +++ b/lib/ivis_opengl/piematrix.h @@ -28,7 +28,7 @@ #ifndef _pieMatrix_h #define _pieMatrix_h -#include "lib/ivis_common/piedef.h" +#include "lib/ivis_opengl/piedef.h" //************************************************************************* diff --git a/lib/ivis_opengl/piemode.cpp b/lib/ivis_opengl/piemode.cpp index 9f79ef859..d47e98e67 100644 --- a/lib/ivis_opengl/piemode.cpp +++ b/lib/ivis_opengl/piemode.cpp @@ -31,14 +31,14 @@ #include -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piemode.h" #include "piematrix.h" -#include "lib/ivis_common/ivi.h" -#include "lib/ivis_common/piefunc.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/ivi.h" +#include "lib/ivis_opengl/piefunc.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/pieclip.h" #include "screen.h" /***************************************************************************/ diff --git a/lib/ivis_common/piemode.h b/lib/ivis_opengl/piemode.h similarity index 100% rename from lib/ivis_common/piemode.h rename to lib/ivis_opengl/piemode.h diff --git a/lib/ivis_opengl/piepalette.cpp b/lib/ivis_opengl/piepalette.cpp index 0e1e50d79..086f9d804 100644 --- a/lib/ivis_opengl/piepalette.cpp +++ b/lib/ivis_opengl/piepalette.cpp @@ -19,8 +19,8 @@ */ #include "lib/framework/frame.h" #include "lib/framework/file.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" #include "screen.h" PIELIGHT psPalette[WZCOL_MAX]; diff --git a/lib/ivis_common/piepalette.h b/lib/ivis_opengl/piepalette.h similarity index 99% rename from lib/ivis_common/piepalette.h rename to lib/ivis_opengl/piepalette.h index e7a7859f4..3181703ac 100644 --- a/lib/ivis_common/piepalette.h +++ b/lib/ivis_opengl/piepalette.h @@ -20,7 +20,7 @@ #ifndef _piePalette_ #define _piePalette_ -#include "lib/ivis_common/piedef.h" +#include "lib/ivis_opengl/piedef.h" #define WZCOL_BLACK psPalette[0] #define WZCOL_WHITE psPalette[1] diff --git a/lib/ivis_opengl/piestate.cpp b/lib/ivis_opengl/piestate.cpp index 68192b719..13e80c173 100644 --- a/lib/ivis_opengl/piestate.cpp +++ b/lib/ivis_opengl/piestate.cpp @@ -35,11 +35,11 @@ # include #endif -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/piepalette.h" #include "screen.h" /* diff --git a/lib/ivis_common/piestate.h b/lib/ivis_opengl/piestate.h similarity index 100% rename from lib/ivis_common/piestate.h rename to lib/ivis_opengl/piestate.h diff --git a/lib/ivis_common/pietypes.h b/lib/ivis_opengl/pietypes.h similarity index 100% rename from lib/ivis_common/pietypes.h rename to lib/ivis_opengl/pietypes.h diff --git a/lib/ivis_common/png_util.cpp b/lib/ivis_opengl/png_util.cpp similarity index 100% rename from lib/ivis_common/png_util.cpp rename to lib/ivis_opengl/png_util.cpp diff --git a/lib/ivis_common/png_util.h b/lib/ivis_opengl/png_util.h similarity index 100% rename from lib/ivis_common/png_util.h rename to lib/ivis_opengl/png_util.h diff --git a/lib/ivis_opengl/rendmode.cpp b/lib/ivis_opengl/rendmode.cpp index 533ed0769..88669a262 100644 --- a/lib/ivis_opengl/rendmode.cpp +++ b/lib/ivis_opengl/rendmode.cpp @@ -19,7 +19,7 @@ */ #include "lib/framework/frame.h" -#include "lib/ivis_common/rendmode.h" +#include "lib/ivis_opengl/rendmode.h" iSurface *iV_SurfaceCreate(int width, int height) { diff --git a/lib/ivis_common/rendmode.h b/lib/ivis_opengl/rendmode.h similarity index 100% rename from lib/ivis_common/rendmode.h rename to lib/ivis_opengl/rendmode.h diff --git a/lib/ivis_opengl/screen.cpp b/lib/ivis_opengl/screen.cpp index b453574db..6fe7dccd2 100644 --- a/lib/ivis_opengl/screen.cpp +++ b/lib/ivis_opengl/screen.cpp @@ -30,14 +30,14 @@ #include #include #include -#include "lib/ivis_common/png_util.h" -#include "lib/ivis_common/tex.h" +#include "lib/ivis_opengl/png_util.h" +#include "lib/ivis_opengl/tex.h" #include "lib/framework/frameint.h" -#include "lib/ivis_common/textdraw.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/textdraw.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/pieclip.h" #include "screen.h" #include "src/console.h" diff --git a/lib/ivis_opengl/tex.cpp b/lib/ivis_opengl/tex.cpp index 84712ea6e..7985bb003 100644 --- a/lib/ivis_opengl/tex.cpp +++ b/lib/ivis_opengl/tex.cpp @@ -27,11 +27,11 @@ # include #endif -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/png_util.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/png_util.h" #include "screen.h" diff --git a/lib/ivis_common/tex.h b/lib/ivis_opengl/tex.h similarity index 100% rename from lib/ivis_common/tex.h rename to lib/ivis_opengl/tex.h diff --git a/lib/ivis_opengl/textdraw.cpp b/lib/ivis_opengl/textdraw.cpp index 3872c93ff..f8279a69d 100644 --- a/lib/ivis_opengl/textdraw.cpp +++ b/lib/ivis_opengl/textdraw.cpp @@ -23,13 +23,13 @@ #include #include #include "lib/framework/string_ext.h" -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/pieclip.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/textdraw.h" -#include "lib/ivis_common/bitimage.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/pieclip.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/textdraw.h" +#include "lib/ivis_opengl/bitimage.h" #include "src/multiplay.h" #ifdef WZ_OS_MAC diff --git a/lib/ivis_common/textdraw.h b/lib/ivis_opengl/textdraw.h similarity index 100% rename from lib/ivis_common/textdraw.h rename to lib/ivis_opengl/textdraw.h diff --git a/lib/makefile.win32 b/lib/makefile.win32 index 8852ce331..9890268e1 100644 --- a/lib/makefile.win32 +++ b/lib/makefile.win32 @@ -7,7 +7,6 @@ SUBDIRS=framework \ exceptionhandler \ gamelib \ iniparser \ - ivis_common \ ivis_opengl \ netplay \ script \ diff --git a/lib/sequence/sequence.cpp b/lib/sequence/sequence.cpp index 7008fac7a..236af8acd 100644 --- a/lib/sequence/sequence.cpp +++ b/lib/sequence/sequence.cpp @@ -61,7 +61,7 @@ #include "sequence.h" #include "timer.h" #include "lib/framework/math_ext.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/sound/audio.h" #include "lib/sound/openal_error.h" #include "lib/sound/mixer.h" diff --git a/lib/sound/audio.cpp b/lib/sound/audio.cpp index a56507c9c..8179319d9 100644 --- a/lib/sound/audio.cpp +++ b/lib/sound/audio.cpp @@ -20,7 +20,7 @@ #include "lib/framework/frame.h" #include "lib/framework/frameresource.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/pietypes.h" +#include "lib/ivis_opengl/pietypes.h" #include "tracklib.h" #include "aud.h" diff --git a/lib/widget/bar.cpp b/lib/widget/bar.cpp index d568ec874..d0f770e39 100644 --- a/lib/widget/bar.cpp +++ b/lib/widget/bar.cpp @@ -27,8 +27,8 @@ #include "form.h" #include "bar.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piepalette.h" W_BARINIT::W_BARINIT() : orientation(WBAR_LEFT) diff --git a/lib/widget/button.cpp b/lib/widget/button.cpp index 2388ce397..4212ec25a 100644 --- a/lib/widget/button.cpp +++ b/lib/widget/button.cpp @@ -28,7 +28,7 @@ #include "button.h" #include "form.h" #include "tip.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/pieblitfunc.h" #include "lib/gamelib/gtime.h" diff --git a/lib/widget/button.h b/lib/widget/button.h index 51623a56a..6f81ae57b 100644 --- a/lib/widget/button.h +++ b/lib/widget/button.h @@ -26,7 +26,7 @@ #include "widget.h" #include "widgbase.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" /* Button states */ #define WBUTS_NORMAL 0x0000 diff --git a/lib/widget/editbox.cpp b/lib/widget/editbox.cpp index 99f948281..5b24a7674 100644 --- a/lib/widget/editbox.cpp +++ b/lib/widget/editbox.cpp @@ -31,8 +31,8 @@ #include "editbox.h" #include "form.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/textdraw.h" #include "scrap.h" diff --git a/lib/widget/editbox.h b/lib/widget/editbox.h index 957dc3fa0..d8bd00695 100644 --- a/lib/widget/editbox.h +++ b/lib/widget/editbox.h @@ -26,7 +26,7 @@ #include "widget.h" #include "widgbase.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" #include "lib/framework/utf.h" /* Edit Box states */ diff --git a/lib/widget/form.cpp b/lib/widget/form.cpp index d9644a072..5b3dc9cd2 100644 --- a/lib/widget/form.cpp +++ b/lib/widget/form.cpp @@ -29,8 +29,8 @@ #include "form.h" #include "tip.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piepalette.h" /* Control whether single tabs are displayed */ #define NO_DISPLAY_SINGLE_TABS 1 diff --git a/lib/widget/label.cpp b/lib/widget/label.cpp index f7e94a634..b7734dc7b 100644 --- a/lib/widget/label.cpp +++ b/lib/widget/label.cpp @@ -28,7 +28,7 @@ #include "form.h" #include "tip.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" W_LABINIT::W_LABINIT() : pText(NULL) diff --git a/lib/widget/label.h b/lib/widget/label.h index ba0c7f98c..ba66e2cc2 100644 --- a/lib/widget/label.h +++ b/lib/widget/label.h @@ -26,7 +26,7 @@ #include "widget.h" #include "widgbase.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" struct W_LABEL : public WIDGET { diff --git a/lib/widget/slider.cpp b/lib/widget/slider.cpp index 64302c5cf..78b27174c 100644 --- a/lib/widget/slider.cpp +++ b/lib/widget/slider.cpp @@ -25,7 +25,7 @@ #include "widgint.h" #include "slider.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/pieblitfunc.h" static BOOL DragEnabled = true; diff --git a/lib/widget/tip.cpp b/lib/widget/tip.cpp index deff213da..976cba4c4 100644 --- a/lib/widget/tip.cpp +++ b/lib/widget/tip.cpp @@ -27,7 +27,7 @@ #include "widgint.h" #include "tip.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/pieblitfunc.h" /* Time delay before showing the tool tip */ #define TIP_PAUSE 200 diff --git a/lib/widget/tip.h b/lib/widget/tip.h index 8ea1fbeac..dacecdad1 100644 --- a/lib/widget/tip.h +++ b/lib/widget/tip.h @@ -24,7 +24,7 @@ #ifndef __INCLUDED_LIB_WIDGET_TIP_H__ #define __INCLUDED_LIB_WIDGET_TIP_H__ -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" #include "lib/widget/widgbase.h" /* Initialise the tool tip module */ diff --git a/lib/widget/widgbase.h b/lib/widget/widgbase.h index 43c0c4211..32685bad4 100644 --- a/lib/widget/widgbase.h +++ b/lib/widget/widgbase.h @@ -25,8 +25,8 @@ #define __INCLUDED_LIB_WIDGET_WIDGBASE_H__ #include "lib/framework/frame.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/textdraw.h" /* Button colours */ #define WBUTC_TEXT 0 // Colour for button text diff --git a/lib/widget/widget.cpp b/lib/widget/widget.cpp index d91af4c51..8ef8a0097 100644 --- a/lib/widget/widget.cpp +++ b/lib/widget/widget.cpp @@ -25,7 +25,7 @@ #include "lib/framework/string_ext.h" #include "lib/framework/frameint.h" #include "lib/framework/utf.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" #include "widget.h" #include "widgint.h" diff --git a/lib/widget/widget.h b/lib/widget/widget.h index 50b8ea1a9..62776a4d4 100644 --- a/lib/widget/widget.h +++ b/lib/widget/widget.h @@ -31,8 +31,8 @@ #define __INCLUDED_LIB_WIDGET_WIDGET_H__ #include "lib/framework/frame.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/textdraw.h" #include "widgbase.h" /*********************************************************************************** diff --git a/src/Makefile.am b/src/Makefile.am index 9982b9191..0e2e008a8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -286,7 +286,6 @@ warzone2100_LDADD = \ $(top_builddir)/lib/netplay/libnetplay.a \ $(top_builddir)/lib/netplay/miniupnpc/libminiupnpc.a \ $(top_builddir)/lib/ivis_opengl/libivis_opengl.a \ - $(top_builddir)/lib/ivis_common/libivis_common.a \ $(top_builddir)/lib/gamelib/libgamelib.a \ $(top_builddir)/lib/framework/libframework.a \ $(top_builddir)/lib/iniparser/libiniparser.a \ diff --git a/src/atmos.h b/src/atmos.h index a3fd61c10..c1ff88559 100644 --- a/src/atmos.h +++ b/src/atmos.h @@ -22,7 +22,7 @@ #define __INCLUDED_SRC_ATMOS_H__ #include "lib/framework/vector.h" -#include "lib/ivis_common/ivisdef.h" +#include "lib/ivis_opengl/ivisdef.h" typedef struct _atmosParticle { diff --git a/src/bridge.cpp b/src/bridge.cpp index a97f1c044..6eda6e018 100644 --- a/src/bridge.cpp +++ b/src/bridge.cpp @@ -20,7 +20,7 @@ #include "lib/framework/frame.h" #include "lib/ivis_opengl/piematrix.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/piepalette.h" #include "bridge.h" #include "display3d.h" diff --git a/src/challenge.cpp b/src/challenge.cpp index 04ea68f3d..acd268c81 100644 --- a/src/challenge.cpp +++ b/src/challenge.cpp @@ -35,8 +35,8 @@ #include "lib/framework/frame.h" #include "lib/framework/input.h" #include "lib/iniparser/iniparser.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" #include "lib/widget/button.h" #include "challenge.h" diff --git a/src/component.cpp b/src/component.cpp index b304d0119..48293b237 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -23,7 +23,7 @@ */ #include "lib/framework/frame.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/ivis_opengl/piematrix.h" #include "lib/netplay/netplay.h" diff --git a/src/console.cpp b/src/console.cpp index 291384fa5..74bcc86e9 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -25,9 +25,9 @@ #include "lib/framework/frame.h" #include "lib/framework/input.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/textdraw.h" #include "lib/sound/audio.h" #include "lib/sound/audio_id.h" diff --git a/src/data.cpp b/src/data.cpp index 8f3f69436..15303ffed 100644 --- a/src/data.cpp +++ b/src/data.cpp @@ -31,8 +31,8 @@ #include "lib/framework/strres.h" #include "lib/framework/crc.h" #include "lib/gamelib/parser.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/tex.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/tex.h" #include "lib/script/script.h" #include "lib/sound/audio.h" diff --git a/src/design.cpp b/src/design.cpp index 485dd4d12..679cc1148 100644 --- a/src/design.cpp +++ b/src/design.cpp @@ -34,14 +34,14 @@ #include "map.h" /* Includes direct access to render library */ -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" // FIXME Direct iVis implementation include! #include "lib/ivis_opengl/piematrix.h"//matrix code -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/ivis_opengl/screen.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" #include "display3d.h" #include "edit3d.h" diff --git a/src/display.cpp b/src/display.cpp index 41cfcd67a..8b0ef72fb 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -28,7 +28,7 @@ #include "lib/framework/frame.h" #include "lib/framework/input.h" #include "lib/framework/strres.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/framework/fixedpoint.h" #include "lib/framework/wzapp_c.h" diff --git a/src/display3d.cpp b/src/display3d.cpp index 7ad9b246d..628e80b84 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -29,15 +29,15 @@ #include "lib/framework/stdio_ext.h" /* Includes direct access to render library */ -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" #include "lib/ivis_opengl/piematrix.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" #include "lib/framework/fixedpoint.h" -#include "lib/ivis_common/piefunc.h" +#include "lib/ivis_opengl/piefunc.h" #include "lib/gamelib/gtime.h" #include "lib/gamelib/animobj.h" diff --git a/src/display3d.h b/src/display3d.h index d7ca6cb77..963858ae6 100644 --- a/src/display3d.h +++ b/src/display3d.h @@ -23,8 +23,8 @@ #include "display.h" #include "display3ddef.h" // This should be the only place including this file -#include "lib/ivis_common/pietypes.h" -#include "lib/ivis_common/piedef.h" +#include "lib/ivis_opengl/pietypes.h" +#include "lib/ivis_opengl/piedef.h" #include "objectdef.h" #include "message.h" diff --git a/src/displaydef.h b/src/displaydef.h index d5537795f..1fc9c2e5a 100644 --- a/src/displaydef.h +++ b/src/displaydef.h @@ -24,8 +24,8 @@ #ifndef __INCLUDED_DISPLAYDEF_H__ #define __INCLUDED_DISPLAYDEF_H__ -#include "lib/ivis_common/imd.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/imd.h" +#include "lib/ivis_opengl/pieclip.h" #define BOUNDARY_X (22) #define BOUNDARY_Y (22) diff --git a/src/effects.cpp b/src/effects.cpp index eeb1881b4..5233ed5e4 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -41,13 +41,13 @@ #include "lib/framework/tagfile.h" #include "lib/framework/math_ext.h" -#include "lib/ivis_common/ivisdef.h" //ivis matrix code -#include "lib/ivis_common/piedef.h" //ivis matrix code +#include "lib/ivis_opengl/ivisdef.h" //ivis matrix code +#include "lib/ivis_opengl/piedef.h" //ivis matrix code #include "lib/framework/fixedpoint.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/ivis_opengl/piematrix.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" #include "lib/gamelib/gtime.h" #include "lib/sound/audio.h" diff --git a/src/effects.h b/src/effects.h index 9a33f7aa9..89f434bb5 100644 --- a/src/effects.h +++ b/src/effects.h @@ -28,9 +28,9 @@ temporary world 'effects Alex McLean, Pumpkin Studios, EIDOS Interactive, 1998. */ -#include "lib/ivis_common/piedef.h" +#include "lib/ivis_opengl/piedef.h" #include "lib/framework/fixedpoint.h" -#include "lib/ivis_common/pietypes.h" +#include "lib/ivis_opengl/pietypes.h" #define SHOCK_WAVE_HEIGHT (64) diff --git a/src/frontend.cpp b/src/frontend.cpp index aff4a9889..be954c029 100644 --- a/src/frontend.cpp +++ b/src/frontend.cpp @@ -26,8 +26,8 @@ #include "lib/framework/frame.h" #include "lib/framework/input.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" #include "lib/sound/mixer.h" #include "lib/widget/button.h" #include "lib/widget/label.h" diff --git a/src/game.cpp b/src/game.cpp index 9961fac5d..bb336fe35 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -32,10 +32,10 @@ #include "lib/framework/tagfile.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" #include "lib/netplay/netplay.h" #include "lib/script/script.h" #include "lib/sound/audio.h" diff --git a/src/geometry.cpp b/src/geometry.cpp index 9f8b5453f..5684b6bfb 100644 --- a/src/geometry.cpp +++ b/src/geometry.cpp @@ -22,7 +22,7 @@ #include "lib/framework/frame.h" -#include "lib/ivis_common/ivisdef.h" +#include "lib/ivis_opengl/ivisdef.h" #include "lib/ivis_opengl/piematrix.h" #include "lib/gamelib/gtime.h" diff --git a/src/hci.cpp b/src/hci.cpp index 60249ab21..e3d624711 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -33,10 +33,10 @@ #include "lib/framework/strres.h" #include "lib/framework/stdio_ext.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/piestate.h" // FIXME Direct iVis implementation include! #include "lib/ivis_opengl/screen.h" #include "lib/script/script.h" diff --git a/src/hci.h b/src/hci.h index 7293cf0e4..fca1321f4 100644 --- a/src/hci.h +++ b/src/hci.h @@ -24,7 +24,7 @@ #ifndef __INCLUDED_SRC_HCI_H__ #define __INCLUDED_SRC_HCI_H__ -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/pieclip.h" #include "lib/widget/widget.h" #include "message.h" diff --git a/src/ingameop.cpp b/src/ingameop.cpp index 79c286a8e..c99dc8ab7 100644 --- a/src/ingameop.cpp +++ b/src/ingameop.cpp @@ -29,7 +29,7 @@ #include "lib/framework/strres.h" #include "lib/widget/widget.h" #include "lib/netplay/netplay.h" -#include "lib/ivis_common/piestate.h" // for getrendertype +#include "lib/ivis_opengl/piestate.h" // for getrendertype #include "lib/sound/audio.h" // for sound. #include "lib/sound/cdaudio.h" #include "lib/sound/mixer.h" diff --git a/src/init.cpp b/src/init.cpp index c6a74f834..a152a072d 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -32,10 +32,10 @@ #include "lib/framework/file.h" #include "lib/framework/physfs_ext.h" #include "lib/framework/strres.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/ivi.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/ivi.h" #include "lib/netplay/netplay.h" #include "lib/script/script.h" #include "lib/sound/audio_id.h" diff --git a/src/init.h b/src/init.h index 16bf5a4b2..ba22028ae 100644 --- a/src/init.h +++ b/src/init.h @@ -24,7 +24,7 @@ #ifndef __INCLUDED_SRC_INIT_H__ #define __INCLUDED_SRC_INIT_H__ -#include "lib/ivis_common/ivisdef.h" +#include "lib/ivis_opengl/ivisdef.h" // the size of the file loading buffer // FIXME Totally inappropriate place for this. diff --git a/src/intdisplay.cpp b/src/intdisplay.cpp index ebc0cb7f9..f67866def 100644 --- a/src/intdisplay.cpp +++ b/src/intdisplay.cpp @@ -28,17 +28,17 @@ #include "lib/framework/math_ext.h" /* Includes direct access to render library */ -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" -#include "lib/ivis_common/piemode.h" // ffs -#include "lib/ivis_common/pieclip.h" // ffs -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/piemode.h" // ffs +#include "lib/ivis_opengl/pieclip.h" // ffs +#include "lib/ivis_opengl/pieblitfunc.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/rendmode.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/rendmode.h" #include "lib/ivis_opengl/piematrix.h" #include "lib/framework/input.h" diff --git a/src/intelmap.cpp b/src/intelmap.cpp index 6de4b6580..87e0bec7f 100644 --- a/src/intelmap.cpp +++ b/src/intelmap.cpp @@ -30,12 +30,12 @@ #include "lib/widget/widget.h" #include "lib/widget/button.h" /* Includes direct access to render library */ -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" #include "lib/ivis_opengl/screen.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" #include "display3d.h" #include "lib/framework/cursors.h" diff --git a/src/intimage.cpp b/src/intimage.cpp index e47cf825d..e3da78a11 100644 --- a/src/intimage.cpp +++ b/src/intimage.cpp @@ -26,10 +26,10 @@ #include "lib/framework/frame.h" #include "lib/framework/frameresource.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/piestate.h" #include "intimage.h" diff --git a/src/intorder.cpp b/src/intorder.cpp index c2d5cbe47..923da7290 100644 --- a/src/intorder.cpp +++ b/src/intorder.cpp @@ -19,7 +19,7 @@ */ #include "lib/framework/frame.h" -#include "lib/ivis_common/bitimage.h"//bitmap routines +#include "lib/ivis_opengl/bitimage.h"//bitmap routines #include "hci.h" #include "intdisplay.h" diff --git a/src/keybind.cpp b/src/keybind.cpp index c23eee88b..c7da8e668 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -70,7 +70,7 @@ #include "lib/widget/label.h" #include "lib/widget/button.h" #include "order.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" // FIXME Direct iVis implementation include! #include "lib/framework/fixedpoint.h" #include "lib/ivis_opengl/piematrix.h" diff --git a/src/keyedit.cpp b/src/keyedit.cpp index 5874c49b8..e1c834781 100644 --- a/src/keyedit.cpp +++ b/src/keyedit.cpp @@ -24,8 +24,8 @@ */ #include "lib/framework/frame.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" #include "lib/sound/audio.h" #include "lib/sound/audio_id.h" diff --git a/src/levels.cpp b/src/levels.cpp index d50f084ba..619f63650 100644 --- a/src/levels.cpp +++ b/src/levels.cpp @@ -39,9 +39,9 @@ #include "levelint.h" #include "game.h" #include "lighting.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "data.h" -#include "lib/ivis_common/ivi.h" +#include "lib/ivis_opengl/ivi.h" #include "lib/script/script.h" #include "scripttabs.h" #include "research.h" diff --git a/src/lighting.cpp b/src/lighting.cpp index dff6ebf82..ff43a96bd 100644 --- a/src/lighting.cpp +++ b/src/lighting.cpp @@ -27,7 +27,7 @@ #include "lib/framework/frame.h" #include "lib/framework/math_ext.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/ivis_opengl/piematrix.h" #include "lib/framework/fixedpoint.h" diff --git a/src/lighting.h b/src/lighting.h index 78bce116a..e61a938d9 100644 --- a/src/lighting.h +++ b/src/lighting.h @@ -21,7 +21,7 @@ #ifndef __INCLUDED_SRC_LIGHTNING_H__ #define __INCLUDED_SRC_LIGHTNING_H__ -#include "lib/ivis_common/pietypes.h" +#include "lib/ivis_opengl/pietypes.h" #define FOG_FLAGS 7 #define FOG_BACKGROUND 1 diff --git a/src/loadsave.cpp b/src/loadsave.cpp index de69f4e9a..7a1106dea 100644 --- a/src/loadsave.cpp +++ b/src/loadsave.cpp @@ -36,9 +36,9 @@ #include "lib/widget/button.h" #include "lib/widget/editbox.h" #include "lib/widget/widget.h" -#include "lib/ivis_common/piepalette.h" // for predefined colours. -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" // for boxfill +#include "lib/ivis_opengl/piepalette.h" // for predefined colours. +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" // for boxfill #include "hci.h" #include "loadsave.h" #include "multiplay.h" diff --git a/src/loop.cpp b/src/loop.cpp index a7fb2ce27..0fd1b4b8e 100644 --- a/src/loop.cpp +++ b/src/loop.cpp @@ -27,9 +27,9 @@ #include "lib/framework/input.h" #include "lib/framework/strres.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piestate.h" //ivis render code -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piestate.h" //ivis render code +#include "lib/ivis_opengl/piemode.h" // FIXME Direct iVis implementation include! #include "lib/ivis_opengl/screen.h" diff --git a/src/main.cpp b/src/main.cpp index 058ec6a05..0d95c55a4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,10 +41,10 @@ #include "lib/sound/playlist.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/piemode.h" #include "lib/ivis_opengl/screen.h" #include "lib/netplay/netplay.h" #include "lib/script/script.h" diff --git a/src/map.cpp b/src/map.cpp index 90e0d2c65..43c0f90c3 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -30,7 +30,7 @@ #include "lib/framework/file.h" #include "lib/framework/physfs_ext.h" #include "lib/framework/tagfile.h" -#include "lib/ivis_common/tex.h" +#include "lib/ivis_opengl/tex.h" #include "lib/netplay/netplay.h" // For syncDebug #include "map.h" diff --git a/src/messagedef.h b/src/messagedef.h index 088921d79..d11fd5a41 100644 --- a/src/messagedef.h +++ b/src/messagedef.h @@ -24,8 +24,8 @@ #ifndef __INCLUDED_MESSAGEDEF_H__ #define __INCLUDED_MESSAGEDEF_H__ -#include "lib/ivis_common/pietypes.h" -#include "lib/ivis_common/ivisdef.h" +#include "lib/ivis_opengl/pietypes.h" +#include "lib/ivis_opengl/ivisdef.h" #include "positiondef.h" #include "stringdef.h" diff --git a/src/mission.cpp b/src/mission.cpp index b0f8fe016..c54d7d918 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -26,10 +26,10 @@ #include "lib/framework/frame.h" #include "lib/framework/math_ext.h" -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/textdraw.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/textdraw.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/pieblitfunc.h" #include "lib/gamelib/gtime.h" #include "lib/script/script.h" #include "lib/sound/audio.h" diff --git a/src/multiint.cpp b/src/multiint.cpp index 0b59f35c6..5af3dae86 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -35,13 +35,13 @@ #include "lib/framework/stdio_ext.h" /* Includes direct access to render library */ -#include "lib/ivis_common/bitimage.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/pieclip.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/bitimage.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/pieclip.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/piepalette.h" #include "lib/ivis_opengl/piematrix.h" // for setgeometricoffset #include "lib/ivis_opengl/screen.h" diff --git a/src/multijoin.cpp b/src/multijoin.cpp index e35695496..89e62eb5e 100644 --- a/src/multijoin.cpp +++ b/src/multijoin.cpp @@ -32,7 +32,7 @@ #include "lib/framework/math_ext.h" #include "lib/gamelib/gtime.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" #include "lib/netplay/netplay.h" #include "lib/sound/audio.h" #include "lib/sound/audio_id.h" diff --git a/src/multilimit.cpp b/src/multilimit.cpp index dff3b368d..b136073ec 100644 --- a/src/multilimit.cpp +++ b/src/multilimit.cpp @@ -39,17 +39,17 @@ #include "wrappers.h" // for loading screen #include "lib/gamelib/gtime.h" #include "console.h" -#include "lib/ivis_common/bitimage.h" // GFX incs -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/bitimage.h" // GFX incs +#include "lib/ivis_opengl/textdraw.h" // FIXME Direct iVis implementation include! #include "lib/ivis_opengl/piematrix.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/netplay/netplay.h" #include "multiplay.h" #include "multirecv.h" #include "multiint.h" #include "multilimit.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" #include "lib/script/script.h" #include "challenge.h" diff --git a/src/multimenu.cpp b/src/multimenu.cpp index 2eec16e98..f5ff839a6 100644 --- a/src/multimenu.cpp +++ b/src/multimenu.cpp @@ -30,9 +30,9 @@ #include "display3d.h" #include "intdisplay.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piepalette.h" #include "lib/gamelib/gtime.h" #include "lib/ivis_opengl/piematrix.h" #include "levels.h" diff --git a/src/multiopt.cpp b/src/multiopt.cpp index 01f133cf5..fab0db9ac 100644 --- a/src/multiopt.cpp +++ b/src/multiopt.cpp @@ -37,7 +37,7 @@ #include "hci.h" #include "configuration.h" // lobby cfg. #include "clparse.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "component.h" #include "console.h" diff --git a/src/objectdef.h b/src/objectdef.h index 0847e2949..8c9e234cc 100644 --- a/src/objectdef.h +++ b/src/objectdef.h @@ -25,7 +25,7 @@ #define __INCLUDED_OBJECTDEF_H__ #include "lib/framework/frame.h" -#include "lib/ivis_common/pietypes.h" +#include "lib/ivis_opengl/pietypes.h" #include "functiondef.h" #include "movedef.h" diff --git a/src/projectile.cpp b/src/projectile.cpp index 72ca81179..bff2c0c03 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -46,7 +46,7 @@ #include "group.h" #include "cmddroid.h" #include "feature.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "loop.h" // FIXME Direct iVis implementation include! #include "lib/ivis_opengl/piematrix.h" diff --git a/src/radar.cpp b/src/radar.cpp index 197f9f0fc..9bf84e038 100644 --- a/src/radar.cpp +++ b/src/radar.cpp @@ -21,12 +21,12 @@ #include "lib/framework/frame.h" #include "lib/framework/fixedpoint.h" -#include "lib/ivis_common/pieblitfunc.h" +#include "lib/ivis_opengl/pieblitfunc.h" // FIXME Direct iVis implementation include! #include "lib/ivis_opengl/piematrix.h" -#include "lib/ivis_common/piepalette.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piefunc.h" +#include "lib/ivis_opengl/piepalette.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piefunc.h" #include "lib/gamelib/gtime.h" #include "advvis.h" #include "objects.h" diff --git a/src/scores.cpp b/src/scores.cpp index 7f0f9200e..f0a736c40 100644 --- a/src/scores.cpp +++ b/src/scores.cpp @@ -34,12 +34,12 @@ #include "lib/gamelib/gtime.h" #include "console.h" #include "scores.h" -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piefunc.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piefunc.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/piepalette.h" #include "objects.h" #include "droiddef.h" #include "basedef.h" diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 6d63e16f3..837f10ef5 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -74,7 +74,7 @@ #include "multilimit.h" #include "advvis.h" #include "mapgrid.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "wrappers.h" #include "order.h" #include "orderdef.h" diff --git a/src/seqdisp.cpp b/src/seqdisp.cpp index 8adbfd49e..ecf0d2686 100644 --- a/src/seqdisp.cpp +++ b/src/seqdisp.cpp @@ -32,7 +32,7 @@ #include "lib/framework/file.h" #include "lib/framework/stdio_ext.h" -#include "lib/ivis_common/piemode.h" +#include "lib/ivis_opengl/piemode.h" #include "lib/ivis_opengl/screen.h" #include "lib/sequence/sequence.h" #include "lib/sound/audio.h" diff --git a/src/statsdef.h b/src/statsdef.h index edd82ef1f..e6b4c0720 100644 --- a/src/statsdef.h +++ b/src/statsdef.h @@ -24,7 +24,7 @@ #ifndef __INCLUDED_STATSDEF_H__ #define __INCLUDED_STATSDEF_H__ -#include "lib/ivis_common/ivisdef.h" +#include "lib/ivis_opengl/ivisdef.h" /* if any types are added BEFORE 'COMP_BODY' - then Save/Load Game will have to be diff --git a/src/terrain.cpp b/src/terrain.cpp index af57c2668..d564783c5 100644 --- a/src/terrain.cpp +++ b/src/terrain.cpp @@ -33,13 +33,13 @@ #include #include "lib/framework/frame.h" -#include "lib/ivis_common/ivisdef.h" -#include "lib/ivis_common/imd.h" -#include "lib/ivis_common/piefunc.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/piedef.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/pieclip.h" +#include "lib/ivis_opengl/ivisdef.h" +#include "lib/ivis_opengl/imd.h" +#include "lib/ivis_opengl/piefunc.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/piedef.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/pieclip.h" #include "terrain.h" #include "map.h" diff --git a/src/terrain.h b/src/terrain.h index 69f0279d4..25af3bdb7 100644 --- a/src/terrain.h +++ b/src/terrain.h @@ -21,7 +21,7 @@ #ifndef __INCLUDED_SRC_TERRAIN_H__ #define __INCLUDED_SRC_TERRAIN_H__ -#include "lib/ivis_common/pietypes.h" +#include "lib/ivis_opengl/pietypes.h" bool initTerrain(void); void shutdownTerrain(void); diff --git a/src/texture.cpp b/src/texture.cpp index b208f623b..523b86abe 100644 --- a/src/texture.cpp +++ b/src/texture.cpp @@ -34,10 +34,10 @@ #include "lib/framework/file.h" #include "lib/framework/string_ext.h" -#include "lib/ivis_common/pietypes.h" -#include "lib/ivis_common/piestate.h" -#include "lib/ivis_common/tex.h" -#include "lib/ivis_common/piepalette.h" +#include "lib/ivis_opengl/pietypes.h" +#include "lib/ivis_opengl/piestate.h" +#include "lib/ivis_opengl/tex.h" +#include "lib/ivis_opengl/piepalette.h" #include "lib/ivis_opengl/screen.h" #include "display3ddef.h" diff --git a/src/transporter.cpp b/src/transporter.cpp index 88865ce97..ba493f75b 100644 --- a/src/transporter.cpp +++ b/src/transporter.cpp @@ -29,7 +29,7 @@ #include "lib/framework/math_ext.h" #include "lib/widget/label.h" #include "lib/widget/widget.h" -#include "lib/ivis_common/textdraw.h" +#include "lib/ivis_opengl/textdraw.h" #include "stats.h" #include "hci.h" @@ -47,7 +47,7 @@ #include "action.h" #include "lib/gamelib/gtime.h" #include "console.h" -#include "lib/ivis_common/bitimage.h" +#include "lib/ivis_opengl/bitimage.h" #include "warcam.h" #include "selection.h" #include "lib/sound/audio.h" diff --git a/src/warcam.h b/src/warcam.h index f85b0ac06..e443a77ef 100644 --- a/src/warcam.h +++ b/src/warcam.h @@ -21,7 +21,7 @@ #ifndef __INCLUDED_SRC_WARCAM_H__ #define __INCLUDED_SRC_WARCAM_H__ -#include "lib/ivis_common/pietypes.h" +#include "lib/ivis_opengl/pietypes.h" #include "objectdef.h" #define X_UPDATE 0x1 diff --git a/src/warzoneconfig.cpp b/src/warzoneconfig.cpp index 038add0ef..a3ea12323 100644 --- a/src/warzoneconfig.cpp +++ b/src/warzoneconfig.cpp @@ -25,7 +25,7 @@ #include "lib/framework/frame.h" #include "warzoneconfig.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/piestate.h" #include "advvis.h" #include "component.h" diff --git a/src/wrappers.cpp b/src/wrappers.cpp index bd1f17f7b..1f70834fd 100644 --- a/src/wrappers.cpp +++ b/src/wrappers.cpp @@ -26,9 +26,9 @@ #include "lib/framework/frame.h" #include "lib/framework/frameresource.h" // FIXME Direct iVis implementation include! -#include "lib/ivis_common/pieblitfunc.h" -#include "lib/ivis_common/piemode.h" -#include "lib/ivis_common/piestate.h" +#include "lib/ivis_opengl/pieblitfunc.h" +#include "lib/ivis_opengl/piemode.h" +#include "lib/ivis_opengl/piestate.h" #include "lib/ivis_opengl/screen.h" #include "lib/netplay/netplay.h" // multiplayer #include "lib/sound/audio.h" From e27ac240be0e4a6993f7765d131b42c208189c40 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 23:02:20 +0100 Subject: [PATCH 066/142] Inline pie_SetTranslucencyMode() and remove the entirely superfluous TRANSLUCENCY_MODE abstraction. --- lib/ivis_opengl/piestate.cpp | 49 +++++++----------------------------- lib/ivis_opengl/piestate.h | 8 ------ lib/ivis_opengl/pietypes.h | 9 ------- src/radar.cpp | 2 +- 4 files changed, 10 insertions(+), 58 deletions(-) diff --git a/lib/ivis_opengl/piestate.cpp b/lib/ivis_opengl/piestate.cpp index 13e80c173..7464249ec 100644 --- a/lib/ivis_opengl/piestate.cpp +++ b/lib/ivis_opengl/piestate.cpp @@ -79,8 +79,8 @@ void pie_SetDefaultStates(void)//Sets all states //depth Buffer on pie_SetDepthBufferStatus(DEPTH_CMP_LEQ_WRT_ON); - rendStates.transMode = TRANS_ALPHA;//to force reset to DECAL - pie_SetTranslucencyMode(TRANS_DECAL); + rendStates.rendMode = REND_ALPHA; // to force reset to REND_OPAQUE + pie_SetRendMode(REND_OPAQUE); //chroma keying on black rendStates.keyingOn = false;//to force reset to true @@ -156,26 +156,25 @@ void pie_SetRendMode(REND_MODE rendMode) switch (rendMode) { case REND_OPAQUE: - pie_SetTranslucencyMode(TRANS_DECAL); + glDisable(GL_BLEND); break; case REND_ALPHA: - pie_SetTranslucencyMode(TRANS_ALPHA); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); break; case REND_ADDITIVE: - pie_SetTranslucencyMode(TRANS_ADDITIVE); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE); break; case REND_MULTIPLICATIVE: - pie_SetTranslucencyMode(TRANS_MULTIPLICATIVE); - break; - - default: + glEnable(GL_BLEND); + glBlendFunc(GL_ZERO, GL_SRC_COLOR); break; } } - return; } // Read shader into text buffer @@ -546,36 +545,6 @@ void pie_SetAlphaTest(BOOL keyingOn) } } -void pie_SetTranslucencyMode(TRANSLUCENCY_MODE transMode) -{ - if (transMode != rendStates.transMode) { - rendStates.transMode = transMode; - switch (transMode) { - case TRANS_ALPHA: - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - break; - case TRANS_ADDITIVE: - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE); - break; - case TRANS_MULTIPLICATIVE: - glEnable(GL_BLEND); - glBlendFunc(GL_ZERO, GL_SRC_COLOR); - break; - case TRANS_DECAL: - glDisable(GL_BLEND); - break; - case TRANS_FILTER: - glEnable(GL_BLEND); - glBlendFunc(GL_ONE, GL_ONE); - break; - default: - break; - } - } -} - void pie_InitColourMouse(IMAGEFILE* img, const uint16_t cursorIDs[CURSOR_MAX]) { MouseCursors = img; diff --git a/lib/ivis_opengl/piestate.h b/lib/ivis_opengl/piestate.h index ed0e91b83..13b4c98f9 100644 --- a/lib/ivis_opengl/piestate.h +++ b/lib/ivis_opengl/piestate.h @@ -48,7 +48,6 @@ typedef struct RENDER_STATE SDWORD texPage; REND_MODE rendMode; BOOL keyingOn; - TRANSLUCENCY_MODE transMode; } RENDER_STATE; @@ -87,10 +86,6 @@ extern void pie_SetMouse(CURSOR cursor, bool coloured); extern void pie_DrawMouse(unsigned int X, unsigned int Y); extern void pie_ShowMouse(bool visible); -extern void pie_SetTranslucencyMode(TRANSLUCENCY_MODE transMode); - -/* Actually in piestate.c */ - // Shaders control center bool pie_LoadShaders(void); // Actual shaders (we do not want to export these calls) @@ -98,13 +93,10 @@ void pie_DeactivateShader(void); void pie_ActivateShader(SHADER_MODE shaderMode, PIELIGHT teamcolour, int maskpage); void pie_SetShaderStretchDepth(float stretch); -/* Actually in piedraw.c */ - /* Errors control routine */ #define glErrors() \ _glerrors(__FUNCTION__, __FILE__, __LINE__) extern bool _glerrors(const char *, const char *, int); - #endif // _pieState_h diff --git a/lib/ivis_opengl/pietypes.h b/lib/ivis_opengl/pietypes.h index 03f30ea54..fc0f4bb57 100644 --- a/lib/ivis_opengl/pietypes.h +++ b/lib/ivis_opengl/pietypes.h @@ -83,15 +83,6 @@ typedef enum DEPTH_CMP_ALWAYS_WRT_OFF } DEPTH_MODE; -typedef enum -{ - TRANS_DECAL, - TRANS_FILTER, - TRANS_ALPHA, - TRANS_ADDITIVE, - TRANS_MULTIPLICATIVE -} TRANSLUCENCY_MODE; - typedef enum { TEXPAGE_NONE = -1, diff --git a/src/radar.cpp b/src/radar.cpp index 9bf84e038..ae89e60b0 100644 --- a/src/radar.cpp +++ b/src/radar.cpp @@ -286,7 +286,7 @@ void drawRadar(void) frameSkip = RADAR_FRAME_SKIP; } frameSkip--; - pie_SetTranslucencyMode(TRANS_ALPHA); + pie_SetRendMode(REND_ALPHA); pie_MatBegin(); pie_TRANSLATE(radarCenterX, radarCenterY, 0); if (rotateRadar) From 178569f364fd91ea69ef7a173fdbc2fa6428002b Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 23:19:28 +0100 Subject: [PATCH 067/142] Remove the "AI experience" code, which has not been used by the last four AI scripters. Existing savegames may be broken by this. --- src/Makefile.am | 2 - src/aiexperience.cpp | 990 ------------------------------------------- src/aiexperience.h | 55 --- src/keybind.cpp | 87 ---- src/makefile.win32 | 1 - src/multiopt.cpp | 3 - src/scriptfuncs.cpp | 509 ---------------------- src/scriptfuncs.h | 19 +- src/scripttabs.cpp | 61 --- 9 files changed, 2 insertions(+), 1725 deletions(-) delete mode 100644 src/aiexperience.cpp delete mode 100644 src/aiexperience.h diff --git a/src/Makefile.am b/src/Makefile.am index 0e2e008a8..1817df55e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -39,7 +39,6 @@ noinst_HEADERS = \ action.h \ actiondef.h \ advvis.h \ - aiexperience.h \ ai.h \ anim_id.h \ astar.h \ @@ -170,7 +169,6 @@ warzone2100_SOURCES = \ action.cpp \ advvis.cpp \ ai.cpp \ - aiexperience.cpp \ astar.cpp \ atmos.cpp \ aud.cpp \ diff --git a/src/aiexperience.cpp b/src/aiexperience.cpp deleted file mode 100644 index d236e29c8..000000000 --- a/src/aiexperience.cpp +++ /dev/null @@ -1,990 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 2006-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "lib/framework/frame.h" - -#include "aiexperience.h" -#include "console.h" -#include "map.h" - -#define SAVE_FORMAT_VERSION 2 - -#define MAX_OIL_ENTRIES 600 //(Max number of derricks or oil resources) / 2 -#define MAX_OIL_LOCATIONS 300 //max number of oil locations to store - -#define SAME_LOC_RANGE 8 //if within this range, consider it the same loc - -//Return values of experience-loading routine -#define EXPERIENCE_LOAD_OK 0 //no problemens encountered -#define EXPERIENCE_LOAD_ERROR 1 //error while loading experience -#define EXPERIENCE_LOAD_NOSAVE (-1) //no experience exists - -static PHYSFS_file* aiSaveFile[8]; - -SDWORD baseLocation[MAX_PLAYERS][MAX_PLAYERS][2]; //each player's visible enemy base x,y coords for each player (hence 3d) -static SDWORD oilLocation[MAX_PLAYERS][MAX_OIL_LOCATIONS][2]; //remembered oil locations - -SDWORD baseDefendLocation[MAX_PLAYERS][MAX_BASE_DEFEND_LOCATIONS][2]; -SDWORD baseDefendLocPrior[MAX_PLAYERS][MAX_BASE_DEFEND_LOCATIONS]; //Priority - -SDWORD oilDefendLocation[MAX_PLAYERS][MAX_OIL_DEFEND_LOCATIONS][2]; -SDWORD oilDefendLocPrior[MAX_PLAYERS][MAX_OIL_DEFEND_LOCATIONS]; - -void InitializeAIExperience(void) -{ - SDWORD i,j; - - for(i=0;i SAVE_FORMAT_VERSION) - { - debug(LOG_ERROR, "Incompatible version of the learn data (%d, expected %d) for player '%d'", version, SAVE_FORMAT_VERSION, nPlayer); - } - - /************************/ - /* Enemy bases */ - /************************/ - - /* read max number of players (usually 8) */ - if (PHYSFS_read(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1 ) != 1 ) - { - debug(LOG_ERROR, "Failed to read number of players for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /* read base locations of all players */ - if (PHYSFS_read(aiSaveFile[nPlayer], baseLocation[nPlayer], sizeof(SDWORD), NumEntries * 2 ) != (NumEntries * 2) ) - { - debug(LOG_ERROR, "Failed to load baseLocation for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /************************************/ - /* Base attack locations */ - /************************************/ - - /* read MAX_BASE_DEFEND_LOCATIONS */ - if (PHYSFS_read(aiSaveFile[nPlayer], &NumEntries, sizeof(SDWORD), 1 ) != 1 ) - { - debug(LOG_ERROR, "Failed to read MAX_BASE_DEFEND_LOCATIONS for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /* check it's the same as current MAX_BASE_DEFEND_LOCATIONS */ - if(NumEntries > MAX_BASE_DEFEND_LOCATIONS) - { - debug(LOG_ERROR, "saved MAX_BASE_DEFEND_LOCATIONS and current one don't match (%d / %d)", NumEntries, MAX_BASE_DEFEND_LOCATIONS); - return EXPERIENCE_LOAD_ERROR; - } - - //debug(LOG_ERROR,"num base attack loc: %d", NumEntries); - - /* read base defence locations */ - if (PHYSFS_read(aiSaveFile[nPlayer], baseDefendLocation[nPlayer], sizeof(SDWORD), NumEntries * 2 ) != (NumEntries * 2) ) - { - debug(LOG_ERROR, "Failed to load baseDefendLocation for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /* read base defend priorities */ - if (PHYSFS_read(aiSaveFile[nPlayer], baseDefendLocPrior[nPlayer], sizeof(SDWORD), NumEntries * 2 ) != (NumEntries * 2) ) - { - debug(LOG_ERROR, "Failed to load baseDefendLocPrior for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /************************************/ - /* Oil attack locations */ - /************************************/ - - /* read MAX_OIL_DEFEND_LOCATIONS */ - if (PHYSFS_read(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1 ) != 1 ) - { - debug(LOG_ERROR, "Failed to read max number of oil attack locations for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /* check it's the same as current MAX_OIL_DEFEND_LOCATIONS */ - if(NumEntries > MAX_OIL_DEFEND_LOCATIONS) - { - debug(LOG_ERROR, "saved MAX_OIL_DEFEND_LOCATIONS and current one don't match (%d / %d)", NumEntries, MAX_OIL_DEFEND_LOCATIONS); - return EXPERIENCE_LOAD_ERROR; - } - - //debug(LOG_ERROR,"num oil attack loc: %d", NumEntries); - - /* read oil locations */ - if (PHYSFS_read(aiSaveFile[nPlayer], oilDefendLocation[nPlayer], sizeof(SDWORD), NumEntries * 2 ) != (NumEntries * 2) ) - { - debug(LOG_ERROR, "Failed to load oilDefendLocation for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /* read oil location priority */ - if (PHYSFS_read(aiSaveFile[nPlayer], oilDefendLocPrior[nPlayer], sizeof(SDWORD), NumEntries * 2 ) != (NumEntries * 2) ) - { - debug(LOG_ERROR, "Failed to load oilDefendLocPrior for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /****************************/ - /* Oil Resources */ - /****************************/ - - /* read MAX_OIL_LOCATIONS */ - if (PHYSFS_read(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1 ) != 1 ) - { - debug(LOG_ERROR, "Failed to load MAX_OIL_LOCATIONS for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - /* check it's the same as current MAX_OIL_LOCATIONS */ - if(NumEntries > MAX_OIL_LOCATIONS) - { - debug(LOG_ERROR, "saved MAX_OIL_LOCATIONS and current one don't match (%d / %d)", NumEntries, MAX_OIL_LOCATIONS); - return EXPERIENCE_LOAD_ERROR; - } - - - /* Read number of Oil Resources */ - if (PHYSFS_read(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1 ) != 1 ) - { - debug(LOG_ERROR, "Failed to read Oil Resources count for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - //debug(LOG_ERROR,"Num oil: %d", NumEntries); - - if(NumEntries > 0) //any oil resources were saved? - { - /* Read Oil Resources coordinates */ - if (PHYSFS_read(aiSaveFile[nPlayer], PosXY, sizeof(UDWORD), NumEntries * 2 ) != (NumEntries * 2) ) - { - debug(LOG_ERROR, "Failed to read Oil Resources coordinates for player '%d'",nPlayer); - return EXPERIENCE_LOAD_ERROR; - } - - for(i=0; ipsNext) - { - if(psFeature->psStats->subType == FEAT_OIL_RESOURCE) //Oil resource - { - if (!(psFeature->visible[nPlayer])) //Not visible yet - { - if((PosXY[i * 2] == psFeature->pos.x) && (PosXY[i * 2 + 1] == psFeature->pos.y)) /* Found it */ - { - //debug_console("Matched oil resource at x: %d y: %d", PosXY[i * 2]/128,PosXY[i * 2 + 1]/128); - - psFeature->visible[nPlayer] = true; //Make visible for AI - Found = true; - break; - } - } - - } - } - - //if(!Found) //Couldn't find oil resource with this coords on the map - // debug_console("!!Failed to match oil resource #%d at x: %d y: %d", i,PosXY[i * 2]/128,PosXY[i * 2 + 1]/128); - } - - /************************/ - /* Fog of War */ - /************************/ - if(version >= 2) - { - for(i=0;i -1) && (nPlayer < MAX_PLAYERS)) - { - return ReadAISaveData(nPlayer); - } - - return EXPERIENCE_LOAD_ERROR; -} - -static bool SetUpOutputFile(unsigned int nPlayer) -{ - char* SaveDir; - char* FileName; - - /* Assemble dir string */ - sasprintf(&SaveDir, "multiplay/learndata/player%u", nPlayer); - - /* Create dir on disk */ - if (!PHYSFS_mkdir(SaveDir)) - { - debug(LOG_ERROR, "Failed to create directory \"%s\": %s", SaveDir, PHYSFS_getLastError() ); - return false; - } - - /* Create filename */ - sasprintf(&FileName, "%s/%s.lrn", SaveDir, game.map); - - /* Open file */ - aiSaveFile[nPlayer] = PHYSFS_openWrite(FileName); - if (aiSaveFile[nPlayer] == NULL) - { - debug(LOG_ERROR, "Couldn't open debugging output file: '%s' for player %u", FileName, nPlayer); - return false; - } - - return true; -} - -static bool canRecallOilAt(SDWORD nPlayer, SDWORD x, SDWORD y) -{ - unsigned int i; - - /* go through all remembered oil and check */ - for(i = 0; i < MAX_OIL_LOCATIONS; ++i) - { - if (oilLocation[nPlayer][i][0] != x) - continue; - - if (oilLocation[nPlayer][i][1] != y) - continue; - - return true; //yep, both matched - } - - return false; //no -} - -static bool WriteAISaveData(SDWORD nPlayer) -{ - - FEATURE *psFeature; - STRUCTURE *psCurr; - SDWORD x=0,y=0; - SDWORD NumEntries=0; //How many derricks/oil resources will be saved - UDWORD PosXY[MAX_OIL_ENTRIES]; //Locations, 0=x,1=y,2=x etc - UDWORD i,j; - BOOL bTileVisible; - - /* prepare experience file for the current map */ - if(!SetUpOutputFile(nPlayer)) - { - debug(LOG_ERROR, "Failed to prepare experience file for player %d",nPlayer); - return false; - } - - if (aiSaveFile[nPlayer]) - { - //debug(LOG_ERROR, "aiSaveFile ok"); - - - /* Version */ - NumEntries = SAVE_FORMAT_VERSION; //Version - if(PHYSFS_write(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1) != 1) - { - debug(LOG_ERROR, "failed to write version for player %d",nPlayer); - return false; - } - - //fwrite(&NumEntries,sizeof(NumEntries),1,aiSaveFile[nPlayer]); //Version - - //debug(LOG_ERROR, "Version ok"); - - /************************/ - /* Enemy bases */ - /************************/ - NumEntries = MAX_PLAYERS; - - /* max num of players to store */ - if(PHYSFS_write(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1) != 1) //num of players to store - { - debug(LOG_ERROR, "failed to write MAX_PLAYERS for player %d",nPlayer); - return false; - } - - //debug(LOG_ERROR, "MAX_PLAYERS ok"); - - /* base locations of all players */ - if(PHYSFS_write(aiSaveFile[nPlayer], baseLocation[nPlayer], sizeof(SDWORD), MAX_PLAYERS * 2) != (MAX_PLAYERS * 2)) //num of players to store - { - debug(LOG_ERROR, "failed to write base locations for player %d",nPlayer); - return false; - } - - //debug(LOG_ERROR, "Enemy bases ok"); - - /************************************/ - /* Base attack locations */ - /************************************/ - NumEntries = MAX_BASE_DEFEND_LOCATIONS; - - /* write MAX_BASE_DEFEND_LOCATIONS */ - if(PHYSFS_write(aiSaveFile[nPlayer], &NumEntries, sizeof(SDWORD), 1) < 1) - { - debug(LOG_ERROR, "failed to write defence locations count for player %d",nPlayer); - return false; - } - - /* base defence locations */ - if(PHYSFS_write(aiSaveFile[nPlayer], baseDefendLocation[nPlayer], sizeof(SDWORD), MAX_BASE_DEFEND_LOCATIONS * 2) < (MAX_BASE_DEFEND_LOCATIONS * 2)) - { - debug(LOG_ERROR, "failed to write defence locations for player %d",nPlayer); - return false; - } - - /* base defend priorities */ - if(PHYSFS_write(aiSaveFile[nPlayer], baseDefendLocPrior[nPlayer], sizeof(SDWORD), MAX_BASE_DEFEND_LOCATIONS * 2) < (MAX_BASE_DEFEND_LOCATIONS * 2)) - { - debug(LOG_ERROR, "failed to write defence locations priority for player %d",nPlayer); - return false; - } - - //debug(LOG_ERROR, "Base attack locations ok"); - - /************************************/ - /* Oil attack locations */ - /************************************/ - NumEntries = MAX_OIL_DEFEND_LOCATIONS; - - /* MAX_OIL_DEFEND_LOCATIONS */ - if(PHYSFS_write(aiSaveFile[nPlayer], &NumEntries, sizeof(SDWORD), 1) < 1) - { - debug(LOG_ERROR, "failed to write oil defence locations count for player %d",nPlayer); - return false; - } - - /* oil locations */ - if(PHYSFS_write(aiSaveFile[nPlayer], oilDefendLocation[nPlayer], sizeof(SDWORD), MAX_OIL_DEFEND_LOCATIONS * 2) < (MAX_OIL_DEFEND_LOCATIONS * 2)) - { - debug(LOG_ERROR, "failed to write oil defence locations for player %d",nPlayer); - return false; - } - - /* oil location priority */ - if(PHYSFS_write(aiSaveFile[nPlayer], oilDefendLocPrior[nPlayer], sizeof(SDWORD), MAX_OIL_DEFEND_LOCATIONS * 2) < (MAX_OIL_DEFEND_LOCATIONS * 2)) - { - debug(LOG_ERROR, "failed to write oil defence locations priority for player %d",nPlayer); - return false; - } - - //debug(LOG_ERROR, "Oil attack locations ok"); - - - /****************************/ - /* Oil Resources */ - /****************************/ - NumEntries = MAX_OIL_LOCATIONS; - - /* MAX_OIL_LOCATIONS */ - if(PHYSFS_write(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1) < 1) - { - debug(LOG_ERROR, "failed to write oil locations count for player %d",nPlayer); - return false; - } - - NumEntries = 0; //Num of oil resources - - /* first save everything what we recalled from last load */ - for(i=0; ipsNext) - { - if(psFeature->psStats->subType == FEAT_OIL_RESOURCE) - { - if (psFeature->visible[nPlayer]) //|| godMode) - { - if(!canRecallOilAt(nPlayer, psFeature->pos.x, psFeature->pos.y)) //already stored? - { - /* Save X */ - PosXY[NumEntries * 2] = psFeature->pos.x; - - /* Save Y */ - PosXY[NumEntries * 2 + 1] = psFeature->pos.y; - - //debug_console("New oil visible x: %d y: %d. Storing.", PosXY[NumEntries * 2]/128,PosXY[NumEntries * 2 + 1]/128); - - NumEntries++; - } - } - } - } - - //Save Derricks as oil resources, since most of them will be unoccupied when experiance will be loaded - for(i=0;ipsNext) - { - if (psCurr->pStructureType->type == REF_RESOURCE_EXTRACTOR) - { - if(psCurr->visible[nPlayer]) //if can see it - { - if(!canRecallOilAt(nPlayer, psCurr->pos.x, psCurr->pos.y)) //already stored? - { - //psResExtractor = (RES_EXTRACTOR *)psCurr->pFunctionality; - - x = psCurr->pos.x; - y = psCurr->pos.y; - - //debug_console("Found derrick at x: %d, y: %d,, width: %d",psCurr->pos.x/128,psCurr->pos.y/128,mapWidth); - - // Save X // - PosXY[NumEntries * 2] = psCurr->pos.x; - - // Save Y // - PosXY[NumEntries * 2 + 1] = psCurr->pos.y; - - //debug_console("New derrick visible x: %d y: %d. Storing.", PosXY[NumEntries * 2]/128,PosXY[NumEntries * 2 + 1]/128); - - NumEntries++; - } - } - } - } - } - - - /* Write number of Oil Resources */ - if(PHYSFS_write(aiSaveFile[nPlayer], &NumEntries, sizeof(NumEntries), 1) < 1) - { - debug(LOG_ERROR, "failed to write stored oil locations count for player %d",nPlayer); - return false; - } - - //debug_console("Num Oil Resources: %d ****",NumEntries); - - /* Write Oil Resources coords */ - if(NumEntries > 0) //Anything to save - { - if(PHYSFS_write(aiSaveFile[nPlayer], PosXY, sizeof(UDWORD), NumEntries * 2) < (NumEntries * 2)) - { - debug(LOG_ERROR, "failed to write oil locations fir player %d",nPlayer); - return false; - } - } - - /************************/ - /* Fog of War */ - /************************/ - NumEntries = MAX_OIL_DEFEND_LOCATIONS; - - for(i=0;i -1) && (nPlayer < MAX_PLAYERS)) - { - if(!WriteAISaveData(nPlayer)) - { - debug(LOG_ERROR,"SavePlayerAIExperience - failed to save exper"); - - //addConsoleMessage("Failed to save experience.",RIGHT_JUSTIFY,SYSTEM_MESSAGE); - console("Failed to save experience for player %d.", nPlayer); - return false; - } - } - - if(bNotify) - { - console("Experience for player %d saved successfully.", nPlayer); - } - - return true; -} - - -//sort the priorities, placing the higher ones at the top -static bool SortBaseDefendLoc(SDWORD nPlayer) -{ - SDWORD i, prior, temp,LowestPrior,LowestIndex,SortBound; - - - - SortBound = MAX_BASE_DEFEND_LOCATIONS-1; //nothing sorted yet, point at last elem - - while(SortBound >= 0) //while didn't reach the top - { - LowestPrior = (SDWORD_MAX - 1); - - LowestIndex = -1; - - //find lowest element - for(i=0; i <= SortBound; i++) - { - prior = baseDefendLocPrior[nPlayer][i]; - if(prior < LowestPrior) //lower and isn't a flag meaning this one wasn't initialized with anything - { - LowestPrior = prior; - LowestIndex = i; - } - } - - //huh, nothing found? (probably nothing set yet, no experience) - if(LowestIndex < 0) - { - //debug(LOG_ERROR,"sortBaseDefendLoc() - No lowest elem found"); - return true; - } - - //swap - if(LowestPrior < baseDefendLocPrior[nPlayer][SortBound]) //need to swap? (might be the same elem) - { - //priority - temp = baseDefendLocPrior[nPlayer][SortBound]; - baseDefendLocPrior[nPlayer][SortBound] = baseDefendLocPrior[nPlayer][LowestIndex]; - baseDefendLocPrior[nPlayer][LowestIndex] = temp; - - //x - temp = baseDefendLocation[nPlayer][SortBound][0]; - baseDefendLocation[nPlayer][SortBound][0] = baseDefendLocation[nPlayer][LowestIndex][0]; - baseDefendLocation[nPlayer][LowestIndex][0] = temp; - - //y - temp = baseDefendLocation[nPlayer][SortBound][1]; - baseDefendLocation[nPlayer][SortBound][1] = baseDefendLocation[nPlayer][LowestIndex][1]; - baseDefendLocation[nPlayer][LowestIndex][1] = temp; - } - - SortBound--; //in any case lower the boundry, even if didn't swap - } - - return true; -} - -//x and y are passed by script, find out if this loc is close to -//an already stored loc, if yes then increase its priority -BOOL StoreBaseDefendLoc(SDWORD x, SDWORD y, SDWORD nPlayer) -{ - SDWORD i, index; - BOOL found; - - index = GetBaseDefendLocIndex(x, y, nPlayer); - if(index < 0) //this one is new - { - //find an empty element - found = false; - for(i=0; i < MAX_BASE_DEFEND_LOCATIONS; i++) - { - if(baseDefendLocation[nPlayer][i][0] < 0) //not initialized yet - { - //addConsoleMessage("Base defense location - NEW LOCATION.", RIGHT_JUSTIFY,SYSTEM_MESSAGE); - - baseDefendLocation[nPlayer][i][0] = x; - baseDefendLocation[nPlayer][i][1] = y; - - baseDefendLocPrior[nPlayer][i] = 1; - - found = true; - - return true; - } - } - - addConsoleMessage("Base defense location - NO SPACE LEFT.",RIGHT_JUSTIFY,SYSTEM_MESSAGE); - return false; //not enough space to store - } - else //this one already stored - { - //addConsoleMessage("Base defense location - INCREASED PRIORITY.",SYSTEM_MESSAGE); - - baseDefendLocPrior[nPlayer][index]++; //higher the priority - - if(baseDefendLocPrior[nPlayer][index] == SDWORD_MAX) - baseDefendLocPrior[nPlayer][index] = 1; //start all over - - SortBaseDefendLoc(nPlayer); //now sort everything - } - - return true; -} - -SDWORD GetBaseDefendLocIndex(SDWORD x, SDWORD y, SDWORD nPlayer) -{ - UDWORD i,range; - - range = world_coord(SAME_LOC_RANGE); //in world units - - for(i=0; i < MAX_BASE_DEFEND_LOCATIONS; i++) - { - if((baseDefendLocation[nPlayer][i][0] > 0) && (baseDefendLocation[nPlayer][i][1] > 0)) //if this one initialized - { - //check if very close to an already stored location - if (hypotf(x - baseDefendLocation[nPlayer][i][0], y - baseDefendLocation[nPlayer][i][1]) < range) - { - return i; //end here - } - } - } - - return -1; -} - -void BaseExperienceDebug(SDWORD nPlayer) -{ - SDWORD i; - - debug_console("-------------"); - for(i=0; i< MAX_BASE_DEFEND_LOCATIONS; i++) - { - debug_console("%d) %d - %d (%d)", i, map_coord(baseDefendLocation[nPlayer][i][0]), map_coord(baseDefendLocation[nPlayer][i][1]), baseDefendLocPrior[nPlayer][i]); - } - debug_console("-------------"); -} - -void OilExperienceDebug(SDWORD nPlayer) -{ - unsigned int i; - - debug_console("-------------"); - - for(i = 0; i < MAX_OIL_DEFEND_LOCATIONS; ++i) - { - debug_console("%u) %d - %d (%d)", i, map_coord(oilDefendLocation[nPlayer][i][0]), map_coord(oilDefendLocation[nPlayer][i][1]), oilDefendLocPrior[nPlayer][i]); - } - - debug_console("-------------"); -} - - -//sort the priorities, placing the higher ones at the top -static bool SortOilDefendLoc(SDWORD nPlayer) -{ - int SortBound; - - //while didn't reach the top - for (SortBound = MAX_OIL_DEFEND_LOCATIONS - 1; SortBound >= 0; --SortBound) - { - int LowestPrior = SDWORD_MAX - 1, - LowestIndex = -1; - int i; - - //find lowest element - for (i = 0; i <= SortBound; ++i) - { - const int prior = oilDefendLocPrior[nPlayer][i]; - if (prior < LowestPrior) //lower and isn't a flag meaning this one wasn't initialized with anything - { - LowestPrior = prior; - LowestIndex = i; - } - } - - //huh, nothing found? (probably nothing set yet, no experience) - if (LowestIndex < 0) - { - //debug(LOG_ERROR,"sortBaseDefendLoc() - No lowest elem found"); - return true; - } - - //swap - if (LowestPrior < oilDefendLocPrior[nPlayer][SortBound]) //need to swap? (might be the same elem) - { - int temp; - - //priority - temp = oilDefendLocPrior[nPlayer][SortBound]; - oilDefendLocPrior[nPlayer][SortBound] = oilDefendLocPrior[nPlayer][LowestIndex]; - oilDefendLocPrior[nPlayer][LowestIndex] = temp; - - //x - temp = oilDefendLocation[nPlayer][SortBound][0]; - oilDefendLocation[nPlayer][SortBound][0] = oilDefendLocation[nPlayer][LowestIndex][0]; - oilDefendLocation[nPlayer][LowestIndex][0] = temp; - - //y - temp = oilDefendLocation[nPlayer][SortBound][1]; - oilDefendLocation[nPlayer][SortBound][1] = oilDefendLocation[nPlayer][LowestIndex][1]; - oilDefendLocation[nPlayer][LowestIndex][1] = temp; - } - } - - return true; -} - -//x and y are passed by script, find out if this loc is close to -//an already stored loc, if yes then increase its priority -BOOL StoreOilDefendLoc(SDWORD x, SDWORD y, SDWORD nPlayer) -{ - SDWORD i, index; - BOOL found; - - index = GetOilDefendLocIndex(x, y, nPlayer); - if(index < 0) //this one is new - { - //find an empty element - found = false; - for(i=0; i < MAX_OIL_DEFEND_LOCATIONS; i++) - { - if(oilDefendLocation[nPlayer][i][0] < 0) //not initialized yet - { - //addConsoleMessage("Oil defense location - NEW LOCATION.", SYSTEM_MESSAGE); - - oilDefendLocation[nPlayer][i][0] = x; - oilDefendLocation[nPlayer][i][1] = y; - - oilDefendLocPrior[nPlayer][i] = 1; - - found = true; - - return true; - } - } - - addConsoleMessage("Oil defense location - NO SPACE LEFT.",RIGHT_JUSTIFY,SYSTEM_MESSAGE); - return false; //not enough space to store - } - else //this one already stored - { - //addConsoleMessage("Oil defense location - INCREASED PRIORITY.",SYSTEM_MESSAGE); - - oilDefendLocPrior[nPlayer][index]++; //higher the priority - - if(oilDefendLocPrior[nPlayer][index] == SDWORD_MAX) - oilDefendLocPrior[nPlayer][index] = 1; //start all over - - SortOilDefendLoc(nPlayer); //now sort everything - } - - return true; -} - -int GetOilDefendLocIndex(SDWORD x, SDWORD y, SDWORD nPlayer) -{ - const unsigned int range = world_coord(SAME_LOC_RANGE); //in world units - int i; - - for(i = 0; i < MAX_OIL_DEFEND_LOCATIONS; ++i) - { - if (oilDefendLocation[nPlayer][i][0] > 0 - && oilDefendLocation[nPlayer][i][1] > 0) //if this one initialized - { - //check if very close to an already stored location - if (hypotf(x - oilDefendLocation[nPlayer][i][0], y - oilDefendLocation[nPlayer][i][1]) < range) - { - return i; - } - } - } - - return -1; -} - -bool CanRememberPlayerBaseLoc(SDWORD lookingPlayer, SDWORD enemyPlayer) -{ - return lookingPlayer >= 0 - && enemyPlayer >= 0 - && lookingPlayer < MAX_PLAYERS - && enemyPlayer < MAX_PLAYERS - && baseLocation[lookingPlayer][enemyPlayer][0] > 0 - && baseLocation[lookingPlayer][enemyPlayer][1] > 0; -} - -bool CanRememberPlayerBaseDefenseLoc(SDWORD player, SDWORD index) -{ - return player >= 0 - && player < MAX_PLAYERS - && index >= 0 - && index < MAX_BASE_DEFEND_LOCATIONS - && baseDefendLocation[player][index][0] > 0 - && baseDefendLocation[player][index][1] > 0; -} - -bool CanRememberPlayerOilDefenseLoc(SDWORD player, SDWORD index) -{ - return player >= 0 - && player < MAX_PLAYERS - && index >= 0 - && index < MAX_BASE_DEFEND_LOCATIONS - && oilDefendLocation[player][index][0] > 0 - && oilDefendLocation[player][index][1] > 0; -} diff --git a/src/aiexperience.h b/src/aiexperience.h deleted file mode 100644 index 7d0f26fdc..000000000 --- a/src/aiexperience.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 2006-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef __INCLUDED_SRC_AIEXPERIENCE_H__ -#define __INCLUDED_SRC_AIEXPERIENCE_H__ - -#define MAX_OIL_DEFEND_LOCATIONS 100 //max number of attack locations to store -#define MAX_BASE_DEFEND_LOCATIONS 30 //max number of base locations to store - -extern SDWORD baseLocation[MAX_PLAYERS][MAX_PLAYERS][2]; -extern SDWORD baseDefendLocation[MAX_PLAYERS][MAX_BASE_DEFEND_LOCATIONS][2]; -extern SDWORD oilDefendLocation[MAX_PLAYERS][MAX_OIL_DEFEND_LOCATIONS][2]; - -extern SDWORD baseDefendLocPrior[MAX_PLAYERS][MAX_BASE_DEFEND_LOCATIONS]; -extern SDWORD oilDefendLocPrior[MAX_PLAYERS][MAX_OIL_DEFEND_LOCATIONS]; - -BOOL SavePlayerAIExperience(SDWORD nPlayer, BOOL bNotify); -SDWORD LoadPlayerAIExperience(SDWORD nPlayer); - -void LoadAIExperience(BOOL bNotify); -BOOL SaveAIExperience(BOOL bNotify); - - -void InitializeAIExperience(void); - -BOOL StoreBaseDefendLoc(SDWORD x, SDWORD y, SDWORD nPlayer); -BOOL StoreOilDefendLoc(SDWORD x, SDWORD y, SDWORD nPlayer); - -int GetOilDefendLocIndex(SDWORD x, SDWORD y, SDWORD nPlayer); -SDWORD GetBaseDefendLocIndex(SDWORD x, SDWORD y, SDWORD nPlayer); - -bool CanRememberPlayerBaseLoc(SDWORD lookingPlayer, SDWORD enemyPlayer); -bool CanRememberPlayerBaseDefenseLoc(SDWORD player, SDWORD index); -bool CanRememberPlayerOilDefenseLoc(SDWORD player, SDWORD index); - -void BaseExperienceDebug(SDWORD nPlayer); -void OilExperienceDebug(SDWORD nPlayer); - -#endif // __INCLUDED_SRC_AIEXPERIENCE_H__ diff --git a/src/keybind.cpp b/src/keybind.cpp index c7da8e668..8e54939b4 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -87,7 +87,6 @@ #include "selection.h" #include "difficulty.h" #include "scriptcb.h" /* for console callback */ -#include "aiexperience.h" /* for console commands */ #include "scriptfuncs.h" #include "clparse.h" #include "research.h" @@ -115,7 +114,6 @@ static STRUCTURE *psOldRE = NULL; static char sCurrentConsoleText[MAX_CONSOLE_STRING_LENGTH]; //remember what user types in console for beacon msg /* Support functions to minimise code size */ -static BOOL processConsoleCommands( char *pName ); static void kfsf_SetSelectedDroidsState( SECONDARY_ORDER sec, SECONDARY_STATE State ); /** A function to determine wether we're running a multiplayer game, not just a @@ -2046,15 +2044,6 @@ void kf_SendTextMessage(void) if(!strcmp(sTextToSend, "")) return; - /* process console commands (only if skirmish or multiplayer, not a campaign) */ - if((game.type == SKIRMISH) || bMultiPlayer) - { - if(processConsoleCommands(sTextToSend)) - { - return; //it was a console command, so don't send - } - } - //console callback message //-------------------------- ConsolePlayer = selectedPlayer; @@ -2756,82 +2745,6 @@ void kf_ToggleRadarTerrain(void) } } - -//Returns true if the engine should dofurther text processing, false if just exit -BOOL processConsoleCommands( char *pName ) -{ -#ifdef DEBUG - BOOL bFound = false; - SDWORD i; - - if(strcmp(pName,"/loadai") == false) - { - (void)LoadAIExperience(true); - return true; - } - else if(strcmp(pName,"/saveai") == false) - { - (void)SaveAIExperience(true); - return true; - } - else if(strcmp(pName,"/maxplayers") == false) - { - console("game.maxPlayers: &d", game.maxPlayers); - return true; - } - else if(strcmp(pName,"/bd") == false) - { - BaseExperienceDebug(selectedPlayer); - - return true; - } - else if(strcmp(pName,"/sm") == false) - { - for(i=0; i= MAX_PLAYERS) || (enemyPlayer >= MAX_PLAYERS)) - { - debug(LOG_ERROR, "scrLearnPlayerBaseLoc: player index too high."); - return false; - } - - if((playerStoring < 0) || (enemyPlayer < 0)) - { - debug(LOG_ERROR, "scrLearnPlayerBaseLoc: player index too low."); - return false; - } - - if (x < 0 - || x >= world_coord(mapWidth) - || y < 0 - || y >= world_coord(mapHeight)) - { - debug(LOG_ERROR, "scrLearnPlayerBaseLoc: coords off map"); - return false; - } - - baseLocation[playerStoring][enemyPlayer][0] = x; - baseLocation[playerStoring][enemyPlayer][1] = y; - - debug_console("Learned player base."); - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -//Saves enemy base x and y for a certain player -BOOL scrRecallPlayerBaseLoc(void) -{ - SDWORD playerStoring,enemyPlayer, *x, *y; - - if (!stackPopParams(4, VAL_INT, &playerStoring, VAL_INT, &enemyPlayer, - VAL_REF|VAL_INT, &x, VAL_REF|VAL_INT, &y)) - { - debug(LOG_ERROR, "scrRecallPlayerBaseLoc(): stack failed"); - return false; - } - - if((playerStoring >= MAX_PLAYERS) || (enemyPlayer >= MAX_PLAYERS)) - { - debug(LOG_ERROR, "scrRecallPlayerBaseLoc: player index too high."); - return false; - } - - if((playerStoring < 0) || (enemyPlayer < 0)) - { - debug(LOG_ERROR, "scrRecallPlayerBaseLoc: player index too low."); - return false; - } - - if(!CanRememberPlayerBaseLoc(playerStoring, enemyPlayer)) //return false if this one not set yet - { - scrFunctionResult.v.bval = false; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; - } - - *x = baseLocation[playerStoring][enemyPlayer][0]; - *y = baseLocation[playerStoring][enemyPlayer][1]; - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Checks if player base loc is stored */ -BOOL scrCanRememberPlayerBaseLoc(void) -{ - SDWORD playerStoring,enemyPlayer; - - if (!stackPopParams(2, VAL_INT, &playerStoring, VAL_INT, &enemyPlayer)) - { - debug(LOG_ERROR, "scrCanRememberPlayerBaseLoc(): stack failed"); - return false; - } - - if((playerStoring >= MAX_PLAYERS) || (enemyPlayer >= MAX_PLAYERS)) - { - debug(LOG_ERROR,"scrCanRememberPlayerBaseLoc: player index too high."); - return false; - } - - if((playerStoring < 0) || (enemyPlayer < 0)) - { - debug(LOG_ERROR,"scrCanRememberPlayerBaseLoc: player index too low."); - return false; - } - - scrFunctionResult.v.bval = CanRememberPlayerBaseLoc(playerStoring, enemyPlayer); - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Stores the place where we were attacked at */ -BOOL scrLearnBaseDefendLoc(void) -{ - SDWORD playerStoring,enemyPlayer, x, y; - - if (!stackPopParams(4, VAL_INT, &playerStoring, VAL_INT, &enemyPlayer, - VAL_INT, &x, VAL_INT, &y)) - { - debug(LOG_ERROR, "scrLearnBaseDefendLoc(): stack failed"); - return false; - } - - if((playerStoring >= MAX_PLAYERS) || (enemyPlayer >= MAX_PLAYERS)) - { - debug(LOG_ERROR,"scrLearnBaseDefendLoc: player index too high."); - return false; - } - - if((playerStoring < 0) || (enemyPlayer < 0)) - { - debug(LOG_ERROR,"scrLearnBaseDefendLoc: player index too low."); - return false; - } - - if (x < 0 - || x >= world_coord(mapWidth) - || y < 0 - || y >= world_coord(mapHeight)) - { - debug(LOG_ERROR,"scrLearnBaseDefendLoc: coords off map"); - return false; - } - - StoreBaseDefendLoc(x, y, playerStoring); - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Stores the place where we were attacked at */ -BOOL scrLearnOilDefendLoc(void) -{ - SDWORD playerStoring,enemyPlayer, x, y; - - if (!stackPopParams(4, VAL_INT, &playerStoring, VAL_INT, &enemyPlayer, - VAL_INT, &x, VAL_INT, &y)) - { - debug(LOG_ERROR, "scrLearnOilDefendLoc(): stack failed"); - return false; - } - - if((playerStoring >= MAX_PLAYERS) || (enemyPlayer >= MAX_PLAYERS)) - { - debug(LOG_ERROR,"scrLearnOilDefendLoc: player index too high."); - return false; - } - - if((playerStoring < 0) || (enemyPlayer < 0)) - { - debug(LOG_ERROR,"scrLearnOilDefendLoc: player index too low."); - return false; - } - - if (x < 0 - || x >= world_coord(mapWidth) - || y < 0 - || y >= world_coord(mapHeight)) - { - debug(LOG_ERROR,"scrLearnOilDefendLoc: coords off map"); - return false; - } - - StoreOilDefendLoc(x, y, playerStoring); - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Returns -1 if this location is not stored yet, otherwise returns index */ -BOOL scrGetBaseDefendLocIndex(void) -{ - SDWORD playerStoring, x, y; - - if (!stackPopParams(3, VAL_INT, &playerStoring, VAL_INT, &x, VAL_INT, &y)) - { - debug(LOG_ERROR, "scrGetBaseDefendLocIndex(): stack failed"); - return false; - } - - if(playerStoring >= MAX_PLAYERS) - { - debug(LOG_ERROR, "scrGetBaseDefendLocIndex: player index too high."); - return false; - } - - if(playerStoring < 0) - { - debug(LOG_ERROR, "scrGetBaseDefendLocIndex: player index too low."); - return false; - } - - if (x < 0 - || x >= world_coord(mapWidth) - || y < 0 - || y >= world_coord(mapHeight)) - { - debug(LOG_ERROR, "scrGetBaseDefendLocIndex: coords off map"); - return false; - } - - scrFunctionResult.v.ival = GetBaseDefendLocIndex(x,y,playerStoring); - if (!stackPushResult(VAL_INT, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Returns -1 if this location is not stored yet, otherwise returns index */ -BOOL scrGetOilDefendLocIndex(void) -{ - SDWORD playerStoring, x, y; - - if (!stackPopParams(3, VAL_INT, &playerStoring, VAL_INT, &x, VAL_INT, &y)) - { - debug(LOG_ERROR, "scrGetOilDefendLocIndex(): stack failed"); - return false; - } - - if(playerStoring >= MAX_PLAYERS) - { - debug(LOG_ERROR, "scrGetOilDefendLocIndex: player index too high."); - - return false; - } - - if(playerStoring < 0) - { - debug(LOG_ERROR, "scrGetOilDefendLocIndex: player index too low."); - return false; - } - - if (x < 0 - || x >= world_coord(mapWidth) - || y < 0 - || y >= world_coord(mapHeight)) - { - debug(LOG_ERROR, "scrGetOilDefendLocIndex: coords off map"); - return false; - } - - scrFunctionResult.v.ival = GetOilDefendLocIndex(x,y,playerStoring); - if (!stackPushResult(VAL_INT, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Returns number of available locations */ -BOOL scrGetBaseDefendLocCount(void) -{ - scrFunctionResult.v.ival = MAX_BASE_DEFEND_LOCATIONS; - if (!stackPushResult(VAL_INT, &scrFunctionResult)) - { - debug(LOG_ERROR, "scrGetBaseDefendLocCount: push failed"); - return false; - } - - return true; -} - -/* Returns number of available locations*/ -BOOL scrGetOilDefendLocCount(void) -{ - scrFunctionResult.v.ival = MAX_OIL_DEFEND_LOCATIONS; - if (!stackPushResult(VAL_INT, &scrFunctionResult)) - { - debug(LOG_ERROR, "scrGetOilDefendLocCount: push failed"); - return false; - } - - return true; -} - -/* Returns a locations and its priority */ -BOOL scrRecallBaseDefendLoc(void) -{ - SDWORD player, *x, *y, *prior,index; - - if (!stackPopParams(5, VAL_INT, &player, VAL_INT, &index, - VAL_REF|VAL_INT, &x, VAL_REF|VAL_INT, &y, VAL_REF|VAL_INT, &prior)) - { - debug(LOG_ERROR, "scrRecallBaseDefendLoc(): stack failed"); - return false; - } - - if(player >= MAX_PLAYERS) - { - debug(LOG_ERROR,"scrRecallBaseDefendLoc: player index too high."); - return false; - } - - if(index < 0 || index >= MAX_BASE_DEFEND_LOCATIONS) - { - debug(LOG_ERROR,"scrRecallBaseDefendLoc: wrong index."); - return false; - } - - if(player < 0) - { - debug(LOG_ERROR,"scrRecallBaseDefendLoc: player index too low."); - return false; - } - - //check if can recall at this location - if(!CanRememberPlayerBaseDefenseLoc(player, index)) - { - scrFunctionResult.v.bval = false; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; - } - - *x = baseDefendLocation[player][index][0]; - *y = baseDefendLocation[player][index][1]; - - *prior = baseDefendLocPrior[player][index]; - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Returns number of available locations */ -BOOL scrRecallOilDefendLoc(void) -{ - SDWORD player, *x, *y, *prior,index; - - if (!stackPopParams(5, VAL_INT, &player, VAL_INT, &index, - VAL_REF|VAL_INT, &x, VAL_REF|VAL_INT, &y, VAL_REF|VAL_INT, &prior)) - { - debug(LOG_ERROR, "scrRecallOilDefendLoc(): stack failed"); - return false; - } - - if(player >= MAX_PLAYERS) - { - debug(LOG_ERROR,"scrRecallOilDefendLoc: player index too high."); - return false; - } - - if(index < 0 || index >= MAX_OIL_DEFEND_LOCATIONS) - { - debug(LOG_ERROR,"scrRecallOilDefendLoc: wrong index: %d.", index); - return false; - } - - if(player < 0) - { - debug(LOG_ERROR,"scrRecallOilDefendLoc: player index too low."); - return false; - } - - //check if can recall at this location - if(!CanRememberPlayerOilDefenseLoc(player, index)) - { - scrFunctionResult.v.bval= false; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; - } - - *x = oilDefendLocation[player][index][0]; - *y = oilDefendLocation[player][index][1]; - - *prior = oilDefendLocPrior[player][index]; - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -/* Restores vilibility (fog of war) */ -BOOL scrRecallPlayerVisibility(void) -{ - SDWORD player; - - if (!stackPopParams(1, VAL_INT, &player)) - { - debug(LOG_ERROR, "scrRecallPlayerVisibility(): stack failed"); - return false; - } - - if(player >= MAX_PLAYERS) - { - debug(LOG_ERROR,"scrRecallPlayerVisibility: player index too high."); - return false; - } - - - - scrFunctionResult.v.bval = true; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -BOOL scrSavePlayerAIExperience(void) -{ - SDWORD player; - BOOL bNotify; - - if (!stackPopParams(2, VAL_INT, &player, VAL_BOOL, &bNotify)) - { - debug(LOG_ERROR, "scrSavePlayerAIExperience(): stack failed"); - return false; - } - - scrFunctionResult.v.bval = SavePlayerAIExperience(player, bNotify); - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) - { - return false; - } - - return true; -} - -BOOL scrLoadPlayerAIExperience(void) -{ - SDWORD player; - - if (!stackPopParams(1, VAL_INT, &player)) - { - debug(LOG_ERROR, "scrLoadPlayerAIExperience(): stack failed"); - return false; - } - - scrFunctionResult.v.ival = LoadPlayerAIExperience(player); - if (!stackPushResult(VAL_INT, &scrFunctionResult)) - { - return false; - } - - return true; -} - - /* Add a beacon (blip) */ BOOL addBeaconBlip(SDWORD locX, SDWORD locY, SDWORD forPlayer, SDWORD sender, char * textMsg) { diff --git a/src/scriptfuncs.h b/src/scriptfuncs.h index f1bc0e493..5c8885983 100644 --- a/src/scriptfuncs.h +++ b/src/scriptfuncs.h @@ -607,23 +607,6 @@ extern BOOL scrGetClosestEnemyStructByType(void); extern BOOL scrSkDefenseLocationB(void); extern BOOL scrCirclePerimPoint(void); -extern BOOL scrLearnPlayerBaseLoc(void); -extern BOOL scrLearnBaseDefendLoc(void); -extern BOOL scrLearnOilDefendLoc(void); -extern BOOL scrSavePlayerAIExperience(void); -extern BOOL scrLoadPlayerAIExperience(void); -extern BOOL scrGetBaseDefendLocIndex(void); -extern BOOL scrGetOilDefendLocIndex(void); -extern BOOL scrRecallPlayerBaseLoc(void); -extern BOOL scrRecallPlayerVisibility(void); -extern BOOL scrCanRememberPlayerBaseLoc(void); -extern BOOL scrStructInRangeVis(void); -extern BOOL scrDroidInRangeVis(void); -extern BOOL scrRecallBaseDefendLoc(void); -extern BOOL scrRecallOilDefendLoc(void); -extern BOOL scrGetBaseDefendLocCount(void); -extern BOOL scrGetOilDefendLocCount(void); - extern BOOL scrGiftRadar(void); extern BOOL scrNumAllies(void); extern BOOL scrNumAAinRange(void); @@ -638,6 +621,8 @@ extern BOOL scrMsgBox(void); extern BOOL scrGetStructureType(void); extern BOOL scrGetPlayerName(void); extern BOOL scrSetPlayerName(void); +extern BOOL scrStructInRangeVis(void); +extern BOOL scrDroidInRangeVis(void); extern BOOL scrGetBit(void); extern BOOL scrSetBit(void); diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index e67e39c4b..5e9bc9a45 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -1233,67 +1233,6 @@ FUNC_SYMBOL asFuncTable[] = 5, { VAL_INT, VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT, VAL_INT }, 0, 0, NULL, 0, 0, NULL, NULL }, - - /* learn functions */ - - { "learnPlayerBaseLoc", scrLearnPlayerBaseLoc, VAL_BOOL, - 4, { VAL_INT, VAL_INT, VAL_INT, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "recallPlayerBaseLoc", scrRecallPlayerBaseLoc, VAL_BOOL, - 4, { VAL_INT, VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "canRememberPlayerBaseLoc",scrCanRememberPlayerBaseLoc,VAL_BOOL, - 2, { VAL_INT, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "learnBaseDefendLoc", scrLearnBaseDefendLoc, VAL_BOOL, - 4, { VAL_INT, VAL_INT, VAL_INT, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "learnOilDefendLoc", scrLearnOilDefendLoc, VAL_BOOL, - 4, { VAL_INT, VAL_INT, VAL_INT, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "getBaseDefendLocIndex", scrGetBaseDefendLocIndex, VAL_INT, - 3, { VAL_INT, VAL_INT, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "getOilDefendLocIndex", scrGetOilDefendLocIndex, VAL_INT, - 3, { VAL_INT, VAL_INT, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "getBaseDefendLocCount", scrGetBaseDefendLocCount, VAL_INT, - 0, { VAL_VOID }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "getOilDefendLocCount", scrGetOilDefendLocCount, VAL_INT, - 0, { VAL_VOID }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "recallBaseDefendLoc", scrRecallBaseDefendLoc, VAL_BOOL, - 5, { VAL_INT, VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "recallOilDefendLoc", scrRecallOilDefendLoc, VAL_BOOL, - 5, { VAL_INT, VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT, VAL_REF|VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "recallPlayerVisibility", scrRecallPlayerVisibility, VAL_BOOL, - 1, { VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "savePlayerAIExperience", scrSavePlayerAIExperience, VAL_BOOL, - 2, { VAL_INT, VAL_BOOL }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - { "loadPlayerAIExperience", scrLoadPlayerAIExperience, VAL_INT, - 1, { VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL }, - - /* end of learn functions */ - { "structInRangeVis", scrStructInRangeVis, VAL_BOOL, 5, { VAL_INT, VAL_INT, VAL_INT, VAL_INT, VAL_INT }, 0, 0, NULL, 0, 0, NULL, NULL }, From 724cd69882d59419b94394689c4baaf2dc5131b1 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 23:42:21 +0100 Subject: [PATCH 068/142] Define the default fog colour in the palette file instead of hard-coded. --- data/base/palette.txt | 3 ++- lib/ivis_opengl/piepalette.h | 3 ++- lib/ivis_opengl/piestate.cpp | 10 ++-------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/data/base/palette.txt b/data/base/palette.txt index ae609cde3..ac7415820 100644 --- a/data/base/palette.txt +++ b/data/base/palette.txt @@ -73,4 +73,5 @@ ff,ff,0,ff // production run text 0,20,40,ff // production run background 0,0,0,18 // game loading bar background ff,0,ff,ff // WZCOL_MAP_PREVIEW_HQ -ff,ff,00,ff // WZCOL_MAP_PREVIEW_OIL +ff,ff,00,ff // WZCOL_MAP_PREVIEW_OIL +b0,08,5f,ff // fog colour diff --git a/lib/ivis_opengl/piepalette.h b/lib/ivis_opengl/piepalette.h index 3181703ac..2667f5c26 100644 --- a/lib/ivis_opengl/piepalette.h +++ b/lib/ivis_opengl/piepalette.h @@ -98,8 +98,9 @@ #define WZCOL_LOADING_BAR_BACKGROUND psPalette[73] #define WZCOL_MAP_PREVIEW_HQ psPalette[74] #define WZCOL_MAP_PREVIEW_OIL psPalette[75] +#define WZCOL_FOG psPalette[76] -#define WZCOL_MAX 76 +#define WZCOL_MAX 77 //************************************************************************* diff --git a/lib/ivis_opengl/piestate.cpp b/lib/ivis_opengl/piestate.cpp index 7464249ec..441290e07 100644 --- a/lib/ivis_opengl/piestate.cpp +++ b/lib/ivis_opengl/piestate.cpp @@ -74,7 +74,7 @@ void pie_SetDefaultStates(void)//Sets all states pie_SetFogStatus(false); black.rgba = 0; black.byte.a = 255; - pie_SetFogColour(black);//nicks colour + pie_SetFogColour(black); //depth Buffer on pie_SetDepthBufferStatus(DEPTH_CMP_LEQ_WRT_ON); @@ -102,13 +102,7 @@ void pie_EnableFog(BOOL val) rendStates.fogEnabled = val; if (val == true) { - PIELIGHT nickscolour; - - nickscolour.byte.r = 0xB0; - nickscolour.byte.g = 0x08; - nickscolour.byte.b = 0x5f; - nickscolour.byte.a = 0xff; - pie_SetFogColour(nickscolour); // nicks colour + pie_SetFogColour(WZCOL_FOG); } else { From 9b6e542bfae4907a8b9148ee221a17d9df460926 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 31 Dec 2010 23:42:53 +0100 Subject: [PATCH 069/142] Remove pietoaster --- tools/pietoaster/COPYING | 674 ----- tools/pietoaster/Makefile | 32 - tools/pietoaster/base_types.h | 79 - tools/pietoaster/config.h | 37 - tools/pietoaster/game_io.cpp | 172 -- tools/pietoaster/game_io.h | 82 - tools/pietoaster/gui.cpp | 111 - tools/pietoaster/gui.h | 145 - tools/pietoaster/imd.cpp | 306 --- tools/pietoaster/imd.h | 58 - tools/pietoaster/imdloader.cpp | 952 ------- tools/pietoaster/imdloader.h | 58 - tools/pietoaster/macros.h | 57 - tools/pietoaster/pages.txt | 2 - tools/pietoaster/pie_anim.h | 31 - tools/pietoaster/pie_internal.cpp | 3903 --------------------------- tools/pietoaster/pie_internal.h | 302 --- tools/pietoaster/pie_types.h | 210 -- tools/pietoaster/pietoaster.cpp | 627 ----- tools/pietoaster/resmaster.cpp | 1401 ---------- tools/pietoaster/resmaster.h | 146 - tools/pietoaster/screen.cpp | 77 - tools/pietoaster/screen.h | 55 - tools/pietoaster/texture.cpp | 330 --- tools/pietoaster/texture.h | 73 - tools/pietoaster/texture_mapper.cpp | 227 -- tools/pietoaster/texture_mapper.h | 83 - tools/pietoaster/wzglobal.h | 434 --- 28 files changed, 10664 deletions(-) delete mode 100644 tools/pietoaster/COPYING delete mode 100644 tools/pietoaster/Makefile delete mode 100644 tools/pietoaster/base_types.h delete mode 100644 tools/pietoaster/config.h delete mode 100644 tools/pietoaster/game_io.cpp delete mode 100644 tools/pietoaster/game_io.h delete mode 100644 tools/pietoaster/gui.cpp delete mode 100644 tools/pietoaster/gui.h delete mode 100644 tools/pietoaster/imd.cpp delete mode 100644 tools/pietoaster/imd.h delete mode 100644 tools/pietoaster/imdloader.cpp delete mode 100644 tools/pietoaster/imdloader.h delete mode 100644 tools/pietoaster/macros.h delete mode 100644 tools/pietoaster/pages.txt delete mode 100644 tools/pietoaster/pie_anim.h delete mode 100644 tools/pietoaster/pie_internal.cpp delete mode 100644 tools/pietoaster/pie_internal.h delete mode 100644 tools/pietoaster/pie_types.h delete mode 100644 tools/pietoaster/pietoaster.cpp delete mode 100644 tools/pietoaster/resmaster.cpp delete mode 100644 tools/pietoaster/resmaster.h delete mode 100644 tools/pietoaster/screen.cpp delete mode 100644 tools/pietoaster/screen.h delete mode 100644 tools/pietoaster/texture.cpp delete mode 100644 tools/pietoaster/texture.h delete mode 100644 tools/pietoaster/texture_mapper.cpp delete mode 100644 tools/pietoaster/texture_mapper.h delete mode 100644 tools/pietoaster/wzglobal.h diff --git a/tools/pietoaster/COPYING b/tools/pietoaster/COPYING deleted file mode 100644 index 94a9ed024..000000000 --- a/tools/pietoaster/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/tools/pietoaster/Makefile b/tools/pietoaster/Makefile deleted file mode 100644 index 20b01604c..000000000 --- a/tools/pietoaster/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -CXX=g++ -CXXFLAGS=-g -CPPFLAGS=-I/usr/include/SDL -LDFLAGS= -LIBS=-lSDL_image -lSDL -lGLU -lGL -lAntTweakBar - -SOURCES= \ - game_io.cpp \ - gui.cpp \ - imd.cpp \ - imdloader.cpp \ - pie_internal.cpp \ - pietoaster.cpp \ - resmaster.cpp \ - screen.cpp \ - texture.cpp \ - texture_mapper.cpp - -OBJECTFILES=$(SOURCES:%.cpp=%.o) - -all: pietoaster - -clean: - -rm -f $(OBJECTFILES) pietoaster - -pietoaster: $(OBJECTFILES) - $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) - -%.o: %.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< - -.PHONY: all clean diff --git a/tools/pietoaster/base_types.h b/tools/pietoaster/base_types.h deleted file mode 100644 index cde47ea7a..000000000 --- a/tools/pietoaster/base_types.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _base_types_h -#define _base_types_h - -#include -#include - -#include "wzglobal.h" - -typedef struct _named_matrices_4f { - float m11, m12, m13, m14; - float m21, m22, m23, m24; - float m31, m32, m33, m34; - float m41, m42, m43, m44; -} NAMED_MATRICES_4F; - -typedef struct _named_matrices_4d { - double m11, m12, m13, m14; - double m21, m22, m23, m24; - double m31, m32, m33, m34; - double m41, m42, m43, m44; -} NAMED_MATRICES_4D; - -class CPieMatrix4F { -public: - union { - float um[16]; - NAMED_MATRICES_4F m; - }; - - /* - CPieMatrix4F operator+(CPieMatrix4F matrix) = { - CPieMatrix4F(this->m.m11 + matrix.m.m11, - this->m.m12 + matrix.m.m12, - this->m.m13 + matrix.m.m13, - this->m.m14 + matrix.m.m14, - this->m.m21 + matrix.m.m21, - this->m.m22 + matrix.m.m22, - this->m.m23 + matrix.m.m23, - this->m.m24 + matrix.m.m24, - this->m.m31 + matrix.m.m31, - this->m.m32 + matrix.m.m32, - this->m.m33 + matrix.m.m33, - this->m.m34 + matrix.m.m34, - this->m.m41 + matrix.m.m41, - this->m.m42 + matrix.m.m42, - this->m.m43 + matrix.m.m43, - this->m.m44 + matrix.m.m44) - }; - */ -}; - -class CPieMatrix4D { -public: - union { - double um[16]; - NAMED_MATRICES_4D m; - }; -}; - -#endif diff --git a/tools/pietoaster/config.h b/tools/pietoaster/config.h deleted file mode 100644 index 7a283b004..000000000 --- a/tools/pietoaster/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _config_h -#define _config_h - -const int guiMajorRed = 255; -const int guiMajorGreen = 255; -const int guiMajorBlue = 255; -const int guiMajorAlpha = 255; -const int guiMajorWidth = 150; -const int guiMajorHeight = 200; - -const int guiMinorRed = 255; -const int guiMinorGreen = 255; -const int guiMinorBlue = 255; -const int guiMinorAlpha = 255; -const int guiMinorWidth = 150; -const int guiMinorHeight = 150; - -#endif diff --git a/tools/pietoaster/game_io.cpp b/tools/pietoaster/game_io.cpp deleted file mode 100644 index 3f0842437..000000000 --- a/tools/pietoaster/game_io.cpp +++ /dev/null @@ -1,172 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "game_io.h" - -//sets the MouseX,MouseY to invalid 0xFFFF -///mouse x coord on screen -Uint16 MouseX = 0xFFFF; -///mouse y coord on screen -Uint16 MouseY = 0xFFFF; -///mouse x move last frame -Sint16 MouseMoveX = 0; -///mouse y move last frame -Sint16 MouseMoveY = 0; - -INPUT_ELEM KeyStates[MAX_KEYS]; -INPUT_ELEM MouseStates[MAX_MOUSE_BUTTONS]; - -///initialize and set Mouse/KeyStates to zero -void inputInitialize(void) { - memset(&KeyStates[0], 0, sizeof(INPUT_ELEM) * MAX_KEYS); - memset(&MouseStates[0], 0, sizeof(INPUT_ELEM) * MAX_MOUSE_BUTTONS); -} - -///handles mouse input -void inputButtonMouseEvent(SDL_MouseButtonEvent button, Uint8 newState) { - const Uint16 buttonId = button.button; - - if (newState == SDL_MOUSEBUTTONUP) { - MouseStates[buttonId].data |= OH_KEY_UP; - MouseStates[buttonId].duration = 0; - } - else if (newState == SDL_MOUSEBUTTONDOWN) { - MouseStates[buttonId].data |= OH_KEY_DOWN; - } -} - -//update the mouse screen x,y -void inputMotionMouseEvent(SDL_MouseMotionEvent motion) { - MouseMoveX = (Sint16)MouseX - (Sint16)motion.x; - MouseMoveY = (Sint16)MouseY - (Sint16)motion.y; - MouseX = motion.x; - MouseY = motion.y; -} - -///handles key input -void inputKeyEvent(SDL_KeyboardEvent key, Uint8 newState) { - const Uint16 eventKey = key.keysym.sym; - - if (newState == SDL_KEYUP) { - KeyStates[eventKey].data |= OH_KEY_UP; - KeyStates[eventKey].duration = 0; - } - else if (newState == SDL_KEYDOWN) { - KeyStates[eventKey].data |= OH_KEY_DOWN; - } -} - -bool isKeyDown(SDLKey key) { - return (KeyStates[key].data & OH_KEY_RELEASE); -} - -bool isKeyDoubleDown(SDLKey key) { - return (KeyStates[key].data & OH_KEY_DDOWN && KeyStates[key].data & OH_KEY_RELEASE ); -} - -bool isKeyHold(SDLKey key) { - return (KeyStates[key].duration); -} - -bool isMouseButtonDown(Uint8 button) { - return (MouseStates[button].data & OH_KEY_RELEASE); -} - -bool isMouseButtonDoubleDown(Uint8 button) { - return (MouseStates[button].data & OH_KEY_DDOWN && MouseStates[button].data & OH_KEY_RELEASE); -} - -bool isMouseButtonHold(Uint8 button) { - return (MouseStates[button].duration); -} - -///per-frame input update -void inputUpdate(void) { - Uint32 timeDiff, i; - const Uint32 currTicks = SDL_GetTicks(); - - for (i = 0;i < MAX_KEYS;i++) { - if (KeyStates[i].data) { - timeDiff = currTicks - KeyStates[i].lastDown; - if (KeyStates[i].data & OH_KEY_RELEASE) - { - KeyStates[i].data = 0; - } - - if (KeyStates[i].data & OH_KEY_UP) - { - KeyStates[i].data |= OH_KEY_RELEASE; - KeyStates[i].lastDown = 0; - } - - if (KeyStates[i].data & OH_KEY_DOWN) { - if (timeDiff) - { - if (!(KeyStates[i].data & OH_KEY_RELEASE)) { - KeyStates[i].data |= OH_KEY_HOLD; - KeyStates[i].duration += timeDiff; - } - else if (timeDiff <= KEY_DDOWN_TIMER) { - KeyStates[i].data |= OH_KEY_DDOWN; - KeyStates[i].lastDown = currTicks; - } - else { - KeyStates[i].duration = 0; - KeyStates[i].lastDown = currTicks; - } - } - } - } - } - for (i = 0;i < MAX_MOUSE_BUTTONS;i++) { - if (MouseStates[i].data) { - timeDiff = currTicks - MouseStates[i].lastDown; - if (MouseStates[i].data & OH_KEY_RELEASE) - { - MouseStates[i].data = 0; - } - - if (MouseStates[i].data & OH_KEY_UP) - { - MouseStates[i].data |= OH_KEY_RELEASE; - MouseStates[i].lastDown = 0; - } - - if (MouseStates[i].data & OH_KEY_DOWN) { - if (timeDiff) - { - if (!(MouseStates[i].data & OH_KEY_RELEASE)) { - MouseStates[i].data |= OH_KEY_HOLD; - MouseStates[i].duration += timeDiff; - } - else if (timeDiff <= KEY_DDOWN_TIMER) { - MouseStates[i].data |= OH_KEY_DDOWN; - MouseStates[i].data |= OH_KEY_RELEASE; - MouseStates[i].lastDown = currTicks; - } - else { - MouseStates[i].duration = 0; - MouseStates[i].data |= OH_KEY_RELEASE; - MouseStates[i].lastDown = currTicks; - } - } - } - } - } -} diff --git a/tools/pietoaster/game_io.h b/tools/pietoaster/game_io.h deleted file mode 100644 index eb862178b..000000000 --- a/tools/pietoaster/game_io.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef __game_io_h -#define __game_io_h -#include - -#include "wzglobal.h" - -/* Simple implementation of singleclick doubleclick holdbutton via SDL */ - -///use max possible sdl keys -const Uint32 MAX_KEYS = SDLK_LAST; -///use max possible sdl mouse buttons(UNUSED?,LEFT,RIGHT,MIDDLE) -const Uint8 MAX_MOUSE_BUTTONS = 4; - - -///timer for hold,the interval between 2 key events < 100ms triggers OH_KEY_HOLD -const Uint32 KEY_HOLD_TIMER = 100; -///timer for double down(double click for mouse),the interval between 2 key events < 500ms triggers OH_KEY_DDOWN -const Uint32 KEY_DDOWN_TIMER = 500; - -///state for both mouse and keyboard -enum _key_state { - OH_KEY_UP = 0x0001, ///< Key/Button is up - OH_KEY_DOWN = 0x0002, ///< Key/Button is down - OH_KEY_HOLD = 0x0004, ///< Key/Button is hold for some time - OH_KEY_DDOWN = 0x0008, ///< Key/Button is double-down/double-clickd - OH_KEY_RELEASE = 0x0010, ///< Key/Button is released(note:this one is the proper clicked event) -}; - -///input element with hold event duration -typedef struct _input_elem { - ///key state - Uint32 data; - ///last down timestamp - Uint32 lastDown; - ///duration of hold - Uint32 duration; -} INPUT_ELEM; - -extern Uint16 MouseX; -extern Uint16 MouseY; -extern Sint16 MouseMoveX; -extern Sint16 MouseMoveY; -extern INPUT_ELEM KeyStates[MAX_KEYS]; -extern INPUT_ELEM MouseStates[MAX_MOUSE_BUTTONS]; - -extern void inputInitialize(void); - -extern void inputButtonMouseEvent(SDL_MouseButtonEvent button, Uint8 newState); -extern void inputMotionMouseEvent(SDL_MouseMotionEvent motion); - -extern void inputKeyEvent(SDL_KeyboardEvent key, Uint8 newState); - -bool isKeyDown(SDLKey key); -bool isKeyDoubleDown(SDLKey key); -bool isKeyHold(SDLKey key); -bool isMouseButtonDown(Uint8 button); -bool isMouseButtonDoubleDown(Uint8 button); -bool isMouseButtonHold(Uint8 button); - -extern void inputUpdate(void); - - -#endif diff --git a/tools/pietoaster/gui.cpp b/tools/pietoaster/gui.cpp deleted file mode 100644 index c4510dddc..000000000 --- a/tools/pietoaster/gui.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "gui.h" -#include "config.h" -#include "screen.h" - -TwType g_tw_pieVertexType; -TwType g_tw_pieVector2fType; - -void CAntTweakBarTextField::doFunction() {} - -void CAntTweakBarTextField::addTextBox(const char *name) -{ - if (m_Up) - { - return; - } - - char def[255]; - char barAttr[255]; - - fprintf(stderr, "%s\n", name); - - m_textBar = TwNewBar(name); - - strncpy(m_name, name, strlen(name)); - - snprintf(barAttr, 255, "%s color = '%d %d %d %d' size = '200 100'", name, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue); - TwDefine(barAttr); - - Uint16 positionX = g_Screen.m_width / 2 - 100; - Uint16 positionY = g_Screen.m_height / 2 - 50; - snprintf(barAttr, 255, "%s position = '%d %d'", name, positionX, positionY); - TwDefine(barAttr); - - m_Up = true; - - m_textIndex = 0; - - snprintf(def, 255, " label='%s'", name); - TwAddVarRO(m_textBar, name, TW_TYPE_INT32, &m_textIndex, def); -} - -void CAntTweakBarTextField::incrementChar(Uint16 key) -{ - if (m_textIndex < 255 - 1) - { - char str = (Uint8)key; - - strncpy(&m_text[m_textIndex], &str, 1); - m_textIndex++; - } -} - -void CAntTweakBarTextField::decrementChar() -{ - if (m_textIndex > 0) - { - m_text[m_textIndex] = '\0'; - m_textIndex--; - } -} - -void CAntTweakBarTextField::deleteTextBox() -{ - /*copies chars from mychars to text_pointer location if both - values are not null */ - /* - if (text_pointer && mychars_index) - { - int size = mychars_index; - strncpy(text_pointer, mychars, size); - text_pointer = NULL; - } - */ - - memset(m_text, '\0', 255); - memset(m_name, '\0', 255); - - TwDeleteBar(m_textBar); - m_Up = false; -} - -void CAntTweakBarTextField::updateTextBox(void) -{ - char test[255] = " label='"; - - TwRemoveVar(m_textBar, m_name); - - snprintf(&test[8], m_textIndex, "%s", &m_text[0]); - snprintf(&test[8 + m_textIndex], 1, "\'"); - - TwAddVarRO(m_textBar, m_name, TW_TYPE_INT32, &m_textIndex, test); -} diff --git a/tools/pietoaster/gui.h b/tools/pietoaster/gui.h deleted file mode 100644 index 4441cd910..000000000 --- a/tools/pietoaster/gui.h +++ /dev/null @@ -1,145 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _gui_h -#define _gui_h - -#include - -#include "wzglobal.h" -#include "base_types.h" - -extern TwType g_tw_pieVertexType; -extern TwType g_tw_pieVector2fType; - -///AntTweakBar version of hacky, abused dialog... -class CAntTweakBarTextField { -public: - bool m_Up; //whether textbox is up or not - - CAntTweakBarTextField() : m_Up(false) {} - - virtual void doFunction(); - - void incrementChar(Uint16 key); - void decrementChar(void); - - void addTextBox(const char * name); - - void deleteTextBox(); - - void updateTextBox(void); - - char *getText(void) {return m_name;}; - - void addUserInfo(void *userInfo) {m_userInfo = userInfo;}; -protected: - char m_name[255]; //name - char m_text[255]; //temp char - Sint32 m_textIndex; //temp char current index - TwBar *m_textBar; //text box bar - void *m_userInfo; //pointer to user object - //char *m_textPointer = NULL; -}; - -// Instead of mixing AntTweakBar with another GUI that supports GFX button, I decided to write my own(crappy) GUI :) - -class CToasterButton { -public: - static const Uint32 MAX_STR_LENGTH = 128; - - CToasterButton(const char *name, const char *text, Uint16 x, Uint16 y, Uint16 w, Uint16 h, Uint16 alignment, bool isImage, void *image); - - enum { - ALIGN_LEFT = 1, - ALIGN_CENTER, - ALIGN_RIGHT - }; - - virtual void draw(void); - virtual void OnClick(void); - virtual void OnDBClick(void); -private: - bool m_IsImageButton; ///whether image button or not - Uint16 m_Alignment; ///Alignment of text/image - Uint16 m_X; ///offset to GUI x(0) - Uint16 m_Y; ///offset to GUI y(0) - Uint16 m_Width; ///Width of button - Uint16 m_Height; ///Height of button - - char m_Name[MAX_STR_LENGTH]; ///Name - char m_Text[MAX_STR_LENGTH]; ///Text - SDL_Surface *m_Image; ///Pointer to image surface -}; - -class CToasterWidget { -public: - CToasterWidget(Uint16 x, Uint16 y, Uint16 w, Uint16 h); - ~CToasterWidget(); - - void addButton(const char *name, const char *text,Uint16 x, Uint16 y, Uint16 w, Uint16 h, Uint16 alignment, bool isImage, void *image); - - void draw(void); -private: - Uint16 m_ScreenX; ///offset to screen x(0) - Uint16 m_ScreenY; ///offset to screen y(0) - Uint16 m_Width; ///Width of widget - Uint16 m_Height; ///Height of widget - CToasterButton m_Buttons[10]; ///buttons - Uint16 m_numButtons; ///number of buttons -}; - - -class CAddSubModelDialog : public CAntTweakBarTextField { -public: - void doFunction(); -private: -}; - -class CAddSubModelFileDialog : public CAntTweakBarTextField { -public: - void doFunction(); -private: -}; - -class COpenFileDialog : public CAntTweakBarTextField { -public: - void doFunction(); -private: -}; - -class CReadAnimFileDialog : public CAntTweakBarTextField { -public: - void doFunction(); -private: -}; -class CWriteAnimFileDialog : public CAntTweakBarTextField { -public: - void doFunction(); -private: -}; - -extern CAddSubModelDialog AddSubModelDialog; -extern CAddSubModelFileDialog AddSubModelFileDialog; -extern COpenFileDialog OpenFileDialog; -extern CReadAnimFileDialog ReadAnimFileDialog; -extern CWriteAnimFileDialog WriteAnimFileDialog; - -#endif - diff --git a/tools/pietoaster/imd.cpp b/tools/pietoaster/imd.cpp deleted file mode 100644 index fa8d5d58f..000000000 --- a/tools/pietoaster/imd.cpp +++ /dev/null @@ -1,306 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#include -#include -#include -#include - -#include "imd.h" -#include "texture.h" - -#include "resmaster.h" // needed for texture width/height - -//************************************************************************* - -//************************************************************************* - -#define MAX_SHAPE_RADIUS 160 - -//************************************************************************* - - -//************************************************************************* - -// new code the write out the connectors ! -void _imd_save_connectors(FILE *fp, iIMDShape *s) -{ - int i; - - if (s->nconnectors != 0) { - fprintf(fp,"CONNECTORS %d\n",s->nconnectors); - Vector3f *p = s->connectors; - for (i=0; inconnectors; i++, p++) { - fprintf(fp,"\t%f %f %f\n", p->x,p->y,p->z); - } - } -} - -// new code the write out the connectors ! Old version (Integer) -void _imd_save_connectorsOld(FILE *fp, iIMDShape *s) -{ - int i; - - if (s->nconnectors != 0) { - fprintf(fp,"CONNECTORS %d\n",s->nconnectors); - Vector3f *p = s->connectors; - for (i=0; inconnectors; i++, p++) { - fprintf(fp,"\t%d %d %d\n", (Sint32)p->x,(Sint32)p->y,(Sint32)p->z); - } - } -} - -//************************************************************************* -//*** save IMD file -//* -//* pre shape successfully loaded -//* -//* params filename = name of file to save to including .IMD extention -//* s = pointer to IMD shape -//* -//* returns TRUE -> ok, FLASE -> error -//* -//****** -bool iV_IMDSave(const char *filename, iIMDShape *s, bool PieIMD) -{ - FILE *fp; - iIMDShape *sp; - iIMDPoly *poly; - int nlevel, i, j, d; - const Uint32 dummyFlags = 0xDEADBEEF; - - if ((fp = fopen(filename,"w")) == NULL) { - return false; - } - - if (PieIMD == true) { - fprintf(fp,"%s %d\n",PIE_NAME,PIE_VER); - } else { - fprintf(fp,"%s %d\n",IMD_NAME,IMD_VER); - } - fprintf(fp,"TYPE %x\n", dummyFlags); - - // if textured write tex page file info - if (s->texpage != iV_TEX_INVALID) - { - //512W 512H for now... - fprintf(fp,"TEXTURE %s %s %d %d\n", (const char*)"0", - iV_TEXNAME(s->texpage), _TEX_PAGE[s->texpage].w, - _TEX_PAGE[s->texpage].h); - } - - // find number of levels in shape - for (nlevel=0, sp = s; sp != NULL; sp = sp->next, nlevel++) - ; - - fprintf(fp,"LEVELS %d\n",nlevel); - - for (sp = s, i=0; inext, i++) { - fprintf(fp,"LEVEL %d\n",(i+1)); - fprintf(fp,"POINTS %d\n",sp->npoints); - - // write shape points - for (j = 0; j < sp->npoints; j++) { - fprintf(fp,"\t%f %f %f\n",sp->points[j].x,sp->points[j].y, - sp->points[j].z); - } - - // write shape polys - { - fprintf(fp,"POLYGONS %d\n",sp->npolys); - for (poly = sp->polys, j=0; jnpolys; j++, poly++) { - fprintf(fp,"\t%8x %d",poly->flags,poly->npnts); - for (d=0; dnpnts; d++) { - fprintf(fp," %d",poly->pindex[d]); - } - - if (poly->flags & iV_IMD_TEXANIM) { - - if (poly->pTexAnim == NULL) { - fprintf( stderr, "No TexAnim pointer!\n" ); - } else { - fprintf(fp," %d %d %d %d", - poly->pTexAnim->nFrames, - poly->pTexAnim->playbackRate, - poly->pTexAnim->textureWidth, - poly->pTexAnim->textureHeight); - } - } - - // if textured write texture uv's - if (poly->flags & iV_IMD_TEX) - { - for (d=0; dnpnts; d++) { - fprintf(fp," %f %f",poly->texCoord[d].x,poly->texCoord[d].y); - } - } - fprintf(fp,"\n"); - } - } - } - - _imd_save_connectors(fp,s); // Write out the connectors if they exist - - fclose(fp); - - return true; -} - -//************************************************************************* -//*** save IMD file (Old Integer version) WARNING:float mantissa will be discarded -//* -//* pre shape successfully loaded -//* -//* params filename = name of file to save to including .IMD extention -//* s = pointer to IMD shape -//* -//* returns TRUE -> ok, FLASE -> error -//* -//****** -bool iV_IMDSaveOld(const char *filename, iIMDShape *s, bool PieIMD) -{ - FILE *fp; - iIMDShape *sp; - iIMDPoly *poly; - int nlevel, i, j, d; - const Uint32 dummyFlags = 0xDEADBEEF; - - if ((fp = fopen(filename,"w")) == NULL) { - return false; - } - - if (PieIMD == true) { - fprintf(fp,"%s %d\n",PIE_NAME,PIE_VER); - } else { - fprintf(fp,"%s %d\n",IMD_NAME,IMD_VER); - } - fprintf(fp,"TYPE %x\n", dummyFlags); - - // if textured write tex page file info - if (s->texpage != iV_TEX_INVALID) - { - //512W 512H for now... - fprintf(fp,"TEXTURE %s %s %d %d\n", (const char*)"0", - iV_TEXNAME(s->texpage), _TEX_PAGE[s->texpage].w, - _TEX_PAGE[s->texpage].h); - } - - // find number of levels in shape - for (nlevel=0, sp = s; sp != NULL; sp = sp->next, nlevel++) - ; - - fprintf(fp,"LEVELS %d\n",nlevel); - - for (sp = s, i=0; inext, i++) { - fprintf(fp,"LEVEL %d\n",(i+1)); - fprintf(fp,"POINTS %d\n",sp->npoints); - - // write shape points - for (j = 0; j < sp->npoints; j++) { - fprintf(fp,"\t%d %d %d\n",(Sint32)sp->points[j].x,(Sint32)sp->points[j].y, - (Sint32)sp->points[j].z); - } - - // write shape polys - { - fprintf(fp,"POLYGONS %d\n",sp->npolys); - for (poly = sp->polys, j=0; jnpolys; j++, poly++) { - fprintf(fp,"\t%8x %d",poly->flags,poly->npnts); - for (d=0; dnpnts; d++) { - fprintf(fp," %d",poly->pindex[d]); - } - - if (poly->flags & iV_IMD_TEXANIM) { - - if (poly->pTexAnim == NULL) { - fprintf( stderr, "No TexAnim pointer!\n" ); - } else { - fprintf(fp," %d %d %d %d", - poly->pTexAnim->nFrames, - poly->pTexAnim->playbackRate, - poly->pTexAnim->textureWidth, - poly->pTexAnim->textureHeight); - } - } - - // if textured write texture uv's - if (poly->flags & iV_IMD_TEX) - { - for (d=0; dnpnts; d++) { - fprintf(fp," %d %d",(Sint32)poly->texCoord[d].x,(Sint32)poly->texCoord[d].y); - } - } - fprintf(fp,"\n"); - } - } - } - - _imd_save_connectorsOld(fp,s); // Write out the connectors if they exist - - fclose(fp); - - return true; -} - - -//************************************************************************* -//*** free IMD shape memory -//* -//* pre shape successfully allocated -//* -//* params shape = pointer to IMD shape -//* -//****** -void iV_IMDRelease(iIMDShape *s) -{ - int i; - iIMDShape *d; - - if (s) { - if (s->points) { - free(s->points); - } - if (s->connectors) { - free(s->connectors); - } - if (s->polys) { - for (i = 0; i < s->npolys; i++) { - if (s->polys[i].pindex) { - free(s->polys[i].pindex); - } - if (s->polys[i].pTexAnim) { - free(s->polys[i].pTexAnim); - } - if (s->polys[i].texCoord) { - free(s->polys[i].texCoord); - } - } - free(s->polys); - } - if (s->shadowEdgeList) - { - free(s->shadowEdgeList); - s->shadowEdgeList = NULL; - } - fprintf(stderr, "imd[IMDRelease] = release successful\n"); - d = s->next; - free(s); - iV_IMDRelease(d); - } -} diff --git a/tools/pietoaster/imd.h b/tools/pietoaster/imd.h deleted file mode 100644 index 76aa0b8e4..000000000 --- a/tools/pietoaster/imd.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#ifndef _imd_ -#define _imd_ - - -#include "wzglobal.h" -#include "pie_types.h" - -#define IMD_NAME "IMD" -#define PIE_NAME "PIE" // Pumpkin image export data file -#define IMD_VER 1 -#define PIE_VER 2 - -//************************************************************************* - -#define iV_IMD_MAX_POINTS pie_MAX_VERTICES -#define iV_IMD_MAX_POLYS pie_MAX_POLYGONS - -//************************************************************************* - -// polygon flags b0..b7: col, b24..b31: anim index - - -#define iV_IMD_TEX 0x00000200 -#define iV_IMD_TEXANIM 0x00004000 // iV_IMD_TEX must be set also - -//************************************************************************* - -extern iIMDShape *iV_ProcessIMD(const char **ppFileData, const char *FileDataEnd ); - -extern bool iV_IMDSave(const char *filename, iIMDShape *s, bool PieIMD); -extern void iV_IMDRelease(iIMDShape *s); - -// How high up do we want to stop looking -#define DROID_VIS_UPPER 100 - -// How low do we stop looking? -#define DROID_VIS_LOWER 10 - -#endif diff --git a/tools/pietoaster/imdloader.cpp b/tools/pietoaster/imdloader.cpp deleted file mode 100644 index 372822498..000000000 --- a/tools/pietoaster/imdloader.cpp +++ /dev/null @@ -1,952 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -/*! - * \file imdload.c - * - * Load IMD (.pie) files - * - * - Changes at version 4: - * - pcx name as string - * - pcx filepath - * - cut down vertex list - * - * - Changes at version 5_pre: - * - float coordinate support - * - ... - */ - -#include "wzglobal.h" -#include "macros.h" -#include "pie_types.h" -#include "imdloader.h" // for imd structures -#include "texture.h" - -//#include "tex.h" // texture page loading - - -// Static variables -static VERTEXID vertexTable[iV_IMD_MAX_POINTS]; - -/*! - * returns true if both vectors are equal - */ -static inline bool Vector3i_compare(const Vector3i *a, const Vector3i *b) -{ - return a->x == b->x && a->y == b->y && a->z == b->z; -} - - -/*! - * returns true if both vectors are equal - */ -static inline bool Vector3f_compare(const Vector3f *a, const Vector3f *b) -{ - return a->x == b->x && a->y == b->y && a->z == b->z; -} - -/*! - * Set the vector field by field, same as v = (Vector3f){x, y, z}; - * Needed for MSVC which doesn't support C99 struct assignments. - * \param[out] v Vector to set - * \param[in] x,y,z Values to set to - */ -static inline void Vector3f_Set(Vector3f* v, const float x, const float y, const float z) -{ - v->x = x; - v->y = y; - v->z = z; -} - -// Begin of weird Vector3 normalize - -static void pie_VectorNormalise3iv(Vector3i *v) -{ - Sint32 size; - Vector3i av = {abs(v->x), abs(v->y), abs(v->z)}; - - if (av.x >= av.y) - { - if (av.x > av.z) - size = av.x + av.z/4 + av.y/4; - else - size = av.z + av.x/4 + av.y/4; - } - else - { - if (av.y > av.z) - size = av.y + av.z/4 + av.x/4; - else - size = av.z + av.y/4 + av.x/4; - } - - if (size > 0) - { - v->x = (v->x * FP12_MULTIPLIER) / size; - v->y = (v->y * FP12_MULTIPLIER) / size; - v->z = (v->z * FP12_MULTIPLIER) / size; - } -} - -static void pie_VectorNormalise3fv(Vector3f *v) -{ - float size; - Vector3f av = {fabs(v->x), fabs(v->y), fabs(v->z)}; - - if (av.x >= av.y) { - if (av.x > av.z) - size = av.x + av.z/4 + av.y/4; - else - size = av.z + av.x/4 + av.y/4; - } else { - if (av.y > av.z) - size = av.y + av.z/4 + av.x/4; - else - size = av.z + av.y/4 + av.x/4; - } - - if (size > 0) { - v->x = (v->x * FP12_MULTIPLIER) / size; - v->y = (v->y * FP12_MULTIPLIER) / size; - v->z = (v->z * FP12_MULTIPLIER) / size; - } -} - -/*! - * Calculate surface normal - * Eg. if a polygon (with n points in clockwise order) normal is required, - * p1 = point 0, p2 = point 1, p3 = point n-1 - * \param[in] p1,p1,p3 points for forming 2 vector for cross product - * \param[out] v normal vector returned << FP12_SHIFT - */ -static void pie_SurfaceNormal3fv(Vector3f *p1, Vector3f *p2, Vector3f *p3, Vector3f *v) -{ - Vector3f a = {p3->x - p1->x, - p3->y - p1->y, - p3->z - p1->z}, - b ={p2->x - p1->x, - p2->y - p1->y, - p2->z - p1->z}; - - pie_VectorNormalise3fv(&a); - pie_VectorNormalise3fv(&b); - - v->x = ((a.y * b.z) - (a.z * b.y)) / FP12_MULTIPLIER; - v->y = ((a.z * b.x) - (a.x * b.z)) / FP12_MULTIPLIER; - v->z = ((a.x * b.y) - (a.y * b.x)) / FP12_MULTIPLIER; - pie_VectorNormalise3fv(v); -} - -// End of weird Vector3 normalize - -static bool AtEndOfFile(const char *CurPos, const char *EndOfFile) -{ - while ( *CurPos == 0x00 || *CurPos == 0x09 || *CurPos == 0x0a || *CurPos == 0x0d || *CurPos == 0x20 ) - { - CurPos++; - if (CurPos >= EndOfFile) - { - return true; - } - } - - if (CurPos >= EndOfFile) - { - return true; - } - return false; -} - - -/*! - * Load shape level polygons - * \param ppFileData Pointer to the data (usualy read from a file) - * \param s Pointer to shape level - * \return false on error (memory allocation failure/bad file format), true otherwise - * \pre ppFileData loaded - * \pre s allocated - * \pre s->npolys set - * \post s->polys allocated (iFSDPoly * s->npolys) - * \post s->pindex allocated for each poly - */ -static bool _imd_load_polys( const char **ppFileData, iIMDShape *s ) -{ - const char *pFileData = *ppFileData; - int i, j, cnt; - iIMDPoly *poly; - - s->numFrames = 0; - s->animInterval = 0; - - s->polys = (iIMDPoly*)malloc(sizeof(iIMDPoly) * s->npolys); - if (s->polys == NULL) - { - fprintf(stderr, "(_load_polys) Out of memory (polys)\n"); - return false; - } - - for (i = 0, poly = s->polys; i < s->npolys; i++, poly++) - { - Uint32 flags, npnts; - - if (sscanf(pFileData, "%x %d%n", &flags, &npnts, &cnt) != 2) - { - fprintf(stderr, "(_load_polys) [poly %d] error loading flags and npoints", i); - } - pFileData += cnt; - - poly->flags = flags; - poly->npnts = npnts; - - poly->pindex = (VERTEXID*)malloc(sizeof(VERTEXID) * poly->npnts); - if (poly->pindex == NULL) - { - fprintf(stderr, "(_load_polys) [poly %d] memory alloc fail (poly indices)", i); - return false; - } - - for (j = 0; j < poly->npnts; j++) - { - int newID; - - if (sscanf(pFileData, "%d%n", &newID, &cnt) != 1) - { - fprintf(stderr, "failed poly %d. point %d", i, j); - return false; - } - pFileData += cnt; - poly->pindex[j] = vertexTable[newID]; - } - - // calc poly normal - if (poly->npnts > 2) - { - Vector3f p0, p1, p2; - - //assumes points already set - p0.x = s->points[poly->pindex[0]].x; - p0.y = s->points[poly->pindex[0]].y; - p0.z = s->points[poly->pindex[0]].z; - - p1.x = s->points[poly->pindex[1]].x; - p1.y = s->points[poly->pindex[1]].y; - p1.z = s->points[poly->pindex[1]].z; - - p2.x = s->points[poly->pindex[poly->npnts-1]].x; - p2.y = s->points[poly->pindex[poly->npnts-1]].y; - p2.z = s->points[poly->pindex[poly->npnts-1]].z; - - pie_SurfaceNormal3fv(&p0, &p1, &p2, &poly->normal); - } - else - { - Vector3f_Set(&poly->normal, 0.0f, 0.0f, 0.0f); - } - - if (poly->flags & iV_IMD_TEXANIM) - { - unsigned int nFrames, pbRate, tWidth, tHeight; - - poly->pTexAnim = (iTexAnim*)malloc(sizeof(iTexAnim)); - if (poly->pTexAnim == NULL) - { - fprintf(stderr, "(_load_polys) [poly %d] memory alloc fail (iTexAnim struct)", i); - return false; - } - - // even the psx needs to skip the data - if (sscanf(pFileData, "%d %d %d %d%n", &nFrames, &pbRate, &tWidth, &tHeight, &cnt) != 4) - { - fprintf(stderr, "(_load_polys) [poly %d] error reading texanim data", i); - return false; - } - pFileData += cnt; - - //ASSERT( tWidth > 0, "_imd_load_polys: texture width = %i", tWidth ); - //ASSERT( tHeight > 0, "_imd_load_polys: texture height = %i", tHeight ); - - /* Assumes same number of frames per poly */ - s->numFrames = nFrames; - poly->pTexAnim->nFrames = nFrames; - poly->pTexAnim->playbackRate =pbRate; - - /* Uses Max metric playback rate */ - s->animInterval = pbRate; - poly->pTexAnim->textureWidth = tWidth; - poly->pTexAnim->textureHeight = tHeight; - } - else - { - poly->pTexAnim = NULL; - } - - // PC texture coord routine - if (poly->flags & iV_IMD_TEX) - { - poly->texCoord = (Vector2f*)malloc(sizeof(Vector2f) * poly->npnts); - if (poly->texCoord == NULL) - { - fprintf(stderr, "(_load_polys) [poly %d] memory alloc fail (vertex struct)", i); - return false; - } - - for (j = 0; j < poly->npnts; j++) - { - float VertexU, VertexV; - if (sscanf(pFileData, "%f %f%n", &VertexU, &VertexV, &cnt) != 2) - { - fprintf(stderr, "(_load_polys) [poly %d] error reading tex outline", i); - return false; - } - pFileData += cnt; - - poly->texCoord[j].x = VertexU; - poly->texCoord[j].y = VertexV; - } - } - else - { - poly->texCoord = NULL; - } - } - - *ppFileData = pFileData; - - return true; -} - - -static bool ReadPoints( const char **ppFileData, iIMDShape *s ) -{ - const char *pFileData = *ppFileData; - int cnt, i, j, lastPoint = 0, match = -1; - Vector3f newVector = {0.0f, 0.0f, 0.0f}; - - for (i = 0; i < s->npoints; i++) - { - if (sscanf(pFileData, "%f %f %f%n", &newVector.x, &newVector.y, &newVector.z, &cnt) != 3) - { - fprintf(stderr, "(_load_points) file corrupt -K\n"); - return false; - } - pFileData += cnt; - - //check for duplicate points - match = -1; - - // scan through list upto the number of points added (lastPoint) ... not up to the number of points scanned in (i) (which will include duplicates) - for (j = 0; j < lastPoint; j++) - { - if (Vector3f_compare(&newVector, &s->points[j])) - { - //HACKS!!! always -1 for now this duplicated point removal code(optimization in renderer) screws up imd save - //match = j; - match = -1; - break; - } - } - - //check for duplicate points - if (match == -1) - { - // new point - s->points[lastPoint].x = newVector.x; - s->points[lastPoint].y = newVector.y; - s->points[lastPoint].z = newVector.z; - vertexTable[i] = lastPoint; - lastPoint++; - } - else - { - vertexTable[i] = match; - } - } - - //clear remaining table - for (i = s->npoints; i < iV_IMD_MAX_POINTS; i++) - { - vertexTable[i] = -1; - } - - s->npoints = lastPoint; - - *ppFileData = pFileData; - - return true; -} - - -static bool _imd_load_points( const char **ppFileData, iIMDShape *s ) -{ - Vector3f *p = NULL; - float tempXMax, tempXMin, tempZMax, tempZMin; - float xmax, ymax, zmax; - double dx, dy, dz, rad_sq, rad, old_to_p_sq, old_to_p, old_to_new; - double xspan, yspan, zspan, maxspan; - Vector3f dia1, dia2, cen; - Vector3f vxmin = { 0, 0, 0 }, vymin = { 0, 0, 0 }, vzmin = { 0, 0, 0 }, - vxmax = { 0, 0, 0 }, vymax = { 0, 0, 0 }, vzmax = { 0, 0, 0 }; - - //load the points then pass through a second time to setup bounding datavalues - s->points = (Vector3f*)malloc(sizeof(Vector3f) * s->npoints); - if (s->points == NULL) - { - return false; - } - - // Read in points and remove duplicates (!) - if ( ReadPoints( ppFileData, s ) == false ) - { - return false; - } - - s->xmax = s->ymax = s->zmax = tempXMax = tempZMax = -FP12_MULTIPLIER; - s->xmin = s->ymin = s->zmin = tempXMin = tempZMin = FP12_MULTIPLIER; - - vxmax.x = vymax.y = vzmax.z = -FP12_MULTIPLIER; - vxmin.x = vymin.y = vzmin.z = FP12_MULTIPLIER; - - // set up bounding data for minimum number of vertices - for (p = s->points; p < s->points + s->npoints; p++) - { - if (p->x > s->xmax) - s->xmax = p->x; - if (p->x < s->xmin) - s->xmin = p->x; - - /* Biggest x coord so far within our height window? */ - if( p->x > tempXMax && p->y > DROID_VIS_LOWER && p->y < DROID_VIS_UPPER ) - { - tempXMax = p->x; - } - - /* Smallest x coord so far within our height window? */ - if( p->x < tempXMin && p->y > DROID_VIS_LOWER && p->y < DROID_VIS_UPPER ) - { - tempXMin = p->x; - } - - if (p->y > s->ymax) - s->ymax = p->y; - if (p->y < s->ymin) - s->ymin = p->y; - - if (p->z > s->zmax) - s->zmax = p->z; - if (p->z < s->zmin) - s->zmin = p->z; - - /* Biggest z coord so far within our height window? */ - if( p->z > tempZMax && p->y > DROID_VIS_LOWER && p->y < DROID_VIS_UPPER ) - { - tempZMax = p->z; - } - - /* Smallest z coord so far within our height window? */ - if( p->z < tempZMax && p->y > DROID_VIS_LOWER && p->y < DROID_VIS_UPPER ) - { - tempZMin = p->z; - } - - // for tight sphere calculations - if (p->x < vxmin.x) - { - vxmin.x = p->x; - vxmin.y = p->y; - vxmin.z = p->z; - } - - if (p->x > vxmax.x) - { - vxmax.x = p->x; - vxmax.y = p->y; - vxmax.z = p->z; - } - - if (p->y < vymin.y) - { - vymin.x = p->x; - vymin.y = p->y; - vymin.z = p->z; - } - - if (p->y > vymax.y) - { - vymax.x = p->x; - vymax.y = p->y; - vymax.z = p->z; - } - - if (p->z < vzmin.z) - { - vzmin.x = p->x; - vzmin.y = p->y; - vzmin.z = p->z; - } - - if (p->z > vzmax.z) - { - vzmax.x = p->x; - vzmax.y = p->y; - vzmax.z = p->z; - } - } - - // no need to scale an IMD shape (only FSD) - xmax = MAX(s->xmax, -s->xmin); - ymax = MAX(s->ymax, -s->ymin); - zmax = MAX(s->zmax, -s->zmin); - - s->radius = MAX(xmax, (MAX(ymax, zmax))); - s->sradius = sqrtf(xmax*xmax + ymax*ymax + zmax*zmax); - -// START: tight bounding sphere - - // set xspan = distance between 2 points xmin & xmax (squared) - dx = vxmax.x - vxmin.x; - dy = vxmax.y - vxmin.y; - dz = vxmax.z - vxmin.z; - xspan = dx*dx + dy*dy + dz*dz; - - // same for yspan - dx = vymax.x - vymin.x; - dy = vymax.y - vymin.y; - dz = vymax.z - vymin.z; - yspan = dx*dx + dy*dy + dz*dz; - - // and ofcourse zspan - dx = vzmax.x - vzmin.x; - dy = vzmax.y - vzmin.y; - dz = vzmax.z - vzmin.z; - zspan = dx*dx + dy*dy + dz*dz; - - // set points dia1 & dia2 to maximally seperated pair - // assume xspan biggest - dia1 = vxmin; - dia2 = vxmax; - maxspan = xspan; - - if (yspan > maxspan) - { - maxspan = yspan; - dia1 = vymin; - dia2 = vymax; - } - - if (zspan > maxspan) - { - maxspan = zspan; - dia1 = vzmin; - dia2 = vzmax; - } - - // dia1, dia2 diameter of initial sphere - cen.x = (dia1.x + dia2.x) / 2.; - cen.y = (dia1.y + dia2.y) / 2.; - cen.z = (dia1.z + dia2.z) / 2.; - - // calc initial radius - dx = dia2.x - cen.x; - dy = dia2.y - cen.y; - dz = dia2.z - cen.z; - - rad_sq = dx*dx + dy*dy + dz*dz; - rad = sqrt(rad_sq); - - // second pass (find tight sphere) - for (p = s->points; p < s->points + s->npoints; p++) - { - dx = p->x - cen.x; - dy = p->y - cen.y; - dz = p->z - cen.z; - old_to_p_sq = dx*dx + dy*dy + dz*dz; - - // do r**2 first - if (old_to_p_sq>rad_sq) - { - // this point outside current sphere - old_to_p = sqrt(old_to_p_sq); - // radius of new sphere - rad = (rad + old_to_p) / 2.; - // rad**2 for next compare - rad_sq = rad*rad; - old_to_new = old_to_p - rad; - // centre of new sphere - cen.x = (rad*cen.x + old_to_new*p->x) / old_to_p; - cen.y = (rad*cen.y + old_to_new*p->y) / old_to_p; - cen.z = (rad*cen.z + old_to_new*p->z) / old_to_p; - fprintf(stderr, "NEW SPHERE: cen,rad = %f %f %f, %f\n", cen.x, cen.y, cen.z, rad); - } - } - - s->ocen = cen; - fprintf(stderr, "radius, sradius, %d, %d\n", s->radius, s->sradius); - fprintf(stderr, "SPHERE: cen,rad = %f %f %f\n", s->ocen.x, s->ocen.y, s->ocen.z); - -// END: tight bounding sphere - - return true; -} - - -/*! - * Load shape level connectors - * \param ppFileData Pointer to the data (usualy read from a file) - * \param s Pointer to shape level - * \return false on error (memory allocation failure/bad file format), true otherwise - * \pre ppFileData loaded - * \pre s allocated - * \pre s->nconnectors set - * \post s->connectors allocated - */ -static bool _imd_load_connectors(const char **ppFileData, iIMDShape *s) -{ - const char *pFileData = *ppFileData; - int cnt; - Vector3f *p = NULL, newVector = {0.0f, 0.0f, 0.0f}; - - s->connectors = (Vector3f*)malloc(sizeof(Vector3f) * s->nconnectors); - if (s->connectors == NULL) - { - fprintf(stderr, "(_load_connectors) MALLOC fail\n"); - return false; - } - - for (p = s->connectors; p < s->connectors + s->nconnectors; p++) - { - if (sscanf(pFileData, "%f %f %f%n", &newVector.x, &newVector.y, &newVector.z, &cnt) != 3) - { - fprintf(stderr, "(_load_connectors) file corrupt -M\n"); - return false; - } - pFileData += cnt; - *p = newVector; - } - - *ppFileData = pFileData; - - return true; -} - - -/*! - * Load shape levels recursively - * \param ppFileData Pointer to the data (usualy read from a file) - * \param FileDataEnd ??? - * \param nlevels Number of levels to load - * \return pointer to iFSDShape structure (or NULL on error) - * \pre ppFileData loaded - * \post s allocated - */ -static iIMDShape *_imd_load_level(const char **ppFileData, const char *FileDataEnd, int nlevels) -{ - const char *pFileData = *ppFileData; - char buffer[MAX_PATH] = {'\0'}; - int cnt = 0, n = 0; - iIMDShape *s = NULL; - - if (nlevels == 0) - return NULL; - - s = (iIMDShape*)malloc(sizeof(iIMDShape)); - if (s == NULL) - { - /* Failed to allocate memory for s */ - fprintf(stderr, "_imd_load_level: Memory allocation error\n"); - return NULL; - } - - s->nconnectors = 0; // Default number of connectors must be 0 - s->npoints = 0; - s->npolys = 0; - - s->points = NULL; - s->polys = NULL; - s->connectors = NULL; - s->next = NULL; - - s->shadowEdgeList = NULL; - s->nShadowEdges = 0; - s->texpage = iV_TEX_INVALID; - - - if (sscanf(pFileData, "%s %d%n", buffer, &s->npoints, &cnt) != 2) - { - fprintf(stderr, "_imd_load_level(2): file corrupt\n"); - return NULL; - } - pFileData += cnt; - - // load points - if (strcmp(buffer, "POINTS") != 0) - { - fprintf(stderr, "_imd_load_level: expecting 'POINTS' directive, got: %s", buffer); - return NULL; - } - - if (s->npoints > iV_IMD_MAX_POINTS) - { - fprintf(stderr, "_imd_load_level: too many points in IMD\n"); - return NULL; - } - - _imd_load_points( &pFileData, s ); - - - if (sscanf(pFileData, "%s %d%n", buffer, &s->npolys, &cnt) != 2) - { - fprintf(stderr, "_imd_load_level(3): file corrupt\n"); - return NULL; - } - pFileData += cnt; - - if (strcmp(buffer, "POLYGONS") != 0) - { - fprintf(stderr,"_imd_load_level: expecting 'POLYGONS' directive\n"); - return NULL; - } - - _imd_load_polys( &pFileData, s ); - - - // NOW load optional stuff - while (!AtEndOfFile(pFileData, FileDataEnd)) // check for end of file (give or take white space) - { - // Scans in the line ... if we don't get 2 parameters then quit - if (sscanf(pFileData, "%s %d%n", buffer, &n, &cnt) != 2) - { - break; - } - pFileData += cnt; - - // check for next level ... or might be a BSP - This should handle an imd if it has a BSP tree attached to it - // might be "BSP" or "LEVEL" - if (strcmp(buffer, "LEVEL") == 0) - { - fprintf(stderr, "imd[_load_level] = npoints %d, npolys %d\n", s->npoints, s->npolys); - s->next = _imd_load_level(&pFileData, FileDataEnd, nlevels - 1); - } - else if (strcmp(buffer, "CONNECTORS") == 0) - { - //load connector stuff - s->nconnectors = n; - _imd_load_connectors( &pFileData, s ); - } - else - { - fprintf(stderr, "(_load_level) unexpected directive %s %d", buffer, n); - break; - } - } - - *ppFileData = pFileData; - - return s; -} - - -/*! - * Load ppFileData into a shape - * \param ppFileData Data from the IMD file - * \param FileDataEnd Endpointer - * \return The shape, constructed from the data read - */ -// ppFileData is incremented to the end of the file on exit! -iIMDShape *iV_ProcessIMD( const char *filename ) -{ - const char *pFileData, *pFileDataEnd; - char buffer[MAX_PATH] = "-_-", texfile[MAX_PATH]; - int cnt, nlevels, filelength; - iIMDShape *shape, *psShape; - Uint32 level; - Sint32 imd_version; - Uint32 imd_flags; // FIXME UNUSED - bool bTextured = false; - FILE *FileToOpen = NULL; - - fprintf(stderr, "filename: %s", filename); - printf("filename: %s", filename); - - FileToOpen = fopen(filename, "rb"); - if (FileToOpen == NULL) - { - fprintf(stderr, "iV_ProcessIMD %s file doesn't exist: (%s)\n", filename); - return NULL; - } - - pFileData = (char*)malloc(1024*1024); - - filelength = fread((void*)pFileData, 1, 1024*1024,FileToOpen); - - pFileDataEnd = pFileData + filelength; - - if (sscanf(pFileData, "%s %d%n", buffer, &imd_version, &cnt) != 2) - { - fprintf(stderr, "iV_ProcessIMD %s bad version: (%s)\n", filename, buffer); - return NULL; - } - pFileData += cnt; - - if (strcmp(IMD_NAME, buffer) != 0 && strcmp(PIE_NAME, buffer) !=0 ) - { - fprintf(stderr, "iV_ProcessIMD %s not an IMD file (%s %d)\n", filename, buffer, imd_version); - return NULL; - } - - //Now supporting version 4 files - if (imd_version < 2 || imd_version > 5) - { - fprintf(stderr, "iV_ProcessIMD %s version %d not supported\n", filename, imd_version); - return NULL; - } - - /* Flags are ignored now. Reading them in just to pass the buffer. */ - if (sscanf(pFileData, "%s %x%n", buffer, &imd_flags, &cnt) != 2) - { - fprintf(stderr, "iV_ProcessIMD %s bad flags: %s\n", filename, buffer); - return NULL; - } - pFileData += cnt; - - /* This can be either texture or levels */ - if (sscanf(pFileData, "%s %d%n", buffer, &nlevels, &cnt) != 2) - { - fprintf(stderr, "iV_ProcessIMD %s expecting TEXTURE or LEVELS: %s\n", filename, buffer); - return NULL; - } - pFileData += cnt; - - // get texture page if specified - if (strncmp(buffer, "TEXTURE", 7) == 0) - { - int i, pwidth, pheight; - char ch, texType[MAX_PATH]; - - /* the first parameter for textures is always ignored; which is why we ignore - * nlevels read in above */ - ch = *pFileData++; - - // Run up to the dot or till the buffer is filled. Leave room for the extension. - for( i = 0; i < MAX_PATH-5 && (ch = *pFileData++) != EOF && ch != '.'; i++ ) - { - texfile[i] = (char)ch; - } - texfile[i] = '\0'; - - if (sscanf(pFileData, "%s%n", texType, &cnt) != 1) - { - fprintf(stderr, "iV_ProcessIMD %s texture info corrupt: %s\n", filename, buffer); - return NULL; - } - pFileData += cnt; - - //more texture types using SDL_Image - if (!strcmp(texType, "png")) - { - strcat(texfile, ".png"); - } - else if (!strcmp(texType, "bmp")) - { - strcat(texfile, ".bmp"); - } - else if (!strcmp(texType, "pcx")) - { - strcat(texfile, ".pcx"); - } - else if (!strcmp(texType, "jpg")) - { - strcat(texfile, ".jpg"); - } - else if (!strcmp(texType, "gif")) - { - strcat(texfile, ".gif"); - } - else - { - fprintf(stderr, "iV_ProcessIMD %s: only png bmp pcx jpg gif textures supported\n", filename); - return NULL; - } - - //pie_MakeTexPageName(texfile); - - if (sscanf(pFileData, "%d %d%n", &pwidth, &pheight, &cnt) != 2) - { - fprintf(stderr, "iV_ProcessIMD %s bad texture size: %s\n", filename, buffer); - return NULL; - } - pFileData += cnt; - - /* Now read in LEVELS directive */ - if (sscanf(pFileData, "%s %d%n", buffer, &nlevels, &cnt) != 2) - { - fprintf(stderr, "iV_ProcessIMD %s bad levels info: %s\n", filename, buffer); - return NULL; - } - pFileData += cnt; - - bTextured = true; - } - - if (strncmp(buffer, "LEVELS", 6) != 0) - { - fprintf(stderr, "iV_ProcessIMD: expecting 'LEVELS' directive (%s)", buffer); - return NULL; - } - - /* Read first LEVEL directive */ - if (sscanf(pFileData, "%s %d%n", buffer, &level, &cnt) != 2) - { - fprintf(stderr, "(_load_level) file corrupt -J\n"); - return NULL; - } - pFileData += cnt; - - if (strncmp(buffer, "LEVEL", 5) != 0) - { - fprintf(stderr, "iV_ProcessIMD(2): expecting 'LEVELS' directive (%s)", buffer); - return NULL; - } - - shape = _imd_load_level(&pFileData, pFileDataEnd, nlevels); - if (shape == NULL) - { - fprintf(stderr, "iV_ProcessIMD %s unsuccessful\n", filename); - return NULL; - } - - // load texture page if specified - if (bTextured) - { - int texpage = iV_GetTexture(texfile); - - if (texpage < 0) - { - fprintf(stderr, "iV_ProcessIMD %s could not load tex page %s\n", filename, texfile); - return NULL; - } - /* assign tex page to levels */ - for (psShape = shape; psShape != NULL; psShape = psShape->next) - { - psShape->texpage = texpage; - } - } - - return shape; -} diff --git a/tools/pietoaster/imdloader.h b/tools/pietoaster/imdloader.h deleted file mode 100644 index ede88408c..000000000 --- a/tools/pietoaster/imdloader.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#ifndef _imd_loader_h -#define _imd_loader_h - -#include "wzglobal.h" -#include "pie_types.h" - -#define IMD_NAME "IMD" -#define PIE_NAME "PIE" // Pumpkin image export data file -#define IMD_VER 1 -#define PIE_VER 2 - -//************************************************************************* - -#define iV_IMD_MAX_POINTS pie_MAX_VERTICES -#define iV_IMD_MAX_POLYS pie_MAX_POLYGONS - -//************************************************************************* - -// polygon flags b0..b7: col, b24..b31: anim index - - -#define iV_IMD_TEX 0x00000200 -#define iV_IMD_TEXANIM 0x00004000 // iV_IMD_TEX must be set also - -//************************************************************************* - -extern iIMDShape *iV_ProcessIMD( const char *filename ); - -extern bool iV_IMDSave(const char *filename, iIMDShape *s, bool PieIMD); -extern bool iV_IMDSaveOld(const char *filename, iIMDShape *s, bool PieIMD); -extern void iV_IMDRelease(iIMDShape *s); - -// How high up do we want to stop looking -#define DROID_VIS_UPPER 100 - -// How low do we stop looking? -#define DROID_VIS_LOWER 10 - -#endif diff --git a/tools/pietoaster/macros.h b/tools/pietoaster/macros.h deleted file mode 100644 index 2588b9894..000000000 --- a/tools/pietoaster/macros.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -/*! \file macros.h - * \brief Various macro definitions - */ -#ifndef MACROS_H -#define MACROS_H - -#define MIN(a, b) (((a) < (b)) ? (a) : (b)) -#define MAX(a, b) (((a) > (b)) ? (a) : (b)) -#define ABS(a) (((a) < 0) ? (-(a)) : (a)) - -#define ABSDIF(a,b) ((a)>(b) ? (a)-(b) : (b)-(a)) - -#define CLIP(val, min, max) do \ -{ \ - if ((val) < (min)) (val) = (min); \ - else if ((val) > (max)) (val) = (max); \ -} while(0) - -/* - defines for ONEINX - Use: if (ONEINX) { code... } -*/ -#define ONEINTWO (rand()%2==0) -#define ONEINTHREE (rand()%3==0) -#define ONEINFOUR (rand()%4==0) -#define ONEINFIVE (rand()%5==0) -#define ONEINSIX (rand()%6==0) -#define ONEINSEVEN (rand()%7==0) -#define ONEINEIGHT (rand()%8==0) -#define ONEINNINE (rand()%9==0) -#define ONEINTEN (rand()%10==0) - -#define MACROS_H_STRINGIFY(x) #x -#define TOSTRING(x) MACROS_H_STRINGIFY(x) - -#define AT_MACRO __FILE__ ":" TOSTRING(__LINE__) - -#endif // MACROS_H diff --git a/tools/pietoaster/pages.txt b/tools/pietoaster/pages.txt deleted file mode 100644 index 05fc5ee13..000000000 --- a/tools/pietoaster/pages.txt +++ /dev/null @@ -1,2 +0,0 @@ -page-14-droid hubs.png -page-17-droid weapons.png diff --git a/tools/pietoaster/pie_anim.h b/tools/pietoaster/pie_anim.h deleted file mode 100644 index 1b2a7d60b..000000000 --- a/tools/pietoaster/pie_anim.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _pie_anim_h -#define _pie_anim_h - -#include "wzglobal.h" -#include "pie_types.h" - -#include "imdloader.h" -#include "texture.h" - -#include "gui.h" - -#endif diff --git a/tools/pietoaster/pie_internal.cpp b/tools/pietoaster/pie_internal.cpp deleted file mode 100644 index db9f16807..000000000 --- a/tools/pietoaster/pie_internal.cpp +++ /dev/null @@ -1,3903 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "pie_internal.h" - -#include - -#include "screen.h" -#include "game_io.h" -#include "config.h" - -#include "gui.h" - -///cache between pie and va/vbo -static INTERLEAVED_T2F_V3F vaCache[pie_MAX_VERTICES]; - -//default submodel id for GUI -static Uint32 g_SubModelIndex = 8000; - -// this is a joke actually the result of 65536.0f / 360.f * 22.5f / 4096.0f is ~1 -static inline float WTFScale(float x) -{ - //return (x * 65536.0f / 360.f * 22.5f / 4096.0f); - return x; -} - -CAddSubModelDialog AddSubModelDialog; -CAddSubModelFileDialog AddSubModelFileDialog; -CReadAnimFileDialog ReadAnimFileDialog; -CWriteAnimFileDialog WriteAnimFileDialog; - -void CAddSubModelDialog::doFunction() { - CPieInternal *instance = reinterpret_cast(m_userInfo); - - if (!instance->addSub(m_text)) - { - fprintf(stderr, "Error adding sub model with name:%s\n", m_text); - } - this->deleteTextBox(); - this->m_Up = false; -} - -void CAddSubModelFileDialog::doFunction() { - CPieInternal *instance = reinterpret_cast(m_userInfo); - - if (!instance->addSubFromFile(m_text)) - { - fprintf(stderr, "Error adding sub model with name:%s\n", m_text); - } - this->deleteTextBox(); - this->m_Up = false; -} - -void CReadAnimFileDialog::doFunction() { - CPieInternal *instance = reinterpret_cast(m_userInfo); - - instance->readAnimFile(m_text); - instance->updateGUI(); - // Updates sub model gui as well - CPieInternal *temp = instance->m_nextSub; - while (temp) - { - temp->updateGUI(); - temp = temp->m_nextSub; - } - this->deleteTextBox(); - this->m_Up = false; -} - -void CWriteAnimFileDialog::doFunction() { - CPieInternal *instance = reinterpret_cast(m_userInfo); - - if (instance->m_animMode == instance->ANIM3DTRANS) - { - if (!instance->writeAnimFileTrans(m_text)) - { - fprintf(stderr, "Error writing anim file name:%s\n", m_text); - } - } - else if (instance->m_animMode == instance->ANIM3DFRAMES) - { - if (!instance->writeAnimFileFrames(m_text)) - { - fprintf(stderr, "Error writing anim file name:%s\n", m_text); - } - } - this->deleteTextBox(); - this->m_Up = false; -} - -//// Callbacks //// - -/* borked CB's -void TW_CALL setVarCB(const void *value, void *clientData) { -} - -void TW_CALL getVarCB(void *value, void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->buildHLCache(); -} -*/ - -//clientData as struct(includes instance of object and int info) -void TW_CALL addVerticeCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - Uint8 i = pie_internal_cb->Id; - - //fprintf(stderr, "address of instance:%d", instance); - //fprintf(stderr, "type of id:%c", i); - - if (!instance->addVertice(i)) - { - fprintf(stderr, "adding vertice type %d failed\n", i); - } - instance->updateGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL removeSelectedCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->removeSelected(); - instance->updateGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL removeVerticeAtCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - Uint16 i = pie_internal_cb->Id; - - if (!instance->removeVerticeAt(i)) - { - fprintf(stderr, "remove vertice at %d failed\n", i); - } -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL removeConnectorAtCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - Uint16 i = pie_internal_cb->Id; - - if (!instance->removeConnectorAt(i)) - { - fprintf(stderr, "remove connector at %d failed\n", i); - } - instance->updateGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL selectAllCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->selectAll(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL unselectAllCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->unselectAll(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL moveSelectedVertices(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->moveSelected(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL removeSelectedVertices(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->removeSelected(); - instance->updateGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL symmetricSelectedVertices(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - Uint8 axis = pie_internal_cb->Id; - - instance->symmetricSelected(axis); - instance->updateGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL duplicateSelectedVertices(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - if (!instance->duplicateSelected()) - { - fprintf(stderr, "Error duplicating selected vertices\n"); - } - instance->updateGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL duplicatePolyCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - Uint16 id = pie_internal_cb->Id; - - if (!instance->duplicatePoly(id)) - { - fprintf(stderr, "Error duplicating Poly %d\n", id); - } - instance->updateGUI(); -} - - -//clientData as struct(includes instance of object and int info) -void TW_CALL hideGUICB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->hideGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL showGUICB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->showGUI(); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL destructCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->died = true; -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL addSubModelCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - - AddSubModelDialog.addTextBox("AddSubModel"); - AddSubModelDialog.addUserInfo(pie_internal_cb->pInstance); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL addSubModelFileCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - - AddSubModelFileDialog.addTextBox("AddSubModelFile"); - AddSubModelFileDialog.addUserInfo(pie_internal_cb->pInstance); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL readAnimFileCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - - ReadAnimFileDialog.addTextBox("ReadAnimFile"); - ReadAnimFileDialog.addUserInfo(pie_internal_cb->pInstance); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL writeAnimFileCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - - WriteAnimFileDialog.addTextBox("WriteAnimFile"); - WriteAnimFileDialog.addUserInfo(pie_internal_cb->pInstance); -} - -//clientData as struct(includes instance of object and int info) -void TW_CALL addFrameCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->addFrame(); -} - -//clientData as struct(PIE_FRAME_INFO) -void TW_CALL removeFrameCB(void *clientData) { - PIE_FRAME_INFO *frame = (PIE_FRAME_INFO*)clientData; - - frame->died = true; -} - -//clientData as struct(includes instance and frameId to duplicate) -void TW_CALL duplicateFrameCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - Uint16 id = pie_internal_cb->Id; - - instance->duplicateFrame(id); -} - -void TW_CALL saveNowCB(void *clientData) { - PIE_INTERNAL_CB *pie_internal_cb = (PIE_INTERNAL_CB*)clientData; - CPieInternal *instance = reinterpret_cast(pie_internal_cb->pInstance); - - instance->m_saveNow = true; -} -//// End of Callbacks //// - -void CPolygonLinker::flush(void) { - m_LinkedIndex = 0; - m_Target = 0; - m_MakePolygon = false; -} - -void CPolygonLinker::setTarget(Sint32 target) { - m_Target = target; -} - -Uint16 CPolygonLinker::getTarget(void) { - return m_Target; -} - -bool CPolygonLinker::isUp(void) { - return (m_Up); -} - -bool CPolygonLinker::isDuplicated(Uint16 vertId) { - Uint8 i = 0; - - if (!m_LinkedIndex) - { - //not linked vertices yet - return false; - } - - for (i = 0;i < m_LinkedIndex + 1;i++) - { - if (m_LinkedVertices[i] == vertId) - { - return true; - } - } - return false; -} - -bool CPolygonLinker::canLink(Uint16 vertId) { - //Skips self-link(dot) and line link(2 points line) - if (isDuplicated(vertId) && m_LinkedIndex < 3) - { - return false; - } - - return true; -} - -bool CPolygonLinker::Link(Uint16 vertId) { - if(!canLink(vertId)) - { - return false; - } - - if (isDuplicated(vertId)) - { - m_MakePolygon = true; - return true; - } - - m_LinkedVertices[m_LinkedIndex] = vertId; - - m_LinkedIndex++; - - return true; -} - -void CPolygonLinker::draw(CPieInternal *target) { - Uint16 i; - Uint8 color[4] = {0, 0, 64, 255}; - bool bTextured = false; - - glDisable(GL_DEPTH_TEST); - - if (glIsEnabled(GL_TEXTURE_2D)) - { - glDisable(GL_TEXTURE_2D); - bTextured = true; - } - - for (i = 0;i < m_LinkedIndex;i++) - { - if ((i + 1) >= m_LinkedIndex) - { - break; - } - glColor4ub(color[0], color[1], color[2]+i*32, color[3]); - glBegin(GL_LINES); - glVertex3f(target->m_Vertices[m_LinkedVertices[i]]->vertice.x, - target->m_Vertices[m_LinkedVertices[i]]->vertice.y, - target->m_Vertices[m_LinkedVertices[i]]->vertice.z); - glVertex3f(target->m_Vertices[m_LinkedVertices[i+1]]->vertice.x, - target->m_Vertices[m_LinkedVertices[i+1]]->vertice.y, - target->m_Vertices[m_LinkedVertices[i+1]]->vertice.z); - glEnd(); - } - - glColor4ub(255, 255, 255, 255); - - glEnable(GL_DEPTH_TEST); - - if (bTextured) - { - glEnable(GL_TEXTURE_2D); - } -} - -void CPolygonLinker::makePolygon(CPieInternal *target) { - Uint8 i; - Uint16 polyIndex; - - polyIndex = target->findFreeSlot(1); - - target->m_Polygons[polyIndex] = (IMD_POLY_LIST*)malloc(sizeof(IMD_POLY_LIST)); - - memset(target->m_Polygons[polyIndex], 0, sizeof(IMD_POLY_LIST)); - - //TODO:make flags customizable? - target->m_Polygons[polyIndex]->polygon.flags = 0x00000200; - - target->m_Polygons[polyIndex]->polygon.pTexAnim = NULL; - target->m_Polygons[polyIndex]->polygon.pindex = (VERTEXID*)malloc(sizeof(VERTEXID) * pie_MAX_VERTICES_PER_POLYGON); - target->m_Polygons[polyIndex]->polygon.texCoord = (Vector2f*)malloc(sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - memset(target->m_Polygons[polyIndex]->polygon.texCoord, 0, sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - target->m_Polygons[polyIndex]->polygon.npnts = m_LinkedIndex; - target->m_Polygons[polyIndex]->callback.Id = polyIndex; - target->m_Polygons[polyIndex]->callback.pInstance = (void*)target; - - for (i = 0;i < m_LinkedIndex;i++) - { - target->m_Polygons[polyIndex]->polygon.pindex[i] = (VERTEXID)m_LinkedVertices[i]; - } - - target->m_Polygons[polyIndex]->id = polyIndex; - target->m_Polygons[polyIndex]->frame = 0; //set default frame to 0 - - if (polyIndex == target->m_polyCount) - { - target->m_polyCount++; - } - - m_MakePolygon = false; - m_LinkedIndex = 0; -} - -//the in game pie_Draw3DShape2 function for reference's sake -#if 0 -static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELIGHT specular, int pieFlag, int pieFlagData) -{ - unsigned int n; - Vector3f *pVertices, *pPixels, scrPoints[pie_MAX_VERTICES]; - iIMDPoly *pPolys; - PIEPOLY piePoly; - VERTEXID *index; - bool light = lighting; - - /* Set tranlucency */ - if (pieFlag & pie_ADDITIVE) - { //Assume also translucent - //pie_SetRendMode(REND_ADDITIVE_TEX); - colour.byte.a = (Uint8)pieFlagData; - //pie_SetBilinear(true); - light = false; - } - else if (pieFlag & pie_TRANSLUCENT) - { - //pie_SetRendMode(REND_ALPHA_TEX); - colour.byte.a = (Uint8)pieFlagData; - //pie_SetBilinear(false);//never bilinear with constant alpha, gives black edges - light = false; - } - else - { - //pie_SetRendMode(REND_GOURAUD_TEX); - //if hardware fog then alpha is set else unused in decal mode - if (pieFlag & pie_NO_BILINEAR) - { - //pie_SetBilinear(false); - } - else - { - //pie_SetBilinear(true); - } - } - - pie_SetTexturePage(shape->texpage); - - //now draw the shape - //rotate and project points from shape->points to scrPoints - for (pVertices = shape->points, pPixels = scrPoints; - pVertices < shape->points + shape->npoints; - pVertices++, pPixels++) - { - pPixels->x = pVertices->x; - pPixels->y = pVertices->y; - pPixels->z = pVertices->z; - } - - for (pPolys = shape->polys; - pPolys < shape->polys + shape->npolys; - pPolys++) - { - piePoly.flags = pPolys->flags; - - if (pieFlag & pie_TRANSLUCENT) - { - /* There are no PIE files with PIE_ALPHA set, this is the only user, and - * this flag is never checked anywhere, except we check below that _some_ - * flag is set. This is weird. FIXME. - Per */ - piePoly.flags |= PIE_ALPHA; - } - else if (pieFlag & pie_ADDITIVE) - { - piePoly.flags &= (0xffffffff-PIE_COLOURKEYED);//dont treat additive images as colour keyed - } - - for (n = 0, index = pPolys->pindex; - n < pPolys->npnts; - n++, index++) - { - pieVrts[n].x = scrPoints[*index].x; - pieVrts[n].y = scrPoints[*index].y; - pieVrts[n].z = scrPoints[*index].z; - pieVrts[n].u = pPolys->texCoord[n].x; - pieVrts[n].v = pPolys->texCoord[n].y; - pieVrts[n].light.argb = colour.argb; - pieVrts[n].specular.argb = specular.argb; - } - piePoly.nVrts = pPolys->npnts; - piePoly.pVrts = pieVrts; - - piePoly.pTexAnim = pPolys->pTexAnim; - - if (piePoly.flags > 0) - { - pie_PiePolyFrame(&piePoly, frame, light); // draw the polygon ... - } - } - - if (pieFlag & pie_BUTTON) - { - pie_SetDepthBufferStatus(DEPTH_CMP_ALWAYS_WRT_ON); - } -} -#endif - - -///Constructed from a imd -CPieInternal::CPieInternal(Uint16 uid, iIMDShape *imd, const char *name, bool isSub, CPieInternal *parent) { - Uint32 i, j, vertIndex = 0; - - memset(this->m_Polygons, 0, sizeof(IMD_POLY_LIST) * pie_MAX_POLYGONS); - memset(this->m_Vertices, 0, sizeof(VERTICE_LIST) * pie_MAX_VERTICES); - memset(this->m_Connectors, 0, sizeof(CONNECTOR_LIST) * pie_MAX_VERTICES); - - m_IsSub = isSub; - m_Visible = true; - m_saveNow = false; - m_drawAnim = m_framesVisible = m_controlSubAnim = false; - m_parent = parent; - m_numAnimFrames = 0; //imd->numFrames; need to load ani file - m_frameInterval = 0; - m_currAnimFrame = 0xFFFFFFFF; - m_levels = 0; - - strncpy(&m_Name[0], name, 255); - - died = false; - - m_polyCount = m_vertCount = m_connCount = 0; - m_newVerticeX = m_newVerticeY = m_newVerticeZ = 0.0f; - m_VelocityX = m_VelocityY = m_VelocityZ = 0.0f; - m_duplicateX = m_duplicateY = m_duplicateZ = 0.0f; - - this->uid = uid; - this->setInstance(); - this->m_InstanceCallback.pInstance = (void*)this; - this->m_InstanceCallback.Id = 0; - - this->m_AddVerticeCB.pInstance = (void*)this; - this->m_AddVerticeCB.Id = PIE_VERTICE; - - this->m_AddConnectorCB.pInstance = (void*)this; - this->m_AddConnectorCB.Id = PIE_CONNECTOR; - - this->m_numInstances = 0; - - this->m_TexpageId = imd->texpage; - - for (i = 0;i < imd->npolys;i++) - { - m_Polygons[i] = (IMD_POLY_LIST*)malloc(sizeof(IMD_POLY_LIST)); - memset(&m_Polygons[i]->polygon, 0, sizeof(iIMDPoly)); - - if (imd->polys[i].pTexAnim != NULL) - { - m_Polygons[i]->polygon.pTexAnim = (iTexAnim*)malloc(sizeof(iTexAnim)); - memcpy(m_Polygons[i]->polygon.pTexAnim, imd->polys[i].pTexAnim, sizeof(iTexAnim)); - } - else - { - m_Polygons[i]->polygon.pTexAnim = NULL; - } - m_Polygons[i]->frame = 0; //set default frame to 0 - - m_Polygons[i]->polygon.texCoord = (Vector2f*)malloc(sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - - m_Polygons[i]->polygon.pindex = (VERTEXID*)malloc(sizeof(VERTEXID) * pie_MAX_VERTICES_PER_POLYGON); - - for (j = 0; - j < imd->polys[i].npnts; - j++) - { - m_Polygons[i]->polygon.pindex[j] = imd->polys[i].pindex[j]; - m_Polygons[i]->polygon.texCoord[j].x = imd->polys[i].texCoord[j].x; - m_Polygons[i]->polygon.texCoord[j].y = imd->polys[i].texCoord[j].y; - } - - m_Polygons[i]->polygon.normal = imd->polys[i].normal; - m_Polygons[i]->polygon.npnts = imd->polys[i].npnts; - m_Polygons[i]->polygon.zcentre = imd->polys[i].zcentre; - m_Polygons[i]->polygon.flags = imd->polys[i].flags; - - m_Polygons[i]->callback.Id = i; - m_Polygons[i]->callback.pInstance = (void*)this; - - m_Polygons[i]->id = i; - m_Polygons[i]->selected = false; - m_Polygons[i]->hasVBO = false; - - m_polyCount++; - } - - for (i = 0;i < imd->npoints;i++) - { - m_Vertices[vertIndex] = (VERTICE_LIST*)malloc(sizeof(VERTICE_LIST)); - m_Vertices[vertIndex]->vertice.x = imd->points[vertIndex].x; - m_Vertices[vertIndex]->vertice.y = imd->points[vertIndex].y; - m_Vertices[vertIndex]->vertice.z = imd->points[vertIndex].z; - m_Vertices[vertIndex]->id = vertIndex; - m_Vertices[vertIndex]->selected = false; - - m_Vertices[vertIndex]->callback.pInstance = this->getInstance(); - m_Vertices[vertIndex]->callback.Id = vertIndex; - m_vertCount++; - vertIndex++; - } - - for (i = 0;i < imd->nconnectors;i++) - { - m_Connectors[i] = (CONNECTOR_LIST*)malloc(sizeof(CONNECTOR_LIST)); - m_Connectors[i]->connector.x = imd->connectors[i].x; - m_Connectors[i]->connector.y = imd->connectors[i].y; - m_Connectors[i]->connector.z = imd->connectors[i].z; - m_Connectors[i]->id = m_connCount; - m_Connectors[i]->selected = false; - - m_Connectors[i]->callback.pInstance = this->getInstance(); - m_Connectors[i]->callback.Id = i; - m_connCount++; - } - - this->addGUI(); - - if (imd->next) - { - g_SubModelIndex++; - if (this->m_parent) - { - this->m_nextSub = new CPieInternal(g_SubModelIndex, imd->next, "sub", true, this->m_parent); - this->m_parent->m_levels++; - } - else - { - this->m_nextSub = new CPieInternal(g_SubModelIndex, imd->next, "sub", true, this); - } - } - else - { - this->m_nextSub = NULL; - } - - if (this->m_levels > 0) - { - this->readAnimFile(this->m_Name); - this->updateGUI(); - // Updates sub model gui as well - CPieInternal *temp = this->m_nextSub; - while (temp) - { - temp->updateGUI(); - temp = temp->m_nextSub; - } - } -} - -///Newly generated CPieInternal -CPieInternal::CPieInternal(Uint16 uid, const char *name, Sint32 textureId, bool isSub, CPieInternal *parent) { - memset(this->m_Polygons, 0, sizeof(IMD_POLY_LIST) * pie_MAX_POLYGONS); - memset(this->m_Vertices, 0, sizeof(VERTICE_LIST) * pie_MAX_VERTICES); - memset(this->m_Connectors, 0, sizeof(CONNECTOR_LIST) * pie_MAX_VERTICES); - - died = false; - m_IsSub = isSub; - m_Visible = true; - m_saveNow = false; - m_drawAnim = m_framesVisible = m_controlSubAnim = false; - m_parent = parent; - m_numAnimFrames = 0; - m_frameInterval = 0; - m_currAnimFrame = 0xFFFFFFFF; - m_levels = 0; - - if (parent) - { - parent->m_levels++; - } - - m_levels = m_polyCount = m_vertCount = m_connCount = 0; - m_newVerticeX = m_newVerticeY = m_newVerticeZ = 0.0f; - m_VelocityX = m_VelocityY = m_VelocityZ = 0.0f; - m_duplicateX = m_duplicateY = m_duplicateZ = 0.0f; - - this->uid = uid; - this->setInstance(); - this->m_InstanceCallback.pInstance = (void*)this; - this->m_InstanceCallback.Id = 0; - - this->m_AddVerticeCB.pInstance = (void*)this; - this->m_AddVerticeCB.Id = PIE_VERTICE; - - this->m_AddConnectorCB.pInstance = (void*)this; - this->m_AddConnectorCB.Id = PIE_CONNECTOR; - - this->m_numInstances = 0; - this->m_TexpageId = textureId; - - // Sets newly generated poly's next sub to null - this->m_nextSub = NULL; - - // Sets m_Name's length to 0 - m_Name[0] = '\0'; - strncpy(m_Name, name, 255); - - this->addGUI(); -} - -///Constructed from a imd -CPieInternal::~CPieInternal() { - Uint32 i; - - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i]) - { - if (!TwDeleteBar(m_polyBars[i])) - { - fprintf(stderr, TwGetLastError()); - } - m_polyBars[i] = NULL; - - if (m_Polygons[i]->polygon.pTexAnim != NULL) - { - free(m_Polygons[i]->polygon.pTexAnim); - m_Polygons[i]->polygon.pTexAnim = NULL; - } - - if (m_Polygons[i]->polygon.texCoord != NULL) - { - free(m_Polygons[i]->polygon.texCoord); - m_Polygons[i]->polygon.texCoord = NULL; - } - - if (m_Polygons[i]->polygon.pindex != NULL) - { - free(m_Polygons[i]->polygon.pindex); - m_Polygons[i]->polygon.pindex = NULL; - } - - if (m_Polygons[i]->hasVBO) - { - g_Screen.glDeleteBuffersARB(1, &m_Polygons[i]->VBOId); - } - - free(m_Polygons[i]); - m_Polygons[i] = NULL; - } - } - - if (this->m_IsSub) - { - /* do nothing handled in ResMaster now - //assert(this->m_parent != NULL); - CPieInternal *next = this->m_parent; - while (next) - { - if (next->m_nextSub == this) - { - next->m_nextSub = next->m_nextSub->m_nextSub; - break; - } - next = next->m_nextSub; - } - //fprintf(stderr, "No Sub model found at %d in model at %d\n", this->m_parent, this); - */ - } - else - { - // Deletes sub models - CPieInternal *next = this->m_nextSub; - while (next) - { - CPieInternal *temp = next->m_nextSub; - delete next; - next = temp; - } - } - - for (i = 0;i < this->m_numAnimFrames;i++) - { - TwDeleteBar(this->m_frames[i].Bar); - this->m_frames[i].Bar = NULL; - } - - if (!TwDeleteBar(m_toolBar)) - { - fprintf(stderr, TwGetLastError()); - } - //TwDeleteBar(m_vertBar); - m_toolBar = NULL; - if (!TwDeleteBar(m_vertBar)) - { - fprintf(stderr, TwGetLastError()); - } - //TwDeleteBar(m_vertBar); - m_vertBar = NULL; - if (!TwDeleteBar(m_connBar)) - { - fprintf(stderr, TwGetLastError()); - } - //TwDeleteBar(m_connBar); - m_connBar = NULL; - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - free(m_Vertices[i]); - m_Vertices[i] = NULL; - } - } - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - free(m_Connectors[i]); - m_Connectors[i] = NULL; - } - } - - /* - if (g_Screen.m_useVBO) - { - g_Screen.glDeleteBuffersARB(1, &m_VerticesHLVBOId); - g_Screen.glDeleteBuffersARB(1, &m_ConnectorsHLVBOId); - } - */ -} - -CPieInternal* CPieInternal::getInstance(void) { - return m_instance; -} - -void CPieInternal::setInstance(void) { - m_instance = this; -} - -///Convert to iIMDShape -iIMDShape* CPieInternal::ToIMD(void) { - iIMDShape *newIMD = NULL; - Uint32 i, j, vertIndex = 0, newPolyIndex, newVertIndex, newConnIndex; - - newIMD = (iIMDShape*)malloc(sizeof(iIMDShape)); - - memset(newIMD, 0, sizeof(iIMDShape)); - - newIMD->texpage = m_TexpageId; - - newIMD->npolys = 0; - - newIMD->polys = (iIMDPoly*)malloc(sizeof(iIMDPoly) * pie_MAX_POLYGONS); - newIMD->points = (Vector3f*)malloc(sizeof(Vector3f) * pie_MAX_VERTICES); - newIMD->connectors = (Vector3f*)malloc(sizeof(Vector3f) * pie_MAX_VERTICES); - newIMD->npoints = 0; - - newPolyIndex = 0; - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i] == NULL) - { - continue; - } - - newIMD->polys[newPolyIndex].pindex = (VERTEXID*)malloc(sizeof(VERTEXID) * pie_MAX_VERTICES_PER_POLYGON); - newIMD->polys[newPolyIndex].texCoord = (Vector2f*)malloc(sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - newIMD->polys[newPolyIndex].flags = m_Polygons[i]->polygon.flags; - newIMD->polys[newPolyIndex].normal = m_Polygons[i]->polygon.normal; - newIMD->polys[newPolyIndex].npnts = m_Polygons[i]->polygon.npnts; - newIMD->polys[newPolyIndex].zcentre = m_Polygons[i]->polygon.zcentre; - //TODO:TexAnim - newIMD->polys[newPolyIndex].pTexAnim = (iTexAnim*)malloc(sizeof(iTexAnim)); - - //memcpy(newIMD->polys[newPolyIndex], m_Polygons[i]->polygon, sizeof(iIMDPoly)); - //newIMD->polys[newPolyIndex] = m_Polygons[i]->polygon; - if (m_Polygons[i]->polygon.pTexAnim) - { - memcpy(newIMD->polys[newPolyIndex].pTexAnim, m_Polygons[i]->polygon.pTexAnim, sizeof(iTexAnim)); - } - else - { - newIMD->polys[newPolyIndex].pTexAnim = NULL; - } - for (j = 0;j < m_Polygons[i]->polygon.npnts;j++) - { - //memcpy(&newIMD->polys[newPolyIndex].pindex[j], &m_Polygons[i]->polygon.pindex[j], sizeof(VERTEXID)); - newIMD->polys[newPolyIndex].pindex[j] = m_Polygons[i]->polygon.pindex[j]; - newIMD->polys[newPolyIndex].texCoord[j] = m_Polygons[i]->polygon.texCoord[j]; - //newIMD->polys[newPolyIndex].pTexAnim[j] = m_Polygons[i]->polygon.pTexAnim[j]; - } - //newIMD->polys[i] = m_Polygons[i]->polygon; - newIMD->npolys++; - newPolyIndex++; - - /* - newVertIndex = 0; - for (j = 0;j < m_Polygons[i]->polygon.npnts;j++) - { - if (m_Vertices[vertIndex] == NULL) - { - fprintf(stderr, "WARNING:NULL vertice at index %d\n", vertIndex); - vertIndex++; - continue; - } - newIMD->points[vertIndex].x = m_Vertices[j]->vertice.x; - newIMD->points[vertIndex].y = m_Vertices[j]->vertice.y; - newIMD->points[vertIndex].z = m_Vertices[j]->vertice.z; - newIMD->npoints++; - - vertIndex++; - } - */ - } - - - newVertIndex = 0; - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[vertIndex] == NULL) - { - // Paranoid check - int polys, points; - for (polys = 0;polys < newIMD->npolys;polys++) - { - for (points = 0;points < newIMD->polys[polys].npnts;points++) - { - if (newIMD->polys[polys].pindex[points] > vertIndex) - { - newIMD->polys[polys].pindex[points] -= 1; - } - } - } - fprintf(stderr, "WARNING:NULL vertice at index %d\n", vertIndex); - vertIndex++; - continue; - } - newIMD->points[newVertIndex].x = m_Vertices[i]->vertice.x; - newIMD->points[newVertIndex].y = m_Vertices[i]->vertice.y; - newIMD->points[newVertIndex].z = m_Vertices[i]->vertice.z; - - newVertIndex++; - newIMD->npoints++; - vertIndex++; - } - - newConnIndex = 0; - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i] == NULL) - { - continue; - } - - newIMD->connectors[newConnIndex].x = m_Connectors[i]->connector.x; - newIMD->connectors[newConnIndex].y = m_Connectors[i]->connector.y; - newIMD->connectors[newConnIndex].z = m_Connectors[i]->connector.z; - newIMD->nconnectors++; - newConnIndex++; - } - - //Recursively save the multilevel pies - CPieInternal *sub = this->m_nextSub; - if (sub) - { - newIMD->next = sub->ToIMD(); - } - - return newIMD; -} - -bool CPieInternal::ToFile(const char *filename, bool isOld) { - FILE *file; - iIMDShape *tmpIMD; - - file = fopen(filename, "w+"); - if (file == NULL) - { - fprintf(stderr, "error when creating file %s\n", filename); - return false; - } - - tmpIMD = this->ToIMD(); - - if (tmpIMD == NULL) - { - fprintf(stderr, "null imd when trying to save to file %s", filename); - return false; - } - - if (isOld) - { - iV_IMDSaveOld(filename, tmpIMD, true); - } - else - { - iV_IMDSave(filename, tmpIMD, true); - } - - int i; - for (i = 0;i < tmpIMD->npolys;i++) - { - if(tmpIMD->polys[i].pindex) - { - free(tmpIMD->polys[i].pindex); - tmpIMD->polys[i].pindex = NULL; - } - if(tmpIMD->polys[i].pindex) - { - free(tmpIMD->polys[i].texCoord); - tmpIMD->polys[i].texCoord = NULL; - } - if(tmpIMD->polys[i].pTexAnim) - { - free(tmpIMD->polys[i].pTexAnim); - tmpIMD->polys[i].pindex = NULL; - } - } - - if (tmpIMD->polys) - { - free(tmpIMD->polys); - tmpIMD->polys = NULL; - } - if (tmpIMD->points) - { - free(tmpIMD->points); - tmpIMD->points = NULL; - } - if (tmpIMD->connectors) - { - free(tmpIMD->connectors); - tmpIMD->connectors = NULL; - } - - free(tmpIMD); - tmpIMD = NULL; - - return true; -} - -bool CPieInternal::isVerticeDuplicated(Vector3f v) { - Uint16 i; - - for (i = 0;i < m_vertCount;i++) - { - if (v.x == m_Vertices[i]->vertice.x && - v.y == m_Vertices[i]->vertice.y && - v.z == m_Vertices[i]->vertice.z) - { - return true; - } - } - return false; -} - -Uint16 CPieInternal::findFreeSlot(Uint8 type) { - Uint16 i; - - switch(type) - { - case PIE_VERTICE: - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i] == NULL) - { - return i; - } - } - return m_vertCount; - case PIE_POLYGON: - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i] == NULL) - { - return i; - } - } - return m_polyCount; - case PIE_CONNECTOR: - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i] == NULL) - { - return i; - } - } - return m_connCount; - default: - fprintf(stderr, "Unknown type when finding free slot\n"); - return false; - } -} - -bool CPieInternal::addVertice(Uint8 type) { - Uint16 slot; - - slot = this->findFreeSlot(type); - - if (slot == 0xFFFF) - { - return false; - } - - switch(type) - { - case PIE_VERTICE: - m_Vertices[slot] = (VERTICE_LIST*)malloc(sizeof(VERTICE_LIST)); - - m_Vertices[slot]->vertice.x = m_newVerticeX; - m_Vertices[slot]->vertice.y = m_newVerticeY; - m_Vertices[slot]->vertice.z = m_newVerticeZ; - - m_Vertices[slot]->id = slot; - m_Vertices[slot]->selected = false; - - m_Vertices[slot]->callback.pInstance = this->getInstance(); - m_Vertices[slot]->callback.Id = slot; - - if (slot == m_vertCount) - { - m_vertCount++; - } - - // Now rebuilds every frame due to gui - // Re-construct the shared vertice list - //this->constructSharedVerticeList(); - // Re-build highlight cache - //this->buildHLCache(); - - return true; - case PIE_CONNECTOR: - m_Connectors[slot] = (CONNECTOR_LIST*)malloc(sizeof(CONNECTOR_LIST)); - - m_Connectors[slot]->connector.x = m_newVerticeX; - m_Connectors[slot]->connector.y = m_newVerticeY; - m_Connectors[slot]->connector.z = m_newVerticeZ; - - m_Connectors[slot]->id = slot; - m_Connectors[slot]->selected = false; - - m_Connectors[slot]->callback.pInstance = this->getInstance(); - m_Connectors[slot]->callback.Id = slot; - - if (slot == m_connCount) - { - m_connCount++; - } - - return true; - default: - fprintf(stderr, "Unknown type when adding vertice\n"); - return false; - } -} - -bool CPieInternal::removeVerticeAt(Uint16 position) { - Uint16 i, j; - VERTEXID *vertexId; - - // Traverse and remove all polygons using this vertice - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i]) - { - vertexId = m_Polygons[i]->polygon.pindex; - for (j = 0;j < m_Polygons[i]->polygon.npnts;j++,vertexId++) - { - if (*vertexId == (VERTEXID)position) - { - if (m_Polygons[i]->polygon.pTexAnim != NULL) - { - free(m_Polygons[i]->polygon.pTexAnim); - m_Polygons[i]->polygon.pTexAnim = NULL; - } - - if (m_Polygons[i]->polygon.texCoord != NULL) - { - free(m_Polygons[i]->polygon.texCoord); - m_Polygons[i]->polygon.texCoord = NULL; - } - - if (m_Polygons[i]->polygon.pindex != NULL) - { - free(m_Polygons[i]->polygon.pindex); - m_Polygons[i]->polygon.pindex = NULL; - } - - if (m_Polygons[i]->hasVBO) - { - g_Screen.glDeleteBuffersARB(1, &m_Polygons[i]->VBOId); - } - - free(m_Polygons[i]); - m_Polygons[i] = NULL; - break; - } - } - } - } - - if (m_Vertices[position]) - { - free(m_Vertices[position]); - m_Vertices[position] = NULL; - m_SharedVertices[position].numShared = 0; - //this->buildHLCache(); - return true; - } - - fprintf(stderr, "vertice in position %d doesnt exist\n", position); - return false; -} - -bool CPieInternal::removeConnectorAt(Uint16 position) { - if (m_Connectors[position]) - { - free(m_Connectors[position]); - m_Connectors[position] = NULL; - //this->buildHLCache(); - return true; - } - - fprintf(stderr, "connector in position %d doesnt exist\n", position); - return false; -} - -void CPieInternal::selectAll(void) { - Uint16 i; - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - m_Vertices[i]->selected = true; - } - } - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - m_Connectors[i]->selected = true; - } - } -} - -void CPieInternal::unselectAll(void) { - Uint16 i; - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - m_Vertices[i]->selected = false; - } - } - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - m_Connectors[i]->selected = false; - } - } -} - -void CPieInternal::moveSelected(void) { - Uint16 i; - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i] && m_Vertices[i]->selected) - { - m_Vertices[i]->vertice.x += m_VelocityX; - m_Vertices[i]->vertice.y += m_VelocityY; - m_Vertices[i]->vertice.z += m_VelocityZ; - //this->buildHLCache(); - } - } -} - -///Remove selected vertices and connectors -void CPieInternal::removeSelected(void) { - Uint16 i; - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i] && m_Vertices[i]->selected) - { - this->removeVerticeAt(i); - } - } - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i] && m_Connectors[i]->selected) - { - this->removeConnectorAt(i); - } - } -} - -//TODO:finish this -void CPieInternal::symmetricSelected(Uint8 Axis) { - -} - -bool CPieInternal::duplicateSelected(void) { - Uint16 i, count; - - count = 0; - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i] && m_Vertices[i]->selected) - { - Uint16 slot; - - slot = this->findFreeSlot(PIE_VERTICE); - - if (slot == 0xFFFF) - { - fprintf(stderr, "no slot left for duplicate at %d\n", i); - return false; - } - - m_Vertices[slot] = (VERTICE_LIST*)malloc(sizeof(VERTICE_LIST)); - - m_Vertices[slot]->vertice.x = m_Vertices[i]->vertice.x + m_duplicateX; - m_Vertices[slot]->vertice.y = m_Vertices[i]->vertice.y + m_duplicateY; - m_Vertices[slot]->vertice.z = m_Vertices[i]->vertice.z + m_duplicateZ; - - m_Vertices[slot]->id = slot; - m_Vertices[slot]->selected = false; - - m_Vertices[slot]->callback.pInstance = this->getInstance(); - m_Vertices[slot]->callback.Id = slot; - - m_vertCount++; - - count++; - } - } - - fprintf(stderr, "%d vertices duplicated.\n", count); - return true; -} - -bool CPieInternal::duplicatePoly(Uint16 index) { - Uint16 i; - Uint16 newPolyIndex; - - newPolyIndex = this->findFreeSlot(PIE_POLYGON); - - if (this->m_Polygons[newPolyIndex] != NULL) - { - fprintf(stderr, "Error when duplicating polygon, polygon slot %d is used.\n", newPolyIndex); - return false; - } - - this->m_Polygons[newPolyIndex] = (IMD_POLY_LIST*)malloc(sizeof(IMD_POLY_LIST)); - - memset(this->m_Polygons[newPolyIndex], 0, sizeof(IMD_POLY_LIST)); - - //TODO:make flags customizable? - m_Polygons[newPolyIndex]->polygon.flags = 0x00000200; - - m_Polygons[newPolyIndex]->polygon.pTexAnim = NULL; - m_Polygons[newPolyIndex]->polygon.pindex = (VERTEXID*)malloc(sizeof(VERTEXID) * pie_MAX_VERTICES_PER_POLYGON); - m_Polygons[newPolyIndex]->polygon.texCoord = (Vector2f*)malloc(sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - memset(m_Polygons[newPolyIndex]->polygon.texCoord, 0, sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - m_Polygons[newPolyIndex]->polygon.npnts = m_Polygons[index]->polygon.npnts; - m_Polygons[newPolyIndex]->polygon.normal = m_Polygons[index]->polygon.normal; - - m_Polygons[newPolyIndex]->id = newPolyIndex; - m_Polygons[newPolyIndex]->frame = 0; //set default frame to 0 - - m_Polygons[newPolyIndex]->hasVBO = false; - - for (i = 0;i < m_Polygons[index]->polygon.npnts;i++) - { - Uint16 slot; - - slot = findFreeSlot(PIE_VERTICE); - - if (slot == 0xFFFF) - { - fprintf(stderr, "no slot left for polygon duplicate vertice at %d\n", i); - free(m_Polygons[index]); - m_Polygons[index] = NULL; - return false; - } - - m_Vertices[slot] = (VERTICE_LIST*)malloc(sizeof(VERTICE_LIST)); - - m_Vertices[slot]->vertice.x = m_Vertices[i]->vertice.x + m_duplicateX; - m_Vertices[slot]->vertice.y = m_Vertices[i]->vertice.y + m_duplicateY; - m_Vertices[slot]->vertice.z = m_Vertices[i]->vertice.z + m_duplicateZ; - - m_Vertices[slot]->id = slot; - m_Vertices[slot]->selected = false; - - m_Vertices[slot]->callback.pInstance = this->getInstance(); - m_Vertices[slot]->callback.Id = slot; - - m_vertCount++; - - m_Polygons[newPolyIndex]->polygon.pindex[i] = (VERTEXID)slot; - m_Polygons[newPolyIndex]->polygon.texCoord[i].x = m_Polygons[index]->polygon.texCoord[i].x; - m_Polygons[newPolyIndex]->polygon.texCoord[i].y = m_Polygons[index]->polygon.texCoord[i].y; - m_Polygons[newPolyIndex]->callback.Id = newPolyIndex; - m_Polygons[newPolyIndex]->callback.pInstance = (void*)this; - } - - m_polyCount++; - return true; -} - -void CPieInternal::checkSelection(float x1, float y1, float z1, - float x2, float y2, float z2) { - Uint16 i, chosen; - float mag, minDist; - float xdiff = x2 - x1, ydiff = y2 - y1, zdiff = z2 - z1; - Vector3f slope = {xdiff, ydiff, zdiff}; - - if (!m_Visible) - { - goto CheckNextSubSelection; - } - - mag = sqrtf(slope.x*slope.x + slope.y *slope.y + slope.z*slope.z); - - slope.x /= mag; - slope.y /= mag; - slope.z /= mag; - - minDist = 0.0f; - chosen = 0xFFFF; - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - //Begin of Ray Test - xdiff = m_Vertices[i]->vertice.x - x1; - ydiff = m_Vertices[i]->vertice.y - y1; - zdiff = m_Vertices[i]->vertice.z - z1; - Vector3f selectSlope = {xdiff, ydiff, zdiff}; - mag = sqrtf(selectSlope.x*selectSlope.x + selectSlope.y *selectSlope.y + selectSlope.z*selectSlope.z); - - selectSlope.x /= mag; - selectSlope.y /= mag; - selectSlope.z /= mag; - - xdiff = slope.x - selectSlope.x; - ydiff = slope.y - selectSlope.y; - zdiff = slope.z - selectSlope.z; - - float dist = xdiff*xdiff + ydiff*ydiff + zdiff*zdiff; - - if (dist <= VERTICE_SELECT_RADIUS) - { - //TODO:fix broken cycling through shared vertice code -#if 0 - if (isMouseButtonDoubleDown(1)) - { - if (m_SharedVertices[i].numShared) - { - Uint16 index, newIndex; - - for (index = 0;index < m_SharedVertices[i].numShared;index++) - { - if (m_Vertices[m_SharedVertices[i].shared[index]]->selected) - { - newIndex = index + 1; - if (newIndex >= m_SharedVertices[i].numShared) - { - newIndex = 0; - } - //assert(m_Vertices[m_SharedVertices[i].shared[newIndex]] != NULL); - m_Vertices[m_SharedVertices[i].shared[index]]->selected = false; - m_Vertices[m_SharedVertices[i].shared[newIndex]]->selected = true; - } - } - return; - } - else - { - if (m_Vertices[i]->selected) - { - m_Vertices[i]->selected = false; - } - else - { - m_Vertices[i]->selected = true; - } - return; - } - } - else - { -#endif - - - if (minDist <= 0.0f) - { - minDist = dist; - chosen = i; - } - else - { - if (dist < minDist) - { - minDist = dist; - chosen = i; - } - minDist = dist; - } - } - } - } - - if (chosen != 0xFFFF) - { - if (m_Vertices[chosen]->selected) - { - m_Vertices[chosen]->selected = false; - } - else - { - m_Vertices[chosen]->selected = true; - } - return; - } - - minDist = 0.0f; - chosen = 0xFFFF; - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - //Begin of Ray Test - xdiff = m_Connectors[i]->connector.x - x1; - ydiff = m_Connectors[i]->connector.z - y1; - zdiff = m_Connectors[i]->connector.y - z1; - Vector3f selectSlope = {xdiff, ydiff, zdiff}; - mag = sqrtf(selectSlope.x*selectSlope.x + selectSlope.y *selectSlope.y + selectSlope.z*selectSlope.z); - - selectSlope.x /= mag; - selectSlope.y /= mag; - selectSlope.z /= mag; - - xdiff = slope.x - selectSlope.x; - ydiff = slope.y - selectSlope.y; - zdiff = slope.z - selectSlope.z; - - float dist = xdiff*xdiff + ydiff*ydiff + zdiff*zdiff; - - if (dist <= VERTICE_SELECT_RADIUS) - { - if (minDist <= 0.0f) - { - minDist = dist; - chosen = i; - } - else - { - if (dist < minDist) - { - minDist = dist; - chosen = i; - } - minDist = dist; - } - } - } - } - - if (chosen != 0xFFFF) - { - if (m_Connectors[chosen]->selected) - { - m_Connectors[chosen]->selected = false; - } - else - { - m_Connectors[chosen]->selected = true; - } - return; - } - -CheckNextSubSelection: - if (this->m_nextSub) - { - this->m_nextSub->checkSelection(x1, y1, z1, - x2, y2, z2); - } -} - -VERTICE_LIST* CPieInternal::getVertices(void) { - return m_Vertices[0]; -} - -IMD_POLY_LIST* CPieInternal::getPolys(void) { - return m_Polygons[0]; -} - -CONNECTOR_LIST* CPieInternal::getConnectors(void) { - return m_Connectors[0]; -} - -void CPieInternal::setPosition(float x, float y, float z) { - m_position.x = x; - m_position.y = y; - m_position.z = z; -} - -void CPieInternal::buildHLCache(void) { - Sint32 i, index; - - index = - 1; - m_vertHLCount = 0; - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - ++index; - m_VerticesHLCache[index].x = m_Vertices[i]->vertice.x; - m_VerticesHLCache[index].y = m_Vertices[i]->vertice.y + 1.0f; - m_VerticesHLCache[index].z = m_Vertices[i]->vertice.z; - - ++index; - m_VerticesHLCache[index].x = m_Vertices[i]->vertice.x + 1.0f; - m_VerticesHLCache[index].y = m_Vertices[i]->vertice.y; - m_VerticesHLCache[index].z = m_Vertices[i]->vertice.z; - - ++index; - m_VerticesHLCache[index].x = m_Vertices[i]->vertice.x; - m_VerticesHLCache[index].y = m_Vertices[i]->vertice.y - 1.0f; - m_VerticesHLCache[index].z = m_Vertices[i]->vertice.z; - - ++index; - m_VerticesHLCache[index].x = m_Vertices[i]->vertice.x - 1.0f; - m_VerticesHLCache[index].y = m_Vertices[i]->vertice.y; - m_VerticesHLCache[index].z = m_Vertices[i]->vertice.z; - m_vertHLCount++; - } - } - - index = - 1; - m_connHLCount = 0; - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - ++index; - m_ConnectorsHLCache[index].x = m_Connectors[i]->connector.x; - m_ConnectorsHLCache[index].y = m_Connectors[i]->connector.z + 1.0f; - m_ConnectorsHLCache[index].z = m_Connectors[i]->connector.y; - - ++index; - m_ConnectorsHLCache[index].x = m_Connectors[i]->connector.x + 1.0f; - m_ConnectorsHLCache[index].y = m_Connectors[i]->connector.z - 1.0f; - m_ConnectorsHLCache[index].z = m_Connectors[i]->connector.y; - - ++index; - m_ConnectorsHLCache[index].x = m_Connectors[i]->connector.x - 1.0f; - m_ConnectorsHLCache[index].y = m_Connectors[i]->connector.z - 1.0f; - m_ConnectorsHLCache[index].z = m_Connectors[i]->connector.y; - - m_connHLCount++; - } - } - -#if 0 - if (g_Screen.m_useVBO) - { - Sint32 test; - - if (!bRebuild) - { - if (m_vertHLCount) - { - glGenBuffersARB(1, &m_VerticesHLVBOId); - glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_VerticesHLVBOId); - glBufferDataARB(GL_ARRAY_BUFFER_ARB, m_vertHLCount * 4, m_VerticesHLCache, GL_STATIC_DRAW_ARB); - } - - if (m_connHLCount) - { - glGenBuffersARB(1, &m_ConnectorsHLVBOId); - glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_ConnectorsHLVBOId); - glBufferDataARB(GL_ARRAY_BUFFER_ARB, m_connHLCount * 3, m_ConnectorsHLCache, GL_STATIC_DRAW_ARB); - - } - - glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); - bRebuild = true; - } - else - { - //Deletes and recreate there is no need to map buffer cos HL lists may resize - glDeleteBuffersARB(1, &m_VerticesHLVBOId); - glDeleteBuffersARB(1, &m_ConnectorsHLVBOId); - if (m_vertHLCount) - { - glGenBuffersARB(1, &m_VerticesHLVBOId); - glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_VerticesHLVBOId); - glBufferDataARB(GL_ARRAY_BUFFER_ARB, m_vertHLCount * 4, m_VerticesHLCache, GL_STATIC_DRAW_ARB); - - glGetBufferParameterivARB( GL_ARRAY_BUFFER_ARB, GL_BUFFER_SIZE_ARB, &test ); - } - - if (m_connHLCount) - { - glGenBuffersARB(1, &m_ConnectorsHLVBOId); - glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_ConnectorsHLVBOId); - glBufferDataARB(GL_ARRAY_BUFFER_ARB, m_connHLCount * 3, m_ConnectorsHLCache, GL_STATIC_DRAW_ARB); - - glGetBufferParameterivARB( GL_ARRAY_BUFFER_ARB, GL_BUFFER_SIZE_ARB, &test ); - } - glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); - } - } -#endif -} - - -void CPieInternal::constructSharedVerticeList(void) { - Uint16 i, count, count2; - - count = count2 = 0; - for (i = 0;i < m_vertCount;i++) - { - m_SharedVertices[i].shared[0] = i; - m_SharedVertices[i].numShared = 1; - - count2 = count; - while (count2) - { - if (m_Vertices[count2 - 1] && m_Vertices[i]) - { - if (m_Vertices[count2 - 1]->vertice.x == m_Vertices[i]->vertice.x && - m_Vertices[count2 - 1]->vertice.y == m_Vertices[i]->vertice.y && - m_Vertices[count2 - 1]->vertice.z == m_Vertices[i]->vertice.z) - { - m_SharedVertices[i].shared[m_SharedVertices[i].numShared] = count2 - 1; - m_SharedVertices[i].numShared++; - // duplicate the shared info - memcpy(&m_SharedVertices[count2 - 1], &m_SharedVertices[i], sizeof(SHARED_VERTICE)); - } - } - count2--; - } - count++; - } -} - -void CPieInternal::drawNewVertice(void) { - bool bTextured = false; - - if (!this->m_Visible) { - return; - } - - glDisable(GL_DEPTH_TEST); - - if (glIsEnabled(GL_TEXTURE_2D)) - { - glDisable(GL_TEXTURE_2D); - bTextured = true; - } - - glColor4ub(255, 0, 0, 255); - glBegin(GL_LINES); - - glVertex3f(m_newVerticeX + 0.3f, m_newVerticeY, m_newVerticeZ); - glVertex3f(m_newVerticeX + 2.0f, m_newVerticeY, m_newVerticeZ); - - glVertex3f(m_newVerticeX, m_newVerticeY, m_newVerticeZ + 0.3f); - glVertex3f(m_newVerticeX, m_newVerticeY, m_newVerticeZ + 2.0f); - - glVertex3f(m_newVerticeX - 0.3f, m_newVerticeY, m_newVerticeZ); - glVertex3f(m_newVerticeX - 2.0f, m_newVerticeY, m_newVerticeZ); - - glVertex3f(m_newVerticeX, m_newVerticeY, m_newVerticeZ - 0.3f); - glVertex3f(m_newVerticeX, m_newVerticeY, m_newVerticeZ - 2.0f); - - glVertex3f(m_newVerticeX, m_newVerticeY + 0.3f, m_newVerticeZ); - glVertex3f(m_newVerticeX, m_newVerticeY + 2.0f, m_newVerticeZ); - - glVertex3f(m_newVerticeX, m_newVerticeY - 0.3f, m_newVerticeZ); - glVertex3f(m_newVerticeX, m_newVerticeY - 2.0f, m_newVerticeZ); - - glEnd(); - - glColor4ub(255, 255, 255, 255); - - if (bTextured) - { - glEnable(GL_TEXTURE_2D); - } - - glEnable(GL_DEPTH_TEST); - - if (this->m_nextSub) - { - this->m_nextSub->drawNewVertice(); - } -} - -void CPieInternal::highLightVertices(void) { - bool bTextured = false; - - if (!this->m_vertCount || - !this->m_Visible) { - goto NextSubHighLightVertices; - } - - glDisable(GL_DEPTH_TEST); - - if (glIsEnabled(GL_TEXTURE_2D)) - { - glDisable(GL_TEXTURE_2D); - bTextured = true; - } - - glColor4ub(128, 0, 0, 255); - - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(3, GL_FLOAT, 0, this->m_VerticesHLCache); - glDrawArrays(GL_QUADS, 0, m_vertHLCount * 4); - //glDrawElements(GL_QUADS, m_vertHLCount, GL_FLOAT, this->m_VerticesHLCache); - glDisableClientState(GL_VERTEX_ARRAY); - - /* - Uint16 i; - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - glBegin(GL_QUADS); - glVertex3f(m_Vertices[i]->vertice.x, m_Vertices[i]->vertice.y + 1.0f, m_Vertices[i]->vertice.z); - glVertex3f(m_Vertices[i]->vertice.x + 1.0f, m_Vertices[i]->vertice.y, m_Vertices[i]->vertice.z); - glVertex3f(m_Vertices[i]->vertice.x, m_Vertices[i]->vertice.y - 1.0f , m_Vertices[i]->vertice.z); - glVertex3f(m_Vertices[i]->vertice.x - 1.0f, m_Vertices[i]->vertice.y, m_Vertices[i]->vertice.z); - glEnd(); - } - } - */ - - glColor4ub(255, 255, 255, 255); - - glEnable(GL_DEPTH_TEST); - - if (bTextured) - { - glEnable(GL_TEXTURE_2D); - } - -NextSubHighLightVertices: - if (this->m_nextSub) - { - this->m_nextSub->highLightVertices(); - } -} - -void CPieInternal::highLightConnectors(void) { - bool bTextured = false; - - if (!this->m_connCount || - !this->m_Visible) { - goto NextSubHighLightConnectors; - } - - glDisable(GL_DEPTH_TEST); - - if (glIsEnabled(GL_TEXTURE_2D)) - { - glDisable(GL_TEXTURE_2D); - bTextured = true; - } - - glColor4ub(0, 128, 0, 255); - - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(3, GL_FLOAT, 0, this->m_ConnectorsHLCache); - //glDrawElements(GL_TRIANGLES, m_connHLCount, GL_FLOAT, this->m_ConnectorsHLCache); - glDrawArrays(GL_TRIANGLES, 0, m_connHLCount * 3); - glDisableClientState(GL_VERTEX_ARRAY); - -/* - Uint16 i; - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - glBegin(GL_TRIANGLES); - glVertex3f(m_Connectors[i]->connector.x, m_Connectors[i]->connector.z + 1.0f, m_Connectors[i]->connector.y); - glVertex3f(m_Connectors[i]->connector.x + 1.0f, m_Connectors[i]->connector.z - 1.0f, m_Connectors[i]->connector.y); - glVertex3f(m_Connectors[i]->connector.x - 1.0f, m_Connectors[i]->connector.z - 1.0f , m_Connectors[i]->connector.y); - glEnd(); - } - } -*/ - glColor4ub(255, 255, 255, 255); - - glEnable(GL_DEPTH_TEST); - - if (bTextured) - { - glEnable(GL_TEXTURE_2D); - } - -NextSubHighLightConnectors: - if (this->m_nextSub) - { - this->m_nextSub->highLightConnectors(); - } -} - -void CPieInternal::highLightSelected(void) { - Uint16 i; - bool bTextured = false; - - if (!this->m_Visible) { - goto NextSubHighLightSelected; - } - - glDisable(GL_DEPTH_TEST); - - if (glIsEnabled(GL_TEXTURE_2D)) - { - glDisable(GL_TEXTURE_2D); - bTextured = true; - } - - glColor4ub(255, 255, 0, 255); - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i] && m_Vertices[i]->selected) - { - glBegin(GL_QUADS); - glVertex3f(m_Vertices[i]->vertice.x, m_Vertices[i]->vertice.y + 1.0f, m_Vertices[i]->vertice.z); - glVertex3f(m_Vertices[i]->vertice.x + 1.0f, m_Vertices[i]->vertice.y, m_Vertices[i]->vertice.z); - glVertex3f(m_Vertices[i]->vertice.x, m_Vertices[i]->vertice.y - 1.0f , m_Vertices[i]->vertice.z); - glVertex3f(m_Vertices[i]->vertice.x - 1.0f, m_Vertices[i]->vertice.y, m_Vertices[i]->vertice.z); - glEnd(); - } - } - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i] && m_Connectors[i]->selected) - { - glBegin(GL_TRIANGLE_FAN); - glVertex3f(m_Connectors[i]->connector.x, m_Connectors[i]->connector.z + 1.0f, m_Connectors[i]->connector.y); - glVertex3f(m_Connectors[i]->connector.x + 1.0f, m_Connectors[i]->connector.z - 1.0f, m_Connectors[i]->connector.y); - glVertex3f(m_Connectors[i]->connector.x - 1.0f, m_Connectors[i]->connector.z - 1.0f , m_Connectors[i]->connector.y); - glEnd(); - } - } - glColor4ub(255, 255, 255, 255); - - glEnable(GL_DEPTH_TEST); - - if (bTextured) - { - glEnable(GL_TEXTURE_2D); - } - -NextSubHighLightSelected: - if (this->m_nextSub) - { - this->m_nextSub->highLightSelected(); - } -} - -void CPieInternal::bindTexture(Sint32 num) -{ - glBindTexture(GL_TEXTURE_2D, _TEX_PAGE[num].id); -} - -void CPieInternal::logic(void) { - this->constructSharedVerticeList(); - this->buildHLCache(); - - Uint16 i; - for (i = 0;i < m_numAnimFrames;i++) - { - if (m_frames[i].died) - { - this->removeFrame(i); - break; - } - } - - if (this->m_nextSub) - { - this->m_nextSub->logic(); - } -} - -void CPieInternal::drawInterleaved(INTERLEAVED_T2F_V3F *a_array, Uint32 count) { - glInterleavedArrays(GL_T2F_V3F, 0, a_array); - glDrawArrays(GL_TRIANGLE_FAN, 0, count); -} - -void CPieInternal::cacheVBOPoly(Uint32 count, Uint32 polyId) { - if (m_Polygons[polyId]->hasVBO) - { - g_Screen.glDeleteBuffersARB(1, &m_Polygons[polyId]->VBOId); - } - - if (g_Screen.glGenBuffersARB == NULL) - { - g_Screen.glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)SDL_GL_GetProcAddress("glGenBuffersARB"); - } - - g_Screen.glGenBuffersARB(1, &m_Polygons[polyId]->VBOId); - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_Polygons[polyId]->VBOId); - g_Screen.glBufferDataARB(GL_ARRAY_BUFFER_ARB, count * sizeof(INTERLEAVED_T2F_V3F), vaCache, GL_STATIC_DRAW_ARB); - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); - - m_Polygons[polyId]->hasVBO = true; -} - -void CPieInternal::drawVBOPoly(Uint32 polyId) { - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_Polygons[polyId]->VBOId); - glTexCoordPointer(2, GL_FLOAT, sizeof(INTERLEAVED_T2F_V3F), (char*)0); - glVertexPointer(3, GL_FLOAT, sizeof(INTERLEAVED_T2F_V3F), (char*)(0 + sizeof(Vector2f))); - glDrawArrays(GL_TRIANGLE_FAN, 0, m_Polygons[polyId]->polygon.npnts); - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); -} - -void CPieInternal::flushVBOPolys(void) { - Uint32 i; - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i]) - { - if (m_Polygons[i]->hasVBO) - { - g_Screen.glDeleteBuffersARB(1, &m_Polygons[i]->VBOId); - m_Polygons[i]->VBOId = 0xABABABAB; - m_Polygons[i]->hasVBO = false; - } - } - } - - if (this->m_nextSub) - { - this->m_nextSub->flushVBOPolys(); - } -} - -void CPieInternal::draw(void) { - //iIMDPoly *pPolys; - int i, n, vaCount = 0; - VERTEXID *index; - bool bVerticeDrawn[pie_MAX_VERTICES]; - bool bDrawTexture = false; - GLdouble matrix[16]; - - if (!m_Visible) - { - if (this->m_nextSub) - { - if (m_animMode == ANIM3DFRAMES) - { - if (!m_drawAnim && !m_IsSub) - { - CPieInternal *temp = this->m_nextSub; - while (temp) - { - temp->draw(); - temp = temp->m_nextSub; - } - } - } - else - { - this->m_nextSub->draw(); - } - } - return; - } - - if (m_framesVisible) - { - Uint32 frame; - for (frame = 0;frame < this->m_numAnimFrames;frame++) - { - if (m_frames[frame].visible) - { - glGetDoublev(GL_MODELVIEW_MATRIX, matrix); - glTranslatef(m_frames[frame].offsetX / 1000.0f, - m_frames[frame].offsetZ / 1000.0f, - m_frames[frame].offsetY / 1000.0f); - glRotatef(-WTFScale(m_frames[frame].rotateX) / 1000.0f, 1.0, 0.0f, 0.0f); - glRotatef(-WTFScale(m_frames[frame].rotateZ) / 1000.0f, 0.0, 1.0f, 0.0f); - glRotatef(-WTFScale(m_frames[frame].rotateY) / 1000.0f, 0.0, 0.0f, 1.0f); - glScalef(m_frames[frame].scaleX / 1000.0f, - m_frames[frame].scaleZ / 1000.0f, - m_frames[frame].scaleY / 1000.0f); - - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - - for (i = 0;i < m_polyCount;i++) - { - //piePoly.flags = pPolys->flags; - - if (m_Polygons[i]) - { - vaCount = 0; - // No texture animation and has VBO - if (g_Screen.m_useVBO && m_Polygons[i]->frame == 0 && m_Polygons[i]->hasVBO) - { - this->drawVBOPoly(i); - continue; - } - - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - if (m_Polygons[i]->frame > 0) - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/_TEX_PAGE[m_TexpageId].w; - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/_TEX_PAGE[m_TexpageId].h; -#else - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/256.0f; - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/256.0f; -#endif - } - else - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x/_TEX_PAGE[m_TexpageId].w; - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y/_TEX_PAGE[m_TexpageId].h; -#else - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x/256.0f; - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y/256.0f; -#endif - } - vaCache[vaCount].v.x = m_Vertices[*index]->vertice.x; - vaCache[vaCount].v.y = m_Vertices[*index]->vertice.y; - vaCache[vaCount].v.z = m_Vertices[*index]->vertice.z; - vaCount++; - } - //TODO:flags - if (!g_Screen.m_useVBO) - { - this->drawInterleaved(vaCache, vaCount); - } - else - { - this->cacheVBOPoly(vaCount, i); - this->drawVBOPoly(i); - } - -#if 0 - glBegin(GL_TRIANGLE_FAN); - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - if (m_Polygons[i]->frame > 0) - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/_TEX_PAGE[m_TexpageId].w, - m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/_TEX_PAGE[m_TexpageId].h); -#else - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/256.0f, - m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/256.0f); -#endif - } - else - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x/_TEX_PAGE[m_TexpageId].w, - m_Polygons[i]->polygon.texCoord[n].y/_TEX_PAGE[m_TexpageId].h); -#else - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x/256.0f, - m_Polygons[i]->polygon.texCoord[n].y/256.0f); -#endif - } - glVertex3f(m_Vertices[*index]->vertice.x, - m_Vertices[*index]->vertice.y, - m_Vertices[*index]->vertice.z); - } - glEnd(); -#endif - } - } - - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - - glLoadMatrixd(matrix); - } - } - //Dont draw base model as it's already drawn by frame 0 - return; - } - - if (m_drawAnim) - { - if (m_animMode == ANIM3DTRANS && m_controlSubAnim) - { - CPieInternal *temp = this->m_nextSub; - while (temp) - { - temp->m_drawAnim = true; - temp = temp->m_nextSub; - } - } - - this->bindTexture(m_TexpageId); - - startAnim(); - glGetDoublev(GL_MODELVIEW_MATRIX, matrix); - glTranslatef(m_frames[m_currAnimFrame].offsetX / 1000.0f, - m_frames[m_currAnimFrame].offsetZ / 1000.0f, - m_frames[m_currAnimFrame].offsetY / 1000.0f); - glRotatef(-WTFScale(m_frames[m_currAnimFrame].rotateX) / 1000.0f, 1.0, 0.0f, 0.0f); - glRotatef(-WTFScale(m_frames[m_currAnimFrame].rotateZ) / 1000.0f, 0.0, 1.0f, 0.0f); - glRotatef(-WTFScale(m_frames[m_currAnimFrame].rotateY) / 1000.0f, 0.0, 0.0f, 1.0f); - glScalef(m_frames[m_currAnimFrame].scaleX / 1000.0f, - m_frames[m_currAnimFrame].scaleZ / 1000.0f, - m_frames[m_currAnimFrame].scaleY / 1000.0f); - } - else - { - if (m_animMode == ANIM3DTRANS && m_controlSubAnim) - { - CPieInternal *temp = this->m_nextSub; - while (temp) - { - temp->m_drawAnim = false; - temp = temp->m_nextSub; - } - } - stopAnim(); - } - - if (m_animMode == ANIM3DFRAMES && m_drawAnim && !m_IsSub) - { - Uint32 targetFrame = 0; - CPieInternal *temp = this; - - if (m_currAnimFrame) - { - while (targetFrame < m_currAnimFrame) - { - temp = temp->m_nextSub; - targetFrame++; - if (temp == NULL) - { - fprintf(stderr, "WARNING:frame %d doesn't exist anymore\n", targetFrame); - return; - } - } - temp->draw(); - return; - } - } - - memset(&bVerticeDrawn[0], 0, sizeof(bool) * m_vertCount); - - this->bindTexture(m_TexpageId); - - /* - glBegin(GL_QUADS); - glTexCoord2f(0.0f, 0.0f); - glVertex3f(0.0f, 0.0f, 50.0f); - glTexCoord2f(1.0f, 0.0f); - glVertex3f(0.0f, 4.0f, 50.0f); - glTexCoord2f(1.0f, 1.0f); - glVertex3f(4.0f, 4.0f, 50.0f); - glTexCoord2f(0.0f, 1.0f); - glVertex3f(4.0f, 0.0f, 50.0f); - glEnd(); - */ - - - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - for (i = 0;i < m_polyCount;i++) - { - //piePoly.flags = pPolys->flags; - - if (m_Polygons[i]) - { - vaCount = 0; - // No texture animation and has VBO - if (g_Screen.m_useVBO && m_Polygons[i]->frame == 0 && m_Polygons[i]->hasVBO) - { - // Also make sure vertices drawn flag is set - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - bVerticeDrawn[*index] = true; - } - this->drawVBOPoly(i); - continue; - } - - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - if (m_Polygons[i]->frame > 0) - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/_TEX_PAGE[m_TexpageId].w, - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/_TEX_PAGE[m_TexpageId].h); -#else - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/256.0f, - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/256.0f; -#endif - } - else - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x/_TEX_PAGE[m_TexpageId].w, - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y/_TEX_PAGE[m_TexpageId].h); -#else - vaCache[vaCount].t.x = m_Polygons[i]->polygon.texCoord[n].x/256.0f, - vaCache[vaCount].t.y = m_Polygons[i]->polygon.texCoord[n].y/256.0f; - } -#endif - vaCache[vaCount].v.x = m_Vertices[*index]->vertice.x; - vaCache[vaCount].v.y = m_Vertices[*index]->vertice.y; - vaCache[vaCount].v.z = m_Vertices[*index]->vertice.z; - vaCount++; - - bVerticeDrawn[*index] = true; - } - //TODO:flags - if (!g_Screen.m_useVBO) - { - this->drawInterleaved(vaCache, vaCount); - } - else - { - this->cacheVBOPoly(vaCount, i); - this->drawVBOPoly(i); - } - } - } -#if 0 - glBegin(GL_TRIANGLE_FAN); - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - if (m_Polygons[i]->frame > 0) - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x/_TEX_PAGE[m_TexpageId].w, - m_Polygons[i]->polygon.texCoord[n].y/_TEX_PAGE[m_TexpageId].h); -#else - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x + (m_Polygons[i]->polygon.pTexAnim->textureWidth * m_Polygons[i]->frame)/256.0f, - m_Polygons[i]->polygon.texCoord[n].y + (m_Polygons[i]->polygon.pTexAnim->textureHeight * m_Polygons[i]->frame)/256.0f); -#endif - } - else - { -//#define PROPER_TEXTURE_COORDS -#ifdef PROPER_TEXTURE_COORDS - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x/_TEX_PAGE[m_TexpageId].w, - m_Polygons[i]->polygon.texCoord[n].y/_TEX_PAGE[m_TexpageId].h); -#else - glTexCoord2f(m_Polygons[i]->polygon.texCoord[n].x/256.0f, - m_Polygons[i]->polygon.texCoord[n].y/256.0f); - } -#endif - - glVertex3f(m_Vertices[*index]->vertice.x, - m_Vertices[*index]->vertice.y, - m_Vertices[*index]->vertice.z); - - bVerticeDrawn[*index] = true; - } - glEnd(); -#endif - - glDisable(GL_DEPTH_TEST); - glColor4ub(32, 0, 128, 255); - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i]) - { - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - if (m_Polygons[i]->selected) - { - glBegin(GL_LINE_LOOP); - for (n = 0, index = m_Polygons[i]->polygon.pindex; - n < m_Polygons[i]->polygon.npnts; - n++, index++) - { - glVertex3f(m_Vertices[*index]->vertice.x, - m_Vertices[*index]->vertice.y, - m_Vertices[*index]->vertice.z); - } - glEnd(); - } - } - } - } - glColor4ub(255, 255, 255, 255); - glEnable(GL_DEPTH_TEST); - - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - - if (glIsEnabled(GL_TEXTURE_2D)) - { - glDisable(GL_TEXTURE_2D); - bDrawTexture = true; - } - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i] && !bVerticeDrawn[i]) - { - glBegin(GL_POINTS); - glVertex3f(m_Vertices[i]->vertice.x, m_Vertices[i]->vertice.y, m_Vertices[i]->vertice.z); - glEnd(); - } - } - - if (bDrawTexture) - { - glEnable(GL_TEXTURE_2D); - } - - if (m_drawAnim) - { - glLoadMatrixd(matrix); - } - - if (this->m_nextSub) - { - if (m_animMode == ANIM3DFRAMES) - { - if (!m_drawAnim && !m_IsSub) - { - CPieInternal *temp = this->m_nextSub; - while (temp) - { - temp->draw(); - temp = temp->m_nextSub; - } - } - } - else - { - this->m_nextSub->draw(); - } - } -} - -bool CPieInternal::addGUI(void) { - Uint16 i, n, totalVertices = 0; - VERTEXID *index; - - char toolBarName[255] = "toolbar"; - char toolBarDefine[255]; - - //Utility bar - if (!m_IsSub) - { - - if (this->uid < 10) - { - snprintf(&toolBarName[7], 1, "0"); - snprintf(&toolBarName[8], 1, "%u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - else if (this->uid < 100) - { - snprintf(&toolBarName[7], 2, "%2u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - else - { - snprintf(&toolBarName[7], 3, "%3u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[10], 100, " label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - } - else - { - snprintf(toolBarName, 255, "SubModel%4u", this->uid); - snprintf(toolBarDefine, 255, "%s label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - toolBarName, this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - - m_toolBar = TwNewBar(toolBarName); - - TwDefine(toolBarDefine); - - TwAddButton(m_toolBar, "saveNow", saveNowCB, &m_InstanceCallback, "label = 'Save Pie' group = 'General'"); - TwAddButton(m_toolBar, "removepie", destructCB, &m_InstanceCallback, "label = 'Remove Pie' group = 'General'"); - TwAddVarRW(m_toolBar, "visible", TW_TYPE_BOOLCPP, &m_Visible, "label = 'Visible' group = 'General'"); - TwAddVarRW(m_toolBar, "textureId", TW_TYPE_INT32, &m_TexpageId, "label = 'Page Id' min=0 max=100 step=1 group = 'General'"); - TwAddButton(m_toolBar, "showgui", showGUICB, &m_InstanceCallback, "label = 'Show GUI' group = 'General'"); - TwAddButton(m_toolBar, "hidegui", hideGUICB, &m_InstanceCallback, "label = 'Hide GUI' group = 'General'"); - // Only non sub model can do this - if (!this->m_IsSub) - { - TwAddButton(m_toolBar, "addSubModel", addSubModelCB, &m_InstanceCallback, "label = 'Add SubModel' group = 'SubModel and Animation'"); - TwAddButton(m_toolBar, "addSubModelFile", addSubModelFileCB, &m_InstanceCallback, "label = 'SubModel From File' group = 'SubModel and Animation'"); - TwAddButton(m_toolBar, "readAnimFile", readAnimFileCB, &m_InstanceCallback, "label = 'Anim From File' group = 'SubModel and Animation'"); - TwAddButton(m_toolBar, "writeAnimFile", writeAnimFileCB, &m_InstanceCallback, "label = 'Write Anim File' group = 'SubModel and Animation'"); - TwAddVarRW(m_toolBar, "frameSpeed", TW_TYPE_INT32, &m_frameInterval, "label = 'Frame Speed' min=0 max=1000 step=1 group = 'SubModel and Animation'"); - TwAddVarRW(m_toolBar, "animMode", TW_TYPE_INT32, &m_animMode, "label = 'Anim Mode' min=0 max=1 step=1 group = 'Anim Mode'"); - } - TwAddButton(m_toolBar, "addFrame", addFrameCB, &m_InstanceCallback, "label = 'Add Anim Frame' group = 'SubModel and Animation'"); - TwAddVarRW(m_toolBar, "controlSubAnim", TW_TYPE_BOOLCPP, &m_controlSubAnim, "label = 'Control SubModel Anim' group = 'SubModel and Animation'"); - TwAddVarRW(m_toolBar, "drawAnim", TW_TYPE_BOOLCPP, &m_drawAnim, "label = 'Draw Anim' group = 'SubModel and Animation'"); - TwAddVarRW(m_toolBar, "framesVisible", TW_TYPE_BOOLCPP, &m_framesVisible, "label = 'Frames Visible' group = 'SubModel and Animation'"); - - TwAddButton(m_toolBar, "selectAll", selectAllCB, &m_InstanceCallback, "label = 'Select All' group = 'Selection and Move'"); - TwAddButton(m_toolBar, "unselectAll", unselectAllCB, &m_InstanceCallback, "label = 'Unselect All' group = 'Selection and Move'"); - TwAddButton(m_toolBar, "moveVertices", moveSelectedVertices, &m_InstanceCallback, "label = 'Move Selected' group = 'Selection and Move'"); - TwAddVarRW(m_toolBar, "VelocityX", TW_TYPE_FLOAT, &m_VelocityX, "label = 'VelocityX' step = 0.1 group = 'Selection and Move'"); - TwAddVarRW(m_toolBar, "VelocityY", TW_TYPE_FLOAT, &m_VelocityY, "label = 'VelocityY' step = 0.1 group = 'Selection and Move'"); - TwAddVarRW(m_toolBar, "VelocityZ", TW_TYPE_FLOAT, &m_VelocityZ, "label = 'VelocityZ' step = 0.1 group = 'Selection and Move'"); - TwAddButton(m_toolBar, "removeVertices", removeSelectedCB, &m_InstanceCallback, "label = 'Remove Selected' group = 'Selection and Move'"); - TwAddVarRW(m_toolBar, "DuplicateX", TW_TYPE_FLOAT, &m_duplicateX, "label = 'DuplicateX' step = 0.1 group = 'Selection and Move'"); - TwAddVarRW(m_toolBar, "DuplicateY", TW_TYPE_FLOAT, &m_duplicateY, "label = 'DuplicateY' step = 0.1 group = 'Selection and Move'"); - TwAddVarRW(m_toolBar, "DuplicateZ", TW_TYPE_FLOAT, &m_duplicateZ, "label = 'DuplicateZ' step = 0.1 group = 'Selection and Move'"); - TwAddButton(m_toolBar, "duplicateVertices", duplicateSelectedVertices, &m_InstanceCallback, "label = 'Duplicate Selected' group = 'Selection and Move'"); - - TwAddVarRW(m_toolBar, "newVerticeX", TW_TYPE_FLOAT, &m_newVerticeX, "label = 'New VerticeX' step = 0.1 group = 'New Vertice'"); - TwAddVarRW(m_toolBar, "newVerticeY", TW_TYPE_FLOAT, &m_newVerticeY, "label = 'New VerticeY' step = 0.1 group = 'New Vertice'"); - TwAddVarRW(m_toolBar, "newVerticeZ", TW_TYPE_FLOAT, &m_newVerticeZ, "label = 'New VerticeZ' step = 0.1 group = 'New Vertice'"); - TwAddButton(m_toolBar, "addVertice", addVerticeCB, &m_AddVerticeCB, "label = 'Add Vertice' group = 'New Vertice'"); - TwAddButton(m_toolBar, "addConnector", addVerticeCB, &m_AddConnectorCB, "label = 'Add Connector' group = 'New Vertice'"); - - - - - //Vertices List bar - char vertBarName[255]; - char vertBarDefine[255]; - - strncpy(vertBarName, toolBarName, 255); - strcat(vertBarName, "vertBar"); - - snprintf(vertBarDefine, 255, "%s label = 'Pie %u VerticeList' position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - vertBarName, this->uid, g_Screen.m_width, 0, guiMajorAlpha, guiMajorRed, - guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - m_vertBar = TwNewBar(vertBarName); - TwDefine(vertBarDefine); - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - char name[255] = "vert"; - snprintf(&name[4], 3, "%3u", i); - TwAddVarRW(m_vertBar, name, g_tw_pieVertexType, m_Vertices[i], ""); - //TwAddVarCB(m_vertBar, name, g_tw_pieVertexType, setVarCB, getVarCB, &this->m_InstanceCallback, ""); - } - } - - //Connector list bar - char connBarName[255]; - char connBarDefine[255]; - - strncpy(connBarName, toolBarName, 255); - strcat(connBarName, "connBar"); - - snprintf(connBarDefine, 255, "%s label = 'Pie %u ConnectorList' position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - connBarName, this->uid, g_Screen.m_width, g_Screen.m_height, guiMajorAlpha, guiMajorRed, - guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - m_connBar = TwNewBar(connBarName); - TwDefine(connBarDefine); - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - char name[255] = "conn"; - char name2[255] = "delconn"; - snprintf(&name[4], 3, "%3u", i); - snprintf(&name2[7], 3, "%3u", i); - TwAddButton(m_connBar, name2, removeConnectorAtCB, &m_Connectors[i]->callback, "label = 'Remove'"); - TwAddVarRW(m_connBar, name, g_tw_pieVertexType, m_Connectors[i], ""); - //TwAddVarCB(m_connBar, name, g_tw_pieVertexType, setVarCB, getVarCB, &this->m_InstanceCallback, ""); - } - } - - for (i = 0;i < m_polyCount;i++) - { - //multiple polygon names format poly[pie uid][poly uid] - char tmpString[255] = "poly"; - char tmpString2[255]; - - if (!this->m_IsSub) - { - //FIXME:capped to 1000(3 digi) - //assert(this->uid < 1000); - //utterly hack to add zero's to make Bar names unique -_- - if (i < 10) - { - snprintf(&tmpString[4], 1, "0"); - snprintf(&tmpString[5], 1, "%u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (i < 100) - { - snprintf(&tmpString[4], 2, "%2u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - } - else - { - snprintf(&tmpString[4], 3, "%3u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[7], 1, "0"); - snprintf(&tmpString[8], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (this->uid < 100) - { - snprintf(&tmpString[7], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else - { - snprintf(&tmpString[7], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[10], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - } - } - else - { - snprintf(tmpString, 255, "SubModel%dPoly%d", this->uid, i); - snprintf(tmpString2, 255, "%s label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - tmpString, this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - - m_polyBars[i] = TwNewBar(tmpString); - - TwDefine(tmpString2); - - TwAddButton(m_polyBars[i], "duplicatePoly", duplicatePolyCB, &m_Polygons[i]->callback, "label = 'Duplicate this'"); - TwAddVarRW(m_polyBars[i], "polyselected", TW_TYPE_BOOLCPP, &m_Polygons[i]->selected, "label = 'Poly Selected'"); - TwAddVarRW(m_polyBars[i], "flags", TW_TYPE_UINT32, &m_Polygons[i]->polygon.flags, "label = 'Flags'"); - if (m_Polygons[i]->polygon.pTexAnim) - { - TwAddVarRW(m_polyBars[i], "texAnimFrame", TW_TYPE_UINT16, &m_Polygons[i]->frame, "label = 'TexAnim Frame' min = 0 max = 7 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "texHeight", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->textureHeight, "label = 'Height' min = 0 max = 31 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "texWidth", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->textureWidth, "label = 'Width' min = 0 max = 31 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "textPlayRate", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->playbackRate, "label = 'Height' min = 0 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "texFrames", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->nFrames, "label = 'Width' min = 0 max = 7 step = 1 group = 'TexAnim'"); - } - - for (n = m_Polygons[i]->polygon.npnts, index = m_Polygons[i]->polygon.pindex + (m_Polygons[i]->polygon.npnts - 1); - n > 0; - n--, index--) - { - char stringTemp[255] = "vert"; - char stringTemp2[255] = "delvert"; - - snprintf(&stringTemp[4], 55, " id%3u uid%3u", *index, totalVertices++); - - snprintf(&stringTemp2[7], 55, " id%3u uid%3u", *index, totalVertices); - - TwAddButton(m_polyBars[i], stringTemp2, removeVerticeAtCB, &m_Vertices[*index]->callback, "label = 'Remove'"); - TwAddVarRW(m_polyBars[i], stringTemp, g_tw_pieVertexType, m_Vertices[*index], ""); - //TwAddVarCB(m_polyBars[i], stringTemp, g_tw_pieVertexType, setVarCB, getVarCB, &this->m_InstanceCallback, ""); -#if 0 - char stringX[255] = "verticeX"; - char stringY[255] = "verticeY"; - char stringZ[255] = "verticeZ"; - char stringBool[255] = "bool"; - - snprintf(&stringX[8], 9, "vert%3u", ++totalVertices); - snprintf(&stringY[8], 9, "vert%3u", ++totalVertices); - snprintf(&stringZ[8], 9, "vert%3u", ++totalVertices); - snprintf(&stringBool[4], 9, "bool%3u", totalVertices); - - TwAddVarRW(m_polyBars[i], stringX, TW_TYPE_FLOAT, &m_Vertices[*index]->vertice.x, "label = 'Vertice X' step = 0.1"); - TwAddVarRW(m_polyBars[i], stringY, TW_TYPE_FLOAT, &m_Vertices[*index]->vertice.y, "label = 'Vertice Y' step = 0.1"); - TwAddVarRW(m_polyBars[i], stringZ, TW_TYPE_FLOAT, &m_Vertices[*index]->vertice.z, "label = 'Vertice Z' step = 0.1"); - TwAddVarRW(m_polyBars[i], stringBool, TW_TYPE_BOOLCPP, &m_Vertices[*index]->selected, "label = 'Selected'"); -#endif - } - } - - //Animation Frame list bar - char animBarName[255]; - - strncpy(animBarName, toolBarName, 255); - strcat(animBarName, "animBar"); - - - for (i = 0;i < m_numAnimFrames;i++) - { - char frameName[255]; - char animBarDefine[255]; - - snprintf(frameName, 255, "%sframe%d", animBarName, i); - TwDeleteBar(m_frames[i].Bar); - m_frames[i].Bar = TwNewBar(frameName); - - strncpy(m_frames[i].BarName, frameName, 255); - - snprintf(animBarDefine, 255, "%s label = 'Pie%u Frame%d' position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - frameName, this->uid, i, g_Screen.m_width, g_Screen.m_height, guiMajorAlpha, guiMajorRed, - guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - TwDefine(animBarDefine); - - strncpy(m_frames[i].BarName, frameName, 255); - - TwAddButton(m_frames[i].Bar, "removeFrame", removeFrameCB, &m_frames[i], "label = 'Remove Anim Frame'"); - TwAddVarRW(m_frames[i].Bar, "visible", TW_TYPE_BOOLCPP, &m_frames[i].visible, "label = 'Visible'"); - TwAddVarRW(m_frames[i].Bar, "id", TW_TYPE_UINT32, &m_frames[i].frameId, "label = 'FrameId'"); - TwAddVarRW(m_frames[i].Bar, "offsetX", TW_TYPE_FLOAT, &m_frames[i].offsetX, "label = 'OffsetX' step = 100"); - TwAddVarRW(m_frames[i].Bar, "offsetY", TW_TYPE_FLOAT, &m_frames[i].offsetY, "label = 'OffsetY' step = 100"); - TwAddVarRW(m_frames[i].Bar, "offsetZ", TW_TYPE_FLOAT, &m_frames[i].offsetZ, "label = 'OffsetZ' step = 100"); - TwAddVarRW(m_frames[i].Bar, "rotateX", TW_TYPE_FLOAT, &m_frames[i].rotateX, "label = 'rotateX' step = 100"); - TwAddVarRW(m_frames[i].Bar, "rotateY", TW_TYPE_FLOAT, &m_frames[i].rotateY, "label = 'rotateY' step = 100"); - TwAddVarRW(m_frames[i].Bar, "rotateZ", TW_TYPE_FLOAT, &m_frames[i].rotateZ, "label = 'rotateZ' step = 100"); - TwAddVarRW(m_frames[i].Bar, "scaleX", TW_TYPE_FLOAT, &m_frames[i].scaleX, "label = 'ScaleX' step = 10"); - TwAddVarRW(m_frames[i].Bar, "scaleY", TW_TYPE_FLOAT, &m_frames[i].scaleY, "label = 'ScaleY' step = 10"); - TwAddVarRW(m_frames[i].Bar, "scaleZ", TW_TYPE_FLOAT, &m_frames[i].scaleZ, "label = 'ScaleZ' step = 10"); - } - - return true; -} - -void CPieInternal::updateGUI(void) { - Uint16 i, n, totalVertices = 0; - VERTEXID *index; - - //Utility bar - char toolBarName[255] = "toolbar"; - char toolBarDefine[255]; - - //Utility bar - if (!m_IsSub) - { - - if (this->uid < 10) - { - snprintf(&toolBarName[7], 1, "0"); - snprintf(&toolBarName[8], 1, "%u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - else if (this->uid < 100) - { - snprintf(&toolBarName[7], 2, "%2u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - else - { - snprintf(&toolBarName[7], 3, "%3u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[10], 100, " label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - } - else - { - snprintf(toolBarName, 255, "SubModel%4u", this->uid); - snprintf(toolBarDefine, 255, "%s label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - toolBarName, this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - - //Vertice list bar - char vertBarName[255]; - char vertBarDefine[255]; - - strncpy(vertBarName, toolBarName, 255); - strcat(vertBarName, "vertBar"); - - snprintf(vertBarDefine, 255, "%s label = 'Pie %u VerticeList' position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - vertBarName, this->uid, g_Screen.m_width, 0, guiMajorAlpha, guiMajorRed, - guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - //TwDeleteBar(m_vertBar); - if (!m_vertBar) - { - m_vertBar = TwNewBar(vertBarName); - TwDefine(vertBarDefine); - } - - TwRemoveAllVars(m_vertBar); - - for (i = 0;i < m_vertCount;i++) - { - if (m_Vertices[i]) - { - char name[255] = "vert"; - snprintf(&name[4], 3, "%3u", i); - if (!TwAddVarRW(m_vertBar, name, g_tw_pieVertexType, m_Vertices[i], "")) - //|| !TwAddVarCB(m_vertBar, name, g_tw_pieVertexType, setVarCB, getVarCB, &this->m_InstanceCallback, "")) - { - fprintf(stderr, TwGetLastError()); - } - } - } - - //Connector list bar - char connBarName[255]; - char connBarDefine[255]; - - strncpy(connBarName, toolBarName, 255); - strcat(connBarName, "connBar"); - - snprintf(connBarDefine, 255, "%s label = 'Pie %u ConnectorList' position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - connBarName, this->uid, g_Screen.m_width, 400, guiMajorAlpha, guiMajorRed, - guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - //TwDeleteBar(m_connBar); - if (!m_connBar) - { - m_connBar = TwNewBar(connBarName); - TwDefine(connBarDefine); - } - - TwRemoveAllVars(m_connBar); - - for (i = 0;i < m_connCount;i++) - { - if (m_Connectors[i]) - { - char name[255] = "conn"; - char name2[255] = "delconn"; - snprintf(&name[4], 3, "%3u", i); - snprintf(&name2[7], 3, "%3u", i); - TwAddButton(m_connBar, name2, removeConnectorAtCB, &m_Connectors[i]->callback, "label = 'Remove'"); - TwAddVarRW(m_connBar, name, g_tw_pieVertexType, m_Connectors[i], ""); - //TwAddVarCB(m_connBar, name, g_tw_pieVertexType, setVarCB, getVarCB, &this->m_InstanceCallback, ""); - } - } - - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i] == NULL) - { - //skip NULL polygons - continue; - } - //multiple polygon names format poly[pie uid][poly uid] - char tmpString[255] = "poly"; - char tmpString2[255]; - - //FIXME:capped to 1000(3 digi) - //assert(this->uid < 1000); - //utterly hack to add zero's to make Bar names unique -_- - if (!this->m_IsSub) - { - if (i < 10) - { - snprintf(&tmpString[4], 1, "0"); - snprintf(&tmpString[5], 1, "%u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (i < 100) - { - snprintf(&tmpString[4], 2, "%2u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - } - else - { - snprintf(&tmpString[4], 3, "%3u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[7], 1, "0"); - snprintf(&tmpString[8], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else if (this->uid < 100) - { - snprintf(&tmpString[7], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - else - { - snprintf(&tmpString[7], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[10], 100, " label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - } - } - else - { - snprintf(tmpString, 255, "SubModel%dPoly%d", this->uid, i); - snprintf(tmpString2, 255, "%s label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - tmpString, this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - - //TwDeleteBar(m_polyBars[i]); - if (!m_polyBars[i]) - { - m_polyBars[i] = TwNewBar(tmpString); - - TwDefine(tmpString2); - } - - TwRemoveAllVars(m_polyBars[i]); - - TwAddButton(m_polyBars[i], "duplicatePoly", duplicatePolyCB, &m_Polygons[i]->callback, "label = 'Duplicate this'"); - TwAddVarRW(m_polyBars[i], "polyselected", TW_TYPE_BOOLCPP, &m_Polygons[i]->selected, "label = 'Poly Selected'"); - TwAddVarRW(m_polyBars[i], "flags", TW_TYPE_UINT32, &m_Polygons[i]->polygon.flags, "label = 'Flags'"); - if (m_Polygons[i]->polygon.pTexAnim) - { - TwAddVarRW(m_polyBars[i], "texAnimFrame", TW_TYPE_UINT32, &m_Polygons[i]->frame, "label = 'TexAnim Frame' min = 0 max = 7 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "texHeight", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->textureHeight, "label = 'Height' min = 0 max = 31 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "texWidth", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->textureWidth, "label = 'Width' min = 0 max = 31 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "textPlayRate", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->playbackRate, "label = 'Height' min = 0 step = 1 group = 'TexAnim'"); - TwAddVarRW(m_polyBars[i], "texFrames", TW_TYPE_UINT16, &m_Polygons[i]->polygon.pTexAnim->nFrames, "label = 'Width' min = 0 max = 7 step = 1 group = 'TexAnim'"); - } - - - for (n = m_Polygons[i]->polygon.npnts, index = m_Polygons[i]->polygon.pindex + (m_Polygons[i]->polygon.npnts - 1); - n > 0; - n--, index--) - { - char stringTemp[255] = "vert"; - char stringTemp2[255] = "delvert"; - - snprintf(&stringTemp[4], 55, " id%3u uid%3u", *index, totalVertices++); - - snprintf(&stringTemp2[7], 55, " id%3u uid%3u", *index, totalVertices); - - TwAddButton(m_polyBars[i], stringTemp2, removeVerticeAtCB, &m_Vertices[*index]->callback, "label = 'Remove'"); - TwAddVarRW(m_polyBars[i], stringTemp, g_tw_pieVertexType, m_Vertices[*index], ""); - //TwAddVarCB(m_polyBars[i], stringTemp, g_tw_pieVertexType, setVarCB, getVarCB, &this->m_InstanceCallback, ""); - } - } - - //Animation Frame list bar - char animBarName[255]; - - strncpy(animBarName, toolBarName, 255); - strcat(animBarName, "animBar"); - - for (i = 0;i < m_numAnimFrames;i++) - { - char frameName[255]; - char animBarDefine[255]; - - snprintf(frameName, 255, "%sframe%d", animBarName, i); - //TwDeleteBar(m_frames[i].Bar); - if (!m_frames[i].Bar) - { - m_frames[i].Bar = TwNewBar(m_frames[i].BarName); - - //strncpy(m_frames[i].BarName, frameName, 255); - - snprintf(animBarDefine, 255, "%s label = 'Pie%u Frame%d' position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - m_frames[i].BarName, this->uid, i, g_Screen.m_width, g_Screen.m_height, guiMajorAlpha, guiMajorRed, - guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - TwDefine(animBarDefine); - } - - if (m_frames[i].died) - { - continue; - } - - TwRemoveAllVars(m_frames[i].Bar); - TwAddButton(m_frames[i].Bar, "duplicateFrame", duplicateFrameCB, &m_frames[i].callback, "label = 'Duplicate Anim Frame'"); - TwAddButton(m_frames[i].Bar, "removeFrame", removeFrameCB, &m_frames[i], "label = 'Remove Anim Frame'"); - TwAddVarRW(m_frames[i].Bar, "visible", TW_TYPE_BOOLCPP, &m_frames[i].visible, "label = 'Visible'"); - TwAddVarRW(m_frames[i].Bar, "id", TW_TYPE_UINT32, &m_frames[i].frameId, "label = 'Frameid'"); - TwAddVarRW(m_frames[i].Bar, "offsetX", TW_TYPE_FLOAT, &m_frames[i].offsetX, "label = 'OffsetX' step = 100"); - TwAddVarRW(m_frames[i].Bar, "offsetY", TW_TYPE_FLOAT, &m_frames[i].offsetY, "label = 'OffsetY' step = 100"); - TwAddVarRW(m_frames[i].Bar, "offsetZ", TW_TYPE_FLOAT, &m_frames[i].offsetZ, "label = 'OffsetZ' step = 100"); - TwAddVarRW(m_frames[i].Bar, "rotateX", TW_TYPE_FLOAT, &m_frames[i].rotateX, "label = 'rotateX step = 100"); - TwAddVarRW(m_frames[i].Bar, "rotateY", TW_TYPE_FLOAT, &m_frames[i].rotateY, "label = 'rotateY' step = 100"); - TwAddVarRW(m_frames[i].Bar, "rotateZ", TW_TYPE_FLOAT, &m_frames[i].rotateZ, "label = 'rotateZ' step = 100"); - TwAddVarRW(m_frames[i].Bar, "scaleX", TW_TYPE_FLOAT, &m_frames[i].scaleX, "label = 'ScaleX' step = 10"); - TwAddVarRW(m_frames[i].Bar, "scaleY", TW_TYPE_FLOAT, &m_frames[i].scaleY, "label = 'ScaleY' step = 10"); - TwAddVarRW(m_frames[i].Bar, "scaleZ", TW_TYPE_FLOAT, &m_frames[i].scaleZ, "label = 'ScaleZ' step = 10"); - } -} - -void CPieInternal::hideGUI(void) { - Uint16 i; - - //Utility bar - char toolBarName[255] = "toolbar"; - char toolBarDefine[255]; - - if (!this->m_IsSub) - { - if (this->uid < 10) - { - snprintf(&toolBarName[7], 1, "0"); - snprintf(&toolBarName[8], 1, "%u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " hide"); - } - else if (this->uid < 100) - { - snprintf(&toolBarName[7], 2, "%2u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " hide"); - } - else - { - snprintf(&toolBarName[7], 3, "3%u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[10], 100, " hide"); - } - } - else - { - snprintf(toolBarName, 255, "SubModel%4u", this->uid); - snprintf(toolBarDefine, 255, "%s label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - toolBarName, this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - - //Vertice list bar - char vertBarName[255]; - char vertBarDefine[255]; - - strncpy(vertBarName, toolBarName, 255); - strcat(vertBarName, "vertBar"); - - snprintf(vertBarDefine, 255, "%s hide", - vertBarName); - - TwDefine(vertBarDefine); - - //Connector list bar - char connBarName[255]; - char connBarDefine[255]; - - strncpy(connBarName, toolBarName, 255); - strcat(connBarName, "connBar"); - - snprintf(connBarDefine, 255, "%s hide", - connBarName); - - TwDefine(connBarDefine); - - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i] == NULL) - { - //skip NULL polygons - continue; - } - //multiple polygon names format poly[pie uid][poly uid] - char tmpString[255] = "poly"; - char tmpString2[255]; - - if (!this->m_IsSub) - { - //FIXME:capped to 1000(3 digi) - //assert(this->uid < 1000); - //utterly hack to add zero's to make Bar names unique -_- - if (i < 10) - { - snprintf(&tmpString[4], 1, "0"); - snprintf(&tmpString[5], 1, "%u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " hide"); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " hide"); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " hide"); - } - - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " hide"); - } - else if (i < 100) - { - snprintf(&tmpString[4], 2, "%2u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " hide"); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " hide"); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " hide"); - } - } - else - { - snprintf(&tmpString[4], 3, "%3u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[7], 1, "0"); - snprintf(&tmpString[8], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " hide"); - } - else if (this->uid < 100) - { - snprintf(&tmpString[7], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " hide"); - } - else - { - snprintf(&tmpString[7], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[10], 100, " hide"); - } - } - } - else - { - snprintf(tmpString, 255, "SubModel%dPoly%d", this->uid, i); - snprintf(tmpString2, 255, "%s label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - tmpString, this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - - TwDefine(tmpString2); - } -} - -void CPieInternal::showGUI(void) { - Uint16 i; - - //Utility bar - char toolBarName[255] = "toolbar"; - char toolBarDefine[255]; - - if (!this->m_IsSub) - { - if (this->uid < 10) - { - snprintf(&toolBarName[7], 1, "0"); - snprintf(&toolBarName[8], 1, "%u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " show"); - } - else if (this->uid < 100) - { - snprintf(&toolBarName[7], 2, "%2u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[9], 100, " show"); - } - else - { - snprintf(&toolBarName[7], 3, "3%u", this->uid); - strcpy(toolBarDefine, toolBarName); - snprintf(&toolBarDefine[10], 100, " show"); - } - } - else - { - snprintf(toolBarName, 255, "SubModel%4u", this->uid); - snprintf(toolBarDefine, 255, "%s label = 'Pie %u ToolBar' position = '0 200' color = '%d %d %d %d' size = '%d %d'", - toolBarName, this->uid, guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - } - - TwDefine(toolBarDefine); - - //Vertice list bar - char vertBarName[255]; - char vertBarDefine[255]; - - strncpy(vertBarName, toolBarName, 255); - strcat(vertBarName, "vertBar"); - - snprintf(vertBarDefine, 255, "%s show", - vertBarName); - - TwDefine(vertBarDefine); - - //Connector list bar - char connBarName[255]; - char connBarDefine[255]; - - strncpy(connBarName, toolBarName, 255); - strcat(connBarName, "connBar"); - - snprintf(connBarDefine, 255, "%s show", - connBarName); - - TwDefine(connBarDefine); - - for (i = 0;i < m_polyCount;i++) - { - if (m_Polygons[i] == NULL) - { - //skip NULL polygons - continue; - } - //multiple polygon names format poly[pie uid][poly uid] - char tmpString[255] = "poly"; - char tmpString2[255]; - - if (!this->m_IsSub) - { - //FIXME:capped to 1000(3 digi) - //assert(this->uid < 1000); - //utterly hack to add zero's to make Bar names unique -_- - if (i < 10) - { - snprintf(&tmpString[4], 1, "0"); - snprintf(&tmpString[5], 1, "%u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " show"); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " show"); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " show"); - } - - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " show"); - } - else if (i < 100) - { - snprintf(&tmpString[4], 2, "%2u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[6], 1, "0"); - snprintf(&tmpString[7], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " show"); - } - else if (this->uid < 100) - { - snprintf(&tmpString[6], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[8], 100, " show"); - } - else - { - snprintf(&tmpString[6], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " show"); - } - } - else - { - snprintf(&tmpString[4], 3, "%3u", i); - - if (this->uid < 10) - { - snprintf(&tmpString[7], 1, "0"); - snprintf(&tmpString[8], 1, "%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " show"); - } - else if (this->uid < 100) - { - snprintf(&tmpString[7], 2, "%2u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[9], 100, " show"); - } - else - { - snprintf(&tmpString[7], 3, "3%u", this->uid); - strcpy(tmpString2, tmpString); - snprintf(&tmpString2[10], 100, " show"); - } - } - } - else - { - snprintf(tmpString, 255, "SubModel%dPoly%d", this->uid, i); - snprintf(tmpString2, 255, "%s label = 'Pie %u Poly %u' position = '0 400' color = '%d %d %d %d' size = '%d %d'", - tmpString, this->uid, i , guiMinorAlpha, guiMinorRed, guiMinorGreen, guiMinorBlue, guiMinorWidth, guiMinorHeight); - } - - TwDefine(tmpString2); - } -} - -bool CPieInternal::addSub(const char *name) { - CPieInternal *temp = this; - while(temp->m_nextSub) - { - temp = temp->m_nextSub; - } - - // Reached the end of linked list - CPieInternal *newSub; - newSub = new CPieInternal(g_SubModelIndex, name, this->m_TexpageId, true, this); - - if (newSub == NULL) - { - fprintf(stderr, "error creating submodel\n"); - return false; - } - temp->m_nextSub = newSub; - g_SubModelIndex++; - return true; -} - -bool CPieInternal::addSubFromFile(const char *filename) { - CPieInternal *temp = this; - while(temp->m_nextSub) - { - temp = temp->m_nextSub; - } - - // Reached the end of linked list - CPieInternal *newSub; - iIMDShape *newIMD = iV_ProcessIMD(filename); - - newSub = new CPieInternal(g_SubModelIndex, newIMD, filename, true, this); - - if (newSub == NULL) - { - fprintf(stderr, "error creating submodel from file %s\n", filename); - return false; - } - temp->m_nextSub = newSub; - g_SubModelIndex++; - return true; -} - - -bool CPieInternal::addFrame(void) { - //assert(m_numAnimFrames < MAX_ANIM_FRAMES); - m_frames[m_numAnimFrames].died = false; - m_frames[m_numAnimFrames].visible = true; - m_frames[m_numAnimFrames].frameId = m_numAnimFrames; - m_frames[m_numAnimFrames].offsetX = 0.0f; - m_frames[m_numAnimFrames].offsetY = 0.0f; - m_frames[m_numAnimFrames].offsetZ = 0.0f; - m_frames[m_numAnimFrames].rotateX = 0.0f; - m_frames[m_numAnimFrames].rotateY = 0.0f; - m_frames[m_numAnimFrames].rotateZ = 0.0f; - m_frames[m_numAnimFrames].scaleX = 1000.0f; - m_frames[m_numAnimFrames].scaleY = 1000.0f; - m_frames[m_numAnimFrames].scaleZ = 1000.0f; - m_frames[m_numAnimFrames].callback.Id = m_numAnimFrames; - m_frames[m_numAnimFrames].callback.pInstance = (void*)this; - snprintf(m_frames[m_numAnimFrames].BarName, 255, "Pie%dAnim%dBar", this->uid, m_frames[m_numAnimFrames].frameId); - m_frames[m_numAnimFrames].Bar = NULL; - - m_numAnimFrames++; - - this->updateGUI(); - return true; -} - -bool CPieInternal::removeFrame(Uint16 id) { - - //assert(id < MAX_ANIM_FRAMES); - //assert(m_numAnimFrames > 0); - if (id >= MAX_ANIM_FRAMES) - { - fprintf(stderr, "frame id is too large\n"); - return false; - } - - TwDeleteBar(m_frames[id].Bar); - m_frames[id].Bar = NULL; - m_frames[id].died = false; - - Uint16 i; - for (i = m_numAnimFrames - 1;i > id;i--) - { - m_frames[i - 1].visible = m_frames[i].visible; - m_frames[i - 1].offsetX = m_frames[i].offsetX; - m_frames[i - 1].offsetY = m_frames[i].offsetY; - m_frames[i - 1].offsetZ = m_frames[i].offsetZ; - m_frames[i - 1].rotateX = m_frames[i].rotateX; - m_frames[i - 1].rotateY = m_frames[i].rotateY; - m_frames[i - 1].rotateZ = m_frames[i].rotateZ; - m_frames[i - 1].scaleX = m_frames[i].scaleX; - m_frames[i - 1].scaleY = m_frames[i].scaleY; - m_frames[i - 1].scaleZ = m_frames[i].scaleZ; - m_frames[i - 1].callback.Id = m_frames[i].callback.Id; - m_frames[i - 1].callback.pInstance = m_frames[i].callback.pInstance; - //strncpy(m_frames[i - 1].BarName, m_frames[i].BarName, 255); - //m_frames[i - 1].Bar = m_frames[i].Bar; - TwDeleteBar(m_frames[i].Bar); - m_frames[i].Bar = NULL; - } - - m_numAnimFrames--; - this->updateGUI(); - return true; -} - -bool CPieInternal::duplicateFrame(Uint16 id) { - //assert(id < MAX_ANIM_FRAMES); - m_frames[m_numAnimFrames].died = false; - m_frames[m_numAnimFrames].visible = true; - m_frames[m_numAnimFrames].frameId = m_numAnimFrames; - m_frames[m_numAnimFrames].offsetX = m_frames[id].offsetX; - m_frames[m_numAnimFrames].offsetY = m_frames[id].offsetY; - m_frames[m_numAnimFrames].offsetZ = m_frames[id].offsetZ; - m_frames[m_numAnimFrames].rotateX = m_frames[id].rotateX; - m_frames[m_numAnimFrames].rotateY = m_frames[id].rotateY; - m_frames[m_numAnimFrames].rotateZ = m_frames[id].rotateZ; - m_frames[m_numAnimFrames].scaleX = m_frames[id].scaleX; - m_frames[m_numAnimFrames].scaleY = m_frames[id].scaleY; - m_frames[m_numAnimFrames].scaleZ = m_frames[id].scaleZ; - m_frames[m_numAnimFrames].callback.Id = m_numAnimFrames; - m_frames[m_numAnimFrames].callback.pInstance = (void*)this; - snprintf(m_frames[m_numAnimFrames].BarName, 255, "Pie%dAnim%dBar", this->uid, m_frames[m_numAnimFrames].frameId); - m_frames[m_numAnimFrames].Bar = NULL; - - m_numAnimFrames++; - - this->updateGUI(); - return true; -} - -bool CPieInternal::readAnimFile(const char *filename) -{ - FILE *file; - char newFileName[255]; - const char *extension = strstr(filename, ".pie"); - - if (extension) - { - sscanf(filename, "%[^'.']", newFileName); - strcat(newFileName, ".ani"); - file = fopen(newFileName, "rb"); - } - else - { - strncpy(newFileName, filename, 255); - file = fopen(newFileName, "rb"); - } - - if (!file) - { - fprintf(stderr, "Erorr opening anim file %s\n", newFileName); - return false; - } - - char *buffer = (char*)malloc(sizeof(char) * 1024 * 1024); //1MB - char *temp = buffer; - Uint32 count, quantity = fread(buffer, 1, 1024*1024, file); - Uint32 objIndex; - CPieInternal *target = this; - - fclose(file); - - count = 0; - while (count < quantity) - { - if (*buffer == '/' && *(buffer+1) == '*') - { - count += 2; - buffer += 2; - while (true) - { - if (*buffer == '\n') - { - count++; - buffer++; - break; - } - count++; - buffer++; - } - continue; - } - - if (*buffer == '\n') - { - count++; - buffer++; - continue; - } - - char Line[512]; - Uint32 LineLength; - sscanf(buffer, "%[^'\n']%n", Line, &LineLength); - count += LineLength + 1; - buffer += LineLength + 1; - - if (Line[0] == '{' || Line[1] == '{' || - Line[0] == '}' || Line[1] == '}') - { - continue; - } - else - { - char tag[256], dummy[256], dummy2[256]; - sscanf(Line, "%s %s", tag, dummy); - - if (!strcmp(tag, "ANIM3DFRAMES")) - { - Uint32 count, total = 0; - sscanf(Line, "%s%n", dummy, &count); - total += count; - sscanf(&Line[total], " \"%[^'\"']%n", dummy2, &count); - total += count; - sscanf(&Line[total], "\" %d %d", &target->m_numAnimFrames, &target->m_frameInterval); - - target->m_animMode = ANIM3DFRAMES; - - CPieInternal *temp = target->m_nextSub; - while(temp) - { - temp->m_animMode = ANIM3DFRAMES; - temp->m_numAnimFrames = 0; - temp->m_frameInterval = target->m_numAnimFrames; - temp = temp->m_nextSub; - } - } - else if (!strcmp(tag, "ANIM3DTRANS")) - { - Uint32 dummyInt, count, total = 0; - sscanf(Line, "%s%n", dummy, &count); - total += count; - sscanf(&Line[total], " \"%[^'\"']%n", dummy2, &count); - total += count; - sscanf(&Line[total], "\" %d %d %d", &target->m_numAnimFrames, &target->m_frameInterval, &dummyInt); - - target->m_animMode = ANIM3DTRANS; - - CPieInternal *temp = target->m_nextSub; - while(temp) - { - temp->m_animMode = ANIM3DTRANS; - temp->m_numAnimFrames = target->m_numAnimFrames; - temp->m_frameInterval = target->m_numAnimFrames; - temp = temp->m_nextSub; - } - } - else if (!strcmp(tag, "ANIMOBJECT")) - { - sscanf(Line, "%s %d %s", dummy, &objIndex, dummy2); - - CPieInternal *temp = this; - Uint32 i = 0; - - while(i < objIndex) - { - temp = temp->m_nextSub; - if (temp == NULL) - { - fprintf(stderr, "Pie %s Level %d doesnt exist\n", m_Name, objIndex); - return false; - } - i++; - } - target = temp; - } - else - { - Uint32 frameId; - float x, y, z, rotx, roty, rotz, scalex, scaley, scalez; - - sscanf(Line, "%d %f %f %f %f %f %f %f %f %f", - &frameId, &x, &y, &z, &rotx, &roty, &rotz, &scalex, &scaley, &scalez); - target->m_frames[frameId].died = false; - target->m_frames[frameId].visible = true; - target->m_frames[frameId].frameId = frameId; - target->m_frames[frameId].offsetX = x; - target->m_frames[frameId].offsetY = y; - target->m_frames[frameId].offsetZ = z; - target->m_frames[frameId].rotateX = rotx; - target->m_frames[frameId].rotateY = roty; - target->m_frames[frameId].rotateZ = rotz; - target->m_frames[frameId].scaleX = scalex; - target->m_frames[frameId].scaleY = scaley; - target->m_frames[frameId].scaleZ = scalez; - target->m_frames[frameId].callback.Id = frameId; - target->m_frames[frameId].callback.pInstance = (void*)target; - target->m_frames[frameId].Bar = NULL; - snprintf(target->m_frames[frameId].BarName, 255, "Pie%dAnim%dBar", target->uid, m_frames[frameId].frameId); - } - } - } - free(temp); - return true; -} - -void CPieInternal::startAnim() { - if (m_currAnimFrame == 0xFFFFFFFF) - { - m_currAnimFrame = 0; - m_animStartTime = SDL_GetTicks(); - } - else - { - Uint32 currTime = SDL_GetTicks(); - - if (currTime - m_animStartTime > m_frameInterval) - { - m_currAnimFrame++; - if (m_currAnimFrame >= m_numAnimFrames) - { - m_currAnimFrame = 0; - } - m_animStartTime = currTime; - } - } -} - -void CPieInternal::stopAnim() { - m_currAnimFrame = 0xFFFFFFFF; - m_animStartTime = 0; -} - -bool CPieInternal::writeAnimFileTrans(const char *filename) { - FILE *file = fopen(filename, "w+"); - - if (!file) - { - fprintf(stderr, "Error creating anim file %s\n", filename); - return false; - } - - CPieInternal *temp = this; - Uint32 index = 0; - fprintf(file, "ANIM3DTRANS \"%s\" %d %d %d\n", temp->m_Name, temp->m_numAnimFrames, temp->m_frameInterval, temp->m_levels + 1); - fprintf(file, "{\n"); - while (temp) - { - fprintf(file, "\tANIMOBJECT %d \"SubModel%d\"\n", index, index); - fprintf(file, "\t{\n"); - Uint32 i; - for (i = 0;i < temp->m_numAnimFrames;i++) - { - fprintf(file, "\t\t%d %d %d %d %d %d %d %d %d %d\n", - i, (Sint32)temp->m_frames[i].offsetX, (Sint32)temp->m_frames[i].offsetY, (Sint32)temp->m_frames[i].offsetZ, - (Sint32)temp->m_frames[i].rotateX, (Sint32)temp->m_frames[i].rotateY, (Sint32)temp->m_frames[i].rotateZ, - (Sint32)temp->m_frames[i].scaleX, (Sint32)temp->m_frames[i].scaleY, (Sint32)temp->m_frames[i].scaleZ); - } - fprintf(file, "\t}\n\n"); - temp = temp->m_nextSub; - index++; - } - fprintf(file, "}\n"); - fclose(file); - return true; -} - -bool CPieInternal::writeAnimFileFrames(const char *filename) { - FILE *file = fopen(filename, "w+"); - - if (!file) - { - fprintf(stderr, "Error creating anim file %s\n", filename); - return false; - } - - CPieInternal *temp = this; - Uint32 i; - fprintf(file, "ANIM3DFRAMES \"%s\" %d %d\n", temp->m_Name, temp->m_numAnimFrames, temp->m_frameInterval); - fprintf(file, "{\n"); - for (i = 0;i < temp->m_numAnimFrames;i++) - { - fprintf(file, "\t%d %d %d %d %d %d %d %d %d %d\n", - i, (Sint32)temp->m_frames[i].offsetX, (Sint32)temp->m_frames[i].offsetY, (Sint32)temp->m_frames[i].offsetZ, - (Sint32)temp->m_frames[i].rotateX, (Sint32)temp->m_frames[i].rotateY, (Sint32)temp->m_frames[i].rotateZ, - (Sint32)temp->m_frames[i].scaleX, (Sint32)temp->m_frames[i].scaleY, (Sint32)temp->m_frames[i].scaleZ); - } - fprintf(file, "}\n"); - fclose(file); - return true; -} diff --git a/tools/pietoaster/pie_internal.h b/tools/pietoaster/pie_internal.h deleted file mode 100644 index 088116632..000000000 --- a/tools/pietoaster/pie_internal.h +++ /dev/null @@ -1,302 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _pie_internal_h -#define _pie_internal_h - -#include "wzglobal.h" -#include "pie_types.h" - -#include "imdloader.h" -#include "texture.h" - -#include "gui.h" - -enum { - PIE_VERTICE = 0, - PIE_POLYGON, - PIE_CONNECTOR, -}; - -static const Uint32 MAX_TEX_PAGES = 128; -static const Uint32 MAX_FILE_NAME_LENGTH = 128; -static const Uint32 MAX_PIES = 64; -static const Uint32 MAX_ANIM_FRAMES = 128; - -static const Uint32 MAX_SHARED_VERTICES = 64; - -static const float VERTICE_SELECT_RADIUS = 0.0003f; - -///Callback struct -typedef struct _pie_internal_cb { - void *pInstance; - Uint32 Id; -} PIE_INTERNAL_CB; - -typedef struct _vertice_list { - Uint16 id; - bool selected; - Vector3f vertice; - struct _pie_internal_cb callback; -} VERTICE_LIST; - -typedef struct _imd_poly_list { - Uint16 id; - bool selected; - Uint16 frame; - bool hasVBO; - Uint32 VBOId; - struct iIMDPoly polygon; - struct _pie_internal_cb callback; -} IMD_POLY_LIST; - -typedef struct _shared_vertice { - Uint16 numShared; - Uint16 shared[MAX_SHARED_VERTICES]; -} SHARED_VERTICE; - -typedef struct _connector_list { - Uint16 id; - bool selected; - Vector3f connector; - struct _pie_internal_cb callback; -} CONNECTOR_LIST; - -typedef struct _pie_frame_info { - bool died; - bool visible; - Uint32 frameId; - float offsetX; - float offsetY; - float offsetZ; - float rotateX; - float rotateY; - float rotateZ; - float scaleX; - float scaleY; - float scaleZ; - struct _pie_internal_cb callback; - char BarName[255]; - TwBar *Bar; -} PIE_FRAME_INFO; - -typedef struct _Interleaved_T2F_V3F { - Vector2f t; - Vector3f v; -} INTERLEAVED_T2F_V3F; - -///Monolithic pie monster O_O -class CPieInternal { -public: - bool died; - - // Begin of Frame - bool m_IsSub; - - bool m_Visible; - bool m_saveNow; - bool m_drawAnim; - bool m_controlSubAnim; - bool m_framesVisible; - - char m_Name[255]; - - Uint16 uid; - - float m_newVerticeX; - float m_newVerticeY; - float m_newVerticeZ; - float m_VelocityX; - float m_VelocityY; - float m_VelocityZ; - float m_duplicateX; - float m_duplicateY; - float m_duplicateZ; - - Sint32 m_TexpageId; - - ///Constructed from a imd - CPieInternal(Uint16 uid, iIMDShape *imd, const char *name, bool isSub = false, CPieInternal *parent = NULL); - - ///Newly generated CPieInteral - CPieInternal(Uint16 uid, const char *name, Sint32 textureId, bool isSub = false, CPieInternal *parent = NULL); - - ~CPieInternal(void); - - CPieInternal *getInstance(void); - void setInstance(void); - - ///Convert to iIMDShape - iIMDShape* ToIMD(void); - - bool ToFile(const char *filename, bool isOld = false); - - Uint16 findFreeSlot(Uint8 type); - bool isVerticeDuplicated(Vector3f v); - - PIE_INTERNAL_CB m_InstanceCallback; - PIE_INTERNAL_CB m_AddVerticeCB; - PIE_INTERNAL_CB m_AddConnectorCB; - - bool addVertice(Uint8 type); - - bool removeVerticeAt(Uint16 position); - - bool removeConnectorAt(Uint16 position); - - - void selectAll(void); - void unselectAll(void); - - void moveSelected(void); - void removeSelected(void); - void symmetricSelected(Uint8 Axis); - - bool duplicateSelected(void); - bool duplicatePoly(Uint16 index); - - void checkSelection(float x1, float y1, float z1, - float x2, float y2, float z2); - - VERTICE_LIST *getVertices(void); - IMD_POLY_LIST *getPolys(void); - CONNECTOR_LIST *getConnectors(void); - void setPosition(float x, float y, float z); - - void drawNewVertice(void); - void highLightVertices(void); - void highLightConnectors(void); - void highLightSelected(void); - - void buildHLCache(void); - void constructSharedVerticeList(void); - - void bindTexture(Sint32 num); - - void logic(void); - - void drawInterleaved(INTERLEAVED_T2F_V3F *a_array, Uint32 count); - void cacheVBOPoly(Uint32 count, Uint32 polyId); - void drawVBOPoly(Uint32 polyId); - void flushVBOPolys(void); - - void draw(void); - - bool addGUI(void); - void updateGUI(void); - void hideGUI(void); - void showGUI(void); - - bool addSub(const char *name); - bool addSubFromFile(const char *filename); - bool addFrame(void); - bool removeFrame(Uint16 id); - bool duplicateFrame(Uint16 id); - - Uint16 getVertCount(void) {return(m_vertCount);}; - Uint16 getConnCount(void) {return(m_connCount);}; - Uint16 getPolyCount(void) {return(m_polyCount);}; - - bool readAnimFile(const char *filename); - bool writeAnimFileTrans(const char *filename); - bool writeAnimFileFrames(const char *filename); - - void startAnim(void); - void stopAnim(void); - - enum { - ANIM3DFRAMES = 0, - ANIM3DTRANS = 1 - }; - - Uint32 m_animMode; - Uint32 m_currAnimFrame; - Uint32 m_animStartTime; - Uint32 m_numAnimFrames; - Uint32 m_frameInterval; - Uint16 m_levels; ///byte.r > (MAX_UB_LIGHT - (x))) ? ((l)->byte.r = MAX_UB_LIGHT) : ((l)->byte.r +=(x))); \ -(((l)->byte.g > (MAX_UB_LIGHT - (x))) ? ((l)->byte.g = MAX_UB_LIGHT) : ((l)->byte.g +=(x))); \ -(((l)->byte.b > (MAX_UB_LIGHT - (x))) ? ((l)->byte.b = MAX_UB_LIGHT) : ((l)->byte.b +=(x))); - -#define pie_SUBTRACTLIGHT(l,x) \ -(((l->byte.r) < (x)) ? ((l->byte.r) = MIN_UB_LIGHT) : ((l->byte.r) -=(x))); \ -(((l->byte.g) < (x)) ? ((l->byte.g) = MIN_UB_LIGHT) : ((l->byte.g) -=(x))); \ -(((l->byte.b) < (x)) ? ((l->byte.b) = MIN_UB_LIGHT) : ((l->byte.b) -=(x))); - -//************************************************************************* -// -// texture animation structures -// -//************************************************************************* -typedef struct { - int npoints; - Vector2i frame[iV_IMD_ANIM_FRAMES]; -} iTexAnimFrame; - -typedef struct { - int nFrames; - int playbackRate; - int textureWidth; - int textureHeight; -} iTexAnim; - -//************************************************************************* -// -// imd structures -// -//************************************************************************* - -/// Stores the from and to verticles from an edge -typedef struct edge_ -{ - int from, to; -} EDGE; - -typedef int VERTEXID; // Size of the entry for vertex id in the imd polygon structure - -typedef struct iIMDPoly { - Uint32 flags; - Sint32 zcentre; - int npnts; - Vector3f normal; - VERTEXID *pindex; - Vector2f *texCoord; - iTexAnim *pTexAnim; -} iIMDPoly; - -typedef struct _iIMDShape { - int texpage; - int sradius, radius, xmin, xmax, ymin, ymax, zmin, zmax; - - Vector3f ocen; - unsigned short numFrames; - unsigned short animInterval; - - unsigned int npoints; - Vector3f *points; - - unsigned int npolys; - iIMDPoly *polys; - - unsigned int nconnectors; - Vector3f *connectors; - - unsigned int nShadowEdges; - EDGE *shadowEdgeList; - - struct _iIMDShape *next; // next pie in multilevel pies (NULL for non multilevel !) -} iIMDShape; - -/***************************************************************************/ -/* - * Global Definitions (STRUCTURES) - */ -/***************************************************************************/ - -#ifdef __BIG_ENDIAN__ -typedef struct {Uint8 a, r, g, b;} PIELIGHTBYTES; //for byte fields in a DWORD -#else -typedef struct {Uint8 b, g, r, a;} PIELIGHTBYTES; //for byte fields in a DWORD -#endif -typedef union {PIELIGHTBYTES byte; Uint32 argb;} PIELIGHT; -typedef struct {Uint8 r, g, b, a;} PIEVERTLIGHT; -typedef struct {int x, y, z; unsigned int u, v; PIELIGHT light, specular;} PIEVERTEX; -typedef struct _pievertexf {float x, y, z, u, v; PIELIGHT light, specular;} PIEVERTEXF; - -typedef struct {Sint16 x, y, w, h;} PIERECT; //screen rectangle -typedef struct {Sint32 texPage; Sint16 tu, tv, tw, th;} PIEIMAGE; //an area of texture -typedef struct {Uint32 pieFlag; PIELIGHT colour, specular; Uint8 light, trans, scale, height;} PIESTYLE; //render style for pie draw functions - -typedef struct _piepoly { - Uint32 flags; - Sint32 nVrts; - PIEVERTEXF *pVrts; - iTexAnim *pTexAnim; -} PIEPOLY; - -#endif diff --git a/tools/pietoaster/pietoaster.cpp b/tools/pietoaster/pietoaster.cpp deleted file mode 100644 index 0d6cdbb7e..000000000 --- a/tools/pietoaster/pietoaster.cpp +++ /dev/null @@ -1,627 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "stdlib.h" -#include "stdio.h" -#include "string.h" - -#include "SDL.h" -#include "AntTweakBar.h" - -#include - -#include "pie_types.h" -#include "imdloader.h" -#include "resmaster.h" -#include "gui.h" - -#include "screen.h" -#include "game_io.h" - - -int main(int argc, char *argv[]) -{ - const SDL_VideoInfo* video = NULL; - bool bQuit = false; - - if( g_Screen.initialize() < 0 ) - { - fprintf(stderr, "Video initialization failed: %s\n", SDL_GetError()); - SDL_Quit(); - exit(1); - } - - video = SDL_GetVideoInfo(); - if( !video ) - { - fprintf(stderr, "Video query failed: %s\n", SDL_GetError()); - SDL_Quit(); - exit(1); - } - - SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 1); - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - - g_Screen.m_bpp = video->vfmt->BitsPerPixel; - - fprintf(stderr, "BPP %d\n", video->vfmt->BitsPerPixel); - if (g_Screen.m_bpp == 16) - { - fprintf(stderr, "WARNING:Running at 16bit expecting decreased performance\nChanging Desktop depth to 32bit may correct this problem\n"); - } - - g_Screen.m_flags = SDL_OPENGL | SDL_HWSURFACE | SDL_RESIZABLE; - g_Screen.m_width = 800; - g_Screen.m_height = 600; - g_Screen.m_useVBO = false; - - //flags |= SDL_FULLSCREEN; - if( !g_Screen.setVideoMode() ) - { - fprintf(stderr, "Video mode set failed: %s", SDL_GetError()); - SDL_Quit(); - exit(1); - } - SDL_WM_SetCaption("Pie Toaster powered by AntTweakBar+SDL", "WZ Stats Tools"); - // Enable SDL unicode and key-repeat - SDL_EnableUNICODE(1); - SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); - - // Set OpenGL viewport and states - glViewport(0, 0, g_Screen.m_width, g_Screen.m_height); - glEnable(GL_DEPTH_TEST); - glEnable(GL_TEXTURE_2D); - //glEnable(GL_LIGHTING); - //glEnable(GL_LIGHT0); // use default light diffuse and position - //glEnable(GL_NORMALIZE); - //glEnable(GL_COLOR_MATERIAL); - glDisable(GL_CULL_FACE); - //glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE); - - glShadeModel(GL_SMOOTH); - - // Initialize AntTweakBar - TwInit(TW_OPENGL, NULL); - - /// pie vertex type - TwStructMember vertice3fMembers[] = - { - { "X", TW_TYPE_FLOAT, offsetof(_vertice_list, vertice.x), "step=0.1" }, - { "Y", TW_TYPE_FLOAT, offsetof(_vertice_list, vertice.y), "step=0.1" }, - { "Z", TW_TYPE_FLOAT, offsetof(_vertice_list, vertice.z), "step=0.1" }, - { "Selected", TW_TYPE_BOOLCPP, offsetof(_vertice_list, selected), "" }, - }; - - g_tw_pieVertexType = TwDefineStruct("VerticePie", vertice3fMembers, 4, sizeof(_vertice_list), NULL, NULL); - - TwStructMember vector2fMembers[] = - { - { "X", TW_TYPE_FLOAT, offsetof(Vector2f, x), "min=0 max=4096 step=1" }, - { "Y", TW_TYPE_FLOAT, offsetof(Vector2f, y), "min=0 max=4096 step=1" }, - }; - - g_tw_pieVector2fType = TwDefineStruct("Vector2fPie", vector2fMembers, 2, sizeof(Vector2f), NULL, NULL); - - // Tell the window size to AntTweakBar - TwWindowSize(g_Screen.m_width, g_Screen.m_height); - - iIMDShape *testIMD = NULL; - - //ResMaster = new CResMaster; - - ResMaster.getOGLExtensionString(); - - - if (ResMaster.isOGLExtensionAvailable("GL_ARB_vertex_buffer_object")) - { - g_Screen.initializeVBOExtension(); - } - - ResMaster.cacheGridsVertices(); - - ResMaster.readTextureList("pages.txt"); - - ResMaster.loadTexPages(); - - ResMaster.addGUI(); - -#ifdef SDL_TTF_TEST - if (!(ResMaster.initFont() && ResMaster.loadFont("FreeMono.ttf", 12))) - { - return 1; - } -#endif - - //argc = 2; - //argv[1] = "building1b.pie"; - - if (argc < 2) - { - fprintf(stderr, "NOTE:no file specified\n"); - //ResMaster.addPie(testIMD, "newpie"); //No need to add new pie for now - } - else - { - testIMD = iV_ProcessIMD(argv[1]); - - if (testIMD == NULL) - { - fprintf(stderr, "no file specified\n creating new one...\n"); - ResMaster.addPie(testIMD, "newpie"); - } - else - { - ResMaster.addPie(testIMD, argv[1]); - } - } - - - //ResMaster.getPieAt(0)->ToFile("test13.pie"); - - OpenFileDialog.m_Up = false; - - while( !bQuit ) - { - SDL_Event event; - int handled; - - glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); - - // Set OpenGL camera - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - gluPerspective(30, (double)g_Screen.m_width/g_Screen.m_height, 1, 1000); - gluLookAt(0,0,250, 0,0,0, 0,1,0); - - //updateBars(); - - inputUpdate(); - - // Process incoming events - while( SDL_PollEvent(&event) ) - { - if (OpenFileDialog.m_Up) - { - if (event.type == SDL_KEYDOWN) - { - Uint16 key = event.key.keysym.sym; - SDLMod modifier = event.key.keysym.mod; - - if (key == SDLK_BACKSPACE) - { - OpenFileDialog.decrementChar(); - } - else if (key == SDLK_KP_ENTER || key == SDLK_RETURN) - { - OpenFileDialog.doFunction(); - OpenFileDialog.deleteTextBox(); - continue; - } - else if (key == SDLK_PAUSE || - key == SDLK_ESCAPE) - { - //cancels current action and closes text box - //OpenFileDialog.text_pointer = NULL; - OpenFileDialog.deleteTextBox(); - continue; - } - else if (key > 12 && key < 128) - { - if (modifier & KMOD_CAPS || - modifier & KMOD_LSHIFT || - modifier & KMOD_RSHIFT) - { - if (key >= 'a' && key <= 'z') - { - key = toupper(key); - } - else - { - key = shiftChar(key); - } - } - OpenFileDialog.incrementChar(key); - } - OpenFileDialog.updateTextBox(); - //interrupts input when text box is up - continue; - } - } - else if (AddSubModelDialog.m_Up) - { - if (event.type == SDL_KEYDOWN) - { - Uint16 key = event.key.keysym.sym; - SDLMod modifier = event.key.keysym.mod; - - if (key == SDLK_BACKSPACE) - { - AddSubModelDialog.decrementChar(); - } - else if (key == SDLK_KP_ENTER || key == SDLK_RETURN) - { - AddSubModelDialog.doFunction(); - AddSubModelDialog.deleteTextBox(); - continue; - } - else if (key == SDLK_PAUSE || - key == SDLK_ESCAPE) - { - //cancels current action and closes text box - //OpenFileDialog.text_pointer = NULL; - AddSubModelDialog.deleteTextBox(); - continue; - } - else if (key > 12 && key < 128) - { - if (modifier & KMOD_CAPS || - modifier & KMOD_LSHIFT || - modifier & KMOD_RSHIFT) - { - if (key >= 'a' && key <= 'z') - { - key = toupper(key); - } - else - { - key = shiftChar(key); - } - } - AddSubModelDialog.incrementChar(key); - } - AddSubModelDialog.updateTextBox(); - //interrupts input when text box is up - continue; - } - } - else if (AddSubModelFileDialog.m_Up) - { - if (event.type == SDL_KEYDOWN) - { - Uint16 key = event.key.keysym.sym; - SDLMod modifier = event.key.keysym.mod; - - if (key == SDLK_BACKSPACE) - { - AddSubModelFileDialog.decrementChar(); - } - else if (key == SDLK_KP_ENTER || key == SDLK_RETURN) - { - AddSubModelFileDialog.doFunction(); - AddSubModelFileDialog.deleteTextBox(); - continue; - } - else if (key == SDLK_PAUSE || - key == SDLK_ESCAPE) - { - //cancels current action and closes text box - //OpenFileDialog.text_pointer = NULL; - AddSubModelFileDialog.deleteTextBox(); - continue; - } - else if (key > 12 && key < 128) - { - if (modifier & KMOD_CAPS || - modifier & KMOD_LSHIFT || - modifier & KMOD_RSHIFT) - { - if (key >= 'a' && key <= 'z') - { - key = toupper(key); - } - else - { - key = shiftChar(key); - } - } - AddSubModelFileDialog.incrementChar(key); - } - AddSubModelFileDialog.updateTextBox(); - //interrupts input when text box is up - continue; - } - } - else if (ReadAnimFileDialog.m_Up) - { - if (event.type == SDL_KEYDOWN) - { - Uint16 key = event.key.keysym.sym; - SDLMod modifier = event.key.keysym.mod; - - if (key == SDLK_BACKSPACE) - { - ReadAnimFileDialog.decrementChar(); - } - else if (key == SDLK_KP_ENTER || key == SDLK_RETURN) - { - ReadAnimFileDialog.doFunction(); - ReadAnimFileDialog.deleteTextBox(); - continue; - } - else if (key == SDLK_PAUSE || - key == SDLK_ESCAPE) - { - //cancels current action and closes text box - //OpenFileDialog.text_pointer = NULL; - ReadAnimFileDialog.deleteTextBox(); - continue; - } - else if (key > 12 && key < 128) - { - if (modifier & KMOD_CAPS || - modifier & KMOD_LSHIFT || - modifier & KMOD_RSHIFT) - { - if (key >= 'a' && key <= 'z') - { - key = toupper(key); - } - else - { - key = shiftChar(key); - } - } - ReadAnimFileDialog.incrementChar(key); - } - ReadAnimFileDialog.updateTextBox(); - //interrupts input when text box is up - continue; - } - } - else if (WriteAnimFileDialog.m_Up) - { - if (event.type == SDL_KEYDOWN) - { - Uint16 key = event.key.keysym.sym; - SDLMod modifier = event.key.keysym.mod; - - if (key == SDLK_BACKSPACE) - { - WriteAnimFileDialog.decrementChar(); - } - else if (key == SDLK_KP_ENTER || key == SDLK_RETURN) - { - WriteAnimFileDialog.doFunction(); - WriteAnimFileDialog.deleteTextBox(); - continue; - } - else if (key == SDLK_PAUSE || - key == SDLK_ESCAPE) - { - //cancels current action and closes text box - //OpenFileDialog.text_pointer = NULL; - WriteAnimFileDialog.deleteTextBox(); - continue; - } - else if (key > 12 && key < 128) - { - if (modifier & KMOD_CAPS || - modifier & KMOD_LSHIFT || - modifier & KMOD_RSHIFT) - { - if (key >= 'a' && key <= 'z') - { - key = toupper(key); - } - else - { - key = shiftChar(key); - } - } - WriteAnimFileDialog.incrementChar(key); - } - WriteAnimFileDialog.updateTextBox(); - //interrupts input when text box is up - continue; - } - } - - if (event.type == SDL_KEYDOWN) - { - Uint16 key = event.key.keysym.sym; - SDLMod modifier = event.key.keysym.mod; - - if ((key == SDLK_KP_ENTER || key == SDLK_RETURN) && modifier & KMOD_LALT) - { - // Resize SDL video mode - g_Screen.m_flags ^= SDL_FULLSCREEN; - if( !g_Screen.setVideoMode() ) - fprintf(stderr, "WARNING: Video mode set failed: %s", SDL_GetError()); - - // Resize OpenGL viewport - glViewport(0, 0, g_Screen.m_width, g_Screen.m_height); - if (ResMaster.isTextureMapperUp()) - { - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(0, g_Screen.m_width, 0, g_Screen.m_height, -1, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - } - else - { - // Restore OpenGL states (SDL seems to lost them) - glEnable(GL_DEPTH_TEST); - glEnable(GL_TEXTURE_2D); - gluPerspective(30, (double)g_Screen.m_width/g_Screen.m_height, 1, 1000); - gluLookAt(0,0,250, 0,0,0, 0,1,0); - //glEnable(GL_LIGHTING); - //glEnable(GL_LIGHT0); - //glEnable(GL_NORMALIZE); - //glEnable(GL_COLOR_MATERIAL); - } - glDisable(GL_CULL_FACE); - //glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE); - - // Reloads texture and bind - ResMaster.freeTexPages(); - ResMaster.loadTexPages(); - ResMaster.cacheGridsVertices(); - - // Flush vbo id's - Uint32 index; - for (index = 0;index < ResMaster.m_pieCount;index++) - { - ResMaster.getPieAt(index)->flushVBOPolys(); - } - - SDL_Event newEvent; - newEvent.type = SDL_VIDEORESIZE; - newEvent.resize.w = g_Screen.m_width; - newEvent.resize.h = g_Screen.m_height; - SDL_PushEvent(&newEvent); - } - } - - // Send event to AntTweakBar - handled = TwEventSDL(&event); - - // If event has not been handled by AntTweakBar, process it - if( !handled ) - { - switch( event.type ) - { - case SDL_KEYUP: - case SDL_KEYDOWN: - inputKeyEvent(event.key, event.type); - break; - case SDL_MOUSEMOTION: - inputMotionMouseEvent(event.motion); - break; - case SDL_MOUSEBUTTONUP: - case SDL_MOUSEBUTTONDOWN: - inputButtonMouseEvent(event.button, event.type); - break; - case SDL_QUIT: // Window is closed - bQuit = true; - break; - case SDL_VIDEORESIZE: // Window size has changed - // Resize SDL video mode - g_Screen.m_width = event.resize.w; - g_Screen.m_height = event.resize.h; - if( !g_Screen.setVideoMode() ) - fprintf(stderr, "WARNING: Video mode set failed: %s", SDL_GetError()); - - // Resize OpenGL viewport - glViewport(0, 0, g_Screen.m_width, g_Screen.m_height); - if (ResMaster.isTextureMapperUp()) - { - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(0, g_Screen.m_width, 0, g_Screen.m_height, -1, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - } - else - { - // Restore OpenGL states (SDL seems to lost them) - glEnable(GL_DEPTH_TEST); - glEnable(GL_TEXTURE_2D); - gluPerspective(30, (double)g_Screen.m_width/g_Screen.m_height, 1, 1000); - gluLookAt(0,0,250, 0,0,0, 0,1,0); - //glEnable(GL_LIGHTING); - //glEnable(GL_LIGHT0); - //glEnable(GL_NORMALIZE); - //glEnable(GL_COLOR_MATERIAL); - } - glDisable(GL_CULL_FACE); - //glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE); - - // Reloads texture and bind - ResMaster.freeTexPages(); - ResMaster.loadTexPages(); - ResMaster.cacheGridsVertices(); - - // Flush vbo id's - Uint32 index; - for (index = 0;index < ResMaster.m_pieCount;index++) - { - ResMaster.getPieAt(index)->flushVBOPolys(); - } - - // TwWindowSize has been called by TwEventSDL, so it is not necessary to call it again here. - break; - } - } - else - { - // Resets all keys and buttons - inputInitialize(); - // Input in TwBars rebuilds vbo's - switch( event.type ) - { - case SDL_KEYUP: - case SDL_KEYDOWN: - case SDL_MOUSEMOTION: - case SDL_MOUSEBUTTONUP: - case SDL_MOUSEBUTTONDOWN: - // Flush vbo id's - Uint32 index; - for (index = 0;index < ResMaster.m_pieCount;index++) - { - CPieInternal *temp = ResMaster.getPieAt(index); - if (temp) - { - temp->flushVBOPolys(); - } - } - break; - default: - break; - } - } - } - - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - glTranslatef(0.0f,0.0f,0.0f); - - glColor4ub(255, 255, 255, 255); - - ResMaster.logic(); - ResMaster.draw(); - ResMaster.updateInput(); - - // Draw tweak bars - TwDraw(); - - // Present frame buffer - SDL_GL_SwapBuffers(); - - SDL_Delay(10); - } - - // Remove TW bars - //removeBars(); - - // Terminate AntTweakBar - TwTerminate(); - - // Terminate SDL - SDL_Quit(); - - ResMaster.~CResMaster(); - - return 1; -} diff --git a/tools/pietoaster/resmaster.cpp b/tools/pietoaster/resmaster.cpp deleted file mode 100644 index 5809dec28..000000000 --- a/tools/pietoaster/resmaster.cpp +++ /dev/null @@ -1,1401 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "resmaster.h" - -#include -#include - -#include "texture.h" - -#include "screen.h" -#include "game_io.h" -#include "config.h" - -void COpenFileDialog::doFunction() { - //Add new pie with filename - iIMDShape *openIMD = iV_ProcessIMD(m_text); - - if (openIMD != NULL) - { - ResMaster.addPie(openIMD, m_text); - } - else - { - fprintf(stderr, "Unable to find file with name:%s\n", m_text); - } - this->deleteTextBox(); - this->m_Up = false; -} - -// Resource Manager -CResMaster ResMaster; -// Open File Dialog -COpenFileDialog OpenFileDialog; - -// the dumbest shift kmod char handling function on planet earth :) -Uint16 shiftChar(Uint16 key) -{ - switch (key) - { - case '`': - key = '~'; - break; - case '1': - key = '!'; - break; - case '2': - key = '@'; - break; - case '3': - key = '!'; - break; - case '4': - key = '$'; - break; - case '5': - key = '%'; - break; - case '6': - key = '^'; - break; - case '7': - key = '&'; - break; - case '8': - key = '*'; - break; - case '9': - key = '('; - break; - case '0': - key = ')'; - break; - case '-': - key = '_'; - break; - case '[': - key = '{'; - break; - case ']': - key = '}'; - break; - case ';': - key = ';'; - break; - case '\'': - key = '\"'; - break; - case ',': - key = '<'; - break; - case '.': - key = '>'; - break; - case '/': - key = '?'; - break; - default: - break; - } - return key; -} - -///Callback to create new pie -void TW_CALL openPieCB(void *clientData) { - char *name = (char*)clientData; - - OpenFileDialog.addTextBox(name); -} - -void TW_CALL newPieCB(void *clientData) { - CPieInternal *tmpPieInternal; - Uint16 i; - char name[255]; - - for (i = 0;i < ResMaster.m_pieCount;i++) - { - tmpPieInternal = ResMaster.getPieAt(i); - if (tmpPieInternal != NULL) - { - tmpPieInternal->ToFile(tmpPieInternal->m_Name, ResMaster.m_oldFormat); - } - } - - ResMaster.m_pieCount = 0; - snprintf(name, 255, "newpoly%3u.pie", ResMaster.m_numNewPies); - ResMaster.addPie(NULL, name); - ResMaster.m_numNewPies++; -} - -///Callback to active linker -void TW_CALL activeLinkerCB(void *clientData) { - ResMaster.activeLinker(); -} - -///Callback to deactive linker -void TW_CALL deactiveLinkerCB(void *clientData) { - ResMaster.deactiveLinker(); -} - -//discards clientData -void TW_CALL savePiesCB(void *clientData) { - CPieInternal *tmpPieInternal; - Uint16 i; - - for (i = 0;i < ResMaster.m_pieCount;i++) - { - tmpPieInternal = ResMaster.getPieAt(i); - if (tmpPieInternal != NULL) - { - tmpPieInternal->ToFile(tmpPieInternal->m_Name, ResMaster.m_oldFormat); - } - } -} - -void TW_CALL mergePiesCB(void *clientData) { - ResMaster.mergePies(); -} - -void TW_CALL startMapTextureCB(void *clientData) { - ResMaster.startMapTexture(); -} - -void TW_CALL stopMapTextureCB(void *clientData) { - ResMaster.stopMapTexture(); -} - -/* Return the number of newlines in a file buffer */ -static int numCR(char *pFileBuffer, int fileSize) -{ - int lines=0; - - while (fileSize-- > 0) - { - if (*pFileBuffer++ == '\n') - { - lines++; - } - } - - return lines; -} - -CResMaster::CResMaster() { - m_oldFormat = false; - m_numExtensions = 0; - m_textureToProcess = 0; - m_pieCount = 0; - m_numNewPies = 0; - m_rotateX = 0.0f; - m_rotateY = 0.0f; - m_scale = 1.0f; - m_polygonMode = 0; - m_highLightVertices = true; - m_highLightConnectors = true; - m_highLightSelected = true; - m_drawAxis = true; - m_drawGrids = true; - m_drawTexture = true; - m_drawNewVertice = true; - m_drawTexts = true; - m_shadeMode = 0; - m_gamma = 1.0f; - m_newPieTextureId = 0; - - memset(m_Pies, 0, sizeof(CPieInternal*)*MAX_PIES); - - m_PolyLinker.m_Up = false; - m_TextureMapper.m_Up = false; -} - -CResMaster::~CResMaster() { - Uint16 i; - - for (i = 0;i < m_pieCount;i++) - { - if (m_Pies[i] != NULL) - { - delete m_Pies[i]; - m_Pies[i] = NULL; - } - } - - for (i = 0;i < m_textureToProcess;i++) - { - if (m_TexSurfaces[i]) - { - SDL_FreeSurface(m_TexSurfaces[i]); - m_TexSurfaces[i] = NULL; - } - } - - if (g_Screen.m_useVBO) - { - g_Screen.glDeleteBuffersARB(1, &m_GridVBOId); - } - - TwDeleteBar(m_utilBar); - TwDeleteBar(m_textureBar); - - this->freeTexPages(); - this->deactiveLinker(); - this->stopMapTexture(); -} - -void CResMaster::activeLinker(void) { - this->m_PolyLinker.m_Up = true; - this->m_PolyLinker.m_MakePolygon = false; - this->m_PolyLinker.m_LinkedIndex = 0; - this->m_PolyLinker.m_Target = -1; -} -void CResMaster::deactiveLinker(void) { - this->m_PolyLinker.m_Up = false; -} - -bool CResMaster::readTextureList(const char *filename) { - FILE *file; - char *buffer, *bufferTmp; - Uint32 cnt, size; - - file = fopen(filename, "rb"); - - if (file == NULL) { - fprintf(stderr, "unable to read config file %s\n", filename); - return false; - } - - buffer = (char*)malloc(1024*1024); - bufferTmp = buffer; - size = fread(buffer, 1, 1024*1024, file); - - size = numCR(buffer, size); - - while (m_textureToProcess < size) - { - sscanf(buffer, "%s%n", m_TexPageNames[m_textureToProcess], &cnt); - buffer += cnt; - //process every white space in filename manually - while (*buffer == ' ') - { - m_TexPageNames[m_textureToProcess][cnt] = ' '; - sscanf(buffer, "%s%n", &m_TexPageNames[m_textureToProcess][cnt + 1], &cnt); - buffer += cnt; - } - // Increment number of texture to process - m_textureToProcess++; - buffer = strchr(buffer, '\n') + 1; - } - - free(bufferTmp); - - return true; -} - -///Load texture from files and upload the loaded bmp to opengl -bool CResMaster::loadTexPages(void) { - iV_Image *tmpImage; - Uint32 i; - static bool bReload = false; - - tmpImage = (iV_Image*)malloc(sizeof(iV_Image)); - - if (!bReload) - { - for (i = 0;i < m_textureToProcess;i++) - { - SDL_Surface *surface = IMG_Load(m_TexPageNames[i]); - - if (surface == NULL) - { - printf("%s: %s\n", IMG_GetError(),m_TexPageNames[i]); - fprintf(stderr, "warning; failed to load file %s id %d\n", m_TexPageNames[i], i); - i++; - continue; - } - - //Copy bmp info from surface - tmpImage->width = surface->w; - tmpImage->height = surface->h; - tmpImage->depth = surface->format->BytesPerPixel; - tmpImage->bmp = (unsigned char*)surface->pixels; - - pie_AddTexPage(tmpImage, m_TexPageNames[i], i); - - _TEX_PAGE[i].w = tmpImage->width; - _TEX_PAGE[i].h = tmpImage->height; - - //Copy it to system memory - m_TexSurfaces[i] = surface; - } - bReload = true; - } - else - { - for (i = 0;i < m_textureToProcess;i++) - { - SDL_Surface *surface = m_TexSurfaces[i]; - - if (surface == NULL) - { - fprintf(stderr, "warning; failed to locate surface in syste memory slot %d\n", i); - i++; - continue; - } - - //Copy bmp info from surface - tmpImage->width = surface->w; - tmpImage->height = surface->h; - tmpImage->depth = surface->format->BytesPerPixel; - tmpImage->bmp = (unsigned char*)surface->pixels; - - pie_AddTexPage(tmpImage, m_TexPageNames[i], i); - - _TEX_PAGE[i].w = tmpImage->width; - _TEX_PAGE[i].h = tmpImage->height; - } - } - free(tmpImage); - return true; -} - -bool CResMaster::freeTexPages(void) { - Uint32 i; - - for (i = 0;i < m_textureToProcess;i++) - { - glDeleteTextures(1, &_TEX_PAGE[i].id); - } - return true; -} - -void CResMaster::enableTexture(bool value) { - if (value) - { - glEnable(GL_TEXTURE_2D); - } - else - { - glDisable(GL_TEXTURE_2D); - } - m_drawTexture = value; -} - -bool CResMaster::addPie(iIMDShape *imd, const char *name) { - if (imd) - { - m_Pies[m_pieCount] = new CPieInternal(m_pieCount, imd, name); - } - else - { - m_Pies[m_pieCount] = new CPieInternal(m_pieCount, name, m_newPieTextureId); - } - - if (m_Pies[m_pieCount] != NULL) - { - m_pieCount++; - return true; - } - - return false; -} - -bool CResMaster::removePieAt(Uint16 i) { - if (m_Pies[i]) - { - delete m_Pies[i]; - m_Pies[i] = NULL; - } - fprintf(stderr, "Pie with id %d doesn't exist\n", i); - return false; -} - -CPieInternal* CResMaster::getPieAt(Uint16 i) { - return m_Pies[i]; -} - -bool CResMaster::addGUI(void) { - char defineString[255]; - snprintf(defineString, 255, "utilBar position = '0 0' color = '%d %d %d %d' size = '%d %d'", - guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - m_utilBar = TwNewBar("utilBar"); - TwDefine(defineString); - - if (g_Screen.m_useVBO) - { - TwAddVarRW(m_utilBar, "useVBO", TW_TYPE_BOOLCPP, &g_Screen.m_useVBO, "label = 'Use VBO' group = 'VBO'"); - } - - TwAddButton(m_utilBar, "new pie", newPieCB, NULL, "label = 'New Pie' group = 'File'"); - TwAddButton(m_utilBar, "open file", openPieCB, (void*)"OpenPie", "label = 'Open File' group = 'File'"); - TwAddVarRW(m_utilBar, "save int pie", TW_TYPE_BOOLCPP, &m_oldFormat, "label = 'Save Integer Pie' group = 'File'"); - TwAddButton(m_utilBar, "save to file", savePiesCB, NULL, "label = 'Save All' group = 'File'"); - TwAddButton(m_utilBar, "merge pie", mergePiesCB, NULL, "label = 'Merge All' group = 'File'"); - - TwAddButton(m_utilBar, "texturemapper start", startMapTextureCB, NULL, "label = 'Map Texture' group = 'Texture Mapper'"); - TwAddButton(m_utilBar, "texturemapper stop", stopMapTextureCB, NULL, "label = 'Stop Map Texture' group = 'Texture Mapper'"); - - TwAddButton(m_utilBar, "polylinker start", activeLinkerCB, NULL, "label = 'Link Polygon' group = 'Link Polygon'"); - TwAddButton(m_utilBar, "polylinker stop", deactiveLinkerCB, NULL, "label = 'Stop Link Polygon' group = 'Link Polygon'"); - - TwAddVarRW(m_utilBar, "polygon mode", TW_TYPE_UINT32, &m_polygonMode, "label = 'Polygon Mode' min=0 max=2 step=1 group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "shade mode", TW_TYPE_UINT32, &m_shadeMode, "label = 'Shade Mode' min=0 max=1 step=1 group = 'Visual Options'"); - - TwAddVarRW(m_utilBar, "draw axis", TW_TYPE_BOOLCPP, &m_drawAxis, "label = 'Draw Axis' group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "draw grids", TW_TYPE_BOOLCPP, &m_drawGrids, "label = 'Draw Grids' group = 'Visual Options'"); - //TwAddVarRW(m_utilBar, "draw texts", TW_TYPE_BOOLCPP, &m_drawTexts, "label = 'Draw Texts' group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "draw texture", TW_TYPE_BOOLCPP, &m_drawTexture, "label = 'Draw Texture' group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "draw newvertice", TW_TYPE_BOOLCPP, &m_drawNewVertice, "label = 'Draw New Vertice' group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "hl selected", TW_TYPE_BOOLCPP, &m_highLightSelected, "label = 'HL Selected' group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "hl vertices", TW_TYPE_BOOLCPP, &m_highLightVertices, "label = 'HL Vertices' group = 'Visual Options'"); - TwAddVarRW(m_utilBar, "hl connectors", TW_TYPE_BOOLCPP, &m_highLightConnectors, "label = 'HL Connectors' group = 'Visual Options'"); - - - m_textureBar = TwNewBar("textureBar"); - char defineString2[255]; - snprintf(defineString2, 255, "textureBar position = '%d %d' color = '%d %d %d %d' size = '%d %d'", - g_Screen.m_width/2 - 150, g_Screen.m_height, - guiMajorAlpha, guiMajorRed, guiMajorGreen, guiMajorBlue, guiMajorWidth, guiMajorHeight); - - TwDefine(defineString2); - - Uint32 i; - for (i = 0;i < m_textureToProcess;i++) - { - char tmpName[255]; - char tmpName2[255]; - snprintf(tmpName, 255, "pageId%d", i); - snprintf(tmpName2, 255, "pageName%d", i); - TwAddVarRO(m_textureBar, tmpName, TW_TYPE_UINT32, &_TEX_PAGE[i].id, "label = 'Page Id'"); - TwAddVarRO(m_textureBar, tmpName2, TW_TYPE_CSSTRING(iV_TEXNAME_MAX), &_TEX_PAGE[i].name, "label = 'Page Name'"); - } - return true; -} - -void CResMaster::logic(void) { - Uint32 i; - - if (this->m_pieCount) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - CPieInternal *base = this->m_Pies[i]; - while (base) - { - CPieInternal *temp = base->m_nextSub; - if (temp && temp->died) - { - CPieInternal *newNext; - newNext = temp->m_nextSub; - delete temp; - temp = NULL; - base->m_nextSub = newNext; - } - base = base->m_nextSub; - } - - if (this->m_Pies[i]->died) - { - delete this->m_Pies[i]; - this->m_Pies[i] = NULL; - continue; - } - - if (this->m_Pies[i]->m_saveNow) - { - this->m_Pies[i]->ToFile(this->m_Pies[i]->m_Name, this->m_oldFormat); - this->m_Pies[i]->m_saveNow = false; - } - } - } - } -} - -void CResMaster::draw(void) { - Uint32 i; - - if (this->m_TextureMapper.m_Up) - { - if (m_polygonMode != FILL) - { - m_polygonMode = FILL; - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } - this->m_TextureMapper.draw(); - return; - } - - if (m_polygonMode == FILL) - { - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } - else if (m_polygonMode == LINE) - { - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - } - else if (m_polygonMode == POINT) - { - glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); - } - - if (m_shadeMode == SMOOTH) - { - glShadeModel(GL_SMOOTH); - } - else if (m_polygonMode == FLAT) - { - glShadeModel(GL_FLAT); - } - - glRotatef(m_rotateX, 1.0f, 0.0f, 0.0f); - glRotatef(m_rotateY, 0.0f, 1.0f, 0.0f); - - glScalef(m_scale, m_scale, m_scale); - - if (m_drawGrids) - { - this->drawGrids(); - } - - if (m_drawAxis) - { - this->drawAxis(); - } - - if (m_polygonMode == LINE || !m_drawTexture) - { - this->enableTexture(false); - } - else - { - this->enableTexture(true); - } - - if (m_pieCount == 0) - { - return; - } - - if (m_highLightVertices && m_highLightConnectors && m_highLightSelected) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->logic(); - this->m_Pies[i]->draw(); - this->m_Pies[i]->highLightVertices(); - this->m_Pies[i]->highLightConnectors(); - this->m_Pies[i]->highLightSelected(); - } - } - } - } - else if (m_highLightVertices && m_highLightConnectors) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->logic(); - this->m_Pies[i]->draw(); - this->m_Pies[i]->highLightVertices(); - this->m_Pies[i]->highLightConnectors(); - } - } - } - else if (m_highLightVertices) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->logic(); - this->m_Pies[i]->draw(); - this->m_Pies[i]->highLightVertices(); - } - } - } - else if (m_highLightConnectors) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->logic(); - this->m_Pies[i]->draw(); - this->m_Pies[i]->highLightConnectors(); - } - } - } - else - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->logic(); - this->m_Pies[i]->draw(); - } - } - } - - if (m_drawNewVertice) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->drawNewVertice(); - } - } - } - - if (m_drawTexts) - { - this->drawTexts(); - } - - if (this->m_PolyLinker.m_Up && this->m_PolyLinker.m_Target >= 0) - { - this->m_PolyLinker.draw(this->m_Pies[this->m_PolyLinker.getTarget()]); - } -} - -void CResMaster::drawAxis(void) { - static const float xFar = 1999.0f, yFar = 1999.0f, zFar = 1999.0f; - static const float xNear = -1999.0f, yNear = -1999.0f, zNear = -1999.0f; - - if (m_drawTexture) - { - glDisable(GL_TEXTURE_2D); - } - - glDisable(GL_DEPTH_TEST); - - glTranslatef(0.0f, 0.0f, 0.0f); - glBegin(GL_LINES); - - glColor4ub(0, 128, 0, 255); - glVertex3f(xFar, 0.0f, 0.0f); - glVertex3f(xNear, 0.0f, 0.0f); - - glColor4ub(128, 0, 0, 255); - glVertex3f(0.0f, yFar, 0.0f); - glVertex3f(0.0f, yNear, 0.0f); - - glColor4ub(0, 0, 128, 255); - glVertex3f(0.0f, 0.0f, zFar); - glVertex3f(0.0f, 0.0f, zNear); - glEnd(); - - glColor4ub(255, 255, 255, 255); - - glEnable(GL_DEPTH_TEST); - - if (m_drawTexture) - { - glEnable(GL_TEXTURE_2D); - } -} - -///Caches (1920/32)^2 grid quads into array -void CResMaster::cacheGridsVertices(void) { - float x, z; - Sint32 index = -1; - static const float xMax = 1920.0f, zMax = 1920.0f; - static const float xMin = -1920.0f, zMin = -1920.0f; - static bool bRecache = false; - - if (!bRecache) - { - m_GridCacheCount = 0; - for (z = zMin;z < zMax;z += 32.0f) - { - for (x= xMin;x < xMax;x += 32.0f) - { - ++index; - m_GridCacheVertices[index].x = x; - m_GridCacheVertices[index].y = 0.0f; - m_GridCacheVertices[index].z = z; - - ++index; - m_GridCacheVertices[index].x = x; - m_GridCacheVertices[index].y = 0.0f; - m_GridCacheVertices[index].z = z + 32.0f; - - ++index; - m_GridCacheVertices[index].x = x + 32.0f; - m_GridCacheVertices[index].y = 0.0f; - m_GridCacheVertices[index].z = z + 32.0f; - - ++index; - m_GridCacheVertices[index].x = x + 32.0f; - m_GridCacheVertices[index].y = 0.0f; - m_GridCacheVertices[index].z = z; - m_GridCacheCount++; - } - } - bRecache = true; - } - - if (g_Screen.m_useVBO) - { - g_Screen.glGenBuffersARB(1, &m_GridVBOId); - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_GridVBOId); - g_Screen.glBufferDataARB(GL_ARRAY_BUFFER_ARB, m_GridCacheCount * 4 * sizeof(Vector3f), m_GridCacheVertices, GL_STATIC_DRAW_ARB); - Sint32 allocated; - g_Screen.glGetBufferParameterivARB( GL_ARRAY_BUFFER_ARB, GL_BUFFER_SIZE_ARB, &allocated ); - if (allocated) - { - fprintf(stderr, "Allocated bytes in VBO %d: %d\n", m_GridVBOId, allocated); - } - } - -} - -void CResMaster::drawGrids(void) { - glDisable(GL_DEPTH_TEST); - - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - - glColor4ub(0, 0, 128, 255); - - if (m_drawTexture) - { - glDisable(GL_TEXTURE_2D); - } - - glEnableClientState(GL_VERTEX_ARRAY); - if (g_Screen.m_useVBO) - { - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_GridVBOId); - glVertexPointer(3, GL_FLOAT, 0, (char*)0); - glDrawArrays(GL_QUADS, 0, m_GridCacheCount * 4); - g_Screen.glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); - } - else - { - glVertexPointer(3, GL_FLOAT, 0, m_GridCacheVertices); - glDrawArrays(GL_QUADS, 0, m_GridCacheCount * 4); - } - - glDisableClientState(GL_VERTEX_ARRAY); - - glColor4ub(255, 255, 255, 255); - - // 128*128 one grid marker - glColor4ub(128, 0, 0, 255); - - glBegin(GL_QUADS); - glVertex3f(-64.0f, 0.0f, -64.0f); - glVertex3f(-64.0f, 0.0f, 64.0f); - glVertex3f(64.0f, 0.0f, 64.0f); - glVertex3f(64.0f, 0.0f, -64.0f); - glEnd(); - - glColor4ub(255, 255, 255, 255); - - if (m_polygonMode == FILL) - { - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } - else if (m_polygonMode == LINE) - { - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - } - else if (m_polygonMode == POINT) - { - glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); - } - - if (m_drawTexture) - { - glEnable(GL_TEXTURE_2D); - } - - glEnable(GL_DEPTH_TEST); - -#if 0 - static const int xMax = 2560, zMax = 2560; - static const int xMin = -2560, zMin = -2560; - static bool bDList = false; - static GLuint list; - - float x, z; - - if (bDList) - { - glCallList(list); - } - else - { - list = glGenLists(1); - glNewList(list, GL_COMPILE); - glDisable(GL_DEPTH_TEST); - - glTranslatef(0.0f, 0.0f, 0.0f); - - glColor4ub(255, 255, 64, 255); - for (z = zMin;z < zMax;z += 32) - { - for (x= xMin;x < xMax;x += 32) - { - glBegin(GL_LINE_LOOP); - glVertex3f(x, 0.0f, z); - glVertex3f(x, 0.0f, z + 32); - glVertex3f(x + 32, 0.0f, z + 32); - glVertex3f(x + 32, 0.0f, z); - glEnd(); - } - } - - // 128*128 one grid marker - glColor4ub(64, 255, 255, 255); - - glBegin(GL_LINE_LOOP); - glVertex3f(-64.0f, 0.0f, -64.0f); - glVertex3f(-64.0f, 0.0f, 64.0f); - glVertex3f(64.0f, 0.0f, 64.0f); - glVertex3f(64.0f, 0.0f, -64.0f); - glEnd(); - - glColor4ub(255, 255, 255, 255); - - glEnable(GL_DEPTH_TEST); - glEndList(); - - glCallList(list); - bDList = true; - } -#endif -} - -void CResMaster::drawTexts(void) { - Uint16 i, j; - - for (i = 0;i < m_pieCount;i++) - { - if (m_Pies[i]) - { - for (j = 0;j < m_Pies[i]->m_polyCount;j++) - { - if (m_Pies[i]->m_Polygons[j] && m_Pies[i]->m_Polygons[j]->selected) - { - char text[255]; - SDL_Color color; - Uint8 style = 1; - - color.r = 0; - color.g = 0; - color.b = 128; - - snprintf(text, 255, "Poly:%d", m_Pies[i]->m_Polygons[j]->id); - - this->drawText(text, m_Pies[i]->m_Polygons[j]->polygon.normal.x, - m_Pies[i]->m_Polygons[j]->polygon.normal.y, - m_Pies[i]->m_Polygons[j]->polygon.normal.z, - color, style); - } - } - - for (j = 0;j < m_Pies[i]->m_vertCount;j++) - { - if (m_Pies[i]->m_Vertices[j] && m_Pies[i]->m_Vertices[j]->selected) - { - char text[255]; - SDL_Color color; - Uint8 style = 1; - - color.r = 0; - color.g = 128; - color.b = 128; - - snprintf(text, 255, "V%d", m_Pies[i]->m_Vertices[j]->id); - - this->drawText(text, m_Pies[i]->m_Vertices[j]->vertice.x, - m_Pies[i]->m_Vertices[j]->vertice.y, - m_Pies[i]->m_Vertices[j]->vertice.z, - color, style); - } - } - - for (j = 0;j < m_Pies[i]->m_connCount;j++) - { - if (m_Pies[i]->m_Connectors[j] && m_Pies[i]->m_Connectors[j]->selected) - { - char text[255]; - SDL_Color color; - Uint8 style = 1; - - color.r = 0; - color.g = 128; - color.b = 0; - - snprintf(text, 255, "V%d", m_Pies[i]->m_Connectors[j]->id); - - this->drawText(text, m_Pies[i]->m_Connectors[j]->connector.x, - m_Pies[i]->m_Connectors[j]->connector.y, - m_Pies[i]->m_Connectors[j]->connector.z, - color, style); - } - } - } - } -} - -#ifdef SDL_TTF_TEST -bool CResMaster::initFont(void) { - if (TTF_Init() >= 0) - { - return true; - } - fprintf(stderr, "error initializing SDL_ttf\n"); - return false; -} - -bool CResMaster::loadFont(const char *name, Uint8 size) { - if (m_Font = TTF_OpenFont(name, size)) - { - return true; - } - fprintf(stderr, "error opening font file %s fontsize %d\n", name, size); - return false; -} -#endif - -void CResMaster::drawText(const char *text, float objX, float objY, float objZ, SDL_Color color, Uint8 style) { - GLdouble screenX, screenY, screenZ; - GLint viewport[4]; - GLdouble modelview[16]; - GLdouble projection[16]; - - glGetDoublev( GL_MODELVIEW_MATRIX, modelview ); - glGetDoublev( GL_PROJECTION_MATRIX, projection ); - glGetIntegerv( GL_VIEWPORT, viewport ); - - gluProject(objX, objY, objZ, modelview, projection, viewport, &screenX, &screenY, &screenZ); - - glDisable(GL_TEXTURE_2D); - glColor3fv((GLfloat*)&color); - //glMatrixMode(GL_PROJECTION); - //glPushMatrix(); - //glLoadIdentity(); - //glTranslatef(0.0f, 0.0f, 0.0f); - //glOrtho(0, g_Screen.m_width, 0, g_Screen.m_height, -1, 1); - - glEnable(GL_TEXTURE_2D); - //glPopMatrix(); - glColor4ub(255, 255, 255, 255); - -#ifdef SDL_TTF_TEST - SDL_Surface *textSurface; - - textSurface = TTF_RenderText_Solid( m_Font, text, color); - - //glRasterPos2d(screenX, screenY); - //glDrawPixels(textSurface->w, textSurface->h, GL_LUMINANCE, GL_UNSIGNED_BYTE, textSurface->pixels); - - SDL_Rect srcrect, dstrect; - - srcrect.x = 0; - srcrect.y = 0; - srcrect.w = textSurface->w; - srcrect.h = textSurface->h; - - dstrect.x = (Sint16)screenX; - dstrect.y = (Sint16)screenY; - dstrect.w = textSurface->w; - dstrect.h = textSurface->h; - - if (SDL_BlitSurface(textSurface, &srcrect, g_Screen.m_Surface, &dstrect)) - { - fprintf(stderr, "SDLBlit failed: %s\n", SDL_GetError()); - } - - srcrect.x = 0; - srcrect.y = 0; - srcrect.w = 333; - srcrect.h = 333; - - dstrect.x = 222; - dstrect.y = 222; - dstrect.w = 333; - dstrect.h = 333; - - SDL_FillRect(g_Screen.m_Surface, &dstrect, 0x33445566); -#endif -} - -/** -* Gets 2 points(near and far) to do raycast -**/ -void CResMaster::unprojectMouseXY(double *newX1, double *newY1, double *newZ1, - double *newX2, double *newY2, double *newZ2) { - GLint viewport[4]; - GLdouble modelview[16]; - GLdouble projection[16]; - GLfloat screenX, screenY; - - glGetDoublev( GL_MODELVIEW_MATRIX, modelview ); - glGetDoublev( GL_PROJECTION_MATRIX, projection ); - glGetIntegerv( GL_VIEWPORT, viewport ); - - screenX = (float)MouseX; - screenY = (float)viewport[3] - (float)MouseY; - - gluUnProject( screenX, screenY, 0.0f, modelview, projection, viewport, (GLdouble*)newX1, (GLdouble*)newY1, (GLdouble*)newZ1); - gluUnProject( screenX, screenY, 1.0f, modelview, projection, viewport, (GLdouble*)newX2, (GLdouble*)newY2, (GLdouble*)newZ2); -} - -///updates ResMaster input -void CResMaster::updateInput(void) { - if (this->m_TextureMapper.m_Up) - { - //Ignores input when texture mapper is up - return; - } - - //hold mouse middle button to scale model - if (isMouseButtonHold(2)) - { - if (MouseMoveY > 0) - { - if (m_scale < 3.0f) - { - m_scale += 0.01f; - } - } - - if (MouseMoveY < 0) - { - if (m_scale > 0.05f) - { - m_scale -= 0.01f; - } - } - } - - //hold right mouse button to rotate model - if (isMouseButtonHold(3)) - { - if (MouseMoveY > 0) - { - m_rotateX += (0.1f * MouseMoveY); - if (m_rotateX >= 360.0f) - { - m_rotateX -= 360.0f; - } - } - else if (MouseMoveY < 0) - { - m_rotateX += (0.1f * MouseMoveY); - if (m_rotateX <= -360.0f) - { - m_rotateX += 360.0f; - } - } - - if (MouseMoveX > 0) - { - m_rotateY += (0.1f * MouseMoveX); - if (m_rotateY >= 360.0f) - { - m_rotateY -= 360.0f; - } - } - else if (MouseMoveX < 0) - { - m_rotateY += (0.1f * MouseMoveX); - if (m_rotateY <= -360.0f) - { - m_rotateY += 360.0f; - } - } - } - - if (this->m_PolyLinker.isUp()) - { - if (this->m_PolyLinker.m_MakePolygon) - { - this->m_PolyLinker.makePolygon(this->m_Pies[this->m_PolyLinker.getTarget()]); - this->m_PolyLinker.m_Up = false; - this->m_Pies[this->m_PolyLinker.getTarget()]->updateGUI(); - return; - } - } - - - // Checks vertice selection upon left-click event - if (isMouseButtonDown(1)) - { - double x1, y1, z1, x2, y2, z2; - Uint32 i, j; - - this->unprojectMouseXY(&x1, &y1, &z1, &x2, &y2, &z2); - - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - this->m_Pies[i]->checkSelection((float)x1, (float)y1, (float)z1, - (float)x2, (float)y2, (float)z2); - } - } - - if (this->m_PolyLinker.isUp()) - { - if (this->m_PolyLinker.m_Target < 0) - { - for (i = 0;i < m_pieCount;i++) - { - if (this->m_Pies[i]) - { - for (j = 0;j < this->m_Pies[i]->m_vertCount;j++) - { - if (this->m_Pies[i]->m_Vertices[j] && - this->m_Pies[i]->m_Vertices[j]->selected) - { - this->m_Pies[i]->m_Vertices[j]->selected = false; - this->m_PolyLinker.setTarget(i); - this->m_PolyLinker.Link(j); - break; - } - } - } - } - } - else - { - for (i = 0;i < this->m_Pies[this->m_PolyLinker.getTarget()]->m_vertCount;i++) - { - if (this->m_Pies[this->m_PolyLinker.getTarget()]->m_Vertices[i] && - this->m_Pies[this->m_PolyLinker.getTarget()]->m_Vertices[i]->selected) - { - this->m_Pies[this->m_PolyLinker.getTarget()]->m_Vertices[i]->selected = false; - this->m_PolyLinker.Link(i); - break; - } - } - } - } - } -} - -void CResMaster::startMapTexture(void) { - Uint16 i, j; - - for (i = 0;i < this->m_pieCount;i++) - { - if (this->m_Pies[i]) - { - CPieInternal *temp = this->m_Pies[i]; - while (temp) - { - temp->hideGUI(); - for (j = 0;j < temp->getPolyCount();j++) - { - if (temp->m_Polygons[j] && - temp->m_Polygons[j]->selected) - { - //TODO:fix 512,512 - this->m_TextureMapper.addTargets(512, 512, temp->m_TexpageId, &temp->m_Polygons[j]->polygon, 1); - break; - } - } - temp = temp->m_nextSub; - } - } - } -} - -void CResMaster::stopMapTexture(void) { - Uint16 i; - - this->m_TextureMapper.removeTargets(); - - for (i = 0;i < this->m_pieCount;i++) - { - if (this->m_Pies[i]) - { - CPieInternal *temp = this->m_Pies[i]; - while (temp) - { - temp->showGUI(); - temp = temp->m_nextSub; - } - } - } -} - -void CResMaster::mergePies(void) { - Uint16 i, j, k; - Uint32 totalVertices = 0, totalConnectors = 0, totalPolygons = 0; - - //Always use page 0 texture name - this->m_MergedPie = new CPieInternal(0xFFFF, "merged.pie", 0) ; - - for (i = 0;i < this->m_pieCount;i++) - { - if (this->m_Pies[i]) - { - if (totalVertices > pie_MAX_VERTICES) - { - fprintf(stderr, "exceeded max vertices when merging pies aborting...\n"); - return; - } - if (totalPolygons > pie_MAX_POLYGONS) - { - fprintf(stderr, "exceeded max polygons when merging pies aborting...\n"); - return; - } - - for (j = 0;j < this->m_Pies[i]->m_polyCount;j++) - { - if (this->m_Pies[i]->m_Polygons[j]) - { - this->m_MergedPie->m_Polygons[totalPolygons] = (IMD_POLY_LIST*)malloc(sizeof(IMD_POLY_LIST)); - memset(&this->m_MergedPie->m_Polygons[totalPolygons]->polygon, 0, sizeof(iIMDPoly)); - - if (this->m_Pies[i]->m_Polygons[j]->polygon.pTexAnim != NULL) - { - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.pTexAnim = (iTexAnim*)malloc(sizeof(iTexAnim)); - memcpy(this->m_MergedPie->m_Polygons[totalPolygons]->polygon.pTexAnim, this->m_Pies[i]->m_Polygons[j]->polygon.pTexAnim, sizeof(iTexAnim)); - } - else - { - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.pTexAnim = NULL; - } - - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.texCoord = (Vector2f*)malloc(sizeof(Vector2f) * pie_MAX_VERTICES_PER_POLYGON); - - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.pindex = (VERTEXID*)malloc(sizeof(VERTEXID) * pie_MAX_VERTICES_PER_POLYGON); - - for (k = 0; - k < this->m_Pies[i]->m_Polygons[j]->polygon.npnts; - k++) - { - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.pindex[k] = totalVertices + this->m_Pies[i]->m_Polygons[j]->polygon.pindex[k]; - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.texCoord[k].x = this->m_Pies[i]->m_Polygons[j]->polygon.texCoord[k].x; - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.texCoord[k].y = this->m_Pies[i]->m_Polygons[j]->polygon.texCoord[k].y; - } - - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.normal = this->m_Pies[i]->m_Polygons[j]->polygon.normal; - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.npnts = this->m_Pies[i]->m_Polygons[j]->polygon.npnts; - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.zcentre = this->m_Pies[i]->m_Polygons[j]->polygon.zcentre; - this->m_MergedPie->m_Polygons[totalPolygons]->polygon.flags = this->m_Pies[i]->m_Polygons[j]->polygon.flags; - this->m_MergedPie->m_Polygons[totalPolygons]->id = totalPolygons; - this->m_MergedPie->m_Polygons[totalPolygons]->selected = false; - this->m_MergedPie->m_Polygons[totalPolygons]->hasVBO = this->m_Pies[i]->m_Polygons[j]->hasVBO; - this->m_MergedPie->m_Polygons[totalPolygons]->VBOId = this->m_Pies[i]->m_Polygons[j]->VBOId; - } - totalPolygons++; - } - - for (j = 0;j < this->m_Pies[i]->m_vertCount;j++) - { - if (this->m_Pies[i]->m_Vertices[j]) - { - this->m_MergedPie->m_Vertices[totalVertices] = (VERTICE_LIST*)malloc(sizeof(VERTICE_LIST)); - this->m_MergedPie->m_Vertices[totalVertices]->vertice.x = this->m_Pies[i]->m_Vertices[j]->vertice.x; - this->m_MergedPie->m_Vertices[totalVertices]->vertice.y = this->m_Pies[i]->m_Vertices[j]->vertice.y; - this->m_MergedPie->m_Vertices[totalVertices]->vertice.z = this->m_Pies[i]->m_Vertices[j]->vertice.z; - this->m_MergedPie->m_Vertices[totalVertices]->id = totalVertices; - } - totalVertices++; - } - - for (j = 0;j < this->m_Pies[i]->m_connCount;j++) - { - if (this->m_Pies[i]->m_Connectors[j]) - { - this->m_MergedPie->m_Connectors[totalConnectors] = (CONNECTOR_LIST*)malloc(sizeof(CONNECTOR_LIST)); - this->m_MergedPie->m_Connectors[totalConnectors]->connector.x = this->m_Pies[i]->m_Connectors[j]->connector.x; - this->m_MergedPie->m_Connectors[totalConnectors]->connector.y = this->m_Pies[i]->m_Connectors[j]->connector.y; - this->m_MergedPie->m_Connectors[totalConnectors]->connector.z = this->m_Pies[i]->m_Connectors[j]->connector.z; - this->m_MergedPie->m_Connectors[totalConnectors]->id = totalConnectors; - } - totalConnectors++; - } - - //memcpy(&this->m_MergedPie->m_Vertices[totalVertices], &this->m_Pies[i]->m_Vertices[0], sizeof(VERTICE_LIST)*this->m_Pies[i]->m_vertCount); - //memcpy(&this->m_MergedPie->m_Connectors[totalConnectors], &this->m_Pies[i]->m_Vertices[0], sizeof(VERTICE_LIST)*this->m_Pies[i]->m_connCount); - //memcpy(&this->m_MergedPie->m_Polygons[totalPolygons], &this->m_Pies[i]->m_Vertices[0], sizeof(VERTICE_LIST)*this->m_Pies[i]->m_polyCount); - - //totalVertices += this->m_Pies[i]->m_vertCount; - //totalConnectors += this->m_Pies[i]->m_connCount; - //totalPolygons += this->m_Pies[i]->m_polyCount; - } - } - - this->m_MergedPie->m_vertCount = totalVertices; - this->m_MergedPie->m_connCount = totalConnectors; - this->m_MergedPie->m_polyCount = totalPolygons; - - this->m_MergedPie->ToFile("merged.pie", this->m_oldFormat); - delete this->m_MergedPie; - this->m_MergedPie = NULL; -} - -void CResMaster::getOGLExtensionString(void) { - Uint32 num = 0, read = 0, extLength, length; - - const char *extensions = (const char*)glGetString(GL_EXTENSIONS); - - length = strlen(extensions); - - while (read < length) - { - sscanf(&extensions[read], "%[^' ']%n", m_oglExtensions[num].string, &extLength); - read += extLength + 1; - num++; - } - m_numExtensions = num; - -#if 0 - FILE *file = fopen("openglEXTS.txt", "w+"); - - fprintf(file, "Supported Opengl Extensions:\n"); - fprintf(file, "Number extensions: %d\n", num); - - for (num = 0;num < m_numExtensions;num++) - { - fprintf(file, "%s\n", m_oglExtensions[num].string); - } - fclose(file); -#endif -} - -bool CResMaster::isOGLExtensionAvailable(const char* extension) { - Uint32 i; - - for (i = 0;i < m_numExtensions;i++) - { - if (!strncmp(m_oglExtensions[i].string, extension, 255)) - { - return true; - } - } - return false; -} diff --git a/tools/pietoaster/resmaster.h b/tools/pietoaster/resmaster.h deleted file mode 100644 index f7cf89bc6..000000000 --- a/tools/pietoaster/resmaster.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _resmaster_h -#define _resmaster_h - -#include - -#include "wzglobal.h" -#include "pie_types.h" - -#include "imdloader.h" -#include "texture.h" - -#include "pie_internal.h" - -#include "texture_mapper.h" - -#include "AntTweakBar.h" - -extern Uint16 shiftChar(Uint16 key); - -typedef struct _ogl_extension_string { - char string[255]; -} OGL_EXTENSION_STRING; - -class CResMaster { -public: - enum { - FILL = 0, - LINE = 1, - POINT = 2, - SMOOTH = 0, - FLAT = 1 - }; - - static const Uint32 MAX_GL_EXTENSIONS = 500; - - OGL_EXTENSION_STRING m_oglExtensions[MAX_GL_EXTENSIONS]; - Uint32 m_numExtensions; - - Uint32 m_textureToProcess; - Uint32 m_pieCount; - Uint32 m_numNewPies; - - float m_rotateX; ///. - */ -#include "screen.h" - -CScreen g_Screen; - -/* -PFNGLGENBUFFERSARBPROC glGenBuffersARB; -PFNGLBINDBUFFERARBPROC glBindBufferARB; -PFNGLBUFFERDATAARBPROC glBufferDataARB; -PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB; -PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB; -PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB; -PFNGLMAPBUFFERARBPROC glMapBufferARB; -PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB; -*/ - -int CScreen::initialize(void) { - return (SDL_Init(SDL_INIT_VIDEO)); -} - -bool CScreen::setVideoMode(void) { - if (m_Surface) - { - SDL_FreeSurface(m_Surface); - m_Surface = NULL; - } - m_Surface = SDL_SetVideoMode(m_width, m_height, m_bpp, m_flags); - - if (m_Surface == NULL) - { - return false; - } - return true; -} - -void CScreen::initializeVBOExtension(void) { - - glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)SDL_GL_GetProcAddress("glGenBuffersARB"); - glBindBufferARB = (PFNGLBINDBUFFERARBPROC)SDL_GL_GetProcAddress("glBindBufferARB"); - glBufferDataARB = (PFNGLBUFFERDATAARBPROC)SDL_GL_GetProcAddress("glBufferDataARB"); - glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)SDL_GL_GetProcAddress("glBufferSubDataARB"); - glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)SDL_GL_GetProcAddress("glDeleteBuffersARB"); - glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)SDL_GL_GetProcAddress("glGetBufferParameterivARB"); - glMapBufferARB = (PFNGLMAPBUFFERARBPROC)SDL_GL_GetProcAddress("glMapBufferARB"); - glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)SDL_GL_GetProcAddress("glUnmapBufferARB"); - - if(glGenBuffersARB && glBindBufferARB && glBufferDataARB && glBufferSubDataARB && - glMapBufferARB && glUnmapBufferARB && glDeleteBuffersARB && glGetBufferParameterivARB) - { - m_useVBO = true; - fprintf(stderr, "Using VBO\n"); - } - else - { - m_useVBO = false; - fprintf(stderr, "Not using VBO\n"); - } -} - diff --git a/tools/pietoaster/screen.h b/tools/pietoaster/screen.h deleted file mode 100644 index e986f393e..000000000 --- a/tools/pietoaster/screen.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef _screen_h -#define _screen_h - -#include - -#include "wzglobal.h" -#include "pie_types.h" - - -class CScreen { -public: - PFNGLGENBUFFERSARBPROC glGenBuffersARB; - PFNGLBINDBUFFERARBPROC glBindBufferARB; - PFNGLBUFFERDATAARBPROC glBufferDataARB; - PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB; - PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB; - PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB; - PFNGLMAPBUFFERARBPROC glMapBufferARB; - PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB; - - Uint16 m_width; /// -#ifdef __APPLE__ -#include -#else -#include -#endif - -#include "texture.h" -#include "pie_types.h" - -//************************************************************************* - -/* global used to indicate preferred internal OpenGL format */ -int wz_texture_compression; - -iTexPage _TEX_PAGE[iV_TEX_MAX]; -unsigned int _TEX_INDEX = 0; - -static void pie_PrintLoadedTextures(void); - -//************************************************************************* - -static bool check_extension(const char* extension_name) -{ - const char *extension_list = (const char *)glGetString(GL_EXTENSIONS); - unsigned int extension_name_length = strlen(extension_name); - const char *tmp = extension_list; - unsigned int first_extension_length; - - if (!extension_name || !extension_list) return false; - - while (tmp[0]) { - first_extension_length = strcspn(tmp, " "); - - if ( extension_name_length == first_extension_length - && strncmp(extension_name, tmp, first_extension_length) == 0) { - fprintf( stderr, "%s is supported.\n", extension_name ); - return true; - } - tmp += first_extension_length + 1; - } - - fprintf( stderr, "%s is not supported.\n", extension_name ); - - return true; -} - -/************************************************************************** - Add an image buffer given in s as a new texture page in the texture - table. We check first if the given image has already been loaded, - as a sanity check (should never happen). The texture numbers are - stored in a special texture table, not in the resource system, for - some unknown reason. Start looking for an available slot in the - texture table at the given slot number. - - Returns the texture number of the image. -**************************************************************************/ -int pie_AddTexPage(iV_Image *s, const char* filename, int slot) -{ - unsigned int i = 0; - GLuint glErrors = 0; - GLboolean bTextureGenerated; - - /* Have we already loaded this one? Should not happen here. */ - while (i < _TEX_INDEX) - { - if (strncmp(filename, _TEX_PAGE[i].name, iV_TEXNAME_MAX) == 0) - { - pie_PrintLoadedTextures(); - } - //ASSERT(strncmp(filename, _TEX_PAGE[i].name, iV_TEXNAME_MAX) != 0, - // "pie_AddTexPage: %s loaded again! Already loaded as %s|%u", filename, - // _TEX_PAGE[i].name, i); - i++; - } - - /* Use first unused slot */ - for (i = slot; i < iV_TEX_MAX && _TEX_PAGE[i].name[0] != '\0'; i++); - - if (i == _TEX_INDEX) - { - _TEX_INDEX++; // increase table - } - //ASSERT(i != iV_TEX_MAX, "pie_AddTexPage: too many texture pages"); - - fprintf(stderr, "pie_AddTexPage: %s page=%d\n", filename, _TEX_INDEX); - //assert(s != NULL); - - /* Stick the name into the tex page structures */ - strncpy(_TEX_PAGE[i].name, filename, iV_TEXNAME_MAX); - - glGenTextures(1, &_TEX_PAGE[i].id); - glErrors = glGetError(); - // FIXME: This function is used instead of glBindTexture, but we're juggling with difficult to trace global state here. Look into pie_SetTexturePage's definition for details. - //pie_SetTexturePage(i); - glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, _TEX_PAGE[i].id); - - bTextureGenerated = glIsTexture(_TEX_PAGE[i].id); - - if (!bTextureGenerated || glErrors) - { - fprintf(stderr, "Texture generation failed GLError flag %d\n", glErrors); - } - - /* Find texture compression extension */ - if (check_extension("GL_ARB_texture_compression")) - { - fprintf(stderr, "Texture compression: Yes\n"); - if (s->depth == 4) - { - wz_texture_compression = GL_COMPRESSED_RGBA_ARB; - } - else if (s->depth == 3) - { - wz_texture_compression = GL_COMPRESSED_RGB_ARB; - } - } else { - fprintf(stderr, "Texture compression: No\n"); - if (s->depth == 4) - { - wz_texture_compression = GL_RGBA; - } - else if (s->depth == 3) - { - wz_texture_compression = GL_RGB; - } - } - - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR); - - // Use anisotropic filtering, if available, but only max 4.0 to reduce processor burden - //if (check_extension("GL_EXT_texture_filter_anisotropic")) - //{ - //GLfloat max; - - //glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max); - //glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, MIN(4.0f, max)); - //} - - if( strncmp( filename, SKY_TEXPAGE, iV_TEXNAME_MAX ) == 0 ) - { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - } - else - { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - } - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); - - if ((s->width & (s->width-1)) == 0 && (s->height & (s->height-1)) == 0) - { - //glTexImage2D(GL_TEXTURE_2D, 0, wz_texture_compression, s->width, s->height, 0, iV_getPixelFormat(s), GL_UNSIGNED_BYTE, s->bmp); - gluBuild2DMipmaps(GL_TEXTURE_2D, wz_texture_compression, s->width, s->height, iV_getPixelFormat(s), GL_UNSIGNED_BYTE, s->bmp); - glErrors = glGetError(); - } else { - fprintf(stderr, "pie_AddTexPage: non POT texture %s", filename); - } - //free(s->bmp); // it is uploaded, we do not need it anymore - //s->bmp = NULL; - - /* Send back the texpage number so we can store it in the IMD */ - - _TEX_INDEX++; - - return i; -} - -void pie_MakeTexPageName(char * filename) -{ - if (strncmp(filename, "page-", 5) == 0) - { - int i; - for( i = 5; i < iV_TEXNAME_MAX-1 && isdigit(filename[i]); i++); - filename[i] = '\0'; - } -} - -/*! - * Print the names of all loaded textures to LOG_ERROR - */ -static void pie_PrintLoadedTextures(void) -{ - unsigned int i = 0; - - fprintf(stderr, "Available texture pages in memory (%d out of %d max):", _TEX_INDEX, iV_TEX_MAX); - - for ( i = 0; i < iV_TEX_MAX && _TEX_PAGE[i].name[0] != '\0'; i++ ) - { - fprintf(stderr, "%02d : %s", i, _TEX_PAGE[i].name); - } -} - - -/************************************************************************** - Return the texture number for a given texture resource. We keep - textures in a separate data structure _TEX_PAGE apart from the - normal resource system. -**************************************************************************/ -int iV_GetTexture(const char *filename) -{ - unsigned int i = 0; - - /* Have we already loaded this one then? */ - for ( i = 0; i < iV_TEX_MAX; i++ ) { - if (strncmp(filename, _TEX_PAGE[i].name, iV_TEXNAME_MAX) == 0) { - return i; - } - } - - /* This should never happen - by now all textures should have been loaded. */ - fprintf(stderr, "*** texture %s not loaded! ***\n", filename); - fprintf(stderr, "This error probably means you did not specify this texture to be preloaded in the appropriate wrf files before referencing it in some pie file\n"); - fprintf(stderr, "Remember that patches override several standard wrf files as well\n"); - - pie_PrintLoadedTextures(); - - return -1; -} - - -/************************************************************************** - WRF files may specify overrides for the textures on a map. This - is done through an ugly hack involving cutting the texture name - down to just "page-NN", where NN is the page number, and - replaceing the texture page with the same name if another file - with this prefix is loaded. -**************************************************************************/ -int pie_ReplaceTexPage(iV_Image *s, const char *texPage) -{ - int i = iV_GetTexture(texPage); - - //ASSERT(i >= 0, "pie_ReplaceTexPage: Cannot find any %s to replace!", texPage); - if (i < 0) - { - return -1; - } - - glDeleteTextures(1, &_TEX_PAGE[i].id); - fprintf(stderr, "Reloading texture %s from index %d", texPage, i); - _TEX_PAGE[i].name[0] = '\0'; - pie_AddTexPage(s, texPage, i); - - return i; -} - -/* - Alex - fixed this so it doesn't try to free up the memory if it got the page from resource - handler - this is because the resource handler will deal with freeing it, and in all probability - will have already done so by the time this is called, thus avoiding an 'already freed' moan. -*/ -void pie_TexShutDown(void) -{ - unsigned int i = 0; - - while (i < _TEX_INDEX) - { - glDeleteTextures(1, &_TEX_PAGE[i].id); - i++; - } - - fprintf(stderr, "pie_TexShutDown successful - did free %u texture pages", i); -} - -void pie_TexInit(void) -{ - int i = 0; - - while (i < iV_TEX_MAX) { - _TEX_PAGE[i].name[0] = '\0'; - i++; - } - fprintf(stderr, "pie_TexInit successful - initialized %d texture pages\n", i); -} - - -void iV_unloadImage(iV_Image *image) -{ - if (image) - { - if (image->bmp) - { - free(image->bmp); - image->bmp = NULL; - } - } - else - { - fprintf(stderr, "Tried to free invalid image!"); - } -} - - -unsigned int iV_getPixelFormat(const iV_Image *image) -{ - switch (image->depth) - { - case 3: - //return GL_RGB; - //HACK:use BGR for 3... - return GL_BGR; - case 4: - return GL_RGBA; - default: - fprintf(stderr, "iV_getPixelFormat: Unsupported image depth: %u", image->depth); - return GL_INVALID_ENUM; - } -} diff --git a/tools/pietoaster/texture.h b/tools/pietoaster/texture.h deleted file mode 100644 index 6c4d42b9d..000000000 --- a/tools/pietoaster/texture.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1999-2004 Eidos Interactive - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -#ifndef _tex_h -#define _tex_h - -#include "wzglobal.h" -#include "pie_types.h" - -//************************************************************************* - -#define iV_TEX_MAX 64 -#define iV_TEX_INVALID -1 -#define iV_TEXNAME_MAX 64 - -#define SKY_TEXPAGE "page-25" - -//************************************************************************* - -#define iV_TEXNAME(i) ((char *) (&_TEX_PAGE[(i)].name)) - -//************************************************************************* - -typedef struct -{ - char name[iV_TEXNAME_MAX]; - unsigned int id; - unsigned int w; - unsigned int h; -} iTexPage; - -//************************************************************************* - -extern unsigned int _TEX_INDEX; -extern iTexPage _TEX_PAGE[iV_TEX_MAX]; - -//************************************************************************* - -extern int iV_GetTexture(const char *filename); -extern void iV_unloadImage(iV_Image *image); -extern unsigned int iV_getPixelFormat(const iV_Image *image); - -extern int pie_ReplaceTexPage(iV_Image *s, const char *texPage); -extern int pie_AddTexPage(iV_Image *s, const char *filename, int slot); -extern void pie_TexInit(void); - -/*! - * Turns filename into a pagename if possible - * \param[in,out] filename Filename to pagify - */ -extern void pie_MakeTexPageName(char * filename); - -//************************************************************************* - -extern void pie_TexShutDown(void); - -#endif diff --git a/tools/pietoaster/texture_mapper.cpp b/tools/pietoaster/texture_mapper.cpp deleted file mode 100644 index 9a9c21d5f..000000000 --- a/tools/pietoaster/texture_mapper.cpp +++ /dev/null @@ -1,227 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "texture_mapper.h" -#include "texture.h" -#include "screen.h" - -void CTextureMapper::addTargets(Uint16 width, Uint16 height, Uint16 textureId, iIMDPoly *target, Uint16 quantity) { - Uint16 i; - - if (this->m_Up) - { - return; - } - - m_width = width; - m_height = height; - m_textureId = textureId; - m_quantity = quantity; - - for (i = 0;i < m_quantity;i++) - { - m_targets[i] = &target[i]; - } - - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glLoadIdentity(); - glOrtho(0, g_Screen.m_width, 0, g_Screen.m_height, -1, 1); - glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - glLoadIdentity(); - - //assert(g_screen.m_width >= m_width && g_screen.m_height >= m_height); - - // Work out the rasterization position - m_rasterX0 = m_rasterX3 = - m_width/2; - m_rasterX1 = m_rasterX2 = m_rasterX0 + m_width; - m_rasterY0 = m_rasterY1 = -m_height/2; - m_rasterY2 = m_rasterY3 = m_rasterY0 + m_height; - - this->addGUI(); - - glDisable(GL_DEPTH_TEST); - glEnable(GL_TEXTURE_2D); - - m_Up = true; -} - -void CTextureMapper::removeTargets() { - Uint16 i; - - if (!this->m_Up) - { - return; - } - - TwDeleteBar(m_GUI); - - for (i = 0;i < m_quantity;i++) - { - m_targets[i] = NULL; - } - - glMatrixMode(GL_PROJECTION); - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); - glPopMatrix(); - - glEnable(GL_DEPTH_TEST); - glDisable(GL_TEXTURE_2D); - - glTranslatef(0.0f, 0.0f, 0.0f); - - m_Up = false; -} - -void CTextureMapper::draw(void) { - glBindTexture(GL_TEXTURE_2D, _TEX_PAGE[m_textureId].id); - - GLint x0 = m_rasterX0, x1 = m_rasterX1, x2 = m_rasterX2, x3 = m_rasterX3; - GLint y0 = m_rasterY0, y1 = m_rasterY1, y2 = m_rasterY2, y3 = m_rasterY3; - - glScalef(0.25f, 0.25f, 0.25f); - - glBegin(GL_QUADS); - glTexCoord2f(0.0f, 1.0f); - glVertex2i(x0, y0); - glTexCoord2f(1.0f, 1.0f); - glVertex2i(x1, y1); - glTexCoord2f(1.0f, 0.0f); - glVertex2i(x2, y2); - glTexCoord2f(0.0f, 0.0f); - glVertex2i(x3, y3); - glEnd(); - - //glBindTexture(GL_TEXTURE_2D, -1); - glDisable(GL_TEXTURE_2D); - - //Draw polygon vertices/points - Sint32 i, x, y; - glColor4ub(255, 192, 255, 255); - for (i = 0;i < m_targets[0]->npnts;i++) - { - -#ifdef PROPER_TEXTURE_COORDS - x = this->translateX(m_targets[0]->texCoord[i].x/m_width); - y = this->translateY(m_targets[0]->texCoord[i].y/m_height); -#else - x = this->translateX(m_targets[0]->texCoord[i].x/256.0f); - y = this->translateY(m_targets[0]->texCoord[i].y/256.0f); -#endif - - glBegin(GL_LINES); - glVertex2i(x + 2 + x0, -(y + 2 + y0)); - glVertex2i(x - 2 + x0, -(y - 2 + y0)); - glVertex2i(x + 2 + x0, -(y - 2 + y0)); - glVertex2i(x - 2 + x0, -(y + 2 + y0)); - glEnd(); - } - - glBegin(GL_LINE_LOOP); - for (i = 1;i < m_targets[0]->npnts + 1;i++) - { - //links to point 0 when reaching last point - if (i == m_targets[0]->npnts) - { - -#ifdef PROPER_TEXTURE_COORDS - x = this->translateX(m_targets[0]->texCoord[i-1].x/m_width); - y = this->translateY(m_targets[0]->texCoord[i-1].y/m_height); -#else - x = this->translateX(m_targets[0]->texCoord[i-1].x/256.0f); - y = this->translateY(m_targets[0]->texCoord[i-1].y/256.0f); -#endif - - glVertex2i(x + x0, -(y + y0)); - -#ifdef PROPER_TEXTURE_COORDS - x = this->translateX(m_targets[0]->texCoord[0].x/m_width); - y = this->translateY(m_targets[0]->texCoord[0].y/m_height); -#else - x = this->translateX(m_targets[0]->texCoord[0].x/256.0f); - y = this->translateY(m_targets[0]->texCoord[0].y/256.0f); -#endif - - glVertex2i(x + x0, -(y + y0)); - } - else - { - -#ifdef PROPER_TEXTURE_COORDS - x = this->translateX(m_targets[0]->texCoord[i-1].x/m_width); - y = this->translateY(m_targets[0]->texCoord[i-1].y/m_height); -#else - x = this->translateX(m_targets[0]->texCoord[i-1].x/256.0f); - y = this->translateY(m_targets[0]->texCoord[i-1].y/256.0f); -#endif - - glVertex2i(x + x0, -(y + y0)); - -#ifdef PROPER_TEXTURE_COORDS - x = this->translateX(m_targets[0]->texCoord[i].x/m_width); - y = this->translateY(m_targets[0]->texCoord[i].y/m_height); -#else - x = this->translateX(m_targets[0]->texCoord[i].x/256.0f); - y = this->translateY(m_targets[0]->texCoord[i].y/256.0f); -#endif - glVertex2i(x + x0, -(y + y0)); - } - } - glEnd(); - glColor4ub(255, 255, 255, 255); - glEnable(GL_TEXTURE_2D); -} - -///Translate texture coord X in float into screen coords in int -Sint32 CTextureMapper::translateX(float texCoord) { - return (Sint32)(texCoord * m_width); -} - -///Translate texture coord Y in float into screen coords in int -Sint32 CTextureMapper::translateY(float texCoord) { - return (Sint32)(texCoord * m_height); -} - -void CTextureMapper::addGUI(void) { - m_GUI = TwNewBar("TextureMapper"); - - char tmDefine[255]; - snprintf(tmDefine, 255, "TextureMapper "); - - Uint16 i, j; - - //assert(m_quantity < 10 && m_targets[i]->npnts < 10) - - for (i = 0;i < m_quantity;i++) - { - for (j = 0;j < m_targets[i]->npnts;j++) - { - char varName[255]; - char varDefine[255]; - - snprintf(varName, 255, "target%uN%u", i, j); - //TODO:non-power-of-two support? - snprintf(varDefine, 255, "label = 'vertice%u'", j); - - TwAddVarRW(m_GUI, varName, g_tw_pieVector2fType, &m_targets[i]->texCoord[j], varDefine); - } - } -} diff --git a/tools/pietoaster/texture_mapper.h b/tools/pietoaster/texture_mapper.h deleted file mode 100644 index de2a8e532..000000000 --- a/tools/pietoaster/texture_mapper.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * PieToaster is an OpenGL application to edit 3D models in - * Warzone 2100's (an RTS game) PIE 3D model format, which is heavily - * inspired by PieSlicer created by stratadrake. - * Copyright (C) 2007 Carl Hee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef _texture_mapper_h -#define _texture_mapper_h - -#include "wzglobal.h" -#include "pie_types.h" - -#include "imdloader.h" -#include "texture.h" - -#include "pie_internal.h" - -class CTextureMapper { -public: - bool m_Up; - - ///the radius of each point's selection circle - static const Uint16 m_selectionRadius = 5; - - CTextureMapper() : m_Up(false) {}; - - void addTargets(Uint16 width, Uint16 height, Uint16 textureId, iIMDPoly *target, Uint16 quantity); - void removeTargets(void); - void draw(void); - - void addGUI(void); - void updateGUI(void); -private: - Sint32 translateX(float texCoord); - Sint32 translateY(float texCoord); - - /* - (X0,Y0)-------------(X1,Y1) - | | - | | - | | - (X3,Y3)-------------(X2,Y2) - */ - //Texture page rasterization positions - Sint16 m_rasterX0; - Sint16 m_rasterY0; - Sint16 m_rasterX1; - Sint16 m_rasterY1; - Sint16 m_rasterX2; - Sint16 m_rasterY2; - Sint16 m_rasterX3; - Sint16 m_rasterY3; - - Uint16 m_width; - Uint16 m_height; - Uint16 m_textureId; - ///Pointer to the polys - iIMDPoly *m_targets[pie_MAX_POLYGONS]; - ///Quantity of polys - Uint16 m_quantity; - ///selected or not - bool m_Selected[pie_MAX_POLYGONS][pie_MAX_VERTICES_PER_POLYGON]; - - TwBar *m_GUI; - - friend class CPieInternal; -}; - -#endif diff --git a/tools/pietoaster/wzglobal.h b/tools/pietoaster/wzglobal.h deleted file mode 100644 index 424fcbecf..000000000 --- a/tools/pietoaster/wzglobal.h +++ /dev/null @@ -1,434 +0,0 @@ -/* - This file is part of Warzone 2100. - Copyright (C) 1992-2007 Trolltech ASA. - Copyright (C) 2005-2010 Warzone 2100 Project - - Warzone 2100 is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - Warzone 2100 is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Warzone 2100; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ -/*! \file wzglobal.h - * \brief Platform detection, workarounds and compat fixes - * - * OS and CC detection code shamelessly stolen from Qt4 (Qt/qglobal.h) by Dennis. - * This has been stripped down, feel free to add checks as you need them. - */ - -#ifndef WZGLOBAL_H -#define WZGLOBAL_H - - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#ifdef __MACOSX__ -# include "config-macosx.h" -#endif - - -/* ---- Platform detection ---- */ - - -/* - The operating system, must be one of: (WZ_OS_x) - - DARWIN - Darwin OS (synonym for WZ_OS_MAC) - OS2 - OS/2 - OS2EMX - XFree86 on OS/2 (not PM) - WIN32 - Win32 (Windows 95/98/ME and Windows NT/2000/XP) - CYGWIN - Cygwin - SOLARIS - Sun Solaris - HPUX - HP-UX - ULTRIX - DEC Ultrix - LINUX - Linux - FREEBSD - FreeBSD - NETBSD - NetBSD - OPENBSD - OpenBSD - BSDI - BSD/OS - IRIX - SGI Irix - OSF - HP Tru64 UNIX - SCO - SCO OpenServer 5 - UNIXWARE - UnixWare 7, Open UNIX 8 - AIX - AIX - HURD - GNU Hurd - DGUX - DG/UX - RELIANT - Reliant UNIX - DYNIX - DYNIX/ptx - QNX - QNX - QNX6 - QNX RTP 6.1 - LYNX - LynxOS - BSD4 - Any BSD 4.4 system - UNIX - Any UNIX BSD/SYSV system -*/ - -#if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__)) -# define WZ_OS_DARWIN -# define WZ_OS_BSD4 -# ifdef __LP64__ -# define WZ_OS_DARWIN64 -# else -# define WZ_OS_DARWIN32 -# endif -#elif defined(__CYGWIN__) -# define WZ_OS_CYGWIN -#elif defined(__OS2__) -# if defined(__EMX__) -# define WZ_OS_OS2EMX -# else -# define WZ_OS_OS2 -# endif -#elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__)) -# define WZ_OS_WIN32 -# define WZ_OS_WIN64 -#elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) -# define WZ_OS_WIN32 -#elif defined(__MWERKS__) && defined(__INTEL__) -# define WZ_OS_WIN32 -#elif defined(__sun) || defined(sun) -# define WZ_OS_SOLARIS -#elif defined(hpux) || defined(__hpux) -# define WZ_OS_HPUX -#elif defined(__ultrix) || defined(ultrix) -# define WZ_OS_ULTRIX -#elif defined(sinix) -# define WZ_OS_RELIANT -#elif defined(__linux__) || defined(__linux) -# define WZ_OS_LINUX -#elif defined(__FreeBSD__) || defined(__DragonFly__) -# define WZ_OS_FREEBSD -# define WZ_OS_BSD4 -#elif defined(__NetBSD__) -# define WZ_OS_NETBSD -# define WZ_OS_BSD4 -#elif defined(__OpenBSD__) -# define WZ_OS_OPENBSD -# define WZ_OS_BSD4 -#elif defined(__bsdi__) -# define WZ_OS_BSDI -# define WZ_OS_BSD4 -#elif defined(__sgi) -# define WZ_OS_IRIX -#elif defined(__osf__) -# define WZ_OS_OSF -#elif defined(_AIX) -# define WZ_OS_AIX -#elif defined(__Lynx__) -# define WZ_OS_LYNX -#elif defined(__GNU__) -# define WZ_OS_HURD -#elif defined(__DGUX__) -# define WZ_OS_DGUX -#elif defined(__QNXNTO__) -# define WZ_OS_QNX6 -#elif defined(__QNX__) -# define WZ_OS_QNX -#elif defined(_SEQUENT_) -# define WZ_OS_DYNIX -#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */ -# define WZ_OS_SCO -#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */ -# define WZ_OS_UNIXWARE -#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */ -# define WZ_OS_UNIXWARE -#elif defined(__INTEGRITY) -# define WZ_OS_INTEGRITY -#elif defined(__MAKEDEPEND__) -#else -# error "Warzone has not been tested on this OS. Please contact warzone-dev@gna.org" -#endif /* WZ_OS_x */ - -#if defined(WZ_OS_WIN32) || defined(WZ_OS_WIN64) -# define WZ_OS_WIN -#endif /* WZ_OS_WIN32 */ - -#if defined(WZ_OS_DARWIN) -# define WZ_OS_MAC /* WZ_OS_MAC is mostly for compatibility, but also more clear */ -# define WZ_OS_MACX /* WZ_OS_MACX is only for compatibility.*/ -# if defined(WZ_OS_DARWIN64) -# define WZ_OS_MAC64 -# elif defined(WZ_OS_DARWIN32) -# define WZ_OS_MAC32 -# endif -#endif /* WZ_OS_DARWIN */ - -#if defined(WZ_OS_MSDOS) || defined(WZ_OS_OS2) || defined(WZ_OS_WIN) -# undef WZ_OS_UNIX -#elif !defined(WZ_OS_UNIX) -# define WZ_OS_UNIX -#endif /* WZ_OS_* */ - - -/* - The compiler, must be one of: (WZ_CC_x) - - MSVC - Microsoft Visual C/C++, Intel C++ for Windows - GNU - GNU C++ - INTEL - Intel C++ for Linux, Intel C++ for Windows - TINYC - Fabrice Bellard's Tiny C Compiler - - Should be sorted most to least authoritative. -*/ - -#if defined(_MSC_VER) -# define WZ_CC_MSVC -/* Visual C++.Net issues for _MSC_VER >= 1300 */ -# if _MSC_VER >= 1300 -# define WZ_CC_MSVC_NET -# endif -/* Intel C++ disguising as Visual C++: the `using' keyword avoids warnings */ -# if defined(__INTEL_COMPILER) -# define WZ_CC_INTEL -# endif -/* x64 does not support mmx intrinsics on windows */ -# if (defined(ZS_OS_WIN64) && defined(_M_X64)) -# undef ZS_HAVE_SSE -# undef ZS_HAVE_SSE2 -# undef ZS_HAVE_MMX -# undef ZS_HAVE_3DNOW -# endif - -#elif defined(__GNUC__) -# define WZ_CC_GNU -# if defined(__MINGW32__) -# define WZ_CC_MINGW -# endif -# if defined(__INTEL_COMPILER) -/* Intel C++ also masquerades as GCC 3.2.0 */ -# define WZ_CC_INTEL -# endif - -#elif defined(__TINYC__) -# define WZ_CC_TINYC - -#else -# error "Warzone has not been tested on this compiler. Please contact warzone-dev@gna.org" -#endif /* WZ_CC_x */ - - -/* - The window system, must be one of: (WZ_WS_x) - - MACX - Mac OS X - WIN32 - Windows - X11 - X Window System - QNX - QNX -*/ - -#if defined(_WIN32_X11_) -# define WZ_WS_X11 - -#elif defined(WZ_OS_WIN32) -# define WZ_WS_WIN32 -# if defined(WZ_OS_WIN64) -# define WZ_WS_WIN64 -# endif - -#elif defined(WZ_OS_MAC) -# define WZ_WS_MAC -# define WZ_WS_MACX -# if defined(WZ_OS_MAC64) -# define WZ_WS_MAC64 -# elif defined(WZ_OS_MAC32) -# define WZ_WS_MAC32 -# endif - -#elif defined(WZ_OS_QNX) -# define WZ_WS_QNX - -#elif defined(WZ_OS_UNIX) -# define WZ_WS_X11 - -#else -# error "Warzone has not been tested on this window system. Please contact warzone-dev@gna.org" -#endif /* WZ_WS_x */ - -#if defined(WZ_WS_WIN16) || defined(WZ_WS_WIN32) -# define WZ_WS_WIN -#endif - - -/* - The supported C standard, must be one of: (WZ_Cxx) - - 99 - ISO/IEC 9899:1999 / C99 -*/ -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -# define WZ_C99 -#endif /* WZ_Cxx */ - - -/* - Convenience macros to test the versions of gcc. - Copied from glibc's features.h. -*/ -#if defined(WZ_CC_GNU) && defined __GNUC__ && defined __GNUC_MINOR__ -# define WZ_CC_GNU_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -#else -# define WZ_CC_GNU_PREREQ(maj, min) 0 -#endif - - -/* - Convenience macros to test the versions of icc. -*/ -#if defined(WZ_CC_INTEL) && defined __ICC -# define WZ_CC_INTEL_PREREQ(maj, min) \ - ((__ICC) >= ((maj) * 100) + (min)) -#else -# define WZ_CC_INTEL_PREREQ(maj, min) 0 -#endif - - - - -/* ---- Declaration attributes ---- */ - - -/*! - * \def WZ_DECL_DEPRECATED - * - * The WZ_DECL_DEPRECATED macro can be used to trigger compile-time warnings - * with newer compilers when deprecated functions are used. - * - * For non-inline functions, the macro gets inserted at front of the - * function declaration, right before the return type: - * - * \code - * WZ_DECL_DEPRECATED void deprecatedFunctionA(); - * WZ_DECL_DEPRECATED int deprecatedFunctionB() const; - * \endcode - * - * For functions which are implemented inline, - * the WZ_DECL_DEPRECATED macro is inserted at the front, right before the return - * type, but after "static", "inline" or "virtual": - * - * \code - * WZ_DECL_DEPRECATED void deprecatedInlineFunctionA() { .. } - * virtual WZ_DECL_DEPRECATED int deprecatedInlineFunctionB() { .. } - * static WZ_DECL_DEPRECATED bool deprecatedInlineFunctionC() { .. } - * inline WZ_DECL_DEPRECATED bool deprecatedInlineFunctionD() { .. } - * \endcode - * - * You can also mark whole structs or classes as deprecated, by inserting the - * WZ_DECL_DEPRECATED macro after the struct/class keyword, but before the - * name of the struct/class: - * - * \code - * class WZ_DECL_DEPRECATED DeprecatedClass { }; - * struct WZ_DECL_DEPRECATED DeprecatedStruct { }; - * \endcode - * - * \note - * Description copied from KDE4, code copied from Qt4. - * - */ -#if WZ_CC_GNU_PREREQ(3,2) || WZ_CC_INTEL_PREREQ(10,0) -# define WZ_DECL_DEPRECATED __attribute__ ((__deprecated__)) -#elif defined(WZ_CC_MSVC) && (_MSC_VER >= 1300) -# define WZ_DECL_DEPRECATED __declspec(deprecated) -#else -# define WZ_DECL_DEPRECATED -#endif - - -/*! - * \def WZ_DECL_UNUSED - * This function is not used, but shall not generate an unused warning either. - */ -#if WZ_CC_GNU_PREREQ(3,2) || WZ_CC_INTEL_PREREQ(10,0) -# define WZ_DECL_UNUSED __attribute__((__unused__)) -#else -# define WZ_DECL_UNUSED -#endif - - -/*! - * \def WZ_DECL_PURE - * "Many functions have no effects except the return value and their return value depends only on the parameters and/or global variables. Such a function can be subject to common subexpression elimination and loop optimization just as an arithmetic operator would be." - */ -#if defined(WZ_CC_GNU) && !defined(WZ_CC_INTEL) && WZ_CC_GNU_PREREQ(2,96) -# define WZ_DECL_PURE __attribute__((__pure__)) -#else -# define WZ_DECL_PURE -#endif - - -/*! - * \def WZ_DECL_CONST - * "Many functions do not examine any values except their arguments, and have no effects except the return value. Basically this is just slightly more strict class than the pure attribute below, since function is not allowed to read global memory." - */ -#if defined(WZ_CC_GNU) && !defined(WZ_CC_INTEL) && WZ_CC_GNU_PREREQ(2,5) -# define WZ_DECL_CONST __attribute__((__const__)) -#else -# define WZ_DECL_CONST -#endif - - -/*! \def WZ_DECL_FORMAT - * "The format attribute specifies that a function takes printf, scanf, strftime or strfmon style arguments which should be type-checked against a format string." - */ -#if defined(WZ_CC_GNU) && !defined(WZ_CC_INTEL) && WZ_CC_GNU_PREREQ(2,5) -# define WZ_DECL_FORMAT(archetype, string_index, first_to_check) \ - __attribute__((__format__ (archetype, string_index, first_to_check))) -#else -# define WZ_DECL_FORMAT(archetype, string_index, first_to_check) -#endif - - -/* ---- Platform specific setup ---- */ - - -#if defined(WZ_OS_WIN) -# if defined(WZ_CC_MINGW) -# include -# include -# include -# define _WIN32_IE IE5 -// Required for alloca -# include - -# elif defined(WZ_CC_MSVC) -# define _CRT_SECURE_NO_DEPRECATE -# if defined(_DEBUG) -# define DEBUG -# define _CRTDBG_MAP_ALLOC -# include -# include -# endif /* _DEBUG */ -# endif /* WZ_CC_* */ - -# define WIN32_LEAN_AND_MEAN -# define WIN32_EXTRA_LEAN -# include - -# if defined(WZ_CC_MSVC) -# define snprintf _snprintf -# define strcasecmp _stricmp -# define strncasecmp _strnicmp -# define inline __inline -# define alloca _alloca -# define fileno _fileno -# define isfinite _finite -# endif /* WZ_CC_MSVC */ - -#elif defined(WZ_OS_UNIX) -# include -# include -# include -# define MAX_PATH PATH_MAX -#endif /* WZ_OS_* */ - - -#endif /* WZGLOBAL_H */ From 7bd572371556a10f6a93493c2678ec1b853a634e Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sat, 1 Jan 2011 12:58:14 +0100 Subject: [PATCH 070/142] Remove the unused specular parameter to pie_Draw3DShape. It was always WZCOL_BLACK. --- lib/ivis_opengl/piedef.h | 2 +- lib/ivis_opengl/piedraw.cpp | 12 ++++---- src/atmos.cpp | 2 +- src/bridge.cpp | 2 +- src/component.cpp | 57 ++++++++++++++++++------------------- src/display3d.cpp | 48 +++++++++++++++---------------- src/effects.cpp | 33 +++++++++------------ 7 files changed, 72 insertions(+), 84 deletions(-) diff --git a/lib/ivis_opengl/piedef.h b/lib/ivis_opengl/piedef.h index 6e77ee507..593cb55ec 100644 --- a/lib/ivis_opengl/piedef.h +++ b/lib/ivis_opengl/piedef.h @@ -64,7 +64,7 @@ typedef struct {SDWORD texPage; SWORD tu, tv, tw, th;} PIEIMAGE; /**< An area of * Global ProtoTypes */ /***************************************************************************/ -extern void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, PIELIGHT specular, int pieFlag, int pieFlagData); +extern void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, int pieFlag, int pieFlagData); extern void pie_DrawImage(const PIEIMAGE *image, const PIERECT *dest); extern void pie_GetResetCounts(unsigned int* pPieCount, unsigned int* pTileCount, unsigned int* pPolyCount, unsigned int* pStateCount); diff --git a/lib/ivis_opengl/piedraw.cpp b/lib/ivis_opengl/piedraw.cpp index 7579abbc0..a4fc3d5c1 100644 --- a/lib/ivis_opengl/piedraw.cpp +++ b/lib/ivis_opengl/piedraw.cpp @@ -118,7 +118,6 @@ typedef struct { iIMDShape* shape; int frame; PIELIGHT colour; - PIELIGHT specular; int flag; int flag_data; } transluscent_shape_t; @@ -130,7 +129,7 @@ static transluscent_shape_t* tshapes = NULL; static unsigned int tshapes_size = 0; static unsigned int nb_tshapes = 0; -static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELIGHT teamcolour, WZ_DECL_UNUSED PIELIGHT specular, int pieFlag, int pieFlagData) +static void pie_Draw3DShape2(iIMDShape *shape, int frame, PIELIGHT colour, PIELIGHT teamcolour, int pieFlag, int pieFlagData) { iIMDPoly *pPolys; bool light = true; @@ -463,7 +462,7 @@ void pie_CleanUp( void ) scshapes = NULL; } -void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, PIELIGHT specular, int pieFlag, int pieFlagData) +void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, int pieFlag, int pieFlagData) { PIELIGHT teamcolour; @@ -480,7 +479,7 @@ void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, PIE if (drawing_interface || !shadows) { - pie_Draw3DShape2(shape, frame, colour, teamcolour, specular, pieFlag, pieFlagData); + pie_Draw3DShape2(shape, frame, colour, teamcolour, pieFlag, pieFlagData); } else { @@ -506,7 +505,6 @@ void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, PIE tshapes[nb_tshapes].shape = shape; tshapes[nb_tshapes].frame = frame; tshapes[nb_tshapes].colour = colour; - tshapes[nb_tshapes].specular = specular; tshapes[nb_tshapes].flag = pieFlag; tshapes[nb_tshapes].flag_data = pieFlagData; nb_tshapes++; @@ -561,7 +559,7 @@ void pie_Draw3DShape(iIMDShape *shape, int frame, int team, PIELIGHT colour, PIE } } - pie_Draw3DShape2(shape, frame, colour, teamcolour, specular, pieFlag, pieFlagData); + pie_Draw3DShape2(shape, frame, colour, teamcolour, pieFlag, pieFlagData); } } } @@ -686,7 +684,7 @@ static void pie_DrawRemainingTransShapes(void) { glLoadMatrixf(tshapes[i].matrix); pie_Draw3DShape2(tshapes[i].shape, tshapes[i].frame, tshapes[i].colour, tshapes[i].colour, - tshapes[i].specular, tshapes[i].flag, tshapes[i].flag_data); + tshapes[i].flag, tshapes[i].flag_data); } glPopMatrix(); diff --git a/src/atmos.cpp b/src/atmos.cpp index 5fe8b45db..5f6caa687 100644 --- a/src/atmos.cpp +++ b/src/atmos.cpp @@ -365,7 +365,7 @@ void renderParticle( ATPART *psPart ) /* Draw it... */ centreX = player.p.x + world_coord(visibleTiles.x / 2); centreZ = player.p.z + world_coord(visibleTiles.y / 2); - pie_Draw3DShape(psPart->imd, 0, 0, WZCOL_WHITE, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(psPart->imd, 0, 0, WZCOL_WHITE, 0, 0); pie_MatEnd(); } diff --git a/src/bridge.cpp b/src/bridge.cpp index 6eda6e018..2aa1608a9 100644 --- a/src/bridge.cpp +++ b/src/bridge.cpp @@ -141,7 +141,7 @@ BOOL renderBridgeSection(STRUCTURE *psStructure) /* Translate */ pie_TRANSLATE(rx, 0, -rz); - pie_Draw3DShape(psStructure->sDisplay.imd, 0, 0, WZCOL_WHITE, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(psStructure->sDisplay.imd, 0, 0, WZCOL_WHITE, 0, 0); pie_MatEnd(); return(true); diff --git a/src/component.cpp b/src/component.cpp index 48293b237..4bac43dfd 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -181,7 +181,7 @@ void displayIMDButton(iIMDShape *IMDShape, Vector3i *Rotation, Vector3i *Positio pie_MatScale(scale / 100.f); pie_SetFogStatus(false); - pie_Draw3DShape(IMDShape, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(IMDShape, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); unsetMatrix(); } @@ -210,9 +210,9 @@ void displayStructureButton(STRUCTURE *psStructure, Vector3i *rotation, Vector3i /* Draw the building's base first */ baseImd = psStructure->pStructureType->pBaseIMD; if(baseImd!=NULL) { - pie_Draw3DShape(baseImd, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(baseImd, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); } - pie_Draw3DShape(psStructure->sDisplay.imd, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(psStructure->sDisplay.imd, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); //and draw the turret if(psStructure->sDisplay.imd->nconnectors) { @@ -268,14 +268,14 @@ void displayStructureButton(STRUCTURE *psStructure, Vector3i *rotation, Vector3i pie_MatRotY(-rot.direction); if (mountImd[i] != NULL) { - pie_Draw3DShape(mountImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(mountImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); if(mountImd[i]->nconnectors) { pie_TRANSLATE(mountImd[i]->connectors->x,mountImd[i]->connectors->z,mountImd[i]->connectors->y); } } pie_MatRotX(rot.pitch); - pie_Draw3DShape(weaponImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(weaponImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); //we have a droid weapon so do we draw a muzzle flash pie_MatEnd(); } @@ -308,9 +308,9 @@ void displayStructureStatButton(STRUCTURE_STATS *Stats, Vector3i *Rotation, Vect if (baseImd != NULL) { - pie_Draw3DShape(baseImd, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(baseImd, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); } - pie_Draw3DShape(Stats->pIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(Stats->pIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); //and draw the turret if(Stats->pIMD->nconnectors) @@ -371,13 +371,13 @@ void displayStructureStatButton(STRUCTURE_STATS *Stats, Vector3i *Rotation, Vect pie_TRANSLATE(strImd->connectors[i].x,strImd->connectors[i].z,strImd->connectors[i].y); if (mountImd[i] != NULL) { - pie_Draw3DShape(mountImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(mountImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); if(mountImd[i]->nconnectors) { pie_TRANSLATE(mountImd[i]->connectors->x,mountImd[i]->connectors->z,mountImd[i]->connectors->y); } } - pie_Draw3DShape(weaponImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(weaponImd[i], 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); //we have a droid weapon so do we draw a muzzle flash pie_MatEnd(); } @@ -421,7 +421,7 @@ void displayComponentButton(BASE_STATS *Stat, Vector3i *Rotation, Vector3i *Posi if (MountIMD) { - pie_Draw3DShape(MountIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(MountIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); /* translate for weapon mount point */ if (MountIMD->nconnectors) @@ -431,7 +431,7 @@ void displayComponentButton(BASE_STATS *Stat, Vector3i *Rotation, Vector3i *Posi } if (ComponentIMD) { - pie_Draw3DShape(ComponentIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(ComponentIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); } unsetMatrix(); @@ -451,9 +451,9 @@ void displayResearchButton(BASE_STATS *Stat, Vector3i *Rotation, Vector3i *Posit pie_MatScale(scale / 100.f); if(MountIMD) { - pie_Draw3DShape(MountIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(MountIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); } - pie_Draw3DShape(ResearchIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, WZCOL_BLACK, pie_BUTTON, 0); + pie_Draw3DShape(ResearchIMD, 0, getPlayerColour(selectedPlayer), WZCOL_WHITE, pie_BUTTON, 0); unsetMatrix(); } @@ -508,7 +508,6 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) SDWORD frame; SDWORD pieFlag, iPieData; PIELIGHT brightness; - const PIELIGHT specular = WZCOL_BLACK; UDWORD colour; UBYTE i; @@ -569,7 +568,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) psShapeTemp = (leftFirst ? getLeftPropulsionIMD(psDroid) : getRightPropulsionIMD(psDroid)); if(psShapeTemp!=NULL) { - pie_Draw3DShape(psShapeTemp, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShapeTemp, 0, colour, brightness, pieFlag, iPieData); } /* set default components transparent */ @@ -597,7 +596,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) { // FIXME - hideous....!!!! pie_MatScale(.75f); - pie_Draw3DShape(psShapeTemp, 0, psDroid->player-6, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShapeTemp, 0, psDroid->player-6, brightness, pieFlag, iPieData); } } else if (cyborgDroid(psDroid)) @@ -605,12 +604,12 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) /* draw body if cyborg not animating */ if ( psDroid->psCurAnim == NULL || psDroid->psCurAnim->bVisible == false ) { - pie_Draw3DShape(psShapeTemp, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShapeTemp, 0, colour, brightness, pieFlag, iPieData); } } else { - pie_Draw3DShape(psShapeTemp, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShapeTemp, 0, colour, brightness, pieFlag, iPieData); } } @@ -629,7 +628,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) if ( psJet != NULL ) { - pie_Draw3DShape(psJet, getModularScaledGraphicsTime(100, psJet->numFrames), colour, brightness, specular, pie_ADDITIVE, 200); + pie_Draw3DShape(psJet, getModularScaledGraphicsTime(100, psJet->numFrames), colour, brightness, pie_ADDITIVE, 200); } } } @@ -731,7 +730,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) /* Draw it */ if(psShape) { - pie_Draw3DShape(psShape, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShape, 0, colour, brightness, pieFlag, iPieData); } pie_TRANSLATE(0,0,psDroid->asWeaps[i].recoilValue); @@ -760,7 +759,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) // We have a weapon so we draw it and a muzzle flash from weapon connector if (psShape) { - pie_Draw3DShape(psShape, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShape, 0, colour, brightness, pieFlag, iPieData); if (psShape->nconnectors) { @@ -789,7 +788,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) //no anim so display one frame for a fixed time if (gameTime < (psDroid->asWeaps[i].lastFired + BASE_MUZZLE_FLASH_DURATION)) { - pie_Draw3DShape(psShape, 0, 0, brightness, WZCOL_BLACK, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); + pie_Draw3DShape(psShape, 0, 0, brightness, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); } } else @@ -798,7 +797,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) frame = (gameTime - psDroid->asWeaps[i].lastFired) / psShape->animInterval; if (frame < psShape->numFrames) { - pie_Draw3DShape(psShape, frame, 0, brightness, WZCOL_BLACK, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); + pie_Draw3DShape(psShape, frame, 0, brightness, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); } } } @@ -867,7 +866,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) /* Draw it */ if (psMountShape) { - pie_Draw3DShape(psMountShape, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psMountShape, 0, colour, brightness, pieFlag, iPieData); } /* translate for construct mount point if cyborg */ @@ -881,7 +880,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) /* Draw it */ if(psShape) { - pie_Draw3DShape(psShape, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShape, 0, colour, brightness, pieFlag, iPieData); // In repair droid case only: if ((psDroid->droidType == DROID_REPAIR || psDroid->droidType == DROID_CYBORG_REPAIR) && @@ -906,10 +905,8 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) pie_MatRotY(-player.r.y); pie_MatRotX(-player.r.x); - /* Dither on software */ - pie_Draw3DShape(psShape, getModularScaledGraphicsTime(100, psShape->numFrames), 0, brightness, WZCOL_BLACK, pie_ADDITIVE, 140); - /* Dither off software */ + pie_Draw3DShape(psShape, getModularScaledGraphicsTime(100, psShape->numFrames), 0, brightness, pie_ADDITIVE, 140); pie_MatRotX(player.r.x); pie_MatRotY(player.r.y); @@ -946,7 +943,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) psShape = (leftFirst ? getRightPropulsionIMD(psDroid) : getLeftPropulsionIMD(psDroid)); if(psShape!=NULL) { - pie_Draw3DShape(psShape, 0, colour, brightness, specular, pieFlag, iPieData); + pie_Draw3DShape(psShape, 0, colour, brightness, pieFlag, iPieData); } } @@ -1083,7 +1080,7 @@ void displayComponentObject(DROID *psDroid) if (terrainType(psTile) != TER_WATER) { frame = gameTime/BLIP_ANIM_DURATION + psDroid->id; //visible[selectedPlayer]; - pie_Draw3DShape(getImdFromIndex(MI_BLIP), frame, 0, WZCOL_WHITE, WZCOL_BLACK, pie_ADDITIVE, psDroid->visible[selectedPlayer] / 2); + pie_Draw3DShape(getImdFromIndex(MI_BLIP), frame, 0, WZCOL_WHITE, pie_ADDITIVE, psDroid->visible[selectedPlayer] / 2); /* set up all the screen coords stuff - need to REMOVE FROM THIS LOOP */ } } diff --git a/src/display3d.cpp b/src/display3d.cpp index 628e80b84..6868c8aec 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -1269,11 +1269,11 @@ void renderProjectile(PROJECTILE *psCurr) if (psStats->weaponSubClass == WSC_ROCKET || psStats->weaponSubClass == WSC_MISSILE || psStats->weaponSubClass == WSC_SLOWROCKET || psStats->weaponSubClass == WSC_SLOWMISSILE) { - pie_Draw3DShape(pIMD, 0, 0, WZCOL_WHITE, WZCOL_BLACK, pie_ADDITIVE, 164); + pie_Draw3DShape(pIMD, 0, 0, WZCOL_WHITE, pie_ADDITIVE, 164); } else { - pie_Draw3DShape(pIMD, 0, 0, WZCOL_WHITE, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(pIMD, 0, 0, WZCOL_WHITE, 0, 0); } pie_MatEnd(); @@ -1384,7 +1384,7 @@ void renderAnimComponent( const COMPONENT_OBJECT *psObj ) pie_MatRotZ(-psObj->orientation.y); pie_MatRotX(-psObj->orientation.x); - pie_Draw3DShape(psObj->psShape, 0, iPlayer, brightness, WZCOL_BLACK, pie_STATIC_SHADOW, 0); + pie_Draw3DShape(psObj->psShape, 0, iPlayer, brightness, pie_STATIC_SHADOW, 0); /* clear stack */ pie_MatEnd(); @@ -1957,12 +1957,12 @@ void renderFeature(FEATURE *psFeature) vecTemp = psFeature->sDisplay.imd->points; flattenImd(psFeature->sDisplay.imd, psFeature->pos.x, psFeature->pos.y, 0); /* currentGameFrame/2 set anim running - GJ hack */ - pie_Draw3DShape(psFeature->sDisplay.imd, currentGameFrame/2, 0, brightness, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(psFeature->sDisplay.imd, currentGameFrame/2, 0, brightness, 0, 0); psFeature->sDisplay.imd->points = vecTemp; } else { - pie_Draw3DShape(psFeature->sDisplay.imd, 0, 0, brightness, WZCOL_BLACK, shadowFlags,0); + pie_Draw3DShape(psFeature->sDisplay.imd, 0, 0, brightness, shadowFlags, 0); } { @@ -2077,7 +2077,7 @@ void renderProximityMsg(PROXIMITY_DISPLAY *psProxDisp) pie_MatRotY(-player.r.y); pie_MatRotX(-player.r.x); - pie_Draw3DShape(proxImd, getModularScaledGraphicsTime(1000, 4), 0, WZCOL_WHITE, WZCOL_BLACK, pie_ADDITIVE, 192); + pie_Draw3DShape(proxImd, getModularScaledGraphicsTime(1000, 4), 0, WZCOL_WHITE, pie_ADDITIVE, 192); //get the screen coords for determining when clicked on calcFlagPosScreenCoords(&x, &y, &r); @@ -2200,7 +2200,7 @@ void renderStructure(STRUCTURE *psStructure) pieFlag = pie_TRANSLUCENT | pie_FORCE_FOG; pieFlagData = 255; } - pie_Draw3DShape(psStructure->pStructureType->pBaseIMD, 0, colour, buildingBrightness, WZCOL_BLACK, pieFlag, pieFlagData); + pie_Draw3DShape(psStructure->pStructureType->pBaseIMD, 0, colour, buildingBrightness, pieFlag, pieFlagData); } // override @@ -2218,8 +2218,7 @@ void renderStructure(STRUCTURE *psStructure) //first check if partially built - ANOTHER HACK! if (psStructure->status == SS_BEING_BUILT || psStructure->status == SS_BEING_DEMOLISHED) { - pie_Draw3DShape(strImd, 0, colour, buildingBrightness, WZCOL_BLACK, pie_HEIGHT_SCALED | pie_SHADOW, - (SDWORD)(structHeightScale(psStructure) * pie_RAISE_SCALE)); + pie_Draw3DShape(strImd, 0, colour, buildingBrightness, pie_HEIGHT_SCALED | pie_SHADOW, structHeightScale(psStructure) * pie_RAISE_SCALE); } else { @@ -2237,7 +2236,7 @@ void renderStructure(STRUCTURE *psStructure) { pie_SetShaderStretchDepth(psStructure->pos.z - psStructure->foundationDepth); } - pie_Draw3DShape(strImd, animFrame, colour, buildingBrightness, WZCOL_BLACK, pieFlag, pieFlagData); + pie_Draw3DShape(strImd, animFrame, colour, buildingBrightness, pieFlag, pieFlagData); pie_SetShaderStretchDepth(0); // It might have weapons on it @@ -2310,7 +2309,7 @@ void renderStructure(STRUCTURE *psStructure) { pie_TRANSLATE(0, 0, psStructure->asWeaps[i].recoilValue / 3); - pie_Draw3DShape(mountImd[i], animFrame, colour, buildingBrightness, WZCOL_BLACK, pieFlag, pieFlagData); + pie_Draw3DShape(mountImd[i], animFrame, colour, buildingBrightness, pieFlag, pieFlagData); if(mountImd[i]->nconnectors) { pie_TRANSLATE(mountImd[i]->connectors->x, mountImd[i]->connectors->z, mountImd[i]->connectors->y); @@ -2319,7 +2318,7 @@ void renderStructure(STRUCTURE *psStructure) pie_MatRotX(rot.pitch); pie_TRANSLATE(0, 0, psStructure->asWeaps[i].recoilValue); - pie_Draw3DShape(weaponImd[i], 0, colour, buildingBrightness, WZCOL_BLACK, pieFlag, pieFlagData); + pie_Draw3DShape(weaponImd[i], 0, colour, buildingBrightness, pieFlag, pieFlagData); if (psStructure->status == SS_BUILT && psStructure->visible[selectedPlayer] > (UBYTE_MAX / 2)) { if (psStructure->pStructureType->type == REF_REPAIR_FACILITY) @@ -2344,7 +2343,7 @@ void renderStructure(STRUCTURE *psStructure) pie_MatRotY(-player.r.y); pie_MatRotX(-player.r.x); - pie_Draw3DShape(pRepImd, getModularScaledGraphicsTime(100, pRepImd->numFrames), colour, buildingBrightness, WZCOL_BLACK, pie_ADDITIVE, 192); + pie_Draw3DShape(pRepImd, getModularScaledGraphicsTime(100, pRepImd->numFrames), colour, buildingBrightness, pie_ADDITIVE, 192); pie_MatRotX(player.r.x); pie_MatRotY(player.r.y); @@ -2375,7 +2374,7 @@ void renderStructure(STRUCTURE *psStructure) // no anim so display one frame for a fixed time if (graphicsTime < (psStructure->asWeaps[i].lastFired + BASE_MUZZLE_FLASH_DURATION)) { - pie_Draw3DShape(flashImd[i], 0, colour, buildingBrightness, WZCOL_BLACK, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); + pie_Draw3DShape(flashImd[i], 0, colour, buildingBrightness, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); } } else @@ -2384,7 +2383,7 @@ void renderStructure(STRUCTURE *psStructure) frame = (graphicsTime - psStructure->asWeaps[i].lastFired)/flashImd[i]->animInterval; if (frame < flashImd[i]->numFrames && frame >= 0) { - pie_Draw3DShape(flashImd[i], frame, colour, buildingBrightness, WZCOL_BLACK, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); + pie_Draw3DShape(flashImd[i], frame, colour, buildingBrightness, pieFlag | pie_ADDITIVE, EFFECT_MUZZLE_ADDITIVE); } } } @@ -2429,7 +2428,7 @@ void renderStructure(STRUCTURE *psStructure) // no anim so display one frame for a fixed time if (graphicsTime < psStructure->asWeaps[i].lastFired + BASE_MUZZLE_FLASH_DURATION) { - pie_Draw3DShape(flashImd[i], 0, colour, buildingBrightness, WZCOL_BLACK, 0, 0); //muzzle flash + pie_Draw3DShape(flashImd[i], 0, colour, buildingBrightness, 0, 0); //muzzle flash } } else @@ -2437,7 +2436,7 @@ void renderStructure(STRUCTURE *psStructure) frame = (graphicsTime - psStructure->asWeaps[i].lastFired) / flashImd[i]->animInterval; if (frame < flashImd[i]->numFrames && frame >= 0) { - pie_Draw3DShape(flashImd[i], 0, colour, buildingBrightness, WZCOL_BLACK, 0, 0); //muzzle flash + pie_Draw3DShape(flashImd[i], 0, colour, buildingBrightness, 0, 0); //muzzle flash } } } @@ -2456,7 +2455,7 @@ void renderStructure(STRUCTURE *psStructure) pie_TRANSLATE(psStructure->sDisplay.imd->connectors->x, psStructure->sDisplay.imd->connectors->z, psStructure->sDisplay.imd->connectors->y); lImd = getImdFromIndex(MI_LANDING); - pie_Draw3DShape(lImd, getModularScaledGraphicsTime(1024, lImd->numFrames), colour, buildingBrightness, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(lImd, getModularScaledGraphicsTime(1024, lImd->numFrames), colour, buildingBrightness, 0, 0); pie_MatEnd(); } } @@ -2527,7 +2526,7 @@ void renderDeliveryPoint(FLAG_POSITION *psPosition, BOOL blueprint) pieFlag |= pie_FORCE_FOG; colour = WZCOL_WHITE; } - pie_Draw3DShape(pAssemblyPointIMDs[psPosition->factoryType][psPosition->factoryInc], 0, 0, colour, WZCOL_BLACK, pieFlag, pieFlagData); + pie_Draw3DShape(pAssemblyPointIMDs[psPosition->factoryType][psPosition->factoryInc], 0, 0, colour, pieFlag, pieFlagData); if(!psPosition->selected && !blueprint) @@ -2548,7 +2547,7 @@ void renderDeliveryPoint(FLAG_POSITION *psPosition, BOOL blueprint) static BOOL renderWallSection(STRUCTURE *psStructure) { SDWORD structX, structY, rx, rz, height; - PIELIGHT brightness, specular = WZCOL_BLACK; + PIELIGHT brightness; iIMDShape *imd; SDWORD rotation; Vector3i dv; @@ -2630,7 +2629,7 @@ static BOOL renderWallSection(STRUCTURE *psStructure) temp = imd->points; imd->points = alteredPoints; // Actually render it - pie_Draw3DShape(imd, 0, getPlayerColour(psStructure->player), brightness, specular, 0, 0); + pie_Draw3DShape(imd, 0, getPlayerColour(psStructure->player), brightness, 0, 0); imd->points = temp; } @@ -2645,8 +2644,7 @@ static BOOL renderWallSection(STRUCTURE *psStructure) (psStructure->status == SS_BEING_BUILT && psStructure->pStructureType->type == REF_RESOURCE_EXTRACTOR) ) { pie_Draw3DShape(psStructure->sDisplay.imd, 0, getPlayerColour(psStructure->player), - brightness, specular, pie_HEIGHT_SCALED|pie_SHADOW, - (SDWORD)(structHeightScale(psStructure) * pie_RAISE_SCALE) ); + brightness, pie_HEIGHT_SCALED|pie_SHADOW, structHeightScale(psStructure) * pie_RAISE_SCALE); } else { @@ -2668,7 +2666,7 @@ static BOOL renderWallSection(STRUCTURE *psStructure) } pieFlagData = 0; } - pie_Draw3DShape(imd, 0, getPlayerColour(psStructure->player), brightness, specular, pieFlag, pieFlagData); + pie_Draw3DShape(imd, 0, getPlayerColour(psStructure->player), brightness, pieFlag, pieFlagData); } imd->points = temp; @@ -2718,7 +2716,7 @@ void renderShadow( DROID *psDroid, iIMDShape *psShadowIMD ) pie_MatRotX(psDroid->rot.pitch); pie_MatRotZ(psDroid->rot.roll); - pie_Draw3DShape(psShadowIMD, 0, 0, WZCOL_WHITE, WZCOL_BLACK, pie_TRANSLUCENT, 128); + pie_Draw3DShape(psShadowIMD, 0, 0, WZCOL_WHITE, pie_TRANSLUCENT, 128); pie_MatEnd(); } diff --git a/src/effects.cpp b/src/effects.cpp index 5233ed5e4..11c0d77bb 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -1621,7 +1621,7 @@ static void renderWaypointEffect(const EFFECT *psEffect) { positionEffect(psEffect); - pie_Draw3DShape(psEffect->imd, 0, 0, WZCOL_WHITE, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(psEffect->imd, 0, 0, WZCOL_WHITE, 0, 0); pie_MatEnd(); } @@ -1639,7 +1639,7 @@ static void renderFirework(const EFFECT *psEffect) pie_MatRotX(-player.r.x); pie_MatScale(psEffect->size / 100.f); - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, WZCOL_WHITE, WZCOL_BLACK, pie_ADDITIVE, EFFECT_EXPLOSION_ADDITIVE); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, WZCOL_WHITE, pie_ADDITIVE, EFFECT_EXPLOSION_ADDITIVE); pie_MatEnd(); } @@ -1652,7 +1652,7 @@ static void renderBloodEffect(const EFFECT *psEffect) pie_MatRotX(-player.r.x); pie_MatScale(psEffect->size / 100.f); - pie_Draw3DShape(getImdFromIndex(MI_BLOOD), psEffect->frameNumber, 0, WZCOL_WHITE, WZCOL_BLACK, pie_TRANSLUCENT, EFFECT_BLOOD_TRANSPARENCY); + pie_Draw3DShape(getImdFromIndex(MI_BLOOD), psEffect->frameNumber, 0, WZCOL_WHITE, pie_TRANSLUCENT, EFFECT_BLOOD_TRANSPARENCY); pie_MatEnd(); } @@ -1681,7 +1681,7 @@ static void renderDestructionEffect(const EFFECT *psEffect) pie_MatRotY(SKY_SHIMMY); pie_MatRotZ(SKY_SHIMMY); } - pie_Draw3DShape(psEffect->imd, 0, 0, WZCOL_WHITE, WZCOL_BLACK, pie_RAISE, percent); + pie_Draw3DShape(psEffect->imd, 0, 0, WZCOL_WHITE, pie_RAISE, percent); pie_MatEnd(); } @@ -1757,15 +1757,15 @@ static void renderExplosionEffect(const EFFECT *psEffect) if(psEffect->type == EXPLOSION_TYPE_PLASMA) { - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, WZCOL_BLACK, pie_ADDITIVE, EFFECT_PLASMA_ADDITIVE); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, pie_ADDITIVE, EFFECT_PLASMA_ADDITIVE); } else if(psEffect->type == EXPLOSION_TYPE_KICKUP) { - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, WZCOL_BLACK, pie_TRANSLUCENT, 128); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, pie_TRANSLUCENT, 128); } else { - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, WZCOL_BLACK, pie_ADDITIVE, EFFECT_EXPLOSION_ADDITIVE); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, pie_ADDITIVE, EFFECT_EXPLOSION_ADDITIVE); } pie_MatEnd(); @@ -1787,7 +1787,7 @@ static void renderGravitonEffect(const EFFECT *psEffect) pie_MatScale(psEffect->size / 100.f); } - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, psEffect->player, WZCOL_WHITE, WZCOL_BLACK, 0, 0); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, psEffect->player, WZCOL_WHITE, 0, 0); /* Pop the matrix */ pie_MatEnd(); @@ -1797,8 +1797,7 @@ static void renderGravitonEffect(const EFFECT *psEffect) static void renderConstructionEffect(const EFFECT *psEffect) { Vector3i null; - SDWORD percent; - UDWORD translucency; + int percent, translucency; float size; /* No rotation about arbitrary axis */ @@ -1831,7 +1830,7 @@ static void renderConstructionEffect(const EFFECT *psEffect) size = MIN(2.f * translucency / 100.f, .90f); pie_MatScale(size); - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, WZCOL_WHITE, WZCOL_BLACK, pie_TRANSLUCENT, (UBYTE)(translucency)); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, WZCOL_WHITE, pie_TRANSLUCENT, translucency); /* Pop the matrix */ pie_MatEnd(); @@ -1840,9 +1839,8 @@ static void renderConstructionEffect(const EFFECT *psEffect) /** Renders the standard smoke effect - it is now scaled in real-time as well */ static void renderSmokeEffect(const EFFECT *psEffect) { - UDWORD transparency = 0; + int transparency = 0; const PIELIGHT brightness = WZCOL_WHITE; - const PIELIGHT specular = WZCOL_BLACK; positionEffect(psEffect); @@ -1854,9 +1852,6 @@ static void renderSmokeEffect(const EFFECT *psEffect) pie_MatRotX(-player.r.x); } - /* Small smoke - used for the droids */ -// if(psEffect->type == SMOKE_TYPE_DRIFTING_SMALL || psEffect->type == SMOKE_TYPE_TRAIL) - if(TEST_SCALED(psEffect)) { const unsigned int lifetime = graphicsTime - psEffect->birthTime; @@ -1887,17 +1882,17 @@ static void renderSmokeEffect(const EFFECT *psEffect) /* Make imds be transparent on 3dfx */ if(psEffect->type==SMOKE_TYPE_STEAM) { - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, specular, pie_TRANSLUCENT, (UBYTE)(EFFECT_STEAM_TRANSPARENCY)/2); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, pie_TRANSLUCENT, EFFECT_STEAM_TRANSPARENCY / 2); } else { if(psEffect->type == SMOKE_TYPE_TRAIL) { - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, specular, pie_TRANSLUCENT, (UBYTE)((2*transparency)/3)); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, pie_TRANSLUCENT, (2 * transparency) / 3); } else { - pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, specular, pie_TRANSLUCENT, (UBYTE)(transparency)/2); + pie_Draw3DShape(psEffect->imd, psEffect->frameNumber, 0, brightness, pie_TRANSLUCENT, transparency / 2); } } From e29bb60fffbc30bda35d4ad717f7377e516e8896 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sat, 1 Jan 2011 13:08:43 +0100 Subject: [PATCH 071/142] Fix misspelling of 'guard tower' in PIE file name to match similar rename in wzgm. --- data/base/stats/structures.txt | 6 +++--- data/base/structs/{blgaurdn.pie => blguardn.pie} | 0 data/base/wrf/piestats.wrf | 2 +- data/mods/multiplay/old-1.10-balance/stats/structures.txt | 6 +++--- data/mp/stats/structures.txt | 6 +++--- data/mp/wrf/piestats.wrf | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) rename data/base/structs/{blgaurdn.pie => blguardn.pie} (100%) diff --git a/data/base/stats/structures.txt b/data/base/stats/structures.txt index ab485d5fb..df64c902c 100644 --- a/data/base/stats/structures.txt +++ b/data/base/stats/structures.txt @@ -37,10 +37,10 @@ AASite-QuadRotMg,DEFENSE,Level Two-Three,MEDIUM,0,1,1,Concrete,275,1,12,200,10,1 CO-Tower-HvATRkt,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-Tower-HVCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-Tower-HvFlame,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,1,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLHARDPT.pie,0,0,1 -CO-Tower-LtATRkt,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 +CO-Tower-LtATRkt,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.pie,0,0,1 CO-Tower-MdCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 -CO-Tower-MG3,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 -CO-Tower-RotMG,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 +CO-Tower-MG3,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 +CO-Tower-RotMG,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 CO-WallTower-HvCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,400,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-WallTower-RotCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,400,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CollectiveCWall,CORNER WALL,Level All,HARD,1,1,1,Concrete,125,2,12,250,10,25,1,0,255,0,ZNULLECM,ZNULLSENSOR,0,BLWALLC2.pie,0,0,0 diff --git a/data/base/structs/blgaurdn.pie b/data/base/structs/blguardn.pie similarity index 100% rename from data/base/structs/blgaurdn.pie rename to data/base/structs/blguardn.pie diff --git a/data/base/wrf/piestats.wrf b/data/base/wrf/piestats.wrf index 2a44dca05..e0071768c 100644 --- a/data/base/wrf/piestats.wrf +++ b/data/base/wrf/piestats.wrf @@ -69,7 +69,7 @@ file IMD "blnavbnk.pie" file IMD "blnavbak.pie" file IMD "blhq4.pie" file IMD "blbrtowf.pie" -file IMD "blgaurdn.pie" +file IMD "blguardn.pie" file IMD "blaamnt1.pie" file IMD "blaamnt2.pie" file IMD "blhardpt.pie" diff --git a/data/mods/multiplay/old-1.10-balance/stats/structures.txt b/data/mods/multiplay/old-1.10-balance/stats/structures.txt index 25baebf0e..2fbc9f8af 100644 --- a/data/mods/multiplay/old-1.10-balance/stats/structures.txt +++ b/data/mods/multiplay/old-1.10-balance/stats/structures.txt @@ -38,10 +38,10 @@ AASite-QuadRotMg,DEFENSE,Level Two-Three,MEDIUM,0,1,1,Concrete,275,1,12,200,10,1 CO-Tower-HvATRkt,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-Tower-HVCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-Tower-HvFlame,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,1,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLHARDPT.pie,0,0,1 -CO-Tower-LtATRkt,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 +CO-Tower-LtATRkt,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 CO-Tower-MdCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 -CO-Tower-MG3,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 -CO-Tower-RotMG,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 +CO-Tower-MG3,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 +CO-Tower-RotMG,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,300,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 CO-WallTower-HvCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,400,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-WallTower-RotCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,400,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CollectiveCWall,CORNER WALL,Level All,HARD,1,1,1,Concrete,125,2,12,250,10,25,1,0,255,0,ZNULLECM,ZNULLSENSOR,0,BLWALLC2.pie,0,0,0 diff --git a/data/mp/stats/structures.txt b/data/mp/stats/structures.txt index 6aea2664b..60595a5ec 100644 --- a/data/mp/stats/structures.txt +++ b/data/mp/stats/structures.txt @@ -41,10 +41,10 @@ P0-AASite-Sunburst,DEFENSE,Level All,MEDIUM,0,1,1,Concrete,450,2,10,400,10,250,1 CO-Tower-HvATRkt,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-Tower-HVCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-Tower-HvFlame,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,1,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLHARDPT.pie,0,0,1 -CO-Tower-LtATRkt,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 +CO-Tower-LtATRkt,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 CO-Tower-MdCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 -CO-Tower-MG3,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 -CO-Tower-RotMG,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blgaurdn.PIE,0,0,1 +CO-Tower-MG3,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 +CO-Tower-RotMG,DEFENSE,Level Two,MEDIUM,0,1,1,Concrete,500,2,12,600,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,blguardn.PIE,0,0,1 CO-WallTower-HvCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,800,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CO-WallTower-RotCan,DEFENSE,Level Two,HARD,0,1,1,Concrete,500,2,12,800,10,100,10,150,255,1,ZNULLECM,DefaultSensor1Mk1,1,BLGUARD2.pie,0,0,1 CollectiveCWall,CORNER WALL,Level All,HARD,1,1,1,Concrete,125,2,12,500,10,25,1,0,255,0,ZNULLECM,ZNULLSENSOR,0,BLWALLC2.pie,0,0,0 diff --git a/data/mp/wrf/piestats.wrf b/data/mp/wrf/piestats.wrf index 87445c591..38a270dd0 100644 --- a/data/mp/wrf/piestats.wrf +++ b/data/mp/wrf/piestats.wrf @@ -70,7 +70,7 @@ file IMD "blnavbnk.pie" file IMD "blnavbak.pie" file IMD "blhq4.pie" file IMD "blbrtowf.pie" -file IMD "blgaurdn.pie" +file IMD "blguardn.pie" file IMD "blaamnt1.pie" file IMD "blaamnt2.pie" file IMD "blhardpt.pie" From e6c3408d75995c56a9d1c78a36dd8e368f1189cb Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sat, 1 Jan 2011 13:20:56 +0100 Subject: [PATCH 072/142] Remove some unnecessary oil resource hacks, including flattening to terrain. Please do not put oil resources on sloped ground. It looks stupid even when flattened. --- src/display3d.cpp | 33 ++++++++------------------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/src/display3d.cpp b/src/display3d.cpp index 6868c8aec..50cdc637a 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -1881,7 +1881,6 @@ void renderFeature(FEATURE *psFeature) SDWORD rotation, rx, rz; PIELIGHT brightness; Vector3i dv; - Vector3f *vecTemp; BOOL bForceDraw = ( !getRevealStatus() && psFeature->psStats->visibleAtStart); int shadowFlags = 0; @@ -1952,27 +1951,13 @@ void renderFeature(FEATURE *psFeature) shadowFlags = pie_STATIC_SHADOW; } - if (psFeature->psStats->subType == FEAT_OIL_RESOURCE) - { - vecTemp = psFeature->sDisplay.imd->points; - flattenImd(psFeature->sDisplay.imd, psFeature->pos.x, psFeature->pos.y, 0); - /* currentGameFrame/2 set anim running - GJ hack */ - pie_Draw3DShape(psFeature->sDisplay.imd, currentGameFrame/2, 0, brightness, 0, 0); - psFeature->sDisplay.imd->points = vecTemp; - } - else - { - pie_Draw3DShape(psFeature->sDisplay.imd, 0, 0, brightness, shadowFlags, 0); - } + pie_Draw3DShape(psFeature->sDisplay.imd, 0, 0, brightness, shadowFlags, 0); - { - Vector3i zero(0, 0, 0); - Vector2i s(0, 0); - - pie_RotateProject( &zero, &s ); - psFeature->sDisplay.screenX = s.x; - psFeature->sDisplay.screenY = s.y; - } + Vector3i zero(0, 0, 0); + Vector2i s(0, 0); + pie_RotateProject(&zero, &s); + psFeature->sDisplay.screenX = s.x; + psFeature->sDisplay.screenY = s.y; pie_MatEnd(); } @@ -2058,11 +2043,9 @@ void renderProximityMsg(PROXIMITY_DISPLAY *psProxDisp) else { //object Proximity displays are for oil resources and artefacts - ASSERT( ((BASE_OBJECT *)psProxDisp->psMessage->pViewData)->type == - OBJ_FEATURE, "renderProximityMsg: invalid feature" ); + ASSERT(((BASE_OBJECT *)psProxDisp->psMessage->pViewData)->type == OBJ_FEATURE, "Invalid object type for proximity display"); - if (((FEATURE *)psProxDisp->psMessage->pViewData)->psStats->subType == - FEAT_OIL_RESOURCE) + if (((FEATURE *)psProxDisp->psMessage->pViewData)->psStats->subType == FEAT_OIL_RESOURCE) { //resource proxImd = getImdFromIndex(MI_BLIP_RESOURCE); From d2499aa9cc38be9723a41421b81af60fcfb4d784 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Sat, 1 Jan 2011 14:50:35 +0100 Subject: [PATCH 073/142] Die, ivis_common, die\! --- lib/gamelib/Makefile.am | 5 +++-- lib/widget/Makefile.am | 5 +++-- po/POTFILES.in | 15 ++++++--------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/gamelib/Makefile.am b/lib/gamelib/Makefile.am index 2f89df01e..047e4f127 100644 --- a/lib/gamelib/Makefile.am +++ b/lib/gamelib/Makefile.am @@ -40,5 +40,6 @@ libgamelib_a_SOURCES = \ gtime.cpp \ hashtable.cpp -libgamelib_a_LIBADD = $(top_builddir)/lib/ivis_opengl/libivis_opengl.a \ - $(top_builddir)/lib/ivis_common/libivis_common.a $(top_builddir)/lib/framework/libframework.a +libgamelib_a_LIBADD = \ + $(top_builddir)/lib/ivis_opengl/libivis_opengl.a \ + $(top_builddir)/lib/framework/libframework.a diff --git a/lib/widget/Makefile.am b/lib/widget/Makefile.am index 9238afe49..18d1f1c8a 100644 --- a/lib/widget/Makefile.am +++ b/lib/widget/Makefile.am @@ -27,5 +27,6 @@ libwidget_a_SOURCES = \ tip.cpp \ widget.cpp -libwidget_a_LIBADD = $(top_builddir)/lib/ivis_opengl/libivis_opengl.a \ - $(top_builddir)/lib/ivis_common/libivis_common.a $(top_builddir)/lib/framework/libframework.a +libwidget_a_LIBADD = \ + $(top_builddir)/lib/ivis_opengl/libivis_opengl.a \ + $(top_builddir)/lib/framework/libframework.a diff --git a/po/POTFILES.in b/po/POTFILES.in index e76509f3b..8b97fa186 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -175,23 +175,21 @@ lib/gamelib/anim.cpp lib/gamelib/animobj.cpp lib/gamelib/gtime.cpp lib/gamelib/hashtable.cpp -lib/iniparser/dictionary.cpp lib/iniparser/iniparser.cpp -lib/ivis_common/bitimage.cpp -lib/ivis_common/imd.cpp -lib/ivis_common/imdload.cpp -lib/ivis_common/jpeg_encoder.cpp -lib/ivis_common/pieclip.cpp -lib/ivis_common/piestate.cpp -lib/ivis_common/png_util.cpp +lib/ivis_opengl/bitimage.cpp +lib/ivis_opengl/imd.cpp +lib/ivis_opengl/imdload.cpp lib/ivis_opengl/ivi.cpp +lib/ivis_opengl/jpeg_encoder.cpp lib/ivis_opengl/pieblitfunc.cpp +lib/ivis_opengl/pieclip.cpp lib/ivis_opengl/piedraw.cpp lib/ivis_opengl/piefunc.cpp lib/ivis_opengl/piematrix.cpp lib/ivis_opengl/piemode.cpp lib/ivis_opengl/piepalette.cpp lib/ivis_opengl/piestate.cpp +lib/ivis_opengl/png_util.cpp lib/ivis_opengl/rendmode.cpp lib/ivis_opengl/screen.cpp lib/ivis_opengl/tex.cpp @@ -230,7 +228,6 @@ lib/widget/widget.cpp src/action.cpp src/advvis.cpp src/ai.cpp -src/aiexperience.cpp src/astar.cpp src/atmos.cpp src/aud.cpp From 53242e1571843f8191cd9d2cc0dc202f37af8424 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sat, 1 Jan 2011 16:28:16 +0100 Subject: [PATCH 074/142] Remove some unused legacy code from the old terrain renderer and TERRAIN_VERTEX. --- lib/ivis_opengl/piedef.h | 9 ------- src/display3d.cpp | 54 ++++++++++++++++------------------------ 2 files changed, 22 insertions(+), 41 deletions(-) diff --git a/lib/ivis_opengl/piedef.h b/lib/ivis_opengl/piedef.h index 593cb55ec..8c6f5c1c6 100644 --- a/lib/ivis_opengl/piedef.h +++ b/lib/ivis_opengl/piedef.h @@ -47,15 +47,6 @@ typedef struct { UBYTE r, g, b, a; } PIELIGHTBYTES; /** Our basic colour type. Use whenever you want to define a colour. * Set bytes separetely, and do not assume a byte order between the components. */ typedef union { PIELIGHTBYTES byte; UDWORD rgba; UBYTE vector[4]; } PIELIGHT; - -typedef struct -{ - Vector3i pos; - float u, v; - PIELIGHT light; - Vector3i screen; //! Screenspace tile coordinates -} TERRAIN_VERTEX; - typedef struct {SWORD x, y, w, h;} PIERECT; /**< Screen rectangle. */ typedef struct {SDWORD texPage; SWORD tu, tv, tw, th;} PIEIMAGE; /**< An area of texture. */ diff --git a/src/display3d.cpp b/src/display3d.cpp index 50cdc637a..9cf31cd6b 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -161,7 +161,7 @@ static Vector3i imdRot,imdRot2; UDWORD distance; /// Stores the screen coordinates of the transformed terrain tiles -static TERRAIN_VERTEX tileScreenInfo[VISIBLE_YTILES+1][VISIBLE_XTILES+1]; +static Vector3i tileScreenInfo[VISIBLE_YTILES+1][VISIBLE_XTILES+1]; /// Records the present X and Y values for the current mouse tile (in tiles) SDWORD mouseTileX, mouseTileY; @@ -934,39 +934,29 @@ static void drawTiles(iView *player) theSun = getTheSun(); pie_BeginLighting(&theSun, getDrawShadows()); - // update the fog of war + // update the fog of war... FIXME: Remove this for (i = 0; i < visibleTiles.y+1; i++) { /* Go through the x's */ for (j = 0; j < visibleTiles.x+1; j++) { - Vector2i screen; - PIELIGHT TileIllum = WZCOL_BLACK; + Vector2i screen(0, 0); + Position pos; - tileScreenInfo[i][j].pos.x = world_coord(j - terrainMidX); - tileScreenInfo[i][j].pos.z = world_coord(terrainMidY - i); - tileScreenInfo[i][j].pos.y = 0; + pos.x = world_coord(j - terrainMidX); + pos.z = world_coord(terrainMidY - i); + pos.y = 0; - if (!tileOnMap(playerXTile + j, playerZTile + i)) - { - // Special past-edge-of-map tiles - tileScreenInfo[i][j].u = 0; - tileScreenInfo[i][j].v = 0; - } - else + if (tileOnMap(playerXTile + j, playerZTile + i)) { MAPTILE *psTile = mapTile(playerXTile + j, playerZTile + i); - tileScreenInfo[i][j].pos.y = map_TileHeight(playerXTile + j, playerZTile + i); - TileIllum = pal_SetBrightness(psTile->level); - setTileColour(playerXTile + j, playerZTile + i, TileIllum); + pos.y = map_TileHeight(playerXTile + j, playerZTile + i); + setTileColour(playerXTile + j, playerZTile + i, pal_SetBrightness(psTile->level)); } - // hack since tileScreenInfo[i][j].screen is Vector3i and pie_RotateProject takes Vector2i as 2nd param - screen.x = tileScreenInfo[i][j].screen.x; - screen.y = tileScreenInfo[i][j].screen.y; - tileScreenInfo[i][j].screen.z = pie_RotateProject(&tileScreenInfo[i][j].pos, &screen); - tileScreenInfo[i][j].screen.x = screen.x; - tileScreenInfo[i][j].screen.y = screen.y; + tileScreenInfo[i][j].z = pie_RotateProject(&pos, &screen); + tileScreenInfo[i][j].x = screen.x; + tileScreenInfo[i][j].y = screen.y; } } @@ -3599,23 +3589,23 @@ static void locateMouse(void) unsigned int j; for(j = 0; j < visibleTiles.y; ++j) { - int tileZ = tileScreenInfo[i][j].screen.z; + int tileZ = tileScreenInfo[i][j].z; if(tileZ <= nearestZ) { QUAD quad; - quad.coords[0].x = tileScreenInfo[i+0][j+0].screen.x; - quad.coords[0].y = tileScreenInfo[i+0][j+0].screen.y; + quad.coords[0].x = tileScreenInfo[i+0][j+0].x; + quad.coords[0].y = tileScreenInfo[i+0][j+0].y; - quad.coords[1].x = tileScreenInfo[i+0][j+1].screen.x; - quad.coords[1].y = tileScreenInfo[i+0][j+1].screen.y; + quad.coords[1].x = tileScreenInfo[i+0][j+1].x; + quad.coords[1].y = tileScreenInfo[i+0][j+1].y; - quad.coords[2].x = tileScreenInfo[i+1][j+1].screen.x; - quad.coords[2].y = tileScreenInfo[i+1][j+1].screen.y; + quad.coords[2].x = tileScreenInfo[i+1][j+1].x; + quad.coords[2].y = tileScreenInfo[i+1][j+1].y; - quad.coords[3].x = tileScreenInfo[i+1][j+0].screen.x; - quad.coords[3].y = tileScreenInfo[i+1][j+0].screen.y; + quad.coords[3].x = tileScreenInfo[i+1][j+0].x; + quad.coords[3].y = tileScreenInfo[i+1][j+0].y; /* We've got a match for our mouse coords */ if (inQuad(&pt, &quad)) From 4ececd8e4953cc350d80569f3daee2836ae37f7c Mon Sep 17 00:00:00 2001 From: buginator Date: Sat, 1 Jan 2011 13:46:12 -0500 Subject: [PATCH 075/142] Fix a plethora of issues for MSVC builds Rename MERGECOPY to MERGECOPYSYNC to prevent clobbering of a windows function named that. --- lib/framework/wzglobal.h | 5 ++++- lib/iniparser/iniparser.vcproj | 4 ---- lib/ivis_opengl/ivis_opengl.vcproj | 24 ++++++++++++++++++++++++ src/multisync.cpp | 6 +++--- win32/Warzone2100.sln | 7 ------- win32/Warzone2100.vcproj | 4 ---- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/lib/framework/wzglobal.h b/lib/framework/wzglobal.h index 79ad49a45..a720db250 100644 --- a/lib/framework/wzglobal.h +++ b/lib/framework/wzglobal.h @@ -532,6 +532,8 @@ # include # include # endif /* _DEBUG */ +// Required for alloca +# include # endif /* WZ_CC_* */ # define WIN32_LEAN_AND_MEAN @@ -542,7 +544,7 @@ # if defined(WZ_CC_MSVC) // notify people we are disabling these warning messages. -# pragma message (" *** Warnings 4018,4100,4127,4204,4244,4267,4389,4800 have been squelched. ***") +# pragma message (" *** Warnings 4018,4100,4127,4204,4244,4267,4389,4512,4800 have been squelched. ***") # pragma warning (disable : 4018) // Shut up: '>' : signed/unsigned mismatch # pragma warning (disable : 4100) // Shut up: unreferenced formal parameter (FIXME) # pragma warning (disable : 4127) // Shut up: conditional expression is constant (eg. "while(0)") @@ -551,6 +553,7 @@ # pragma warning (disable : 4267) // Shut up: conversion from 'size_t' to 'type', possible loss of data # pragma warning (disable : 4389) // Shut up: '==' : signed/unsigned mismatch # pragma warning (disable : 4800) // Shut up: 'BOOL' : forcing value to bool 'true' or 'false' (performance warning) +# pragma warning (disable : 4512) // Shut up: 'class' : assignment operator could not be generated # define strcasecmp _stricmp # define strncasecmp _strnicmp diff --git a/lib/iniparser/iniparser.vcproj b/lib/iniparser/iniparser.vcproj index 4f5548fed..c57d69f07 100644 --- a/lib/iniparser/iniparser.vcproj +++ b/lib/iniparser/iniparser.vcproj @@ -147,10 +147,6 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - diff --git a/lib/ivis_opengl/ivis_opengl.vcproj b/lib/ivis_opengl/ivis_opengl.vcproj index cc2377a37..b6ba8b717 100644 --- a/lib/ivis_opengl/ivis_opengl.vcproj +++ b/lib/ivis_opengl/ivis_opengl.vcproj @@ -149,18 +149,38 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > + + + + + + + + + + @@ -185,6 +205,10 @@ RelativePath=".\piestate.cpp" > + + diff --git a/src/multisync.cpp b/src/multisync.cpp index 03169afde..682d56b69 100644 --- a/src/multisync.cpp +++ b/src/multisync.cpp @@ -371,7 +371,7 @@ BOOL recvDroidCheck(NETQUEUE queue) continue; // Can't synch, since we didn't save data to be able to calculate a delta. } -#define MERGECOPY(x, y, z) if (pc.y != pc2.y) { debug(LOG_SYNC, "Droid %u out of synch, changing "#x" from %"z" to %"z".", pc.droidID, x, pc.y); x = pc.y; } +#define MERGECOPYSYNC(x, y, z) if (pc.y != pc2.y) { debug(LOG_SYNC, "Droid %u out of synch, changing "#x" from %"z" to %"z".", pc.droidID, x, pc.y); x = pc.y; } #define MERGEDELTA(x, y, z) if (pc.y != pc2.y) { debug(LOG_SYNC, "Droid %u out of synch, changing "#x" from %"z" to %"z".", pc.droidID, x, x + pc.y - pc2.y); x += pc.y - pc2.y; } // player not synched here... precPos = droidGetPrecisePosition(pD); @@ -445,8 +445,8 @@ BOOL recvDroidCheck(NETQUEUE queue) break; // Don't know what to do, but at least won't be actively breaking anything. } - MERGECOPY(pD->secondaryOrder, secondaryOrder, "u"); // The old code set this after changing orders, so doing that in case. -#undef MERGECOPY + MERGECOPYSYNC(pD->secondaryOrder, secondaryOrder, "u"); // The old code set this after changing orders, so doing that in case. +#undef MERGECOPYSYNC #undef MERGEDELTA syncDebugDroid(pD, '>'); diff --git a/win32/Warzone2100.sln b/win32/Warzone2100.sln index 41f2725c0..cac68dfec 100644 --- a/win32/Warzone2100.sln +++ b/win32/Warzone2100.sln @@ -6,7 +6,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Warzone2100", "Warzone2100. {C7698ECE-9255-4A60-8091-A9A76E8BE911} = {C7698ECE-9255-4A60-8091-A9A76E8BE911} {EFE011B6-4C0B-40AA-9F18-5AD599E70D28} = {EFE011B6-4C0B-40AA-9F18-5AD599E70D28} {E538D7A9-0660-4979-95F4-80B0C5C11DA7} = {E538D7A9-0660-4979-95F4-80B0C5C11DA7} - {F580F567-CE2A-4C58-A036-C1B71664BF2D} = {F580F567-CE2A-4C58-A036-C1B71664BF2D} {30F5FC4A-31F5-42F5-9581-45309559382F} = {30F5FC4A-31F5-42F5-9581-45309559382F} {4D637147-73F9-4A51-944B-34BF78E6C6DC} = {4D637147-73F9-4A51-944B-34BF78E6C6DC} {32FC4941-5ADF-483F-BD90-CDEBC50BA4AE} = {32FC4941-5ADF-483F-BD90-CDEBC50BA4AE} @@ -29,8 +28,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "netplay", "..\lib\netplay\n EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ivis_opengl", "..\lib\ivis_opengl\ivis_opengl.vcproj", "{4D637147-73F9-4A51-944B-34BF78E6C6DC}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ivis_common", "..\lib\ivis_common\ivis_common.vcproj", "{F580F567-CE2A-4C58-A036-C1B71664BF2D}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gamelib", "..\lib\gamelib\gamelib.vcproj", "{EFE011B6-4C0B-40AA-9F18-5AD599E70D28}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "framework", "..\lib\framework\framework.vcproj", "{33979915-684A-4885-BFEA-2A4CCC5A5FD6}" @@ -80,10 +77,6 @@ Global {4D637147-73F9-4A51-944B-34BF78E6C6DC}.Debug|Win32.Build.0 = Debug|Win32 {4D637147-73F9-4A51-944B-34BF78E6C6DC}.Release|Win32.ActiveCfg = Release|Win32 {4D637147-73F9-4A51-944B-34BF78E6C6DC}.Release|Win32.Build.0 = Release|Win32 - {F580F567-CE2A-4C58-A036-C1B71664BF2D}.Debug|Win32.ActiveCfg = Debug|Win32 - {F580F567-CE2A-4C58-A036-C1B71664BF2D}.Debug|Win32.Build.0 = Debug|Win32 - {F580F567-CE2A-4C58-A036-C1B71664BF2D}.Release|Win32.ActiveCfg = Release|Win32 - {F580F567-CE2A-4C58-A036-C1B71664BF2D}.Release|Win32.Build.0 = Release|Win32 {EFE011B6-4C0B-40AA-9F18-5AD599E70D28}.Debug|Win32.ActiveCfg = Debug|Win32 {EFE011B6-4C0B-40AA-9F18-5AD599E70D28}.Debug|Win32.Build.0 = Debug|Win32 {EFE011B6-4C0B-40AA-9F18-5AD599E70D28}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/win32/Warzone2100.vcproj b/win32/Warzone2100.vcproj index c6c805a0f..4c1a329c0 100644 --- a/win32/Warzone2100.vcproj +++ b/win32/Warzone2100.vcproj @@ -247,10 +247,6 @@ RelativePath="..\src\ai.cpp" > - - From c10886b7b1409ae19d75d6b35b4e87380318b79f Mon Sep 17 00:00:00 2001 From: buginator Date: Sat, 1 Jan 2011 14:17:16 -0500 Subject: [PATCH 076/142] Change (HANDLE)(HANDLE)hProcess to (HANDLE)hProcess --- lib/exceptionhandler/exchndl.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/exceptionhandler/exchndl.cpp b/lib/exceptionhandler/exchndl.cpp index 11f80b8f5..6071fbe10 100644 --- a/lib/exceptionhandler/exchndl.cpp +++ b/lib/exceptionhandler/exchndl.cpp @@ -610,25 +610,22 @@ BOOL WINAPI IntelStackWalk( // Error 26 error C2664: 'BOOL (HANDLE,DWORD,PVOID,DWORD,PDWORD)' : // cannot convert parameter 2 from 'void *' to 'DWORD' // c:\warzone\lib\exceptionhandler\exchndl.cpp 599 -// Error 27 error C2664: 'BOOL (HANDLE,DWORD,PVOID,DWORD,PDWORD)' : -// cannot convert parameter 1 from 'DWORD' to 'HANDLE' <----------------------- What the??! Ok, I'll cast "(HANDLE)hProcess" to a HANDLE again then. -// c:\warzone\lib\exceptionhandler\exchndl.cpp 599 // ../../../../lib/exceptionhandler/exchndl.cpp: In function ‘BOOL IntelStackWalk(DWORD, void*, void*, _tagSTACKFRAME*, CONTEXT*, BOOL (*)(void*, const void*, void*, DWORD, DWORD*), void* (*)(void*, DWORD), DWORD (*)(void*, DWORD), DWORD (*)(void*, void*, _tagADDRESS*))’: // ../../../../lib/exceptionhandler/exchndl.cpp:599: error: invalid conversion from ‘long unsigned int’ to ‘const void*’ - if(!ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD))), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD))), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } else { StackFrame->AddrPC.Offset = StackFrame->AddrReturn.Offset; //AddrStack = AddrFrame + 2*sizeof(DWORD); - if(!ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) StackFrame->AddrFrame.Offset), (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) StackFrame->AddrFrame.Offset), (void *)&StackFrame->AddrFrame.Offset, sizeof(DWORD), NULL)) return FALSE; - if(!ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD))), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) + if(!ReadMemoryRoutine((HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + sizeof(DWORD))), (void *)&StackFrame->AddrReturn.Offset, sizeof(DWORD), NULL)) return FALSE; } - ReadMemoryRoutine((HANDLE)(HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD))), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); + ReadMemoryRoutine((HANDLE)hProcess, ItDoesntMatterIfItsADWORDOrAVoidPointer_JustCompileTheDamnThing((void *) (StackFrame->AddrFrame.Offset + 2*sizeof(DWORD))), (void *)StackFrame->Params, sizeof(StackFrame->Params), NULL); return TRUE; } From 738a1fc38c204d63a2f36c1698125a2f0127e9ff Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 1 Jan 2011 21:28:13 +0100 Subject: [PATCH 077/142] Strip "Class::" from "Class::myFunction" when compiling with MSVC, in syncDebug(). Other compilers don't add the "Class::". --- lib/netplay/netplay.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index c3374e90d..64af077cd 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -2983,6 +2983,10 @@ static uint32_t syncDebugCrcs[MAX_SYNC_HISTORY + 1]; void _syncDebug(const char *function, const char *str, ...) { +#ifdef WZ_CC_MSVC + char const *f = function; while (*f != '\0') if (*f++ == ':') function = f; // Strip "Class::" from "Class::myFunction". +#endif + va_list ap; char outputBuffer[MAX_LEN_LOG_LINE]; @@ -3002,6 +3006,10 @@ void _syncDebug(const char *function, const char *str, ...) void _syncDebugBacktrace(const char *function) { +#ifdef WZ_CC_MSVC + char const *f = function; while (*f != '\0') if (*f++ == ':') function = f; // Strip "Class::" from "Class::myFunction". +#endif + uint32_t backupCrc = syncDebugCrcs[syncDebugNext]; // Ignore CRC changes from _syncDebug(), since identical backtraces can be printed differently. #ifdef WZ_OS_LINUX From 734d52984de9dcab1dbdbcd530ed7221ba59e83c Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 1 Jan 2011 23:24:25 +0100 Subject: [PATCH 078/142] Set bsocket = NULL when host drops, hopefully reduce the chance of crashing. --- lib/netplay/netplay.cpp | 10 +++++++--- lib/netplay/nettypes.cpp | 6 ++++++ lib/netplay/nettypes.h | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index 64af077cd..6fb961142 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -253,6 +253,7 @@ static size_t NET_fillBuffer(Socket **pSocket, SocketSet* socket_set, uint8_t *b debug(LOG_NET, "Host connection was lost!"); NETlogEntry("Host connection was lost!", SYNC_FLAG, selectedPlayer); tcp_socket = NULL; + bsocket = NULL; // Because tcp_socket == bsocket... //Game is pretty much over --should just end everything when HOST dies. NetPlay.isHostAlive = false; setLobbyError(ERROR_HOSTDROPPED); @@ -1281,6 +1282,7 @@ bool NETsend(uint8_t player, NetMessage const *message) SocketSet_DelSocket(socket_set, tcp_socket); // mark it invalid socketClose(tcp_socket); tcp_socket = NULL; + bsocket = NULL; // Because tcp_socket == bsocket... NetPlay.players[NetPlay.hostPlayer].heartbeat = false; // mark host as dead //Game is pretty much over --should just end everything when HOST dies. NetPlay.isHostAlive = false; @@ -2785,14 +2787,16 @@ BOOL NETjoinGame(UDWORD gameNumber, const char* playername) // Send a join message to the host NETbeginEncode(NETnetQueue(NET_HOST_ONLY), NET_JOIN); - // Casting constness away, because NETstring is const-incorrect - // when sending/encoding a packet. - NETstring((char*)playername, 64); + NETstring(playername, 64); NETint32_t(&NETCODE_VERSION_MAJOR); NETint32_t(&NETCODE_VERSION_MINOR); NETstring(getModList(), modlist_string_size); NETstring(NetPlay.gamePassword, sizeof(NetPlay.gamePassword)); NETend(); + if (bsocket == NULL) + { + return false; // Connection dropped while sending NET_JOIN. + } socketFlush(bsocket); // Make sure the message was completely sent. i = SDL_GetTicks(); diff --git a/lib/netplay/nettypes.cpp b/lib/netplay/nettypes.cpp index f81331fee..f6aefa6b5 100644 --- a/lib/netplay/nettypes.cpp +++ b/lib/netplay/nettypes.cpp @@ -627,6 +627,12 @@ void NETstring(char *str, uint16_t maxlen) } } +void NETstring(char const *str, uint16_t maxlen) +{ + ASSERT(NETgetPacketDir() == PACKET_ENCODE, "Writing to const!"); + NETstring(const_cast(str), maxlen); +} + void NETbin(uint8_t *str, uint32_t maxlen) { /* diff --git a/lib/netplay/nettypes.h b/lib/netplay/nettypes.h index 6bfbf8e9f..25aba5132 100644 --- a/lib/netplay/nettypes.h +++ b/lib/netplay/nettypes.h @@ -83,6 +83,7 @@ void NETuint64_t(uint64_t *ip); void NETbool(BOOL *bp); void NETbool(bool *bp); void NETstring(char *str, uint16_t maxlen); +void NETstring(char const *str, uint16_t maxlen); ///< Encode-only version of NETstring. void NETbin(uint8_t *str, uint32_t maxlen); PACKETDIR NETgetPacketDir(void); From a0dc6a08b747c4d4d2715dc26dfea34f2dc4ae42 Mon Sep 17 00:00:00 2001 From: dak180 Date: Sun, 2 Jan 2011 16:28:46 -0500 Subject: [PATCH 079/142] Make the xcode project work with the changes made in fca489ce4279c0679210ff2a9ba978587da76c2d, 1c0af54edf3db922553bf2f7592827e4efe01814, 67e9635f9f434af3c682a5ab8d2d85cb1bea584e & 178569f364fd91ea69ef7a173fdbc2fa6428002b. --- macosx/Warzone.xcodeproj/project.pbxproj | 72 ++++++++---------------- 1 file changed, 25 insertions(+), 47 deletions(-) diff --git a/macosx/Warzone.xcodeproj/project.pbxproj b/macosx/Warzone.xcodeproj/project.pbxproj index 81021698f..b4f12bae4 100644 --- a/macosx/Warzone.xcodeproj/project.pbxproj +++ b/macosx/Warzone.xcodeproj/project.pbxproj @@ -160,7 +160,6 @@ 0246A1210BD3CC43004D1C70 /* piematrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A10F0BD3CC43004D1C70 /* piematrix.cpp */; }; 0246A1220BD3CC43004D1C70 /* piemode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1110BD3CC43004D1C70 /* piemode.cpp */; }; 0246A1230BD3CC43004D1C70 /* piepalette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1120BD3CC43004D1C70 /* piepalette.cpp */; }; - 0246A1240BD3CC43004D1C70 /* piestate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1130BD3CC43004D1C70 /* piestate.cpp */; }; 0246A1270BD3CC43004D1C70 /* rendmode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1170BD3CC43004D1C70 /* rendmode.cpp */; }; 0246A1280BD3CC43004D1C70 /* screen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1180BD3CC43004D1C70 /* screen.cpp */; }; 0246A1290BD3CC43004D1C70 /* tex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A11A0BD3CC43004D1C70 /* tex.cpp */; }; @@ -191,7 +190,6 @@ 0246A28D0BD3CCDC004D1C70 /* action.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1980BD3CCDB004D1C70 /* action.cpp */; }; 0246A28E0BD3CCDC004D1C70 /* advvis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A19A0BD3CCDB004D1C70 /* advvis.cpp */; }; 0246A28F0BD3CCDC004D1C70 /* ai.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A19C0BD3CCDB004D1C70 /* ai.cpp */; }; - 0246A2900BD3CCDC004D1C70 /* aiexperience.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A19E0BD3CCDB004D1C70 /* aiexperience.cpp */; }; 0246A2920BD3CCDC004D1C70 /* astar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1A30BD3CCDB004D1C70 /* astar.cpp */; }; 0246A2930BD3CCDC004D1C70 /* atmos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1A50BD3CCDB004D1C70 /* atmos.cpp */; }; 0246A2940BD3CCDC004D1C70 /* aud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0246A1A70BD3CCDB004D1C70 /* aud.cpp */; }; @@ -564,7 +562,6 @@ 43F300C310D344B000707B6E /* x86state.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F3008C10D344B000707B6E /* x86state.c */; }; 43F300D710D3496D00707B6E /* encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F3006710D344AF00707B6E /* encode.c */; }; 43F3405B11CAA83D00D1E6C8 /* crc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43F3405911CAA83D00D1E6C8 /* crc.cpp */; }; - 647D9C531039288D006D37CF /* dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 647D9C4F1039288D006D37CF /* dictionary.cpp */; }; 647D9C541039288D006D37CF /* iniparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 647D9C511039288D006D37CF /* iniparser.cpp */; }; 647D9C571039289A006D37CF /* challenge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 647D9C551039289A006D37CF /* challenge.cpp */; }; 9742E5730DF9975E000A5D41 /* lexer_input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9742E5710DF9975E000A5D41 /* lexer_input.cpp */; }; @@ -962,26 +959,26 @@ 0246A0DD0BD3CC0B004D1C70 /* gtime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = gtime.cpp; path = ../lib/gamelib/gtime.cpp; sourceTree = SOURCE_ROOT; }; 0246A0DE0BD3CC0B004D1C70 /* gtime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = gtime.h; path = ../lib/gamelib/gtime.h; sourceTree = SOURCE_ROOT; }; 0246A0E20BD3CC0B004D1C70 /* parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = parser.h; path = ../lib/gamelib/parser.h; sourceTree = SOURCE_ROOT; }; - 0246A0EA0BD3CC29004D1C70 /* bitimage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = bitimage.cpp; path = ../lib/ivis_common/bitimage.cpp; sourceTree = SOURCE_ROOT; }; - 0246A0EB0BD3CC29004D1C70 /* bitimage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = bitimage.h; path = ../lib/ivis_common/bitimage.h; sourceTree = SOURCE_ROOT; }; - 0246A0EE0BD3CC29004D1C70 /* imd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = imd.cpp; path = ../lib/ivis_common/imd.cpp; sourceTree = SOURCE_ROOT; }; - 0246A0EF0BD3CC29004D1C70 /* imd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = imd.h; path = ../lib/ivis_common/imd.h; sourceTree = SOURCE_ROOT; }; - 0246A0F00BD3CC29004D1C70 /* imdload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = imdload.cpp; path = ../lib/ivis_common/imdload.cpp; sourceTree = SOURCE_ROOT; }; - 0246A0F10BD3CC29004D1C70 /* ivi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = ivi.h; path = ../lib/ivis_common/ivi.h; sourceTree = SOURCE_ROOT; }; - 0246A0F20BD3CC29004D1C70 /* ivisdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = ivisdef.h; path = ../lib/ivis_common/ivisdef.h; sourceTree = SOURCE_ROOT; }; - 0246A0F50BD3CC29004D1C70 /* pieblitfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = pieblitfunc.h; path = ../lib/ivis_common/pieblitfunc.h; sourceTree = SOURCE_ROOT; }; - 0246A0F60BD3CC29004D1C70 /* pieclip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = pieclip.cpp; path = ../lib/ivis_common/pieclip.cpp; sourceTree = SOURCE_ROOT; }; - 0246A0F70BD3CC29004D1C70 /* pieclip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = pieclip.h; path = ../lib/ivis_common/pieclip.h; sourceTree = SOURCE_ROOT; }; - 0246A0F80BD3CC29004D1C70 /* piedef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piedef.h; path = ../lib/ivis_common/piedef.h; sourceTree = SOURCE_ROOT; }; - 0246A0F90BD3CC29004D1C70 /* piefunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piefunc.h; path = ../lib/ivis_common/piefunc.h; sourceTree = SOURCE_ROOT; }; - 0246A0FA0BD3CC29004D1C70 /* piemode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piemode.h; path = ../lib/ivis_common/piemode.h; sourceTree = SOURCE_ROOT; }; - 0246A0FB0BD3CC29004D1C70 /* piepalette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piepalette.h; path = ../lib/ivis_common/piepalette.h; sourceTree = SOURCE_ROOT; }; - 0246A0FC0BD3CC29004D1C70 /* piestate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = piestate.cpp; path = ../lib/ivis_common/piestate.cpp; sourceTree = SOURCE_ROOT; }; - 0246A0FD0BD3CC29004D1C70 /* piestate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piestate.h; path = ../lib/ivis_common/piestate.h; sourceTree = SOURCE_ROOT; }; - 0246A0FE0BD3CC29004D1C70 /* pietypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = pietypes.h; path = ../lib/ivis_common/pietypes.h; sourceTree = SOURCE_ROOT; }; - 0246A1000BD3CC29004D1C70 /* rendmode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = rendmode.h; path = ../lib/ivis_common/rendmode.h; sourceTree = SOURCE_ROOT; }; - 0246A1010BD3CC29004D1C70 /* tex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = tex.h; path = ../lib/ivis_common/tex.h; sourceTree = SOURCE_ROOT; }; - 0246A1020BD3CC29004D1C70 /* textdraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = textdraw.h; path = ../lib/ivis_common/textdraw.h; sourceTree = SOURCE_ROOT; }; + 0246A0EA0BD3CC29004D1C70 /* bitimage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = bitimage.cpp; path = ../lib/ivis_opengl/bitimage.cpp; sourceTree = SOURCE_ROOT; }; + 0246A0EB0BD3CC29004D1C70 /* bitimage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = bitimage.h; path = ../lib/ivis_opengl/bitimage.h; sourceTree = SOURCE_ROOT; }; + 0246A0EE0BD3CC29004D1C70 /* imd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = imd.cpp; path = ../lib/ivis_opengl/imd.cpp; sourceTree = SOURCE_ROOT; }; + 0246A0EF0BD3CC29004D1C70 /* imd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = imd.h; path = ../lib/ivis_opengl/imd.h; sourceTree = SOURCE_ROOT; }; + 0246A0F00BD3CC29004D1C70 /* imdload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = imdload.cpp; path = ../lib/ivis_opengl/imdload.cpp; sourceTree = SOURCE_ROOT; }; + 0246A0F10BD3CC29004D1C70 /* ivi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = ivi.h; path = ../lib/ivis_opengl/ivi.h; sourceTree = SOURCE_ROOT; }; + 0246A0F20BD3CC29004D1C70 /* ivisdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = ivisdef.h; path = ../lib/ivis_opengl/ivisdef.h; sourceTree = SOURCE_ROOT; }; + 0246A0F50BD3CC29004D1C70 /* pieblitfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = pieblitfunc.h; path = ../lib/ivis_opengl/pieblitfunc.h; sourceTree = SOURCE_ROOT; }; + 0246A0F60BD3CC29004D1C70 /* pieclip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = pieclip.cpp; path = ../lib/ivis_opengl/pieclip.cpp; sourceTree = SOURCE_ROOT; }; + 0246A0F70BD3CC29004D1C70 /* pieclip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = pieclip.h; path = ../lib/ivis_opengl/pieclip.h; sourceTree = SOURCE_ROOT; }; + 0246A0F80BD3CC29004D1C70 /* piedef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piedef.h; path = ../lib/ivis_opengl/piedef.h; sourceTree = SOURCE_ROOT; }; + 0246A0F90BD3CC29004D1C70 /* piefunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piefunc.h; path = ../lib/ivis_opengl/piefunc.h; sourceTree = SOURCE_ROOT; }; + 0246A0FA0BD3CC29004D1C70 /* piemode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piemode.h; path = ../lib/ivis_opengl/piemode.h; sourceTree = SOURCE_ROOT; }; + 0246A0FB0BD3CC29004D1C70 /* piepalette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piepalette.h; path = ../lib/ivis_opengl/piepalette.h; sourceTree = SOURCE_ROOT; }; + 0246A0FC0BD3CC29004D1C70 /* piestate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = piestate.cpp; path = ../lib/ivis_opengl/piestate.cpp; sourceTree = SOURCE_ROOT; }; + 0246A0FD0BD3CC29004D1C70 /* piestate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = piestate.h; path = ../lib/ivis_opengl/piestate.h; sourceTree = SOURCE_ROOT; }; + 0246A0FE0BD3CC29004D1C70 /* pietypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = pietypes.h; path = ../lib/ivis_opengl/pietypes.h; sourceTree = SOURCE_ROOT; }; + 0246A1000BD3CC29004D1C70 /* rendmode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = rendmode.h; path = ../lib/ivis_opengl/rendmode.h; sourceTree = SOURCE_ROOT; }; + 0246A1010BD3CC29004D1C70 /* tex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = tex.h; path = ../lib/ivis_opengl/tex.h; sourceTree = SOURCE_ROOT; }; + 0246A1020BD3CC29004D1C70 /* textdraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = textdraw.h; path = ../lib/ivis_opengl/textdraw.h; sourceTree = SOURCE_ROOT; }; 0246A10B0BD3CC43004D1C70 /* ivi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = ivi.cpp; path = ../lib/ivis_opengl/ivi.cpp; sourceTree = SOURCE_ROOT; }; 0246A10C0BD3CC43004D1C70 /* pieblitfunc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = pieblitfunc.cpp; path = ../lib/ivis_opengl/pieblitfunc.cpp; sourceTree = SOURCE_ROOT; }; 0246A10D0BD3CC43004D1C70 /* piedraw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = piedraw.cpp; path = ../lib/ivis_opengl/piedraw.cpp; sourceTree = SOURCE_ROOT; }; @@ -1051,8 +1048,6 @@ 0246A19B0BD3CCDB004D1C70 /* advvis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = advvis.h; path = ../src/advvis.h; sourceTree = SOURCE_ROOT; }; 0246A19C0BD3CCDB004D1C70 /* ai.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = ai.cpp; path = ../src/ai.cpp; sourceTree = SOURCE_ROOT; }; 0246A19D0BD3CCDB004D1C70 /* ai.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = ai.h; path = ../src/ai.h; sourceTree = SOURCE_ROOT; }; - 0246A19E0BD3CCDB004D1C70 /* aiexperience.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = aiexperience.cpp; path = ../src/aiexperience.cpp; sourceTree = SOURCE_ROOT; }; - 0246A19F0BD3CCDB004D1C70 /* aiexperience.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = aiexperience.h; path = ../src/aiexperience.h; sourceTree = SOURCE_ROOT; }; 0246A1A00BD3CCDB004D1C70 /* anim_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = anim_id.h; path = ../src/anim_id.h; sourceTree = SOURCE_ROOT; }; 0246A1A30BD3CCDB004D1C70 /* astar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = astar.cpp; path = ../src/astar.cpp; sourceTree = SOURCE_ROOT; }; 0246A1A40BD3CCDB004D1C70 /* astar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = astar.h; path = ../src/astar.h; sourceTree = SOURCE_ROOT; }; @@ -1269,8 +1264,8 @@ 02B2132C0DA8755F0059E864 /* cursors32.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = cursors32.cpp; path = ../lib/framework/cursors32.cpp; sourceTree = SOURCE_ROOT; }; 02BBB2070DA874F6002D438B /* exceptionhandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = exceptionhandler.cpp; path = ../lib/exceptionhandler/exceptionhandler.cpp; sourceTree = SOURCE_ROOT; }; 02BBB2080DA874F6002D438B /* exceptionhandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = exceptionhandler.h; path = ../lib/exceptionhandler/exceptionhandler.h; sourceTree = SOURCE_ROOT; }; - 02C8AEF60BE68A5600E9D8A7 /* png_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = png_util.cpp; path = ../lib/ivis_common/png_util.cpp; sourceTree = SOURCE_ROOT; }; - 02C8AEF70BE68A5600E9D8A7 /* png_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = png_util.h; path = ../lib/ivis_common/png_util.h; sourceTree = SOURCE_ROOT; }; + 02C8AEF60BE68A5600E9D8A7 /* png_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = png_util.cpp; path = ../lib/ivis_opengl/png_util.cpp; sourceTree = SOURCE_ROOT; }; + 02C8AEF70BE68A5600E9D8A7 /* png_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = png_util.h; path = ../lib/ivis_opengl/png_util.h; sourceTree = SOURCE_ROOT; }; 02C8AEFA0BE68A6800E9D8A7 /* oggvorbis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = oggvorbis.cpp; path = ../lib/sound/oggvorbis.cpp; sourceTree = SOURCE_ROOT; }; 02C8AEFB0BE68A6800E9D8A7 /* oggvorbis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = oggvorbis.h; path = ../lib/sound/oggvorbis.h; sourceTree = SOURCE_ROOT; }; 02CDDCF40D159BC300722688 /* Autorevision */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Autorevision; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1502,8 +1497,8 @@ 43C18FAD114FF38B0028741B /* netsocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = netsocket.h; path = ../lib/netplay/netsocket.h; sourceTree = SOURCE_ROOT; }; 43C18FAE114FF38B0028741B /* nettypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = nettypes.cpp; path = ../lib/netplay/nettypes.cpp; sourceTree = SOURCE_ROOT; }; 43C18FAF114FF38B0028741B /* nettypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = nettypes.h; path = ../lib/netplay/nettypes.h; sourceTree = SOURCE_ROOT; }; - 43C270E711DD2EBA009BC740 /* jpeg_encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = jpeg_encoder.cpp; path = ../lib/ivis_common/jpeg_encoder.cpp; sourceTree = SOURCE_ROOT; }; - 43C270E811DD2EBA009BC740 /* jpeg_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = jpeg_encoder.h; path = ../lib/ivis_common/jpeg_encoder.h; sourceTree = SOURCE_ROOT; }; + 43C270E711DD2EBA009BC740 /* jpeg_encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = jpeg_encoder.cpp; path = ../lib/ivis_opengl/jpeg_encoder.cpp; sourceTree = SOURCE_ROOT; }; + 43C270E811DD2EBA009BC740 /* jpeg_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = jpeg_encoder.h; path = ../lib/ivis_opengl/jpeg_encoder.h; sourceTree = SOURCE_ROOT; }; 43C3B90F118BB545000BBE59 /* gzclose.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gzclose.c; path = external/zlib/gzclose.c; sourceTree = ""; }; 43C3B910118BB545000BBE59 /* gzguts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gzguts.h; path = external/zlib/gzguts.h; sourceTree = ""; }; 43C3B911118BB545000BBE59 /* gzlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gzlib.c; path = external/zlib/gzlib.c; sourceTree = ""; }; @@ -1588,8 +1583,6 @@ 43F3FFFF10D33F6600707B6E /* physfs_unicode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = physfs_unicode.c; path = external/physfs/physfs_unicode.c; sourceTree = ""; }; 43FA79911290771400DA51E7 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist.strings; sourceTree = ""; }; 43FA79921290771400DA51E7 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = ""; }; - 647D9C4F1039288D006D37CF /* dictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = dictionary.cpp; path = ../lib/iniparser/dictionary.cpp; sourceTree = SOURCE_ROOT; }; - 647D9C501039288D006D37CF /* dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = dictionary.h; path = ../lib/iniparser/dictionary.h; sourceTree = SOURCE_ROOT; }; 647D9C511039288D006D37CF /* iniparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = iniparser.cpp; path = ../lib/iniparser/iniparser.cpp; sourceTree = SOURCE_ROOT; }; 647D9C521039288D006D37CF /* iniparser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = iniparser.h; path = ../lib/iniparser/iniparser.h; sourceTree = SOURCE_ROOT; }; 647D9C551039289A006D37CF /* challenge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = challenge.cpp; path = ../src/challenge.cpp; sourceTree = SOURCE_ROOT; }; @@ -1989,7 +1982,7 @@ name = Gamelib; sourceTree = ""; }; - 0246A0E90BD3CC10004D1C70 /* Ivis Common */ = { + 0246A1090BD3CC2D004D1C70 /* Ivis OpenGL */ = { isa = PBXGroup; children = ( 43C270E711DD2EBA009BC740 /* jpeg_encoder.cpp */, @@ -2016,13 +2009,6 @@ 0246A1000BD3CC29004D1C70 /* rendmode.h */, 0246A1010BD3CC29004D1C70 /* tex.h */, 0246A1020BD3CC29004D1C70 /* textdraw.h */, - ); - name = "Ivis Common"; - sourceTree = ""; - }; - 0246A1090BD3CC2D004D1C70 /* Ivis OpenGL */ = { - isa = PBXGroup; - children = ( 02DE76040DC3B84800D48F58 /* GLee.c */, 02DE76050DC3B84800D48F58 /* GLee.h */, 0246A10B0BD3CC43004D1C70 /* ivi.cpp */, @@ -2175,8 +2161,6 @@ 0246A19B0BD3CCDB004D1C70 /* advvis.h */, 0246A19C0BD3CCDB004D1C70 /* ai.cpp */, 0246A19D0BD3CCDB004D1C70 /* ai.h */, - 0246A19E0BD3CCDB004D1C70 /* aiexperience.cpp */, - 0246A19F0BD3CCDB004D1C70 /* aiexperience.h */, 0246A1A00BD3CCDB004D1C70 /* anim_id.h */, 0246A1A30BD3CCDB004D1C70 /* astar.cpp */, 0246A1A40BD3CCDB004D1C70 /* astar.h */, @@ -2724,7 +2708,6 @@ 0246A0D00BD3CBE1004D1C70 /* Framework */, 0246A0D60BD3CBF6004D1C70 /* Gamelib */, 43BE75E611124A32007DF934 /* iniparser */, - 0246A0E90BD3CC10004D1C70 /* Ivis Common */, 0246A1090BD3CC2D004D1C70 /* Ivis OpenGL */, 0246A12B0BD3CC47004D1C70 /* Netplay */, 0246A13A0BD3CC5B004D1C70 /* Script */, @@ -2738,8 +2721,6 @@ 43BE75E611124A32007DF934 /* iniparser */ = { isa = PBXGroup; children = ( - 647D9C4F1039288D006D37CF /* dictionary.cpp */, - 647D9C501039288D006D37CF /* dictionary.h */, 647D9C511039288D006D37CF /* iniparser.cpp */, 647D9C521039288D006D37CF /* iniparser.h */, ); @@ -3889,7 +3870,6 @@ 0246A1210BD3CC43004D1C70 /* piematrix.cpp in Sources */, 0246A1220BD3CC43004D1C70 /* piemode.cpp in Sources */, 0246A1230BD3CC43004D1C70 /* piepalette.cpp in Sources */, - 0246A1240BD3CC43004D1C70 /* piestate.cpp in Sources */, 0246A1270BD3CC43004D1C70 /* rendmode.cpp in Sources */, 0246A1280BD3CC43004D1C70 /* screen.cpp in Sources */, 0246A1290BD3CC43004D1C70 /* tex.cpp in Sources */, @@ -3920,7 +3900,6 @@ 0246A28D0BD3CCDC004D1C70 /* action.cpp in Sources */, 0246A28E0BD3CCDC004D1C70 /* advvis.cpp in Sources */, 0246A28F0BD3CCDC004D1C70 /* ai.cpp in Sources */, - 0246A2900BD3CCDC004D1C70 /* aiexperience.cpp in Sources */, 0246A2920BD3CCDC004D1C70 /* astar.cpp in Sources */, 0246A2930BD3CCDC004D1C70 /* atmos.cpp in Sources */, 0246A2940BD3CCDC004D1C70 /* aud.cpp in Sources */, @@ -4041,7 +4020,6 @@ 974964330F5ABC3F00A38899 /* eventsave.cpp in Sources */, 974964340F5ABC3F00A38899 /* interpreter.cpp in Sources */, 975BCF3F0FED360000C36BEC /* dumpinfo.cpp in Sources */, - 647D9C531039288D006D37CF /* dictionary.cpp in Sources */, 647D9C541039288D006D37CF /* iniparser.cpp in Sources */, 647D9C571039289A006D37CF /* challenge.cpp in Sources */, 43A8417811028EDD00733CCB /* pointtree.cpp in Sources */, From ccc544454508e64a666a7decbfbf993a2117411f Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 3 Jan 2011 23:53:00 +0100 Subject: [PATCH 080/142] Fix unused in-game kick message handling --- src/multiplay.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/multiplay.cpp b/src/multiplay.cpp index 3e60d77d4..91aaf9fdb 100644 --- a/src/multiplay.cpp +++ b/src/multiplay.cpp @@ -801,31 +801,31 @@ BOOL recvMessage(void) case GAME_ALLIANCE: recvAlliance(queue, true); break; - case NET_KICK: + case NET_KICK: // in-game kick message { - // FIX ME: in game kick ? Is this even possible with current code? uint32_t player_id; char reason[MAX_KICK_REASON]; + LOBBY_ERROR_TYPES KICK_TYPE = ERROR_NOERROR; + + NETbeginDecode(queue, NET_KICK); + NETuint32_t(&player_id); + NETstring(reason, MAX_KICK_REASON); + NETenum(&KICK_TYPE); + NETend(); if (player_id == NET_HOST_ONLY) { debug(LOG_ERROR, "someone tried to kick the host--check your netplay logs!"); - NETend(); break; } - - NETbeginDecode(queue, NET_KICK); - NETuint32_t(&player_id); - NETstring( reason, MAX_KICK_REASON); - NETend(); - - if (selectedPlayer == player_id) // we've been told to leave. + else if (selectedPlayer == player_id) // we've been told to leave. { debug(LOG_ERROR, "You were kicked because %s", reason); setPlayerHasLost(true); } else { + debug(LOG_NET, "Player %d was kicked: %s", player_id, reason); NETplayerKicked(player_id); } break; From c4d4dcd73a2f9709918c1924a015f55d3fa6f5cb Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Tue, 4 Jan 2011 18:51:15 +0100 Subject: [PATCH 081/142] The colour chooser is now a proper button. The double-click kick is now gone (use the button). Kick button moved to team chooser. The kick button is removed for single player and AIs and non-hosts (made no sense). The position chooser now allows you to click on any other player to switch places. Removed broken ping symbol. Removed broken ranking symbol. Make sure we flush the connection with the kick message before we cut it. Fix reception of kick message so that we do not crash when we do receive them. ticket:2435 --- lib/netplay/netplay.h | 2 +- src/multiint.cpp | 547 ++++++++++++++++-------------------------- src/multiint.h | 10 +- 3 files changed, 214 insertions(+), 345 deletions(-) diff --git a/lib/netplay/netplay.h b/lib/netplay/netplay.h index c2964c13c..e4339ff22 100644 --- a/lib/netplay/netplay.h +++ b/lib/netplay/netplay.h @@ -232,7 +232,7 @@ typedef enum } wzFileEnum; // //////////////////////////////////////////////////////////////////////// // Player information. Filled when players join, never re-ordered. selectedPlayer global points to -// currently controlled player. This array is indexed by GUI slots in pregame. +// currently controlled player. typedef struct { char name[StringSize]; ///< Player name diff --git a/src/multiint.cpp b/src/multiint.cpp index 5af3dae86..3c58703d3 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -137,6 +137,7 @@ BOOL bHosted = false; //we have set up a game char sPlayer[128]; // player name (to be used) static int colourChooserUp = -1; static int teamChooserUp = -1; +static int positionChooserUp = -1; static BOOL SettingsUp = false; static UBYTE InitialProto = 0; static W_SCREEN *psConScreen; @@ -165,6 +166,8 @@ static void displayMultiBut (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffse static void intDisplayFeBox (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayRemoteGame (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayPlayer (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); +static void displayPosition (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); +static void displayColour (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayTeamChooser (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayMultiEditBox (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void setLockedTeamsMode (void); @@ -178,17 +181,17 @@ static void hidePasswordForm(void); static void showPasswordForm(void); // Game option functions -static void addGameOptions (BOOL bRedo); // options (rhs) boxV +static void addGameOptions(); static void addChatBox (void); static void disableMultiButs (void); static void processMultiopWidgets(UDWORD); static void SendFireUp (void); -static UDWORD bestPlayer (UDWORD); static void decideWRF (void); static void closeColourChooser (void); static void closeTeamChooser (void); +static void closePositionChooser (void); static BOOL SendColourRequest (UBYTE player, UBYTE col); static BOOL SendPositionRequest (UBYTE player, UBYTE chosenPlayer); static BOOL safeToUseColour (UDWORD player,UDWORD col); @@ -226,9 +229,7 @@ static int guessMapTilesetType(LEVEL_DATASET *psLevel) return TILESET_ARIZONA; } -/// This function is a HACK -/// Loads the entire map (including calculating gateways) just to show -/// a picture of it +/// Loads the entire map just to show a picture of it void loadMapPreview(bool hideInterface) { static char aFileName[256]; @@ -260,14 +261,14 @@ void loadMapPreview(bool hideInterface) if (!loadFileToBuffer(aFileName, pFileData, FILE_LOAD_BUFFER_SIZE, &fileSize)) { - debug(LOG_ERROR, "loadMapPreview: Failed to load terrain types file"); + debug(LOG_ERROR, "Failed to load terrain types file"); return; } if (pFileData) { if (!loadTerrainTypeMap(pFileData, fileSize)) { - debug(LOG_ERROR, "loadMapPreview: Failed to load terrain types"); + debug(LOG_ERROR, "Failed to load terrain types"); return; } } @@ -278,7 +279,7 @@ void loadMapPreview(bool hideInterface) strcpy(ptr, "/game.map"); if (!mapLoad(aFileName, true)) { - debug(LOG_ERROR, "loadMapPreview: Failed to load map"); + debug(LOG_ERROR, "Failed to load map"); return; } gwShutDown(); @@ -446,8 +447,6 @@ static BOOL OptionsInet(void) //internet options sEdInit.width = CON_NAMEBOXWIDTH; sEdInit.height = CON_NAMEBOXHEIGHT; sEdInit.pText = ""; //_("IP Address or Machine Name"); -// sEdInit.pUserData = (void*)PACKDWORD_TRI(0,IMAGE_DES_EDITBOXLEFTH , IMAGE_DES_EDITBOXLEFT); -// sEdInit.pBoxDisplay = intDisplayButtonHilight; sEdInit.pBoxDisplay = intDisplayEditBox; if (!widgAddEditBox(psConScreen, &sEdInit)) { @@ -493,8 +492,7 @@ BOOL startConnectionScreen(void) return true; } - -void runConnectionScreen(void ) +void runConnectionScreen(void) { UDWORD id; static char addr[128]; @@ -784,18 +782,6 @@ void runGameFind(void ) if (!(NetPlay.games[gameNumber].desc.dwFlags & SESSION_JOINDISABLED)) // if still joinable { - // TODO: Check whether this code is used at all in skirmish games, if not, remove it. - // if skirmish, check it wont take the last slot - // We also now check for the version string, to not allow people to join in the first place - if ((bMultiPlayer - && !NetPlay.bComms - && NETgetGameFlagsUnjoined(gameNumber,1) == SKIRMISH - && (NetPlay.games[gameNumber].desc.dwCurrentPlayers >= NetPlay.games[gameNumber].desc.dwMaxPlayers - 1)) - || (!NETgameIsCorrectVersion(&NetPlay.games[gameNumber]) != 0 )) - { - goto FAIL; - } - if (NetPlay.games[gameNumber].privateGame) { showPasswordForm(); @@ -844,8 +830,6 @@ void runGameFind(void ) hidePasswordForm(); } -FAIL: - widgDisplayScreen(psWScreen); // show the widgets currently running if(safeSearch) { @@ -999,6 +983,7 @@ static void hidePasswordForm(void) } addGames(); } + static void showPasswordForm(void) { W_CONTEXT sContext; @@ -1055,7 +1040,6 @@ static void addBlueForm(UDWORD parent,UDWORD id, const char *txt,UDWORD x,UDWORD sLabInit.width = 80; sLabInit.height = 20; sLabInit.pText = txt; -// sLabInit.pDisplay = displayFeText; widgAddLabel(psWScreen, &sLabInit); } return; @@ -1095,9 +1079,8 @@ void updateLimitFlags() ingame.flags = flags; } -// FIX ME: bRedo is not used anymore since the removal of the forced screenClearFocus() // need to check for side effects. -static void addGameOptions(BOOL bRedo) +static void addGameOptions() { widgDelete(psWScreen,MULTIOP_OPTIONS); // clear options list widgDelete(psWScreen,FRONTEND_SIDETEXT3); // del text.. @@ -1387,21 +1370,44 @@ static BOOL safeToUseColour(UDWORD player,UDWORD col) return true; } +static void initChooser(int player) +{ + // delete that players box, + widgDelete(psWScreen, MULTIOP_PLAYER_START + player); + + // delete team chooser button + widgDelete(psWScreen, MULTIOP_TEAMS_START + player); + + // delete 'ready' button + widgDelete(psWScreen, MULTIOP_READY_FORM_ID + player); + + // delete 'colour' button + widgDelete(psWScreen, MULTIOP_COLOUR_START + player); + + // remove any choosers already up + closeColourChooser(); + closeTeamChooser(); +} + +static void closePositionChooser() +{ + positionChooserUp = -1; +} + +static void addPositionChooser(int player) +{ + closeColourChooser(); + closeTeamChooser(); + closePositionChooser(); + positionChooserUp = player; + addPlayerBox(true); +} + static void addColourChooser(UDWORD player) { UDWORD i; - // delete that players box, - widgDelete(psWScreen,MULTIOP_PLAYER_START+player); - - // delete team chooser button - widgDelete(psWScreen,MULTIOP_TEAMS_START+player); - - // delete 'ready' button - widgDelete(psWScreen,MULTIOP_READY_FORM_ID+player); - - // remove colour chooser, if it's already up - closeColourChooser(); + initChooser(player); // add form. addBlueForm(MULTIOP_PLAYERS,MULTIOP_COLCHOOSER_FORM,"", @@ -1425,46 +1431,12 @@ static void addColourChooser(UDWORD player) } } - // add a kick button - if (player != selectedPlayer) - { - addMultiBut(psWScreen,MULTIOP_COLCHOOSER_FORM, MULTIOP_COLCHOOSER_KICK, - (8*(iV_GetImageWidth(FrontImages,IMAGE_PLAYER0) +5)+7) ,//x - 4, //y - iV_GetImageWidth(FrontImages,IMAGE_NOJOIN), //w - iV_GetImageHeight(FrontImages,IMAGE_NOJOIN), //h - _("Kick player"), IMAGE_NOJOIN, IMAGE_NOJOIN, IMAGE_NOJOIN); - } - - //add the position chooser. - for (i = 0; i < game.maxPlayers && allowChangePosition; i++) - { - addMultiBut(psWScreen,MULTIOP_COLCHOOSER_FORM, MULTIOP_PLAYCHOOSER+i, - (i*(iV_GetImageWidth(FrontImages,IMAGE_PLAYER0) +5)+7),//x - 23, //y - iV_GetImageWidth(FrontImages,IMAGE_WEE_GUY)+7, //w - iV_GetImageHeight(FrontImages,IMAGE_WEE_GUY), //h - _("Player position"), IMAGE_WEE_GUY, IMAGE_WEE_GUY, 10 + i); - } - - if (!NetPlay.isHost) - { - for (i=0;i= 0 && positionChooserUp != i) + { + W_BUTINIT sButInit; + sButInit.formID = MULTIOP_PLAYERS; + sButInit.id = MULTIOP_PLAYER_START + i; + sButInit.x = 7; + sButInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; + sButInit.width = MULTIOP_PLAYERWIDTH + 1; + sButInit.height = MULTIOP_PLAYERHEIGHT; + sButInit.pTip = _("Click to change to this slot"); + sButInit.pDisplay = displayPosition; + sButInit.UserData = i; + widgAddButton(psWScreen, &sButInit); + continue; + } + else if (i == colourChooserUp) + { + addColourChooser(i); + continue; + } + else if (i == teamChooserUp) + { + addTeamChooser(i); + continue; + } + else if (ingame.localOptionsReceived) { //add team chooser W_BUTINIT sButInit; @@ -1955,6 +1950,26 @@ UDWORD addPlayerBox(BOOL players) } } + // draw player colour + W_BUTINIT sColInit; + sColInit.formID = MULTIOP_PLAYERS; + sColInit.id = MULTIOP_COLOUR_START + i; + sColInit.x = 7 + MULTIOP_TEAMSWIDTH; + sColInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; + sColInit.width = MULTIOP_COLOUR_WIDTH; + sColInit.height = MULTIOP_PLAYERHEIGHT; + if (selectedPlayer == i || !NetPlay.players[i].allocated || NetPlay.isHost) + { + sColInit.pTip = _("Click to change player colour"); + } + else + { + sColInit.pTip = NULL; + } + sColInit.pDisplay = displayColour; + sColInit.UserData = i; + widgAddButton(psWScreen, &sColInit); + if (ingame.localOptionsReceived && NetPlay.players[i].allocated) // only draw if real player! { // add a 'ready' button @@ -1967,13 +1982,13 @@ UDWORD addPlayerBox(BOOL players) W_BUTINIT sButInit; sButInit.formID = MULTIOP_PLAYERS; sButInit.id = MULTIOP_PLAYER_START+i; - sButInit.x = 7 + MULTIOP_TEAMSWIDTH; - sButInit.y = (UWORD)(( (MULTIOP_PLAYERHEIGHT+5)*NetPlay.players[i].position)+4); - sButInit.width = MULTIOP_PLAYERWIDTH - MULTIOP_TEAMSWIDTH - MULTIOP_READY_WIDTH; + sButInit.x = 7 + MULTIOP_TEAMSWIDTH + MULTIOP_COLOUR_WIDTH; + sButInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; + sButInit.width = MULTIOP_PLAYERWIDTH - MULTIOP_TEAMSWIDTH - MULTIOP_READY_WIDTH - MULTIOP_COLOUR_WIDTH; sButInit.height = MULTIOP_PLAYERHEIGHT; if (selectedPlayer == i) { - sButInit.pTip = _("Click to change player settings"); + sButInit.pTip = _("Click to change player position"); } else { @@ -1981,19 +1996,11 @@ UDWORD addPlayerBox(BOOL players) } sButInit.pDisplay = displayPlayer; sButInit.UserData = i; - - if (teamChooserUp < 0 && i == colourChooserUp) - { - addColourChooser(i); - } - else if (i != teamChooserUp) // Display player number/color only if not selecting team for this player - { - widgAddButton(psWScreen, &sButInit); - } + widgAddButton(psWScreen, &sButInit); } else // AI player { - sFormInit = W_FORMINIT(); // This used to be an buggy memset using sizeof(W_BUTINIT)... + sFormInit = W_FORMINIT(); sFormInit.formID = MULTIOP_PLAYERS; sFormInit.id = MULTIOP_PLAYER_START+i; sFormInit.style = WBUT_PLAIN; @@ -2024,8 +2031,6 @@ UDWORD addPlayerBox(BOOL players) }else{ sliderEnableDrag(false); } - - return i; } /* @@ -2041,13 +2046,14 @@ static void SendFireUp(void) // host kicks a player from a game. void kickPlayer(uint32_t player_id, const char *reason, LOBBY_ERROR_TYPES type) { +debug(LOG_ERROR, "kicking %u: %s", player_id, reason); // send a kick msg NETbeginEncode(NETbroadcastQueue(), NET_KICK); NETuint32_t(&player_id); NETstring( (char *) reason, MAX_KICK_REASON); NETenum(&type); NETend(); - + NETflush(); debug(LOG_NET, "Kicking player %u (%s).", (unsigned int)player_id, getPlayerName(player_id)); @@ -2236,14 +2242,12 @@ static void processMultiopWidgets(UDWORD id) { switch(id) // Options buttons { - case MULTIOP_GNAME: // we get this when nec. sstrcpy(game.name,widgGetString(psWScreen, MULTIOP_GNAME)); break; case MULTIOP_MAP: widgSetString(psWScreen, MULTIOP_MAP,game.map); -// sstrcpy(game.map,widgGetString(psWScreen, MULTIOP_MAP)); break; case MULTIOP_GNAME_ICON: @@ -2353,7 +2357,7 @@ static void processMultiopWidgets(UDWORD id) case MULTIOP_CLEAN: game.base = CAMP_CLEAN; - addGameOptions(false); + addGameOptions(); resetReadyStatus(false); @@ -2366,7 +2370,7 @@ static void processMultiopWidgets(UDWORD id) case MULTIOP_BASE: game.base = CAMP_BASE; - addGameOptions(false); + addGameOptions(); resetReadyStatus(false); @@ -2379,7 +2383,7 @@ static void processMultiopWidgets(UDWORD id) case MULTIOP_DEFENCE: game.base = CAMP_WALLS; - addGameOptions(false); + addGameOptions(); resetReadyStatus(false); @@ -2533,7 +2537,7 @@ static void processMultiopWidgets(UDWORD id) ingame.localOptionsReceived = true; - addGameOptions(false); // update game options box. + addGameOptions(); // update game options box. addChatBox(); disableMultiButs(); @@ -2579,7 +2583,7 @@ static void processMultiopWidgets(UDWORD id) int clickedMenuID = id - MULTIOP_TEAMS_START; //make sure team chooser is not up before adding new one for another player - if (teamChooserUp < 0 && colourChooserUp < 0 && canChooseTeamFor(clickedMenuID)) + if (teamChooserUp < 0 && colourChooserUp < 0 && canChooseTeamFor(clickedMenuID) && positionChooserUp < 0) { addTeamChooser(clickedMenuID); } @@ -2617,7 +2621,7 @@ static void processMultiopWidgets(UDWORD id) { UBYTE player = (UBYTE)(id-MULTIOP_READY_START); - if (player == selectedPlayer) + if (player == selectedPlayer && teamChooserUp < 0 && positionChooserUp < 0) { SendReadyRequest(selectedPlayer, !NetPlay.players[player].ready); @@ -2630,35 +2634,34 @@ static void processMultiopWidgets(UDWORD id) } } } - - if((id >= MULTIOP_PLAYER_START) && (id <= MULTIOP_PLAYER_END)) // clicked on a player + if (id >= MULTIOP_COLOUR_START && id <= MULTIOP_COLOUR_END && (id - MULTIOP_COLOUR_START == selectedPlayer || NetPlay.isHost)) { - // options for kicking - if(NetPlay.isHost && (id - MULTIOP_PLAYER_START != NET_HOST_ONLY) ) // can't kick self! + if (teamChooserUp < 0 && positionChooserUp < 0) // not choosing something else already { - if(mouseDown(MOUSE_RMB)) // both buttons.... - { - int victim = id - MULTIOP_PLAYER_START; // who to kick out - int j = 0; - char *msg; - - while (j != victim && j < MAX_PLAYERS) - { - j++; // find out ID of player - } - sasprintf(&msg, _("The host has kicked %s from the game!"), getPlayerName(j)); - sendTextMessage(msg, true); - kickPlayer(victim, "you are unwanted by the host.", ERROR_KICKED); - resetReadyStatus(true); //reset and send notification to all clients - } + addColourChooser(id - MULTIOP_COLOUR_START); } - if (id - MULTIOP_PLAYER_START == selectedPlayer || (NetPlay.isHost && isHumanPlayer(id - MULTIOP_PLAYER_START))) + } + + if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_END) // clicked on a player + { + int player = id - MULTIOP_PLAYER_START; + if (player == selectedPlayer && positionChooserUp < 0) { - if (teamChooserUp < 0) // not choosing team already - { - addColourChooser(id-MULTIOP_PLAYER_START); - } + addPositionChooser(player); + } + else if (positionChooserUp == player) + { + closePositionChooser(); // changed his mind + addPlayerBox(!ingame.bHostSetup || bHosted); + } + else if (positionChooserUp >= 0) + { + // Switch player + resetReadyStatus(false); // will reset only locally if not a host + SendPositionRequest(positionChooserUp, NetPlay.players[player].position); + closePositionChooser(); + addPlayerBox(!ingame.bHostSetup || bHosted); } } @@ -2683,35 +2686,23 @@ static void processMultiopWidgets(UDWORD id) sendOptions(); } - // don't kill last player if((id >= MULTIOP_COLCHOOSER) && (id <= MULTIOP_COLCHOOSER_END)) // chose a new colour. { resetReadyStatus(false); // will reset only locally if not a host - SendColourRequest(colourChooserUp, id - MULTIOP_COLCHOOSER); closeColourChooser(); - addPlayerBox( !ingame.bHostSetup || bHosted); + addPlayerBox(!ingame.bHostSetup || bHosted); } - if (id == MULTIOP_COLCHOOSER_KICK) + if (id == MULTIOP_TEAMCHOOSER_KICK) { char *msg; - sasprintf(&msg, _("The host has kicked %s from the game!"), getPlayerName(colourChooserUp)); + sasprintf(&msg, _("The host has kicked %s from the game!"), getPlayerName(teamChooserUp)); sendTextMessage(msg, true); - kickPlayer(colourChooserUp, "you are unwanted by the host.", ERROR_KICKED); + kickPlayer(teamChooserUp, "you are unwanted by the host.", ERROR_KICKED); resetReadyStatus(true); //reset and send notification to all clients - closeColourChooser(); - } - - // request a player number. - if((id >= MULTIOP_PLAYCHOOSER) && (id <= MULTIOP_PLAYCHOOSER_END) && allowChangePosition) // chose a new starting position - { - resetReadyStatus(false); // will reset only locally if not a host - - SendPositionRequest(colourChooserUp, id - MULTIOP_PLAYCHOOSER); - closeColourChooser(); - addPlayerBox( !ingame.bHostSetup || bHosted); + closeTeamChooser(); } } @@ -2840,7 +2831,7 @@ void frontendMultiMessages(void) if(titleMode == MULTIOPTION) { - addGameOptions(true); + addGameOptions(); disableMultiButs(); addChatBox(); } @@ -2951,28 +2942,26 @@ void frontendMultiMessages(void) char reason[MAX_KICK_REASON]; LOBBY_ERROR_TYPES KICK_TYPE = ERROR_NOERROR; + NETbeginDecode(queue, NET_KICK); + NETuint32_t(&player_id); + NETstring(reason, MAX_KICK_REASON); + NETenum(&KICK_TYPE); + NETend(); + if (player_id == NET_HOST_ONLY) { debug(LOG_ERROR, "someone tried to kick the host--check your netplay logs!"); - NETend(); break; } - NETbeginDecode(queue, NET_KICK); - NETuint32_t(&player_id); - NETstring( reason, MAX_KICK_REASON); - NETenum(&KICK_TYPE); - NETend(); - if (selectedPlayer == player_id) // we've been told to leave. { setLobbyError(KICK_TYPE); stopJoining(); //screen_RestartBackDrop(); //changeTitleMode(TITLE); - // maybe we want a custom 'kick' backdrop instead? pie_LoadBackDrop(SCREEN_RANDOMBDROP); - debug(LOG_ERROR, "You have been kicked, because %s ", reason ); + debug(LOG_ERROR, "You have been kicked, because %s ", reason); } else { @@ -3054,6 +3043,7 @@ void runMultiOptions(void) addPlayerBox(true); // update the player box. + loadMapPreview(false); } } @@ -3123,7 +3113,7 @@ void runMultiOptions(void) loadMapPreview(true); widgSetString(psWScreen,MULTIOP_MAP,sTemp); - addGameOptions(false); + addGameOptions(); break; default: break; @@ -3133,7 +3123,6 @@ void runMultiOptions(void) } else { - if(hideTime != 0) { // we abort the 'hidetime' on press of a mouse button. @@ -3205,6 +3194,8 @@ BOOL startMultiOptions(BOOL bReenter) if(!bReenter) { teamChooserUp = -1; + positionChooserUp = -1; + colourChooserUp = -1; allowChangePosition = true; for(i=0; i < MAX_PLAYERS; i++) { @@ -3273,7 +3264,7 @@ BOOL startMultiOptions(BOOL bReenter) inifile_delete(inif); ingame.localOptionsReceived = true; - addGameOptions(false); // update game options box. + addGameOptions(); // update game options box. addChatBox(); disableMultiButs(); addPlayerBox(true); @@ -3281,7 +3272,7 @@ BOOL startMultiOptions(BOOL bReenter) } addPlayerBox(false); // Players - addGameOptions(false); + addGameOptions(); addChatBox(); @@ -3294,7 +3285,6 @@ BOOL startMultiOptions(BOOL bReenter) return true; } - ///////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////// // Drawing functions @@ -3311,7 +3301,6 @@ void displayChatEdit(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT return; } - // //////////////////////////////////////////////////////////////////////////// void displayRemoteGame(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) { @@ -3422,31 +3411,6 @@ void displayRemoteGame(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGH iV_DrawText(NetPlay.games[i].versionstring, x + 100, y + 32); // version } - -// //////////////////////////////////////////////////////////////////////////// -static UDWORD bestPlayer(UDWORD player) -{ - - UDWORD i, myscore, score, count=1; - - myscore = getMultiStats(player).totalScore; - - for(i=0;i= myscore) - { - count++; - } - } - } - - return count; -} - void displayTeamChooser(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) { UDWORD x = xOffset+psWidget->x; @@ -3467,6 +3431,17 @@ void displayTeamChooser(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIG iV_DrawImage(FrontImages, IMAGE_TEAM0 + NetPlay.players[i].team, x + 2, y + 8); } +void displayPosition(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) +{ + const int x = xOffset + psWidget->x; + const int y = yOffset + psWidget->y; + + drawBlueBox(x, y, psWidget->width, psWidget->height); + iV_SetFont(font_regular); + iV_SetTextColour(WZCOL_TEXT_BRIGHT); + iV_DrawText("Click here to select this slot", x + 10, y + 22); +} + // //////////////////////////////////////////////////////////////////////////// void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) { @@ -3504,10 +3479,7 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p } else if (ingame.localOptionsReceived && NetPlay.players[j].allocated) // only draw if real player! { - //bluboxes. drawBlueBox(x,y,psWidget->width,psWidget->height); // right - drawBlueBox(x,y,60,psWidget->height); - drawBlueBox(x,y,31,psWidget->height); // left. iV_SetFont(font_regular); // font iV_SetTextColour(WZCOL_TEXT_BRIGHT); @@ -3519,10 +3491,10 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p } if (j == NET_HOST_ONLY && NetPlay.bComms) { - iV_DrawText(NetPlay.players[j].name, x + 65, y + 18); + iV_DrawText(NetPlay.players[j].name, x + 32, y + 18); iV_SetFont(font_small); iV_SetTextColour(WZCOL_TEXT_MEDIUM); - iV_DrawText(_("HOST"), x + 65, y + 28); + iV_DrawText(_("HOST"), x + 32, y + 28); iV_SetFont(font_regular); iV_SetTextColour(WZCOL_TEXT_BRIGHT); } @@ -3531,65 +3503,22 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p char buf[250] = {'\0'}; // show "actual" ping time - iV_DrawText(NetPlay.players[j].name, x + 65, y + 18); + iV_DrawText(NetPlay.players[j].name, x + 32, y + 18); iV_SetFont(font_small); iV_SetTextColour(WZCOL_TEXT_MEDIUM); ssprintf(buf, "Ping: %03d", ingame.PingTimes[j]); - iV_DrawText(buf, x + 65, y + 28); + iV_DrawText(buf, x + 32, y + 28); iV_SetFont(font_regular); iV_SetTextColour(WZCOL_TEXT_BRIGHT); } else { - iV_DrawText(NetPlay.players[j].name, x + 65, y + 22); + iV_DrawText(NetPlay.players[j].name, x + 32, y + 22); } - // ping rating - if (ingame.PingTimes[j] < PING_MED) - { - iV_DrawImage(FrontImages,IMAGE_LAMP_GREEN,x,y); - }else - if(ingame.PingTimes[j] >= PING_MED && ingame.PingTimes[j] < PING_HI) - { - iV_DrawImage(FrontImages,IMAGE_LAMP_AMBER,x,y); - }else - { - iV_DrawImage(FrontImages,IMAGE_LAMP_RED,x,y); - } - - - // ranking against other players. - eval = bestPlayer(j); - switch (eval) - { - case 1: - iV_DrawImage(IntImages,IMAGE_GN_1,x+5,y+3); - break; - case 2: - iV_DrawImage(IntImages,IMAGE_GN_2,x+4,y+3); - break; - case 3: - iV_DrawImage(IntImages,IMAGE_GN_3,x+4,y+3); - break; - case 4: - iV_DrawImage(IntImages,IMAGE_GN_4,x+4,y+3); - break; - case 5: - iV_DrawImage(IntImages,IMAGE_GN_5,x+4,y+3); - break; - case 6: - iV_DrawImage(IntImages,IMAGE_GN_6,x+4,y+3); - break; - case 7: - iV_DrawImage(IntImages,IMAGE_GN_7,x+4,y+3); - break; - default: - break; - } - if(getMultiStats(j).played < 5) { - iV_DrawImage(FrontImages,IMAGE_MEDAL_DUMMY,x+37,y+13); + iV_DrawImage(FrontImages, IMAGE_MEDAL_DUMMY, x + 4, y + 13); } else { @@ -3599,47 +3528,45 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p eval = stat.totalKills; if(eval >600) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK1,x+37,y+3); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK1, x + 4, y + 3); } else if(eval >300) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK2,x+37,y+3); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK2, x + 4, y + 3); } else if(eval >150) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK3,x+37,y+3); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK3, x + 4, y + 3); } - // star 2 games played eval = stat.played; if(eval >200) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK1,x+37,y+13); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK1, x + 4, y + 13); } else if(eval >100) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK2,x+37,y+13); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK2, x + 4, y + 13); } else if(eval >50) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK3,x+37,y+13); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK3, x + 4, y + 13); } - // star 3 games won. eval = stat.wins; if(eval >80) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK1,x+37,y+23); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK1, x + 4, y + 23); } else if(eval >40) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK2,x+37,y+23); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK2, x + 4, y + 23); } else if(eval >10) { - iV_DrawImage(FrontImages,IMAGE_MULTIRANK3,x+37,y+23); + iV_DrawImage(FrontImages, IMAGE_MULTIRANK3, x + 4, y + 23); } // medals. @@ -3649,98 +3576,40 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p { if ((stat.wins >= 24) && (stat.wins > (8 * stat.losses))) // gold requirement { - iV_DrawImage(FrontImages,IMAGE_MEDAL_GOLD,x+49,y+11); + iV_DrawImage(FrontImages, IMAGE_MEDAL_GOLD, x + 16, y + 11); } else { - iV_DrawImage(FrontImages,IMAGE_MEDAL_SILVER,x+49,y+11); + iV_DrawImage(FrontImages, IMAGE_MEDAL_SILVER, x + 16, y + 11); } } else { - iV_DrawImage(FrontImages,IMAGE_MEDAL_BRONZE,x+49,y+11); + iV_DrawImage(FrontImages, IMAGE_MEDAL_BRONZE, x + 16, y + 11); } } } game.skDiff[j] = UBYTE_MAX; // set AI difficulty to 0xFF (i.e. not an AI) } - else + else // AI { - // AI drawBlueBox(x,y,31,psWidget->height); // left. } - // Draw for both AI and human players - - if (!NetPlay.players[j].wzFile.isSending) - { - // player number - switch (NetPlay.players[j].position) - { - case 0: - iV_DrawImage(IntImages,IMAGE_GN_0,x+4,y+29); - break; - case 1: - iV_DrawImage(IntImages,IMAGE_GN_1,x+5,y+29); - break; - case 2: - iV_DrawImage(IntImages,IMAGE_GN_2,x+4,y+29); - break; - case 3: - iV_DrawImage(IntImages,IMAGE_GN_3,x+4,y+29); - break; - case 4: - iV_DrawImage(IntImages,IMAGE_GN_4,x+4,y+29); - break; - case 5: - iV_DrawImage(IntImages,IMAGE_GN_5,x+4,y+29); - break; - case 6: - iV_DrawImage(IntImages,IMAGE_GN_6,x+4,y+29); - break; - case 7: - iV_DrawImage(IntImages,IMAGE_GN_7,x+4,y+29); - break; - default: - break; - } - - if (game.skDiff[j]) // not disabled - { - switch (getPlayerColour(j)) // flag icon - { - case 0: - iV_DrawImage(FrontImages,IMAGE_PLAYER0,x+7,y+9); - break; - case 1: - iV_DrawImage(FrontImages,IMAGE_PLAYER1,x+7,y+9); - break; - case 2: - iV_DrawImage(FrontImages,IMAGE_PLAYER2,x+7,y+9); - break; - case 3: - iV_DrawImage(FrontImages,IMAGE_PLAYER3,x+7,y+9); - break; - case 4: - iV_DrawImage(FrontImages,IMAGE_PLAYER4,x+7,y+9); - break; - case 5: - iV_DrawImage(FrontImages,IMAGE_PLAYER5,x+7,y+9); - break; - case 6: - iV_DrawImage(FrontImages,IMAGE_PLAYER6,x+7,y+9); - break; - case 7: - iV_DrawImage(FrontImages,IMAGE_PLAYER7,x+7,y+9); - break; - default: - break; - } - } - } - } +void displayColour(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) +{ + const int x = xOffset + psWidget->x; + const int y = yOffset + psWidget->y; + const int j = psWidget->UserData; + if (!NetPlay.players[j].wzFile.isSending && game.skDiff[j]) + { + drawBlueBox(x, y, psWidget->width, psWidget->height); + int player = getPlayerColour(j); + iV_DrawImage(FrontImages, IMAGE_PLAYER0 + player, x + 7, y + 9); + } +} // //////////////////////////////////////////////////////////////////////////// // Display blue box @@ -3752,7 +3621,6 @@ void intDisplayFeBox(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT UDWORD h = psWidget->height; drawBlueBox(x,y,w,h); - } // //////////////////////////////////////////////////////////////////////////// @@ -3834,8 +3702,6 @@ void displayMultiBut(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT break; default: hiToUse = 0; - // This line spams a TON. (Game options screen, hover mouse over one of the flag colors) -// debug(LOG_WARNING, "no automatic multibut highlight for width = %d", iV_GetImageWidth(FrontImages, im_norm)); break; } } @@ -3889,7 +3755,6 @@ void displayMultiBut(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT } - ///////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////// // common widgets diff --git a/src/multiint.h b/src/multiint.h index e510b3f6f..ea9e16163 100644 --- a/src/multiint.h +++ b/src/multiint.h @@ -48,7 +48,7 @@ extern BOOL changeColour(UBYTE player, UBYTE col); extern char sPlayer[128]; void kickPlayer(uint32_t player_id, const char *reason, LOBBY_ERROR_TYPES type); -UDWORD addPlayerBox(BOOL); // players (mid) box +void addPlayerBox(BOOL); // players (mid) box void loadMapPreview(bool hideInterface); @@ -129,6 +129,7 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_TEAMCHOOSER_FORM 102800 #define MULTIOP_TEAMCHOOSER 102810 #define MULTIOP_TEAMCHOOSER_END 102817 +#define MULTIOP_TEAMCHOOSER_KICK 10289 // 'Ready' button #define MULTIOP_READY_FORM_ID 102900 @@ -233,7 +234,6 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_COLCHOOSER_FORM 10280 #define MULTIOP_COLCHOOSER 10281 #define MULTIOP_COLCHOOSER_END 10288 -#define MULTIOP_COLCHOOSER_KICK 10289 #define MULTIOP_LIMIT 10292 // 2 for this (+label) #define MULTIOP_GAMETYPE 10294 @@ -263,10 +263,14 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_PASSWORD_BUT 920012 #define MULTIOP_PASSWORD_EDIT 920013 -#define MULTIOP_NO_SOMETHING 10331 // Up to 10340 reserved for future use. +#define MULTIOP_NO_SOMETHING 10331 #define MULTIOP_NO_SOMETHINGX 3 #define MULTIOP_NO_SOMETHINGY MROW5 +#define MULTIOP_COLOUR_START 10332 +#define MULTIOP_COLOUR_END (MULTIOP_COLOUR_START + MAX_PLAYERS) +#define MULTIOP_COLOUR_WIDTH 31 + // /////////////////////////////// // Many Button Variations.. From 4a34b821ade779083ebe68b8ddbb8c934b3a1763 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 4 Jan 2011 15:48:00 +0100 Subject: [PATCH 082/142] Fix parts of UI that break if increasing MAX_FACTORY. --- lib/widget/form.cpp | 37 +++-- lib/widget/form.h | 1 + lib/widget/widget.h | 1 + src/display3d.cpp | 5 +- src/display3d.h | 2 +- src/hci.cpp | 332 ++++++++++++-------------------------------- src/hci.h | 4 +- src/multilimit.cpp | 4 +- 8 files changed, 113 insertions(+), 273 deletions(-) diff --git a/lib/widget/form.cpp b/lib/widget/form.cpp index 5b3dc9cd2..0ba02d73a 100644 --- a/lib/widget/form.cpp +++ b/lib/widget/form.cpp @@ -62,6 +62,7 @@ W_FORMINIT::W_FORMINIT() , numMajor(0) // aNumMinors , TabMultiplier(0) + , maxTabsShown(MAX_TAB_SMALL_SHOWN - 1) // Equal to TAB_SEVEN, which is equal to 7. , pTip(NULL) // apMajorTips // apMinorTips @@ -183,6 +184,7 @@ W_TABFORM::W_TABFORM(W_FORMINIT const *init) , state(0) // This assignment was previously done by a memset. , tabHiLite(~0) , TabMultiplier(init->TabMultiplier) + , maxTabsShown(init->maxTabsShown) , numStats(init->numStats) , numButtons(init->numButtons) , pTabDisplay(init->pTabDisplay) @@ -689,7 +691,7 @@ void formGetOrigin(W_FORM *psWidget, SDWORD *pXOrigin, SDWORD *pYOrigin) static BOOL formPickHTab(TAB_POS *psTabPos, SDWORD x0, SDWORD y0, UDWORD width, UDWORD height, UDWORD gap, - UDWORD number, SDWORD fx, SDWORD fy) + UDWORD number, SDWORD fx, SDWORD fy, unsigned maxTabsShown) { SDWORD x, y1; UDWORD i; @@ -711,21 +713,18 @@ static BOOL formPickHTab(TAB_POS *psTabPos, // Also need to check if the TabMultiplier is set or not, if not then it means // we have not yet added the code to display/handle the tab scroll buttons. // At this time, I think only the design screen has this limitation of only 8 tabs. - if (number > (MAX_TAB_SMALL_SHOWN - 1) && psTabPos->TabMultiplier) // of course only do this if we actually need >8 tabs. + if (number > maxTabsShown && psTabPos->TabMultiplier) // of course only do this if we actually need >8 tabs. { - number -= (psTabPos->TabMultiplier - 1) * TAB_SEVEN; - if (number > TAB_SEVEN) // is it still > than TAB_SEVEN? - { - number = TAB_SEVEN; - } + number -= (psTabPos->TabMultiplier - 1) * maxTabsShown; + number = std::min(number, maxTabsShown); // is it still > than maxTabsShown? } - else if (number > MAX_TAB_SMALL_SHOWN) + else if (number > maxTabsShown + 1) { // we need to clip the tab count to max amount *without* the scrolltabs visible. // The reason for this, is that in design screen & 'feature' debug & others(?), // we can get over max # of tabs that the game originally supported. // This made it look bad. - number = MAX_TAB_SMALL_SHOWN; + number = maxTabsShown + 1; } for (i=0; i < number; i++) @@ -737,7 +736,7 @@ static BOOL formPickHTab(TAB_POS *psTabPos, // found a tab under the coordinate if (psTabPos->TabMultiplier) //Checks to see we need the extra tab scroll buttons { // holds the VIRTUAL tab #, since obviously, we can't display more than 7 - psTabPos->index = (i % TAB_SEVEN)+ ((psTabPos->TabMultiplier -1)*TAB_SEVEN); + psTabPos->index = (i % maxTabsShown)+ ((psTabPos->TabMultiplier -1)*maxTabsShown); } else { // This is a normal request. @@ -884,7 +883,7 @@ static BOOL formPickTab(W_TABFORM *psForm, UDWORD fx, UDWORD fy, case WFORM_TABTOP: if (formPickHTab(psTabPos, x0+psForm->majorOffset - xOffset, y0 - psForm->tabMajorThickness, psForm->majorSize, psForm->tabMajorThickness, psForm->tabMajorGap, - psForm->numMajor, fx, fy)) + psForm->numMajor, fx, fy, psForm->maxTabsShown)) { return true; } @@ -893,7 +892,7 @@ static BOOL formPickTab(W_TABFORM *psForm, UDWORD fx, UDWORD fy, case WFORM_TABBOTTOM: if (formPickHTab(psTabPos, x0+psForm->majorOffset - xOffset, y1, psForm->majorSize, psForm->tabMajorThickness, psForm->tabMajorGap, - psForm->numMajor, fx, fy)) + psForm->numMajor, fx, fy, psForm->maxTabsShown)) { return true; } @@ -927,7 +926,7 @@ static BOOL formPickTab(W_TABFORM *psForm, UDWORD fx, UDWORD fy, case WFORM_TABTOP: if (formPickHTab(psTabPos, x0+psForm->minorOffset - xOffset2, y0 - psForm->tabMinorThickness, psForm->minorSize, psForm->tabMinorThickness, psForm->tabMinorGap, - psMajor->numMinor, fx, fy)) + psMajor->numMinor, fx, fy, psForm->maxTabsShown)) { psTabPos->index += psForm->numMajor; return true; @@ -936,7 +935,7 @@ static BOOL formPickTab(W_TABFORM *psForm, UDWORD fx, UDWORD fy, case WFORM_TABBOTTOM: if (formPickHTab(psTabPos, x0+psForm->minorOffset - xOffset2, y1, psForm->minorSize, psForm->tabMinorThickness, psForm->tabMinorGap, - psMajor->numMinor, fx, fy)) + psMajor->numMinor, fx, fy, psForm->maxTabsShown)) { psTabPos->index += psForm->numMajor; return true; @@ -1260,18 +1259,18 @@ static void formDisplayTTabs(W_TABFORM *psForm,SDWORD x0, SDWORD y0, x = x0 + 2; x1 = x + width - 2; y1 = y0 + height; - if (number > (MAX_TAB_SMALL_SHOWN - 1)) //we can display 8 tabs fine with no extra voodoo. + if (number > psForm->maxTabsShown) //we can display 8 tabs fine with no extra voodoo. { // We do NOT want to draw all the tabs once we have drawn 7 tabs // Both selected & hilite are converted from virtual tab range, to a range // that is seen on the form itself. This would be 0-6 (7 tabs) // We also fix drawnumber, so we don't display too many tabs since the pages // will be empty. - drawnumber = (number - (( psForm->TabMultiplier -1) * TAB_SEVEN)); - if (drawnumber > TAB_SEVEN) drawnumber = TAB_SEVEN ; - selected = (selected % TAB_SEVEN); //Go from Virtual range, to our range + drawnumber = (number - (( psForm->TabMultiplier -1) * psForm->maxTabsShown)); + if (drawnumber > psForm->maxTabsShown) drawnumber = psForm->maxTabsShown ; + selected = (selected % psForm->maxTabsShown); //Go from Virtual range, to our range if(hilite != 65535) //sigh. Don't blame me for this!It is THEIR 'hack'. - hilite = hilite % TAB_SEVEN; //we want to hilite tab 0 - 6. + hilite = hilite % psForm->maxTabsShown; //we want to hilite tab 0 - 6. } else { // normal draw diff --git a/lib/widget/form.h b/lib/widget/form.h index 26cf1dc83..640f2f230 100644 --- a/lib/widget/form.h +++ b/lib/widget/form.h @@ -88,6 +88,7 @@ struct W_TABFORM : public W_FORM UWORD numMajor; // The number of major tabs SWORD TabMultiplier; //used to tell system we got lots of tabs to display + unsigned maxTabsShown; ///< Maximum number of tabs shown at once. UWORD numStats; //# of 'stats' (items) in list UWORD numButtons; //# of buttons per form W_MAJORTAB asMajor[WFORM_MAXMAJOR]; // The major tab information diff --git a/lib/widget/widget.h b/lib/widget/widget.h index 62776a4d4..be6bb674d 100644 --- a/lib/widget/widget.h +++ b/lib/widget/widget.h @@ -167,6 +167,7 @@ struct W_FORMINIT : public W_INIT UWORD numMajor; ///< Number of major tabs UWORD aNumMinors[WFORM_MAXMAJOR]; ///< Number of minor tabs for each major SWORD TabMultiplier; ///< Used to tell system we got lots of (virtual) tabs to display + unsigned maxTabsShown; ///< Maximum number of tabs shown at once. const char *pTip; ///< Tool tip for the form itself char *apMajorTips[WFORM_MAXMAJOR]; ///< Tool tips for the major tabs char *apMinorTips[WFORM_MAXMAJOR][WFORM_MAXMINOR]; ///< Tool tips for the minor tabs diff --git a/src/display3d.cpp b/src/display3d.cpp index 9cf31cd6b..c92dd136b 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -1822,10 +1822,9 @@ void setViewPos( UDWORD x, UDWORD y, WZ_DECL_UNUSED BOOL Pan ) } /// Get the player position -void getPlayerPos(SDWORD *px, SDWORD *py) +Vector2i getPlayerPos() { - *px = player.p.x + (visibleTiles.x/2)*TILE_UNITS; - *py = player.p.z + (visibleTiles.y/2)*TILE_UNITS; + return removeZ(swapYZ(player.p)) + visibleTiles/2*TILE_UNITS; } /// Set the player position diff --git a/src/display3d.h b/src/display3d.h index 963858ae6..c5007e3fc 100644 --- a/src/display3d.h +++ b/src/display3d.h @@ -60,7 +60,7 @@ extern BOOL radarOnScreen; extern bool rangeOnScreen; // Added to get sensor/gun range on screen. -Q 5-10-05 extern void scaleMatrix( UDWORD percent ); extern void setViewPos( UDWORD x, UDWORD y, BOOL Pan); -extern void getPlayerPos(SDWORD *px, SDWORD *py); +Vector2i getPlayerPos(); extern void setPlayerPos(SDWORD x, SDWORD y); extern void disp3d_setView(iView *newView); extern void disp3d_resetView(void); diff --git a/src/hci.cpp b/src/hci.cpp index e3d624711..dc5135e14 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -28,6 +28,7 @@ */ #include +#include #include "lib/framework/frame.h" #include "lib/framework/strres.h" @@ -371,26 +372,13 @@ COMPONENT_STATS **apsComponentList; UDWORD numExtraSys; COMPONENT_STATS **apsExtraSysList; -//defined in HCI.h now // store the objects that are being used for the object bar -//#define MAX_OBJECTS 15//10 we need at least 15 for the 3 different types of factory -BASE_OBJECT **apsObjectList; -SDWORD numObjects; -//this list is used for sorting the objects - at the mo' this is just factories -BASE_OBJECT **apsListToOrder; -/*max size required to store unordered factories */ -#define ORDERED_LIST_SIZE (NUM_FACTORY_TYPES * MAX_FACTORY) +std::vector apsObjectList; /* The current design being edited on the design screen */ extern DROID_TEMPLATE sCurrDesign; -/* The button id of the component that is in the design */ -//UDWORD desCompID; - -/* The button id of the droid template that has been locked down */ -//UDWORD droidTemplID; - /* Flags to check whether the power bars are currently on the screen */ static BOOL powerBarUp = false; static BOOL StatsUp = false; @@ -400,7 +388,7 @@ static BASE_OBJECT *psStatsScreenOwner = NULL; static BASE_OBJECT *apsPreviousObj[IOBJ_MAX]; /* The jump position for each object on the base bar */ -static Vector2i asJumpPos[IOBJ_MAX]; +static std::vector asJumpPos; /***************************************************************************************/ /* Function Prototypes */ @@ -575,22 +563,7 @@ BOOL intInitialise(void) } // allocate the object list - apsObjectList = (BASE_OBJECT **)malloc(sizeof(BASE_OBJECT *) * MAX_OBJECTS); - if (!apsObjectList) - { - debug( LOG_FATAL, "Out of memory" ); - abort(); - return false; - } - - //allocate the order list - ONLY SIZED FOR FACTORIES AT PRESENT!! - apsListToOrder = (BASE_OBJECT **)malloc(sizeof(BASE_OBJECT *) * ORDERED_LIST_SIZE); - if (!apsListToOrder) - { - debug( LOG_FATAL, "Out of memory" ); - abort(); - return false; - } + apsObjectList.clear(); intInitialiseGraphics(); @@ -637,7 +610,7 @@ BOOL intInitialise(void) intResetPreviousObj(); // reset the jump positions - memset(asJumpPos, 0, sizeof(asJumpPos)); + asJumpPos.clear(); /* make demolish stat always available */ if(!bInTutorial) @@ -684,8 +657,7 @@ void interfaceShutDown(void) free(apsFeatureList); free(apsComponentList); free(apsExtraSysList); - free(apsObjectList); - free(apsListToOrder); + apsObjectList.clear(); apsStructStatsList = NULL; ppResearchList = NULL; @@ -695,8 +667,6 @@ void interfaceShutDown(void) apsFeatureList = NULL; apsComponentList = NULL; apsExtraSysList = NULL; - apsObjectList = NULL; - apsListToOrder = NULL; interfaceDeleteGraphics(); @@ -1529,7 +1499,7 @@ INT_RETVAL intRunWidgets(void) if (intMode == INT_OBJECT || intMode == INT_STAT || intMode == INT_CMDORDER) { // see if there is a dead object in the list - for(i=0; idied) { @@ -2457,13 +2427,14 @@ static void intProcessObject(UDWORD id) { // set the map position - either the object position, or the position jumped from butIndex = id - IDOBJ_OBJSTART; - if (butIndex >= 0 && butIndex < IOBJ_MAX) + if (butIndex >= 0 && butIndex <= IDOBJ_OBJEND - IDOBJ_OBJSTART) { + asJumpPos.resize(IDOBJ_OBJEND - IDOBJ_OBJSTART, Vector2i(0, 0)); if (((asJumpPos[butIndex].x == 0) && (asJumpPos[butIndex].y == 0)) || !DrawnInLastFrame((SDWORD)psObj->sDisplay.frameNumber) || ((psObj->sDisplay.screenX > pie_GetVideoBufferWidth()) || (psObj->sDisplay.screenY > pie_GetVideoBufferHeight()))) { - getPlayerPos((SDWORD*)&asJumpPos[butIndex].x, (SDWORD*)&asJumpPos[butIndex].y); + asJumpPos[butIndex] = getPlayerPos(); setPlayerPos(psObj->pos.x, psObj->pos.y); @@ -3156,101 +3127,52 @@ void intDemolishCancel(void) //reorder the research facilities so that first built is first in the list static void orderResearch(void) { - BASE_OBJECT *psTemp; - UDWORD i, maxLoop = (UDWORD)(numObjects / 2); - - for (i = 0; i < maxLoop; i++) - { - psTemp = apsObjectList[i]; - apsObjectList[i] = apsObjectList[(numObjects - 1) - i]; - apsObjectList[(numObjects - 1) - i] = psTemp; - } + std::reverse(apsObjectList.begin(), apsObjectList.end()); // Why reverse this list, instead of sorting it? } +static inline bool sortObjectByIdFunction(BASE_OBJECT *a, BASE_OBJECT *b) +{ + return (a == NULL? 0 : a->id) < (b == NULL? 0 : b->id); +} + // reorder the commanders static void orderDroids(void) { - SDWORD i, j; - BASE_OBJECT *psTemp; - debug( LOG_NEVER, "orderUnit\n" ); // bubble sort on the ID - first built will always be first in the list - for (i = 0; i < MAX_OBJECTS; i++) - { - for(j = i + 1; j < MAX_OBJECTS; j++) - { - if (apsObjectList[i] != NULL && apsObjectList[j] != NULL && - apsObjectList[i]->id > apsObjectList[j]->id) - { - psTemp = apsObjectList[i]; - apsObjectList[i] = apsObjectList[j]; - apsObjectList[j] = psTemp; - } - } - } + std::sort(apsObjectList.begin(), apsObjectList.end(), sortObjectByIdFunction); // Why sort this list, instead of reversing it? } +static inline bool sortFactoryByTypeFunction(BASE_OBJECT *a, BASE_OBJECT *b) +{ + if (a == NULL || b == NULL) + { + return (a == NULL) < (b == NULL); + } + STRUCTURE *s = castStructure(a), *t = castStructure(b); + ASSERT(s != NULL && StructIsFactory(s) && t != NULL && StructIsFactory(t), "object is not a factory"); + FACTORY *x = (FACTORY *)s->pFunctionality, *y = (FACTORY *)t->pFunctionality; + if (x->psAssemblyPoint->factoryType != y->psAssemblyPoint->factoryType) + { + return x->psAssemblyPoint->factoryType < y->psAssemblyPoint->factoryType; + } + return x->psAssemblyPoint->factoryInc < y->psAssemblyPoint->factoryInc; +} /*puts the selected players factories in order - Standard factories 1-5, then cyborg factories 1-5 and then Vtol factories 1-5*/ static void orderFactories(void) { - STRUCTURE *psStruct, *psNext; - SDWORD entry = 0; - UDWORD inc = 0, type = FACTORY_FLAG, objectInc = 0; - - ASSERT(numObjects <= NUM_FACTORY_TYPES * MAX_FACTORY, "too many factories!"); - - //copy the object list into the list to order - memcpy(apsListToOrder, apsObjectList, sizeof(BASE_OBJECT*) * ORDERED_LIST_SIZE); - - //go through the list of structures and extract them in order - while (entry < numObjects) - { - for (psStruct = (STRUCTURE*)apsListToOrder[objectInc]; psStruct != NULL; psStruct = psNext) - { - psNext = (STRUCTURE*)apsListToOrder[++objectInc]; - if ((SDWORD)objectInc >= numObjects) - { - psNext = NULL; - } - - ASSERT(StructIsFactory(psStruct), "structure is not a factory"); - - if (((FACTORY*)psStruct->pFunctionality)->psAssemblyPoint->factoryInc == inc - && ((FACTORY*)psStruct->pFunctionality)->psAssemblyPoint->factoryType == type) - { - apsObjectList[entry++] = (BASE_OBJECT*)psStruct; - //quick check that don't end up with more! - if (entry > numObjects) - { - ASSERT(false, "too many objects!"); - return; - } - break; - } - } - inc++; - if (inc > MAX_FACTORY) - { - inc = 0; - type++; - if (type > NUM_FACTORY_TYPES) - { - type = 0; - } - } - objectInc = 0; - } + std::sort(apsObjectList.begin(), apsObjectList.end(), sortFactoryByTypeFunction); } /** Order the objects in the bottom bar according to their type. */ static void orderObjectInterface(void) { - if (!apsObjectList || !apsObjectList[0]) + if (apsObjectList.empty()) { //no objects so nothing to order! return; @@ -3276,52 +3198,40 @@ static void orderObjectInterface(void) } } +// Rebuilds apsObjectList, and returns the index of psBuilding in apsObjectList, or returns apsObjectList.size() if not present (not sure whether that's supposed to be possible). +static unsigned rebuildFactoryListAndFindIndex(STRUCTURE *psBuilding) +{ + apsObjectList.clear(); + for (STRUCTURE *psCurr = interfaceStructList(); psCurr; psCurr = psCurr->psNext) + { + if (objSelectFunc(psCurr)) + { + // The list is ordered now so we have to get all possible entries and sort it before checking if this is the one! + apsObjectList.push_back(psCurr); + } + } + // order the list + orderFactories(); + // now look thru the list to see which one corresponds to the factory that has just finished + return std::find(apsObjectList.begin(), apsObjectList.end(), psBuilding) - apsObjectList.begin(); +} /* Tell the interface a factory has completed building ALL droids */ void intManufactureFinished(STRUCTURE *psBuilding) { - SDWORD structureID; - STRUCTURE *psCurr; - ASSERT(psBuilding != NULL, "Invalid structure pointer"); if ((intMode == INT_OBJECT || intMode == INT_STAT) && objMode == IOBJ_MANUFACTURE) { /* Find which button the structure is on and clear it's stats */ - structureID = 0; - numObjects = 0; - memset(apsObjectList, 0, sizeof(BASE_OBJECT *) * MAX_OBJECTS); - for (psCurr = interfaceStructList(); psCurr; psCurr = psCurr->psNext) + unsigned structureIndex = rebuildFactoryListAndFindIndex(psBuilding); + if (structureIndex != apsObjectList.size()) { - if (objSelectFunc((BASE_OBJECT *)psCurr)) + intSetStats(structureIndex + IDOBJ_STATSTART, NULL); + // clear the loop button if interface is up + if (widgGetFromID(psWScreen, IDSTAT_LOOP_BUTTON)) { - // The list is ordered now so we have to get all possible entries and sort it before checking if this is the one! - apsObjectList[numObjects] = (BASE_OBJECT *)psCurr; - numObjects++; - } - // make sure the list doesn't overflow - if (numObjects >= MAX_OBJECTS) - { - break; - } - } - // order the list - orderFactories(); - - // now look thru the list to see which one corresponds to the factory that has just finished - for (structureID = 0; structureID < numObjects; structureID++) - { - BASE_OBJECT *psObj = apsObjectList[structureID]; - - if ((STRUCTURE *)psObj == psBuilding) - { - intSetStats(structureID + IDOBJ_STATSTART, NULL); - // clear the loop button if interface is up - if (widgGetFromID(psWScreen,IDSTAT_LOOP_BUTTON)) - { - widgSetButtonState(psWScreen, IDSTAT_LOOP_BUTTON, 0); - } - break; + widgSetButtonState(psWScreen, IDSTAT_LOOP_BUTTON, 0); } } } @@ -3329,46 +3239,15 @@ void intManufactureFinished(STRUCTURE *psBuilding) void intUpdateManufacture(STRUCTURE *psBuilding) { - SDWORD structureID; - STRUCTURE *psCurr; - FACTORY *psFact; - ASSERT(psBuilding != NULL, "Invalid structure pointer"); if ((intMode == INT_OBJECT || intMode == INT_STAT) && objMode == IOBJ_MANUFACTURE) { /* Find which button the structure is on and update its stats */ - structureID = 0; - numObjects = 0; - memset(apsObjectList, 0, sizeof(BASE_OBJECT *) * MAX_OBJECTS); - for (psCurr = interfaceStructList(); psCurr; psCurr = psCurr->psNext) + unsigned structureIndex = rebuildFactoryListAndFindIndex(psBuilding); + if (structureIndex != apsObjectList.size()) { - if (objSelectFunc((BASE_OBJECT *)psCurr)) - { - // The list is ordered now so we have to get all possible entries and sort it before checking if this is the one! - apsObjectList[numObjects] = (BASE_OBJECT *)psCurr; - numObjects++; - } - // make sure the list doesn't overflow - if (numObjects >= MAX_OBJECTS) - { - break; - } - } - // order the list - orderFactories(); - - // now look thru the list to see which one corresponds to the factory that has just finished - for (structureID = 0; structureID < numObjects; structureID++) - { - BASE_OBJECT *psObj = apsObjectList[structureID]; - - if ((STRUCTURE *)psObj == psBuilding) - { - psFact = &((STRUCTURE *)psObj)->pFunctionality->factory; - intSetStats(structureID + IDOBJ_STATSTART, psFact->psSubject); - break; - } + intSetStats(structureIndex + IDOBJ_STATSTART, psBuilding->pFunctionality->factory.psSubject); } } } @@ -3389,14 +3268,7 @@ void intResearchFinished(STRUCTURE *psBuilding) */ UWORD numForms(UDWORD total, UDWORD perForm) { - /* If the buttons fit exactly, don't have to add one */ - if (total != 0 && (total % perForm) == 0) - { - return (UWORD)(total/perForm); - } - - /* Otherwise add one to the div */ - return (UWORD)(total/perForm + 1); + return std::max((total + perForm - 1)/perForm, 1u); } @@ -3895,9 +3767,8 @@ BOOL intAddOptions(void) static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,BOOL bForceStats) { UDWORD displayForm; - UDWORD i, statID=0; - SDWORD objLoop; - BASE_OBJECT *psObj, *psFirst; + UDWORD statID = 0; + BASE_OBJECT * psFirst; BASE_STATS *psStats; SDWORD BufferID; DROID *Droid; @@ -3915,7 +3786,7 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B else { // reset the object position array - memset(asJumpPos, 0, sizeof(asJumpPos)); + asJumpPos.clear(); } Animate = false; @@ -3924,29 +3795,17 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B ClearTopicBuffers(); /* See how many objects the player has */ - numObjects = 0; - psFirst = NULL; - memset(apsObjectList, 0, sizeof(BASE_OBJECT *) * MAX_OBJECTS); - for(psObj=psObjects; psObj; psObj = psObj->psNext) + apsObjectList.clear(); + for (BASE_OBJECT *psObj = psObjects; psObj; psObj = psObj->psNext) { if (objSelectFunc(psObj)) { - apsObjectList[numObjects] = psObj; - numObjects++; - if (numObjects == 1) - { - psFirst = psObj; - } - - // make sure the list doesn't overflow - if (numObjects >= MAX_OBJECTS) - { - break; - } + apsObjectList.push_back(psObj); } } - if(numObjects == 0) { + if (apsObjectList.empty()) + { // No objects so close the stats window if it's up... if(widgGetFromID(psWScreen,IDSTAT_FORM) != NULL) { intRemoveStatsNoAnim(); @@ -3954,27 +3813,16 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B // and return. return false; } + psFirst = apsObjectList.front(); /*if psSelected != NULL then check its in the list of suitable objects for this instance of the interface - this could happen when a structure is upgraded*/ - objLoop = 0; - if (psSelected != NULL) - { - for(objLoop = 0; objLoop < numObjects; objLoop++) - { - if (psSelected == apsObjectList[objLoop]) - { - //found it so quit loop - break; - } - } - } //if have reached the end of the loop and not quit out, then can't have found the selected object in the list - if (objLoop == numObjects) - { - //initialise psSelected so gets set up with an iten in the list - psSelected = NULL; - } + if (std::find(apsObjectList.begin(), apsObjectList.end(), psSelected) == apsObjectList.end()) + { + //initialise psSelected so gets set up with an iten in the list + psSelected = NULL; + } //order the objects according to what they are orderObjectInterface(); @@ -4092,8 +3940,7 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B sFormInit.y = OBJ_TABY; sFormInit.width = OBJ_WIDTH; sFormInit.height = OBJ_HEIGHT; - sFormInit.numMajor = numForms((OBJ_BUTWIDTH + OBJ_GAP) * numObjects, - OBJ_WIDTH - OBJ_GAP); + sFormInit.numMajor = numForms(apsObjectList.size(), (OBJ_WIDTH - OBJ_GAP) / (OBJ_BUTWIDTH + OBJ_GAP)); sFormInit.majorPos = WFORM_TABTOP; sFormInit.minorPos = WFORM_TABNONE; sFormInit.majorSize = OBJ_TABWIDTH; @@ -4104,17 +3951,14 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B sFormInit.pUserData = &StandardTab; sFormInit.pTabDisplay = intDisplayTab; - if (sFormInit.numMajor > MAX_TAB_STD_SHOWN) + if (sFormInit.numMajor*(sFormInit.majorSize + sFormInit.tabMajorGap) > sFormInit.width) { - // We do NOT want more than this amount of tabs, 40 items should be more than enough(?) - sFormInit.numMajor = MAX_TAB_STD_SHOWN; - // If we were to change this in future then : - //Just switching from normal sized tabs to smaller ones to fit more in form. - // sFormInit.pUserData = &SmallTab; - // sFormInit.majorSize /= 2; - // Change MAX_TAB_STD_SHOWN to ..SMALL_SHOWN, this will give us 80 items max. + sFormInit.pUserData = &SmallTab; + sFormInit.majorSize /= 2; } - for (i=0; i< sFormInit.numMajor; i++) + sFormInit.maxTabsShown = WFORM_MAXMAJOR; + sFormInit.numMajor = std::min(sFormInit.numMajor, WFORM_MAXMAJOR); + for (unsigned i = 0; i < sFormInit.numMajor; ++i) { sFormInit.aNumMinors[i] = 1; } @@ -4213,9 +4057,9 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B sLabInitCmdExp.pText = "@@@@@ - overrun"; displayForm = 0; - for(i=0; i<(UDWORD)numObjects; i++) + for (unsigned i = 0; i < apsObjectList.size(); ++i) { - psObj = apsObjectList[i]; + BASE_OBJECT *psObj = apsObjectList[i]; if(psObj->died == 0) { // Don't add the button if the objects dead. IsFactory = false; @@ -4823,7 +4667,7 @@ static BASE_OBJECT *intGetObject(UDWORD id) } /* Find the object that the ID refers to */ - ASSERT_OR_RETURN(NULL, (SDWORD)id - IDOBJ_OBJSTART >= 0 && (SDWORD)id - IDOBJ_OBJSTART < numObjects, "Invalid button ID %u", id); + ASSERT_OR_RETURN(NULL, id - IDOBJ_OBJSTART < apsObjectList.size(), "Invalid button ID %u", id); psObj = apsObjectList[id - IDOBJ_OBJSTART]; return psObj; @@ -5887,8 +5731,7 @@ static void intObjectRMBPressed(UDWORD id) BASE_OBJECT *psObj; STRUCTURE *psStructure; - ASSERT( (SDWORD)id - IDOBJ_OBJSTART < numObjects, - "intObjectRMBPressed: Invalid object id" ); + ASSERT(id - IDOBJ_OBJSTART < apsObjectList.size(), "intObjectRMBPressed: Invalid object id"); /* Find the object that the ID refers to */ psObj = intGetObject(id); @@ -5917,8 +5760,7 @@ static void intObjStatRMBPressed(UDWORD id) BASE_OBJECT *psObj; STRUCTURE *psStructure; - ASSERT( (SDWORD)id - IDOBJ_STATSTART < numObjects, - "intObjStatRMBPressed: Invalid stat id" ); + ASSERT(id - IDOBJ_STATSTART < apsObjectList.size(), "intObjStatRMBPressed: Invalid stat id" ); /* Find the object that the ID refers to */ psObj = intGetObject(id); diff --git a/src/hci.h b/src/hci.h index fca1321f4..0f0478422 100644 --- a/src/hci.h +++ b/src/hci.h @@ -29,8 +29,6 @@ #include "message.h" -// store the objects that are being used for the object bar -#define MAX_OBJECTS 15 //10 we need at least 15 for the 3 different types of factory #define BASE_COORDS_X (640) #define BASE_COORDS_Y (480) @@ -61,7 +59,7 @@ #define IDOBJ_FORM 3000 // The object back form for build/manufacture/research #define IDOBJ_CLOSE 3001 // The form for the close button #define IDOBJ_OBJSTART 3002 // The first ID for droids/factories/research -#define IDOBJ_OBJEND 3021 // The last ID for droids/factories/research +#define IDOBJ_OBJEND 3099 // The last ID for droids/factories/research #define IDOBJ_STATSTART 3100 // The first ID for stats #define IDOBJ_STATEND 3199 // The last ID for stats #define IDOBJ_PROGBARSTART 3200 // The first ID for stats progress bars. diff --git a/src/multilimit.cpp b/src/multilimit.cpp index b136073ec..5b06603c6 100644 --- a/src/multilimit.cpp +++ b/src/multilimit.cpp @@ -424,7 +424,7 @@ static void displayStructureBar(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset STRUCTURE_STATS *stat = asStructureStats + psWidget->UserData; Position position; Vector3i rotation; - char str[3]; + char str[20]; UDWORD scale,Radius; @@ -458,7 +458,7 @@ static void displayStructureBar(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset iV_DrawText(_(getName(stat->pName)), x + 80, y + (psWidget->height / 2) + 3); // draw limit - sprintf(str,"%d",((W_SLIDER*)(widgGetFromID(psWScreen,psWidget->id+1)))->pos); + ssprintf(str, "%d", ((W_SLIDER *)widgGetFromID(psWScreen, psWidget->id + 1))->pos); iV_DrawText(str, x+270, y+(psWidget->height/2)+3); return; From ee048302f87ba88250dda978d8c3a09364676d4e Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 4 Jan 2011 18:22:06 +0100 Subject: [PATCH 083/142] Add more assembly point graphics. --- data/base/misc/{ => micnum}/micnum1.pie | 22 ++-- data/base/misc/micnum/micnum10.pie | 25 ++++ data/base/misc/micnum/micnum11.pie | 25 ++++ data/base/misc/micnum/micnum12.pie | 25 ++++ data/base/misc/micnum/micnum13.pie | 25 ++++ data/base/misc/micnum/micnum14.pie | 25 ++++ data/base/misc/micnum/micnum15.pie | 25 ++++ data/base/misc/micnum/micnum16.pie | 25 ++++ data/base/misc/micnum/micnum17.pie | 25 ++++ data/base/misc/micnum/micnum18.pie | 25 ++++ data/base/misc/micnum/micnum19.pie | 25 ++++ data/base/misc/micnum/micnum2.pie | 19 +++ data/base/misc/micnum/micnum20.pie | 25 ++++ data/base/misc/micnum/micnum21.pie | 25 ++++ data/base/misc/micnum/micnum22.pie | 25 ++++ data/base/misc/micnum/micnum23.pie | 25 ++++ data/base/misc/micnum/micnum24.pie | 25 ++++ data/base/misc/micnum/micnum25.pie | 25 ++++ data/base/misc/micnum/micnum26.pie | 25 ++++ data/base/misc/micnum/micnum27.pie | 25 ++++ data/base/misc/micnum/micnum28.pie | 25 ++++ data/base/misc/micnum/micnum29.pie | 25 ++++ data/base/misc/{ => micnum}/micnum3.pie | 22 ++-- data/base/misc/micnum/micnum30.pie | 25 ++++ data/base/misc/micnum/micnum31.pie | 25 ++++ data/base/misc/micnum/micnum4.pie | 19 +++ data/base/misc/micnum/micnum5.pie | 19 +++ data/base/misc/micnum/micnum6.pie | 19 +++ data/base/misc/micnum/micnum7.pie | 19 +++ data/base/misc/micnum/micnum8.pie | 19 +++ data/base/misc/micnum/micnum9.pie | 19 +++ data/base/misc/micnum2.pie | 19 --- data/base/misc/micnum4.pie | 19 --- data/base/misc/micnum5.pie | 19 --- data/base/misc/{ => minum}/minum1.pie | 22 ++-- data/base/misc/minum/minum10.pie | 25 ++++ data/base/misc/minum/minum11.pie | 25 ++++ data/base/misc/minum/minum12.pie | 25 ++++ data/base/misc/minum/minum13.pie | 25 ++++ data/base/misc/minum/minum14.pie | 25 ++++ data/base/misc/minum/minum15.pie | 25 ++++ data/base/misc/minum/minum16.pie | 25 ++++ data/base/misc/minum/minum17.pie | 25 ++++ data/base/misc/minum/minum18.pie | 25 ++++ data/base/misc/minum/minum19.pie | 25 ++++ data/base/misc/minum/minum2.pie | 19 +++ data/base/misc/minum/minum20.pie | 25 ++++ data/base/misc/minum/minum21.pie | 25 ++++ data/base/misc/minum/minum22.pie | 25 ++++ data/base/misc/minum/minum23.pie | 25 ++++ data/base/misc/minum/minum24.pie | 25 ++++ data/base/misc/minum/minum25.pie | 25 ++++ data/base/misc/minum/minum26.pie | 25 ++++ data/base/misc/minum/minum27.pie | 25 ++++ data/base/misc/minum/minum28.pie | 25 ++++ data/base/misc/minum/minum29.pie | 25 ++++ data/base/misc/{ => minum}/minum3.pie | 22 ++-- data/base/misc/minum/minum30.pie | 25 ++++ data/base/misc/minum/minum31.pie | 25 ++++ data/base/misc/minum/minum4.pie | 19 +++ data/base/misc/minum/minum5.pie | 19 +++ data/base/misc/minum/minum6.pie | 19 +++ data/base/misc/minum/minum7.pie | 19 +++ data/base/misc/minum/minum8.pie | 19 +++ data/base/misc/minum/minum9.pie | 19 +++ data/base/misc/minum2.pie | 19 --- data/base/misc/minum4.pie | 19 --- data/base/misc/minum5.pie | 19 --- data/base/misc/{ => mivnum}/mivnum1.pie | 22 ++-- data/base/misc/mivnum/mivnum10.pie | 25 ++++ data/base/misc/mivnum/mivnum11.pie | 25 ++++ data/base/misc/mivnum/mivnum12.pie | 25 ++++ data/base/misc/mivnum/mivnum13.pie | 25 ++++ data/base/misc/mivnum/mivnum14.pie | 25 ++++ data/base/misc/mivnum/mivnum15.pie | 25 ++++ data/base/misc/mivnum/mivnum16.pie | 25 ++++ data/base/misc/mivnum/mivnum17.pie | 25 ++++ data/base/misc/mivnum/mivnum18.pie | 25 ++++ data/base/misc/mivnum/mivnum19.pie | 25 ++++ data/base/misc/mivnum/mivnum2.pie | 19 +++ data/base/misc/mivnum/mivnum20.pie | 25 ++++ data/base/misc/mivnum/mivnum21.pie | 25 ++++ data/base/misc/mivnum/mivnum22.pie | 25 ++++ data/base/misc/mivnum/mivnum23.pie | 25 ++++ data/base/misc/mivnum/mivnum24.pie | 25 ++++ data/base/misc/mivnum/mivnum25.pie | 25 ++++ data/base/misc/mivnum/mivnum26.pie | 25 ++++ data/base/misc/mivnum/mivnum27.pie | 25 ++++ data/base/misc/mivnum/mivnum28.pie | 25 ++++ data/base/misc/mivnum/mivnum29.pie | 25 ++++ data/base/misc/{ => mivnum}/mivnum3.pie | 22 ++-- data/base/misc/mivnum/mivnum30.pie | 25 ++++ data/base/misc/mivnum/mivnum31.pie | 25 ++++ data/base/misc/mivnum/mivnum4.pie | 19 +++ data/base/misc/mivnum/mivnum5.pie | 19 +++ data/base/misc/mivnum/mivnum6.pie | 19 +++ data/base/misc/mivnum/mivnum7.pie | 19 +++ data/base/misc/mivnum/mivnum8.pie | 19 +++ data/base/misc/mivnum/mivnum9.pie | 19 +++ data/base/misc/mivnum2.pie | 19 --- data/base/misc/mivnum4.pie | 19 --- data/base/misc/mivnum5.pie | 19 --- .../texpages/page-12-player-buildings.png | Bin 1050923 -> 44846 bytes data/base/wrf/basic.wrf | 114 +++++++++++++++--- data/mp/wrf/basic.wrf | 114 +++++++++++++++--- src/miscimd.cpp | 12 +- 106 files changed, 2317 insertions(+), 275 deletions(-) rename data/base/misc/{ => micnum}/micnum1.pie (51%) create mode 100644 data/base/misc/micnum/micnum10.pie create mode 100644 data/base/misc/micnum/micnum11.pie create mode 100644 data/base/misc/micnum/micnum12.pie create mode 100644 data/base/misc/micnum/micnum13.pie create mode 100644 data/base/misc/micnum/micnum14.pie create mode 100644 data/base/misc/micnum/micnum15.pie create mode 100644 data/base/misc/micnum/micnum16.pie create mode 100644 data/base/misc/micnum/micnum17.pie create mode 100644 data/base/misc/micnum/micnum18.pie create mode 100644 data/base/misc/micnum/micnum19.pie create mode 100644 data/base/misc/micnum/micnum2.pie create mode 100644 data/base/misc/micnum/micnum20.pie create mode 100644 data/base/misc/micnum/micnum21.pie create mode 100644 data/base/misc/micnum/micnum22.pie create mode 100644 data/base/misc/micnum/micnum23.pie create mode 100644 data/base/misc/micnum/micnum24.pie create mode 100644 data/base/misc/micnum/micnum25.pie create mode 100644 data/base/misc/micnum/micnum26.pie create mode 100644 data/base/misc/micnum/micnum27.pie create mode 100644 data/base/misc/micnum/micnum28.pie create mode 100644 data/base/misc/micnum/micnum29.pie rename data/base/misc/{ => micnum}/micnum3.pie (50%) create mode 100644 data/base/misc/micnum/micnum30.pie create mode 100644 data/base/misc/micnum/micnum31.pie create mode 100644 data/base/misc/micnum/micnum4.pie create mode 100644 data/base/misc/micnum/micnum5.pie create mode 100644 data/base/misc/micnum/micnum6.pie create mode 100644 data/base/misc/micnum/micnum7.pie create mode 100644 data/base/misc/micnum/micnum8.pie create mode 100644 data/base/misc/micnum/micnum9.pie delete mode 100644 data/base/misc/micnum2.pie delete mode 100644 data/base/misc/micnum4.pie delete mode 100644 data/base/misc/micnum5.pie rename data/base/misc/{ => minum}/minum1.pie (51%) create mode 100644 data/base/misc/minum/minum10.pie create mode 100644 data/base/misc/minum/minum11.pie create mode 100644 data/base/misc/minum/minum12.pie create mode 100644 data/base/misc/minum/minum13.pie create mode 100644 data/base/misc/minum/minum14.pie create mode 100644 data/base/misc/minum/minum15.pie create mode 100644 data/base/misc/minum/minum16.pie create mode 100644 data/base/misc/minum/minum17.pie create mode 100644 data/base/misc/minum/minum18.pie create mode 100644 data/base/misc/minum/minum19.pie create mode 100644 data/base/misc/minum/minum2.pie create mode 100644 data/base/misc/minum/minum20.pie create mode 100644 data/base/misc/minum/minum21.pie create mode 100644 data/base/misc/minum/minum22.pie create mode 100644 data/base/misc/minum/minum23.pie create mode 100644 data/base/misc/minum/minum24.pie create mode 100644 data/base/misc/minum/minum25.pie create mode 100644 data/base/misc/minum/minum26.pie create mode 100644 data/base/misc/minum/minum27.pie create mode 100644 data/base/misc/minum/minum28.pie create mode 100644 data/base/misc/minum/minum29.pie rename data/base/misc/{ => minum}/minum3.pie (50%) create mode 100644 data/base/misc/minum/minum30.pie create mode 100644 data/base/misc/minum/minum31.pie create mode 100644 data/base/misc/minum/minum4.pie create mode 100644 data/base/misc/minum/minum5.pie create mode 100644 data/base/misc/minum/minum6.pie create mode 100644 data/base/misc/minum/minum7.pie create mode 100644 data/base/misc/minum/minum8.pie create mode 100644 data/base/misc/minum/minum9.pie delete mode 100644 data/base/misc/minum2.pie delete mode 100644 data/base/misc/minum4.pie delete mode 100644 data/base/misc/minum5.pie rename data/base/misc/{ => mivnum}/mivnum1.pie (51%) create mode 100644 data/base/misc/mivnum/mivnum10.pie create mode 100644 data/base/misc/mivnum/mivnum11.pie create mode 100644 data/base/misc/mivnum/mivnum12.pie create mode 100644 data/base/misc/mivnum/mivnum13.pie create mode 100644 data/base/misc/mivnum/mivnum14.pie create mode 100644 data/base/misc/mivnum/mivnum15.pie create mode 100644 data/base/misc/mivnum/mivnum16.pie create mode 100644 data/base/misc/mivnum/mivnum17.pie create mode 100644 data/base/misc/mivnum/mivnum18.pie create mode 100644 data/base/misc/mivnum/mivnum19.pie create mode 100644 data/base/misc/mivnum/mivnum2.pie create mode 100644 data/base/misc/mivnum/mivnum20.pie create mode 100644 data/base/misc/mivnum/mivnum21.pie create mode 100644 data/base/misc/mivnum/mivnum22.pie create mode 100644 data/base/misc/mivnum/mivnum23.pie create mode 100644 data/base/misc/mivnum/mivnum24.pie create mode 100644 data/base/misc/mivnum/mivnum25.pie create mode 100644 data/base/misc/mivnum/mivnum26.pie create mode 100644 data/base/misc/mivnum/mivnum27.pie create mode 100644 data/base/misc/mivnum/mivnum28.pie create mode 100644 data/base/misc/mivnum/mivnum29.pie rename data/base/misc/{ => mivnum}/mivnum3.pie (50%) create mode 100644 data/base/misc/mivnum/mivnum30.pie create mode 100644 data/base/misc/mivnum/mivnum31.pie create mode 100644 data/base/misc/mivnum/mivnum4.pie create mode 100644 data/base/misc/mivnum/mivnum5.pie create mode 100644 data/base/misc/mivnum/mivnum6.pie create mode 100644 data/base/misc/mivnum/mivnum7.pie create mode 100644 data/base/misc/mivnum/mivnum8.pie create mode 100644 data/base/misc/mivnum/mivnum9.pie delete mode 100644 data/base/misc/mivnum2.pie delete mode 100644 data/base/misc/mivnum4.pie delete mode 100644 data/base/misc/mivnum5.pie diff --git a/data/base/misc/micnum1.pie b/data/base/misc/micnum/micnum1.pie similarity index 51% rename from data/base/misc/micnum1.pie rename to data/base/misc/micnum/micnum1.pie index dcea57b00..31c26a633 100644 --- a/data/base/misc/micnum1.pie +++ b/data/base/misc/micnum/micnum1.pie @@ -3,17 +3,17 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 POLYGONS 4 200 3 3 2 1 188 101 210 101 210 125 200 3 3 1 0 188 101 210 125 188 125 - 200 3 7 6 5 1 78 19 78 19 98 - 200 3 7 5 4 1 78 19 98 1 98 \ No newline at end of file + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum10.pie b/data/base/misc/micnum/micnum10.pie new file mode 100644 index 000000000..ba2bd7f50 --- /dev/null +++ b/data/base/misc/micnum/micnum10.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum11.pie b/data/base/misc/micnum/micnum11.pie new file mode 100644 index 000000000..f912c5255 --- /dev/null +++ b/data/base/misc/micnum/micnum11.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum12.pie b/data/base/misc/micnum/micnum12.pie new file mode 100644 index 000000000..c3f37043b --- /dev/null +++ b/data/base/misc/micnum/micnum12.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum13.pie b/data/base/misc/micnum/micnum13.pie new file mode 100644 index 000000000..a03c9fde1 --- /dev/null +++ b/data/base/misc/micnum/micnum13.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum14.pie b/data/base/misc/micnum/micnum14.pie new file mode 100644 index 000000000..9b6b1f8ec --- /dev/null +++ b/data/base/misc/micnum/micnum14.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum15.pie b/data/base/misc/micnum/micnum15.pie new file mode 100644 index 000000000..988c4cf5e --- /dev/null +++ b/data/base/misc/micnum/micnum15.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum16.pie b/data/base/misc/micnum/micnum16.pie new file mode 100644 index 000000000..36b57fcbd --- /dev/null +++ b/data/base/misc/micnum/micnum16.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum17.pie b/data/base/misc/micnum/micnum17.pie new file mode 100644 index 000000000..7c675ba19 --- /dev/null +++ b/data/base/misc/micnum/micnum17.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum18.pie b/data/base/misc/micnum/micnum18.pie new file mode 100644 index 000000000..b5dda801c --- /dev/null +++ b/data/base/misc/micnum/micnum18.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum19.pie b/data/base/misc/micnum/micnum19.pie new file mode 100644 index 000000000..cf4990433 --- /dev/null +++ b/data/base/misc/micnum/micnum19.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/micnum/micnum2.pie b/data/base/misc/micnum/micnum2.pie new file mode 100644 index 000000000..91e375747 --- /dev/null +++ b/data/base/misc/micnum/micnum2.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum20.pie b/data/base/misc/micnum/micnum20.pie new file mode 100644 index 000000000..9f2931091 --- /dev/null +++ b/data/base/misc/micnum/micnum20.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum21.pie b/data/base/misc/micnum/micnum21.pie new file mode 100644 index 000000000..bd9ca7666 --- /dev/null +++ b/data/base/misc/micnum/micnum21.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum22.pie b/data/base/misc/micnum/micnum22.pie new file mode 100644 index 000000000..58000c28e --- /dev/null +++ b/data/base/misc/micnum/micnum22.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum23.pie b/data/base/misc/micnum/micnum23.pie new file mode 100644 index 000000000..82f16b21e --- /dev/null +++ b/data/base/misc/micnum/micnum23.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum24.pie b/data/base/misc/micnum/micnum24.pie new file mode 100644 index 000000000..9e146048f --- /dev/null +++ b/data/base/misc/micnum/micnum24.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum25.pie b/data/base/misc/micnum/micnum25.pie new file mode 100644 index 000000000..b3e89ff3b --- /dev/null +++ b/data/base/misc/micnum/micnum25.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum26.pie b/data/base/misc/micnum/micnum26.pie new file mode 100644 index 000000000..5728cbee1 --- /dev/null +++ b/data/base/misc/micnum/micnum26.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum27.pie b/data/base/misc/micnum/micnum27.pie new file mode 100644 index 000000000..a01f153d9 --- /dev/null +++ b/data/base/misc/micnum/micnum27.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum28.pie b/data/base/misc/micnum/micnum28.pie new file mode 100644 index 000000000..357458e7c --- /dev/null +++ b/data/base/misc/micnum/micnum28.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum/micnum29.pie b/data/base/misc/micnum/micnum29.pie new file mode 100644 index 000000000..4945d2f1a --- /dev/null +++ b/data/base/misc/micnum/micnum29.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/micnum3.pie b/data/base/misc/micnum/micnum3.pie similarity index 50% rename from data/base/misc/micnum3.pie rename to data/base/misc/micnum/micnum3.pie index e284ae07c..2a0890966 100644 --- a/data/base/misc/micnum3.pie +++ b/data/base/misc/micnum/micnum3.pie @@ -3,17 +3,17 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 POLYGONS 4 200 3 3 2 1 188 101 210 101 210 125 200 3 3 1 0 188 101 210 125 188 125 - 200 3 7 6 5 58 184 79 184 79 206 - 200 3 7 5 4 58 184 79 206 58 206 \ No newline at end of file + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 diff --git a/data/base/misc/micnum/micnum30.pie b/data/base/misc/micnum/micnum30.pie new file mode 100644 index 000000000..756b5588f --- /dev/null +++ b/data/base/misc/micnum/micnum30.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/micnum/micnum31.pie b/data/base/misc/micnum/micnum31.pie new file mode 100644 index 000000000..054f9a623 --- /dev/null +++ b/data/base/misc/micnum/micnum31.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/micnum/micnum4.pie b/data/base/misc/micnum/micnum4.pie new file mode 100644 index 000000000..0d9c75d8a --- /dev/null +++ b/data/base/misc/micnum/micnum4.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 diff --git a/data/base/misc/micnum/micnum5.pie b/data/base/misc/micnum/micnum5.pie new file mode 100644 index 000000000..7b6452573 --- /dev/null +++ b/data/base/misc/micnum/micnum5.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 diff --git a/data/base/misc/micnum/micnum6.pie b/data/base/misc/micnum/micnum6.pie new file mode 100644 index 000000000..caabcfa0f --- /dev/null +++ b/data/base/misc/micnum/micnum6.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 diff --git a/data/base/misc/micnum/micnum7.pie b/data/base/misc/micnum/micnum7.pie new file mode 100644 index 000000000..435816756 --- /dev/null +++ b/data/base/misc/micnum/micnum7.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 diff --git a/data/base/misc/micnum/micnum8.pie b/data/base/misc/micnum/micnum8.pie new file mode 100644 index 000000000..61200c6aa --- /dev/null +++ b/data/base/misc/micnum/micnum8.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 diff --git a/data/base/misc/micnum/micnum9.pie b/data/base/misc/micnum/micnum9.pie new file mode 100644 index 000000000..28c5421b1 --- /dev/null +++ b/data/base/misc/micnum/micnum9.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 diff --git a/data/base/misc/micnum2.pie b/data/base/misc/micnum2.pie deleted file mode 100644 index e8c8c34c5..000000000 --- a/data/base/misc/micnum2.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 188 101 210 101 210 125 - 200 3 3 1 0 188 101 210 125 188 125 - 200 3 7 6 5 189 130 208 130 208 150 - 200 3 7 5 4 189 130 208 150 189 150 \ No newline at end of file diff --git a/data/base/misc/micnum4.pie b/data/base/misc/micnum4.pie deleted file mode 100644 index b016788bb..000000000 --- a/data/base/misc/micnum4.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 188 101 210 101 210 125 - 200 3 3 1 0 188 101 210 125 188 125 - 200 3 7 6 5 226 206 248 206 248 228 - 200 3 7 5 4 226 206 248 228 226 228 \ No newline at end of file diff --git a/data/base/misc/micnum5.pie b/data/base/misc/micnum5.pie deleted file mode 100644 index f1811b943..000000000 --- a/data/base/misc/micnum5.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 188 101 210 101 210 125 - 200 3 3 1 0 188 101 210 125 188 125 - 200 3 7 6 5 226 232 248 232 248 254 - 200 3 7 5 4 226 232 248 254 226 254 \ No newline at end of file diff --git a/data/base/misc/minum1.pie b/data/base/misc/minum/minum1.pie similarity index 51% rename from data/base/misc/minum1.pie rename to data/base/misc/minum/minum1.pie index fc53dc62e..01e8d7e29 100644 --- a/data/base/misc/minum1.pie +++ b/data/base/misc/minum/minum1.pie @@ -3,17 +3,17 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 POLYGONS 4 200 3 3 2 1 161 101 185 101 185 125 200 3 3 1 0 161 101 185 125 161 125 - 200 3 7 6 5 1 78 19 78 19 98 - 200 3 7 5 4 1 78 19 98 1 98 \ No newline at end of file + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum10.pie b/data/base/misc/minum/minum10.pie new file mode 100644 index 000000000..93374366a --- /dev/null +++ b/data/base/misc/minum/minum10.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum11.pie b/data/base/misc/minum/minum11.pie new file mode 100644 index 000000000..b73f1e930 --- /dev/null +++ b/data/base/misc/minum/minum11.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum12.pie b/data/base/misc/minum/minum12.pie new file mode 100644 index 000000000..a768c2254 --- /dev/null +++ b/data/base/misc/minum/minum12.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum13.pie b/data/base/misc/minum/minum13.pie new file mode 100644 index 000000000..1ff56a80a --- /dev/null +++ b/data/base/misc/minum/minum13.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum14.pie b/data/base/misc/minum/minum14.pie new file mode 100644 index 000000000..4558bddf5 --- /dev/null +++ b/data/base/misc/minum/minum14.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum15.pie b/data/base/misc/minum/minum15.pie new file mode 100644 index 000000000..7cde0af64 --- /dev/null +++ b/data/base/misc/minum/minum15.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum16.pie b/data/base/misc/minum/minum16.pie new file mode 100644 index 000000000..41d5d7a25 --- /dev/null +++ b/data/base/misc/minum/minum16.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum17.pie b/data/base/misc/minum/minum17.pie new file mode 100644 index 000000000..5e78e90a9 --- /dev/null +++ b/data/base/misc/minum/minum17.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum18.pie b/data/base/misc/minum/minum18.pie new file mode 100644 index 000000000..b7237d9bb --- /dev/null +++ b/data/base/misc/minum/minum18.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum19.pie b/data/base/misc/minum/minum19.pie new file mode 100644 index 000000000..9a9e667a6 --- /dev/null +++ b/data/base/misc/minum/minum19.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/minum/minum2.pie b/data/base/misc/minum/minum2.pie new file mode 100644 index 000000000..768f9be06 --- /dev/null +++ b/data/base/misc/minum/minum2.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum20.pie b/data/base/misc/minum/minum20.pie new file mode 100644 index 000000000..8a5abf1c3 --- /dev/null +++ b/data/base/misc/minum/minum20.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum21.pie b/data/base/misc/minum/minum21.pie new file mode 100644 index 000000000..a742e2a4b --- /dev/null +++ b/data/base/misc/minum/minum21.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum22.pie b/data/base/misc/minum/minum22.pie new file mode 100644 index 000000000..355baba32 --- /dev/null +++ b/data/base/misc/minum/minum22.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum23.pie b/data/base/misc/minum/minum23.pie new file mode 100644 index 000000000..0ca4c4695 --- /dev/null +++ b/data/base/misc/minum/minum23.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum24.pie b/data/base/misc/minum/minum24.pie new file mode 100644 index 000000000..7ddca5e9a --- /dev/null +++ b/data/base/misc/minum/minum24.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum25.pie b/data/base/misc/minum/minum25.pie new file mode 100644 index 000000000..d07dd9a03 --- /dev/null +++ b/data/base/misc/minum/minum25.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum26.pie b/data/base/misc/minum/minum26.pie new file mode 100644 index 000000000..4de12d4a4 --- /dev/null +++ b/data/base/misc/minum/minum26.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum27.pie b/data/base/misc/minum/minum27.pie new file mode 100644 index 000000000..72c73a803 --- /dev/null +++ b/data/base/misc/minum/minum27.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum28.pie b/data/base/misc/minum/minum28.pie new file mode 100644 index 000000000..a4ddf881b --- /dev/null +++ b/data/base/misc/minum/minum28.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum/minum29.pie b/data/base/misc/minum/minum29.pie new file mode 100644 index 000000000..1e56f4630 --- /dev/null +++ b/data/base/misc/minum/minum29.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/minum3.pie b/data/base/misc/minum/minum3.pie similarity index 50% rename from data/base/misc/minum3.pie rename to data/base/misc/minum/minum3.pie index f13fade89..d2b47c80c 100644 --- a/data/base/misc/minum3.pie +++ b/data/base/misc/minum/minum3.pie @@ -3,17 +3,17 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 POLYGONS 4 200 3 3 2 1 161 101 185 101 185 125 200 3 3 1 0 161 101 185 125 161 125 - 200 3 7 6 5 58 184 79 184 79 206 - 200 3 7 5 4 58 184 79 206 58 206 \ No newline at end of file + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 diff --git a/data/base/misc/minum/minum30.pie b/data/base/misc/minum/minum30.pie new file mode 100644 index 000000000..2dabf4d4f --- /dev/null +++ b/data/base/misc/minum/minum30.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/minum/minum31.pie b/data/base/misc/minum/minum31.pie new file mode 100644 index 000000000..7546fdd98 --- /dev/null +++ b/data/base/misc/minum/minum31.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/minum/minum4.pie b/data/base/misc/minum/minum4.pie new file mode 100644 index 000000000..bfe54c65a --- /dev/null +++ b/data/base/misc/minum/minum4.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 diff --git a/data/base/misc/minum/minum5.pie b/data/base/misc/minum/minum5.pie new file mode 100644 index 000000000..0161021f8 --- /dev/null +++ b/data/base/misc/minum/minum5.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 diff --git a/data/base/misc/minum/minum6.pie b/data/base/misc/minum/minum6.pie new file mode 100644 index 000000000..a587731f6 --- /dev/null +++ b/data/base/misc/minum/minum6.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 diff --git a/data/base/misc/minum/minum7.pie b/data/base/misc/minum/minum7.pie new file mode 100644 index 000000000..f63995ab5 --- /dev/null +++ b/data/base/misc/minum/minum7.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 diff --git a/data/base/misc/minum/minum8.pie b/data/base/misc/minum/minum8.pie new file mode 100644 index 000000000..85d933977 --- /dev/null +++ b/data/base/misc/minum/minum8.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 diff --git a/data/base/misc/minum/minum9.pie b/data/base/misc/minum/minum9.pie new file mode 100644 index 000000000..b1051e6b2 --- /dev/null +++ b/data/base/misc/minum/minum9.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 diff --git a/data/base/misc/minum2.pie b/data/base/misc/minum2.pie deleted file mode 100644 index bc70847fc..000000000 --- a/data/base/misc/minum2.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 161 101 185 101 185 125 - 200 3 3 1 0 161 101 185 125 161 125 - 200 3 7 6 5 189 130 208 130 208 150 - 200 3 7 5 4 189 130 208 150 189 150 \ No newline at end of file diff --git a/data/base/misc/minum4.pie b/data/base/misc/minum4.pie deleted file mode 100644 index 7571a0b8f..000000000 --- a/data/base/misc/minum4.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 161 101 185 101 185 125 - 200 3 3 1 0 161 101 185 125 161 125 - 200 3 7 6 5 226 206 248 206 248 228 - 200 3 7 5 4 226 206 248 228 226 228 \ No newline at end of file diff --git a/data/base/misc/minum5.pie b/data/base/misc/minum5.pie deleted file mode 100644 index 0af03e832..000000000 --- a/data/base/misc/minum5.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 161 101 185 101 185 125 - 200 3 3 1 0 161 101 185 125 161 125 - 200 3 7 6 5 226 232 248 232 248 254 - 200 3 7 5 4 226 232 248 254 226 254 \ No newline at end of file diff --git a/data/base/misc/mivnum1.pie b/data/base/misc/mivnum/mivnum1.pie similarity index 51% rename from data/base/misc/mivnum1.pie rename to data/base/misc/mivnum/mivnum1.pie index 978d8f65d..1d86cf6d1 100644 --- a/data/base/misc/mivnum1.pie +++ b/data/base/misc/mivnum/mivnum1.pie @@ -3,17 +3,17 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 POLYGONS 4 200 3 3 2 1 161 128 186 128 186 151 200 3 3 1 0 161 128 186 151 161 151 - 200 3 7 6 5 1 78 19 78 19 98 - 200 3 7 5 4 1 78 19 98 1 98 \ No newline at end of file + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum10.pie b/data/base/misc/mivnum/mivnum10.pie new file mode 100644 index 000000000..b25f387e6 --- /dev/null +++ b/data/base/misc/mivnum/mivnum10.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum11.pie b/data/base/misc/mivnum/mivnum11.pie new file mode 100644 index 000000000..76e3c658f --- /dev/null +++ b/data/base/misc/mivnum/mivnum11.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum12.pie b/data/base/misc/mivnum/mivnum12.pie new file mode 100644 index 000000000..296044187 --- /dev/null +++ b/data/base/misc/mivnum/mivnum12.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum13.pie b/data/base/misc/mivnum/mivnum13.pie new file mode 100644 index 000000000..4b74c19fa --- /dev/null +++ b/data/base/misc/mivnum/mivnum13.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum14.pie b/data/base/misc/mivnum/mivnum14.pie new file mode 100644 index 000000000..210e91140 --- /dev/null +++ b/data/base/misc/mivnum/mivnum14.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum15.pie b/data/base/misc/mivnum/mivnum15.pie new file mode 100644 index 000000000..71aef1058 --- /dev/null +++ b/data/base/misc/mivnum/mivnum15.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum16.pie b/data/base/misc/mivnum/mivnum16.pie new file mode 100644 index 000000000..f181bf97e --- /dev/null +++ b/data/base/misc/mivnum/mivnum16.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum17.pie b/data/base/misc/mivnum/mivnum17.pie new file mode 100644 index 000000000..1581047ae --- /dev/null +++ b/data/base/misc/mivnum/mivnum17.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum18.pie b/data/base/misc/mivnum/mivnum18.pie new file mode 100644 index 000000000..c802a2bf3 --- /dev/null +++ b/data/base/misc/mivnum/mivnum18.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum19.pie b/data/base/misc/mivnum/mivnum19.pie new file mode 100644 index 000000000..e4f389532 --- /dev/null +++ b/data/base/misc/mivnum/mivnum19.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 + 200 3 11 10 9 13 82 23 82 23 97 + 200 3 11 9 8 13 82 23 97 13 97 diff --git a/data/base/misc/mivnum/mivnum2.pie b/data/base/misc/mivnum/mivnum2.pie new file mode 100644 index 000000000..7cb104cfa --- /dev/null +++ b/data/base/misc/mivnum/mivnum2.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum20.pie b/data/base/misc/mivnum/mivnum20.pie new file mode 100644 index 000000000..b10f045e6 --- /dev/null +++ b/data/base/misc/mivnum/mivnum20.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum21.pie b/data/base/misc/mivnum/mivnum21.pie new file mode 100644 index 000000000..cb47cebcc --- /dev/null +++ b/data/base/misc/mivnum/mivnum21.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum22.pie b/data/base/misc/mivnum/mivnum22.pie new file mode 100644 index 000000000..ea418d8ae --- /dev/null +++ b/data/base/misc/mivnum/mivnum22.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum23.pie b/data/base/misc/mivnum/mivnum23.pie new file mode 100644 index 000000000..e973cdf97 --- /dev/null +++ b/data/base/misc/mivnum/mivnum23.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum24.pie b/data/base/misc/mivnum/mivnum24.pie new file mode 100644 index 000000000..c01bed090 --- /dev/null +++ b/data/base/misc/mivnum/mivnum24.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum25.pie b/data/base/misc/mivnum/mivnum25.pie new file mode 100644 index 000000000..fe7816173 --- /dev/null +++ b/data/base/misc/mivnum/mivnum25.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum26.pie b/data/base/misc/mivnum/mivnum26.pie new file mode 100644 index 000000000..6a815ffa6 --- /dev/null +++ b/data/base/misc/mivnum/mivnum26.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum27.pie b/data/base/misc/mivnum/mivnum27.pie new file mode 100644 index 000000000..8439750af --- /dev/null +++ b/data/base/misc/mivnum/mivnum27.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum28.pie b/data/base/misc/mivnum/mivnum28.pie new file mode 100644 index 000000000..2838269aa --- /dev/null +++ b/data/base/misc/mivnum/mivnum28.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum/mivnum29.pie b/data/base/misc/mivnum/mivnum29.pie new file mode 100644 index 000000000..80597af42 --- /dev/null +++ b/data/base/misc/mivnum/mivnum29.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 + 200 3 11 10 9 188 132 198 132 198 147 + 200 3 11 9 8 188 132 198 147 188 147 diff --git a/data/base/misc/mivnum3.pie b/data/base/misc/mivnum/mivnum3.pie similarity index 50% rename from data/base/misc/mivnum3.pie rename to data/base/misc/mivnum/mivnum3.pie index 159c85bd2..a9c598dfa 100644 --- a/data/base/misc/mivnum3.pie +++ b/data/base/misc/mivnum/mivnum3.pie @@ -3,17 +3,17 @@ TYPE 200 TEXTURE 0 page-12-player-buildings.png 256 256 LEVELS 1 LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 POLYGONS 4 200 3 3 2 1 161 128 186 128 186 151 200 3 3 1 0 161 128 186 151 161 151 - 200 3 7 6 5 58 184 79 184 79 206 - 200 3 7 5 4 58 184 79 206 58 206 \ No newline at end of file + 200 3 7 6 5 199 132 209 132 209 147 + 200 3 7 5 4 199 132 209 147 199 147 diff --git a/data/base/misc/mivnum/mivnum30.pie b/data/base/misc/mivnum/mivnum30.pie new file mode 100644 index 000000000..15054aeb9 --- /dev/null +++ b/data/base/misc/mivnum/mivnum30.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 2 82 12 82 12 97 + 200 3 7 5 4 2 82 12 97 2 97 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/mivnum/mivnum31.pie b/data/base/misc/mivnum/mivnum31.pie new file mode 100644 index 000000000..9de72780f --- /dev/null +++ b/data/base/misc/mivnum/mivnum31.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 13 82 23 82 23 97 + 200 3 7 5 4 13 82 23 97 13 97 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/mivnum/mivnum4.pie b/data/base/misc/mivnum/mivnum4.pie new file mode 100644 index 000000000..5596e30fa --- /dev/null +++ b/data/base/misc/mivnum/mivnum4.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 58 188 68 188 68 203 + 200 3 7 5 4 58 188 68 203 58 203 diff --git a/data/base/misc/mivnum/mivnum5.pie b/data/base/misc/mivnum/mivnum5.pie new file mode 100644 index 000000000..776851e0e --- /dev/null +++ b/data/base/misc/mivnum/mivnum5.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 69 188 79 188 79 203 + 200 3 7 5 4 69 188 79 203 69 203 diff --git a/data/base/misc/mivnum/mivnum6.pie b/data/base/misc/mivnum/mivnum6.pie new file mode 100644 index 000000000..dff51b5f1 --- /dev/null +++ b/data/base/misc/mivnum/mivnum6.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 212 236 212 236 227 + 200 3 7 5 4 226 212 236 227 226 227 diff --git a/data/base/misc/mivnum/mivnum7.pie b/data/base/misc/mivnum/mivnum7.pie new file mode 100644 index 000000000..70957d7b1 --- /dev/null +++ b/data/base/misc/mivnum/mivnum7.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 237 212 247 212 247 227 + 200 3 7 5 4 237 212 247 227 237 227 diff --git a/data/base/misc/mivnum/mivnum8.pie b/data/base/misc/mivnum/mivnum8.pie new file mode 100644 index 000000000..c52684f3a --- /dev/null +++ b/data/base/misc/mivnum/mivnum8.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 226 234 236 234 236 249 + 200 3 7 5 4 226 234 236 249 226 249 diff --git a/data/base/misc/mivnum/mivnum9.pie b/data/base/misc/mivnum/mivnum9.pie new file mode 100644 index 000000000..cc8b7fab5 --- /dev/null +++ b/data/base/misc/mivnum/mivnum9.pie @@ -0,0 +1,19 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 8 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + -34 3 -51 + 34 3 -51 + 34 3 51 + -34 3 51 +POLYGONS 4 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 237 234 247 234 247 249 + 200 3 7 5 4 237 234 247 249 237 249 diff --git a/data/base/misc/mivnum2.pie b/data/base/misc/mivnum2.pie deleted file mode 100644 index eede1252c..000000000 --- a/data/base/misc/mivnum2.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 161 128 186 128 186 151 - 200 3 3 1 0 161 128 186 151 161 151 - 200 3 7 6 5 189 130 208 130 208 150 - 200 3 7 5 4 189 130 208 150 189 150 \ No newline at end of file diff --git a/data/base/misc/mivnum4.pie b/data/base/misc/mivnum4.pie deleted file mode 100644 index 036598a18..000000000 --- a/data/base/misc/mivnum4.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 161 128 186 128 186 151 - 200 3 3 1 0 161 128 186 151 161 151 - 200 3 7 6 5 226 206 248 206 248 228 - 200 3 7 5 4 226 206 248 228 226 228 \ No newline at end of file diff --git a/data/base/misc/mivnum5.pie b/data/base/misc/mivnum5.pie deleted file mode 100644 index e40e47c19..000000000 --- a/data/base/misc/mivnum5.pie +++ /dev/null @@ -1,19 +0,0 @@ -PIE 2 -TYPE 200 -TEXTURE 0 page-12-player-buildings.png 256 256 -LEVELS 1 -LEVEL 1 -POINTS 8 - -66 0 -65 - 63 0 -65 - 63 0 65 - -66 0 65 - -65 3 -64 - 63 3 -64 - 63 3 65 - -65 3 65 -POLYGONS 4 - 200 3 3 2 1 161 128 186 128 186 151 - 200 3 3 1 0 161 128 186 151 161 151 - 200 3 7 6 5 226 232 248 232 248 254 - 200 3 7 5 4 226 232 248 254 226 254 \ No newline at end of file diff --git a/data/base/texpages/page-12-player-buildings.png b/data/base/texpages/page-12-player-buildings.png index d676f2a8c64d7ce2c659a1bd0588bab86347dd74..19fc96528a7ee1d55bc41944dc557b483148eac1 100644 GIT binary patch literal 44846 zcmZ5|bzIZ!_x`=0Q$%StL}>v55vdIUL1~b#DIh7`F$O4zD4-Gw!e|gA6p)6Qlypi? zLb|(uJoWv3p69RakG)k$0L?8`C0ziZr(dCfob>c#)3=$GCq=bh3x~~5sR1c~;UENn z0ir;i0`%j9Mi%Dle56^(SxJt+eEDJl_w5#d^3pMG_YVxn=&ZGQ&UFW*m<&Il0fXNV zq#=?SquJfw2R$NmGIM_C26V>Rc`rArP{{}!qXx>mdk?RarO*?60#CpQyz7ph6N!1I+_LiDF%TW(62&3S+Hlt%Mc8P$OIm9$}aIS0%ns**>gNJSti|> zRBiT9_K(m zaJ7sMR$=UgpkJSpOEboQ$v?pBs4)FR+~-X=(y?gwbI<{}g$$fJ z_NuvK;(lw+UvGu8IYsu56Q=>aJ|6`CHl!H}p;ZUKo;V|&!rFA6tb92w&v3n`#rZNI zG8MG~!Z4ie0W5HD-R4<|N35>7P{HfD_jui)JOrz_EC5(w4+>h7+HJ$TL>j!BWkl2-XTsCwJ zJ8FJU9@XgrQSvx`)3Wdn%I~^@e#S~bD3n7){G(MPwmVW}1|pY=%n?-mA} zbuI$O$RL9XNXGdnFsucc+E%k9arzTlp}z^-1OYYx*G^5Z9c=*8Xc!LM@dj@!@akQR zg5_$83T7h5EM(w%Q|FoPGc+V%YkUe;KTnLY-H7dfSwG7|=}WEQhmL4oCQ`xIr1lmn@y8_}+b;o$G62&a0afcR|CH7G*#qGZdB%a_c;aQN#gFL37 zHJa`iedQzV`*@t;{ymNZ#lz=u9@m*5AA`@8N==o)^&kzsJT zkr5JtGT6q%)lV2$GBWBj52%FTJxNJ*8kOX4L(rc{Yy8bt51R38u)j@U96JSNCoB)}fzD1&o*C?gM+*J| z$FBx#aZFxkFp?zNRN#!!-*WupL(0ei^?)$c%o^DQ3#Nq{<9cy1w^6zfq!OKM3mPq$ z>Tdw(57IsJ@P~c0dx=mmA*+~e;zA1PYH!z!pWSsCtNp1q{IdQ@0&OhFjv8U!mv5*F zNUALAttXX-a)czU3ss|hqnY{;QIue4{65P1^zE3`UK-eVtD%arhAY)_Wh=-3bZ7r3 zS=v1|Om-79ohCV4aJ*=9BCvok&U|X@nYth?G~#kgbNpo}yYx9+Z&B^;#rSsHx?h`5aC&F@hE>W#8B*r6<=*})elPY zd+C98wjz;_D$fc6?8&lchOuUROx_uRFYf0>9lRjRH4>Zhz5fWIvTz#z5``}utsboS zUx`!q585!`U6Q&A((}TE%VTC^-xmzK^2Z!qX-809BN1JX;KWWox}C2J(67z+-@mKx zm7ghRcbAR(8$~JNpMeEu_yU&$@t->nc`<&GzMu4%SeinT4+CP zs`@xI^ui@oem*`veqC+t&Kdo6%CFDs??=W@ul;CStFurs`8L>i@MH14ZLqB@iUiOB z_+Z^I-93!ts+CJ+RIub~gducRkqny!i6)iG?KuX|u<(l<*>5tD*WhxgQe*pz+-U4rS4TFyPK`=-Y2Cp7dhuLLpk-Rk5b3THNDGmM z5Jm)XP8C2K@Bv0Z2}p2IGz23DDsk6_t`^O#IHlt|V{?Vw+lmDfhpu46g$8V{Q5rbQ z=q^^zp$b~lak$lj-&)zkw_zF4p|~MsLkNV`-Mrh+#YDk#rA*>*Ij7FeY$e#Ux4!;E z++3DH;!b0`JKl<(C<}g&%x@L{b7b1z5*R?xsid!}tKA4=!rNXD6xlH~Fm9#`SmFpG zNuwgNk75VCrWcTCak(o34`g0fAKETBQo{p@4Xor@2U2~BupgN{W2)R0uFZ>O74Z6i z+%=1Dh=7%_(mJT?Ug@5)&@**RKS{u9%tw(J&Y;@J$;XqK-hK6@Y5^+8de`^l1^zz@ zX~5MSG$ljaK8-!X_0!I`svWeGFo+CXN`)Q^kyk$Q@5X##e07HI@O@iA?TEzpD_~U& z8;um*x&38kvL1^2N$XXyS+8#1-J7`Z!n-(-TAOxw03Bg&c)V|A>DToW5X!@L+sdQh zc871>i_2~mth#(qyPiFkY2Mb5AP#Ya{DaA#S|OO;`c!uJDkzaA&U9b~mKSv^5cB?I zz{E}E6I6y)w382$mI;t^d_HxM?&%Q38vDpK;JWoAR8(L`ZtEc5-sO#@+|sjy(CjAj z>*iI(zvd zqbLgMvN7A->?QMEo}Y-Nb(??tv5VpZ2Xx1})&w)O5@0@-WZMB;BR?KS)ExG46 z&2p#Rh?z@f|3#uX^sKW-YBLUn*yU9~!t1|O3j)=>K1$87i86>Q72Px39a7wuiQKNZ zMnxRKWlK93l0V)Ps`q%qe?&uXvhn~X=74aMRfn<1?R-((BAdB{xjY~QF4A{;du^Y? zEmR{&sK}uEGWI6EPw4)%h<_j`q6TnJ))F?7L-s$9?zI24+m{TXA=|&zP!;}}hQTXr zP2$9d1|;G2L-6Yb_+>%zccd1F4|3lJ9rw{CtI7b4v?4Vd-h-x}wySIndcjZk!WJYj zg&G|&aC>RV&M*iH<~@3aZ)4mTf%e}oEJd{&koi@^~Yw zD%j|Sq+D*+&XAAVsCyk%pnzd}!LHTHk=ytwD~C%%Og3U(m~YuSRCpzMIcRZ6o&R4u zt-J{62VFQ;_nIW58{;bYe^=fnYirue``IQD>m0n$a*cKNeev9#A~-p_k9$MG?c=z8 zQyxxw^dtWl>zwEJP*fnx(5k4QXS6{WIm=LxrAJUyS;}p5?zBMn9-4haG^2`wj8o*R zN6U|_zI(JI7?sf2jo)o2&3!%sjd|wi&p%a?f^&i${mxOBSpKiyB6b6ue05i&XPd{D zBFe*k@JKjrkfiXo_efY=_3o&IoMBO%*3|mj?HFjt?|?RB9kp(e;F&oI){57yLLe4j z`hZtxiy@xSrV-XNryn;?A{&5@Jzm@^)yPT-Drak9YxVOBhT9WNQc?$LeVt5qayzhN zUnT1V=5=x%a}0BumuC?|4;s4DT<1;o|0UQ9;JTnSFEDdBK@f>H&Cvm9*4?Y)JOr|5 zFfexqG1YNdbOPM}C=W${Tj(xR&Z3(#BkojR0`C~Hy7q}>nx;L3ho4uJ4hBbAD>a(2 zM^_BTN+Gzi+=H#%WTxa*dHLMiM)sVH@;Q7vWux{JT-Z6M0k?3VW~}G!#%Lcii)`F?lr@3hll>M0^&XsGUlF zcm|$7Uq8>T2C)Ui>mTQ|>apvZtZ5Aa`#U*s0KZSu+g#LITpA^XZ<#)h{gbGtF+~55 zFW1Nq?OY=bSbx`r1h0Io=R)aZCT~}2L`kd)LvimC8v^&_vlk#xXVHQ3X~F{uoI~B) z;P=IZ`1t@vxLLgx6|~s0VeDeh;}4aZ-!{2ZEWVMQ93FQR_;iQIeyR+VinjdmBKNQ; zZsxc9o}V4|)A7&q(C!&SORvfqUkPnNkfsA%m#m>rHw9#m?h5~}W7h_i3PhEc!@nNa28! z(;EaIZ!PfDl#ovZR1=@%ti9CKn+y<&``lgLVOcx!@Z|N)N0rgzGd?eLtBQ$Chb6kU zB)Bs4>rg`1Cx3oS2aWKich3!{|8XscjbnTJgF4@I0y&@|c}fy@Nub8YIw5urZ}Z+6 z>Ac9{g1-+%N^ae`BXRfakK1s20i8a0!~*^k0=!m{zvc0H?zN0dPSB!EGP~PM+elTz zZ!9VxIMC&k0H=jE?#YPbEGi5)EHAcG!b$QdsOM#P&es0OQrKJx`?a_w>eo58z40Ya z!kw;5C@3M_J9>ak<-6(BgCZ-8h;0 zx__q|rwPZwWMI!PHixEAg{R&8I8SmV>5q~uCR59ZtA}$z{+439&A3Zp4Vybtk0VN8 zA%&mLoYtkIPwRsvQkqG&KQ=-{@C=a6%}PBl?%d|uFw3x^^ zGh=;n`IpS4;q7YzDGu6cx^ums=jIA;?bpq3b@^VE-;wW5$+@s4zd!J|)%=qVZP7H` zW}7kts-!=mIL?jyM$r~L3H0+JO9|S{CmcUMGu&mwalpL%E6xF`5_Mx z-%qxr5~95z(xl*&Fgo)UeG>RxFB`aQy42J zndtfYkY=Gek&5+luHrc9?0%PoegQgrLcW3~MHJlhm9QXF5+IRI)FN~KAL{&(wmGsL zQ$vL(oAuuuVbZ)2JeURAx{0_7c{&eV!Ua(pNz7PT~DdtAK zVRRDpjDv+gouTKrpg1ABGBMykB~7ZC>!gc~mG3wjs584U=rF8|i=YF|t}Z0!|AQzS z499wWE}JDYUAihf4}p_OO;~V1KIXl=ogUV>TC?QeUXp3Odga~Qkn1olY|qxz3m-wG zHa${)DhGP+iy_cno!n34<$cKj(n@H0o*caR6>N#bWxme7fS96F%;G4jmdv&gwU)k9 zB<%85gsB1Bz^tvoJF!2z(x@*y*^RYYTD=QH_YYxo{x^`EnlmSa;50mBxa=B_S>*6|z5?`}*t^Qn}kJhKg}HlrJ2uZrR4kq+a9Tv}XFG zo%%H@1a($tX1&c&%$yA#E|{fz@pqY-aoDo93jslVK@gmx@e@+=s2r z%@@%GjVqPPcc;cV6yITTw?1@F80(XUY;0_BrKF@RDeb-_i{Y8$y6WjkS>j9?A$n>x z)Qyu3J}YCIJ1gUOiG=a#X|W)-MkC=eN9x|8U#Ah_1f!g|I&XCA_$Eiu^W!exzD~zi z`(Dut-FJQdLxJX1+eUh&%7kB*RA5s|$#(b5n$(wKQqyU6XL=Xbbsrl32Qwaxa?#E! z9!MM`{BcD1HA<-c`}BUirvBiPmsu`{tbE;-W=P0wbBJCHrF*7g&d`+=nW>dACI#Ze z#Jz-BB0@e;Dsn%qwvXg;xGGb@a~Fnj2v1p;Rc?&p6M(4fGGzG3$NxDVtKN< zbWyI~n1-X9HrVaZXF0I6=OwR}xBvFyPfbHZLz%kMW@n23(f(GAl5CM#P5^DS*|I!V zoDOpJ&pZ6^|7zQTQ{ZLzN_fXWwM9ZsW=BWH1K49Vo^g z+cPLOJ)D~@3+pYB{?UcKCxKOxt5*Ix)i_--{o$SLuJgxkK5&stSq*}Y5oA()P;OA` zKT31th`RG1zjPjywB1trwtV@xmp)JN+)LW4O7@gDBHk5pvzWslXR`10e8VMiX6cdH zKe=$3fqOJl@wlBB0}V}R@VJ_k1OFi@B`7UF6lp4(s|S*tE66)FAg%~qQGFG(NeshB zT@}Q`b594{bds-D*BRtekKB`3fBvz?Ers^Q>cnne_HtA~?#qiPoy&<=?)uUx@6)}} z3}VJG0oAB2Q24HGLQbyk>a7h$d8)rU9RJjF$1w0?qP{%-{Mj5XyK@aPpd{)@Qy%sD ztJmj|V#Pq#6J0>SNhv<3jnoNCiVnEQ&Ik!zcSWXQrp-tl<br(-Dsy&!yh5#Zj9y?-C*H26WORVOSLtA5Gy=DR};FFz%2nnVgt-Yp~n`zc&S+--(K(K#G1OtT6aGPBpt_P@Q^tQD8=#Vs!Cw|GQX z`e~mCm^0mMZl|`kDo`NsYCa%brrNJl>oA9~puNWvtj`p71^KClkWO#uBJX z9#c@TOCc{n?V%6Z>5VXv*3cUfkDEf6h_SJqYDg=HI)PN%wEBhD*S^C1@c^xWb>C`TE#TU!Aw9O9<*!(b>0U?KqV1&S zKC6WzNasbn%4a`{+^0Va`629cI59V=VRGJ%0s3tkm)`-w4OQD@B)O5 zJbmOK6=SUkbZFlFT0#ofNX^JIG%Ev?q@-mjeZkDXCJQ?;^s63%s~`TklBg#XmukB7 z{iI~AvaG^FI7;j7xbbg~f7izjK&o%m_B3V0UIR_Uv%q>6e{$5y6K{+Pt7ib(6u^#t zmNJWrwrHm3>jFKzH^jVg8hrVB>YjVCnIP>073p*iT3AQR!NMC9WokuY6jvZ9?Hkc*6%2978!PUyf@~fGP z66YClQvkgs13LFc&KueIG+2eB92r4g>1lMn%&$P*N6dq(K0Gxj-$TK%_nLEC*Ab~u8~2n{KYPjW(YoOG;i$RW5@+?hkZE`h%_cW zD$wNuC+C1y*aB?}u7nBL5q*OL5;LzzJ>z%jJAQj?Y`9~G(n@npS$aX!a(aVAw%f-K zSgjq-19C>;JncrkRfqqyny^6i6O#Y^L+3>&&=UcgZ80XFB;lr;kd4f))}ovAa)h;jH6vIO5lxit16xtNy9`#`6)G!|XL_lEPY( zZdKJ@Z;BSX_TQE)Ud~?<+dfQ`Bth1EU3qXG zv7gt&_-0N$viPGu~Vw%B6bl0|U%uA!ehxU#HyCrt3ho{2+iMV>cA*q(| zgB1L{ZLpP$;Ox@76@`JxAh|McdwL=>=)~alR~+au{{pOl6kMK3>Kh#$4Vc5X7=7gF zx;iHbGtuzK7>O{8q?I433m@V(jSTwsz$)uM?+dwJ&11-sm?v>w%X3{ex<(Ceu4=i~MmG zY1%CN9`0*b73DU)-KOEvJ2b$cVvUmoRP52U7DVEV@G$5OyM2q%O7Xu7WrASk*U9m& z*en}dK$x3oCtXyL-;D0_Ux}^80DT5-Jv*pr?{}K&X%^DMqa_c!?daLaIIE8-fYUYe z2te4r8z2p|f0EpFr^FP0%Dt}#K|Gkvme5zMg2W2nG4H6VHg7SlDzTaMlruyvcpW|1 zzFu5!PU`h`7@}7&42cmQkSQ4Zi9|!4|E+X5P9d!QtGpDa0`ZiFxbJNuQ$s#Q!J3dx z@k>cXk2QDY7Q{Z~XoRRF8S4eQ1 zSaPHa^Y*#y9mzLF;YD_#@k3jgww5mL3eKmDXzwrfN67h?HLEM62>Xl*+9gJ*!X>H; zH?l9o*hl-T{*4zA2GE^f^ZRq?`yt3|BQMxHM?2D&g-{$-^wd!e=EfNBwAoQnkSz*l zy=yPkjhm1zGQFP|sxsGN>l&41qoIEI#T^Ph(oGXCT?%zaT=Yu#r2f;%pTO2P<9k(2>Pb_M+u@h)GS}WBUx<4F3xqnhi&fNX75#iDuG%MxxHWKH_ zN$t^Vyj8>l{ntH%Hi#7?cf}=i$APouc|SrD+)4Q$IJVV2NXa6=ojRIJ@8w1a3c!{0 zwMf#^>(KV@54k^y&rh-QvS$4_C8pJS!VYFD#dqf_hu^8(4!4Yae{qY9EW@e8dew1v zCTp7tU11uiRXWbp3illdwszJ3?foH&G#JG^Qh(^#b3y{TXC+s}!~Ji*A9KO(I_o7- zb_Qq+&*x$d{x7conV-h8#b$&=gkeCgamQNky`9-?~NN_mqjM`G>;TpwtNE*)R1FK^3N+x_BC0n}-h%&OpG zP+YrOxMjE7Mt!EkE*HohI;mF;Pr4V&bnuKCl^bm~?|7>*y9e@XI9W^b$PmznW$)G9 z7HisfUW@S#N8f}M?!?bunk`7ZQ(Vf%|E+%huTtp$3OZ(=?5Dyq7bt1AMbIl zXIc$lpv)wts?G<>*N7dVxPk~_tT*~&a==;vMf{5bd~3o;(5F?EwJ#Is9Eh%sj~O6_ zrj2}f*W0igNYP{#tHt`tYfPuLj1rIw&_up^;fN=dR;N+A!bRO^T778$c+&^&&0!nd zy_S`k1NR)aZCGL6ESwB1?yx*Ov^c%}KDhP_+raK}f59fm{a}@}|!Jfi73plP;2aX@DdB0?}Xy_>~l|Dx_Q>qrB#qhhu!md_mTwHJq?|HDU z=$33LUo7Z>jN_WYCFiKK?_Nj8smErVGk-GoMLitvt`Nu1H#bic3~+tDg9XF!HFqWj zO2;==81FPL1+iSb>6ZTq5^^vW1BC`P+BUd|V{L-48xAiS1a%r(o`Fkw8c!nNfHr&MSYB4Pc6NDrSg>vQ(;{5 zljGO8h{pfKmfs3U>OHNfn^RBm_e%6{lPrdJQb?XAd6Qxew=wDAi_}((d}bN!woY)k zW}-UX)6=&GX>RKt>=V|aSulk${OLdtYY+)Nx>o=~FrbeetLg}a|mQ9Ok-MnDN*8iBpt3;M{%k$6h9E*Iw zwJF(M;jYB}mJm9fpHzcM`8XAJ}E)x<8 zEgCOhk^|>G8%+^+Qhd%eousi`I4Uy|>&q!4OGclmxEe_7Iqr82Ik(=#|)p%-Lj!y1+mirP1$31K~{0)&}q zX3#WUgG7HcB>T>Ia>g|cxprVK@aw0Nf*}N#nG5M&^$T>YDhgx{W<2=vw~GF0RZJ>? zD1${FrohSY{t?)6d#)X(c~B}Ph97&0SyNjQsVS)bomKjc+tK>ys7Cv0_lM3m2~7tV zt9o-);|*!G32LY2>ZcAbfHC)5LzanC0qOP` z&6_a~1h=n2p*_x48A#T}WHMZe1w^}O2g6+AD{CWU9bU)`A7_m#^GuNyd`o@tzXH_(r~;oZcZZ)y7U(!#2DUi8Ua@eGsP z;p#?InZ{%%mWIVKx!YrVp+^gU`(Sitvv%!(KPXsC+8l36JIFGU^t?E#gL~nNw`MHG zO_WfmlYjJH{E-zXr*N~L62Lk1 z#>qk87CL+VGuFxWdgq&~Sjk=;dh+kVsk?`P8>I8;zH4LEvA)&xJ?C5HU`ORQ z90P#6mVRH`5`)h1me!J*(*Ql{)rZpoxJ<%VPDN& z?$F!oK%Yh}d--G`2NrE%`|nJJur-x%;Pt&hgxuPyYla;3I>lmCF^tOet^nNz1v2ve zrW~Kf0B$33`l;nG1u#$`I;6EB+pGsODXbXpNU<(ba+m7fOYhnyEO=2Ad5%B`i)GzE zr*S_|nzW5mqf3L0Xh^3DlvskRJ7~e6rdj8ZF*v=DsyxYWg_N3c@=8@AKmFTF0SLh> zKK#&70X_YUbn<DTi2` zefeoq`B~^C`dhCWJ_6 z*!6yWLQ2aDr(yKyM9}{dCBHCFE66TIUuy(|rIV9gNF--qa3`Y4yY9wqUZG5SB|*{q zS_yCMHheGv+n%hicPy-1skik=h0%RjF}7VQ?-;X{Lk%<@u>L)g48fcQMyrV+dvuda zj(L{&x;ONDQ~F(bV)-z&{pKBsOGvl(=AL8efL=~j8ecE+ksHeT@#Vx(Q~2*op%FvM z$~(sQ4t_rW@pHFI!{K!=Id}tQ=KQ?>QkZkPS1aQtg_M ztG7(1eYJH4?1nV~+;`!4VFznuM)zBWC(}bO!1NR8Kj~nR z$)WBfexED`wB#Pg?|ch0|EY5By4@p7*di>vuZ- zTSA^KxHYCO;+0p<4Y6#;C>ijDX3x2GL*q5m1O{0#%W+LOgJN?)`y z_J5_--*-DOKOdXvNr~Q~Cc$+tXxC9oi1+WD<><*XT~V`d!Z4pWWzqT@XC36vyq9Dd z9OTO1JG>7FJA1N}@VMnQMB;#Hzz{eCDvsf~VH0XY?eeSbXP8eJX*j8Opd zUF84P1pWX+jT}_}3VVuTf-TIhh^faRI6%h2V}P>{C4qNsOZOR40@-mRKseCzueVFa z2$IL~(A{gC z%#6poN%ivKAe|y3orC=V+v$mouMg6@+@f@5Sc55XQJ{1oh2Bx!Ki+CMyN zC2}5uBQ;KGC{ z!4TZ{BxqV!sRa)#BjYWobNPE?;BWJA#ShHn`pAyXjcSg2R`<=V)SO^P=X`T>S>@i$ z{Op^{)m+%g|HES!DxT=PNTP!wzQ{N(+AUXhYr57HBAO3bk)oM&oTgR4&d$|y5>@e zPO8rcB5^YTAA4N50nm3iWd9sp-*hUduw)NC&Af*4q>WfA-(19)p`RwC%!2G?xaeyt zrXU?1X$%y-Fv0#Y%)}p-QdL>08E%^Yy{x)wPOd1;Exja%)cV~PNgp4N_sSNlW z9;vZS>}U_3l%6=laKCN^goi`hyP;~vs+f;8%pkfMC+Jo7=@7rNsdnP`A5p^(m2y#R z5MqpGfWVKF_!_)1f(7I`H6b7uZ}f!{I<3(<)tDzp#Yx+0ow||22!B+{vsF2+M& z58V=FBL#bLgl@K(AK%6UN>shwm2Y`Jp?QN#OLv2YKGkoqVp;AbE#4@QbK=dFx4>?t zSlpEngdokR8yi~bZF&U-ZLfJwt;SnOJ1^OW_p43jKHsR;?etsg6t7#R0=ZD}Rrvb_F#!_nYVDpMF|IiMzTf1bgA8C$WDj;qWH;#j|9giYI5D=tVjNZw8T%434k9 z3YRyiqb83tH~eTP4adbmx#gMT#u0Irf^eK#iucaSUtXs5Phg!8z>MbUZnNDLOYP%U zI4JV+&+MVCyLJX>D?*Ti;Y z8%396UoXnJz;8hGDm^?n_q__fl_uC9*uB8b_OuRM(|h2~WnVDQF@%Z$u5zLiqY8T} zVe12->y}>rb7RV(|ALJUR6x1M&V5^zTD3ccR!$L#8 zc77YC0k`tjjjFZAM~%kSjRN1?J~A{Y-Y@Rn_hjE{41*AN2#8~#cp{sQR- z893HZe>Lp`|9;e=4sZfjvGR5j{vo(Kr)YR`TSZYqahS*DK{j{sI#_dxI&-C^AymXm;$8S|*z$ z&&>dxe#>7%`^52zn>VIY65rJNL{xh@R?h_JS1g|cs!#yIfwb#jHP`Cvz}0*@w4dMi zj+9MVfVo0Wgl=i7PSLT{B+|OcHdrKf?0)H?w~}K=NZ*Zu;>eVedUMP5U8~3Uziqvp z?U$!cq!Asocfnv9_>JhGP&#U6QEd^Q#}i2axk*+i1kg^s@2Xq2!mEX;Q$>G`vvb#f zYew}npA-NzK!R8}IF$wMaoUBn`bw2@n4)=%V50@Gwi2?&T20JcbmTXRA>mI`zf}a* zYT|4lxNlpH-uL!mnSm^hI2pR-po?g>zTZP0|3*F$@|p(Edbp2zb;z^n&o$o>Ln%Ol zTjl=wAqJ#Q>D!Tg1_xaNhCFGI42{U;jEWbJEBrK&NST}LYvAgapNUqZTmb4ki;6avf<;N z5Dw$8&)q1y{=z zR`sUSQTbgy@4{XBW``+b2(nCWgd%o9WHRx4UsIC@&l@fF@cbqw+6c>?M{9leS2ajT zYAqfgg&payUqw3?e_-{RJufHdQl)JtcRENE1OZJu#m6&Bb&<}hy@|6-yyFytDyJHv z|A#Hcpfl_Yglcw0iQ^d=u0(e7zMHL7bcdLqcKqkdf%V|V&6P*S%82JvB!HzsqDb`O zW*onsI(bBn`Sdh>Oi5z<-2_8?0!s5-tE1tKVAmE}lEn~ozxzh$qY94KmV$Jz*CIoK z>(>OP|5XMLFnc*`rn!M~X)PxQ=n(&ZRvE&0JAjIBV@Z~ja-F}rz#*nmW zHfeja^mJ>hn}K{k2*l~r(O%7usxzeKKwAV%k%R=^Tw;@N9ME@e+V!X>osHQzVUXT` zmf5A`V)gxB_}_;DwvA9F5uW`yUAmLtvqx_By#&Lvmv4?4z;SQCaPutMt&}4k%B>M@ zq`vPC`EmJ;YI>keYX=pehMw-LJeB31Y0jYk?a5rd^B7mm{naCEDI^S}QTB~f#6DwP z(lw6(H>Q6t!DnG;J^4Rv5zX)?%%}C8K5u>BN(j)34rx}1T~?paGwE&4I)4Q)o`IoT zuQ}-o``zS}aC%Huc~8-HEi>F}p+A{fLaJ^$rsv!;{IU1z6O8^<3|;PkzVHA_VoG}b zPey@Te`@j%mU}ge2cFl8iG(SW)rzJ6Qm7R6dwI!*1jO~M(8M02%5`LTWac9WQQTlcsu z`XSTY;ucAo}Z5jYrUTDp7HC`EinPt^>^y3s#AAYXmE z4IB07uYj*Y*i%#2b#8rjN%*;lTQ`dP*KtPgOZ0v`-2--}w61W`9 zS_`~e>D?L6s`l`$pjflW10jBklv_| zipn9O$Yw3QaX9l@Y6@qHoPQw|R3C7-+BZoZbG97RovX`frU>e&A(BzLdB z*b>2Al$*87G$q8DBaix|KC$TW~ne&0PmW(?)>nH!LTxB<_* z4Zla}46Cu!u8$y?DdOc5$NgeiIk{?E6+?#?^wecFHEj3o?}{6WH}#5EI4wV+TS-ZI zb$m53{-D`WFEbwy)cgA#b<`4sB4wndCu~|1UO!L%Wm@+mtFS$xV`8a-zi^=?UT{*s zz#tn3UJ<;FIm2-01P#6}EiJ9Rx$Z$N+Fh9<<8!(yHtpl>ZBiSbl611YG`vs^BQ%b~ zjGRSWIVYc=Yh^(SCrAlN##R9uihxmfR1XiK_Qn=h&Y-ZL?mY z#T~I#1SaqvSqzt6#NO?A*NV;*0wfQ(Ya90bu0Oe8Jo#41HYYyW11Zyhlj45FC;uRukiLaN`VJ;+EB`+FuEY) zm1BzIE5pZ4 z_O#(-R~Po0t(Ww5W0!bib=x_}8>{2wGa{cMU4*>X?gTnN%K3lgal8|V&b?LK6e9hbN>3-AO zTm@8Gac2IqJYzOJH~IH=2qTAU*-Ho%rwyExazktk~)Zt5PQ%v%U$$Ke*c+tVc14lupNZn zd~0pP-p_NIt&Ejoza`rzWZW`1*fV>ev)rO+2{wH0k@`|Vq8^B31pGi3)FS+jkC+ym zc~8#jtygF2Y{tBilipisd-lv*^xTyKG7!LbL3CyCz13jz#yN>6j82J%DMJMBqKM7w zE<$0gN50uh9~1XC1+-(-;KO=c$Ul^*bg!hBpaU4qmX&)$9WJa@jTBA|dF*K!Lg?{q z48cDh`^(8!cw=8-^QZuYJY`6IWc2OiwL2t)XRR{MYE`7qIOIJZ1l~7 z+I(xA#W((VWaQV8$513gLZp}{2h&;m$H6Bv9NGl~(=H6L4{f#0G(az0!Sa`wOVwjN z?x^Jm)x~VaA6EuN?)~P+&F-IUMGdnyQM!jUAv;h1F+@|+X;9R-!kGhqJ=*0Z_xo+}gMI%)rngUBUoLh_pzi2AI z>!zA4L9g8L93_QNGRTmP8siNqaTyf77an_w`TMBbs}IUwo;-Il^QM4?N#Xd5F+9(H zU7{icQy0YSYgwk#evZMcC~as#BNVApPW3TK9~d|lvdVM15F;wHXmpcssQ~@Uy>CGE z(a^NgoAXh7HX98AHuLhHkAcfPzCA7!8Q<+MGwybM4eCvk9kRWBzDFRX)Q>$L@6tv0 z3T{00y#oD!BYwN>P=4`L9Eg=~Q}_E}kM=8CVui8Vrtcm`5EZq0;;7RdBobsT=b#zs zS2O*IYVGelOk#ema<3a)S9Hp>deCZop^ z(XYIapzq0VDUUUpfb1y^?(#(Cfd^|#fgv2JT!w8T=wHNwmvYi02Sm`?90>W&*GZgq zP~`2F==~u)WO;r*CGI`{dR2U6$|*PJj5vjw$&%7>4A;wxR|zVsWu#gZ@O|E!2-mcw zh{+Z2H2bSTM0NcB)faoKgKw$1HLAY^-*l7R{~0)4_m1*#j6fhn?JodIl4cO9Em9R& zuAUU6df6#V$WLWP>iTxeJ=CwU7?cDm7_#lrlC}i$5oKncX40H--#dtVj_TBdAjTiL z?RG`S<2+EP9{CmVt^anvyqlv}R%)@C*@QbSh``m!W_je&dl&P^;ya84h6Zy6g$C1WfMHY}-vko(dsfTMg2}62+m)*b6MnDxY)pv;-W+?oee( z$e;rxdNI(Ouxt2lN1g|#>x4diK6-roO29jY)2^k(*D9dGcj2(sUiv)s?*Df`@Y_@U zIGQ#wE>s(8;}NN7Z1wU3cFs$_-)8d_-@{~qe6VGt<-Yu#ai09+%>7zZqFp9u4Q&Fs zWP6+ZhleVjY9Z(6{4DQ=5&&O~-jY~g<>x4q^LPJwGe$^|c`qY5Rl0Fyc7o9qspZ!G|@s17*lkd`nuJD(l7 zd5P`#|nVn9Vm$pS=s+Fdar@M&Fa4uB{`UzAVwMRL;;yzzQ>~9}3)Ppu zc(y-ARrg;V%nEPHPBuG~YZI^JIXNH?PJIS^5}?TYiZy(6Nc%{u->vp2*|DXRrss~Q zHG&$!Jddsuz{$py;rFN2S%JK!SWCJdXqyQc(ET&7|K-t4JoJoXk?oa1PJ+DKe9fyO zY!7KWu1(nU}->fyw}*&gm7`j&0BUI$WmTg8`Pen37g z(;#Dt7d$Y;T^YU=SZOn&b5-? zy!gmJ8nu*44QcT7u;P4|CV9Y^bxNkY;Guhe?+R>Sy2|WaOAnZHduX-QOD{&%rGeW6 zOp0w9>JsODR1(Nc%jH`QES1f#adhR)-4T;=%ff6WKgdF{h@x1Zmm%R^E ziS`b5uO{Ht!F0WGFAO>5_~f~XFJw=~CeiWY!N{%WY7=F1#`5W^dE%%|$znn+B#H;L zama!X674iqu)|%Sl{XQQQJXL4J%xe~ack1!W+$w-EzBGKWY-_?j)i8V5+_X^ zu%tp&=%LKGkH@Xgd~=|crY|W)dJa#Yeq)%wDG_U3iHF*z)VR~e3;mWVavHru1H4`X z6@4Fh4x_zYjuWbRI}$j??X=72++^bF6IviPTDHUie{DE}b2M2P-=(JWt1drq-~WmSMZ=^8mGqg7zxQ=<_jW(=h~cpuPb3+~(^F|H$oXc>_knRxoHh9;xceL1e| zA!hSGszYq_XMF8j*d4vDp9TB{v411h+4GJ>#7N5Q&Uc`#_dURiIz>t(F27su4++#)4!L?f8ruy5X=&21_qP* zQvKw?LAmVKQr8LAmjkhuX(Cg06*mJ-9g`ZhX-pI`2uW&7n<6uZHed@t?NJ-w`u@+2 zlCNUCpo0TghQMhFTU(@|!tk4WN|D2~p=yQL`ud;Pvtmp5|)1NHSx&-bB zqTBNlm{b_4jMsTis3|rCoq(0|qy%JACV#K!{Lmh~{ z(+n@lrni0q@=%}|hmoXH6fVij-o__EM`!P~e$|tf(2$@QBs?FTgw%Y#zh{OWU*W64 zVxXv#CCokxekkQu{HWtJSAidElPJ4 z%pdYn1Xxs{K6_q_^7H(`ed!3U$`w3$d1$d=hb&&`gP`B4k{2cZFwmMel<1{@~qW@8g~n$;0nI-<_Tw|y zKEhomnFB;si>)WOXVmwAgGx>E&-CY2O_E%B&o5rdlEun`=g=0SwKhF+2q@r8rDbG! z(Ljr@5t(v~*6KhJ-WJUkMHGb#J>PYivf*rb13`!0GonsSG)5Kl?c~6LBn_$p>X_!Wkm23$WF{_ z6)^DpYDS*lS2m`Q-Fw{=`bx`-CEP$B$G|u#jb@n$zpuFu~*GrpFOxzl8& zsCaEb5Q6e}%wu&6%=E1GDK~{cRV*k_zfY6{UoMDPQFNA7NOo2mG9Fp3lu z2?G^-Q~Uo~{rhTYjPy&Ry=0?8WE1jvFujR&vBu|Q+H zPwY?`5U?u^km0EFWRaS7k|zn1krxTaWvx@p7;WYtB2WN>fSG2rOaVQaNFLifwZ}6X zwCxcQ*>h+_|0PMjXODIE=+WHaGWTc*RRkvZ6n8~TGf+HJ2Hu&-nLf3kA{5#f^f=eDU-FqYj00FD}Qw+}7NH0d^t}t0aqO zL|6e*8QnhB=92c%$V_?n#Fo+OZ6X7l+T(RlBH#=Q#;6pn`VF8E znpEv%!F({{ZGYP%<3V5J9;uge%YjdA!K_Gi<3#YWvBoI#06b)nBk?R%p=^Le4O6K)HjX3DE&kuMqYMyW!7#tDi@$r)oX) z2THJhyum0NC1<%8%WK}>~s0zqE+AaN?5RxM)zCS&_@Xa35p~1 zu$}S%ah_2NqzcjR1!}0PqDdN#)R_J?;8VHDzR_sFxT_cwyw>R2;%QEXW3iayNPlzrGrhr6Cx{?o6>E zP1Zk~gAeqP6uI0caHCVX<+ow)M>p#(8$`PwSRpuaxzE{SHt}pG`hK3lP?%#+$r!p( zz0Dv(BwzaeNKuRk8-V@qKw+psTx`u}OBjkYc!HTxFhaxmhC4Cn+qxDelarZv?D6ff zqR)BbMDx<`&d2Y?%=tVC(ZJjrfJ2ku?0G4ONVa;) zKjZ7z6CjiVK|U8^Ie@o`5|)?*FkWC}DJduT94@kh9gV{jm)#iU^a+hU19pSei9sA3 z5KCNv!)=cw)nopAn(<)LBSc1Z7*6yGfPvZ;6OB90_UB{96Arjy4%s58uSTMJ&<9<@m#xlPCu` zz|B^|vYouksz)I`0c>H-P0jrnbz8(N9#2ldTd8v*pcVWhvAMwry;Qqd9&nF|kcsIY zG#JzTw%c0!y0{~u@rbGv8Ihv@aCSg(z0=aphsJSsUce*&{N+6&;3pS7JvKw!wG!aW zHORQ^|8b`~$oENGPZRzn)@X|gnaQ#-wvsN^ zg#PwNTofVpk=D3r@Hk_)+G;#j3UAg(z(9EM z)74F#)w9lntzq)_)EV}KNEWZIrM*Qm(4o9=ehJ`-d0{VXTF-QhH|WAxNH&nLgf4ti z^K`yBi%^-OGWmd$y)*9JS52$t27>_y20kKs0%1N5T*b^MiwCcU4o>S@-~=>{!SG%S_L``d2h)mqdaA5gUR z1l&TSrU64xL0GuQ4usUkYq8nq>&#C{>4MbVtdb|gHRtgG^v{-u!=Zmn(~Jl1F>~|< z_FX=Xr0d?b-+EMYq6H>iFWIfDz&4?P-XOxY{_|dsuN3%-85vmGW8kNxjH%mkG1EBB z48F?*)n}6X(HH5yIY5VX@pygWNMIP4vikn+A`?{QGI6!fanF7Qb0CxMUgKrmfLd(L zZ|j>b4M9vnXKePrTE|*TsDXD1W)TMZ>`_%gi^{&NV0>bt_3qCci}qKWDW81KeoSTE z#0uD~N;aYaLKxV<`@}&tatik+rJ3xX712EiNcEB{|B$(&tJS!knz2@7#=1NM))lFMqx-{*)x2J}ro@0gy495`8(8 zscgZ)1)2}crdxd2gYz|rBJ`eqH6t0K(Y%{?UUREo#N=hC3A^)8S^>pb?Qu$EX_y(G z^23Wn`II8h-3f9jPz`Rw@Y7ak0oPO$-{!X2`B%Zigdb*8rQbZk`$G` zq`6?0PW*Jf$SyVF0eVUs_7D^J^Ds_ZLSrA3`C!%?wwXaW!TWvWp8%41z$M2IhH{~h zXT#sAVR%#<=<5E+GiYp5MDpp=r=;9!NwL_cj*dM|6`E->k|`pO?~RR*ztsFqA)zE} z_V6Kd?b-Ib-oc@vIKi^aO!k8Od=d->(<=Pa!=jykMKj*%+)C^87oWo53hQtFmZQTv z#MEp4*`@bt8i=~jT(Z}wAYilG61Q6*i#=X|RzD~zS2pq)AnN-QE`N;-8qjyP^{Ij( zyx8P4IpDFV898@_>Dm|NIuCdEMKbT3$?Y;h?kiRXs6imv%hnkiy_*!hD|rRXu`ISz z0u~5_(8oJzeEL#!>S=@X_b+AP5OynlHVSPfEbZ%-INv$qrRn%D-*G%%1vu!WD46s* zpS6c0Hui44(-fAOZrdCsjnb_aXcHZX1S&TjO)b9y6 zRLh0JrIo$Qkg~ zU}ch$mfm$1KF@8pX#ag^R$z+l(4l=eL(ZhXVVK@`q;JMLLlLP})tWfFAGZ{MmyV)> zL*E1!@Eo_GPhZ2|AC}SVs-89%dDry%w0(6eUEo56&t z+tA%16}rZL>((aOl!{kbz9C;SqlYmS@1r-*E_EUlSnwjRBq|A`*2h3X2Xo^=6*mo z)~olp$4drygDo%%LBmi7I)MvT3d=pz3ajP%Qazs<7`IKr{QK|FhvF`lLo>VW0#hJp z>3|1>i^kacY~+~|v$qor5E9tHPW#F83DcPMh^`j~_$WUa%ru{UnHQ1-oLBF5Eb8B3 zqFyaf8CCYxe-WVdjhm2miputOcCN~4T+&Sn5I_jRwq2x)`c+_kWLL+SYk2+H*`mGfn2MzD$%H5-GT(W(|xxIK~a zIyUy3T*7_Tb`utrdwjZ&O^VBlLi}Y|6Jt2TYZrG1O~otoAmP-2v}w7B?B_=&vu`V= z4ua`BQ_g3n+z8f%{c0;^K|sn3SI5;CEJU+5S!`8TN|5hzgITZXKA?bV50SVI5a@+j z;l6{#kEyRcW{3#_f7cv*kj7Gxp6{fQ34_@gTG+)Cic(Dcn7(g>gN|hr_k5AoeA;h( zP?FF(OdM#~eXtW?eH=3B=`gzQXQ(<-aiMu!gS+bg;{yVm`0|eR)*EHf_NoTTy}ILK zuS8vzvHi^VN>M*JS-<%fEQd?G8_Or`h8n_1&8LOjm+=r9)58laNZ?1X<4U|GZu!v2 zsFpQ+7(d@WH%!rvjY2iycU_%?k%{wnS`17X90|6glKmo5v)eB8I?}RFgVG|HbJ{NN zgT6yx&Zs%S4oFz4*T?al7%FP`dlOCeWgHnboFJ$J2`W%MbJF5A;l$^e`LVVMLtu-V zJyEIxs5c$v@zC7rnSGLwj?8#;e2()wyiRWj=(%U@!Zoo~@#t%LF)Sw@Xguip*+5f5 z1VS8-EVRn!4D2gUz7~BGEe^45Eg%Bbis1^aaYW!~sv@W(it!gdT6p?globWGWzdjH z$%~jd{O<^~6FJ4=5{bE=cI%4bBIhGV`Dvrd6N=`D_RESaW!MSM_2|7D8_S%j5jVbs zj|IOpWc$rt`NhxM;?7}QGxw$NIlN2a2DZCPrf^V)ijxLH8r#%*MF25TR=Gg_qJQPT z34zoM6E)ut((IiKM11`&Hy~X3*iFLW#64~`^ff2zyJMgI3mf8*Q&}jvH@g$^qsW;ExFpKw67#>}Pdv^sZcA(*A!us%vL2bbkO=@$%-h~mNjVf*9oGSa zEd7bX^(bcHvGfTTdH^jH$RPXNfs`3Q``pmGt`Km#^O;b?$&pA|E#Ss=)2;FIpXvl5 z7gaJ7Z#aPe17S=tUEeZnobomsDMagTIJh37K>`Xk&G7qvUc2*z*RLXd_Px19bByMjm|{2 zkGsJ_go6LN8Ypj|v|PJh&(N19>xbAFy*DeusKN9OQ?6o9$Y=W|&ws`SUce;K>o@;` zJL6Vy$Z@q4I;V-D53Scb`l!+O`d1D4daI{{g%)>)XTHDBm9`(b-qyMWffYc|kL2p3 zg`BufmkKG+!v5rp=sn)F&NO(NNZ1xC0FOXJyzSQQ74afc)%RwbJhclplvnWs+3|O= z^_CYgTs9btgnoa5$~#jys=CAA<9!|6JZWx02Kfi#2~ZM1tJcv;>n!GUQ?PKluIxh~ zQ{Azo9>ojai11abde$dDYy%>4-VK%$L4IGXSjtBzGDj?t0!e>VT|m$EUv`lzUy1#mj^J8L!0e{WbJ zHvZ$IS{2ZTi)mQz!oX4X{fBquTq8mzT-pz^zY82x9*Aj;k1Alg^uwIhw(G}$R^>sA zTja(1I^v;+&FFJpEad}F?ycsJ{pu8=VURKcRQ#zBtL9)&C`dS8+Je*`vM0&pfgN%- zVLW*KvJHhf>I}%p&4N?P5YL}5bY}3O{&(WCe%uLF>Mm$F*@2vfW$ZbystO$xcvGE zjFSs*Q3Lk86b5X@f6w;uKAnIxB#IT$0x@gAp(=XO1BlL#mllK;2-~ z0nKf9=L{<%TRwDnNvqy$V7&6ZPyXYBHPxd9E#IRHl^j-Z!UQIl?0AfLjjNypm82og z2?=;Sq(61Xah*!UYzFBHuPAlxODvt#;`Y$GEq6XIx>h*ewXD7V$I9AYhVtN2;}{J30Ji&YOy0k~(OPqU9ot>!lR~oFnG%>Jfr2!^0caB~OP7R4bov0|1iX$zDs;#` ze$wrvsv;1mSx`XMy%tzrF_Sm_)2Q|!r~2wMd(MU&hP{T@FNpz4^R`r;pV8ctCE-R~ zNe_}%imXrQVki%y?ef;^amt^0^AD1EgN$#ah9^hAf3G{i-$`~#g^4>j6+1kA)_lw7 zn;!tzM@bf*2!g!B{;x#%N6gE;U4eM;=^vt{F$*UtcL1UJWymryg03^k4J}5Hdqaby z*WQ$hPK;&ZMa!LYr+~(rInvnpwHM!lXD7O>ejI>4Wnk_e-^nkLMLSkHZ}O^33#WB({qDlx zy>YuR0o;1r^cYL?)5X?|0JD7*SUNw6(uaOfgBmv->bxUUHWIA}`svYJAQ(27Y_v7K zn0k|xaeMBabsACYlTW6eKU=@P>yKfF+yc8$*Ude*x;-L@ghp0xvJ&C8OvC~f#I7a8 zgnoQrQ2zU9DkSkjBEq6W@8xk5^{O4_EZYZ84BYqb^Uek#2g|~)Nbf)?wLVDkc65#s-$oH*qi^0X8(kLrR zva}l5Z=$cM*CIUK_`q@@SA+z)=+MoZ;URf4r{~`vcQ)$OI+|%U9%a6ZR+5n$V3uXr zhR`jqUIh}k60sQ{@JkhxED=NfE#V*u2iMk@tLBgW3m4_}GtBF8+ZUIF*AD@*hUxJD zhQ3O-yz*&j1!)OB^ue1vV{!w>-AJ>00jgy~Hl$$&6wmP2%q4ANZ4D=jcc}Qos$xR7CGvF|EXFW}RAy;V7+tPYD zx>W&NAt)yOe(S4>;GTJl;GGksnxYwttcO}p};BqjV-E{SQT2X zkfBvl5(ehEq<#PYBAo!mng}u7T1V6!YiWt>B0GJ4U}~e@VfLs&$1CP=JlQ1S(VcLg z*59@lEM+V1x2{mNw7HPyA47o6nUAG5J39)XS3}vJp6t!kUg)RUNLwAhE#iaHc`Uaii;zOwwK&$pe(v+XAf_AUX`13v}ha;~4pp0>Jtrje>fFAby}`Cl#=Wwb-{ zt4D)Z46#)%Q&f>4cI5QycrQ->W9W(~uE7_9GE=%9G|^<{0gPnRhzsea)XZ18iKUA>g)hYqD=g^)D72-&_fSLn@^f5 z&W(&e1LtKNL7mPjr=j=4w>#p5?YW0euCt`M06AVrPvLKZ!H(~^!W#fJpRC!xFzlgk znGy2ZqZ7iUQ=+#o>NB4c>z>;msU;OkeaWABU$x2f#a%O{088KyQZ=ktCofR)!%X>_ z+?~6q5iK2UP(lndT;B=EPc4q$8A)iZl;i#zod4Qsiu7cPpI`avC`GxKelg)-WvA~Z zY0kB?1O<45VVPEi;5#Lflo}$*4B&z*=ZZChWQNQLrweTOT3%?*aIs8^q4QC&&D;m` zvzg-RZ~bSTvl~r`z?@2zkh`y6Ma-rXx8Q&vZ)G{-gG%f6PLrof#zKQ1#TFj>ZF(@8 zKYB)7Tz6=Q*<)ZIsd;{^h*vzwg^P%ds!}Z_#B1D_^T-z>lthz*aV5=u>A1f>kWT9hE zF0sAqrwCDg=*`9{;B*mmneReOjU-&$(V@4;KR@eHE2jBl`-~aQ!bT7ysW=($dN1l- z=TnS%_Pd61I@CM0uJ(c>x!j`*SzJ@V#I~55sblX0`6l8m{fz1+1+S*dV+Hvn6K0bC zYuMRG@>#`x2%ehr-sX%@Tp5;WA7h&AlMlpzVPeIJoWPt1B@6kz%niPd1Dm(4aLQ=$ z+rt-f5`GFvpClTk%MOs35{y>||KVwfDISpPc&;Mv_S9NDkJuMTqylsTK6Em{WcYzd zihVFU3|OkFr)4eorc>DF_!rVg4@Bwt$mo3m&u>_cVlo*;CWfQ*MRAH3KhrSBQL5K0 z7@qJN2Aa<^u^rYWpqGxRz$5*N{7aDw_>nO|_liSO@se;N7DRw5JB9Su+sG#2-`z3z z)w=@k`)ih>Ud%kV*p0p%)^j~5>1H?9lG$t1SS%I*oxEe*x#X?u*5nzNzu!RC(GETd zzdC#>9oe+k(ExJ{l=7Z=jP<>v2E6%keQVh4A7ocF^gH2vhY$bM(ok{ zLO&nMs=kaH^c}h7oi9Paa|VE}q2>w;!FXYnx38X7CEOu7k7~5E+AHAois_ zcwcJYiKEo>TYP2|n;7iL+qOewFh<6!<;n_H=HF$)FHXcus=gb(Q)^Tl^JH-Z;{;;w zLv<42V0^#i&DPK(66@(KC~YdlG=|nt>j*)Ubp-10zrJ*wl`@Hg#xmP z_t7l}{CC0Zu_G{7g~4nY#sl+*3OrLfIz5e5XYD$y8B_JDd2GKKTb;yy#vKF2P&>EX1(3~D7F+p{2(?h+S4z0Uo>av`0< z=fCsy`U_I4@AO6?MVY9jCc-ea0DnwPe7=Mi+p}*gJ^R)#W+#`P^>ZR3v5OThj=OJ! z9{QD2mr*G3Uznmg_y1#%A0HX%i}Od}WH6wHyE~?}>$^#K#omn1om2IM>oU~Y#B`Xc zmK}Gov0i!I-PLw*oOs0{*cL3(~7EzUzvaW*epNm5h%DWaq$qNlPDY$~T zM51;D%>sr?1RY4eFjL@hVplWGAFXrFwSDe3pZ&g(mo(Q~bDlEZ>4TL>AOJ_CY5M(C zPxvU-y99#D3eT3gLrO=d++O2$)0d$~@&`Ss?M2t3=f#B|@KUMVa3Lk6<1jE-QjF_ffCFumzuce7y1yy|(GV1tMYihr zY;mC}47TY+5#Aeg`m-?)TP^8hx6)}ke%MlMrXhFiCvmd;<7asdu8z>09U!8DD|05z zWrySBEAtf^v`lmw-^=B7y%M!6d{8pW<*+X^?0X;dy}xGwL0zk|0nX~*3p>KO7VU_Q z#k`%SR~@Sby7&~sKZBCrzOzfH{1*=mCgU@aMEg?&VC&d@B>Bw)uYrBJQ&&4qX*e=*Z~A!{hUlHtHnWya7ptX95Aqw zYUQADOa-;!M?XGA+DiShsqxLsJ?Pn=g=BbfWc=}JaptX&>SKv>*hs-O99Ohj_?=q& z#An=9>3^QdbzD$?OaKz_f$0YR1~7km$0fyQlR0d&7JODer`hRH7xM5 zRH;XO)3L_P%6+Mbe%s&Eh0VHz^?L^d#8*uaPtxG_Mfa6HL{ab}E&M6-(5YTpAM9T` z!QOdtwjX?0Yo4O7Gz9npGY*u9_Od1F-p<{y83B!Ney6jdqRmL&rD7Up$)?Uyvnzlq z!@L-_?bi}9mLjSsI60|zOqOUE! ze1Z|_XJT-jK#3GQjVlDRQ87BxpJ}SeLC00-TJhu2kh&s~zz1F+`Byi9c z%aPc3^6GHws11m27C(8d5B|?oP8N^_%eTJCfsm-u0 zidc7U0fM>4%3iiB?-!mMk4xL=2xLO;92-xp%VKk zZ)3l2Tu&I+jqbbz(obTRLzA#_)l{)Q8uU3Zn&afo=plCZ8KbnKL5AKx!5LvefXg)p zI|7s^C9?j3)nc=wUY3~v7*c2pj)rp4ag%?BrEfw%cQMz~H_aZmo0&YRBF3px(T8>N zI&X?+mtk}&1PIj7I&`Ko!#k0M;Zk7RT)u(~>1qP#K$|?_O&8Vqiq2h7a`FkKevAF| z(=&80x8_B%`Q8}$UwQt|s~E@tv=$wXbg)7CR%dZw+tE(!VnhH4bcT`FoG6_;*Ov|= zeS*k9xv}J=xak%^=oJye8E$lR5VVFg|D>s&jQ3dkzWV92i6NJQw)nOiVDTM>rI}rw z|MICu&~$Q)?{~2PC%M)~D40o<5!_a*hl8({$isFqU{3pwHyAu|`Li_(1=*(Nb|+>P zwkGvj**v8&@sXXQo#&DvTD&nP^eEqp(h!h{+mjQ-yEM2A3P*tsxP?5Me)p_v*F(b7 z<5NOC>iLpi-d=MxHTKzFvRiI-r>~pnH=yX7X1!N)g@c?tFD16wzo~eT{ldB>Aj;%m%mXreR{AO9HL>?~pc|9l z97y_n__nCs$>k`D2^;9jP*n;vF-UM&A)O$WHOO}UAQK~=voQn| zS>t$rI@abqoh#g?e)UT*R66-r-k@V2XX7gj^R6^ah8@5D4~(_`@z(gOAVYwXh~+D$ zTG(<)luF7Yt8Mo8pW4}Lc=hU4!v_JVXh1*rQS)&(6m`c7@^M#}gJA>e3}&fjOB8Bo zs?VTpvrQwmAG;(>d@M>H?-vqKfVIQi_h))7S0E8|Kr0$6kR5#0RJDG16N5aW+c9vCJWy-MCf{}ZV%y1rvG;n>3j?2^N88_PNU ze1RJBcnCrALt%P#AZ~jbA>ht@LzXEMVIfor(mX6Gm9XuxFp2FYB0{VK?v9^?pg zZgw{6BiioP=Xy8bgolKqHFEqsMcxssuS`9!u5t_#qh6caduP4b-@dPN7(q~ViwAo= zBJCHtLun@XPrwNO#>EdZ|IkvXXUs4qqLZKgp_tq-O*gN5A{j6y?`_^6mtxR@B&$kJ zz`?rf;T%o_B5-)9MW%rO-q}5UOQI;M*Td&iTumWDeYC>TeAR?v*fz%T;kqCUJw86( zqx;e9@It|d(1mJ~?VyKMIhvXD1GCdSTDme;>%K7kOQIG*0dk2XnY0= zo*`v&Wzhj$ElAzZr*CAZ_QRSUu1=8wo1+<1(~Dv~kTl&3LE#!7G?_8hOAGWL{g1Nm z1x~PimNeA+Zmoh0t~c;PkkXt!2-X9Qf?1ll=4wnBU+AHox&V)J=o zI~-!nfJP_ zKC)4pTlIQ+9fDxKm|+WS;DI1((_FWSfXJF5J&0F8sbl{U)ut03HjkYw6-kQ#oaBBPe{sDmwYtYr`vel@nQZ#ow?$I zUaeG*f}oO>5YW4Y;Y65e8^r`@8{~uLkEqb(nCarvgfF?|)_^G??ID#Pln*nVj9iY)LO6}?N z*C0y(u}FIdQP$!(&5^^6-Na^>*z{;_VYwK$lVlU`x-!y!F+u2l8ja-_uNmi3Xgy7Do(9fGZiR6xR9k_?DEWvs!89Tu0&uS!5r$p2~h zg;qfAQk=T8BRag4ob8+$Ns=~NZ686vhX)Wub|M6MoHnYt0sX3!UO|+=>6Y`$5ss6 zo$sG1L8FFGIKY*x`Tc6ghyHTkM{lqOKS#a`boyz2X&R4+>37x$+f2UoL*k=p6Rv+f zI*kf^UuGG-`E4-v$zXTAHg!$v1$|dy!iWbzu0xO-;o6dyDYJc(p%h{Pa&z^x5Y$TE zp~Yb1M4G|&fce*T&g%DtR^|+c9HPOwZWc;5v+F6U?90k)4;ZHV&z|n&Y0cm)3_e38d26suy*C zF|l<|rUx??s({i6vDP^THV>*U<5g4O0hHDM$a`0(n^sni?uoEvlnw+usKTmGgt*SJ z8CUTykpSn4G2O=67x$S+ZPqZ$P+-iTD~&HrK#bRc$Et&RWBm4T!`+anQLasDV=WnM zMun(jGGEBPoJ}K@$K6U#K1R5h@ND>ed6AOQ=KHAOYOD3zTFi;sp!wyGeY3o2=?T5T zkUD`4hX_ZA(6e&C7-|(N32K`iuOB5l&AV@4*njKBq6$o`JV!M*Ma7I7!K#$NdA|F6 zz|8bTtL&Lkx)PHjmx=yzl9+URlsU%s2kK8!<6RFQx3uiopM-9lCu- zJ-NQXfhlh3y|ZS{N~K`Jn_w-+@j-Vj`uQofk1+*iasdr0f)S^&7;igQuaMG#+y^>B zDuN}Du#6jHgCxgN0;79(tzsvAm`18embNmi-}Jz+8$2?^jeR{2P}C!R>F=j5A{W zIz%!Iy;Dv`a?kp*04j}dCdi>D>#)6{>09v;LECw-TZoY)St39SC@kmy8}7_614l73 z0m!rNaMAibKq|yS4Vl%gE%JAiTBOM!yuG3L4laD}JNJUHd>syHOpoUWZK%i82v+ZY zLo=E-1Xi#*;@BX|t8dzE?^?cWS~1be)TRdz^V)CP?-M%RQ?{iQy+%tfYHGBg3@=S^ z+qd0QXOM9?dwzb-5!jTM%+ZfFNhBKlIo0-}i7!yoF#2Bx#Yfe6CcB4hD_?C@h0nvW z>};J7^C}Yd_|{>J-EnR*4BtG&RYu<|-vpV5dEMK+gv*h9c{^H=yX`GA+}eO+EN`eP z1rdXRH|U`?1TuloVfsqVE;&eH&)cKT&D|!V!6PKN5p$C;R{i2lnv;k*R5vM%No*?j zXK*TJ{4Bg-m!RVJwXCC8KL~ZQBZO35D&$e7+-e~t$}Z8mEg}ptV|2cyon0QQOLw;< zsVn$~oQj3TvrsxXff^#BeM|~MP5Ass>XJgz7>`ZMZdw+}PGE__jND;kXMkH1LB7Q4 z?|`1bm6W>CnDZ5!PT{}D#O8YqMUZ@Rak$8TB;4c%?)dplCI&l%O|K0G=5DVDy&jWnOl#pBp$NZqFdU5PM=WUC4iEpW2-NWo4An9~a|KVmc) zzroFzhtba4&fbyHczb3uR%9<7oGSX=ga~i3wnuN~iuKVMIkoqfdeOjZp&d@Z=3j$B z-{Z@a4ZYoda?MT8ehe!Z2Mt z`l>CmWv8;NYi6xh2L~)~7W}xXOD>wXLPWf!V&6-}v( zw&eCbv;SAtmj^=iz5kyXV_(ZM_NB#ckYvqFNmRCy?1NOKF!r56QV5lz?3FcZC1fxX zin3v`F2z&bu~Hz`8r<0yZD5c{bbI+vz2& zHslbPu!Q*71_L`B`8@ioLKIm%$VB4ekxuP|FXzu`!aLUu{1u)}9csvg5-2S^1yoeD z3`YesW8pBxcN+$teD-j`=2-^d&?gj(JWFA-?#g-OOze?_y^85Pa$=|qmj1_OQv|~| z1aHUM+wVg-I+}j*ym2G+E+PThJsDFSizR08?P4G^%hD?!d*e%pM1@`IJ zE`WI3Vm|hv{zllN_QMr=K{-uh1Sm@uS834I2KBwmkAF+8Z?$M_=lO6ZPS%kFx68Gj6SujW&NNzfq54HT<>P!jAl>HY z`-|PHY+%)k4kPpmD~`rRGP5tGJzY7eLT||Yr5Xkjobsg7fbc~}MTiA&e%FncC{=;}|sCGN^leT~ZJ_4~Z`vTN$r?q;xn z^^;7y@pEgoni2be+kj5=F1hPN*5wNQB#IQZ3*u%#- z@`fi~WJ=PBr}5^oJt)ifK--fzmJb75vzIn=J5N#4MN>tataF7sXEdoF@HOEw?rj9m zoD~-CYK6V|Fi&utpij2)t)@l38w>$dW{TkGAJ>c`AS}0ZHgZBgtVK!s_FxAzSUo=pyapOmWSWVFOy#&@r-|DTX@NWnSz;Li3VK&e&2p)m}s>2Y(p4`n{ zYwWZ&ADmeBpR&%egZ0s^vTGtK4QD3_(JDF(LdI3t(x9W}{ff^~!906i-f2%VN2gtm zD@^7qQGF8y12N;tMT;Y5F#N6yPgj-yn&@GWp4U8<*H0JgY%ml3^z>_|1)Hh?cO97j zSGmJ=XEM$ig^hP8F>^*QJtxLNAc?-@rqVOdVIdyL@uD(D&UfBZ)42gT2JXV4%C}5$ z0IDV14-T!RWRv}p^UGv_u%Qk!@TUPs=jLhL3$c`YH28lncWQ7PfjOATg57LC^c>0IEfMMKGIK7>RtPrGDDdbQ=BN zdP`vdempiuuvIzpJ2Rzcrj|@JBbTmD)=LY*NrALq_Rb})mq9gzmz#odks0{X9mz7M zakdafA0sQ8oGk}&4EYdmUjJwNeqj<58eo_LrRB%m7zU@KEjHlbRK=N4x#U+qJBS04 z+H53uHxT!@=K38Xk8<;qO|y#WV!`KRb{idMi!m!|u%@<;t$0UFCu`nv@j$Ly+MlsKAY zV=CDB+!IBf?e_Pa(KFBn|Cxu_&>8_?ZZ8z`7duQ`fR7-qNw@0Z6Agx)sEC39i0$t1 zoZgwb4Hndlb}jx81%RrD;#=xWJz)a=z-Oi5#TOuKU1VOvL3hV$20_F7s<4g~yVkXA z6iCM~x!YtQ$3u-zu;~c4n68D$n9thoDrM=}#1#Y={%AKZD)4lQ>W95P*8*YLcCI_% zlMy*0pbP>C+c$B1KLR?JX&O0{33=!16+~Am+ zWXQ=QQwUM@#~nKZp5C53!uJFx>!9oi{;Wu%uQe?gXfXfb2znX80{fn`E=3xQ-O#w% z6!faQaeN^A#?F<3*8kk<41itZK$RCwph|0pEr5 zLEeF>lvlNf!2%!mqENS=jVADcUp>9Dtaps6gLPqI!r?&@qTJ(%0E|c;9m71Pu)3I~ zr@Af%J@4mL1HyEOIw)C~(?0EE(Y(H&q|BDRFOR?SO{ZJo*V0tXiOY3p2JZNlPMuy) z>jJTU6ZjWrIA%Ac9Z&!2!jbK%SG`vt*tUvogW(^+eQMrpm3iV!1`P7bk^Al+z5Idg z<_EmQ$zoj*hx^@^823qcP*&0%p#G^yfj(?$)%$_CT*wF6?h&>U#a( zkpv^S!hq3*wUu-VFN7QSdn;2L_Us4iBWz%bYD~W2+V^2&<)O0s_R@fW-Uou5zVQR# zp*uihy4DqC)}wD+W3kexXna`reALXp{ zBE;lJ{6VR(n{TN`zNy_Tvno--Mdw+=h;4YZq)>nD@b$MDc$LiFvh_FC(nV9FYi7(l zCK}&zrQrkGU_ml@PF64CF#-(da05M7rNQo%J9pIFBwu)j77!h!`U-`&;*y^br!qq(HB zLht2iGdp#*B46$9O0J+f zyLK}ASH;OXrbX|vlrz6?YH8L(#Tk~mxtq1Kr>gqD>Ao{QzL$rDF z$&!%XTx#5W=j2D2KZ)p!$*sq0W($rVqsACsBg(I)8F`?_R@x+_9#i6@RWBvZqgj<8 zm?Z!Sf>x`l=l79<+(EFuJM%<9L?Gr7FB9%Ln;K+$mtMbBW4K20Ntj`nc)2g7@1V-FjPPb`Nf6=7qqiH3f!G8SHUe^NXPa!=acyk4MLOoARC@86?wX~>dwDQC8I}Io zuu5Z5*@gsNvw)v9V%##vN)@Q8a{3`PgD+KOcwOhV{Akw&u{rsf+s=EA1P&PO zET-CO+$e%g0^rgoFb%Nq0gXl>LG9R7)0`z0?K8k8FkUUXk?gIxohQV?cCpeO2FUBv zwAy!xpY1+ANsCEhNezkU)wgnIi1)g`_OcqDfPgaqT^dkGyZ)?haj$dbTIXz(+iwq? z2m{i)QCYOIwweZz0w~X*UR#nk5 z@m4*0+}3?Qze9<6s}4TpDX)~?Ot-~V=m<&7r~BTybp56{2@7n5h0Ax!ok(@!Byp~B$5kg3aW_x`_WaDZL`K&-R{!eySmbi`1GklUMhDGY!vex3&HnhOo20b|5pR?m^H}ymPb9egU_Cw% zF`GwJs%qq{jC-F9zq4a`Tj0k}FZMUtl}unth^wlNn4{(Ns1Q>-Xo5LGTf6%8*zr{p zWz&8k)ZDWWAvgY9uG)`OAY#VY9|B3zyz1{<@=Wzgy};8tx2d+noT|vQh>PS=#q9kJ z*w<*pt+TQfD;>QQyW=HLSC#*&g8uiZ?IKM%AR^!+ZIS}{7B^4V<-kkiYIxyZn(v$! zdFIt3u(PkNjD;dnQ#8GI_Q!Na#yrtnZdpu{;FeIlHH#s_xCKg{zGq|U7)vV5OPG>r zT?^|e49J4$I$urvt$TFf6bvt#!<4Val1THE=BvPH{%xH}oLNlFMHRvB>~AtEjah|{ zGOitGVtZIK{H8`oAkFQT$3%W?%$uItBZH-kHuv3T7geE!>&_DO?_vkyO&E}E+ADlh zb`i>=cZTgUy^ z=29ZOJ%a4)IQP%?ZI=rc#U6{5J{n6&Due>9v^Lc|xk#}KrwY2lwM0&wuzF}!Khlpd;t2#r^qdnlK5E)VKj8Z}zq%L;W2{5aYwNUszDM`Zf81dML!TRjB5ZvGtm8fyVy%7m ze;0W zdoRCnCI5JwT?YKv@ojq72(AS}Gn?<|@tnrN^_(b4wZf&2@x$zR1@}6Wkic}ROSMAN z(jlXyYE;bq%#-kR^?&ANi1mY!MuzBHsLyVoaqxjRPY}dil4_Zf=l9VCKXT@$8!3RB zk&#j58zM&!fAxKMr-f^HR3zhh-|NelA+#KS+443`m0*Uq|MDjeVmFu8Jv%_?CQc)r@8g=~fS+y@BK3jx_&pnQO+HJ0+= z?S^_wD__&JY|#%FSg$C??_B1OdI^{g11D2$IJ>BaIz-Sp5s(%Vy-pq7LC8*dhUK4{ zjan|E9qy2?LG+vf@nZkTx=HE;Sn6EU&qaHOSCoa;5Z7$zli}{94Gn72p{v$#yJM;5 zAkolvG50zOv*t@a{OLv#=$&<)jjxdcZ|}~m5BT%>Ox|NXMvA@>c)Ytu4@4W<_Nnjo z^2PdVWf9)^mcVgrSC}|)O|mV)$*=Xq{~}ZjG-6IC)7Eju@3AZ>T@9vwdr<^rd~wKN z?B<@!QY34UOM}?ctL7#rC!r&VIz))-Rk!w)SRSD!X~ykq zh6XCNp~kJI23YSB{J&kiT0t*Mr5kXYvNYuqu1~6r~^4jQyd1?{|C#R7* zfnMMD%(D4GU}tB?S3Kf91Sjc*Sz?CDyIH*g9}dIm*fp*e5aN9o;R^~M@32oF-jn^v z-%Vt{Pp%P2rsY{oM__#aF`jgSBa~pe@}Wq0`oZ&ka5=^!BMZYqVo6z z(ITfLz+8=xV+3jD-9E1y_?G1{$uTjtYN1~p+$Rt&@>;e(f)2&ynTB&Um8R8@SzQpZ^7X>j`VX*W|aQ?g^3kC~yg)L&kP zOsA-E)6bfrcbIVP!_drW-%m>;)WW!TdjiGmH>oR$@Q?hdlh3xbYqjF`MI8P^AC08| zS~+~TP$9VeNpKb;%%{(+^7($)9cjt=cyC0fW-+r@xslvpWf*-lE? zKvKbRHLvFu(h+!r_P%k2y3{qgLL+Pk;Vm6to zupF;Uer-mLN6$4T?cE$;_|U+dI)CrRj!h4w(m94_wSBMOVaG3=Cb|$6O%l~8bi@Fg zwP2dWRwwXgF&|%J%2)N))_U#lkzZW0 zu>mh^7TX+Zm)hZe{4fDZ0hKow;hnd5_KbS-_4Vl`_u28&qH^1hS*@42hZ~8FcR#*7 zls)Gg?W9o(1tqz5e*E_Y#10faNPbG$s0ccNq~1gO+b^4IbKYKzVmQ6X$N@i7z_|7p zf8c^In{aPYZCr6uv-z^vz8csGuKD}bhb|Nmw zW?x>6Yy=@nV<6%4@#D+U-kTgj9-=A9V%b$|8Z|8gDr+Xso31cwyhk<$E3H?XK!tww zhyPn_h+o8kX-6y1-nIC>;f7AN=qka0d5t{aW2=I_f<0P2AO0{Z)<``zt*$l7y)){` zaa&73_(*UF7-kehO6z3js_U}^V-urXramB5Eth&@Tk9LIANcuoP23rCf?n6!4&_rr zqeNO`>vu|hg(BCKuVOsDeB1h^{9FZTYwcg3{%h&6VZc~+w{lx3HU)R~nz(;vtmUpW z--mzlFtCcG~(FfZV_x7Q26D+?M+n@9BfH~|T zjRB!}TXrbwvw>B=*Li5T6y!)0>yNFSTSy)b3;CG26#aE|k=PW?7O7a|T_jia!bTFp zsq#=hp|C~Da*A*G!?pgywq#FF?45s>(|<@L>WKsFAw$ccsdu>}OTpl?9VOa76%Dma z8I=G&^dO3Hmms%zp=&1D^-CRmIS_fjBfP$8tLDqO|2H^j`+68$64CaZ;lGrMg6V+M z6$ql_n0Rc8LZR=jk1Z!ss;I#C%-_L;4sZ~nohfG{CiO?wHcd|v*!jHbKbSGiTz9|sVvB)cqj*_QuBt@K-z@8uh$a+iqcjnI8N^Skkj3vW&Ne5JX3$At~RY%vB$S!*O$C9`Dy`{M+>F21}OPGJn5I3Nt*+AIO&)Dh;hr1Sw4{3? zcBjiYG}yM8yr~=0WJDnhn60jnk;{roN(sdmu5&bpsynhM#J-=JavUL-q0g!N;uPfl z^Uo54j%mc8aiT)#Cv;1_Dl>%373d%OV$~B>3CdmmQs1qM{L&8Dppjl!%6K?GHb_i< zXFKFW25XCGOwi6%_^SJ&YZK)sb6rsk02{U!TeVDo?oOf9JB_ZkK~4hB$>}_1IUd^}WK|VJOsX>fe1gR5pBrP{{vWN)rOlxNg3{>~NaI zUEc6y{vgGE$i2Z|i8+;l9Y{&nMc(u>D5`HMz@07eeZRcqzO=k;3Ed7VxpdUaIov4n z3wv5Z+QT#o#m$yyRRfvJX)4j@TUroR^8QHv$9#vG0fuajBry$Hv>3XzRbc!)(IiyN z!GtK>5~@jBib3~CJMa$ywOY|)Dt_2p*zJGAqF+*uHUV$LyiX_~=Gz2z)O$`@b39dC zYAmP5M~cSe6TWrV7XuHmZ1eIQ9RHb1SkLLprhvtR^p9$e5Zb| zQr!9P$`A4hjy?7H7j`3vO?SxKvV-Cu-CGcJ#K^x4ksC&O7R0u#;NUM*F5s~h97K*^ zc`gtujP;zGv!=07t464wZl$)lL{zX5Jo@4K zUmg$&x#NwRBD4t=^L@q|mwOq;iSjtE?ZJfTgxZ$f#Ih5b$=pR?A#>JeX1@UWFy&&L zz1GS4s|kg(>bw?Wl&h30JC*W{DMtw~pdtUZK{~uY;jR=*=i%M#vHQsZwKKlsN zF`@IsBjwJ-Ua=Hk7dm#ZMXTgzCn{AG>iKBwDO=kYCtGOjcc_N91&i~YL)o)Vu(2`Y zN>qazQ{@w%fjzJGHHC*L~X;q{z-!5QY(!hAdT02qTGKnI22M7RF5NzcWv*O|&O@7bB`^itv@hs{(|-tnt)% z*PQuhrjKaOHV`dBmmm7s0Xqq3ptzZTb@VMVkBh>jjv zTAup!i3=Re5I0(yvP_T#(sA@!PvT7G-X2$>0Fgl>a8J^6eVCGv| z81;Sj#%fgQ$a~jAX1-m8Q6;n2xAz){%AgyFUpJt?8@U^lnY#Y6b@QJ3zl8lW#ltK0 zxbJusms;Aqej)vDuT*;OlcnWWb`qE5tIIc2*9qIn+v?~9A;Y@*E)T3r#sR6rYDMon z<-H`HL`{FMU$e;h2>HU1rJueq;4cp80F*6^1b-cBMwCxqhC8G#{4U$FtqHpoa;uG9d#n3S_4b;sR56cn2A8G|qb8{|Q5`a&- V)B1l{t^?4|87=)&g(q!7{||eZMppm; literal 1050923 zcmeF)3%s9Ibtn7>NW#etP9TKbz=TTx6I7H-QB*)EWvH$4+UiX4eMjoFGaaU{rGEOc zGg=(&ywjOhI@8zAfb}-LjODcjTEvQ4P{9iq8`OkLxFm!mKnUcRJ0XzwWbfyDPW~(B z$^ZX9=j6WeW7dDIz1G@m|DOH-pS{+zpZ)xocm2X;lPAoaP*v6B%YW{YE34}8{*Q-O zJ>&YxhL0@T+D{Jq?JF<4xVrhDW;bIOz{L)y-nGbhQHEnC*oPCj?;+$8_}=Rcq5 zU3cBpqPM>@H{5VT3USGjB`u-$_4Osbx3@P@e2dZ$%+jSxTcqFk?mJuf!VC|AFMaN~ zWaxSf&&!}yr`L1PV()$$t#Ni6_5O;>XyIXezx$v5V}j0{62_{Xez-H%&szTe6gt{_klCf=i_01|~31PTHLfr3Cm;1EJ!U_XE{ zFZ=L=>Ej<=&|fg<|Ia>w1y!yLl>Gt;mMUicR$f+aXtm=}j{g6&Td8H~;Eqi^YQ@J- zq)`vwDb4#}2jlA0u1PPBE9!|qjw|Zn-Ot5G%1@~TL}WVSJ#pf?pq*I{YPk-mc_2gj z)ldGbq#Sob|JM6|Wzb3gr>RqSJik;`(O%PLV2l1%ZMM>i_-8}x1=um9U8(`@L$6&iClC44eTgob{jEel zeAR~%{o00Qi5_azforb0Chd<%gWt_RR%`BKTP-^m;KX@HC2RK+=|`9B-3O1W#>hwe z$m>Tu1J}ELPB!Xy%6A(_lV4SUR4X%t?2?X{`RbsKIrp#$^N{E~&s z(oY_re@CkNx$Cpf{u!o;>fh5a=H;|$(^~W}_MN<@_80v>yJ1aIJ?qpH621EBs}nU| zRKNU=7Clh$h~sa<$M1*hy{FFys8+?uI^$huadu|ati?~Ke(5)R%q{eq{KhH(y>@=J zyIy#-R0AMUXhEPLP!K2x6a)?-1O_SqKR0Pk8ur)LJ~-s?XD@m~l0SOWPZM4A@~w#; zD*FXw{&D5iv_b}=On{xtfAG0!nweS&wn|5j6UVlmflHs9>sQ4g_Q;N2Y>#sKQLjl( zuiMO@9a<^@kk~zSy-<~@m??P9U!}@?rx$s>k}p}5&l8aOEWBG z=k>Ke^OL{xv4zU6`X8f7a`OR=^M!Fc|C=^#Z1ETOo6MP$&+TX$4;*}dRjZskAdV(` z?P$Ar>FqCg7=NeZ6aW4~&7aYV$2{!x>40wg=fBCWslDCx(H{MlYQSjCjN+#tP!K2x z6a)$a2M_`S6@aFgtpJ}vDV-yU=}#HV$yZcfsk`pFd6FRGd^ zXmwaVA+X86@6oCk^ZNs)O`4rt&Y6?rFv=YFu)-sW60}Aw^9kg8luFftfRB zrc!{1oG-rk;ubtC0V6&`g0Pd2exzJ3ZeEGcb;Tcd(tNHG<=>+P=JnTZ{bFi= z@SB|-N!a4F3kD9Tcn&r^j1P^a!qMitxCBG0iZeF4K2hF|cRk}H0_J5?e@%YbnXgeV z`ip$j$NRoCjkA;lAXR8Vpde5XCgnV6M&w8N_i+|l>cm9<-C4&a`s&zc5*>fS+Y_ypE=|*#y3S~~{>RlfxqEu@Yu-l-2XVrK-`if!hZG!acubs_$Axa(*!uW| z>*ISnQXanDQvEmC`CV$K$KE*BPR*}fiFT1^*Dci#f06IjUz2{R05l;}@B<_&)5u7>kD;&IPC z_aryh*DovRHr|NGyI)$I{M~Y7z5ii9!$UP-IN0q;8`s(Ik-o_B7hQBw`q<_{80rI* zACFRv*^<8x0}5S!@H^)Bi+^tLen-U}#}|3}{2W*R{+DV1L<%hk6a)$a1%ZOVA%ws# z6#y%Yy^X>9kNd6EJXq}};Hoo4>g zW2^+oV652a+YvA0C-0W>Yh~E&^@;j+>W=BnE7iDCY!{!Eq>RcAR&sb~Z|5(@XT0s~ z^vB-L|CKBAedBia+7H!Az=aoH2!gKY^5x5uz9&D%jvbr$S6+D~(SiH^wO5(Hhxngc zoeyoOoBK}%%*O)a&we~VA<(nn6rx1w4cGsM4cXs@>6tD#eNyr}b4;#K^qije2efqB z&m8gcsZrFzZ+zk>iC?$r$wc=Q9?vg0FZs7yVzls>IWr%gaMDR9CI3^W<|ihOIx4@` z)b}ej?&hB_fBDP1Y2Eux;`aOIcS$6UGqrDn{KcNR>Epm_C^giSU%$uvQ+vKzpFaAX z^?SC<>oXYyzr^fZ=O$i7jNQtWE7M2cPx2V&{SW7PJBC7`1%ZM5 zF=O(AXwrsEtJ&ic5F1}=-8gz^p>tr5_Ai!v;fhZ80_+&+z+#}?`2b+K>#m%w<58=m zxa!az>HPV5k}Y1GS1+->X}`b~@A{Rjn&)uUZFS&^E3Qb@gm(AgV?2?M_Ewv+s%o8}n&voCrb!!sgRekWX{(q?6p7ij`H|0Bz&mW%mAvnyR-H9jW zeFBd>@|VeO>YC|^im!KW&eHhn*8iF{_0u=s`eyQb&jaC{fbZt2gz?L=dV5=s7EH!F z{j+&o-dD4BW!^1*u;DR?L#~<_y6>m)!p(l8(dPBrDUH7i<{5kQTb$@?-}Wz)%409& z>q#H|{x|MUAD`W@CQ;{GXn*dx{FID+CiaQ^O8u(KCcmA=8}U{J_4|jq4jZ1$ac5dKn1`+V9ar|`{20eb`-$V=KhoGw zj7R&`^$u$RpIdjI1057)&3VfTqoe4?v3W#Wv?ANZrUAC~t8TwdQN z|A!+p|I&l^CDUa;xF^w=IZdCGGx7y<7NqtWr=F0gd4P87Uq9>D=W`6~%(s);Jm()x zop^b=EV_C)IQ3zq?bD-Rh|X{MAi=*p=T` zUTJ+c!FW^@_+DEHd+e@fKT0o9GwVLJp*Rr$24 z)VR|>*IaW=ssf1HYTtN_6Wz(Q<)iVjM=5D<;>jZwSCn_l>)$x|jd7AYk3F{Qmmho+ z<&Ph`Zr!(H$6t(7dlRKEYf}ZVpP|XFTe)n`I4*t5ZOO$qzWdH@T^$hm@%jum=y?6l z+I~cGb>;gmOmyP?`TpqUH)r`>FXiv)qmM30?bD_mm#F9Ay*FUpqd9v&?X-I1PtvNY zE4Jr-0p0pHUf=tz<5txkvp?fN>&C7Ld-Lc}!^3@O;~y=)+Y8}$qn%x+S#vu-+K)f} z*z_^(3((#~;U(*r#fxw9B z0Di`8o$2F{)Of|$#51OcM~53PdvssnVcg5q z{Z1)AZkmb%j-C3E0$I{~>Gir-^UYQdX@C5~A5AVTbz?tq+)e#^MWL<2#=&06z)@8m zUezwX=wDpq58t1Uy0V3wJW}J1a=h!OfAS`Ju$2ZPK3@KC_}2XDNBr9QS!ulXXzzM^ zh(F)*uPVGl0?cRgj~|BwklVE4deA%T>2D`dxBmI@y)e)D)gGyK<3H5!FmBf!4+nU~ z@6l-U%XGAlsd;YxG^Os{h6yj<4>$GQ?C;iJr~0KN&?!NQ1o=Vv zN8yC;l!`j3eKuGzAm*l z9ulx@S!$1&Q{+_yVkMyMApyZZzYYmVo%jFq%wu^IiwaZxKEZ>WT~+1RBO3R?j>q8d z;qK=Fd^`rQr+9wbQP^rq<()*<=?oLf#zP-EZM3cY0Emy_UZ@0L(F248n z!CX-v5-|ScGn4Bp>ihS7ugwqp-}&qcT_);#=Ey+VxoVBL^yi`bZvC5&`cYMi{j>zP z8%Eqz#CNFRVZ6p4kB}wbSJd}C#_9UF?(uhV>@laNkWZ~&VcBxdY=4X29e&LNd{wo+ zin3>0{uBG=lXvfTTTj+AKYb6(|A-^M=U>$N`y;-larVu~f8WJhssRz%!WRSz0tJDB zKtbRTKwzK(V60XKRvuOq+MB2y{xbfxb;jTAv3^bdqkQJfnQ3t*^U!W(hi{_B6<2^! z-wH3vo9vtXMR}7wdF;=1LHUdN+M_)^D?=+x`uwq@kB^jHln<9T-`e?&?f9naWIpge z-1yi#;lamU{cdix7CZ^UE%ojC8PEE=4kiJwtt{^l<`^sDs;8My1L9rb-O-&7Qu{JM|7 zbWDED-P$0!7nmZ^H#y@4Tz>eSX>ht>64gvVZ*9$FrX{hx)g4)&Zjm5LLUa z3N(!?`i-ltPVJ(f$am_;Dv&+isxHPy&;78QZ@xK+*lB0S4|$|9PCR@1F7#@!^Zs)G{`xI}6mMfv{1i_iBN zt*Td3h_dHz-;tksnUS}#v<+XDZ{9P|pWXU>&*to2dlMBGYJY&;{N}B{*!uB1`}WIT z-{P7ddM%CpjP_Cuh{zPaAW#q}2owYg0*3$s0~G*c-MTg3C&ODotXS}17G2Sss1yBS z#{blf8xLbUnzSkNk9{;%0*u4TN9Ge(aOBZ1KDI|b`eQdz>ONLG|5k)>pl|%BcswWV zDSMtDk4C)jy+7Ua*PXr0U4P_F zR2=Z791B`*~Kh!k27CHiZE>3j8HTiyjZ+~w){@e0{MTxrKzo)YQ)Jgw8omK(p zqq1SVY#ML%CJP`RDbQa>aZqDqM zEU}lHMW)eDYwNBnc=5E;(=Hyo{-WHI6!hHxR~aGiljvfWoD0D)h1)m7Vfe7^I}JBfxxEtxEVEZxwiB~yGv!cFi_gV3M;rBcye|7dLI z=i&Q*lA0cV`mq)j{s}ux{n^0*FAn{p{G;^Pqx{5Dg~P-xU86p~sFDX>9Q?Bv2fdNf zE3dpVxv&Z2jyvv1{Al%a&iubf{_bD={*i_{D)w-MFUq-b(<4Xw`f{pBk3F8ARDJ9* z7bMZ#>YhaF2ac%iLis_v^}mb5S`g=#Qp8|sAS=dxrBF?N4|Y7@Z~X9y^TW}1Yq#W^ z=A*?g({YDXyyC>8zUNAo+`iZ|H+?*Ld>>H@WpCc_PYE9J_sUU$?fmld{OtAV^}9;RJk?Gf^;5BzX{uG zuDK><{#IDO{oB8tRChg&t;s`{TY2$=veIq^=Vnk`Aw`}a^0>m{pIv@1t>|<|{r{w)rU)07w*C5GV)~1PTHLf&CtV3*WNvQ@hylaChVU)GKCAMZCc ztukFdlzkJ`uhnZiz1Ys4yone8sb`%)HPJW^+QrdgJOmS~08!;YtqL?%5jJhw{Z{hF z7Uh?Sz*Utf;^O)=_Oozdi;4Le{Zm@JI3IR0fByU=TDC05+0;L~rv9~~O?n3#9>&{5 zk2!HhQ`0_?tMd3g?KFrp-~GEu^{8iF=+q?X$@_uvY%wk?8uve9J9|_+J91Qe zq%xE!@07Q)YNu~yCgbr?=o#mnIi%?o?>%-%c{^d>qq{%Os`s=hyLG`n>X9$I|IuXs zl|>s8RS}38knzUr0k3w~Ww$|&Vx#LXUOYo1?!MV8@ULo(|YslgZ6D-`rvvvq`Hwa#<%M z{^;Sgv%_~wqd)!d6SK=$1$fIF@;WVM;p|6?%If*svi_$&w$NuE$nu`adH1ZwIp>^~ zK3;Q9mZ%Qg{7;#W=PTGv%ijGgc*6-#uZhxwr|ZnG)wQPpRA1ajX2%cO)E{}gzQe5o z@VB@32Yl&s$EB`29j`dyg-6N9j?G61dhXiwc>nwJxd@m2>aQe|Cl|IBA{V?S-=}v@ z!zcbYpU?38llf@^amM+;FrCPUJEN7nL>P0zzWFo;W9rfEdJ=>(RM2*dQDV(v0X+= zE*_Zx`Ec+1vu{Ub_%V|wZ?a$YLVij0%%H%JO2wQiR|KxC@;-rkR^%xLS1a&%2)}&< z!F?rDCx;t<y`Ae?+5whKz1=xr|&+!{Q&L!_H66yPjRdS_`Zop|K=IKiIxgL z6Ea0!5GV)~1PTHLf&B)7&n`N<{|?%m>heo2de7(w)!7nc1pQud#TDrkz$O<~GfnMH za;rD@VXdxJ0i09KUOy-~N^TX!zxGb4RT+E!Wc@K)CD;F|`VD*R^vfUr&kmh3C9jJ4sj7TxmiBlm+WD8hH8ok48}HJk`F^zP#(s5p zlbdm&aKW=fqZ|*n!MIsu8rvUx=IPXM>WrL~wrUT)(hz>)qNiVc6J;0mf9cMC zIdpc?xtPTeE5gs>aWTEP{pMk zZra`V-%~ul?WpgQYMt+ys-voa>SU9@c{5s{%DOL9b=>!t{p0zQz2nhc{7#*eo9a^t z`H6nx1=xLXk zpzxw69xFidCVhU<7$1B6@PjtB+cB%%c;X5bF8s%R9V!9Z`4cZ5ZIWwmid%aVwV%WZ zg8D((Mc%lhoIV=cjn_FC>(}P<9VQ?D1tz0H`PV<%L>qIGWBLOe!L&x zfd_t&L|47x!bIQoZ*#^k^S|Ps|BED-+5dRW-HG>)%s=}7+{gZNQZawvXFMoBqfOy~ z9xAvPZ={o^PfZYeAIE6%-Cj4>-F)zS6aDzz+}1NAHNE-dQxi4cV)>dszq2!DoRRc< zdbT8b#1Z-XI(~fiN8YVp@tRL_=T1-lw`|EL4Nje!`qOu6;?GOA z=_@%Ik8$8p{@}@9Y^P^@^#A&=Z%R$%^wvN3f%I{-N(0wkdu{S3KK<*jiJEW5<9bQe z2VRoCAm60_>YwK=)%=}4JEt&80X6|VRBsaS=)jM^+gcK6^6%)jvrf&MHyk2jTxh4` z6KA*dK*c4Fvs0YRPxIhoANyExl@rs!O*5m#$2i;ZepgU&irYBN5A8|;=3DINd-bLO zcG`P;bIML`%m0=!IfWmtUn##5i~g#r_FHdS(ywu~8z;R|5*S3Zd@2YO1PTHLfr7vx zgTSa&0GcxYh@?t@jLOO-X3FfW;OIrUm75h0{+u)NHe&i-4u8{4Im3#6+3{nAgy)AI zK2n)L^gn;jx}@5BTBcR?oNypMj_hWe@L+Fbmt-Uhjd z=U_|z6vw&!`Gu)rc5mLk`s#7{P;7Q@I{7FcYnpEk4ho+h{Mi4=;R0LMXSw+RZ}Y_V zU6l&$oEfK=F4&YHek*bMk6iX@ zqH|{E`TU*L&nKS0D){$(Q!&Du-wrVt*v_B4Rh777d{G|lV|(Ol_XGZ$;*S09FSv-m zi5hQH`~EJE@#B3DI*s4_Vu$*@@jJ4mueAc!&VTf~Yv!Ll=!ZY!Xvd3FKcxZyu|f+1 z1%ZM-p-ClrEig(1-fKICbF<#jox$MaOUiV?!-M_c`=jWDNZb={A zpOTer=*+gi1|;(eDT)rEg|YoZ?XY4Xpn zsu8@8nwF0iT)re%-{#CYCaJa?kL#!kz}_JQ`fKNhUQ^urD=x-we33V|d2ZKke+=wU=r@JA_JmL7*T|5GV)~1P($3hFt*|Zss2` zl&O*9KlG7*nMBXt^N6Mv>d@{M;Sh}bgjHYOiCpD`e?W8XZFi^7IsdGxrj-@B%#j0p z(|!go0f?DB`zTitaR2|wWjQ7N-omZPq^~dEr)H1FjDlQdG=M|hK<;6D_k-!h%7BW% z;7WJsiooH|Z%RGbFVIvGu&+S{z3IYXzg1|@-`1TE}Pv1*>0d|Dibv2;>K6pAsNfze$;E|47 zHY)4<_8mV;F5iCH>l5uX`;T$RD(`wZ?=s$g_fL|FEQY@O!d748O;mR0`~cYqeg2Mo zd2SLtxis&dj=Pkt^7ISWs>=7(7uHn(e(A;RKW1I@QSC7swyS;R%3Kf8&OZt-<3b0= zeOBt~o~3!8K(!)QFXBrD#DjVXf$QGeoA2ZDYu|>d0NfwGKVL_F!~-Al^Ec&ea86CD zRe9&a;t6%ON3oVa+)x#8o%F*jQaF)|_uO;OO`;obyfIP!=na?JCvnC(w+R03!Jo3hEMW#LSZtXu;R|dXTw?8{2Zy52qK>8=n%N3dB zOY(jNJKK#D<(C~j=TkiTXwGnl4898?zj2;j`j*Zr0ZzQs<;yR>?BkGh^X7~{^+p~RL36kkYr|`M!Be$fc4_)*7iQf8^ds|eEvs?e;>igI| zJ^3UxadX~oy!6`9h|7+7uxR#z>R`uZ;>3LYQS(}c3b)bb`E5tz_YjYI;w;XK7kly_ z8Yf-S*WVZG559NivGz#4#@300?fmMGolHOSem8wT^s6H6#8dJZr@t?y0sx^x3jzg! zfpLSZl zPv6^nQBvu>DDUd0Z@hhdc{jf6r(gc)S5?je;2_((?6Uk^_n=<>L@&xCFAj0@%U(Qi zP^I999UkTP12e`a(JfW$`2VkZUjY58&SIU@{oeP!H#I%mm!DEm6%dE`V*hy8R~+td zFI%>8pv!JPxc@I3(NFZzt}5Uq@ zmQ>Yf^W9!A^UL?n_mv;NC*}vbdHc~x1 zViGNRX?@-FV4^d}{jSk{^;TPpFi<=qC}g{59pbkPjsWaY;L|kCzB=@hZU~zs<_ZYds}w1RMor3=e@s= ztjbReJX`Mzfw%ntJ=6P=i^Esv2jH9h>!*o|PkZF`t36WJ6~56v>f@U#0jHk-D^!N0 z8=vSeM)v==Zqt*AI)U+(S6)f{zz`x)2OymS9}xc)b6 zI3;y4b7uY?o^;YliJv+(KOu0`QF&iSj04{e*X7Ie_tyQ^h|4LboKmfPX%=_;9WEQD zXM7f%p5Oa1b4;$>^qijeO&sxZK8bT+03Ck#`qy)%2Y&H;Ia0pEFb33Q>H~uC!S~HR z2F=Hu`~LLtsApavYN4L==-ZHg7g`$o8S|Wf{Gz^$Z9nuP5;8n4)d{v&O35) z;*|y*5xC?B%aYvDd2u}YR|>GCb2A)u^X=k`FK+2KGSPo*kG%0o)m%q%@z^9FwNpx9 z2d@?NQHNeK;Ap}8$bMBhS`Z$N5`4#-@*@ok7v>1{Z$5Z+pn0SHNB2I}GNd;=nV0yE z8vJy=XI*{tq+^rb*C*r>2fvKZKIP}@k6)?j^hAIBo%|Oe&JQ=Ul}g|a2l{bd>QDc# zypl^6XP^Busj1!dWyepXu{7}2KmT}Aah=44E*+Qu@~y28k8oY}BlZ7>DnAl{U%u(^ z%zOU2^}l9KJyE{(&D6s^59Ct7z+nO3&5wZS&%CL_ zsd{@`j~FCJH;>Dy;K7OuJm6#A;^E*rnHO$4`@Nz!+C0CbMIDl2oYS@_Wwn+@Hm%IR zL$P0}HM#k1zN2&6`1Mi%eo+3K{L*uMyrhA==@o=W9C2h)$=_Dmg%$(~0tJDBKtZ4& za7Z99Pyx8+nrqT+Q<+QC=&dxg%ebN(uOcAhA&+)ep8A(@#+A{S+4&~cwiS6LZe=eX zD^8h=6_^#C{`D7c3h7@)%btHUW@Ivb?K1u-_fi0v?hl{H6#{nRG!F7eWlqKs+l`al zik*LQdi>yHyXy!SD}NcDmk;pIj|_9!vf5*K-JpKZRWIaC0Vhp9nkZ5J2wfL16L{}? z-IdMj!D;{~AY72D?;0K?`wTER@t_&=GHa`TfALG2>g1l*@#YsOS@vbCNcg0;8ivTDmcHKA72@+e}31m&)3nmd=(kL z2k=J4)h#{Lae*t`n!YF6M@lCj-<=14U;MtSl=@x8cjvXL{JmNG^kd0XCaq$(eEAdI zx=i}fZ*;@Vuc`29XL{SL7!6#z&SS`a7*6a)$a1%Z8pz>(kC+`mw2FmW)RX1#BTm=B`025ih0*tLymt0@*AYLs>TEqkK%Dwpx-<`X z*@oIOyj;K*+=oxieq^P+y=#(z`1Ct{Qoi4N#yMvuk+^TV>88ZP;lcX8{~1r_D!^y$ z2iTtX1AM=(2JkO#G`^Hx|K>GZ@!BKh|FLJDPEBwXC*HWDeW$#B=))iH6^62A@+Qh3 zKWA;v_eZaM--XF!;{Ca*viZ$fe%DL+5QLbG$=b~yL==T z>sQr*pDkPRqX)8o@}myVhoWq%c7GU2sRlr-(1Jigpde5XCD{SWf$8QZ_B3y%)e)TQeC|5jzlLsop&(H#MqiHKWF_+@$Y_m%rcwsmvwoSVAQkP zi*i}3)eyaNj><1{U;V~h6}W88FDBC!WAbkD7hcKo_zD=5t8ulP;?!|Fch@orkt%TcYu)4db@|XiTl= zsiRU2fKZ_Yfr3Cmpde5XID`-wr~r)Cn612I3jA7G?2(^JFiSv zt;sus$G-8WN#*6+^7H45-nu36YwP>T%YU3RfByLs4@&;CugfQ?EqUpwBs#S|5wL1~ z?7zC_*%hhX%8)%8cc|i>17M{|AGLyYKRL!tuUpEGe(kWg!qhIa|He1|A$4Kps=vOz zvFRiIh~N6n`Gm%wsaL$yFPXzM(Voc}*JDmzpLiz)@?%~#;mR2tzy4^JtlW}M$a*+m z{(fP;PiVaC#Ep`p`qz$X$BUOdQhHI|WEb_LUTlwk@y^58)&56Gg&*Toky`b}*QNHx z^8xAuA>xi{e4HoZG4I=+KM?%$>;5T!o=C7m+H=_EOB{FPt18bwIG_=ab+6|6bD-lA z=RX`HjW|@*Z$_1U%ExhtHwNW;YnS=YTaYV;QU9y8!0S7=jLDfdKU>!1zc=LUN9tF6 zJ==1Hf`2bJ(Z6|Ze&V(Bqasi$0IpD>1%ZMfB3$SCzW2_cN zI{vuY=+vLpNz`wWN4<9ZnBIGaR5|Re`FZm9efB-6{jWcm)tdT^_r->E+AnlUp!RrL zAUP_V$D{6}%JQ4=ZIbgdQVI|KxX-Ez!2hL}UY z?C80EaP<8C_>=SZ=!&PmolN>(o6q;Sv#x&eW4^$b96kLF7v_%-ek;-8`gh$u2Y&vg zZ%zKpyQXpG&O872P{+miA@*NC?bH56W1KNMfB)L)MLSicE%muC?0cu?-T36uu8B7< zmyTK5qB7vOVV6HUKA)-BsQXP&2!bSP_T{ z;*W9}m*?>9pNQuuh_lI0^gCSM3NpqO{b_e!H?~K9#kLJeG`rgUj^e&Y*GAJ8-aKp( z?!>_9U7PdEv%gU92k5Q0{Km}G&e@1->?gMCXQ!^a`WWq_f6mCGzV=QjKj?&Mo093K z)%gKqJby9`&%wKIYUh4c*dOlLA+7%KL(v#z&rv`u{QhCOJLh8*beD3ogdfL?aG^--mi3eof8maFky>`QI((?wuCco^=zet<<^#nqx05l;~Tm12pcdt$0hI!_&Au?nb2ka zoxC--sbBh|MWtL055SA3Z$my*TYpk*@uAwcZON&`;*C?1Xz>qUNfhpL=e~w&Eq|hg z$C!tXW{kK>QNO-5r-)UJ^S5T4o?VdF4*3&@QiuLf?f6KIH|lwLxqjHu$45JIv|D|4 zO;pOaYbyLwGJ)$zAL5TG@U0Kz5}m^(M(SUwVdKX9h|0LS#1Y4ByyV7>*WM(rs)G|3 z<8Mdf{A;JbuiMREaSS*9_`Q^}kJN80F?dz3<9x(RPk(V-oB4t+*tFz23oZd6S?e?vCz0in3{E2D;o>*}F%nVe7}PtG2X@{jM7 zI>s&fz4_*whjd|F=1a7Tud$>*q_ch@Kic7iM~x3|KdH z?EIKP)v(!s9sjRCFIP;LFIh*_Lg|aMQ~+AwDNI42AW#q}2owbNC<1G~`@i1S`CfoM z8p@#aF;?BO7^?&-ktdhMSY0*Q(~nek;67_pKm11fCSDd2+h?wynMBi$%J-kWG@z<) zUr*}GTa@)DKD_J=<$vSGjp^gqvH89ud8ZV9jy98R!KG>6gjJn>@J%?<8!6RK^b`9v z4p~^#$HNy6(SK}bCmX?=kLEMp_2NgI`f&&V{Q0BrRf=&wG|e;ik-Gn{Kk>;{UGJu< zN%V*37vC+t@|Umd$OInn6R+!_n$SD#yxLz*v*1R5{`>{0-Tct`j~4%9`uJ;C|8Aly zw$)$Ed+$rUDnOHee$2P?&dXIa*V&^2X$rHE4iC*&O7TD^j?xw7FPK_o@wxixX|vy{1>^sFX+ObEY zAKw@4sPS&yy1EwS3Kx6rORJ@+U1mOaR(|Qm(yFcm)Q9`?8#8}$aV*`OpA6`konNXR zGwA4l>0Ngv7vgchpWi_|>iepd@z5BWdXgZvnh))8VRxY6vT|jvXo|lb9mF>u$JkDP zZ?~JT`W=jyB-5zZ+PW*}wRY3jzg! zfeU~KC`NTEQwz9 zBa0-5>u6U6ny!o0t2m>cameb#8EMbt)+$QxX}Jn8ZAzBk{$Rdt?DQ+kH(pO|JbZsX zno>OU*o(J`_sT*2p!7SX=B@7sJKqC-#fe6JcJ1g$?esqwSI!Q}`NxY#mOl2F3zBGV zbx)!XQmCoZU)`lxUOx7Nwn-czyZr&yRM}s;W2+g zPWR}q#mNv%Q+)hb@l;j5?_4dsJ9x?R7?<%;<_~W?RX*6RimwUu(g2z4l1KBQ>c^k- zE-n(4p~TEcWuU17z=;gl3NOlI+}hhwnUwycpO`7h_?!H?PJ{aZrVptKFO9KZa+QUF z>rgkGan70P)AxVUx?h8xo#`@tamV}BuD`h1H&OaAo~Yln^FP`dca%qeo$}F-`4#Pr zBg(}CkAaM*R`jy;@BRH(qG{sI7nK0^ub=;p)PDPy{&%*kQUy+`-}N^?X5^oZc4n39D>EO{lmC=%Xn2mlt;1R& zX8iUYIDydj*Z9Qk??+QV#_9XczEl935G(S6KtZ4&P!K2xj2;3TFZ(zB8@A_EmtS(x zdq&UeD0v!VRnMPQ13prx{|#jOYjd{WWJhkb8~u%xkMUdO=y&Yg*89l2>;n)$y&nL} zPh4dkHSN`;VpT@}`6F^R!;aj01O`@NKh38(9Z#XAvTduoSQSvsknP8Q#6!=%093Ug z+J!I%c9V+N_@f=%#oLtKM*sN58;?sLS3WU0QSSv0^r?Pa@+~WudoXLEbM= zEz0`^R0X^*;H+7BUMzfuMJtW|wJu(~IDMQye}1CNmgW2Pv48q#)A+SV+N2+GiT%d7 zWBdMwOC0xs%A1GgSsaJfZtnw#T}_QP`@*Hv{VBiQD{M+AW#q}2owYk zAq2+!``^zmZ~uQjnqTHFvunb@4*z(cze%6m3JfJ5E^Qa574}(ke<^igg=A&6cEyD) zU9aByeB!mYG1+Yma_qzNon9q2j*d zj;|+?%m?1|P$$@lJNB<1aut@tx8|MO;^!}BV8*3g{Ih0FBuZ4=gpntYR9sE^@jB60 zdEw9Xz`yT(?@b^1jpL-pA3oA{?NLAS>$ZI|igwSB8@hSd6XM?AqIkk-HJgvGsJ4yE zClfxts+QL@*AH4u6LWt~@ONs+{!ciqwV!P}Y3%s8t`_{#6?dl=*9&guWiT6H=?w_# z5A0$)e%iEr65)a^4HDR>PH}L3eQ(>@wQJY^aQ*ThDZi1@BQF&INEBKSC(-P$?>V<3Xb%r2%$P4-Y?hy6GSN z=~tSLx-US!r?Z6Imw;kJxL}nxdWxUR{g$%TYcoGn2UUK_^Y(FBK4n5a zG{A~ZCh27h@I}eFQ+W_CIUWwE_I6Z%HUY@|`Hl86e{wj^nUph;3ogu=iDLl!Z`;__epA{71b*E%T4#hckR*`@Z5mbRPRZ|I%Ek@jZ(3=p*mQzsEN{nIAWrG9`QP z5)u_N^9OC3AMlBBbjzy@eDV*MCe#1>-=3W4fB(}bx^*=yeRvs<-$%}TkK_0C#h$rI z<>c}C_lh5OxAyj?k8sqkpXWEPPwg^vIL}*<$KT}li)&v_cKk&@k>@x5KB)}*eG<3$ z@b^EQH<6SI07MEc2owYg0tJDBz^Ec{*H=IL=`QyIjB5X#JKLoi!1TX!#l(${&6G*jijwd8@NW0?1VX#K8~#f(!F%c(4jEbOi9Y{ifE#9b#7V%wta{2fz1w zzt`eu`lP9ekFOXMuj?m1RRvCr+x&a~`&+l5n_u*ej~%(}gB*_fB}dt5N6EWAgn=E} z^`ig`4^ry7#p@J@>w3FR_^4-InK!YWeUuOIISCzjiGleo&H=spL#zUb%gZw8i_1}T zTgK#PCVU^_D;KL1Shmupqc>Z%nmJW~+kP)sH$Hq@v+iiL_`QUC{64`IZs_Li`EZi6 z7hE`G7{15+qLlUH?~dQcFa7BsC6y+><_&-7Pr@NQYV@w3zo+z3ap1)le@99+05XLZ z1PTHLfr3Cm;1EKfu>t^trb>YOg`n)l=Da>8uYd77R zWK*VmAWgoE|w!?)&2Rh1~Uz^MbwWeZkqw zlIXvEEmykEI49qq*8iBYPWBrZ$n=a!N+w(V}FbK zdUosAbw~BbU+jl}Pt?(m)Vwj@%v%+NQUQpF6}}))5GV)~1PTHpM&Q{?Z~Yes#$JFO zLv33PfQPEUuU(Z_LF6aS%g>{#3RrE(#@kf^taA8^)N02nI<{LaY3ENI^tIy`^?fsc zTu?($zck>5SMqbLR%OmZICe_DpS|pnCz73Z{`8BVd|2KWux&yv3;b~LKc=R2tMmOP zdgvy*PHTOuIPJ!H?z!hCk=1VO*Xoy@>p&kaeGBq_kChMRCz$7t$TMx2IduOc1IqWkKkLiYE_G#cJ}PhnKN_xD+`VOBOec?=Lel} z>Ipt3YF>&%W901$w|m{L^KC2g_g8hmz8`*k55+m$>cDf)y{cfJM)O#&gLtx%$1aDue~;@nqTx?e}0admMc>5MYY4h{s1)U;axxD)h~bg zr^gPC?A(uIH(VO~_r254H@^GM;krH~>|7uBbzMJl8NPYg4wO#yR1ElYz3}Fb>nkq2 z-@&hZGiRogrms(?`q$21q{esZjMmD53cx_cq24c0Zt@dA(O=vTpdt|E(ayer zDBs`sWn*$hq}o!`@R!o{k%5a}MF8*m;5+pj?V?})%p1JSA0MgTJN`-qAR<)wfcAYHBRTFAFK*w8(CVnRe;!|Rjn*XyH$@>78)O{(~)g$F9xy+qXtKBJBaQ7b+ounA*M%Hzc;iRe;pyv_oINW0Ipdr&lgK=lR#eR&cM=|?)&iAGx>asIM3*rXU2z;8?WjBzN(KKR3)%apsLR= zVXxl-J00&Qw5cj8JimATJ~&rI`*5l109<-|^Zoka`fIY&kGSnqh~tX(=D{ha=Rf_W z8W0gGd_kZfP!K2x6a)?d1cqG!fQ?GP`sY4HG%RXm8&|xXS$X1zOZl-vi+*HweXH|* zAbixrTM2t|fc$~Szmh(leag=#YFu;2KbrWbkIXxYC)DTTSJhKY6P;6^`@MSYj}yOk zQ|prihgBE0=nwdx+q$z|Wx)Mu<7W(aauT47RyC04q;-zOFK&Sfx^s}d_3_tc0<%^c({cUG2 zI6bO%#k{0vKE5A<{{PlL_W`1gs8mg=#K@9oq)RJHSN-sh zdWGPm`sK~XPRxe^tgDX@q$dT$i_cB_mtW2~ycE)-0LLD&G?@&HZ~D(A{)A`0mR;4k zvX=|+AF0Fi2jzb^__6=fk=5H>I&ioye2d+@wZEzo5sQ3xRn5;>g>oJ5K^}=u2 z(vwtrdbT7g&N$AgQ}d&0>t4-=7Yscs^j2s=pde5XC8CgRkmJK(+Ss1EQTj?3(fK z+`8-Mm&SfO2>TyU8Nq)ukItJEX4Z**?`d;)KZf1_+S>eT@8$y#DnK=$K4lP$08MoO*f_2WLWY?A*o&p*e7#6x+_+>5*u!!+Z0-oq#&VmrAV`7&#nrFNA7nJ+*3r$>&m!|Mm{W%XWa z@34Qz{zZLu^zd;7XB^u36EFF2DL=8_;rfFgzx*_1{`9ZD`f94XrS$p7M;veXm0u!Y-tx;$R0+ELf0_ zaAL12fa)*$q2EN=!$-eO`r?V>Y0?)@%vPd)>=({ak3afRPe0nDeY|e`MZG4Ty?)q> z1Mhn9BOZF>C_8*Rx~HoE|MOF0QwS>$%SYio_|3czL^G^(R*TFnv6E z)|-fir11VXzx{G*$D@q!XncO3UZnJ0_t@UVM}2^}877ZREuv zUe$ncR3cJmL{EkFFiA204W4!nM&9(kz-K%&rs zKtZ4&P!K2x96|`}wF&@Cz2yATw+vkguyU1wS?REEqV^eFfBp4IC1z-NJO7*fkjE7; zIjUV|ZDkhQjf32H*t4_0Kt)03&JHg4?c=_cKCWJy@8gl9)28GH`{&Nh=LW3Zly?9x z`TG4yW#*jI5_N(fyVuOmPa+;Ef)6dQ?1Ms~6;$^#kLcq9GWFijwixfUl zj_0>Y53clO^mvq8$Pf{^FyD{WNujkNwKX z>vt{0<^f)YKXqI_iA=+$NkeD;+S_IR^xOx>kCb+LT}IkZw14eub4A2_FdympzGx>$ z2X^vTbBS6g`}n)jqO=p!q-Xx`q?$fDsqo^rRr&_`n&_6an#>)+}Pr5~y1 z(Tz`aVB*AyEvkoYy)f}dzFe=y>sI3$(|cEoez(j+_vLK=&O7sS_H&<@oLm@Br~bOt z=NC@VKJra^{KV@;-~7V!i)V*NqhEUD<|BXP?WpfVJH63r7oTyhIc#HcO%5OZ$u3m| z$eU=a8gyzG{lz%6H_5d>zUH3#W1XhfobjUk#P2abs88 z0E}fm=gj|$B$B~4t=z1DtXO6K?#uEUsTC8y+VzKzRDb0BM7ee=!`P2_>1l8BBO{6Z z;bofq#c`Z4?KY%9#*gvr$@8s|Fem=i3PI1Ke^n*@5!Kcn>ye`qdOuaL2gIeNm zsszmZ`}}?Ed)rCLDE7-!l>g}7{63FkFFrY`#Q1$b*>_3@_ZjToBF3|O?S0p39yLYa zKKkAUFKjzXv zTuNEmp^gT;^UgcD=!o)bX~c*eAF1}Z6z0bgT)Q}jF@B%W7g&j{Lzr%a%ld@l&gHUh2~0s1RGX7kUoC?pIVP0 z)V?dt#~!-Q+RwlAtv)8IJ!a^Xj8nYik&k-X`DYiY-!=32nJQN(qCa;0xeiU=U--3a z=TGKu^M;oRh(mnz#e+6&PiF^@Z4CA>)t_!+Mm$;-fu_t{zn#*}oBN+O?EgE zs|El;*7R#v<-^Ramb<gPues(iVsfky_yVF4Z)ihi1STiBbb1xktnd*-1JK|ga z+^0q*OqqZcmC6F=Tes#+#_O=GsI^;3TdA{mI6gfqfBli8G7yv;6`xE(W~5#Jb`IOI zuU~dD3wGU7{i5uR>)w0wVFE`To*$MKN9>oqxWvgH3ST@N=(CTw!Qb_89r;0BSM7N1 z`g7g!u|N9l=;Y(S&`xEawEw{${FlAbZ$28Js%{?j-iChZNbKgQfg0z}#-@&V*WIyz z=3hs~{Yv!tS^m%JeF#hHl)83Ak6+&-e5A9Ey(@`UzHm{Zeh*YkdVAj#O@`#f6&uB~ zt}o|^z6WUEIr&M2$DYai7CaHa55K-gcIay($7 z#~u5f+DE-XKl$Yz(f{1JxiV%P(H)LCtO-(CT z<|7LuPVDHrPUNWZ&}-^fRiM-H@sCEo(T{d=JbTo9#qY0FH6&I?RAtUM;nWoRmN7%` z=ZvY z*SP(jJpFXep81XQh9)b3mW{@`ic{J4JAlO+3w%8tzw{G2x7m`}zjJ9l56x!wCsc+qP|%?JGqRtNI; zKpd{WaTr(hALXSQ5D_YTL7*T|5GV)~1P%cN4wwpnYaz4hv=U$iY(>hCl^IHo#+6l+ z%SdFj(NE;rH&Obi6}QY;MS#8d@R3?MM!A(@l(*yUJD73m2}!kG|HdKy`|iv82HM#* z#nG)D{F-oR>W5tX(cXND*Mpt;iQiwTOj~@B_kGz?@8G8wX|#*&5x>YseSGvg5J#Q) z(~JI2IpuUsE!24EcRHWUgBE8)F#MwI&?uj{Id8dNTdi&JM&I|XrLmt;vHa}c|>?d$ipm?GkdE5s8=SkCZ<#5XQ$t|YhTeg=f08LLK z#7sEyEkWtz?ku?EO0`32)5&SkUqAMj(Q~%w{^%w1$R)BH*R*d3A+2f=C zCZ3)4m=Tb7OJkhuV}IoOl^Nmrfg3!!9jAWKXm9>$KTxP0^#@A4BaZWop*@%<=+IhK zx=%i5gk8hQ z@5HKAtCGjvzu&UCQ~M0~4Pt9h~ts?dT!L7*T|5GV-j zPY9g)&Y%3*$o2w!eEW6#(}0GGrEx_tl=A*8lbX$)JM>XvmQ>x2K`Lo$?)BGSpIlhV zJ0yUAOE!E{f0n40bWM8vX~(;{NggS`9-7zgNWB=Jab9r21xa<*to|2d^#A824cbw0 zB⋙j0aB--$eO|@sKy!k-HAY%Pvy-oyJ8U5sx^2FPE2c z(s!M<_2i$PFDsUJ!m`)5#7 zcBp>5OeLrfuwQJq^**$Z)>i#5<|lxvFAhYKKRli@;vn67tP-x@2@m<(EP%I#ez=jj z+3qGjKQm{}^l?~}-#8CA^N7HN3HhY~aa{PO@r~L7;P(Gf9orvNKDr`DxA=Ix zBBQl}l=;huoBYTyWjgfu!=p`d?Wha@-((l{=%cYc^7M?OiEpyAQf1dEZD*$))zN!zG-&*CDdElG$Wps`& zjCyz6aYqy--uxJ{aR{OBUz~44s3uXTdeL57=3i_t{O}MkPgr-lDS(~p;- zn*#WmF(dD4@z?;rg9V1!NmYF8A~ntvPdqs_jp)vQ{~!1rui{wN|NnpJ|NqW^{QKD? z8{4mwBikV<{}luZ0tJDBKtbTZL15K`tN-=L_5vIrV;xpCp#Km2j`u))uK)k zB=PjvMWq-YJm|;vXy19z{+<=g95zj1Vc({x1Z++`te{3tpyf65> z@4h=dI`+*6A5YzTv}M^Nc^}E5C*RmrSniK^WweuWv{waastSyBKLEcQHY`g~=}@Y{?SI_+T{0~s&n(5VMH5PmXb`jut}cwJ+bAw~0z!gP&!cF=LNY5r4)rPaeI8Dtzdnhg^TK+qP|f zGlTY4KUloELxapwblV-j&FjK-|NMcxeja!7oq2YFnfuKDALt_m$;`>f?PmXl*2@Zi zoAF~O`^Eu!J3DLLWo@nBBm%mHv=e$!>jC2I|2qg~;CEwqzo7**SRhy+SRhy+Sm1EC zz#BKc_?x3*Er4!Rv7-TRjb&byxx=rGSN`7>2MG6N@Ix9fpPMu)K=ymfE&kJ7#YT~2 z4K~V$j{ZW8gxqD9UFJmiR3UV-6|0Z>i5^)8z{dv| zy|zAZ>I3Kf@K1c=6OKf^lv6)=668KGiUFS1o+N#iPCK|i)Wax}d~t|)Xj9TwSB9Deyjqn10mUVQr4cPm(~C1p$48;MjI$U{-_0xWovtjgSKDD z1Cg(r<3Bc0)M!BL@O5_@b;|jpG{9hiV1ZzPV1ZzPV1dKS0>zF1M42Gq@aknwYwbt? znE@GUQf8f_!d)gs?nG+r;D>%IpN5kmkhy~cZT+?$GF!_>y{tDtKYU5=Pa~HE={N0T zXE;U@peM;E(difMgAaPCdeH;KUM>4R4k^GRzyf#P>GKp;K-={tJhvm=Ri0CxW7fa4 z_4$mq*!t}V!5jbb6M6IE8+-CU1~8}EXS6rp{9qp6oH>5}xX=-Tq|Bc7Gp|pE&w2*R zfdiR-{yGTChYPu{e9my)IzJMDUOOT{20f?Nj|9w~H$B7J>)`k(ga6u-`TxWHL@yb( zT@TPxpx&hQ0O+M2AkPo$0ir0spYQ=0Ie74Xzuv5<5df3~7%UJh5G)WZ5G-&6Ti|W0 zJ{!Mw*c@GS{<)VP!QC9_TG68c1EPob6{7<4XaAe)2=j);_R21c5S^DM?a$~j5a{0KJ+7R+i&UY?~Y#dVeeA!ANBCP3Ge`q3=6D( z#pSLe)8_bpbu$}$R?HrVz=Pe}t*w4Owq>J#&pmoDv*CV;4LM-`{J*>+MhV(y`}yK1 z^R_{Ii=XG7eVos77tZpl%acY6n9t|;%e+3#-Pq&%!&^UO`;;HhJ_<$%^8W$#jLw2v zNWT_0_|cJtv;6z_mTzXAUw^^q0p_YJ{C(=^80%D9y^I#HZh-&e zjhdt{;J_~QH;e`pV6?yzED$UZED$UZEO4Y*VAPHPa3cra|NcuzB|%n_6Je2=CMje7 zIjI~yloMHkmkNpe$e3C251o2xA9$(tA%}i&3yE~0Q$INJMDp-s7YmU~gCX-zv(S-Q z-ZRr@XeZ6AJ18CeA`M+FfyZ2#yKBdK8o0E+||ED$UZED$UZED%LUz4lW}%di&Un*OT~H*1diApvd}so|b& z#SIORQrpn1zOm1#ZreV1&_zm1{TA9(oRrwok)s^kLdt=*z3@|>R1bVf?YF5s{7H~{ zsF&0pI!md+DF>q04#5!eT0Z!>-{1irnHKn9z5gB7_xRK;Gv^vjm^9aSc)x^+M`{6FCT3JgjA4=7)-c)q(_xOg6npu|JF7E`Niqer3%;~|!Z)~gqBOu@fnb4Pfnb4Pfnb3n z(gI-wz}!|c!?ckAGJlq<6A_ZBwr%%{83~}8q!9tiEhMrdvnEoc9?NfW+b*{6YtJl8 zE>sVCX%9G&CL;<*FRXV(-}uUH4w8w(Zz1hNk1bEb(N8~U2Xa;~_m}bjk8BI@yJ=|H zym@YbjfJkSPB9y=!|;3q5#zb!`GsCC7=LV}KUWto@8A944o7a=vD!g0 zc{2T68C`d_`E3TH`pi&CiysNd%!x;g2yC7@%ZYA&(7&W^UoSZBxGGnEu(m05l@0QT z`)`Z5AC_)$o)aMV6`T=E77tKv^(5iwLC)f2{?L>3B=wWUVEBPB0+3|EKo1rO76=vy z78peqIQE>QZz#iBfWy>cVKgA&#*sDJQ2|B)h{k|KZ&sbn{s%?}{QMEwJyDvK-?8^; zM}m)XvIy#j4oqs#^l=j%OLas3d=hd=`fPLwACUSQ8m2f^@KX+?pOjNCc%e}_azONh zTYC+>3Ia!fqrn32d*Ay8?IzFLpoIs4XrJ?&Zn|k$wf^c?zjE3C#*MX3&)T(*ILPmE z^G?4m;(#UnoBe$M#x;JFV8x0rRt(jU*S_|XuAbU@{}F)p&7Qlx#cx4}Y}<}U-6f+9 zQMB0Mj8Yt|j~VcP0Xu-xPUzspLaUE#y)!e~TC6_!tzPKBq;^|5%f~BL(Ykd`RTvGx zq5%dA1PcTU1PcTUj3Nt!5rCAN%}Bs$&--u3nT?<_a?BsvNXx3tMrK`<_-(bw@F_45}oox4YFB3&o}e??X4SKQ~9hY>mTfA_$s=ebbQ~w>82qw{Iq`m=tqBF zko>Z@{JP3OG#-Q5cYUaaOYv&7lXJtOb}9wW1gKB-qXi z(isNYk)*e$cIZdMjxNw{>Swg%fd|$>auB{k+npyIBedI&&Y+i%LRh(gk1h)&J=f2* z6&TGTd$;W&`(L%nf5Ps^_dV=b?ECx7?;k2#^wE#ozy8%BM-AAzaBGeK|57(?xfA_; zX0+gIU%u6iCe$_feI157O2GexC_5TUOZ})USgDY#-L417)|;ZZdY4~cVcD!c%9Hd~ zcKP*K1AP99|Fg(}htU8m6=1MHut2atut2cDD6+uN>0N>$ZvXd4FM&@;C_aE3^Xui& z-evEIGH=Zvz;f6SzH;yDU0YcnK*Ncsh_IjonTNXMk}DnQV;}pNgGv0XXkWN+q2nXd zr5+&qfrVx~j3``u@x@LQeL$;^j0HN7_FK86%mz7NlDw_Y>POzfkojASjBfnNCm(PI zsHySaRqN{V|AN4=j-^|?P(CYXarE%}a7CK_VNWqg^ zPIpx?GBEGBNe+Me`v=dQX&3)DfY2>WD^KDl^Jo6wz6nsOUR$572fazq$|vDPj{szx z`DL-fO_}q|B;^_UFEV_$W@J;?LvgS`ut2atut2cD!Lq=sUirx{jqbGovUE|S0hv*N zSH^N*E#WpPX!v2QRDksX=bpQr(L$4;P6|>dI{uhIXLBM`rx-Pi~?AT1Y8!l>8Ag6hDdt8$;NrkEsmUh zKKY#_mBVlE0`(w=o`L6gd`9H?d7{Uie5acq&m)ck{B|)pl&ex~aSE$~k?B9+y&~Ey{^JVLy`~_zmxeqi=9M( zbkRm=>!0*76#MGi6{^S+p`oW-5WUr%`8xzsFOj0H&(bY!`7KVp(5Vj`h+VJ~^dvZt zIVEuf`e?R*ea?7p?e7vk%E95YHl!SA%aH@d^Zky6bv?-0--Xo^@bXw7$=+nl-1k{U zR%i8cKP|mTwGrzJ(1*O$OS|a@d_efYSKR5}EJ1J40e}=K2#A5sa0Ckk3j_-U3j_-s zrWRPz{=Qe0Yc0Sv{Z}8RR>(HHq=+CZ9WJsK`1}_C#>6Kk`wP(J$2Cl(8p<0A_U4HPOD_<{w7vH+<$JpA4)PHIItzYiJ{o0>J{o0*99c!U#Z_?$?}$PH~$4;~}r`ZCCjHuE=C}`EQskGhb;R~T2uu;`Vs?xzCQn* zNg5bnut2atut2atu)q;vfq(qTqN(Lt3vfgjBw>?)ii(O+`9f+r@9BTs}oU=iOu>woalnvJJ8i=$5}!ysNL7Pyo!N*fWZQVSb*Od zqX1;zWJTaSk3dERR;}`%-rKitud9yrEo`oVd}HHuR}LNh)Jt1!d*Ex^3`c;6g9Ug_ zXe;Xjl9u+vmjWE2Ojqrw7YN@VIaHGV`6I+=TG zYd)P!9V4w=xsgi;tv>j-Z-3U6qaR2;;3z{bD$@wSs+AWE`MEyoJzU^$w@2jvDE(#L zeAn;%h%6(m{NIJIP-ruM?!SG`3e{)%Z2KvP4rHX5a$xrP$`IhEJd6Nfi2#EIf(3#F zf(4Fz3#|FWkK%8!HAfenf9|D6es2rzVfFa&;}7Y%{|&4BC+-UF(ILv1`C{N9+PaZz z)&&<_P*&wOo3hHUyz)v%A_|6|C>R_$qGI^i|C$TDW)~q7I&# z*@NuH8*g;Dt&i*kp|o}+^~1IceL&=Z(1Es};P3;XQ{Mv*_)qjPPo8E6KAnj^>_`0UQ&c?Gi-}vBk1S{ zvQC4{fsB)RMAmD}o_&r}_00XZIC#vN{=M=~eEv>{Kk!RWXJ3ZuISr0}+VLkkNPP|& zs!X!Ocfb34S8nSe^FlxEMlbx}-kMRo z&xRj)fZsy+u@CitN6qno@CY66dh_h%W5;wy&9gcpEkCHLs){NrDx<#s{;0RNCtCGP zZPeXU5q;^K&n_LICgiE@@9+O&9^nv0;y2OWUGApwT=5*CA38WAMEfBW2(6x;+Kfxh ze3XTCAO)(6rjMKGSgRWbe^ZMQ0{CdR?VrV|Kil3d8+<(!1Q;w3ED$UZEKr&Su6^&c z3f{<&poX*CZmm2v(r7@F(QDDCd< z{$jjQTG@kuyxv`T*GJ9>YXS010un|8utb1|wFQ!*U$SLaPmWJG(mux=|0%Ye$XU3x-Oneoirtpi zSB|qJhtuyt3v-BM)r^+hSYP8x)9gTh$zs5BRFCK-`}=3JqG8nbjyKI;e&*sW(X6T3 zJ0O4lwotX>YkQ;TAKMcB;_K1!w!PKSJrB){zVwZaOAD1Rl<&nae({nx+m1RrJ0tB( zT3K1?Mkz##1BOVO!|6Kr5Iy%$Ij8v9P)?&AqQ}lW9_{FLx@&4`oPOyLO{cEK2fuWS zrt{u=?_E({J#y}-xw$#FD-rvausbV-J8S2<%X#DccVFyta$AER#bX@{ziZ@yyE^^b z2jHv|LN9b6^`Ot{ryPDD&olU@O`F^$qn6Oo3l1DPi&H~@!2-bo!2(B^1-||1vCC&n zU41~Wl-;k{GBMixY;ClD>x3oyyZWP^9zV1z$2)fH*yyMk?JK5E+#AiEwI`Y~Y2eFY z8cF!Gmu!sAJ*9g2C4bwq^Z@0(edH??X&JoKA z%Sq$lanOR&q4tYMfkbJ9jzpGq22}|DM z;O*b~j)Si`{Xz#fcaUlO`Eo~${}ADWXQ59(vS_In$CoNtq#Pq57xqtbl7-rVj3m(x zMYbb}oqD)m+2fj8WDJA>xAg7AKklDx`unG9l061 zf&n>XGIGkv;Dzg;50Vv4<;vi7%9+y-@v48KNwga*8@so_oltZrWNA{ZDJ-lDi*jicULz+lnP8ZH*??`4NL-X6}uC zazoYfSHH7&X|7x;*K)GT+I46oLUqegi>9nzE}9T(Nreqt^Vj7H*TEMAvz-n z%J?Ox;6?$4f&iSn0sx&V(bF))KDu7l(YT(?tJ|}0%JE1kHFF5jx=FE4Ox8LlC0_HaPG0tZ;{lU?XX*w0w zJV>ZcyTECO#q)%RKxikEg)EIng#JM;+>1Uy;)IPO!s3SLe5TEe%>(@JvKa`xxPCChN_>jg|OgX<_o*#Y>JQqC2=w$KC zl+*vhk?ObXpePTrXvYo(@O<&yA_V=h*4iQU7CRJxeugM)e<5&{4$ z6=1MHut2cDAQt$^4VBBs*Y>#*4Fmk}?xyIEs~eXn-L0-3m_V14l!KS^<5VCZI!=@^ zas>yXD=<(RtwZVd-n~81|NOdf$+~T`qt~7Lrxg>&cg61+_PaTP^WPdRb&MtanK*G` zbjm5GL=QdmP;~t9$GhM}!vSii+Mx7YZPZC0)J6gswM_^85}#z$2k|JyXRIF?>5)Se zuGM!tcIH)k@1G@ei?95J>R&=PxkThZcAH!OUOi!pIPU(0i*tW?g7k}BR{~Ae+55~et^?Y zG7_Y%UW>yAL?1Z%inRlBRv-5b{gguoa(|{y@Y^z?&&q+93N_acvyB93qEkI^;AtQMJkdUY*G;2<61$+eGDR)#;#nGruSdsNO@IFhZOlob&$o&*(>YTq<(GygELmUaQ?IrTzcq_ z$|NIPIu#5EO0V=Q;80)mx`6B@TPTPSzfR!?Xwf2<5g(i-_Vv-N z_noxl_2)dWLhln!7}pow_%9QdU-^;ZULBCr)@XwcId+`4oV1)ePF?|wc$M*s563MY z4wZAtp(~((Px8W*`4iNr4xGR0vBzLE%Tp}Qa{}b~*=|Mw&`TB#o&>X-X!srXlGuu- zXZ5ZtPLw78{66_z{_b~vOHH;cWHf-^2kQY2PB>Ovp8|KVK(Iitz;kMWQ;ze_UybRcZs%gBNH%IO&6Khy&r;K8#%7y&qVwhlFofCZ8=J*pzICgbBXhWaO_ z13LU{vjtu|({C5{%`e{RNMsb0ulnVE?(&3l-r``#h7}IJ;G!!X{QO7%$-zSZ5Xr+2 z4uqZrv4`bvX!ZTDbjxqc$s8*ZX8%|eH<>-P}dUdU> z-sD8Jm~Yy&Y0>}wdUABhx&9r+;j9gila^D@b;`6^&R-5&0SO}j!a3D1OgmsT-S>6Ruj78A8e^WqZuFK7W4;t!sRf9|39ot^XY%M<#981yEin zOnQ#3{GL6&-4iGJ%}4l5AtM1~{?ONDM*M(QUkCuKMFJiy5G*iiE%3L0d2BrNzsB`n zU-r4{!A0@Pf4>i|9G{M(jylRYL1n*kZgO^VbT~vgHqmn(rD!^E?&6i4=;D(u1*OQz z`KnCw>XK1Ly<+98C8wRxzT&7E{w;xP{o9IIL?#q{f2{lG=Nb6_6zu<=Suxc zR`68j6JM+YpuMRI%Ea(zZ$86mTK|Y2-c3_msvXGAZU5>U{p)yb+x?6sd_b~%dwiQqw+qC3euUqSeoK8PsV9Fxf=!6S7Tm=*y zIDX*-GP-7JL*)boqU#Wiz(BaJ<@6P>$f+v`(5VAwFMR|NIDW|y6xcePa2fvC=ZWmN ztt)>NfcbK^0PLyFU$?Vx*3`V#JdpWl0M8w(?8(yem}7*j-O|AsWdNTxZKk{A`G%gR zhkguX{r;6p?7;sO^wIth0AP^-g9U;GM!f}^rh5mmyS+O4%_CEmR8{-=d!~5*V+L&()HUX#~&ov8qJQ| zska3RJyfUKtV3;5e*~#tZO|zir`n-I_399vHtHIOuPFX^H+8}+{ zM(yAgL-B{>;94LA00-CJp|%mS0Ff^0!GX|$(EFl+Jz!NvWXuX;B4_xK2cEORe-?1r zJFajfGXG_l|GC4TdTe!u^;Sd*f_zqx&yOY5Uy!nxDNUY!GVg9Pf69~elxhd;Oh2-3 z0zk+>n-L|A1fVaeov0nil%Pb>XFfE2c@+7q`u<1iqV~OAvE%ha`*L=2S~>*fu;sW! z$1%#u%K6FZ$+3wKr!O83m2=7&l7S;He5e)mzj}CjblLgqow{#+s&@ICKis(#-9y3L z5df_TP}>O%RHxb^TnA7NU#H4)oxj?z{^{cY(#w>H^ym<;bl~h|4_(8jGVw@{V7U+O z{~O+LnN!Vk!Ep;eQzZwE9@&v!UO-8uyoIs^$iaKh>zfs7nA0fEXz z#}?Q_)kaFfHSVKN$o`5LiF40 z0i3rc7BBYmp*H(Qo-C+bcCdPAH}|Erb)6&8PO|tUIpmWddIl>WH`ZtDJ6gv?+6zFV z=VY{UTpZ8!>Uw>b_{k0R(c)uw)1-nRqXGKnuN<}dCdaL7K{;w2a`Y@D#Q6(y=JFsb z=dVL{(ls`cF62aK6hOR^RXqwS%6-`9BMIks#PiMXdEw%DgEr|mne_n2ALU04I^*dg z9Xwa)vBGD~8+w!hc}69`(KDdek1jyB{PdH4SsXpUfu|ac0R{^M3j_;{G7Eh0s-u_F z<)=4IaE=P+F9)T0Y@DL_ax-M%a&pjcu5yMtr3YQofzuOIX0F%&y(VzK|gcLMb{x6 zlF^}nLcEfbyvk$)9kLHWg07Kwh2hUZwLlmFIH=|hm5r1Ih-lGoBWUQ%H@9vd{C#;M zX5JJ)E(!9bK+4x{@{6vrc;-uj;6PUVFPL?dBe8>D&qm*_O`A44dVMC-K+ZziOT=%> z({Sbw$^79bvtT43$)50+Y6t3PWPvvTGKp5i{faU#CNwuUyDF3Vi#_b~Ks%w^{!E!T z@aDtXEq?JG4oeP7PK*p%x^VWomXm{*j9TRc0^-pjn)u)ql-^QS)Nj~Uw;=d8Bt)S>APwO@zI<+RmjwUNH4TtSM;MH3H)uBA)%Qt%>P^-*;A z1XV6s1p$IgQ=q3Dko!xY(aG~cxrKfV1ny*5J*UAH)@FXMmJ_|uQ%4ql;yL;5NbA-X zL>=UN0?gz0)cSj7zmSR@hJ#UFoBI!M=lR_N?v^R_4QI$*5jVFzdNb?YXPq5 zzq+igJOq`6h~N;sDWOT}lWe8hh^^=d+52h+R)tAt{Lj)IZLRs!W$*(%R}@|NrqkSI z`bPu4he#eIoKEsv^G@`6MI@`k!Db&37{o`E@mNp(Jrr!Rv+wM*V!hrF=bLR6q@9qNNl@u`0d z5s0RF3-v*fgW4`{PahOfNWb(DT?k5#`badPa>=MnIt7{ca1A(u{_yeRw{Pm)~4vk^UvB^o|)P&2a zNlvG(C9iVnfDf9=(XA!+O1s6QL%QT(>K9ZS1?iK@RR$DYdU5vfNk(=KnMU1zRg38 z1z3PcH;vUs*vJ9X(;q)`@A?}{HL;VV2oW3R}M-C4pMp<0XTG))w?DZ^hbS?Bjz9=5S@TSWx^HUuvf80 z0p!F5<=8oM0~k4U^q`+|0tA&yR)=h=as?WyOJ#@4!Shoce>g%%d*-!(PV-R?em}+b zi)}&IR{KQ(=tU1B1K`7j15d!)YA~ zOYEyEd$W56@9R_`*tjK`>q6-xo{D^civB{xLGcNJ5f5=m&D(z@2*r0)S&??u#B?J;gaO z9F-iPoRyA4VMYC{Y27YJQG2%UOwZ$R%;J}GR=*USC`gg>7A}XaGC6cz(`N+?l9%(= ziPINNhh%kt>zZJLG916kI7E|82P=bTxRCn|L?7!-nwpv*Ik>ZSu7mT&wK{0!zTv1* z#JU=O7d)4l;>c#`Y&(cv_<+=t)jQeOZ_6#ta}S-7F#9{8otAH4e20<%g9U;Gf(1sI z1wQ@NtxI2idbC{Kp4ZgwoE%P!OjuAyuEUap!%>P~BLO-^S9YzFkpnqZ$;#mh%CQQH zS5W0-(l})~NE|YJ;$3*uz$=m;`1HP|u3oW(qrkR%2_?&=v@t_QH~ zXwHltuoYOb9}Vd08W_%18*TKCy=b4!HsDXA!-pRFO*WKdALwM;$d}s=w2yua*xk2) z`@-meZ4d2454de7bl_m+UET2(e(`sC^?lw+b@7fqJ^qzFIX5}r+(V8JCn{$s$F4)X z2V-^p+*t#`KyJH|uGN0EO$XBwqOmrBAV3aYjvmJ^XHH+mufFP(qo@DS#mA{~PU(^! z>K8vp?lrV>K;B~EKHKMm=Z)tY*wH`9RsX`pO9yQRTYa`?w)8{)pv*bMCm(y-V+kK4 zuwSCD$B~c-Fjyd1AXwlCw!p^ib=lsXIB&-aIWrw{QgUA4 za%iH-S<2b7!d-L?vCFB7UyCmJAb@b3ov!6PB`=6xGH3D0d5W%U>Ju(mIseJ^KA>*f zTi99v^r$~_@EQ@&+63v8enuu#ugcXf9XM{$MWbCRlWZ=HIusz#X0=zR4wZB0T70sV z>IlbkV}S!k0EmRj-5m7V2&G*0r0Gv9x9xx*x^1_`;X{sci^B)B<=~WCh+a##a`0I? zndP269Zm)1@S_(xI53IN(v$i92mtz#14j;+L@%_QmFGmlME=MFsfYGJ2coCpV!zTC zJzF0AF)R)i`q6-W`~1py+LfmyMv_KKEI&ByK@W6rAoM4neA1EZ#{%F>g5|b@t%nSs zdC}O-IF|ZG|Aqh~G=0(FZw#Ps?b>I!%!5hyS4?mF_@1S|_`07GIA!6p(aP0xozs%D zlC#sPgRJ?vT2X)2^S7;V4T=9;^0(bfxgH9t4~$ai8pkXsTuvCrEt-N81qq@P1Yif% zgPZ~a@d`&?&R+*Xgsvs40~?~3w+~!l8UOGcG2&%aTROjslP`LeW38WhVxGvpO@1nc zk9xGW`}un6;r|E!U-N`xhQeThV1dzO0Zjwwm^F1@v~bR|&e6)b>BM=-kv>-|>g&dJ#qBEYd%@g4 z9J8FSt_5=s;d01Y@ThBzY-j{SfdCF)`~(c>VAOy>Ks@5lg_0qF5T8aFB!@1?T>784 z_l^BySPM|P{hZ_hqX9%EL^tTSICLO#;1;HpTmC}vi4*-6o=N&`yDg5KrQ7<`$}N8q zo}>qQT6^F_e-b}@l*13bp}}Y6(2IrWLBGY(2OZo(%B>#wlIWCM2tV{QU-lArNw!RV zK<34_Z{LoHgJcWv-LmVJymFAnQ%-P~3p4-xpaYk^;R1L0=9lGvFM#ZWcG;}L_5*(O z0+9z#g6N|^)OX7*zF(JIa!HbC9^JmLOkt^ZKptq@$$9|Z(xCl7%2_V}j$P1)ejxJT z!22JW5-mA(heKcT{I${J>rQk*fSeo7Q$c~QpNrM?=f80C3awet@z`38O!=(T5r+7q z_T!*)9WYLs{wc^&u%oFAO?Aj=i^pc|qA`Ua=bk%FpfVk@lk^fqVLy!$h$cR!PKIcD zNk!a$e#aBF_d(F^OH%3ZsZ)y50a%$FRo2loTqX8v}hz$wf5gIo^j zfXi20)t_A#aN!x7qE+iBMeUspS%>~ytfK5F`lCJ*7|OI?o@nb%`chqFcJkeI)%Z zpcnf48QF9$ z2o}g#U{{-;BGYjDn=V+rqN>7wI7h|Gq?NrM%oX)-c-h7kQzmt}*7+@gGYu^e$jRbp z1##H9BNlSV>Jx#20s&?0xpKP3vCE0;6fU~1k(aD?AY^TUcywr_L^K5$(v5t9-58AR z?$7ncpY3jrE;|3*O9v|-2JM>utA`7wIrJom z9$O9_eYU*Z_`$Akxa}{OUC=}S)7k}p8eh4}36V(!Y&%(kUTA#=~pV2DD;#-wN*(ghIxc(Z`W4Tg zKd>pltKZqX)D;x*M>?fnhoDk(wS~5-jcSMLR6BDc0rBY60kqe`)fW~Ks1A95)kB0K zS=FPV0o9>v$zT)dDA!Tw{}ucD>8V|u*Mx<$rsm;yWj+EmI~#;0>J{K(gKbjP5mJ`-VumO*pv7ES^wyq_| zDIS6W9Ju<-wREXmfsfvwRR5&|9t9UV#iPJLcG4;Na6C5_D0u{c$c9KKsrm5P@+7+D z15c`lNtA)b0X`x^4p?k`$dw9{+FPnV+Fx$HrM3sTq;@@5?W8?K=-{*mI*~s(eDMb* zUDv>yo0}a@CJY_kk{xz5IzRM zc7%hl^0SGGN+ zI)5pUBW6TFxSX{D0cGHF(8ARh;X2eG9XMy4xb)!EC9eZsc%(x?fcVfWKG7LrkSz6z zx7-KM5sO{y=lhyFecSo{v-!nY^Zc@Xw*R!D33~1Gik@lHd{6jY@Vut!<#*oM>21MC zKvk8$|KrBZa*BBkpsvpI(H{DV9qI3!452#HUp{MCJ=6c63nKtnEWluaV1ZzPK`fB# zc;_D-MelvXlPgX-j$Hbr171OmC}<&oCj1o?Xn}x669|qZtC0mce6@u#f((@xeoQ&`ecvCU zwE%@T;)vobc{G41#99Nojg~B5xo}1S()7`;G`>T%oc13qyB2B(+Epn3Nb?bW(=MWN zvU=!A?ZCd2+n0=?1IZc~1(-a+Z#MALZ(ZY9h|=%5=N?2HWE6|}KIZxC^W4_ww|2}E zjuF~Pf573hxTPZp-NL)?&ddQ;1a+wPscWZgzTuP!Gkr>V1)CH51?cSjeT zwq?ajP8xU*Q1#~qBebU!DCet#EL~1oZI&~}xvM- zb)so{XDv9&@pV?O%~X}2?bAN$1=`<@ZKv%ga=?-U04fSFSRhy+SYR|*K=*|Ip!arEMt}CMzNO+R$AP02q%FEuTjY>MgGcq@oaMAR;1R$2r!sU1Y7w9gIe+ow z_EWY{fS^Ou0t5lr%N2w_2h{>2761^j9Ms;Fp|XoEx@br(Kl_>Aq zzn;ewBV_tXn_F0ZBK9;oeD?Qe>EJ-C7o3p`>Ts!a?Hrip^4bJ@i`c{Ac$gpS! z5IsQXK${UkFBD$!;b^INStFoptrLjP6>WPrMNe(0k5)ZX8$G>g?2_Gky)&0%#IXua zp1411n%=o$e$(D)!BMTz^vMTq`0lg*0mrL)%5~5dIdeJiTqmwNR8CMp0K-TD{Bqtp zao#G|DO@}R0HUE!bOiw7VQm6a6y@rh)kDUfL@)JuAk$~lfX>XD0^mGgRE2N*06ED$Vkq**`?`d>dVb@{1_{GP(!F!;>2hUl#yDSZ3C!E_8plM`0Pe$q)Nxz+mGo)5>I zI~pKa(K+S7<*YS_FFqX#4&=;5*M7p##G^L>#3vq{zk&gs)Po+?p@2ZJxZ{M1%eI8I z0L9rXoqNQB0iqY8oAjmxj$nb|TfjbVjg5Zn_Poq$cglg($ny#gWV9gZ{o4!Q6z^6N zA8S_T|3hor@u;JZJKlfo<G(PG>KUoCxoz2b7P6g2F zE7T5m-g%c3C2P9m6|c6c98NnJZGZ_n?FHI$+Hdb0bohq@KlGU$OOgN47ps>~s`D$( zp#kU49(cDOS}xQMKm+gmx8@cN`#N^C?~a}C^7zOGC&N~H7%1R5p{YD4(7|~gfbge5 z=KmQ5fFHf!)CZmhljNb>dinok^-?c#^bg4IV#ERf+n|643j_-U3mmByc6UX(qjfJ4)LTyL5Yfp{)X0fOH^#i#)Wxjs6%=$(|or0ASQ5=*eT42Ni03wjY znh((e=KGV@1we;yq`DE-0SwQwY(hVIrC+4Qd>D{O*w(^xOXN&BI1qZ$X8C>N<~x@E zxbc&)mIRa937!6+oc7TV=)8fzIt1tz!pElKWa{XJ-{OVZfzP#dw)j`o&_h31`G4Mv z{r&{kU3Z+rI`&Gte^wvz0Untau+KO9UDP-FPgkzJllSt6?mv2XZdt9LG-?L_&|2d?N*nxs z80byor<~`QQ8d1@!S4vY@F531j0Rwl0D}dB1%d^F1%d@ekp-%4q)Y@oifk}wSDEi; z{@*e|htHOSW8XsUnzjz$%U}MoQ%wX%Jx2;G)?P{ch1%Q7TRhFK=WOtA9N6y#yyo-^ zo#<^_H+mKAEorLq$_u@}cH|%})6c6UMyx#jr~bN`nGMjbpux*!2QroI+x>CX4`B3k5t_AXp$+AXwlKv_SvLIVX?gT7YZ%uRa8OeNdZpz@h+Bf+Ib| zE_XkR)dzpEcbiFHcEJ8g?V^6#W80aAqd)0+Ns}L}yz#34 z{$kXlWO86@K)G9v(Rar$v{JFiVnrP3I(N|J3b$JyB(MM^xF9+55L5Bjb12i#+gu;}Ag+!2m;s#}Q(3e^tB>Z}o(z z^13}!``$lsU_Zi?W`yEkfl@3`&C9?n14apv2RMA2Hu*_T%878`vviBY2TUqYq9d0E zljIAf!}r_Y{?=9Xq8Ghr&?;FR03UML1-lI@924P7TMUr&aR6IiQa#Yq_$h}UNISvH z1+89NKlbDKOu}t@(8I?9_((XP=duws5i*c=@zHJc6QP6Oe)G^D4Oq46NynP4&+H^e zedx0|^e7tq^MQ;U*z#mO0~&Re#D|@k^t|gg_d3CzjXpCfw;l3Zbs)yaAh07N0S9t= zN>aa)_)Dhu_kFykZDZ7T>%@6Id#2ZwtS3jX=FE+2drqwXcyxXLPoj5K{4%E~Toz~n zo)?}2e$R;W|AFTT*wH`9vAl5cQdsjKdifX$|CjQZVkEN^C`-QihR?d|B)xo`0|D9% zo&@4fg?h{4;utJ{o0tH%N_8UKQ#j_{Aaa;es9Z}7%w@x{x z>MhGE$L`GgOrBI}_+JNK%Mm_y?AYuVcJ!G&eMN__@U-=w9-`u+0F9#SirXZ zep7%2XZVkUlSNP;5PeoZ>j231SqB1c<RbbaCNBhmw=Fal%r@nRL);Upd z^bFSy=t+7$xPS23`k@2qC-*T)FZ{*A?r~Gx*CJ{jXlbb3x$%nX{jHHc_{Udrq)*p! z{`#7ZzP2N%1De(h=RUQ~XZP5KS2kbq$tmk@`up!W z=J2N=3y>W%?`?&W=yR4{$hap2&~jkVii_?fk;J zc2{%<39uzpiu3a{~l9egy!U63};kdwTXollFc-diKGu%o)?Pcg^mm zGyCVf^QM<g{jZKk1k``x}mps#b2DSljXN#glt|=q`tj zQ)h@Dns6No063{87l&W8%8oxq_5I&k*1ux^jIOZ_QRjr&mo9kyN8W^7xgd3pG%UHj z@B4Y%ny?n2Wb+jxSj}qxVuS|cO^Ujb^e6ETrn?YYvHFMtfk}0ceI}J#I?)+=kxy#h z9amj$RpjAGa!Gd06D}i?)DEghD~B%)+I}VJO`O_X{%f;>ZK- zX8Fgx^lVr3-J5Q6knB1#Zv`Mf5XI-O{wJG&uUKf;4Y zJ0E=fQO9!H@h4hVhx5B*bZ1be5{c~%^G|J?^}=Y(wyjlNkI$byJ9>ZA+1KF~`$=VP z<}c@}LxF%!mC4C#A)rp2uSNkh0w9_e5Q;}r1-h`L^d^-TJROjvAkc#af(3#Fj&ut&UG|B~cO7+3qy^Je_fBl;UH7^R)^yxA^4%Wu z&Zw$;MN?Jd_NR9>oz*|}O*dS=<6G~%c_b^29lk!L^Q!oKb9^p|Pya4ie35&^d|Ea4 zh4}nZ91OJOmWAuX!vfVOp6M30M!W}HXtP-v*;$>R+7PjmVI6*f-h2Jj z9T{MAW*(CISU->_oP)6bfOQVo%i6ViPJ@$b-`bKRec&Z_M$ds9LsO843q6)jIhj27 zpZi8R5P9_3`)1`R=RR?Nz|jlD-aIehlv{dI<_O)cOfPh^eA-F9MEFGX&@B$VSeT^8 z_MeOyJM`2JofDMX4u$rMb|#HL*nZI;OE0uO%hxgE1uxn^sX2=7{J)0k_Qzi{bL#4- zw`Zoy?3K+cYbVRS%m3dATkiVW$8vR*>pFJoZ;W-x@t|47Y_kJeeZ42uKi0d?fX;XjeAczv3*SY<~T$D zTG{QK$^6I1iVJc6x%F#=fI#4)cr@Vd+`^Ktcf6=^W>^bQviXV?thQMs*%n!t#mU~X z6?J8=+y$$-$y(84<-i#QAbN+MBv+FenK~fKH(?F(`K^mbAqF4W%CcF#wUJj$R-a`| zxgZ;!k{NC3%$<7E&;vQ$fRwzRyK#9{t|znmIey>^=I$Ju~0(r4MZV#@~F#ws)BLWwHEMjSl@F zzn(*z5MTdA4xW3dpx|e5P%$qK2sY*x9PDfEFQa$%xn=a5=ZxJ%&zk2)ulZf~n});B z^TqF*dHLE}EtQDkAkk;(^XGe*rWZXt=ium}8PleD{qzsWsD9G#m$!Q8H~$xn+oYNR zg9U;Gf(3#Fw$Fa?oV}BdjjF%@?3`&8UtPAj`|)`AenED_A2N11Zyj>(a{9{Vapa=m z^s%VQb;`MmPmo|i!GK;BL`EY7z1`cQrkblS-2BTA{iOHuN$c90&h+m?qi|%Pod4yq zGruKQeeB?W9^*+16BPvfReW9(pW!&fEl^G5PsR+ibnrNZb_W@o&D5aNZ{*1Apby9? zpd2^`=$>Zr0nYp@>MfKXX+|oVGxPPGt$sgr+KoNnC*oosfJKWIQIrSIKKpEkYim#) zyQcYd6G{AzDgN`vU;o}++K~ddVuKNw+~8j(6$F0Ewlq1 zm>mIW@%t-)6Pd$DWDm~$wiyBCKq6)E>685qjog3e_Im*;~LdRn(S$OxOgpU87R z!IPk^7e3ox<_#HPu;s{E$a0Ov&Ew;zHT8TUikIy<%gA|mbac420Jer5hT1eNJ)N};W-%{hDp83YF!5vYmJIej-o)th%-QT@!Wv3sXK zZ`_mbfFW2?ioRSu^Zg^f7T}uxt5cdW z>WZ^-0)#k879eD|DVxQUW=!WbY%B{45Tb zHDCp$|c>o7O&(=#p0>lp7mw2`|kCW7q$wBTfO!hf|4kTqDw1y6}o8?32 z;{l7#pYKR3?)#C0q`2^ry0bU{x`noW+GYD=c#oEDtk|6$< zpBainFZJ5{V(%Y(w8Qd)V<%D}D~G&={S{T8@2#0pQFY7yV~(5pkqc|vW6vLZWDa?1 z9Y9^nt1G3~iKmz6C*9YzPDKQg)2XOo+_-UW4nPrsq5wr1f;x4GPx_>1OjSkH6n!Il zdd0uY>AifynrDx@w14W~99O^NOP37$9lbb(UlFJB3*#zpP`xq!JHdowQvw~bc0aiW zjuo8e4Tv6#Lr;QMpT+rqm!#MB3mkqsgcgPblI}#H2MYuX zj7kfP`^P8F?wIw0sN$}^IkW4(cHzYCKRE}@{GOb#oU+FJ8N-)TmowKP2dEICR56Hw!CP>DH3Y!^{fl>~%d`uG7_l$Ea zRxXP(3Cucp6ehr|TtYdS2gPKPL|V`pA%G74*t*q@WpT65^xy~1nBjNU0z$WtMFzJ1 zES~8v8Do~78HwON(O+;N^-&H^f6xaV2!B>j!cUqA6S*zjv)$$KJ^m3RIp}Op_qI&N3jM&32CQ&JFL=Y>Ie7KQu5vJcTmtDR9YcR%sG8}}?cqrLVY z{&-I3wI|&R|8QVR=3l7lr(!*R2%}Jm5#-}};W;R^DxRk#d7j@iz9e}|M-Tsh!7U$n zQa@?ef(+wRTm0gmFam((0t^-i78vyw=&GIk+V0-z)fIoNo^f>b`!0?;_heW1X;NQ@ zGJQE=IdcL5Ic%MB)H)RuFd`rs=s0rmibuGH{`c

lPUZmz*H_7(q~dnig;YLQi*e zbnT5%bpM2={_g&YzUpzWRXvB$QPNh1<6m||{3=3obkX_eYSm#l4x$CJqXB8zR5ts{ zWOqpeJ$7_}D2A*usoeG%Ip{<)v;#WO@`KYaE5}k~qAQjb=Wl=*5AB&P)QGn1ybA5G zP?5e4Me;)()I)nMo|Vn4;7;OWeE|K1FNuw!FmvlB^bAERtm5B1P)o-dZ-Q=SBAFLI5I+DAT$&{wJ*kOwB!58d{=P&wp* zR*&f8uldu-ZS_Y-6+h~oGrQqmUp98ncIS}E!j-A(&~SZSU0v4c%W>uiO5z=R-68 z%T+Y;f0|ONxGAOlpcM0efakYdmGa!#=LkHhJgxpDdH&zobzxQ?{k8NYJd6e;Stihf z1%d@el?8fg>fciNWJg`q-aS zbJvIg&Rao&a5;D!xUNMfU=UpgL4kDS)(IW?-Z-h4*!{C;LdOFaSFPMVsjq76Nev(U z?O6xurp+6oo=?P60e+rz2&Pc<+*_cU$b!h8OgO1&WFkrBWGuEEI`ZHL@MY$=ZN_JD zyL=ir$*a_GYzNf{D!Mgq2N+vaMr^ZxvRX`hA2p)c}DMuc9=pM=w1 zUZRGNet}zP?*sj}d^Yk#j{6BenQWnvD0+}b9}zU|r(N_j={}+-4cbWC@>4&2+52M{ zlRg@-?D9W%oKHQL`9HXBU7jR%B2%Z()_eSEC%Pi$y@#90@KQ1L0jU?9dZ@SQIKSBi zc92udJxa9$?V%ppLH(@cr!LCDEkv%+=MVX@*FJrI*Z65s<^7$rkEwa@g%w@rSu)Ur1%d@ejRktE#=a_gylPTS|CX-t zy{j~V@A@tWty7Ly8w2RjhXOQzPY{ID)_MUsYB_K5!>9Rv9V*wzfr0_De({m{6A;MJ zQ%HW6S{b#INPj=AQ-=%+Q!3Sthz@#eUWf%hZxEBxzHv;VKnsEzj;3u^)L z&3W*!?0SH-Q2?^BD6=}>HjymO(#gUP$WqOx2W`}ot(Dgt3EFy{aHXu$v7`wge%gmd2F;8PDdkp06b zfNf8<->kdINIyF? z{NPFV*V4!A+Y$Br-^{61Q}*oX>lhzZ#Zv)twm5bh@%ekwZU_oV!5QtYY z3Lpfb!y{SI6#$5rfIv=PI>oP3xXJ|y0>n$;;Oeg#7wxWi?f3g<#iI-R+f~Jg9q~xO zd9m`ZCRFfmaUh`A3lI6D*sPfj@q1u@07gln+vf_oG>Dwl!~Z|Z(E}eiklzb95c#ZJ zcsl^o1Q;w3EHK(FFs5_YkE>p_Yt6o@6KXe&dG}3~V<+Tg?_~P2Q?3J+Qx+~~o;wYo zjGv8vky9|ybfrL28bp-m1An6{gcj#x~g9|q2i3L zZI#{ozNxa2I5N)vX9>Es2H-sjWr2K%TA-TD!nQ9d)3TYLm80C!!O8F}ACV4xWU7`< zIqfEMAAFV{?sQ0htB1MsANvK=SNd0p^drta^aIzyI)L1=!LG^Nk}^F;2(o;0GFlSW zJy3^@2-EDHH1dN!GFn!oL+5_m5d!Wj?SKzC?g#hT(!qi7Wg}b)45U6F#YE0z23C)? zKXP`n{I#3%H&9r6^LHGppGih4is&!(S^YfMww-9O{Lq0m^QV851Fe4eXcv6IqGQ`MU^|oOlsX<-MQ;l*T6FW ziJkw;W0lJMt@D34rY$Ik^Z)wK-Wu-ryW)=_k()UAomMMzZhk(`mMgIo{k?@ zH15B&Z}FI&PdxtdTNjUecl<#3_x|O8bto9nu)dtX9K9U2uI1SEJC`HR{k@a%OJ2@i zkW+H#6(kTK7$5)B2rmtONL+n?d$aUk&SSjXoF z(etsG_L(>kFgt%lQ7kh*re|J@8AS3RlDPjoUqG4w&hr924f1~|DQibx+Vf`X;r{~i zwj8?M?UR1M4^ID~BM%-%1F%GZ!2-boquv60{`Kr%O{X`Gf!vcl1f-7uKu#W9G@a5x5TG&wgpS&yqi1%1 z^p5_QM;j)zJRWua!`!ku|JaF-i_h=JRa)n-ovzM^9sEBhIDfsr_@sh>7>45zw?OsA zCq^bvwm(hjAZESdv0-SU&^5)2X4!uGrvLxy0+Ta&qxKCE9GRqWU%Pj8EtWw z)Vq1}W{1PaygB?pBE_{^eP&0!TcTFSLj6Q`t5!Yf=+uKA;LJMzn$Xtvd^=JOMBds3 zI((%2I-lOsvegwWc-`f&`{ZAArDNeu0iQb}b>Mr;110%a+;7^$2nOw>JYQ;H=RW4!>1Pr@@|F)A zJ>|B8)ki;RC*`yQoc3CNi^C6{5eM|4Cl^-sb-j1Y?)9JVeC48z8@_eb9TUbsdf~*1 zby-I&=dJ~Rf=mlAY)_z|GC6CF7UUiZ23QloQ~)Cc;>YplLdoaq>8~6UJ=1Z`t$i=3 z-8-gsTUSL_?|XCW818lKypN7`Xh>|X(e?8fe^c!E{bnepFqZS17kIjYfQ8TXNC3|f z_aEFey;a|6tlBT^LC#+^9XNj*OsG5#5uzP+uZ}ubpC)ef2H5 zj@RiZ^-t`yUlq&#Fh1?v|5GuoIX>@=dCGcx``UY6a&XoHT+@GbSzCStDyz032YrNY zLkLn^Qe#q8#qa%h{KY5KwxuOCccy~d0c*gW|%W~<8FvO!sf*}Iwle}gO zI>yb9Hn;xG9le)UZLHt^a1=)aACj&z9v_Z%*=RuO7nHG%gRY9_go^F&=iGD8bwxvO zg@N>ekWFyxA^}^^fs&pAACTW6{NR+cNQ!n-Zut}Y9X1KTQ~?GH1PcTU9B6@Ozx3LF zobc?QqV6+h?cO_f(GR!vzS1$_#07H?h6fZ3$brkT>(v3hLZHAvPFx2LUDxQ)aDjpb z_(Ycuog95N6QcF|KleZVr}u9e-@B$~`ubmPqO2S+PW3+;>p8O=x`K|w!vcvT05+na zJ7mg{AHIT|2wCQ6mxbFA0rYle6vsaWrxV;RJ|$C4dU@Dp1U3?)!A!31%S=++ep3#A z5=`RTnptk1Bv&k*$#ME^<;jFC9o%NnEN|t0(0}YldD0>X^kzqDG6eoJp^uCooRK7O z7D4!_ws>FG%yyL2OF4R|*Fy9q-EYfJL=7D|`VSpw`Agj_AAJ^5zoicsw|eQHrDH#y zlcah_+73zeCei5!{YraIlJr>mq|Ns~)iq)Ig1&RBwru;!TW^oXe0NzC?an&q++aWs zUO|9%1d`*{D1n^10s)N_XaPa)Az9`D#G@cUIwZ?TfN&Q$RM*5S6yI}GZ{5TRRr5Ob zOx*PNQ%`^IpRdo=SBC3XltITKp~60&7U#2s*xcJT6>3FHbN0K=dF7PC0aNAbt>h(Hes%eo}wUnd>)H9sAj+ud;rC!Cc94Yj5D)yLY>70fj5$mxIqb z^BfsDdj$d3;fqcn5LHx09TOHut$UYE??1n9W8IcNMBBb}X}O($POA>e<)RmyAFuQc z`vM#kV;53M;tD|<1)+?nf-J4R$Ip9{P1>xGD1B|KkFLn-$^Ov`Bg z?8|+jpJY?D(cq7Wz0cf#8o?_f;Mj#xfUJCGR0;Xc)(pW^n{6iw4Macfrx<%DjgpWR zzz@WJ$U_HGPobOTKfA_f5nG}SsBn-dAA3{CXpfEd;iJFs7Ypeha_9vw6qd^l)Q7!o z`zS9I(yk;sCD8}dU%!22ZD;*ao$YfMclAB7>zjMGedx^<6<^Lec{zKA_~r2B*p>b3 zV3?m_f6>G%JU2MN@uNq4ynfI-Zc6mj&VT-Cl>-&!uKlt<6)v;9<1d9+2*OXHa&>H2@ymlhMYoP4Ki zN*E0&*BuFZf(3#Fjz|lvy6sDUJ#Odfd#d+68}*;nw7aYB`9FNN_d?fKIczz3PR-}D zC{TfboH&_&u5l!nd*+sD3V{WMo$)J%Yr8-A-Ts+Td)4fYeGTh=8EyLRN57NHU(Ra< z0kOXOhpF>9asI<>^QaUzc~-g&h^*nXnJk$c<(8k!FFVfM2yu<{RIBTf_VA=l3 z?plGt>Jg9lIm9nqQwKT}IP4jFTC}hCMfDYDcRXFU^`U6|&Q)doC_r3i{;I~f-dDUm zI?FX+7=Plvl{e)bMqA1udiULTJ3C!>-F12DZomC@*H6l0=*oGX`MtomY}v8{?475u zK&12b+Y96znr-0e8=5ba1`7lW1PhF63$%Xj!aM3(9*g$RoZnx2(jyx-_FNHlc8|}l z>c^MLiE9*qpg?q;8s-o-1q$Bo}S z9Bu;r0h%_y_c#C564nA3qdeDW(W3!r4JNB&6?+nYQZ!B!MLD=#CjcG&Nm)GQ7H)Ye ze_j@OTd!X4(UFv;Yax&h_#9HeAL@ZMNk8Rw-2wDj3yyM^TUW+Eu3;Q(xrYkchn>O6 zuDQ?f1C!{;!U;ZXf z#e!M>z9rS4$DD&ON>wEXYpZ@u^D;wje=x34Uj>0s>{ zN!^3hH(XjgO5|+8=o(r5wbx$jRP(&p-(OtlX$G*c7jsiyip>la6lh8aLznJG!;Yo`2V0 z&YSsvId%d7(Q@AcP>?{NfQ+El4=AbFR&{FB-ue8xiY5J98@4|b?fT*?%j*0`?F|ea z&$B?;MgUl`Z}$ygKE!75w8BQ{Hi7~tW3ZdsqbCj8dXo6zquwMwOGgfRl00-Tk=AADikG3Q2;U-av(?Y}-Xs_lIu8e8?a6I15T!F<1* zyAFZ^@o35b=MTTi_f<}fHtfFoj%eBb^%GjxL^b^5_f%y3wxM>HJI)cmK z&pYothvcjaaB}f;?8@D_iHB71f=(^50ke>YI!D`)d43zO-Iy)+phtS%_9F+}+kcdrDXJ zhJF9N;XmH?d+0|1e8qc?`f^wca0uSWYNBx3M$`=*oN^0oHfM48p_4U2&xw{G6$NP@ ztL2HZ&}(s&uj=!k;IpF($iW9>K0ayQ9y)x;r9tG9_^dv%96SGH`;lfB>VpqF4RRkX zUlJX@v~u{$4ekBpxgKsk=q+@ge747+UY<*y+d}UH^;$jPWcT2OX8G_J3u#ZWc3|BI z&oOqOe)NJTW$)~YhCPAEGulwio@SwTHusZ zPO%yWZgN}_mxKEoJ-`j!QR4LldH4X^&{y`Yg8UDv9w8_Vvc174h2y@nAx%qr0as+8@cdk=K27z91-T;7JETsNI<*3*4qla?dyC>7h z?i1j|mT zSW|L-rS`Mk3eFC-m}u%Rh0rcVXye&wM~B(ba~MEdX`pS9KlZcDKE}aE9Akg^R}!!V zoBgP$xWoD*o_@idz4qvbe4#YPiTpzSvp?sh7o?B(-jFwO9e4Z9?O`mP(Pt%@6QvSB~VSZj%FaF_-RzHQvv`IqUF>!0>W#gFnfUIy6K9_8Z4#{={)#y3uMSUh_Ch!^`YSH8_pj2HcC zCyzXN8=b3u^rPQ*-|?B$Bt1CpluHu7cSn9)?1n$jFJO6A^Yp-hJAMdazhXN*n^*7) zr7>>w=l+QO!7mgC_o;q(yrFH=g1GGTm%aOxywK%^zz0uwP9yXF_C23VU(t_${NqV} z%{A8~KxFPJZD_T9pMA1ZDVS0rNbL>{i0C?Aki4oC_}HN0S3>a`?UC`lf8n7@MN)~G zKRX#eKGISFh=>%vAW#q}2owZHh`?KZ>~Ejj>#gry{_;y-GeWn;)kqO&tp?0Cidp$= z_2;VBHoKPvptJS6|EVV%s`e)k+Nvy@Fgu*b3QQ9zQ63{>a7APL5uF zVSX6*y6f_5-Jf?x=I`m{hjU;1x;G@%8{YG_M5BLx+Gy1GP`rM%ji=3Dlp9x!LvOZm z7K(!`N8HCBZRRQZsU1}{pl=*-!P6(l52Mx5aE&ajI`m!PXPD`)$)Ey^U{v%i6SxydY2zC zGa@r@ymmDDA?Hs!UOVb_Y4}LRC&ycVaX7#?UHUCaMSEL+`I#%_4^Bed_0a(`+TYU$Nf8BKkSM>NQ{S8_iL)q+zP*UiJcv2+lFOnR7M3Y-qMwf?2&;%&@Tx^DDdM7aitbzr}ZC z8J<0Vb3Dv->!Dm6#k=Ln?L$({g(}>0+{u`dZFZ#2k>}RVV z`Y^wE9*ng2___nVUZ-aG0F%)z`~$8P&q@{=iB z^1*?`L#gYBMg#qBYgeIY%Sia+2M-sxlB4s*fj|CZT>h>1_j(yHye9$huCvMyd$i5J zc2s}jJ^*rhv!(2czx?FPY;ha6UUfe-DgraalleDPro1jN$)`C-V7C4nej}qIp%QT7 zx$%UYrp4~N_ay;6d{e9J2Z(qSz93K#C-`n_E%OFIX_c`nAseyyrcSN`pEl|9yXQeUd-xS=$o* z^hYxFzJO1Et8hV;2ggP!=5f`IH?%- zO_a}+|ssdThAXsuTwR`Qw0D1MK7Asr78fW$oJ}pYs!8A2o+ioC9OM{%4KZiG75a8>(Ad9MKkiZ-(&{ z=jt~a?Tu6AW8co>v&zXQN7clujKs#6iN*HF!%@FvaQLV{TfVIyZF2G8=YDv>MbAkg ztt0F2X{Vjm=!%p08p0_I|Br0T*U$R_cJ1CYMXT5Q#P!<~f7}568vpt_h|fp{jF0W) z;89F>O4F1xJZQu|zSIOCjWCqLpCH@*?1V%p@c+rzu=PA0w|Pp$e=;y-cA z=MwdMKpcE(obsRb+$o~;QGE9sy(;6IalMyb@t5~;%oV?g+hXzV|LTNCT}TtD4e zo}TYT_4lKp*LFW}I$Jt;q{P9Pt z<2I@vDZYNT+3WXXr`B6>>qiCJ^vP`s;2)LJ(;G(F?cA9cyNBryYme8jO`o3BpI+>L zd?lU!qU<71zHZ&R^ijM`o9yw=^qz;lMm5nZUib1u|KQjDvSBARZ75d^zfq3Yu79q# zc5?pdYnL+H8~~rFM_)T$sbo|*=zm*$a^o>R*I9oa-<6Y_3712MYsya$AI9>pUxz8w z0(x!ji$TnyYGe6-Xgr~=le6I|H+P=o{_xso%smSicfmgOD9qj z|Mccg^QN!4+D*Rlf^70vnUs>iToEk#1%ZM9*>!_IUw0t{CA%i#FXDZNzdki zs7HU+^qI5PoKdk<0A_@zG!_I30tJDBz^oB?$yI;#!mjrM%(`<$aV7-jT@9GY>0-2* zb;VhhEZ7!!dc*n{s|eP69(?e@8BO_bd+0g#ug%%1r=FUc9zHd%tJ@c#UlSKL7e4tF zpI@&^gadn9wCRnS+7BT6iv5~xJoZsvR?*f@zYUk!_J@De!{zv!UQj<0@H=l#Avb;7 z#fho{cxiwvR=-pM^g~vSr`JZKp8gEeAEwu4PwtVKQQ^REq^dT(`fPvIn?vKyPdU53 zPj5cq(Nisme%ts9FMM&z_O!dd@R9D{pARXx_~MI`-A6zA(MC2|{7wHT5*&x&M{lXn zcr;+_*RXc_j{d{Xmws@|^^N;=zJ5wIV7|x|yMjPLpde5XCv zGqBTLCLFElk+a9MmpNJYkFNv7YiEzfIOK630J-DXR35Is{sXB=CQlF5Z*lORfOvQ^ z?=N`ziS^U!3~Q=FLTtRlG9mhr#{B@XUr`?)<={-T2DaB>oe({6jh=4S+^{beOEO06Q1H5uPlk&IM~A@j%)Q}5MiI^_X|AiVvly(qg=mLW$2;b{H+_4$^ZQ2cO`25|I;7&gT#Ajz!yH7 z*uj7H1Ms84b#i@IA839>?K9CYb`d9jv_~4_wzb3i!0OzO@7uB^sj^4si^H&Sh%b(Q z;T{-MSZ_1u3>7&D$WJ(-tw_IT~& zcWvnH({ z>xb)X$NFifx zf8K_iHRDm)fmt^>{^6}#lSsDd)IRNp`jIVV6|!vpoDLQB`LVm->3;fk>PxbROTXdL z^kLVQye`JCa|ZY!kF#g;HBaTNLl#Xg+tq(^eqA?Nj&`&yo79f-gGVDS1}+1%7>B@DX2fRR}yf z(9gvf;-Pe4*P?m<{hvuKzHfeyxPMduTFeg<7k{}rG++D<19XmpVcGxfUzd;Hd*Nrl zIHTtq|LLEmZD$`Fhxw!L)uy2s&{GAVx2Mkj@#v0iUrirX1$OSr=gP#Yz}w&YCrlD8 z)qn;Zg((OW1PTHLfr7yDKw#ytneZ?eWHd6-sLy}Y!_#L^Zr!bI=Fcut_T<)$+cF~S z$n@{L^Un0KI^iqPVe$9u*^~5QCUfHMjY%#pKXLy6yRUvV&){MvpPWqjZ*nrn(@*Q3 z{7+GBe3Ze+Xf(P$_;Jx;aaBGZ%KRG>gScQR|>)|>+?|HeB!Oyn8|7iMX z=l@qee?#Kq`vP8e$+{$0iDEyDx<8^GIU3vXDg{x`c#M<&Fv@Ni4iA0mFO#d6zW%2Z zb#B6j3_}mD!|vN*{TbG-zflh^QI414Kk>vIOA8zXTKok-#>~z(%g|Cfuh7vSoHSIw!TMR_O!D@~2126&cH zZmYZYNTv3@@bdbByf%nDKjh+)&z9OU9`*T)`OsH`>pZmuk|#^2#gI$JzRoI!AqSn?U#*Rpde5XCd`Os$VTAAb62MUyzuVn z7xxF-^y|fZi}jO3hHVpo%pc$DP5%;>A?}7YTh#Xw02#i_UnO8qcpQM}BeRC}J7!bE^kvy? z54}fw*;bT`t3C4c$z>Vj)=jlXKdKWC*IBZy^bR+eYu2C|(3XYh7ur@0U{6m!+Kxc; zio}?8vq!D7;;qNRg?yp34R3y9Jo^P~p^xKdH;l&d#Vm4XJv%=8?B^y|J9gytdVcjw z|G)ON{OCq}B_e&)eS=3;r`p=-wNdu^vu@p4Nj1v#yDbiVafa!MN1uQ4He9qv{piPa z*&E&=clzo1VQqNxCmuh?9$O!pUcZ7-mB96VsOm!ayYf&CvLoMZE^WEKKw%WXZ-JD zenD3nbhi5h2GxSv`nsC_YS{YUa9%MU1&H$KPdmR}AxJ)XcYe4Z?_qy@q+S{j<#>-6 z;JuUpU#bC+D6}9@5GV)~1PTJn2!X+VfMH{fGvi_UqiPqIzsQrzoBzN6Fm}c+_>rN6Ieh z=?{J5i+E{|{UJvkZh?=PYMZ_5#V*q5SGx?;ebwvb<2DcRSu^5mob*tBRV3h`GQ)23 z=DZ%=)-Qfgej=~`>d3!zvPF;KQn&57jR&QiU&X66W=TCqo(!= zT++)A@yCilTc#fS;ShksE(v#W?|k zD$25JOZ(Qv0ah&YLbw6y{l8;8TPlMmJ z&p$PN^gW@Er*~j=E;O#+mtU$Nj`7lSKSq1)`o&Jw0)Dbd<0NN~vZoIRcJOt*&wKVc z$@H$z-$!=pc2hT22*}Lk1YDuhyM7gY;+}4;S&s>4}Gz$>x3dz22AZe<(Gba(3Q%vEhtoC!Sx|ot^&3 z5b4=AW#q}2rL%_zURKTURm}69DP@NupeMlLo@3$Yv$Li5Z^}W@zbV9 z9`($6`9Y(;*{9j{w_Ws7Dv3tBM&m4)SdAEFGAy3*x%i~+z8W0j%l=gt2IWf%EtEevx_;E*0|)YW_}kXW$<)L?pGDW}@y|{> z-tQH!B2_inwRabl24x?!>058j-|NlwdcO5{_{-wmPvXRVPOhJn6T-ab*AG zD1C9`__VtY`eD2u{pd%NEBhGuoiF`Ap8B=PAW+X?loA&E1h$eTGwd0T*Cdi=3B6K%62 zmjSbzZN`4W33+{S&z`)KoPDI?kjntgsL9dU`sD{T1LVgH8!q}0sTpH9ppBaWWk(SG zl8>6U#c7kr_;7I^y-d)O5-aA0@fK+eczRNA9|a+L$uQzpot=kjH=;;-7UA*tw}o%r+JBS*zZG7w~i>ERGC+$m(`aP*%ulVL~^)b;8edt4p zx_-XTl#JK?6nT2vd%42k`{h21C#JIZ{bld>1fCvVd^}nz0FWrOAW#q}2owZnMBw3{ zzhUp5tTs9ECGHOhs?{;6Ef4IMR=l{xH30H&-5R#xu;S_s!EE$f@MkeOnt{(qDeXiK(O1LAzJ& zaTe{Rpiv(6@u)*2^q*WU&^XDZHu$(m?h%4P`y4+=bzBFFnBqzmxs4@0?eyuv#r^Jj z;^{>@@;2)Fw6%+iO2O&7AM_h<(}0xU^>KeidpxStU{iqa2TC4Oa_#zY-+gx{mr4Zu zD^+aXe0~y%7kPf*g!g;z?6a$bg{mKiWF)5g4_^4CLZ#Zx2Sa+jc;EQm_&wOm6`#Ro z5h*&njh7vN;ytT=G{+{CvwC^+036}7ZCidds7Hlvxg~EJ!P9d+_*c5rj+T-DBnmAE z6a)$a1%ZOVGD2XbnaX^}Y=&dzhd0xC*~?zmaIHP+H$h$}nei1zLq?K15_re43!F4{#N9{g$7 zKN+)1Mz7x9tADrNl`9=_h7WgCCUA0i9KiSAIK<_jT))OmElR5l3@S`JcjwUcq38Oi zKX8hb7VWMxKHATBoY4>ej`j0Uz06*w?~s3)y2W<>&|WWR(ERda(Ozb*oj<($%YA@H zW&ZHdKfHMSMV`L)Hmag?bDwYBogX*SexR-}?yesPaDSe4?#84d^QVvMhu`adFX#t9^h*T*5``873IYXz zg1~eLta-*a{rKYT1(>c!MK*E-EDO%sah%mKjB>M&w)QstD91;C{FVQT?u9^)NU0Vvi~_N3ZHkKf1k9$`WwcxH^axv1fsomGplH4 z=0$JRRNPVd<1_3)9p22_OrJbb{jjbU+uL~e8Qff-!}ROJ{12122>8<+cP_g>v=75+wm9%NE*djJ zA^`1zF&n|7Q6H~8+G!s~+0l!$Q*zYo$a;$P8tq3ag`@u47xDME+>k`Cdey5m zO-lz^R(PdgenH;hCgQA#Ii-%qkS#=b~O)8AKbUKWBV$s z*T=Z-v#6(E>|8hUxl+5}Wr^19;o*7w_|$+Zfq1F_aFA7NhZEe$QSs1d&%dlZ^6(Oe z-}s!r@wva@F3XK^jmJ@?o({18pt*}k)b6P7cXc8_3aW~C^2v|S*a?4EDEVH&pB(Q# zBu8Tv>f(zp)|9B~fGR+vaSG!)#HR?v@AdLIDy14Q1+?<9AW#q}2owYg0?P$~c~=0; z5Y7Bha&#Dw(GK5c$FCj1^bXBzNHV1#Pt=?3O9GnSmOd9VBQwE>D_qP}WsWie?QOV1 zf}V`udjBEXd>)t{yVx&&Bc)Hy4%LpQx8}6!h|}t4@1yx;>g18aDaxbYhzFiMz8BW{ z`Jo4QR9t#^+oy$2dNE>|M8b-hlDZN8!Yt9F_TNkNV{FckIZ&2i$M&8|_PlI!6OuDsTAB z^?r$%@vC5{d>9Wq8Go*0X&p}4(~K2?h_ml6x$6=u0lnV0B$uTE0NFwd0tJDBKtW(C z0(-ANrFxsq`rhR)zw|Xz<>m8Hh`@>+S6^^&>bOq$`dlE`^XcZiuTL`h0jMa-L&QU#(fyaa^dDbP9n2y)NCD%cC%gIbvoD8zxk`l#m7FD&*6^#WKXgh zvvsp??M@G5f8yFx)5izyzAsT(yLMF8fJfsxA$g?w0Uy~w)WdtlB7Tq!*8=0wK38fy zvHz-hvU}OGEEulh@q>^4$Rl-~$c-n;wMR-{wM>sZxG408 z-jH9BsDCJ)p_eeC}AJ|*9=oqt#c-Zmb1i{n1W+izf8`Vpy01i5j00>XIpgFkxg7K?f>Krg?TZ_o|$ z$8O2{8l2njejO;be2AI8_WdEOX_GdA??5FW$%xvS*Q$ZN)uc-_Cr2;TL{6$(2 zC(|@V8v&1O0N{K>->F5 z?>W6@Y2a)13`Z$o?fOC0A?Yg(^y*ClN&)Ln%)_4yrGZ!qX!93K0d4);@plj8K=uDW z_j5m=KAFmzQkw!R5tuT6@PqG9`ljv;XJcec?eu4ip_Zg;shm=X#aXEZssv*Sf6qPn z{=Mg(Fvkz0l;RV^8;_Dp;l$PMKEczAyp&5^dMLmAMV>!YzlPl(^kRH|P|bn;yjL-K2!1cn6W5y}CnlPY!bsWU z!`v|*Km6PL6H}UDT8E^W!iC_r1kz7NP!vK7b;L@v8bcY4R`+kse*By@~fVjwSd{TZq3P*=2kVoETBbyT7N#Aw!2+iuc zVP}4Fs=PD+P=yu*3IYXzfl1 zfy#JopCz}5J(l20(5b~{+v#N-v8#vVPo<`(pOz`T#~;nhU{NlUqt`}dF51O&Uy;ik z+&A>%eMXPnd})l&k4lKlhWrH=)upyx6Cdr7>Swc_cSuXdBM&z2LmK&0TR(jd>C=l9 z2kq_${4ffCe(}b|UZqKfM~@x7VRUo-FuBEUzc<+N=X-6@9903ZDInf={HPqj&muma z9_qS8JNgIvi$#qGRcU-`)t6G2+%Ir6?%3b9jGx|N6@!)a zDt)am?7kCs;HTw_slN{EIPb#erwI2wm;;qf0j@})1%ZMknRRACL^hZ?yAN6F}Q671- zakFc)#Hja&VWH-dT4C*T^M{A)H&Wdg4FA;{^_SdW*5B4Yv%uiysAsor%j@}O$#638 zh|4kiPf1O2e}F20cJ_}wmY+@GpPu$eRTZK<^8As@BJ^KXhdk=xhf%YBdi?39s=zV( zCz8rjy`0@d9Ax#q4LoHEUs+tU^$=$ZGl_oS+i2{+DuAp!+Sx}C<@gv^|5cOVPd{EK za(4J(^w2(`{73-))O7M$%>k%JS0M#`3_};={@Vyz*W%|_Ek>gbp$o<_BpS?#1 zHf?wwQKI$*#G^R*pfz!z z)7E~p)3(FfjoZ%HLFQiX;Fa;ocejq(@u2Yz#b zr00I7&!0-b(@)EpKY65f4oA7T#wTNqdZXg4_YceT=Nr#Bj4S%l9_7P$JNoIx9sQ2k z)9(B3dbxhuWB;tv^TUq5-%Ft&sd+$E1Z3)ihWdlo9{N2ggGb}_Hx7R6f1od(!wmGh zEj~Y8Q|tfY-f;aVe4LT`-pJss)5lDn6O{({nd^Msv(KTDD4bmf`jp_RVn!Y*y~)Wv zxoK4R*57*fVN0zFg7IR{tKY`JrURiWMz0$DyW0 zp&(EY=oEnq{`I~$mc0O-LcWB8&3iKN!ik+}7`N}L7rMfrWbMTGoewv&dsP5>_*fNS zPY)mcX&=_VIO}GInti?N!gnRnrmwpq(ObXeeTiQD-*dUdq0F)XS-V*~e`w5VJ$+#P z&1}>%?AdG^-|OY)fXVqoKXFUmA3)#zpdB6dQ~`T> z4(WGPU-TQZD&sp8Zqx6;vg?q%$^?`@}x*zRZQ5A4q>7jn#YmfLnygUD0 zwVQu`?@6Z9(uLwU{I9~aVTUi%I@D* z|Bmkq%TGa|AW#q}2pl;G99981<&2l6-hb(#8>StF%vvK}B|v7bJyPv5{n(Dze(Kuh z{s8SLe|Y_gy#A3}kBJ#2`9GX+ZBmu_uRJSfTAO;g5-{VUvL-} z&pPK_pT9S`rXT&P4D4Q&GaBR3kJvA~3`wR-F4GxQ(1uJoV;p{BKk3E(k+YjCwI052 zU*7lh*kd*ZWlwP9S3H$N<45VCV{y(Ia=A^iSqbk6gbG z_48pa7L~d`bi&^UPX;{pSp9pSLQP{OAT;;v6Hqy`-vYIB|H2Dj98DL*Z?4Z@P*LFQ zfqK8xVG{rfg)S=u`k8kJ9T5W)StHg z@o#o|%{A8$HR$DQe=6~R{^kEGQB{C#U(WjhzWwGOOY+-J%4vyeK->*1dy(Y`LToHIH^*5K=*NZE9e3O@ zZ8zd`@KH$?Lw@oJC#R1$Y|r||o%%p~7ipO@h&19q;Lr%3b*b${uPeG2^ZgSN@F zqp|6i0&)RwQT{@AxI&e3TL(ys#i$2fUtQ=X4}|Ni`B;t405Fs-?n`b52KXB|(* z8+jR#8MqnxqmSN`{7;;fGgx+l%9swxn{#P?y^K6o0{B@dbwB8Ln?Lcjd*VcHh$mtzPzbGyhz!_(t;_rscGzY^fOn!o)yg1Eb8A``Pm+YqvThuIxV?_ zbM$Si`=RX&Swrd`O9M&>(T`F9`OaPW2HpE;KKoIM%|51L>`X(QM=t#PoapiYejJcU4g4~hA+sixO^mZn7ELa2W+ z4nI;l2FaExbzlR-J8tw4#Nn5K3`?UTZC`Lv2#&Le)n}tl#3oQstkHD~W{}-k=E7F2ML7*T|5Ljvm3^oPG{B;l? zD*-a=LHqrA+hnW+@Y7pgr}UF~F=Qa0?}s7&X4^lDp|Kk>uK2is3IKgG=2yMyRY{}* zAQRaBz#Ef%)0S5xdf$T?r_Gxu6W^A>n)xNA>OcJvuWd$1e_XU$?C&24&@2}zD$1W)?B!N_x}C)e%*L}e%^#%*Z1*oYO?F8 z-C++ZL@{I3U(~qp!}RI7AH?N{y?z@fJA7L^fAq!SmmFQ~LrrDaj!)Apla}%9t50W; z$+Pc8$Ea=iF9Nw8Zi3J2qayX#9n*Z#o^PI%vg z=+Au;uNOV`E7#V$pXv&Lc9hw`q!Vy zol%RYBPIKv4wWJ+2rN|uzWKHvs}>;E_bz|=rLS44eJuUz41txhdJ$iA{`KkOKizRz zqT07@&FlYo`uH!_RRQur6@Xw!7Ei5}vZsKrs|>LUK&`ERvNd|B*&iM?OO%D0tyy0& zTSR-$$W;LG`I%U;K7EXFWR3Jtv%$9N1-)_5Y9i3zNV>lIH`64b|4zm?R+WHTD>}BH zh(A2wFEIRN{buj7-l!+5mqlqut&{WXy01AcKgE6O#M-3VW=~%~_>EM%amMyxyf`R- zvi>%E&78cevo`(;F5y+OZcuj!QiIa$H~Q;qZ-i{K{@O zZp{0c=*4(=zYl!hV-_tw|7V}wd_?BfTR)bX^qXEA^^yVOK{oqv#;M}Gk<55Mp$!D8KmM0A1cfOG6a)$a1%aaqftA+#WvViNqttG_U#3q#wm&&pTU!4Q znL597rbGPAwtu~PIYh=CGe|QhnLa+wh$C-iYX-M{>j%;h?FZOa^B46C>(l(mSf^=9 zA~R9_iu)DX?B*-4GWr{{VPq0KI`OsY+^$=g<(%*+%W@>Jbf96{R1-iwhWye zJv`bLM|+!H90%TYWA6zanV5&W&p7AVNrfGK^pQutSbxl!vUP92AL!xzo{5>XOi;$I zGQeKHHrL0_k?U6+k9P5*e{y=L?-e|ZCmu3DpI_sNnZDm=ch+xFIsNqhcB7^9JNH!k4J)t_>zL zvig|i#}37;8z1!syexhoSm1{t{`5!H0w1Hw+M?Vn57i#42WE-n{K?WcZ1``bwZf8G?@*@L_`r6SCedt3;MdikQ#2(*vUHP$};1%EetubWcRX`#h zF{7E*xDtvJ+ugUZ-E;mA?{2O~Mtd2c*Pm%8-?caV0%`GQeUm*Z(~tKD{;_>|-v*r7 z8Bg2z+Vr9ydZ_QQ{Q!1oTj%wA!}tEwQ?sS(=1_f=0e;bV->4+mnNLqV&-IJj)=rMv z@gMskzKVqLvJ)4+=Y}Z0VMu#vE(jC^788N9 z)?QL=7b|-K7V{b`!PtZS0Q$DF-pzlYW!-(FZN0St{=VweiTV7f0wzBpzP{COF-?7%GUw%cw_F1#neEHL^JXQ8wz zAgA4a3T z?3$fwfhqufyY&4Y@%xRvY9$=_^Lq;==ciY{P1Nr-e(0$dh>wqP=%e}tC-TLn?q}B( zbsrcPY8=N?q5{)AN}Yr`(OWWzm-&CHL+9!B67=+ul`{F z+iKVsRrJ4(X!u_kk)PtGAW#q}2owaygur0hBJ-a(Ykdl}t2ddbN`Oo{39J9kTAfWF z*mod_w8z51#KCN_YX!?pW%{HOb&+}3b7FgQe?Xf*@%d}(pY~zY3|b~Z-^?%0gw3?f z@XV-X^yD%xnMs@f*S_}kDWsX48Q+yxUYX=?e)F4kX+gA~`Bx5pruuhE-%-WiGNckv zU!lJCv_F4U**9M!Ij!3Kgb`<6;N$wBTXq^BL_2d^S#zsm!6=fbJ)J-zA`mFeTY?b*NI zGlTZ`UN_^IS?s095Z1lxZ4<$xR78W$pWL>ruj`Eotbs85c%ZYX{6qy~8H zsO!z2l)#jqJo+Cj;&W6}Q~Dr2jE#QvQ_7$p48?ap#_?DbU(cY0imSQJk41a>7B?Mz z#vau_e5A2me?1Zq_3`3Id+qb3(O+Clm-1S~$6L&|)!xJX5l8*vSISR*D1LJbew!b5 z@xCDE&;3CzzDF9!Q6&O)#-)@%PpL!y;G#rAZ?UNHqj181&p&@@>e>z0eg%$)V1m0WyvH#tQJ~0K2wbkbz zn8Hu@v6KU*L#46%)BfToAE|}juVXXMd1He9rGO__P-1KF!ra$mHkf_*dYP2%_5kY zu9>y#A~TM558azzGH~97&rePCT_+iUjGeth`tj}u_Xj!3FMs{TnCX7>Uz@lqw{K4( z_oEDW`-eYFHBlL{ML_)&x1n4y`o%B4P0!-4b~xkxV);TnhxC}j_LX)2>qU3^!)WYJ z+c<_*PWWMu7eDgwjn{)d%AZVDrtkLxJ;&+o+n1lOk~v#^r-y3Cqxu=IgWoso@cN;j z|BEFZ}Rfge5AC7qXc)vGX zSG?aNGJh3fm0^b#i08U!_xnrb!eco{PwH!atC#dOs`w`sqwr#yEissB$f5`i9 z|M|ztuzyHE|B-?3to}8h&8P%Ze)d$K|DgK!*2;Fr6nSSK9gZIZ$~w*B+h*tN=;0%^ z&QH&5J@Vvc{jvmEBz;+cSvxsoX_NmA=wr$HVAD|zphohrB^2SeYy!c3sH_9U)^^Aw!mwFGSk1-xQlzyb}Qq}0q z@?{15czAnr{c1n{WZkQCF`yT-V)pQL2) z-(y?zeGeUFYCi$J1AqEg$?q@zr>h!6_3Bbtzv|RYAN+@g{@^IU`fE#n(68UkRk%Zk zU7VHd2lsa)YGIZg0(Dj3x@zG4fBk0#`%|?3;{az@|N1AJ_78{MSN*%I(rv!drV^H) zfDZ$k4MSbljEa5nWM}Z zPd`%r=!s`0FGI$E>HeI#Zhg2v-|F>b4l;lK@R5b9(|n zW-MdYPkzOB-&mjLH_G`Tr-y2{F3%rcKlMvHdzA*)jh_7r*7ND3!^TBVeD@#uVo~FC z9en@b>-&pGV}ISR_T$9yiR1qDgpBoj{@D4x!e6^gpB}$!Pt0$l@O>~2dcEHH$wfIN z0Fs3k1PTHLfuj(C-~Z=7TTSGb$hiPVA-+e;kV-Y+Xt|QhWE^JcFMjch(}>N^4d2rn z__i#|teGBaeNMJ3>!#l}`)6M?q<2ico-;MgDf`k`N_c)M5SY63lW zvH{sa#Lu{`f5)tR(9U5^^ijxC5-)v{`rZ&m}En)KmRcvxj5Rr;!Sqs zoC3V-B8%k*jaf1O+VQgNM;^H|HC=dNzEA17zOp*i0@sBeNxa3zB`XZo z3x00B^)UyEz{!H+i72280244^0<3IYXzfZls=C6`>1#`Cd{U~)3Ku+Km|e)R*7M!6H&?DW=O8LV+fy!f-uF4IS~qj5asZB(XzU}t{z$06(V z#eoNWw96D@Mji2&VX{NT+gHC-0pF|p)2pB4fjeCBGGXI}6P}(-7nKp~|Cwi=nYzTk zeF75`PfPL#AAB%T*A4IWdi1TwxA7_q+TnnD={)@6eM3)N_fzZ-J?+Lv4j;UXl^*}v z3+)zxG6Coo??s8WV#SJ77Fv|xC1^pQAh2i%{NYK@J*DggSTy*LsK8}1a710M<=a`= zk!<xRzc2w4mM~%z%Mzzb1 z@v;Bp`oSML%I=U}t{O!D^oP-C7yE5p-u)Z(`6rjnvs0z;ec^{4s;Yozzu4yk=+APY zWk0}jxzc5v1%ZMB%RboVJtB#g_@oY-6S)W9L_f z#i{k%&GiXy&Uu${(~o}G%lu=es@+a%nKD1((&L97IeT{asQ1y2=B>aoHTI|qhs>WG zg`4rJDD-wWpE%IY&N$#F!;bi|a~)hS=hMSaT>3KmI9_q}1Ad3>a!bSu&n{-DGF$EZ z!EfWnb5oPdmmYra-Y*g*I>>k@a?YzFB@W7-F**B~VYkWIYlk;~GJ1NEvWxNbFUq5R z;g==?Wdg7?uS@AwL7*T|5Lgfb@A~~atKEl7>0E%T4>k|LUC{6r$N1pEgN?n|_$xJ&B7W&hU!#)f>ec;YldHp%>sP=fW}5%L@|Aq_-|@$vF->c) zcgiWpCb^V%TBS-Tm5!;e{zbbsJ#uz<_T+dp>XDC|9$59Zafdjn{O?-z@fpW6vHu%W zJ3ai2M$4cv9ug3T+@Am(bIj6NI`2Q~HPZyZApvn5ZT!+1Sz8Z_ydY2zCA|jNoIa;`Q6E3w z&aOX@-)FdM&*$drVn#dt>k7{|ZJF!Adoyrq53IYXz<%hsy53Q*t zze{N^!1B8Wts|~p$J&1l>v>ZY_Ec|ZyKxG?XdlaDV9}s2f#-sNDu6BPZCl#;lvU&B zN*8MHA@{p>=ITP%@fX_v#kQX-UgOq}S!{aIb`|s`b@o2j_&0~@!gmA*bB#woxEZi9 zUR%E>SLXdLH`kVJdIQHTA7Z?Pj;|%mKs+qoK(XTw)gS-Ms*t}_{rjdVp>L|>zfw&C z7QIwa_5)10D&=EApde5XCk!pS6q>X78-Tv!@-B;{Y8}AC(@u_wz|q z>=zfmcwH8Y|C2gXziG{y)P>)wGydq3{fHf3J+8$f)gSl%YbbtahWPzSz^_;TE}lVW>`kQtFm{MbfPz3lpdio*0=L|{ z<+idHpcAO)6y#r3+Uw?Iu?Wh8YJe<1W}&J8ZCQHMA65m>e%oz%#VOjCc+I25;5FB( z$|BrLODbf{`tc5__o_No0qq8XkL|@izf54<__+>?O;rKDY46_Dm7mN-f!i2R z@2RT|#@l(kNAmBTpPXmaW2ugB`kEG$$3v@1K)SanV=dZY4FSctb_KS<3>#*4Lw~jk0b>Ze-t^oArSP7VI zW-Q}>UA^C+#LMR~#Qg|!#q)uVZ=fps-&lq0KLKz={FDm75pkJHCkp}vfr7w{2%P`* z@7!AU0?Y_e=Z#a}kud#h&N}Z>d%%^l`}^-PtK^G&s+kRuv_pLl9Xb$_t?-|qdock$Fa zyXt$j-hdCI;m^|mssPlq^K(;)mk^jMp1%pu4ro;gxTp&AFQ$a*|1#=70kC9$N;P1~ zUYgRefX%DEyZSz$j2GJ_-T_fr7x|A#meMf9Iqn zxEJ8+gHsp87Z09}BUiJ5cskIXRTr-5xEu2dHz*0Pj;T6%q)G%H>c8LuljNpml-nFY ztHjGl%ok5M9_>`>|LRx2dd8uy{Fz@(?XP>|e`x4E_?6=u{F%pprNL|e$p89J#lAvd zvGMEmexY%F7MqcJO4Zx?L+@XOhyFckFw9OnKP6s%RA8Za!gWkEo(S}l)e8akR}+IJ z|5Hi=Oa2m-4i*Fo0tJDBz*0n@`Xe7t1p2G$kN=03Vqd50(_s|=8U1w1eOcS_e#7)- z`cbdMoBp`Oh!Y>yVrH9}|KZ+zs6fnI<52jEa=i9om4Fg2BL*+{bwK-z|5Hx{ zI--_AN(G>UJEVjt2owYg0;5M@%b&gT{w25(Hv3-h<^f7L6kL?~gki|xSC0-M;+2T2IX4CFyoHXP?EpPKpiPXy}nOoDlKxoI|-05rvgD+m+>3IYXzfkIEQt;+%T7#F2^a+q?^hWZg|pfE zSWzh+oT}{AbZu1t&#|*9Wcy8LVC{?7`t+De@Jo2wo z3{L|%C*YcE@;My)_vaUMJpGt_4#4VDPi*u_7W?>9`CI@;HB!=!FZPRz-vj%X#`yq0 z^VxstmPphq>>OS%YyXq_B>|Mz*B>TpDvNhcfUN(zy4_KPH9H_BUWQ_QjmTt8XN%`= ze%&9{7Soe$TQBSX4Q%~6c<|tgV~#mIXRiKO|J%yw9j%7*XsD_IhX)FNo_gx3-ij3~ z8h^8=s#JduTHB`T`8+fr#X<`L1%ZMCy|Fgp3hew6QZ2tIB zqH9k)HPQ0lk&VDos{qV46OV`1vzx3h$80lKcEc(SCEl8ZY+GgJ#vv8b`BngC^X;mt z1TU-f{%!`{o2ozj7thdsSW~G090o}d6a)$a1%c&+z~^6m;Va8tfaP?>yBOs^Tl(yyh6}@V!yl9YC6{{K#7+T zhx2{>amA#1%oRaM~e+31g2r|bt9HKN5|L7*T|5GV*NTLkJq>N_d`W?Bm9 zJMn>IZ!wLf(4=M&wx(v$wpLC{~dYU&Z+hjdmS$VIVYzqt4@t^Ae`kM>?*RV>!sP_Y;-*)eO=Q|sn^$0{i*mOVp_wP^Q zRjc~1Nye6l_$M5`DQdxUe)_nMZ zO!4gJO8L2O_v&Q2XGe8hN%ixBP5D0IpB_Fb&Er3QKCvy&hQ=MIt8szC_&$1aKKx*E zaxyh3dDv8gy07s3%$4$^q%y8}UBxl}uH%U-n-c%hOD|1LC!c(BqVUDDn=9qVeKM|i zUBxl}uH(hH)nPdO$K+an+71b5HK-e^Nx<~!^z?>5T>bIyKXW+rXXGV;PkriBDX1ID zALOAuDGCLFfd?`QUj@MNjICLE^#>FpJdPK}pmg~hS<1Ppk z1PTHPfe-Y4nWRz*`Id$3#I&x zJ6>0D;L&xwy?gV+|Ki7Li>z1sLTOj=x{3pjuH%WjTxqEWEY~Yv#$6C72owYg0?QhK zl`__?Tel`4&OZC>L|^>ke5n16H{Li>fVzs;RUF`S9Z%f;et`b0`Kw?3Y7*_)nRn`+ zus~zBJDTSlY;y-pv7lm9l@;0JfuE|L0e{ZQHgHB|7SOUBxkouH%W@r)$>awfU*C z^7+U>U}9n-brhAw>V4$N7fQu*gd%^Vj@MNj{qH)S?_SJiM~$QLbrr9xI9-oRyh1Yq zr5aG~gn~dppde5XCt=r-4 zazC$rDgdv2)Rg~m$LlH%e7cHfH+ifE;3L()h0;S+fb1#8!5=Ac^s}pRi5IEg1FkDR z>Wzx$f86o9iUXIf3@&Ego^K!ZDD9jdcf79Rz^ChY;zk;AjqRi6yNcIU9Qbq{Pu%4~ zO9f!LTVsDuS%{Y24ntt@(tu%#rM)0f5a=EOhxvDv z8g&(~t2nM$*YQp|>G%}d;2(ZP(Yog;Lw) z`59NduHqO+*YU)CpyilAi`$X18x>Vqh;i^oS{(iDYFxg1GJX8UjpwGWJn=++8H;|6 zigp#Rt2l63ta#!tH(DwH%k7Gn@fHLM0!tc!cmDhpp6FTX5SMj=v1GKK=b^YDzDqdG{T(_>{ ziM!lssRk_fJD`leAW#q}2owaCB?5yd0yb^h)F}X6#p@~#@VbsC?$e(3wEXc2lJU|* z6`Z|e4b)W}gXlV*xag`?$NAU^?J8bZae&r!JaG#x2pmZW3?=|aQm0E_3jzg!g22&; zz~i6%se8&^fFu9PzVCN>PtA1{SNv#iQ7iI;$$(w$FMa7t8)I;!Swpx0#=7~q<8>7W z6kW#?cjwNX>El57x8e_s;X}P3`$};-KS-$3Hr*IFJwr9d|r&(HJlC^yW+Nyz|b6Y4jiYhVmSk zuHxuY*YVoolFyaS=Z}9sM&E8RCjpB(`q;(XQfk z6$dU|$2;bjV|x8-_ygaNdvN^DX4bC?u=XrHoF{!C`@L`7bCZL&zWg(Z^3N-N!SQ;z z8uiv*u14`Y@;IH3s~$le_mTRvKtuHqO+*YU)4J*;QP ztRL_CvRf$aDqdG{;IUZo#9st@Z?zww+eh=J405m`aEh#aEC>_?3IYXzfAkfb?~!Q2DxX?o;1{r8#m5x$g{M1=%I&_=D6c^700lG3MDM-h1&Ka$ZO+uc_;AkD@$BYG`PunU_P1-*$CHbV&wTAj<8>9s_`8l5t@l`>-__fY=%!x2uG{K%d}^G>fBbY6@2`84sh3CFxIq7!t3I7R-hB6M ziC%Qs_a=JMd1oa0#9jIK9X<)?@gF}cKKHp~J+63N#Q{Or@nYO-uKb}DWYf`u2M@03 zS6OHJi5vRHxx@ddr=IGqSh3<@TYolfxxTe+I-8YSue~Y{$7Bq z4_>wOpaSWsDcrmV-0J)T12>`EszLcMF$LlH%9J-Ddpl$VVNo zt2p}KRXn&!&GAz9UR@HvFZ3i&e#RZIt2hy_agR$p)Hv~@rqv()ODmuMXZ7#pecu)T zWJPYM{{3$C?{BIJ!TyRa`p?Y8jz#ZY=|DlCAW#q}2owa490aOA_8+Kv+s~ZSAOE`N z{lmcf{Clf^cU3yCuKum6+ZK(iY>RyU-FKv>n`;G`Zkzr>7W4qe9+ zclB-gxX#|WSu$Act`$a|ads82t2m2=qqrlcQ~&T!=XygW>`w%?SCfF(R@H#K!)iLs zG0RE?V9Wp)_XUB1KtZ4df#+`jjo(`OdjVQHU&JFtpg$?NshSWh{xgDk)xX!vy8wE< z6VE+Ajdb#syi;(b!>*il6|bu}@aa09?Dfl!{CVoa>h%{Sx@qkz620$>f2M0Ap+QYYOQOB?OA^SRH+V!KKRUo}p|q=bUB!V%*YRY_pZUx`r7rBd`_x3w zJwKNP?yesl(7%P!uHtnS2OeF=6L&=P^2*Qqr}%n#mEnH~U;lysWW`VSe$c+`zgGYH zK05y?)qu_+F98bz1%ZMZ5Kx%ylKsvtiq};f(2P5tOk6xW z+dscQpRBU_lRGtygnp*Z{5cy}ysqLHN7wPhU1IdiuKQCe09_+q;uQo60?QqNKYIGl zRqw-I-@E+fm%e7XV{ufCzuMW~f6jjtKevy<$y|J_bRIxkRbVd8W~19xysqLHbJy|2 zea7kem1VIipncS|t9V_-flt@*#4Ys5M&P;6eNh^K^8t+J!By2C`|4*k!H8&A@w$ow zmagN8yHHyF@!weacwa^Pj{z?9pr3rm#6mkY2m4YDm;+cvwIEOsCdgOr z)yH%C|0@1HefbPO`SiBw75bY6KQevO_@tdb5iq`?6wd{Lf@Q<`F}QgsATcDr||u9z@JayJNwvL z5?Eh%VX~vHbQQ0wIA9xhJV)Kx6oB9O%-5za*t)MjqoQ5K>naXhx{kN0-txU&2Wq;h zep!H*2H=C*yxFeebrlB?UB`QWI5N=DchA1;C8|x;x0tJDBKtZ4&P!PxnR5kqjsz3Id zEAGyK$qxj6CiWdwAg+##iFOsQt2kil zI-anaYMx{fFA2xz~2|I^jKx6RSlKUDfZQ%xdnoul1I z)dv%Rk$Nr83IYXzf@x(puq;B6n)m6N%;w%=9;-Z79 zPDfwIuHtnSXR&ZR@x=8h^gbOJGwmu~S8>4Abv$twN~?)L{}qA#fBnh8@fBTL{p;@o z=)WbW|80Jx`uEvN@9~N*nV-P~V9E5Tbfh3q5GV)~1PTI2C<4_V`Th%}`+HO4{?sKm zqQL~<@9VDpo6yDefnO*)SvweaysqNFqw9F$dTE)R>}${bAx()+?El6Fzfk7k`qh`? zj@MNjcyt|4+)Xu})!Ss#kCzv03NI6gJp1|5uHtnS2M%4w6W1|;-}{DNOrnEz!%NPc z>0lVvv!}P;mPa`5cwNOY@~-2F`{${0k6V7U91^hnu6Y@8L7*VeDFUB7>kq1zLzTS% zoq}G1%@Kh?H6YrZc+s~d(e7Jv-u{wjoE}x?#NYho{&GnBc6~{=rju+!P4?uRV z{h4c@n?CM*=rf6)dPe58&z15s?s#3rG5)UO#klwly&tSU{vJ`H&IP!qewCo}0vbwl zVEE}OURQCt9v8?xpWn-0GveM!=be#0@BZB95Z#s}6)Rf*X3zES`O+ELOjn__6$A-!LNU-Pmz{>uLk-|d`n diff --git a/data/base/wrf/basic.wrf b/data/base/wrf/basic.wrf index f6898c855..6f90ba35f 100644 --- a/data/base/wrf/basic.wrf +++ b/data/base/wrf/basic.wrf @@ -47,27 +47,111 @@ file IMD "fxvtl11.pie" file IMD "fxvtl12.pie" directory "misc" file IMD "arrow.pie" -file IMD "minum1.pie" -file IMD "minum2.pie" -file IMD "minum3.pie" -file IMD "minum4.pie" -file IMD "minum5.pie" -file IMD "micnum1.pie" -file IMD "micnum2.pie" -file IMD "micnum3.pie" -file IMD "micnum4.pie" -file IMD "micnum5.pie" -file IMD "mivnum1.pie" -file IMD "mivnum2.pie" -file IMD "mivnum3.pie" -file IMD "mivnum4.pie" -file IMD "mivnum5.pie" file IMD "iccamera.pie" file IMD "blipenm.pie" file IMD "blipart.pie" file IMD "blipres.pie" file IMD "mitrnshd.pie" file IMD "mirnum1.pie" +directory "misc/minum" +file IMD "minum1.pie" +file IMD "minum2.pie" +file IMD "minum3.pie" +file IMD "minum4.pie" +file IMD "minum5.pie" +file IMD "minum6.pie" +file IMD "minum7.pie" +file IMD "minum8.pie" +file IMD "minum9.pie" +file IMD "minum10.pie" +file IMD "minum11.pie" +file IMD "minum12.pie" +file IMD "minum13.pie" +file IMD "minum14.pie" +file IMD "minum15.pie" +file IMD "minum16.pie" +file IMD "minum17.pie" +file IMD "minum18.pie" +file IMD "minum19.pie" +file IMD "minum20.pie" +file IMD "minum21.pie" +file IMD "minum22.pie" +file IMD "minum23.pie" +file IMD "minum24.pie" +file IMD "minum25.pie" +file IMD "minum26.pie" +file IMD "minum27.pie" +file IMD "minum28.pie" +file IMD "minum29.pie" +file IMD "minum30.pie" +file IMD "minum31.pie" +file IMD "minum32.pie" +directory "misc/micnum" +file IMD "micnum1.pie" +file IMD "micnum2.pie" +file IMD "micnum3.pie" +file IMD "micnum4.pie" +file IMD "micnum5.pie" +file IMD "micnum6.pie" +file IMD "micnum7.pie" +file IMD "micnum8.pie" +file IMD "micnum9.pie" +file IMD "micnum10.pie" +file IMD "micnum11.pie" +file IMD "micnum12.pie" +file IMD "micnum13.pie" +file IMD "micnum14.pie" +file IMD "micnum15.pie" +file IMD "micnum16.pie" +file IMD "micnum17.pie" +file IMD "micnum18.pie" +file IMD "micnum19.pie" +file IMD "micnum20.pie" +file IMD "micnum21.pie" +file IMD "micnum22.pie" +file IMD "micnum23.pie" +file IMD "micnum24.pie" +file IMD "micnum25.pie" +file IMD "micnum26.pie" +file IMD "micnum27.pie" +file IMD "micnum28.pie" +file IMD "micnum29.pie" +file IMD "micnum30.pie" +file IMD "micnum31.pie" +file IMD "micnum32.pie" +directory "misc/mivnum" +file IMD "mivnum1.pie" +file IMD "mivnum2.pie" +file IMD "mivnum3.pie" +file IMD "mivnum4.pie" +file IMD "mivnum5.pie" +file IMD "mivnum6.pie" +file IMD "mivnum7.pie" +file IMD "mivnum8.pie" +file IMD "mivnum9.pie" +file IMD "mivnum10.pie" +file IMD "mivnum11.pie" +file IMD "mivnum12.pie" +file IMD "mivnum13.pie" +file IMD "mivnum14.pie" +file IMD "mivnum15.pie" +file IMD "mivnum16.pie" +file IMD "mivnum17.pie" +file IMD "mivnum18.pie" +file IMD "mivnum19.pie" +file IMD "mivnum20.pie" +file IMD "mivnum21.pie" +file IMD "mivnum22.pie" +file IMD "mivnum23.pie" +file IMD "mivnum24.pie" +file IMD "mivnum25.pie" +file IMD "mivnum26.pie" +file IMD "mivnum27.pie" +file IMD "mivnum28.pie" +file IMD "mivnum29.pie" +file IMD "mivnum30.pie" +file IMD "mivnum31.pie" +file IMD "mivnum32.pie" directory "structs" file IMD "blderik.pie" directory "components/bodies" diff --git a/data/mp/wrf/basic.wrf b/data/mp/wrf/basic.wrf index 47250d294..46c5f848a 100644 --- a/data/mp/wrf/basic.wrf +++ b/data/mp/wrf/basic.wrf @@ -47,27 +47,111 @@ file IMD "fxvtl11.pie" file IMD "fxvtl12.pie" directory "misc" file IMD "arrow.pie" -file IMD "minum1.pie" -file IMD "minum2.pie" -file IMD "minum3.pie" -file IMD "minum4.pie" -file IMD "minum5.pie" -file IMD "micnum1.pie" -file IMD "micnum2.pie" -file IMD "micnum3.pie" -file IMD "micnum4.pie" -file IMD "micnum5.pie" -file IMD "mivnum1.pie" -file IMD "mivnum2.pie" -file IMD "mivnum3.pie" -file IMD "mivnum4.pie" -file IMD "mivnum5.pie" file IMD "iccamera.pie" file IMD "blipenm.pie" file IMD "blipart.pie" file IMD "blipres.pie" file IMD "mitrnshd.pie" file IMD "mirnum1.pie" +directory "misc/minum" +file IMD "minum1.pie" +file IMD "minum2.pie" +file IMD "minum3.pie" +file IMD "minum4.pie" +file IMD "minum5.pie" +file IMD "minum6.pie" +file IMD "minum7.pie" +file IMD "minum8.pie" +file IMD "minum9.pie" +file IMD "minum10.pie" +file IMD "minum11.pie" +file IMD "minum12.pie" +file IMD "minum13.pie" +file IMD "minum14.pie" +file IMD "minum15.pie" +file IMD "minum16.pie" +file IMD "minum17.pie" +file IMD "minum18.pie" +file IMD "minum19.pie" +file IMD "minum20.pie" +file IMD "minum21.pie" +file IMD "minum22.pie" +file IMD "minum23.pie" +file IMD "minum24.pie" +file IMD "minum25.pie" +file IMD "minum26.pie" +file IMD "minum27.pie" +file IMD "minum28.pie" +file IMD "minum29.pie" +file IMD "minum30.pie" +file IMD "minum31.pie" +file IMD "minum32.pie" +directory "misc/micnum" +file IMD "micnum1.pie" +file IMD "micnum2.pie" +file IMD "micnum3.pie" +file IMD "micnum4.pie" +file IMD "micnum5.pie" +file IMD "micnum6.pie" +file IMD "micnum7.pie" +file IMD "micnum8.pie" +file IMD "micnum9.pie" +file IMD "micnum10.pie" +file IMD "micnum11.pie" +file IMD "micnum12.pie" +file IMD "micnum13.pie" +file IMD "micnum14.pie" +file IMD "micnum15.pie" +file IMD "micnum16.pie" +file IMD "micnum17.pie" +file IMD "micnum18.pie" +file IMD "micnum19.pie" +file IMD "micnum20.pie" +file IMD "micnum21.pie" +file IMD "micnum22.pie" +file IMD "micnum23.pie" +file IMD "micnum24.pie" +file IMD "micnum25.pie" +file IMD "micnum26.pie" +file IMD "micnum27.pie" +file IMD "micnum28.pie" +file IMD "micnum29.pie" +file IMD "micnum30.pie" +file IMD "micnum31.pie" +file IMD "micnum32.pie" +directory "misc/mivnum" +file IMD "mivnum1.pie" +file IMD "mivnum2.pie" +file IMD "mivnum3.pie" +file IMD "mivnum4.pie" +file IMD "mivnum5.pie" +file IMD "mivnum6.pie" +file IMD "mivnum7.pie" +file IMD "mivnum8.pie" +file IMD "mivnum9.pie" +file IMD "mivnum10.pie" +file IMD "mivnum11.pie" +file IMD "mivnum12.pie" +file IMD "mivnum13.pie" +file IMD "mivnum14.pie" +file IMD "mivnum15.pie" +file IMD "mivnum16.pie" +file IMD "mivnum17.pie" +file IMD "mivnum18.pie" +file IMD "mivnum19.pie" +file IMD "mivnum20.pie" +file IMD "mivnum21.pie" +file IMD "mivnum22.pie" +file IMD "mivnum23.pie" +file IMD "mivnum24.pie" +file IMD "mivnum25.pie" +file IMD "mivnum26.pie" +file IMD "mivnum27.pie" +file IMD "mivnum28.pie" +file IMD "mivnum29.pie" +file IMD "mivnum30.pie" +file IMD "mivnum31.pie" +file IMD "mivnum32.pie" directory "structs" file IMD "blderik.pie" directory "components/bodies" diff --git a/src/miscimd.cpp b/src/miscimd.cpp index 80e50c86c..0aa81c1a2 100644 --- a/src/miscimd.cpp +++ b/src/miscimd.cpp @@ -183,15 +183,11 @@ BOOL initMiscImds( void ) for (i=0; i < MAX_FACTORY; i++) { unsigned n = i + 1; - if (n > 5) - { - n = 5; - debug(LOG_ERROR, "Need to add more assembly point graphics, if increasing MAX_FACTORY."); - } - if (!initMiscImd(i, n, "MINUM%u.pie", FACTORY_FLAG) || - !initMiscImd(i, n, "MICNUM%u.pie", CYBORG_FLAG) || - !initMiscImd(i, n, "MIVNUM%u.pie", VTOL_FLAG) || + STATIC_ASSERT(MAX_FACTORY <= 32); // Need to add more assembly point graphics, if increasing MAX_FACTORY. + if (!initMiscImd(i, n, "minum%u.pie", FACTORY_FLAG) || + !initMiscImd(i, n, "micnum%u.pie", CYBORG_FLAG) || + !initMiscImd(i, n, "mivnum%u.pie", VTOL_FLAG) || !initMiscImd(i, 1, "mirnum%u.pie", REPAIR_FLAG)) { return false; From 61ed2a1505cf2ae8a44e4a23d6abafb142235160 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 4 Jan 2011 18:46:49 +0100 Subject: [PATCH 084/142] Bump max structure limits, now that UI supports them. --- data/base/multiplay/script/multilim.slo | 14 +++++++------- src/droid.h | 2 +- src/structure.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/base/multiplay/script/multilim.slo b/data/base/multiplay/script/multilim.slo index c98e613d4..f13e9b158 100644 --- a/data/base/multiplay/script/multilim.slo +++ b/data/base/multiplay/script/multilim.slo @@ -17,13 +17,13 @@ public STRUCTURESTAT lassat; event initialisedEvent(init) { - setStructureLimits(factory, 5, 0); - setStructureLimits(powerGen, 10, 0); - setStructureLimits(research, 5, 0); + setStructureLimits(factory, 30, 0); + setStructureLimits(powerGen, 30, 0); + setStructureLimits(research, 30, 0); setStructureLimits(comdroid, 1, 0); - setStructureLimits(cybfac, 5, 0); - setStructureLimits(repair, 5, 0); - setStructureLimits(vtolfact, 5, 0); - setStructureLimits(vtolpad, 50, 0); + setStructureLimits(cybfac, 30, 0); + setStructureLimits(repair, 30, 0); + setStructureLimits(vtolfact, 30, 0); + setStructureLimits(vtolpad, 100, 0); setStructureLimits(lassat, 1, 0); } \ No newline at end of file diff --git a/src/droid.h b/src/droid.h index e13ed1b53..f442d10fa 100644 --- a/src/droid.h +++ b/src/droid.h @@ -49,7 +49,7 @@ extern DROID_TEMPLATE *apsStaticTemplates; // for AIs and scripts /* Define max number of allowed droids per droid type */ #define MAX_COMMAND_DROIDS 10 // max number of commanders a player can have -#define MAX_CONSTRUCTOR_DROIDS 15 // max number of constructors a player can have +#define MAX_CONSTRUCTOR_DROIDS 90 // max number of constructors a player can have /* Experience modifies */ #define EXP_REDUCE_DAMAGE 6 // damage of a droid is reduced by this value per experience level, in % diff --git a/src/structure.h b/src/structure.h index 0bfeb2286..329de5dab 100644 --- a/src/structure.h +++ b/src/structure.h @@ -51,7 +51,7 @@ #define INFINITE_PRODUCTION 9//10 /*This should correspond to the structLimits! */ -#define MAX_FACTORY 5 +#define MAX_FACTORY 30 From 6f71d8925e4b1e8871febfbe12ef3d5f83421502 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 4 Jan 2011 23:09:12 +0100 Subject: [PATCH 085/142] Add missing minum32.pie, to match the .wrf files. (Deleted one too many, before.) --- data/base/misc/micnum/micnum32.pie | 25 +++++++++++++++++++++++++ data/base/misc/minum/minum32.pie | 25 +++++++++++++++++++++++++ data/base/misc/mivnum/mivnum32.pie | 25 +++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 data/base/misc/micnum/micnum32.pie create mode 100644 data/base/misc/minum/minum32.pie create mode 100644 data/base/misc/mivnum/mivnum32.pie diff --git a/data/base/misc/micnum/micnum32.pie b/data/base/misc/micnum/micnum32.pie new file mode 100644 index 000000000..4c5845a47 --- /dev/null +++ b/data/base/misc/micnum/micnum32.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 188 101 210 101 210 125 + 200 3 3 1 0 188 101 210 125 188 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/minum/minum32.pie b/data/base/misc/minum/minum32.pie new file mode 100644 index 000000000..732fc3a8b --- /dev/null +++ b/data/base/misc/minum/minum32.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 101 185 101 185 125 + 200 3 3 1 0 161 101 185 125 161 125 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 diff --git a/data/base/misc/mivnum/mivnum32.pie b/data/base/misc/mivnum/mivnum32.pie new file mode 100644 index 000000000..7dd9f50b4 --- /dev/null +++ b/data/base/misc/mivnum/mivnum32.pie @@ -0,0 +1,25 @@ +PIE 2 +TYPE 200 +TEXTURE 0 page-12-player-buildings.png 256 256 +LEVELS 1 +LEVEL 1 +POINTS 12 + -64 0 -64 + 64 0 -64 + 64 0 64 + -64 0 64 + 3 3 -36 + 51 3 -36 + 51 3 36 + 3 3 36 + -51 3 -36 + -3 3 -36 + -3 3 36 + -51 3 36 +POLYGONS 6 + 200 3 3 2 1 161 128 186 128 186 151 + 200 3 3 1 0 161 128 186 151 161 151 + 200 3 7 6 5 188 132 198 132 198 147 + 200 3 7 5 4 188 132 198 147 188 147 + 200 3 11 10 9 199 132 209 132 209 147 + 200 3 11 9 8 199 132 209 147 199 147 From 7481694e9f14d27ad72d401b5c27d50d71be70af Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 26 Dec 2010 01:23:12 +0100 Subject: [PATCH 086/142] Rewrite stats loading for FEATURE_STATS. The same should be doable for all BASE_STATS. --- src/feature.cpp | 125 +++++++------------------- src/featuredef.h | 3 + src/stats.cpp | 223 +++++++++++++++++++++++++++++++++++++++++++++++ src/stats.h | 2 + src/statsdef.h | 84 ++++++++++++++++++ 5 files changed, 344 insertions(+), 93 deletions(-) diff --git a/src/feature.cpp b/src/feature.cpp index b7fe2f2dd..2eb2850f1 100644 --- a/src/feature.cpp +++ b/src/feature.cpp @@ -72,13 +72,7 @@ FEATURE_STATS* oilResFeature = NULL; //specifies how far round (in tiles) a constructor droid sound look for more wreckage #define WRECK_SEARCH 3 -struct featureTypeMap -{ - const char *typeStr; - FEATURE_TYPE type; -}; - -static const struct featureTypeMap map[] = +static const StringToEnum mapUnsorted_FEATURE_TYPE[] = { { "PROPULSION_TYPE_HOVER WRECK", FEAT_HOVER }, { "TANK WRECK", FEAT_TANK }, @@ -93,6 +87,7 @@ static const struct featureTypeMap map[] = { "TREE", FEAT_TREE }, { "SKYSCRAPER", FEAT_SKYSCRAPER } }; +static const StringToEnumMap map_FEATURE_TYPE(mapUnsorted_FEATURE_TYPE, ARRAY_SIZE(mapUnsorted_FEATURE_TYPE)); void featureInitVars(void) @@ -102,112 +97,54 @@ void featureInitVars(void) oilResFeature = NULL; } -static void featureType(FEATURE_STATS* psFeature, const char *pType) +FEATURE_STATS::FEATURE_STATS(LineView line) + : BASE_STATS(REF_FEATURE_START + line.line(), line.s(0)) + , subType(line.e(7, map_FEATURE_TYPE)) + , psImd(line.imdShape(6)) + , baseWidth(line.u16(1)) + , baseBreadth(line.u16(2)) + , tileDraw(line.b(8)) + , allowLOS(line.b(9)) + , visibleAtStart(line.b(10)) + , damageable(line.b(3)) + , body(line.u32(5)) + , armourValue(line.u32(4)) { - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(map); i++) + if (damageable && body == 0) { - if (strcmp(pType, map[i].typeStr) == 0) - { - psFeature->subType = map[i].type; - return; - } + debug(LOG_ERROR, "The feature \"%s\", ref %d is damageable, but has no body points! The files need to be updated / fixed. Assigning 1 body point to feature.", pName, ref); + body = 1; } - - ASSERT(false, "featureType: Unknown feature type"); } /* Load the feature stats */ BOOL loadFeatureStats(const char *pFeatureData, UDWORD bufferSize) { - FEATURE_STATS *psFeature; - unsigned int i; - char featureName[MAX_STR_LENGTH], GfxFile[MAX_STR_LENGTH], - type[MAX_STR_LENGTH]; - - numFeatureStats = numCR(pFeatureData, bufferSize); - // Skip descriptive header if (strncmp(pFeatureData,"Feature ",8)==0) { pFeatureData = strchr(pFeatureData,'\n') + 1; - numFeatureStats--; - } - - asFeatureStats = (FEATURE_STATS*)malloc(sizeof(FEATURE_STATS) * numFeatureStats); - - if (asFeatureStats == NULL) - { - debug( LOG_FATAL, "Feature Stats - Out of memory" ); - abort(); - return false; } - psFeature = asFeatureStats; + TableView table(pFeatureData, bufferSize); - for (i = 0; i < numFeatureStats; i++) + asFeatureStats = new FEATURE_STATS[table.size()]; + numFeatureStats = table.size(); + + for (unsigned i = 0; i < table.size(); ++i) { - UDWORD Width, Breadth; - int damageable = 0, tileDraw = 0, allowLOS = 0, visibleAtStart = 0; - - memset(psFeature, 0, sizeof(FEATURE_STATS)); - - featureName[0] = '\0'; - GfxFile[0] = '\0'; - type[0] = '\0'; - - //read the data into the storage - the data is delimeted using comma's - sscanf(pFeatureData, "%[^','],%d,%d,%d,%d,%d,%[^','],%[^','],%d,%d,%d", - featureName, &Width, &Breadth, - &damageable, &psFeature->armourValue, &psFeature->body, - GfxFile, type, &tileDraw, &allowLOS, - &visibleAtStart); - - psFeature->damageable = damageable; - psFeature->tileDraw = tileDraw; - psFeature->allowLOS = allowLOS; - psFeature->visibleAtStart = visibleAtStart; - - // These are now only 16 bits wide - so we need to copy them - psFeature->baseWidth = Width; - psFeature->baseBreadth = Breadth; - - psFeature->pName = allocateName(featureName); - if (!psFeature->pName) + asFeatureStats[i] = FEATURE_STATS(LineView(table, i)); + if (table.isError()) { + debug(LOG_ERROR, "%s", table.getError().toUtf8().constData()); return false; } - if (psFeature->damageable && psFeature->body == 0) - { - debug(LOG_ERROR, "The feature %s, ref %d, is damageable, but has no body points! The files need to be updated / fixed. " \ - "Assigning 1 body point to feature.", psFeature->pName, psFeature->ref); - psFeature->body = 1; - } - //determine the feature type - featureType(psFeature, type); - //and the oil resource - assumes only one! - if (psFeature->subType == FEAT_OIL_RESOURCE) + if (asFeatureStats[i].subType == FEAT_OIL_RESOURCE) { - oilResFeature = psFeature; + oilResFeature = &asFeatureStats[i]; } - - //get the IMD for the feature - psFeature->psImd = (iIMDShape *) resGetData("IMD", GfxFile); - if (psFeature->psImd == NULL) - { - debug( LOG_ERROR, "Cannot find the feature PIE for record %s", getName( psFeature->pName ) ); - return false; - } - - psFeature->ref = REF_FEATURE_START + i; - - //increment the pointer to the start of the next record - pFeatureData = strchr(pFeatureData,'\n') + 1; - //increment the list to the start of the next storage block - psFeature++; } return true; @@ -216,11 +153,13 @@ BOOL loadFeatureStats(const char *pFeatureData, UDWORD bufferSize) /* Release the feature stats memory */ void featureStatsShutDown(void) { - if(numFeatureStats) + for (unsigned i = 0; i < numFeatureStats; ++i) { - free(asFeatureStats); - asFeatureStats = NULL; + free(asFeatureStats[i].pName); } + delete[] asFeatureStats; + asFeatureStats = NULL; + numFeatureStats = 0; } /** Deals with damage to a feature diff --git a/src/featuredef.h b/src/featuredef.h index d29508d2a..5716d8197 100644 --- a/src/featuredef.h +++ b/src/featuredef.h @@ -60,6 +60,9 @@ typedef enum _feature_type /* Stats for a feature */ struct FEATURE_STATS : public BASE_STATS { + FEATURE_STATS() {} + FEATURE_STATS(LineView line); + FEATURE_TYPE subType; ///< type of feature iIMDShape* psImd; ///< Graphic for the feature diff --git a/src/stats.cpp b/src/stats.cpp index ed5aff76a..05232e64e 100644 --- a/src/stats.cpp +++ b/src/stats.cpp @@ -24,6 +24,7 @@ * */ #include +#include #include "lib/framework/frame.h" #include "lib/framework/strres.h" @@ -123,6 +124,228 @@ static void updateMaxECMStats(UWORD maxValue); static void updateMaxBodyStats(UWORD maxBody, UWORD maxPower, UWORD maxArmour); static void updateMaxConstStats(UWORD maxValue); + +BASE_STATS::BASE_STATS(unsigned ref, std::string const &str) + : ref(ref) + , pName(allocateName(str.c_str())) +{} + + +TableView::TableView(char const *buffer, unsigned size) + : buffer(buffer) +{ + size = std::min(size, UINT32_MAX - 1); // Shouldn't be a problem... + + char const *bufferEnd = buffer + size; + bufferEnd = std::find(buffer, bufferEnd, '\0'); // Truncate buffer at first null character, if any. + + // Split into lines. + char const *lineNext = buffer; + while (lineNext != bufferEnd) + { + char const *lineBegin = lineNext; + char const *lineEnd = std::find(lineBegin, bufferEnd, '\n'); + lineNext = lineEnd + (lineEnd != bufferEnd); + + // Remove stuff that isn't data. + lineEnd = std::find(lineBegin, lineEnd, '#'); // Remove comments, if present. + while (lineBegin != lineEnd && uint8_t(*(lineEnd - 1)) <= ' ') + { + --lineEnd; // Remove trailing whitespace, if present. + } + while (lineBegin != lineEnd && uint8_t(*lineBegin) <= ' ') + { + ++lineBegin; // Remove leading whitespace, if present. + } + if (lineBegin == lineEnd) + { + continue; // Remove empty lines. + } + + // Split into cells. + size_t firstCell = cells.size(); + char const *cellNext = lineBegin; + while (cellNext != lineEnd) + { + char const *cellBegin = cellNext; + char const *cellEnd = std::find(cellBegin, lineEnd, ','); + cellNext = cellEnd + (cellEnd != lineEnd); + + cells.push_back(cellBegin - buffer); + } + cells.push_back(lineEnd - buffer + 1); + lines.push_back(std::make_pair(firstCell, cells.size() - firstCell)); + } +} + +void LineView::setError(unsigned index, char const *error) +{ + if (!table.parseError.isEmpty()) + { + return; // Already have an error. + } + + if (index < numCells) + { + char const *cellBegin = table.buffer + cells[index]; + char const *cellEnd = table.buffer + (cells[index + 1] - 1); + + char cellDesc[150]; + ssprintf(cellDesc, "Line %u, column %u \"%*s\": ", lineNumber, index, std::min(100, cellEnd - cellBegin), cellBegin); + table.parseError = QString::fromUtf8((std::string(cellDesc) + error).c_str()); + } + else + { + char cellDesc[50]; + ssprintf(cellDesc, "Line %u, column %u: ", lineNumber, index); + table.parseError = QString::fromUtf8((std::string(cellDesc) + error).c_str()); + } +} + +bool LineView::checkRange(unsigned index) +{ + if (index < numCells) + { + return true; + } + + setError(index, "Not enough cells."); + return false; +} + +int64_t LineView::i(unsigned index, int min, int max) +{ + int errorReturn = std::min(std::max(0, min), max); // On error, return 0 if possible. + + if (!checkRange(index)) + { + return errorReturn; + } + + char const *cellBegin = table.buffer + cells[index]; + char const *cellEnd = table.buffer + (cells[index + 1] - 1); + if (cellBegin != cellEnd) + { + bool negative = false; + switch (*cellBegin++) + { + case '-': + negative = true; + break; + case '+': + break; + default: + --cellBegin; + break; + } + int64_t absolutePart = 0; + while (cellBegin != cellEnd && absolutePart < int64_t(1000000000)*1000000000) + { + unsigned digit = *cellBegin - '0'; + if (digit > 9) + { + break; + } + absolutePart = absolutePart*10 + digit; + ++cellBegin; + } + if (cellBegin == cellEnd) + { + int64_t result = negative? -absolutePart : absolutePart; + if (result >= min && result <= max) + { + return result; // Maybe should just have copied the string to null-terminate it, and used scanf... + } + setError(index, "Integer out of range."); + return errorReturn; + } + } + + setError(index, "Expected integer."); + return errorReturn; +} + +float LineView::f(unsigned index, float min, float max) +{ + float errorReturn = std::min(std::max(0.f, min), max); // On error, return 0 if possible. + + std::string const &str = s(index); + if (!str.empty()) + { + int parsed = 0; + float result; + sscanf(str.c_str(), "%f%n", &result, &parsed); + if ((unsigned)parsed == str.size()) + { + if (result >= min && result <= max) + { + return result; + } + setError(index, "Float out of range."); + return errorReturn; + } + } + + setError(index, "Expected float."); + return errorReturn; +} + +std::string const &LineView::s(unsigned index) +{ + if (!checkRange(index)) + { + table.returnString.clear(); + return table.returnString; + } + + char const *cellBegin = table.buffer + cells[index]; + char const *cellEnd = table.buffer + (cells[index + 1] - 1); + table.returnString.assign(cellBegin, cellEnd); + return table.returnString; +} + +iIMDShape *LineView::imdShape(unsigned int index) +{ + std::string const &str = s(index); + iIMDShape *result = (iIMDShape *)resGetData("IMD", str.c_str()); + if (result == NULL) + { + setError(index, "Expected PIE shape."); + } + return result; +} + +static inline bool stringToEnumFindFunction(std::pair const &a, char const *b) +{ + return strcmp(a.first, b) < 0; +} + +unsigned LineView::eu(unsigned int index, std::vector > const &map) +{ + typedef std::vector > M; + + std::string const &str = s(index); + M::const_iterator i = std::lower_bound(map.begin(), map.end(), str.c_str(), stringToEnumFindFunction); + if (i != map.end() && strcmp(i->first, str.c_str()) == 0) + { + return i->second; + } + + // Didn't find it, give error and return 0. + if (table.parseError.isEmpty()) + { + std::string values = "Expected one of"; + for (i = map.begin(); i != map.end(); ++i) + { + values += std::string(" \"") + i->first + '"'; + } + values = values + '.'; + setError(index, "Expected one of"); + } + return 0; +} + + /******************************************************************************* * Generic stats macros/functions *******************************************************************************/ diff --git a/src/stats.h b/src/stats.h index c04ef3348..74faa5067 100644 --- a/src/stats.h +++ b/src/stats.h @@ -23,6 +23,8 @@ #ifndef __INCLUDED_SRC_STATS_H__ #define __INCLUDED_SRC_STATS_H__ +#include + #include "objectdef.h" /************************************************************************************** diff --git a/src/statsdef.h b/src/statsdef.h index e6b4c0720..2924c3c44 100644 --- a/src/statsdef.h +++ b/src/statsdef.h @@ -26,6 +26,84 @@ #include "lib/ivis_opengl/ivisdef.h" +#include +#include +#include "lib/framework/utf.h" // For QString. + +static inline bool stringToEnumSortFunction(std::pair const &a, std::pair const &b) { return strcmp(a.first, b.first) < 0; } + +template +struct StringToEnum +{ + operator std::pair() const { return std::make_pair(string, value); } + + char const * string; + Enum value; +}; + +template +struct StringToEnumMap : public std::vector > +{ + typedef std::vector > V; + + StringToEnumMap(StringToEnum const entries[], unsigned numEntries) : V(entries, entries + numEntries) { std::sort(V::begin(), V::end(), stringToEnumSortFunction); } +}; + +/// Read-only view of file data in "A,1,2\nB,3,4" format as a 2D array-like object. Note — does not copy the file data. +class TableView +{ +public: + TableView(char const *buffer, unsigned size); + + bool isError() const { return parseError.isEmpty(); } + QString getError() const { return parseError; } + + unsigned size() const { return lines.size(); } + +private: + friend class LineView; + char const * buffer; + std::vector cells; + std::vector > lines; + QString parseError; + std::string returnString; +}; + +/// Read-only view of a line of file data in "A,1,2" format as an array-like object. Note — does not copy the file data. +class LineView +{ +public: + LineView(class TableView &table, unsigned lineNumber) : table(table), cells(&table.cells[table.lines.at(lineNumber).first]), numCells(table.lines.at(lineNumber).second), lineNumber(lineNumber) {} ///< This LineView is only valid for the lifetime of the TableView. + + void setError(unsigned index, char const *error); ///< Only the first error is saved. + + unsigned size() const { return numCells; } + unsigned line() const { return lineNumber; } + + bool b(unsigned index) { return i(index, 0, 1); } + int64_t i(unsigned index, int min, int max); + uint32_t i8(unsigned index) { return i(index, INT8_MIN, INT8_MAX); } + uint32_t u8(unsigned index) { return i(index, 0, UINT8_MAX); } + uint32_t i16(unsigned index) { return i(index, INT16_MIN, INT16_MAX); } + uint32_t u16(unsigned index) { return i(index, 0, UINT16_MAX); } + uint32_t i32(unsigned index) { return i(index, INT32_MIN, INT32_MAX); } + uint32_t u32(unsigned index) { return i(index, 0, UINT32_MAX); } + float f(unsigned index, float min = -1.e30f, float max = 1.e30f); + std::string const &s(unsigned index); + template + Enum e(unsigned index, StringToEnumMap const &map) { return (Enum)eu(index, map); } + + iIMDShape *imdShape(unsigned index); + +private: + unsigned eu(unsigned index, std::vector > const &map); + bool checkRange(unsigned index); + class TableView & table; + unsigned const * cells; + unsigned numCells; + unsigned lineNumber; +}; + /* if any types are added BEFORE 'COMP_BODY' - then Save/Load Game will have to be altered since it loops through the components from 1->MAX_COMP @@ -206,6 +284,12 @@ typedef enum TRAVEL_MEDIUM /* Stats common to all stats structs */ struct BASE_STATS { + BASE_STATS() : ref(0), pName(NULL) {} ///< Only initialised here when using new/delete! TODO Use new/delete only, not malloc()/free(). + BASE_STATS(unsigned ref, std::string const &str); ///< Only initialised here when using new/delete! TODO Use new/delete only, not malloc()/free(). TODO Then pName could be a QString... + //Gah, too soon to add destructors to BASE_STATS, thanks to local temporaries that are copied with memcpy()... --- virtual ~BASE_STATS() { free(pName); } ///< pName is only freed here when using new/delete! TODO Use new/delete only, not malloc()/free(). + //So this one isn't needed for now, maybe not ever. --- BASE_STATS(BASE_STATS const &stats) : ref(stats.ref), pName(strdup(stats.pName)) {} // TODO Not needed when pName is a QString... + //So this one isn't needed for now, maybe not ever. --- BASE_STATS const &operator =(BASE_STATS const &stats) { ref = stats.ref; free(pName); pName = strdup(stats.pName); return *this; } // TODO Not needed when pName is a QString... + UDWORD ref; /**< Unique ID of the item */ char *pName; /**< pointer to the text id name (i.e. short language-independant name) */ }; From 9cdf0c4e31df6b91345e31a29d23393d1e6293a1 Mon Sep 17 00:00:00 2001 From: Cyp Date: Fri, 31 Dec 2010 22:22:52 +0100 Subject: [PATCH 087/142] Rewrite stats loading for STRUCTURE_STATS. --- src/feature.cpp | 3 +- src/stats.cpp | 30 ++- src/stats.h | 2 +- src/statsdef.h | 166 +++++++++---- src/structure.cpp | 586 +++++++++++---------------------------------- src/structuredef.h | 58 ++--- 6 files changed, 313 insertions(+), 532 deletions(-) diff --git a/src/feature.cpp b/src/feature.cpp index 2eb2850f1..0a363ff91 100644 --- a/src/feature.cpp +++ b/src/feature.cpp @@ -72,7 +72,7 @@ FEATURE_STATS* oilResFeature = NULL; //specifies how far round (in tiles) a constructor droid sound look for more wreckage #define WRECK_SEARCH 3 -static const StringToEnum mapUnsorted_FEATURE_TYPE[] = +static const StringToEnum map_FEATURE_TYPE[] = { { "PROPULSION_TYPE_HOVER WRECK", FEAT_HOVER }, { "TANK WRECK", FEAT_TANK }, @@ -87,7 +87,6 @@ static const StringToEnum mapUnsorted_FEATURE_TYPE[] = { "TREE", FEAT_TREE }, { "SKYSCRAPER", FEAT_SKYSCRAPER } }; -static const StringToEnumMap map_FEATURE_TYPE(mapUnsorted_FEATURE_TYPE, ARRAY_SIZE(mapUnsorted_FEATURE_TYPE)); void featureInitVars(void) diff --git a/src/stats.cpp b/src/stats.cpp index 05232e64e..d90030e3f 100644 --- a/src/stats.cpp +++ b/src/stats.cpp @@ -124,6 +124,8 @@ static void updateMaxECMStats(UWORD maxValue); static void updateMaxBodyStats(UWORD maxBody, UWORD maxPower, UWORD maxArmour); static void updateMaxConstStats(UWORD maxValue); +static bool getWeaponEffect(const char* weaponEffect, WEAPON_EFFECT* effect); // Kill this function, when rewriting stats.cpp. + BASE_STATS::BASE_STATS(unsigned ref, std::string const &str) : ref(ref) @@ -191,13 +193,13 @@ void LineView::setError(unsigned index, char const *error) char const *cellEnd = table.buffer + (cells[index + 1] - 1); char cellDesc[150]; - ssprintf(cellDesc, "Line %u, column %u \"%*s\": ", lineNumber, index, std::min(100, cellEnd - cellBegin), cellBegin); + ssprintf(cellDesc, "Line %u, column %d \"%.*s\": ", lineNumber, index, std::min(100, cellEnd - cellBegin), cellBegin); table.parseError = QString::fromUtf8((std::string(cellDesc) + error).c_str()); } else { char cellDesc[50]; - ssprintf(cellDesc, "Line %u, column %u: ", lineNumber, index); + ssprintf(cellDesc, "Line %u, column %d: ", lineNumber, index); table.parseError = QString::fromUtf8((std::string(cellDesc) + error).c_str()); } } @@ -213,9 +215,9 @@ bool LineView::checkRange(unsigned index) return false; } -int64_t LineView::i(unsigned index, int min, int max) +int64_t LineView::i(unsigned index, int64_t min, int64_t max) { - int errorReturn = std::min(std::max(0, min), max); // On error, return 0 if possible. + int errorReturn = std::min(std::max(0, min), max); // On error, return 0 if possible. if (!checkRange(index)) { @@ -304,9 +306,13 @@ std::string const &LineView::s(unsigned index) return table.returnString; } -iIMDShape *LineView::imdShape(unsigned int index) +iIMDShape *LineView::imdShape(unsigned int index, bool accept0AsNULL) { std::string const &str = s(index); + if (accept0AsNULL && str == "0") + { + return NULL; + } iIMDShape *result = (iIMDShape *)resGetData("IMD", str.c_str()); if (result == NULL) { @@ -2962,7 +2968,19 @@ bool getMovementModel(const char* movementModel, MOVEMENT_MODEL* model) return true; } -bool getWeaponEffect(const char* weaponEffect, WEAPON_EFFECT* effect) +const StringToEnum mapUnsorted_WEAPON_EFFECT[] = +{ + {"ANTI PERSONNEL", WE_ANTI_PERSONNEL }, + {"ANTI TANK", WE_ANTI_TANK }, + {"BUNKER BUSTER", WE_BUNKER_BUSTER }, + {"ARTILLERY ROUND", WE_ARTILLERY_ROUND }, + {"FLAMER", WE_FLAMER }, + {"ANTI AIRCRAFT", WE_ANTI_AIRCRAFT }, + {"ALL ROUNDER", WE_ANTI_AIRCRAFT }, // Alternative name for WE_ANTI_AIRCRAFT. +}; +const StringToEnumMap map_WEAPON_EFFECT = mapUnsorted_WEAPON_EFFECT; + +static bool getWeaponEffect(const char* weaponEffect, WEAPON_EFFECT* effect) { if (strcmp(weaponEffect, "ANTI PERSONNEL") == 0) { diff --git a/src/stats.h b/src/stats.h index 74faa5067..9b973d565 100644 --- a/src/stats.h +++ b/src/stats.h @@ -311,7 +311,7 @@ extern bool getPropulsionType(const char* typeName, PROPULSION_TYPE* type); * contain a valid weapon effect enumerator, otherwise its value will * be left unchanged. */ -extern bool getWeaponEffect(const char* weaponEffect, WEAPON_EFFECT* effect); +extern const StringToEnumMap map_WEAPON_EFFECT; extern UWORD weaponROF(WEAPON_STATS *psStat, SBYTE player); /*Access functions for the upgradeable stats of a weapon*/ diff --git a/src/statsdef.h b/src/statsdef.h index 2924c3c44..ad0f43db8 100644 --- a/src/statsdef.h +++ b/src/statsdef.h @@ -31,6 +31,32 @@ #include "lib/framework/utf.h" // For QString. static inline bool stringToEnumSortFunction(std::pair const &a, std::pair const &b) { return strcmp(a.first, b.first) < 0; } +template +static inline STATS *findStatsByName(std::string const &name, STATS *asStats, unsigned numStats) +{ + for (unsigned inc = 0; inc < numStats; ++inc) // Could be more efficient, if the stats were sorted by name... + { + //compare the names + if (name == asStats[inc].pName) + { + return &asStats[inc]; + } + } + return NULL; // Not found. +} +template +static inline STATS *findStatsByName(std::string const &name, STATS **asStats, unsigned numStats) +{ + for (unsigned inc = 0; inc < numStats; ++inc) // Could be more efficient, if the stats were sorted by name... + { + //compare the names + if (name == asStats[inc]->pName) + { + return asStats[inc]; + } + } + return NULL; // Not found. +} template struct StringToEnum @@ -46,7 +72,17 @@ struct StringToEnumMap : public std::vector > { typedef std::vector > V; - StringToEnumMap(StringToEnum const entries[], unsigned numEntries) : V(entries, entries + numEntries) { std::sort(V::begin(), V::end(), stringToEnumSortFunction); } + template + static StringToEnumMap const &FromArray(StringToEnum const (&map)[N]) + { + static StringToEnum const (&myMap)[N] = map; + static const StringToEnumMap sortedMap(map); + assert(map == myMap); + return sortedMap; + } + + template + StringToEnumMap(StringToEnum const (&entries)[N]) : V(entries, entries + N) { std::sort(V::begin(), V::end(), stringToEnumSortFunction); } }; /// Read-only view of file data in "A,1,2\nB,3,4" format as a 2D array-like object. Note — does not copy the file data. @@ -55,7 +91,7 @@ class TableView public: TableView(char const *buffer, unsigned size); - bool isError() const { return parseError.isEmpty(); } + bool isError() const { return !parseError.isEmpty(); } QString getError() const { return parseError; } unsigned size() const { return lines.size(); } @@ -75,13 +111,14 @@ class LineView public: LineView(class TableView &table, unsigned lineNumber) : table(table), cells(&table.cells[table.lines.at(lineNumber).first]), numCells(table.lines.at(lineNumber).second), lineNumber(lineNumber) {} ///< This LineView is only valid for the lifetime of the TableView. + bool isError() const { return !table.parseError.isEmpty(); } void setError(unsigned index, char const *error); ///< Only the first error is saved. unsigned size() const { return numCells; } unsigned line() const { return lineNumber; } bool b(unsigned index) { return i(index, 0, 1); } - int64_t i(unsigned index, int min, int max); + int64_t i(unsigned index, int64_t min, int64_t max); uint32_t i8(unsigned index) { return i(index, INT8_MIN, INT8_MAX); } uint32_t u8(unsigned index) { return i(index, 0, UINT8_MAX); } uint32_t i16(unsigned index) { return i(index, INT16_MIN, INT16_MAX); } @@ -92,8 +129,41 @@ public: std::string const &s(unsigned index); template Enum e(unsigned index, StringToEnumMap const &map) { return (Enum)eu(index, map); } + template + Enum e(unsigned index, StringToEnum const (&map)[N]) { return e(index, StringToEnumMap::FromArray(map)); } + + iIMDShape *imdShape(unsigned index, bool accept0AsNULL = false); + template + inline STATS *stats(unsigned index, STATS *asStats, unsigned numStats, bool accept0AsNULL = false) + { + std::string const &name = s(index); + if (accept0AsNULL && name == "0") + { + return NULL; + } + STATS *ret = findStatsByName(name, asStats, numStats); + if (ret == NULL) + { + setError(index, "Couldn't find stats."); + } + return ret; + } + template + inline STATS *stats(unsigned index, STATS **asStats, unsigned numStats, bool accept0AsNULL = false) + { + std::string const &name = s(index); + if (accept0AsNULL && name == "0") + { + return NULL; + } + STATS *ret = findStatsByName(name, asStats, numStats); + if (ret == NULL) + { + setError(index, "Couldn't find stats."); + } + return ret; + } - iIMDShape *imdShape(unsigned index); private: unsigned eu(unsigned index, std::vector > const &map); @@ -108,7 +178,7 @@ private: if any types are added BEFORE 'COMP_BODY' - then Save/Load Game will have to be altered since it loops through the components from 1->MAX_COMP */ -typedef enum COMPONENT_TYPE +enum COMPONENT_TYPE { COMP_UNKNOWN, COMP_BODY, @@ -120,39 +190,39 @@ typedef enum COMPONENT_TYPE COMP_CONSTRUCT, COMP_WEAPON, COMP_NUMCOMPONENTS, /** The number of enumerators in this enum. */ -} COMPONENT_TYPE; +}; /** * LOC used for holding locations for Sensors and ECM's */ -typedef enum LOC +enum LOC { LOC_DEFAULT, LOC_TURRET, -} LOC; +}; /** * SIZE used for specifying body size */ -typedef enum BODY_SIZE +enum BODY_SIZE { SIZE_LIGHT, SIZE_MEDIUM, SIZE_HEAVY, SIZE_SUPER_HEAVY, -} BODY_SIZE; +}; /** * only using KINETIC and HEAT for now */ -typedef enum WEAPON_CLASS +enum WEAPON_CLASS { WC_KINETIC, ///< bullets etc //WC_EXPLOSIVE, ///< rockets etc - classed as WC_KINETIC now to save space in DROID WC_HEAT, ///< laser etc //WC_MISC ///< others we haven't thought of! - classed as WC_HEAT now to save space in DROID WC_NUM_WEAPON_CLASSES /** The number of enumerators in this enum. */ -} WEAPON_CLASS; +}; /** * weapon subclasses used to define which weapons are affected by weapon upgrade @@ -160,7 +230,7 @@ typedef enum WEAPON_CLASS * * Watermelon:added a new subclass to do some tests */ -typedef enum WEAPON_SUBCLASS +enum WEAPON_SUBCLASS { WSC_MGUN, WSC_CANNON, @@ -183,12 +253,12 @@ typedef enum WEAPON_SUBCLASS WSC_EMP, WSC_COUNTER, // Counter missile WSC_NUM_WEAPON_SUBCLASSES, /** The number of enumerators in this enum. */ -} WEAPON_SUBCLASS; +}; /** * Used to define which projectile model to use for the weapon. */ -typedef enum MOVEMENT_MODEL +enum MOVEMENT_MODEL { MM_DIRECT, MM_INDIRECT, @@ -197,13 +267,13 @@ typedef enum MOVEMENT_MODEL MM_ERRATICDIRECT, MM_SWEEP, NUM_MOVEMENT_MODEL, /** The number of enumerators in this enum. */ -} MOVEMENT_MODEL; +}; /** * Used to modify the damage to a propuslion type (or structure) based on * weapon. */ -typedef enum WEAPON_EFFECT +enum WEAPON_EFFECT { WE_ANTI_PERSONNEL, WE_ANTI_TANK, @@ -212,12 +282,12 @@ typedef enum WEAPON_EFFECT WE_FLAMER, WE_ANTI_AIRCRAFT, WE_NUMEFFECTS, /** The number of enumerators in this enum. */ -} WEAPON_EFFECT; +}; /** * Sides used for droid impact */ -typedef enum HIT_SIDE +enum HIT_SIDE { HIT_SIDE_FRONT, HIT_SIDE_REAR, @@ -226,19 +296,19 @@ typedef enum HIT_SIDE HIT_SIDE_TOP, HIT_SIDE_BOTTOM, NUM_HIT_SIDES, /** The number of enumerators in this enum. */ -} HIT_SIDE; +}; /** * Defines the left and right sides for propulsion IMDs */ -typedef enum PROP_SIDE +enum PROP_SIDE { LEFT_PROP, RIGHT_PROP, NUM_PROP_SIDES, /** The number of enumerators in this enum. */ -} PROP_SIDE; +}; -typedef enum PROPULSION_TYPE +enum PROPULSION_TYPE { PROPULSION_TYPE_WHEELED, PROPULSION_TYPE_TRACKED, @@ -250,9 +320,9 @@ typedef enum PROPULSION_TYPE PROPULSION_TYPE_HALF_TRACKED, PROPULSION_TYPE_JUMP, PROPULSION_TYPE_NUM, /** The number of enumerators in this enum. */ -} PROPULSION_TYPE; +}; -typedef enum SENSOR_TYPE +enum SENSOR_TYPE { STANDARD_SENSOR, INDIRECT_CB_SENSOR, @@ -260,20 +330,20 @@ typedef enum SENSOR_TYPE VTOL_INTERCEPT_SENSOR, SUPER_SENSOR, ///< works as all of the above together! - new for updates RADAR_DETECTOR_SENSOR, -} SENSOR_TYPE; +}; -typedef enum FIREONMOVE +enum FIREONMOVE { FOM_NO, ///< no capability - droid must stop FOM_PARTIAL, ///< partial capability - droid has 50% chance to hit FOM_YES, ///< full capability - droid fires normally on move -} FIREONMOVE; +}; -typedef enum TRAVEL_MEDIUM +enum TRAVEL_MEDIUM { GROUND, AIR, -} TRAVEL_MEDIUM; +}; /* * Stats structures type definitions @@ -431,7 +501,7 @@ struct BODY_STATS : public COMPONENT_STATS /************************************************************************************ * Additional stats tables ************************************************************************************/ -typedef struct _propulsion_types +struct PROPULSION_TYPES { UWORD powerRatioMult; ///< Multiplier for the calculated power ratio of the droid UDWORD travel; ///< Which medium the propulsion travels in @@ -441,22 +511,22 @@ typedef struct _propulsion_types SWORD moveID; ///< sound to play when this prop type is moving SWORD hissID; ///< sound to link moveID and idleID SWORD shutDownID; ///< sound to play when this prop type shuts down -} PROPULSION_TYPES; +}; -typedef struct _terrain_table +struct TERRAIN_TABLE { UDWORD speedFactor; ///< factor to multiply the speed by depending on the method of propulsion and the terrain type - to be divided by 100 before use -} TERRAIN_TABLE; +}; -typedef struct _special_ability +struct SPECIAL_ABILITY { char *pName; ///< Text name of the component -} SPECIAL_ABILITY; +}; typedef UWORD WEAPON_MODIFIER; /* weapon stats which can be upgraded by research*/ -typedef struct _weapon_upgrade +struct WEAPON_UPGRADE { UBYTE firePause; UWORD shortHit; @@ -465,40 +535,40 @@ typedef struct _weapon_upgrade UWORD radiusDamage; UWORD incenDamage; UWORD radiusHit; -} WEAPON_UPGRADE; +}; /*sensor stats which can be upgraded by research*/ -typedef struct _sensor_upgrade +struct SENSOR_UPGRADE { UWORD power; UWORD range; -} SENSOR_UPGRADE; +}; /*ECM stats which can be upgraded by research*/ -typedef struct _ecm_upgrade +struct ECM_UPGRADE { UWORD power; UDWORD range; -} ECM_UPGRADE; +}; /*repair stats which can be upgraded by research*/ -typedef struct _repair_upgrade +struct REPAIR_UPGRADE { UWORD repairPoints; -} REPAIR_UPGRADE; +}; /*constructor stats which can be upgraded by research*/ -typedef struct _constructor_upgrade +struct CONSTRUCTOR_UPGRADE { UWORD constructPoints; -} CONSTRUCTOR_UPGRADE; +}; /*body stats which can be upgraded by research*/ -typedef struct _body_upgrade +struct BODY_UPGRADE { UWORD powerOutput; UWORD body; UWORD armourValue[WC_NUM_WEAPON_CLASSES]; -} BODY_UPGRADE; +}; #endif // __INCLUDED_STATSDEF_H__ diff --git a/src/structure.cpp b/src/structure.cpp index f6467285e..551bf628b 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -368,11 +368,7 @@ void resetFactoryNumFlag(void) } } -static const struct -{ - const char* typeName; - STRUCTURE_TYPE type; -} structureTypeNames[] = +static const StringToEnum map_STRUCTURE_TYPE[] = { { "HQ", REF_HQ }, { "FACTORY", REF_FACTORY }, @@ -398,107 +394,62 @@ static const struct { "GATE", REF_GATE }, }; -static STRUCTURE_TYPE structureType(const char* typeName) +static const StringToEnum map_STRUCT_STRENGTH[] = { - unsigned int i; + {"SOFT", STRENGTH_SOFT }, + {"MEDIUM", STRENGTH_MEDIUM }, + {"HARD", STRENGTH_HARD }, + {"BUNKER", STRENGTH_BUNKER }, +}; - for (i = 0; i < ARRAY_SIZE(structureTypeNames); ++i) - { - if (strcmp(typeName, structureTypeNames[i].typeName) == 0) - { - return structureTypeNames[i].type; - } - } - - ASSERT(!"unknown structure type", "Unknown Structure Type (%s)", typeName); - - // Dummy value to prevent warnings about missing return from function - return NUM_DIFF_BUILDINGS; -} - - -static const char* getStructName(const STRUCTURE_STATS* psStruct) +static void initModulePIEs(std::string const &PIEName, unsigned i, STRUCTURE_TYPE type) { - return getName(psStruct->pName); -} - -/*returns the structure strength based on the string name passed in */ -static STRUCT_STRENGTH getStructStrength(const char *pStrength) -{ - if (!strcmp(pStrength, "SOFT")) - { - return STRENGTH_SOFT; - } - else if (!strcmp(pStrength, "MEDIUM")) - { - return STRENGTH_MEDIUM; - } - else if (!strcmp(pStrength, "HARD")) - { - return STRENGTH_HARD; - } - else if (!strcmp(pStrength, "BUNKER")) - { - return STRENGTH_BUNKER; - } - - return NUM_STRUCT_STRENGTH; // Invalid strength. -} - -static void initModulePIEs(char *PIEName,UDWORD i,STRUCTURE_STATS *psStructure) -{ - char GfxFile[MAX_STR_LENGTH]; + std::string GfxFile = PIEName; char charNum[2]; UDWORD length, module = 0; - strcpy(GfxFile,PIEName); - - //need to work out the IMD's for the modules - HACK! - if (psStructure->type == REF_FACTORY_MODULE) - { - length = strlen(GfxFile) - 5; + //need to work out the IMD's for the modules - HACK! + switch (type) + { + case REF_FACTORY_MODULE: + length = GfxFile.size() - 5; for (module = 1; module < NUM_FACTORY_MODULES+1; module++) { sprintf(charNum,"%d",module); GfxFile[length] = *charNum; - factoryModuleIMDs[module-1][0] = (iIMDShape*) resGetData("IMD", - GfxFile); + factoryModuleIMDs[module-1][0] = (iIMDShape *)resGetData("IMD", GfxFile.c_str()); if (factoryModuleIMDs[module-1][0] == NULL) { - debug(LOG_ERROR, "Cannot find the PIE for factory module %d - %s", module, GfxFile); + debug(LOG_ERROR, "Cannot find the PIE for factory module %d - %s", module, GfxFile.c_str()); return; } } //store the stat for easy access later on factoryModuleStat = i; - } - if (psStructure->type == REF_VTOL_FACTORY) - { - length = strlen(GfxFile) - 5; + break; + case REF_VTOL_FACTORY: + length = GfxFile.size() - 5; for (module = 1; module < NUM_FACTORY_MODULES+1; module++) { sprintf(charNum,"%d",module); GfxFile[length] = *charNum; - factoryModuleIMDs[module-1][1] = (iIMDShape*) resGetData("IMD", - GfxFile); + factoryModuleIMDs[module-1][1] = (iIMDShape *)resGetData("IMD", GfxFile.c_str()); if (factoryModuleIMDs[module-1][1] == NULL) { - debug(LOG_ERROR, "Cannot find the PIE for vtol factory module %d - %s", module, GfxFile); + debug(LOG_ERROR, "Cannot find the PIE for vtol factory module %d - %s", module, GfxFile.c_str()); return; } } - } - + break; // Setup the PIE's for the research modules. - if (psStructure->type == REF_RESEARCH_MODULE) - { - length = strlen(GfxFile) - 5; + case REF_RESEARCH_MODULE: + length = GfxFile.size() - 5; GfxFile[length] = '4'; - researchModuleIMDs[0] = (iIMDShape*) resGetData("IMD", GfxFile); + researchModuleIMDs[0] = (iIMDShape *)resGetData("IMD", GfxFile.c_str()); if (researchModuleIMDs[0] == NULL) { - debug(LOG_ERROR, "Cannot find the PIE for research module %d - %s", module, GfxFile); + debug(LOG_ERROR, "Cannot find the PIE for research module %d - %s", module, GfxFile.c_str()); return; } @@ -508,19 +459,18 @@ static void initModulePIEs(char *PIEName,UDWORD i,STRUCTURE_STATS *psStructure) //store the stat for easy access later on researchModuleStat = i; - } + break; // Setup the PIE's for the power modules. - if (psStructure->type == REF_POWER_MODULE) - { - length = strlen(GfxFile) - 5; + case REF_POWER_MODULE: + length = GfxFile.size() - 5; GfxFile[length] = '4'; - powerModuleIMDs[0] = (iIMDShape*) resGetData("IMD", GfxFile); + powerModuleIMDs[0] = (iIMDShape *)resGetData("IMD", GfxFile.c_str()); if (powerModuleIMDs[0] == NULL) { - debug(LOG_ERROR, "Cannot find the PIE for power module %d - %s", module, GfxFile); + debug(LOG_ERROR, "Cannot find the PIE for power module %d - %s", module, GfxFile.c_str()); return; } @@ -530,36 +480,58 @@ static void initModulePIEs(char *PIEName,UDWORD i,STRUCTURE_STATS *psStructure) //store the stat for easy access later on powerModuleStat = i; - } + break; + default: + break; + } +} + +STRUCTURE_STATS::STRUCTURE_STATS(LineView line) + : BASE_STATS(REF_STRUCTURE_START + line.line(), line.s(0)) + , type(line.e(1, map_STRUCTURE_TYPE)) + , strength(line.e(3, map_STRUCT_STRENGTH)) + , baseWidth(line.i(5, 0, 100)) + , baseBreadth(line.i(6, 0, 100)) + , buildPoints(line.u32(8)) + , height(line.u32(9)) + , armourValue(line.u32(10)) + , bodyPoints(line.u32(11)) + , powerToBuild(line.u32(13)) + , resistance(line.u32(15)) + , pIMD(line.imdShape(21)) + , pBaseIMD(line.imdShape(22, true)) + , pECM(line.stats(18, asECMStats, numECMStats, true)) + , pSensor(line.stats(19, asSensorStats, numSensorStats, true)) + , weaponSlots(line.i(20, 0, STRUCT_MAXWEAPS)) // Is this one used anywhere? + , numWeaps(line.i(24, 0, weaponSlots)) + //, psWeapStat + , defaultFunc(-1) + , asFuncList(line.i(23, 0, 1000), (FUNCTION *)NULL) + // Ignored columns: 2, 4, 7, 12, 14, 16, 17 +{ + int types = 0; + types += numWeaps != 0; + types += pECM != NULL && pECM->location == LOC_TURRET; + types += pSensor != NULL && pSensor->location == LOC_TURRET; + if (types > 1) + { + line.setError(-1, "Too many turret types."); + } + + std::fill_n(psWeapStat, STRUCT_MAXWEAPS, (WEAPON_STATS *)NULL); } /* load the Structure stats from the Access database */ BOOL loadStructureStats(const char *pStructData, UDWORD bufferSize) { - unsigned int NumStructures = numCR(pStructData, bufferSize); - UDWORD i, inc, player, numWeaps, weapSlots; - char StructureName[MAX_STR_LENGTH], foundation[MAX_STR_LENGTH], - type[MAX_STR_LENGTH], dummy[MAX_STR_LENGTH], - strength[MAX_STR_LENGTH]; - char GfxFile[MAX_STR_LENGTH], baseIMD[MAX_STR_LENGTH]; - char ecmType[MAX_STR_LENGTH], sensorType[MAX_STR_LENGTH]; - STRUCTURE_STATS *psStructure, *pStartStats; - ECM_STATS* pECMType; - SENSOR_STATS* pSensorType; UDWORD module; UDWORD iID; - UDWORD dummyVal; // Skip descriptive header if (strncmp(pStructData,"Structure ",10)==0) { pStructData = strchr(pStructData,'\n') + 1; - NumStructures--; } - -#if (MAX_PLAYERS != 8) - char NotUsedString[MAX_STR_LENGTH]; -#endif //initialise the module IMD structs for (module = 0; module < NUM_FACTORY_MODULES; module++) @@ -576,163 +548,25 @@ BOOL loadStructureStats(const char *pStructData, UDWORD bufferSize) powerModuleIMDs[module] = NULL; } - asStructureStats = (STRUCTURE_STATS*)malloc(sizeof(STRUCTURE_STATS)* NumStructures); - numStructureStats = NumStructures; + TableView table(pStructData, bufferSize); - if (asStructureStats == NULL) + asStructureStats = new STRUCTURE_STATS[table.size()]; + numStructureStats = table.size(); + + for (unsigned i = 0; i < table.size(); ++i) { - debug( LOG_FATAL, "Structure Stats - Out of memory" ); - abort(); // FIXME exit(EXIT_FAILURE)? - return false; + LineView line(table, i); + + asStructureStats[i] = STRUCTURE_STATS(line); + if (table.isError()) + { + debug(LOG_ERROR, "%s", table.getError().toUtf8().constData()); + return false; + } + + initModulePIEs(line.s(21), i, asStructureStats[i].type); // This function looks like a hack. } - //save the starting address - pStartStats = asStructureStats; - - //get the start of the structure_stats storage - psStructure = asStructureStats; - - for (i = 0; i < NumStructures; i++) - { - memset(psStructure, 0, sizeof(STRUCTURE_STATS)); - - //read the data into the storage - the data is delimeted using comma's - GfxFile[0] = '\0'; - StructureName[0] = '\0'; - type[0] = '\0'; - strength[0] = '\0'; - foundation[0] = '\0'; - ecmType[0] = '\0'; - sensorType[0] = '\0'; - baseIMD[0] = '\0'; - - sscanf(pStructData,"%[^','],%[^','],%[^','],%[^','],%d,%d,%d,%[^','],\ - %d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%[^','],%[^','],%d,%[^','],%[^','],\ - %d,%d", - StructureName, type, dummy, strength, &dummyVal, - &psStructure->baseWidth, &psStructure->baseBreadth, foundation, - &psStructure->buildPoints, &psStructure->height, - &psStructure->armourValue, &psStructure->bodyPoints, - &dummyVal, &psStructure->powerToBuild, - &dummyVal, &psStructure->resistance, - &dummyVal, &dummyVal, - ecmType, sensorType, &weapSlots, GfxFile, - baseIMD, &psStructure->numFuncs, &numWeaps); - -#if MAX_PLAYERS != 4 && MAX_PLAYERS != 8 -# error Invalid number of players -#endif - - //allocate storage for the name - psStructure->pName = allocateName(StructureName); - if (!psStructure->pName) - { - return false; - } - - psStructure->ref = REF_STRUCTURE_START + i; - - //determine the structure type - psStructure->type = structureType(type); - - //set the struct strength - psStructure->strength = getStructStrength(strength); - if (psStructure->strength == NUM_STRUCT_STRENGTH) - { - debug(LOG_ERROR, "Unknown structure strength for %s", getStatName(psStructure)); - return false; - } - - //get the ecm stats pointer - if (!strcmp(ecmType,"0")) - { - psStructure->pECM = NULL; - } - else - { - pECMType = asECMStats; - - for (inc=0; inc < numECMStats; inc++) - { - //compare the names - if (!strcmp(ecmType, pECMType->pName)) - { - psStructure->pECM = pECMType; - break; - } - pECMType++; - } - } - //get the sensor stats pointer - if (!strcmp(sensorType,"0")) - { - psStructure->pSensor = NULL; - } - else - { - pSensorType = asSensorStats; - for (inc=0; inc < numSensorStats; inc++) - { - //compare the names - if (!strcmp(sensorType, pSensorType->pName)) - { - psStructure->pSensor = pSensorType; - break; - } - pSensorType++; - } - //check not allocating a turret sensor if have weapons attached - ASSERT_OR_RETURN(false, psStructure->pSensor != NULL, "Should have a sensor attached to %s!", StructureName); - ASSERT_OR_RETURN(false, !(numWeaps && psStructure->pSensor->location == LOC_TURRET), - "Both turret sensor and weapon have been assigned to %s", StructureName); - } - - //get the IMD for the structure - psStructure->pIMD = (iIMDShape *) resGetData("IMD", GfxFile); - ASSERT_OR_RETURN(false, psStructure->pIMD != NULL, "Cannot find the structure PIE for record %s", getStructName(psStructure)); - - if (strcmp(baseIMD, "0")) - { - psStructure->pBaseIMD = (iIMDShape *) resGetData("IMD", baseIMD); - ASSERT_OR_RETURN(false, psStructure->pIMD != NULL, "Cannot find the structure base PIE for record %s", getStructName(psStructure)); - } - else - { - psStructure->pBaseIMD = NULL; - } - - initModulePIEs(GfxFile,i,psStructure); - - //Only having one weapon per structure now...AB 24/01/99 - if (weapSlots > STRUCT_MAXWEAPS || numWeaps > weapSlots) - { - debug(LOG_ERROR, "Allocated more weapons than allowed for Structure"); - return false; - } - //I need numWeaps to draw multiple weapons - psStructure->numWeaps = numWeaps; - - //allocate storage for the functions - if any - psStructure->defaultFunc = -1; - if (psStructure->numFuncs > 0) - { - psStructure->asFuncList = (FUNCTION **)malloc(psStructure->numFuncs * - sizeof(FUNCTION*)); - if (psStructure->asFuncList == NULL) - { - debug( LOG_FATAL, "Out of memory assigning structure Functions" ); - abort(); - return false; - } - } - //increment the pointer to the start of the next record - pStructData = strchr(pStructData,'\n') + 1; - //increment the list to the start of the next storage block - psStructure++; - } - - asStructureStats = pStartStats; - /* get global dummy stat pointer - GJ */ for (iID = 0; iID < numStructureStats; iID++) { @@ -741,7 +575,7 @@ BOOL loadStructureStats(const char *pStructData, UDWORD bufferSize) break; } } - if (iID > numStructureStats) + if (iID >= numStructureStats) { debug(LOG_ERROR, "destroy structure stat not found"); return false; @@ -749,7 +583,7 @@ BOOL loadStructureStats(const char *pStructData, UDWORD bufferSize) g_psStatDestroyStruct = asStructureStats + iID; //allocate the structureLimits structure - for (player = 0; player < MAX_PLAYERS; player++) + for (unsigned player = 0; player < MAX_PLAYERS; ++player) { asStructLimits[player] = (STRUCTURE_LIMITS *)malloc(sizeof(STRUCTURE_LIMITS) * numStructureStats); if (asStructLimits[player] == NULL) @@ -824,7 +658,7 @@ void setCurrentStructQuantity(BOOL displayError) { //check quantity never exceeds the limit ASSERT(psStructLimits[inc].currentQuantity <= psStructLimits[inc].limit, - "There appears to be too many %s on this map!", getStructName(&asStructureStats[inc])); + "There appears to be too many %s on this map!", asStructureStats[inc].pName); } } } @@ -833,65 +667,22 @@ void setCurrentStructQuantity(BOOL displayError) //Load the weapons assigned to Structure in the Access database BOOL loadStructureWeapons(const char *pWeaponData, UDWORD bufferSize) { - const unsigned int NumToAlloc = numCR(pWeaponData, bufferSize); - UDWORD i, incS, incW; - char StructureName[MAX_STR_LENGTH];//, WeaponName[MAX_STR_LENGTH]; - char WeaponName[STRUCT_MAXWEAPS][MAX_STR_LENGTH]; - STRUCTURE_STATS *pStructure = asStructureStats; - WEAPON_STATS *pWeapon = asWeaponStats; - BOOL weaponFound, structureFound; - UBYTE j; + TableView table(pWeaponData, bufferSize); - for (i=0; i < NumToAlloc; i++) + for (unsigned i = 0; i < table.size(); ++i) { - //read the data into the storage - the data is delimeted using comma's - StructureName[0] = '\0'; - for (j = 0;j < STRUCT_MAXWEAPS;j++) + LineView line(table, i); + + STRUCTURE_STATS *structureStats = line.stats(0, asStructureStats, numStructureStats); + for (unsigned j = 0; j < structureStats->numWeaps && !table.isError(); ++j) { - WeaponName[j][0] = '\0'; + structureStats->psWeapStat[j] = line.stats(1 + j, asWeaponStats, numWeaponStats); } - - sscanf(pWeaponData, "%[^','],%[^','],%[^','],%[^','],%[^','],%*d", StructureName, WeaponName[0], WeaponName[1], WeaponName[2], WeaponName[3]); - - weaponFound = structureFound = false; - //loop through each Structure_Stat to compare the name - - for (incS=0; incS < numStructureStats; incS++) + if (table.isError()) { - if (!(strcmp(StructureName, pStructure[incS].pName))) - { - //Structure found, so loop through each weapon - structureFound = true; - for (j = 0;j < pStructure[incS].numWeaps;j++) - { - for (incW=0; incW < numWeaponStats; incW++) - { - if (!(strcmp(WeaponName[j], pWeapon[incW].pName))) - { - weaponFound = true; - - //read and store multiple weapon Stats - pStructure[incS].psWeapStat[j] = &pWeapon[incW]; - break; - } - } - //if weapon not found - error - if (!weaponFound) - { - debug(LOG_ERROR, "Unable to find stats for weapon %s for structure %s", WeaponName[i], StructureName); - return false; - } - } - } - } - //if structure not found - error - if (!structureFound) - { - debug(LOG_ERROR, "Unable to find stats for structure %s", StructureName); + debug(LOG_ERROR, "%s", table.getError().toUtf8().constData()); return false; } - //increment the pointer to the start of the next record - pWeaponData = strchr(pWeaponData,'\n') + 1; } return true; } @@ -899,100 +690,45 @@ BOOL loadStructureWeapons(const char *pWeaponData, UDWORD bufferSize) //Load the programs assigned to Droids in the Access database BOOL loadStructureFunctions(const char *pFunctionData, UDWORD bufferSize) { - const unsigned int NumToAlloc = numCR(pFunctionData, bufferSize); - UDWORD i, incS, incF; - char StructureName[MAX_STR_LENGTH], FunctionName[MAX_STR_LENGTH]; - STRUCTURE_STATS *pStructure = asStructureStats; - FUNCTION *pFunction, **pStartFunctions = asFunctions; - BOOL functionFound, structureFound; + TableView table(pFunctionData, bufferSize); - - - for (i=0; i < NumToAlloc; i++) + for (unsigned i = 0; i < table.size(); ++i) { - //read the data into the storage - the data is delimeted using comma's - StructureName[0] = '\0'; - FunctionName[0] = '\0'; - sscanf(pFunctionData, "%[^','],%[^','],%*d", StructureName, FunctionName); - functionFound = structureFound = false; + LineView line(table, i); - //loop through each Structure_Stat to compare the name - for (incS=0; incS < numStructureStats; incS++) + STRUCTURE_STATS *structureStats = line.stats(0, asStructureStats, numStructureStats); + FUNCTION *function = line.stats(1, asFunctions, numFunctions); + if (table.isError()) { - if (!(strcmp(StructureName, pStructure[incS].pName))) - { - //Structure found, so loop through each Function - structureFound = true; - pStartFunctions = asFunctions; - for (incF=0; incF < numFunctions; incF++) - { - pFunction = *pStartFunctions; - if (!(strcmp(FunctionName, pFunction->pName))) - { - //function found alloc this function to the current Structure - functionFound = true; - pStructure[incS].defaultFunc++; - //check not allocating more than allowed - if (pStructure[incS].defaultFunc > - (SDWORD)pStructure[incS].numFuncs) - { - debug(LOG_ERROR, "Trying to allocate more functions than allowed for Structure"); - return false; - } - pStructure[incS].asFuncList[pStructure[incS].defaultFunc] = - pFunction; - break; - } - pStartFunctions++; - } - //if function not found - error - if (!functionFound) - { - debug(LOG_ERROR, "Unable to find stats for function %s for structure %s", FunctionName, StructureName); - return false; - } - } - } - //if structure not found - error - if (!structureFound) - { - debug(LOG_ERROR, "Unable to find stats for structure %s", StructureName); + debug(LOG_ERROR, "%s", table.getError().toUtf8().constData()); return false; } - //increment the pointer to the start of the next record - pFunctionData = strchr(pFunctionData,'\n') + 1; + ++structureStats->defaultFunc; + if (structureStats->defaultFunc > (int)structureStats->asFuncList.size()) + { + debug(LOG_ERROR, "Trying to allocate more functions than allowed for Structure"); + return false; + } + structureStats->asFuncList[structureStats->defaultFunc] = function; } /**************************************************************************/ //Wall Function requires a structure stat so can allocate it now - pStartFunctions = asFunctions; - for (incF=0; incF < numFunctions; incF++) + for (unsigned i = 0; i < numFunctions; ++i) { - pFunction = *pStartFunctions; - if (pFunction->type == WALL_TYPE) + if (asFunctions[i]->type != WALL_TYPE) { - //loop through all structures to find the stat - pStructure = asStructureStats; - ((WALL_FUNCTION *)pFunction)->pCornerStat = NULL; - - for (i=0; i < numStructureStats; i++) - { - //compare the names - if (!strcmp(((WALL_FUNCTION *)pFunction)->pStructName, pStructure->pName)) - { - ((WALL_FUNCTION *)pFunction)->pCornerStat = pStructure; - break; - } - pStructure++; - } - //if haven't found the STRUCTURE STAT, then problem - if (!((WALL_FUNCTION *)pFunction)->pCornerStat) - { - debug(LOG_ERROR, "Unknown Corner Wall stat for function %s", pFunction->pName); - return false; - } + continue; + } + WALL_FUNCTION *wallFunction = (WALL_FUNCTION *)asFunctions[i]; + + wallFunction->pCornerStat = findStatsByName(wallFunction->pStructName, asStructureStats, numStructureStats); + //if haven't found the STRUCTURE STAT, then problem + if (wallFunction->pCornerStat == NULL) + { + debug(LOG_ERROR, "Unknown Corner Wall stat for function %s", wallFunction->pName); + return false; } - pStartFunctions++; } return true; @@ -1001,51 +737,28 @@ BOOL loadStructureFunctions(const char *pFunctionData, UDWORD bufferSize) /*Load the Structure Strength Modifiers from the file exported from Access*/ BOOL loadStructureStrengthModifiers(const char *pStrengthModData, UDWORD bufferSize) { - const unsigned int NumRecords = numCR(pStrengthModData, bufferSize); - STRUCT_STRENGTH strengthInc; - WEAPON_EFFECT effectInc; - UDWORD i, j, modifier; - char weaponEffectName[MAX_STR_LENGTH], strengthName[MAX_STR_LENGTH]; - //initialise to 100% - for (i=0; i < WE_NUMEFFECTS; i++) + for (unsigned i = 0; i < WE_NUMEFFECTS; ++i) { - for (j=0; j < NUM_STRUCT_STRENGTH; j++) + for (unsigned j = 0; j < NUM_STRUCT_STRENGTH; ++j) { asStructStrengthModifier[i][j] = 100; } } - for (i=0; i < NumRecords; i++) + TableView table(pStrengthModData, bufferSize); + + for (unsigned i = 0; i < table.size(); ++i) { - //read the data into the storage - the data is delimeted using comma's - sscanf(pStrengthModData,"%[^','],%[^','],%d", - weaponEffectName, strengthName, &modifier); + LineView line(table, i); - //get the weapon effect inc - if (!getWeaponEffect(weaponEffectName, &effectInc)) + asStructStrengthModifier[line.e(0, map_WEAPON_EFFECT)][line.e(1, map_STRUCT_STRENGTH)] = line.u16(2); + + if (table.isError()) { - debug(LOG_ERROR, "Invalid Weapon Effect - %s", weaponEffectName); + debug(LOG_ERROR, "%s", table.getError().toUtf8().constData()); return false; } - //get the propulsion inc - strengthInc = getStructStrength(strengthName); - if (strengthInc == NUM_STRUCT_STRENGTH) - { - debug(LOG_ERROR, "Invalid Strength type - %s", strengthName); - return false; - } - - if (modifier > UWORD_MAX) - { - debug(LOG_ERROR, "modifier for effect %s, strength %s is too large", weaponEffectName, strengthName); - return false; - } - //store in the appropriate index - asStructStrengthModifier[effectInc][strengthInc] = (UWORD)modifier; - - //increment the pointer to the start of the next record - pStrengthModData = strchr(pStrengthModData,'\n') + 1; } return true; @@ -1055,21 +768,10 @@ BOOL loadStructureStrengthModifiers(const char *pStrengthModData, UDWORD bufferS BOOL structureStatsShutDown(void) { UDWORD inc; - STRUCTURE_STATS* pStructure = asStructureStats; - for(inc=0; inc < numStructureStats; inc++, pStructure++) - { - if (pStructure->numFuncs > 0) - { - free(pStructure->asFuncList); - pStructure->asFuncList = NULL; - } - } - - if(numStructureStats) { - free(asStructureStats); - asStructureStats = NULL; - } + delete[] asStructureStats; + asStructureStats = NULL; + numStructureStats = 0; //free up the structLimits structure for (inc = 0; inc < MAX_PLAYERS ; inc++) @@ -1504,7 +1206,7 @@ static SDWORD structChooseWallType(UDWORD player, UDWORD mapX, UDWORD mapY) if (scanType == WALL_CORNER) { // change to a corner - if (psStruct->pStructureType->asFuncList && psStruct->pStructureType->asFuncList[0]->type == WALL_TYPE) + if (!psStruct->pStructureType->asFuncList.empty() && psStruct->pStructureType->asFuncList[0]->type == WALL_TYPE) { const int oldBody = psStruct->body; UDWORD oldBuildPoints = psStruct->currentBuildPts; @@ -7881,20 +7583,10 @@ BOOL checkStructureStats(void) for (structInc=0; structInc < numStructureStats; structInc++) { - if (asStructureStats[structInc].numFuncs != 0) + for (inc = 0; inc < asStructureStats[structInc].asFuncList.size(); inc++) { - for (inc = 0; inc < asStructureStats[structInc].numFuncs; inc++) - { + ASSERT_OR_RETURN(false, asStructureStats[structInc].asFuncList[inc] != NULL, "Invalid function for structure %s", asStructureStats[structInc].pName); - ASSERT_OR_RETURN(false, asStructureStats[structInc].asFuncList[inc] != NULL, - "Invalid function for structure %s", asStructureStats[structInc].pName); - - } - } - else - { - ASSERT_OR_RETURN(false, asStructureStats[structInc].asFuncList == NULL, "Invalid functions attached to structure %s", - asStructureStats[structInc].pName); } } return true; diff --git a/src/structuredef.h b/src/structuredef.h index 646504b95..6771c7bee 100644 --- a/src/structuredef.h +++ b/src/structuredef.h @@ -39,7 +39,7 @@ #define REF_ANY 255 // Used to indicate any kind of building when calling intGotoNextStructureType() /* Defines for indexing an appropriate IMD object given a buildings purpose. */ -typedef enum _structure_type +enum STRUCTURE_TYPE { REF_HQ, REF_FACTORY, @@ -65,7 +65,7 @@ REF_MISSILE_SILO, REF_SAT_UPLINK, //added for updates - AB 8/6/99 REF_GATE, NUM_DIFF_BUILDINGS, //need to keep a count of how many types for IMD loading -} STRUCTURE_TYPE; +}; struct FLAG_POSITION : public OBJECT_POSITION { @@ -78,7 +78,7 @@ struct FLAG_POSITION : public OBJECT_POSITION #define STRUCT_MAXWEAPS 4 -typedef enum _struct_strength +enum STRUCT_STRENGTH { STRENGTH_SOFT, STRENGTH_MEDIUM, @@ -86,24 +86,27 @@ typedef enum _struct_strength STRENGTH_BUNKER, NUM_STRUCT_STRENGTH, -} STRUCT_STRENGTH; +}; typedef UWORD STRUCTSTRENGTH_MODIFIER; #define SAS_OPEN_SPEED (GAME_TICKS_PER_SEC * 2) #define SAS_STAY_OPEN_TIME (GAME_TICKS_PER_SEC * 6) -typedef enum _anim_states +enum STRUCT_ANIM_STATES { SAS_NORMAL, SAS_OPEN, SAS_OPENING, SAS_CLOSING, -} STRUCT_ANIM_STATES; +}; //this structure is used to hold the permenant stats for each type of building struct STRUCTURE_STATS : public BASE_STATS { + STRUCTURE_STATS() : asFuncList(NULL) {} + STRUCTURE_STATS(LineView line); + STRUCTURE_TYPE type; /* the type of structure */ STRUCT_STRENGTH strength; /* strength against the weapon effects */ UDWORD baseWidth; /*The width of the base in tiles*/ @@ -132,9 +135,8 @@ struct STRUCTURE_STATS : public BASE_STATS struct WEAPON_STATS *psWeapStat[STRUCT_MAXWEAPS]; - UDWORD numFuncs; /*Number of functions for default*/ SDWORD defaultFunc; /*The default function*/ - struct FUNCTION **asFuncList; ///< List of pointers to allowable functions - unalterable + std::vector asFuncList; ///< List of pointers to allowable functions - unalterable }; enum STRUCT_STATES @@ -147,7 +149,7 @@ enum STRUCT_STATES SS_BLUEPRINT_PLANNED, }; -typedef struct _research_facility +struct RESEARCH_FACILITY { struct BASE_STATS * psSubject; // The subject the structure is working on. struct BASE_STATS * psSubjectPending; // The subject the structure is going to work on when the GAME_RESEARCHSTATUS message is received. @@ -161,7 +163,7 @@ typedef struct _research_facility researching a topic*/ UDWORD timeStartHold; /* The time the research facility was put on hold*/ -} RESEARCH_FACILITY; +}; enum FACTORY_STATUS_PENDING { @@ -196,20 +198,20 @@ struct FACTORY // added AB 22/04/99 }; -typedef struct _res_extractor +struct RES_EXTRACTOR { BOOL active; /*indicates when the extractor is on ie digging up oil*/ struct STRUCTURE * psPowerGen; ///< owning power generator -} RES_EXTRACTOR; +}; -typedef struct _power_gen +struct POWER_GEN { UDWORD multiplier; ///< Factor to multiply output by - percentage UDWORD capacity; ///< Number of upgrade modules added struct STRUCTURE * apResExtractors[NUM_POWER_MODULES]; ///< Pointers to associated oil derricks -} POWER_GEN; +}; -typedef struct REPAIR_FACILITY +struct REPAIR_FACILITY { UDWORD power; /* Power used in repairing */ UDWORD timeStarted; /* Time repair started on current object */ @@ -221,17 +223,17 @@ typedef struct REPAIR_FACILITY // The group the droids to be repaired by this facility belong to struct _droid_group *psGroup; int droidQueue; ///< Last count of droid queue for this facility -} REPAIR_FACILITY; +}; -typedef struct _rearm_pad +struct REARM_PAD { UDWORD reArmPoints; /* rearm points per cycle */ UDWORD timeStarted; /* Time reArm started on current object */ BASE_OBJECT *psObj; /* Object being rearmed */ UDWORD timeLastUpdated; /* Time rearm was last updated */ -} REARM_PAD; +}; -typedef union +union FUNCTIONALITY { RESEARCH_FACILITY researchFacility; FACTORY factory; @@ -239,7 +241,7 @@ typedef union POWER_GEN powerGenerator; REPAIR_FACILITY repairFacility; REARM_PAD rearmPad; -} FUNCTIONALITY; +}; //this structure is used whenever an instance of a building is required in game struct STRUCTURE : public BASE_OBJECT @@ -282,7 +284,7 @@ struct STRUCTURE : public BASE_OBJECT }; #define LOTS_OF 255 /*highest number the limit can be set to */ -typedef struct _structure_limits +struct STRUCTURE_LIMITS { UBYTE limit; /* the number allowed to be built */ UBYTE currentQuantity; /* the number of the type currently @@ -290,7 +292,7 @@ typedef struct _structure_limits UBYTE globalLimit; // multiplayer only. sets the max value selectable (limits changed by player) -} STRUCTURE_LIMITS; +}; //the three different types of factory (currently) - FACTORY, CYBORG_FACTORY, VTOL_FACTORY @@ -326,24 +328,24 @@ struct ProductionRunEntry typedef std::vector ProductionRun; /* structure stats which can be upgraded by research*/ -typedef struct _structure_upgrade +struct STRUCTURE_UPGRADE { UWORD armour; UWORD body; UWORD resistance; -} STRUCTURE_UPGRADE; +}; /* wall/Defence structure stats which can be upgraded by research*/ -typedef struct _wallDefence_upgrade +struct WALLDEFENCE_UPGRADE { UWORD armour; UWORD body; -} WALLDEFENCE_UPGRADE; +}; -typedef struct _upgrade +struct UPGRADE { UWORD modifier; //% to increase the stat by -} UPGRADE; +}; typedef UPGRADE RESEARCH_UPGRADE; typedef UPGRADE PRODUCTION_UPGRADE; From 1d100e6c7042a09cddb5f19fc18e076375c73188 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 1 Jan 2011 20:35:07 +0100 Subject: [PATCH 088/142] Rewrite stats loading for DROID_TEMPLATE. --- src/design.cpp | 12 +- src/droid.cpp | 492 +++++++++++--------------------------------- src/droid.h | 4 +- src/droiddef.h | 6 +- src/game.cpp | 26 +-- src/keybind.cpp | 2 +- src/multiopt.cpp | 9 +- src/multiplay.cpp | 6 +- src/scriptfuncs.cpp | 15 +- src/statsdef.h | 2 +- 10 files changed, 155 insertions(+), 419 deletions(-) diff --git a/src/design.cpp b/src/design.cpp index 679cc1148..2885fd028 100644 --- a/src/design.cpp +++ b/src/design.cpp @@ -3412,7 +3412,7 @@ BOOL intValidTemplate(DROID_TEMPLATE *psTempl, const char *newName) static void desCreateDefaultTemplate( void ) { /* set current design to default */ - memcpy( &sCurrDesign, &sDefaultDesignTemplate, sizeof(DROID_TEMPLATE) ); + sCurrDesign = sDefaultDesignTemplate; sCurrDesign.pName = NULL; /* reset stats */ @@ -3541,7 +3541,7 @@ void intProcessDesign(UDWORD id) if ( psTempl != NULL ) { /* Set the new template */ - memcpy(&sCurrDesign, psTempl, sizeof(DROID_TEMPLATE)); + sCurrDesign = *psTempl; sstrcpy(aCurrName, getTemplateName(psTempl)); /* reveal body/propulsion/turret component buttons */ @@ -4068,7 +4068,7 @@ void intProcessDesign(UDWORD id) // Delete the template. //before deleting the template, need to make sure not being used in production deleteTemplateFromProduction(psTempl, selectedPlayer, ModeQueue); - free(psTempl); + delete psTempl; /* get previous template and set as current */ psTempl = apsTemplateList[i-1]; @@ -4083,7 +4083,7 @@ void intProcessDesign(UDWORD id) intAddTemplateForm( psTempl ); /* Set the new template */ - memcpy(&sCurrDesign, psTempl, sizeof(DROID_TEMPLATE)); + sCurrDesign = *psTempl; sstrcpy(aCurrName, getTemplateName(psTempl)); intSetEditBoxTextFromTemplate( psTempl ); @@ -4558,7 +4558,7 @@ static BOOL saveTemplate(void) if ( psTempl == NULL ) { /* The design needs a new template in the list */ - psTempl = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); + psTempl = new DROID_TEMPLATE; if (psTempl == NULL) { debug(LOG_ERROR, "saveTemplate: Out of memory"); @@ -4605,7 +4605,7 @@ static BOOL saveTemplate(void) } /* Copy the template */ - memcpy(psTempl, &sCurrDesign, sizeof(DROID_TEMPLATE)); + *psTempl = sCurrDesign; sstrcpy(psTempl->aName, aCurrName); /* Now update the droid template form */ diff --git a/src/droid.cpp b/src/droid.cpp index 207b4dde3..67e858c95 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -1545,348 +1545,137 @@ BOOL droidUpdateDroidRepair(DROID *psRepairDroid) return psDroidToRepair->body < psDroidToRepair->originalBody; } +static const StringToEnum map_DROID_TYPE[] = +{ + {"PERSON", DROID_PERSON }, + {"CYBORG", DROID_CYBORG }, + {"CYBORG_SUPER", DROID_CYBORG_SUPER }, + {"CYBORG_CONSTRUCT", DROID_CYBORG_CONSTRUCT }, + {"CYBORG_REPAIR", DROID_CYBORG_REPAIR }, + {"TRANSPORTER", DROID_TRANSPORTER }, + {"ZNULLDROID", DROID_ANY }, + {"DROID", DROID_DEFAULT }, +}; + +DROID_TEMPLATE::DROID_TEMPLATE() // This constructor replaces a memset in scrAssembleWeaponTemplate(), not needed elsewhere. + : BASE_STATS() + //, aName + //, asParts + , buildPoints(0) + , powerPoints(0) + , storeCount(0) + , numWeaps(0) + //, asWeaps + , droidType(DROID_WEAPON) + , multiPlayerID(0) + , psNext(NULL) + , prefab(false) +{ + aName[0] = '\0'; + std::fill_n(asParts, DROID_MAXCOMP, 0); + std::fill_n(asWeaps, DROID_MAXWEAPS, 0); +} + +DROID_TEMPLATE::DROID_TEMPLATE(LineView line) + : BASE_STATS(REF_TEMPLATE_START + line.line()) + //, aName + //, asParts + , buildPoints(0) + , powerPoints(0) + , storeCount(0) + , numWeaps(line.i(11, 0, DROID_MAXWEAPS)) + //, asWeaps + , droidType(line.e(9, map_DROID_TYPE)) + , multiPlayerID(line.u32(1)) + , psNext(NULL) + , prefab(false) + // Ignored columns: 6 - but used later to decide whether the template is for human players. +{ + std::string name = line.s(0); + sstrcpy(aName, name.c_str()); + + asParts[COMP_UNKNOWN] = 0; // Is this one useful for anything at all? + asParts[COMP_BODY] = line.stats( 2, asBodyStats, numBodyStats) - asBodyStats; + asParts[COMP_BRAIN] = line.stats( 3, asBrainStats, numBrainStats) - asBrainStats; + asParts[COMP_CONSTRUCT] = line.stats( 4, asConstructStats, numConstructStats) - asConstructStats; + asParts[COMP_ECM] = line.stats( 5, asECMStats, numECMStats) - asECMStats; + asParts[COMP_PROPULSION] = line.stats( 7, asPropulsionStats, numPropulsionStats) - asPropulsionStats; + asParts[COMP_REPAIRUNIT] = line.stats( 8, asRepairStats, numRepairStats) - asRepairStats; + asParts[COMP_SENSOR] = line.stats(10, asSensorStats, numSensorStats) - asSensorStats; + + std::fill_n(asWeaps, DROID_MAXWEAPS, 0); +} + /* load the Droid stats for the components from the Access database */ BOOL loadDroidTemplates(const char *pDroidData, UDWORD bufferSize) { - unsigned int NumDroids = numCR(pDroidData, bufferSize), line; BOOL bDefaultTemplateFound = false; - /* init default template */ - memset( &sDefaultDesignTemplate, 0, sizeof(DROID_TEMPLATE) ); + TableView table(pDroidData, bufferSize); - for (line = 0; line < NumDroids; line++) + for (unsigned i = 0; i < table.size(); ++i) { - char templName[MAX_STR_LENGTH]; - char componentName[MAX_STR_LENGTH]; - char playerType[MAX_STR_LENGTH]; - int cnt; - DROID_TEMPLATE design; - DROID_TEMPLATE *pDroidDesign = &design; + LineView line(table, i); - memset(pDroidDesign, 0, sizeof(DROID_TEMPLATE)); - - //read the data into the storage - the data is delimited using comma's - sscanf(pDroidData, "%[^','],%d,%n", componentName, &pDroidDesign->multiPlayerID, &cnt); - pDroidData += cnt; - - // Store unique name in pName - pDroidDesign->pName = templName; - sstrcpy(templName, componentName); - - sstrcpy(pDroidDesign->aName, componentName); - - //read in Body Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - //get the Body stats pointer - if (!strcmp(componentName,"0")) + DROID_TEMPLATE design(line); + if (table.isError()) { - pDroidDesign->asParts[COMP_BODY] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asBodyStats; - const size_t size = sizeof(BODY_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc = 0; inc < numBodyStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_BODY] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found, "Body component not found for droid %s", getTemplateName(pDroidDesign)); + debug(LOG_ERROR, "%s", table.getError().toUtf8().constData()); + return false; } - //read in Brain Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; + std::string const pNameCache = design.aName; + design.pName = const_cast(pNameCache.c_str()); - //get the Brain stats pointer - if (!strcmp(componentName,"0")) + if (getTemplateFromUniqueName(design.pName, 0)) { - pDroidDesign->asParts[COMP_BRAIN] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asBrainStats; - const size_t size = sizeof(BRAIN_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc=0; inc < numBrainStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_BRAIN] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found,"Brain component not found for droid %s", getTemplateName(pDroidDesign)); - } - - //read in Construct Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - //get the Construct stats pointer - if (!strcmp(componentName,"0")) - { - pDroidDesign->asParts[COMP_CONSTRUCT] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asConstructStats; - const size_t size = sizeof(CONSTRUCT_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc=0; inc < numConstructStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_CONSTRUCT] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found, "Construct component not found for droid %s", getTemplateName(pDroidDesign)); - } - - //read in Ecm Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - //get the Ecm stats pointer - if (!strcmp(componentName,"0")) - { - pDroidDesign->asParts[COMP_ECM] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asECMStats; - const size_t size = sizeof(ECM_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc=0; inc < numECMStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_ECM] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found, "ECM component not found for droid %s", getTemplateName(pDroidDesign)); - } - - //read in player type - decides whether or not humans can access it - sscanf(pDroidData, "%[^','],%n", playerType,&cnt); - pDroidData += cnt; - - if (getTemplateFromUniqueName(pDroidDesign->pName, 0)) - { - debug( LOG_ERROR, "Duplicate template %s", pDroidDesign->pName ); + debug(LOG_ERROR, "Duplicate template %s", design.pName); continue; } - //read in Propulsion Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - //get the Propulsion stats pointer - if (!strcmp(componentName,"0")) - { - pDroidDesign->asParts[COMP_PROPULSION] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asPropulsionStats; - const size_t size = sizeof(PROPULSION_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc=0; inc < numPropulsionStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_PROPULSION] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found, "Propulsion component not found for droid %s", getTemplateName(pDroidDesign)); - } - - //read in Repair Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - //get the Repair stats pointer - if (!strcmp(componentName,"0")) - { - pDroidDesign->asParts[COMP_REPAIRUNIT] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asRepairStats; - const size_t size = sizeof(REPAIR_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc=0; inc < numRepairStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_REPAIRUNIT] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found, "Repair component not found for droid %s", getTemplateName(pDroidDesign)); - } - - //read in droid type - only interested if set to PERSON - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - if (!strcmp(componentName, "PERSON")) - { - pDroidDesign->droidType = DROID_PERSON; - } - else if (!strcmp(componentName, "CYBORG")) - { - pDroidDesign->droidType = DROID_CYBORG; - } - else if (!strcmp(componentName, "CYBORG_SUPER")) - { - pDroidDesign->droidType = DROID_CYBORG_SUPER; - } - else if (!strcmp(componentName, "CYBORG_CONSTRUCT")) - { - pDroidDesign->droidType = DROID_CYBORG_CONSTRUCT; - } - else if (!strcmp(componentName, "CYBORG_REPAIR")) - { - pDroidDesign->droidType = DROID_CYBORG_REPAIR; - } - else if (!strcmp(componentName, "TRANSPORTER")) - { - pDroidDesign->droidType = DROID_TRANSPORTER; - } - else if (!strcmp(componentName, "ZNULLDROID")) - { - pDroidDesign->droidType = DROID_DEFAULT; - bDefaultTemplateFound = true; - } - - //read in Sensor Name - sscanf(pDroidData, "%[^','],%n", componentName, &cnt); - pDroidData += cnt; - - //get the Sensor stats pointer - if (!strcmp(componentName,"0")) - { - pDroidDesign->asParts[COMP_SENSOR] = NULL_COMP; - } - else - { - COMPONENT_STATS *pStats = (COMPONENT_STATS *)asSensorStats; - const size_t size = sizeof(SENSOR_STATS); - unsigned int inc = 0; - BOOL found = false; - - for (inc=0; inc < numSensorStats; inc++) - { - //compare the names - if (!strcmp(componentName, pStats->pName)) - { - pDroidDesign->asParts[COMP_SENSOR] = inc; - found = true; - break; - } - pStats = ((COMPONENT_STATS*)((UBYTE*)pStats + size)); - } - ASSERT_OR_RETURN(false, found, "Sensor not found for droid Template: %s", pDroidDesign->aName); - } - - //read in totals - sscanf(pDroidData,"%d", &pDroidDesign->numWeaps); - //check that not allocating more weapons than allowed - ASSERT_OR_RETURN(false, pDroidDesign->numWeaps <= DROID_MAXWEAPS, "Too many weapons have been allocated for droid Template: %s", pDroidDesign->aName); - // Store translated name in aName - sstrcpy(componentName, pDroidDesign->aName); - if (getDroidResourceName(componentName)) - { - sstrcpy(pDroidDesign->aName, componentName); - } - else - { - sstrcpy(pDroidDesign->aName, GetDefaultTemplateName(pDroidDesign)); - } + char const *droidResourceName = getDroidResourceName(design.aName); + sstrcpy(design.aName, droidResourceName != NULL? droidResourceName : GetDefaultTemplateName(&design)); - - pDroidDesign->ref = REF_TEMPLATE_START + line; // Store global default design if found else store in the appropriate array - if ( pDroidDesign->droidType == DROID_DEFAULT ) + if (design.droidType == DROID_ANY) { + design.droidType = DROID_DEFAULT; // NOTE: sDefaultDesignTemplate.pName takes ownership // of the memory allocated to pDroidDesign->pName // here. Which is good because pDroidDesign leaves // scope here anyway. - memcpy( &sDefaultDesignTemplate, pDroidDesign, sizeof(DROID_TEMPLATE) ); - sDefaultDesignTemplate.pName = strdup(pDroidDesign->pName); + sDefaultDesignTemplate = design; + sDefaultDesignTemplate.pName = strdup(design.pName); + bDefaultTemplateFound = true; } else { - int i; - + std::string playerType = line.s(6); // Give those meant for humans to all human players. // Also support the old template format, in which those meant // for humans were player 0 (in campaign) or 5 (in multiplayer). - if ((!strcmp(playerType, "0") && !bMultiPlayer) || - (!strcmp(playerType, "5") && bMultiPlayer) || - !strcmp(playerType, "YES")) + if ((!bMultiPlayer && playerType == "0") || + ( bMultiPlayer && playerType == "5") || + playerType == "YES" + ) { - for (i = 0; i < MAX_PLAYERS; i++) + for (int i = 0; i < MAX_PLAYERS; ++i) { - if (NetPlay.players[i].allocated) // human prototype template + if (NetPlay.players[i].allocated) // human prototype template { - pDroidDesign->prefab = false; - addTemplateToList(pDroidDesign, &apsDroidTemplates[i]); + design.prefab = false; + addTemplateToList(&design, &apsDroidTemplates[i]); } } } // Add all templates to static template list - pDroidDesign->prefab = true; // prefabricated templates referenced from VLOs - addTemplateToList(pDroidDesign, &apsStaticTemplates); + design.prefab = true; // prefabricated templates referenced from VLOs + addTemplateToList(&design, &apsStaticTemplates); } - //increment the pointer to the start of the next record - pDroidData = strchr(pDroidData,'\n') + 1; - debug(LOG_NEVER, "(default) Droid template found, aName: %s, MP ID: %d, ref: %u, pname: %s, prefab: %s, type:%d (loading)", - pDroidDesign->aName, pDroidDesign->multiPlayerID, pDroidDesign->ref, pDroidDesign->pName, pDroidDesign->prefab ? "yes":"no",pDroidDesign->droidType); + design.aName, design.multiPlayerID, design.ref, design.pName, design.prefab ? "yes":"no", design.droidType); } ASSERT_OR_RETURN(false, bDefaultTemplateFound, "Default template not found"); @@ -1968,31 +1757,16 @@ DROID_TYPE droidType(DROID *psDroid) /* Return the type of a droid from it's template */ DROID_TYPE droidTemplateType(DROID_TEMPLATE *psTemplate) { - DROID_TYPE type; + DROID_TYPE type = DROID_DEFAULT; - if (psTemplate->droidType == DROID_PERSON) + if (psTemplate->droidType == DROID_PERSON || + psTemplate->droidType == DROID_CYBORG || + psTemplate->droidType == DROID_CYBORG_SUPER || + psTemplate->droidType == DROID_CYBORG_CONSTRUCT || + psTemplate->droidType == DROID_CYBORG_REPAIR || + psTemplate->droidType == DROID_TRANSPORTER) { - type = DROID_PERSON; - } - else if (psTemplate->droidType == DROID_CYBORG) - { - type = DROID_CYBORG; - } - else if (psTemplate->droidType == DROID_CYBORG_SUPER) - { - type = DROID_CYBORG_SUPER; - } - else if (psTemplate->droidType == DROID_CYBORG_CONSTRUCT) - { - type = DROID_CYBORG_CONSTRUCT; - } - else if (psTemplate->droidType == DROID_CYBORG_REPAIR) - { - type = DROID_CYBORG_REPAIR; - } - else if (psTemplate->droidType == DROID_TRANSPORTER) - { - type = DROID_TRANSPORTER; + type = psTemplate->droidType; } else if (psTemplate->asParts[COMP_BRAIN] != 0) { @@ -2023,10 +1797,6 @@ DROID_TYPE droidTemplateType(DROID_TEMPLATE *psTemplate) { type = DROID_WEAPON; } - else - { - type = DROID_DEFAULT; - } return type; } @@ -2034,43 +1804,35 @@ DROID_TYPE droidTemplateType(DROID_TEMPLATE *psTemplate) //Load the weapons assigned to Droids in the Access database BOOL loadDroidWeapons(const char *pWeaponData, UDWORD bufferSize) { - int NumWeapons = numCR(pWeaponData, bufferSize); - int SkippedWeaponCount = 0; - int line = 0; + TableView table(pWeaponData, bufferSize); - ASSERT_OR_RETURN(false, NumWeapons > 0, "template without weapons"); - - for (line = 0; line < NumWeapons; line++) + for (unsigned i = 0; i < table.size(); ++i) { + LineView line(table, i); + DROID_TEMPLATE *pTemplate; - int player, i, j; - char WeaponName[DROID_MAXWEAPS][MAX_STR_LENGTH] = {{'\0'}}; - char TemplateName[MAX_STR_LENGTH] = {'\0'}; + std::string templateName = line.s(0); - //read the data into the storage - the data is delimeted using comma's - sscanf(pWeaponData, "%[^','],%[^','],%[^','],%[^','],%d", - TemplateName, WeaponName[0], WeaponName[1], WeaponName[2], &player); - - for (i = 0; i < MAX_PLAYERS + 1; i++) + for (int player = 0; player < MAX_PLAYERS + 1; ++player) { - if (i < MAX_PLAYERS) // a player + if (player < MAX_PLAYERS) // a player { - if (!isHumanPlayer(i)) + if (!isHumanPlayer(player)) { continue; // no need to add to AIs, they use the static list } - pTemplate = getTemplateFromUniqueName(TemplateName, i); + pTemplate = getTemplateFromUniqueName(templateName.c_str(), player); } else // special exception - the static list { // Add weapons to static list - pTemplate = getTemplateFromTranslatedNameNoPlayer(TemplateName); + pTemplate = getTemplateFromTranslatedNameNoPlayer(templateName.c_str()); } /* if Template not found - try default design */ if (!pTemplate) { - if (strcmp(TemplateName, sDefaultDesignTemplate.pName) == 0) + if (templateName == sDefaultDesignTemplate.pName) { pTemplate = &sDefaultDesignTemplate; } @@ -2082,30 +1844,23 @@ BOOL loadDroidWeapons(const char *pWeaponData, UDWORD bufferSize) ASSERT_OR_RETURN(false, pTemplate->numWeaps <= DROID_MAXWEAPS, "stack corruption unavoidable"); - for (j = 0; j < pTemplate->numWeaps; j++) + for (unsigned j = 0; j < pTemplate->numWeaps; j++) { - int incWpn = getCompFromName(COMP_WEAPON, WeaponName[j]); + int incWpn = getCompFromName(COMP_WEAPON, line.s(1 + j).c_str()); - ASSERT_OR_RETURN(false, incWpn != -1, "Unable to find Weapon %s for template %s", WeaponName[j], TemplateName); + ASSERT_OR_RETURN(false, incWpn != -1, "Unable to find Weapon %s for template %s", line.s(1 + j).c_str(), templateName.c_str()); //Weapon found, alloc this to the current Template pTemplate->asWeaps[pTemplate->storeCount] = incWpn; //check valid weapon/propulsion - ASSERT_OR_RETURN(false, pTemplate->storeCount <= pTemplate->numWeaps, "Allocating more weapons than allowed for Template %s", - TemplateName); - ASSERT_OR_RETURN(false, checkValidWeaponForProp(pTemplate), "Weapon is invalid for air propulsion for template %s", - pTemplate->aName); + ASSERT_OR_RETURN(false, pTemplate->storeCount <= pTemplate->numWeaps, "Allocating more weapons than allowed for Template %s", templateName.c_str()); + ASSERT_OR_RETURN(false, checkValidWeaponForProp(pTemplate), "Weapon is invalid for air propulsion for template %s", templateName.c_str()); pTemplate->storeCount++; } } - - //increment the pointer to the start of the next record - pWeaponData = strchr(pWeaponData, '\n') + 1; } - ASSERT_OR_RETURN(false, SkippedWeaponCount == 0, "Illegal player number in %d droid weapons", SkippedWeaponCount); - return true; } @@ -2125,7 +1880,7 @@ BOOL droidTemplateShutDown(void) free(pTemplate->pName); } ASSERT(!pTemplate->prefab, "Static template %s in player template list!", pTemplate->aName); - free(pTemplate); + delete pTemplate; } apsDroidTemplates[player] = NULL; } @@ -2137,7 +1892,7 @@ BOOL droidTemplateShutDown(void) free(pTemplate->pName); } ASSERT(pTemplate->prefab, "Player template %s in static template list!", pTemplate->aName); - free(pTemplate); + delete pTemplate; } apsStaticTemplates = NULL; free(sDefaultDesignTemplate.pName); @@ -3207,7 +2962,7 @@ DROID_TEMPLATE * getTemplateFromUniqueName(const char *pName, unsigned int playe * \param pName Template name * \pre pName has to be the unique, untranslated name! */ -DROID_TEMPLATE *getTemplateFromTranslatedNameNoPlayer(char *pName) +DROID_TEMPLATE *getTemplateFromTranslatedNameNoPlayer(char const *pName) { const char *rName; DROID_TEMPLATE *psCurr; @@ -3735,7 +3490,7 @@ BOOL droidIsDamaged(DROID *psDroid) } -BOOL getDroidResourceName(char *pName) +char const *getDroidResourceName(char const *pName) { /* See if the name has a string resource associated with it by trying * to get the string resource. @@ -3745,13 +3500,9 @@ BOOL getDroidResourceName(char *pName) if (!name) { debug(LOG_ERROR, "Unable to find string resource for string with ID \"%s\"", pName); - return false; } - // Copy the retrieved string into the output parameter - strcpy(pName, name); - - return true; + return name; } @@ -4618,10 +4369,9 @@ void deleteTemplateFromProduction(DROID_TEMPLATE *psTemplate, UBYTE player, QUEU } else { - DROID_TEMPLATE *oldTemplate = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); + DROID_TEMPLATE *oldTemplate = new DROID_TEMPLATE(*psFactory->psSubject); debug(LOG_ERROR, "TODO: Fix this memory leak when deleting templates."); - *oldTemplate = *psFactory->psSubject; oldTemplate->pName = NULL; oldTemplate->psNext = NULL; diff --git a/src/droid.h b/src/droid.h index f442d10fa..b575f1212 100644 --- a/src/droid.h +++ b/src/droid.h @@ -222,7 +222,7 @@ extern DROID_TEMPLATE *GetAIDroidTemplate(char *aName); /* gets a template from its name - relies on the name being unique */ extern DROID_TEMPLATE * getTemplateFromUniqueName(const char *pName, unsigned int player); /* gets a template from its name - relies on the name being unique */ -extern DROID_TEMPLATE* getTemplateFromTranslatedNameNoPlayer(char *pName); +extern DROID_TEMPLATE* getTemplateFromTranslatedNameNoPlayer(char const *pName); /*getTemplateFromMultiPlayerID gets template for unique ID searching all lists */ extern DROID_TEMPLATE* getTemplateFromMultiPlayerID(UDWORD multiPlayerID); @@ -289,7 +289,7 @@ extern UDWORD getSelectedCommander( void ); extern void setSelectedCommander(UDWORD commander); -extern BOOL getDroidResourceName(char *pName); +extern char const *getDroidResourceName(char const *pName); /*checks to see if an electronic warfare weapon is attached to the droid*/ diff --git a/src/droiddef.h b/src/droiddef.h index 81ef2b87a..e5c74dd78 100644 --- a/src/droiddef.h +++ b/src/droiddef.h @@ -94,13 +94,14 @@ typedef std::vector OrderList; struct DROID_TEMPLATE : public BASE_STATS { + DROID_TEMPLATE(); + DROID_TEMPLATE(LineView line); + // On the PC the pName entry in STATS_BASE is redundant and can be assumed to be NULL, /// on the PC this contains the full editable UTF-8 encoded name of the template char aName[MAX_STR_LENGTH]; - UBYTE NameVersion; //< Version number used in name (e.g. Viper Mk "I" would be stored as 1 - Viper Mk "X" as 10) - /*! * The droid components. * @@ -152,7 +153,6 @@ struct DROID : public BASE_OBJECT UDWORD baseSpeed; ///< the base speed dependant on propulsion type UDWORD originalBody; ///< the original body points uint32_t experience; - UBYTE NameVersion; ///< Version number used for generating on-the-fly names (e.g. Viper Mk "I" would be stored as 1 - Viper Mk "X" as 10) - copied from droid template int lastFrustratedTime; ///< Set when eg being stuck; used for eg firing indiscriminately at map features to clear the way (note: signed, so wrap arounds after 24.9 days) diff --git a/src/game.cpp b/src/game.cpp index bb336fe35..503ffd8cb 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2730,7 +2730,7 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User pTemplate = pNext) { pNext = pTemplate->psNext; - free(pTemplate); + delete pTemplate; } apsDroidTemplates[0] = NULL; } @@ -2745,7 +2745,7 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User { DROID_TEMPLATE *psTempl; psTempl = apsDroidTemplates[inc]->psNext; - free(apsDroidTemplates[inc]); + delete apsDroidTemplates[inc]; apsDroidTemplates[inc] = psTempl; } } @@ -8729,7 +8729,7 @@ BOOL loadSaveTemplateV7(char *pFileData, UDWORD filesize, UDWORD numTemplates) } //create the Template - psTemplate = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); + psTemplate = new DROID_TEMPLATE; if (psTemplate == NULL) { debug(LOG_FATAL, "loadSaveTemplateV7: Out of memory"); @@ -8769,7 +8769,7 @@ BOOL loadSaveTemplateV7(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (!found) { //ignore this record - free(psTemplate); + delete psTemplate; continue; } psTemplate->numWeaps = psSaveTemplate->numWeaps; @@ -8793,7 +8793,7 @@ BOOL loadSaveTemplateV7(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (!found) { //ignore this record - free(psTemplate); + delete psTemplate; continue; } @@ -8856,7 +8856,7 @@ BOOL loadSaveTemplateV14(char *pFileData, UDWORD filesize, UDWORD numTemplates) } //create the Template - psTemplate = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); + psTemplate = new DROID_TEMPLATE; if (psTemplate == NULL) { debug(LOG_ERROR, "loadSaveTemplateV14: Out of memory"); @@ -8897,7 +8897,7 @@ BOOL loadSaveTemplateV14(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (!found) { //ignore this record - free(psTemplate); + delete psTemplate; continue; } psTemplate->numWeaps = psSaveTemplate->numWeaps; @@ -8920,7 +8920,7 @@ BOOL loadSaveTemplateV14(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (!found) { //ignore this record - free(psTemplate); + delete psTemplate; continue; } @@ -8949,7 +8949,7 @@ BOOL loadSaveTemplateV14(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (psDestTemplate != NULL) { psTemplate->psNext = psDestTemplate->psNext;//preserve the list - memcpy(psDestTemplate,psTemplate,sizeof(DROID_TEMPLATE)); + *psDestTemplate = *psTemplate; } else { @@ -9010,7 +9010,7 @@ BOOL loadSaveTemplateV(char *pFileData, UDWORD filesize, UDWORD numTemplates) } //create the Template - psTemplate = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); + psTemplate = new DROID_TEMPLATE; if (psTemplate == NULL) { debug(LOG_FATAL, "loadSaveTemplateV: Out of memory"); @@ -9068,7 +9068,7 @@ BOOL loadSaveTemplateV(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (!found) { //ignore this record - free(psTemplate); + delete psTemplate; continue; } psTemplate->numWeaps = psSaveTemplate->numWeaps; @@ -9092,7 +9092,7 @@ BOOL loadSaveTemplateV(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (!found) { //ignore this record - free(psTemplate); + delete psTemplate; continue; } @@ -9121,7 +9121,7 @@ BOOL loadSaveTemplateV(char *pFileData, UDWORD filesize, UDWORD numTemplates) if (psDestTemplate != NULL) { psTemplate->psNext = psDestTemplate->psNext;//preserve the list - memcpy(psDestTemplate,psTemplate,sizeof(DROID_TEMPLATE)); + *psDestTemplate = *psTemplate; } else { diff --git a/src/keybind.cpp b/src/keybind.cpp index 8e54939b4..2119bf906 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -346,7 +346,7 @@ void kf_CloneSelected( void ) debug(LOG_ERROR, "We can't find the template for this droid: %s, id:%u, type:%d!", psDroid->aName, psDroid->id, psDroid->droidType); return; } - memcpy(&sTemplate, sTemplate2, sizeof(DROID_TEMPLATE)); + sTemplate = *sTemplate2; templateSetParts(psDroid, &sTemplate); // create a new droid diff --git a/src/multiopt.cpp b/src/multiopt.cpp index f7a396a7a..aaa549ffb 100644 --- a/src/multiopt.cpp +++ b/src/multiopt.cpp @@ -354,14 +354,7 @@ BOOL multiShutdown(void) // copy templates from one player to another. BOOL addTemplateToList(DROID_TEMPLATE *psNew, DROID_TEMPLATE **ppList) { - DROID_TEMPLATE *psTempl = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); - - if (psTempl == NULL) - { - debug(LOG_ERROR, "addTemplate: Out of memory"); - return false; - } - memcpy(psTempl, psNew, sizeof(DROID_TEMPLATE)); + DROID_TEMPLATE *psTempl = new DROID_TEMPLATE(*psNew); psTempl->pName = NULL; if (psNew->pName) diff --git a/src/multiplay.cpp b/src/multiplay.cpp index 91aaf9fdb..f59c1f3ac 100644 --- a/src/multiplay.cpp +++ b/src/multiplay.cpp @@ -1450,7 +1450,6 @@ BOOL sendTemplate(DROID_TEMPLATE *pTempl) NETuint8_t(&player); NETuint32_t(&pTempl->ref); NETstring(pTempl->aName, sizeof(pTempl->aName)); - NETuint8_t(&pTempl->NameVersion); for (i = 0; i < ARRAY_SIZE(pTempl->asParts); ++i) { @@ -1488,7 +1487,6 @@ BOOL recvTemplate(NETQUEUE queue) NETuint32_t(&pT->ref); NETstring(pT->aName, sizeof(pT->aName)); - NETuint8_t(&pT->NameVersion); for (i = 0; i < ARRAY_SIZE(pT->asParts); ++i) { @@ -1520,7 +1518,7 @@ BOOL recvTemplate(NETQUEUE queue) if (psTempl) { t.psNext = psTempl->psNext; - memcpy(psTempl, &t, sizeof(DROID_TEMPLATE)); + *psTempl = t; debug(LOG_SYNC, "Updating MP template %d", (int)t.multiPlayerID); } else @@ -1588,7 +1586,7 @@ static BOOL recvDestroyTemplate(NETQUEUE queue) // Delete the template. //before deleting the template, need to make sure not being used in production deleteTemplateFromProduction(psTempl, player, ModeImmediate); - free(psTempl); + delete psTempl; } else { diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index df8f6e4e5..eb5d5aa5c 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -6569,16 +6569,13 @@ BOOL scrIsVtol(void) // do the setting up of the template list for the tutorial. +// This function looks like it searches for a template called "ViperLtMGWheels", and deletes it. Why? BOOL scrTutorialTemplates(void) { DROID_TEMPLATE *psCurr, *psPrev; - char pName[MAX_STR_LENGTH]; // find ViperLtMGWheels - sstrcpy(pName, "ViperLtMGWheels"); - - getDroidResourceName(pName); - + char const *pName = getDroidResourceName("ViperLtMGWheels"); for (psCurr = apsDroidTemplates[selectedPlayer],psPrev = NULL; psCurr != NULL; @@ -6603,7 +6600,7 @@ BOOL scrTutorialTemplates(void) // Delete the template. if(psCurr) { - free(psCurr); + delete psCurr; } else { @@ -10848,15 +10845,13 @@ BOOL scrAssembleWeaponTemplate(void) return false; } - pNewTemplate = (DROID_TEMPLATE *)malloc(sizeof(DROID_TEMPLATE)); + pNewTemplate = new DROID_TEMPLATE; if (pNewTemplate == NULL) { debug(LOG_ERROR, "pNewTemplate: Out of memory"); return false; } - memset(pNewTemplate, 0, sizeof(DROID_TEMPLATE)); - // set template body pNewTemplate->asParts[COMP_BODY] = bodyIndex; @@ -10911,7 +10906,7 @@ BOOL scrAssembleWeaponTemplate(void) else { // free resources - free(pNewTemplate); + delete pNewTemplate; // already exists, so return it pNewTemplate = tempTemplate; diff --git a/src/statsdef.h b/src/statsdef.h index ad0f43db8..4ca67460f 100644 --- a/src/statsdef.h +++ b/src/statsdef.h @@ -354,7 +354,7 @@ enum TRAVEL_MEDIUM /* Stats common to all stats structs */ struct BASE_STATS { - BASE_STATS() : ref(0), pName(NULL) {} ///< Only initialised here when using new/delete! TODO Use new/delete only, not malloc()/free(). + BASE_STATS(unsigned ref = 0) : ref(ref), pName(NULL) {} ///< Only initialised here when using new/delete! TODO Use new/delete only, not malloc()/free(). BASE_STATS(unsigned ref, std::string const &str); ///< Only initialised here when using new/delete! TODO Use new/delete only, not malloc()/free(). TODO Then pName could be a QString... //Gah, too soon to add destructors to BASE_STATS, thanks to local temporaries that are copied with memcpy()... --- virtual ~BASE_STATS() { free(pName); } ///< pName is only freed here when using new/delete! TODO Use new/delete only, not malloc()/free(). //So this one isn't needed for now, maybe not ever. --- BASE_STATS(BASE_STATS const &stats) : ref(stats.ref), pName(strdup(stats.pName)) {} // TODO Not needed when pName is a QString... From 6a99f4426599f4bf377be01b1e2676bbd97562a9 Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 4 Jan 2011 23:47:43 +0100 Subject: [PATCH 089/142] Add some comments on the stats loading. --- src/stats.cpp | 7 +++++-- src/statsdef.h | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/stats.cpp b/src/stats.cpp index d90030e3f..0d445c4d6 100644 --- a/src/stats.cpp +++ b/src/stats.cpp @@ -133,6 +133,7 @@ BASE_STATS::BASE_STATS(unsigned ref, std::string const &str) {} +// This constructor parses the file data in buffer, and stores a pointer to the buffer, along with a list of the starts and ends of each cell in the table. TableView::TableView(char const *buffer, unsigned size) : buffer(buffer) { @@ -173,9 +174,9 @@ TableView::TableView(char const *buffer, unsigned size) char const *cellEnd = std::find(cellBegin, lineEnd, ','); cellNext = cellEnd + (cellEnd != lineEnd); - cells.push_back(cellBegin - buffer); + cells.push_back(cellBegin - buffer); // Save the offset of the cell. The size of the cell is then the next offset minus 1 (the ',') minus this offset. } - cells.push_back(lineEnd - buffer + 1); + cells.push_back(lineEnd - buffer + 1); // Save the end of the last cell, must add 1 to skip a fake ',', because the code later assumes it's the start of a following cell. lines.push_back(std::make_pair(firstCell, cells.size() - firstCell)); } } @@ -192,12 +193,14 @@ void LineView::setError(unsigned index, char const *error) char const *cellBegin = table.buffer + cells[index]; char const *cellEnd = table.buffer + (cells[index + 1] - 1); + // Print the location and contents of the cell along with the error message. char cellDesc[150]; ssprintf(cellDesc, "Line %u, column %d \"%.*s\": ", lineNumber, index, std::min(100, cellEnd - cellBegin), cellBegin); table.parseError = QString::fromUtf8((std::string(cellDesc) + error).c_str()); } else { + // The cell does not exist. Print the location of where the cell would have been along with the error message. char cellDesc[50]; ssprintf(cellDesc, "Line %u, column %d: ", lineNumber, index); table.parseError = QString::fromUtf8((std::string(cellDesc) + error).c_str()); diff --git a/src/statsdef.h b/src/statsdef.h index 4ca67460f..89668214c 100644 --- a/src/statsdef.h +++ b/src/statsdef.h @@ -91,8 +91,8 @@ class TableView public: TableView(char const *buffer, unsigned size); - bool isError() const { return !parseError.isEmpty(); } - QString getError() const { return parseError; } + bool isError() const { return !parseError.isEmpty(); } ///< If returning true, there was an error parsing the table. + QString getError() const { return parseError; } ///< Returns an error message about what went wrong. unsigned size() const { return lines.size(); } @@ -100,7 +100,7 @@ private: friend class LineView; char const * buffer; std::vector cells; - std::vector > lines; + std::vector > lines; // List of pairs of offsets into the cells array and the number of cells in the line. QString parseError; std::string returnString; }; @@ -111,13 +111,16 @@ class LineView public: LineView(class TableView &table, unsigned lineNumber) : table(table), cells(&table.cells[table.lines.at(lineNumber).first]), numCells(table.lines.at(lineNumber).second), lineNumber(lineNumber) {} ///< This LineView is only valid for the lifetime of the TableView. - bool isError() const { return !table.parseError.isEmpty(); } + bool isError() const { return !table.parseError.isEmpty(); } ///< If returning true, there was an error parsing the table. void setError(unsigned index, char const *error); ///< Only the first error is saved. unsigned size() const { return numCells; } unsigned line() const { return lineNumber; } + /// Function for reading a bool (in the form of "0" or "1") in the line. bool b(unsigned index) { return i(index, 0, 1); } + + /// Functions for reading integers in the line. int64_t i(unsigned index, int64_t min, int64_t max); uint32_t i8(unsigned index) { return i(index, INT8_MIN, INT8_MAX); } uint32_t u8(unsigned index) { return i(index, 0, UINT8_MAX); } @@ -125,14 +128,23 @@ public: uint32_t u16(unsigned index) { return i(index, 0, UINT16_MAX); } uint32_t i32(unsigned index) { return i(index, INT32_MIN, INT32_MAX); } uint32_t u32(unsigned index) { return i(index, 0, UINT32_MAX); } + + /// Function for reading a float in the line. (Should not use the result to affect game state.) float f(unsigned index, float min = -1.e30f, float max = 1.e30f); + + /// Function for reading the raw contents of the cell as a string. std::string const &s(unsigned index); + + // Function for reading enum values. The StringToEnum map should give a list of strings and corresponding enum values. template Enum e(unsigned index, StringToEnumMap const &map) { return (Enum)eu(index, map); } template Enum e(unsigned index, StringToEnum const (&map)[N]) { return e(index, StringToEnumMap::FromArray(map)); } + /// Returns the .pie file data referenced by the cell. May return NULL without error if the cell is "0" and accept0AsNULL is true. iIMDShape *imdShape(unsigned index, bool accept0AsNULL = false); + + /// Returns the STATS * in the given list with the same name as this cell. May return NULL without error if the cell is "0" and accept0AsNULL is true. template inline STATS *stats(unsigned index, STATS *asStats, unsigned numStats, bool accept0AsNULL = false) { @@ -148,6 +160,7 @@ public: } return ret; } + /// Returns the STATS * in the given list with the same name as this cell. May return NULL without error if the cell is "0" and accept0AsNULL is true. template inline STATS *stats(unsigned index, STATS **asStats, unsigned numStats, bool accept0AsNULL = false) { From 7f5da6ad47ee857a431a0b0423aac356fe08b0b4 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 5 Jan 2011 23:09:38 +0100 Subject: [PATCH 090/142] Use more of MAX_PLAYERS in the code rather than plain numbers. Define MAX_PLAYERS for scripts. From patch by Cyp. --- data/base/multiplay/skirmish/ai.slo | 1 - data/base/multiplay/skirmish/rules.slo | 4 ++-- .../dydo-ai/multiplay/skirmish/ai.slo | 1 - .../semperfi/multiplay/skirmish/ai.slo | 1 - lib/netplay/netplay.h | 2 +- src/mission.cpp | 2 +- src/mission.h | 4 ++-- src/scripttabs.cpp | 2 ++ src/structure.cpp | 18 ++---------------- 9 files changed, 10 insertions(+), 25 deletions(-) diff --git a/data/base/multiplay/skirmish/ai.slo b/data/base/multiplay/skirmish/ai.slo index 272b5cef0..48dd76db9 100644 --- a/data/base/multiplay/skirmish/ai.slo +++ b/data/base/multiplay/skirmish/ai.slo @@ -30,7 +30,6 @@ // Base threat range in world units #define W_BASE_THREAT_RANGE ((17 + (mapWidth + mapHeight) / 2 / 35) * TILE) #define ALL_ALLIES -1 -#define MAX_PLAYERS 8 #define BASE_DEFEND_DURATION (3 * 60) #define BASE_DEFEND_RADIUS (15 * TILE) diff --git a/data/base/multiplay/skirmish/rules.slo b/data/base/multiplay/skirmish/rules.slo index 1d4e443cb..b721cabea 100644 --- a/data/base/multiplay/skirmish/rules.slo +++ b/data/base/multiplay/skirmish/rules.slo @@ -62,7 +62,7 @@ event initialisedEvent(CALL_GAMEINIT) addReticuleButton(DESIGN); playnum = 0; - while (playnum < 8) + while (playnum < MAX_PLAYERS) { enableStructure(command ,playnum); //make structures available to build enableStructure(factory ,playnum); @@ -86,7 +86,7 @@ event initialisedEvent(CALL_GAMEINIT) event initialisedEventTwo(CALL_GAMEINIT) { playnum = 0; - while (playnum < 8) + while (playnum < MAX_PLAYERS) { count = 0; while (count < numBaseRes) diff --git a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo b/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo index ed9ef35f7..1655f750c 100644 --- a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo +++ b/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo @@ -101,7 +101,6 @@ Improve the way the units are gathered. dyDo should be abale to attack from vari #define EVENT_CHECK_NUMBER 23 #define NUM_AI_PERSONALITIES 4 -#define MAX_PLAYERS 8 #define TILE 128 #define MAX_DROIDS 150 diff --git a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo b/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo index bbb3eaa27..462325f99 100644 --- a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo +++ b/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo @@ -30,7 +30,6 @@ // Base threat range in world units #define W_BASE_THREAT_RANGE ((17 + (mapWidth + mapHeight) / 2 / 35) * TILE) #define ALL_ALLIES -1 -#define MAX_PLAYERS 8 #define BASE_DEFEND_DURATION (3 * 60) #define BASE_DEFEND_RADIUS (15 * TILE) diff --git a/lib/netplay/netplay.h b/lib/netplay/netplay.h index e4339ff22..ad05fe0a9 100644 --- a/lib/netplay/netplay.h +++ b/lib/netplay/netplay.h @@ -136,7 +136,7 @@ typedef enum #define SESSION_JOINDISABLED 1 -#define MAX_CONNECTED_PLAYERS 8 +#define MAX_CONNECTED_PLAYERS MAX_PLAYERS #define MAX_TMP_SOCKETS 16 typedef struct { //Available game storage... JUST FOR REFERENCE! diff --git a/src/mission.cpp b/src/mission.cpp index c54d7d918..eb412682c 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -638,7 +638,7 @@ void missionFlyTransportersIn( SDWORD iPlayer, BOOL bTrackTransporter ) UWORD iX, iY, iZ; SDWORD iLandX, iLandY, iDx, iDy; - ASSERT_OR_RETURN(, iPlayer < 8, "Flying nonexistent player %d's transporters in", iPlayer); + ASSERT_OR_RETURN(, iPlayer < MAX_PLAYERS, "Flying nonexistent player %d's transporters in", iPlayer); bTrackingTransporter = bTrackTransporter; diff --git a/src/mission.h b/src/mission.h index a774f3aa9..55e764eda 100644 --- a/src/mission.h +++ b/src/mission.h @@ -34,8 +34,8 @@ * The number of areas that can be defined to prevent buildings being placed - * used for Transporter Landing Zones 0-7 are for players, 8 = LIMBO_LANDING */ -#define MAX_NOGO_AREAS 9 -#define LIMBO_LANDING 8 +#define MAX_NOGO_AREAS (MAX_PLAYERS + 1) +#define LIMBO_LANDING MAX_PLAYERS /** Set by scrFlyInTransporter. True if were currenly tracking the transporter. */ extern BOOL bTrackingTransporter; diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index 5e9bc9a45..743097e8b 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -2004,6 +2004,8 @@ CONST_SYMBOL asConstantTable[] = // multiplayer + { "MAX_PLAYERS", VAL_INT, false, MAX_PLAYERS, NULL, NULL, 0.0f }, + { "CAMPAIGN", VAL_INT, false, CAMPAIGN, NULL, NULL, 0.0f }, { "SKIRMISH", VAL_INT, false, SKIRMISH, NULL, NULL, 0.0f }, diff --git a/src/structure.cpp b/src/structure.cpp index 551bf628b..d67bf203f 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -2543,9 +2543,6 @@ static bool IsFactoryCommanderGroupFull(const FACTORY* psFactory) // Disallow manufacture of units once these limits are reached, // doesn't mean that these numbers can't be exceeded if units are // put down in the editor or by the scripts. -static UWORD MaxDroidsAllowedPerPlayer[MAX_PLAYERS] = {100, 999, 999, 999, 999, 999, 999, 999}; -// FIXME: We should have this variable user defined. -static UWORD MaxDroidsAllowedPerPlayerMultiPlayer[MAX_PLAYERS] = {450, 450, 450, 450, 450, 450, 450, 450}; BOOL IsPlayerStructureLimitReached(UDWORD PlayerNumber) { @@ -2556,7 +2553,7 @@ BOOL IsPlayerStructureLimitReached(UDWORD PlayerNumber) UDWORD getMaxDroids(UDWORD PlayerNumber) { - return (bMultiPlayer ? MaxDroidsAllowedPerPlayerMultiPlayer[PlayerNumber] : MaxDroidsAllowedPerPlayer[PlayerNumber] ); + return bMultiPlayer? 450 : PlayerNumber == 0? 100 : 999; } @@ -2565,18 +2562,7 @@ BOOL IsPlayerDroidLimitReached(UDWORD PlayerNumber) { unsigned int numDroids = getNumDroids(PlayerNumber) + getNumMissionDroids(PlayerNumber) + getNumTransporterDroids(PlayerNumber); - if (bMultiPlayer) - { - if ( numDroids >= MaxDroidsAllowedPerPlayerMultiPlayer[PlayerNumber] ) - return true; - } - else - { - if( numDroids >= MaxDroidsAllowedPerPlayer[PlayerNumber] ) - return true; - } - - return false; + return numDroids >= getMaxDroids(PlayerNumber); } From d8b042cc45a0e08896fb44ac1fc917c2e9e6860b Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 6 Jan 2011 09:42:49 +0100 Subject: [PATCH 091/142] Fix std::vector initialised with NULL. From 9cdf0c4e31df6b91345e31a29d23393d1e6293a1, gave a -Werror with gcc-4.5.*. --- src/structuredef.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/structuredef.h b/src/structuredef.h index 6771c7bee..e9cead67a 100644 --- a/src/structuredef.h +++ b/src/structuredef.h @@ -104,7 +104,7 @@ enum STRUCT_ANIM_STATES //this structure is used to hold the permenant stats for each type of building struct STRUCTURE_STATS : public BASE_STATS { - STRUCTURE_STATS() : asFuncList(NULL) {} + STRUCTURE_STATS() {} STRUCTURE_STATS(LineView line); STRUCTURE_TYPE type; /* the type of structure */ From 642bf5ffd00e4f72389b087c92fe0faed21a628c Mon Sep 17 00:00:00 2001 From: Cyp Date: Fri, 7 Jan 2011 18:17:01 +0100 Subject: [PATCH 092/142] Don't delete pathfinding jobs before execution, even if the result is not wanted. Pathfinding can return different paths (of the same length), depending on the order of execution of path jobs, due to caching. This, combined with paths being deleted before execution could cause occasional hard to reproduce desynchs. Probably fixes ticket:2374. --- src/fpath.cpp | 311 +++++++++++++++----------------------------------- src/fpath.h | 18 +-- 2 files changed, 105 insertions(+), 224 deletions(-) diff --git a/src/fpath.cpp b/src/fpath.cpp index bf97c033c..cc980e9af 100644 --- a/src/fpath.cpp +++ b/src/fpath.cpp @@ -53,14 +53,12 @@ static volatile bool fpathQuit = false; #define LIFT_BLOCK_HEIGHT_MEDIUMBODY 350 #define LIFT_BLOCK_HEIGHT_HEAVYBODY 350 -typedef struct _jobDone +struct PATHRESULT { UDWORD droidID; ///< Unique droid ID. MOVE_CONTROL sMove; ///< New movement values for the droid. - struct _jobDone *next; ///< Next result in the list. FPATH_RETVAL retval; ///< Result value from path-finding. - bool done; ///< If the result is finished and ready for use. -} PATHRESULT; +}; #define NUM_BASIC 8 @@ -78,8 +76,8 @@ static const Vector2i aDirOffset[NUM_DIR] = static WZ_THREAD *fpathThread = NULL; static WZ_MUTEX *fpathMutex = NULL; static WZ_SEMAPHORE *fpathSemaphore = NULL; -static PATHJOB *firstJob = NULL; -static PATHRESULT *firstResult = NULL; +static std::list pathJobs; +static std::list pathResults; static bool waitingForResult = false; static uint32_t waitingForResultId; @@ -88,69 +86,14 @@ static WZ_SEMAPHORE *waitingForResultSemaphore = NULL; static void fpathExecute(PATHJOB *psJob, PATHRESULT *psResult); -/** Find the length of the job queue. Function is thread-safe. */ -static int fpathJobQueueLength(void) -{ - PATHJOB *psJob; - int count = 0; - - wzMutexLock(fpathMutex); - psJob = firstJob; - while (psJob) - { - count++; - psJob = psJob->next; - } - wzMutexUnlock(fpathMutex); - return count; -} - - -/** Find the length of the result queue, excepting future results. Function is thread-safe. */ -static int fpathResultQueueLength(void) -{ - PATHRESULT *psResult; - int count = 0; - - wzMutexLock(fpathMutex); - psResult = firstResult; - while (psResult) - { - if (psResult->done) - { - count++; - } - psResult = psResult->next; - } - wzMutexUnlock(fpathMutex); - return count; -} - - /** This runs in a separate thread */ -static int fpathThreadFunc(WZ_DECL_UNUSED void *data) +static int fpathThreadFunc(void *) { wzMutexLock(fpathMutex); while (!fpathQuit) { - PATHJOB job; - PATHRESULT *psResult, result; - bool gotWork = false; - - // Pop the first job off the queue - if (firstJob) - { - PATHJOB *next = firstJob->next; - - job = *firstJob; // struct copy - job.next = NULL; - free(firstJob); - firstJob = next; - gotWork = true; - } - - if (!gotWork) + if (pathJobs.empty()) { ASSERT(!waitingForResult, "Waiting for a result (id %u) that doesn't exist.", waitingForResultId); wzMutexUnlock(fpathMutex); @@ -159,42 +102,27 @@ static int fpathThreadFunc(WZ_DECL_UNUSED void *data) continue; } - // Create future result - psResult = (PATHRESULT *)malloc(sizeof(*psResult)); - psResult->done = false; - psResult->droidID = job.droidID; - psResult->sMove.asPath = NULL; - psResult->sMove.numPoints = 0; - psResult->retval = FPR_FAILED; - - // Add to beginning of result list - psResult->next = firstResult; - firstResult = psResult; - psResult = NULL; // now hands off + // Copy the first job from the queue. Don't pop yet, since the main thread may want to set .deleted = true. + PATHJOB job = pathJobs.front(); wzMutexUnlock(fpathMutex); // Execute path-finding for this job using our local temporaries - memset(&result, 0, sizeof(result)); - result.sMove.asPath = NULL; + PATHRESULT result; + result.droidID = job.droidID; + memset(&result.sMove, 0, sizeof(result.sMove)); + result.retval = FPR_FAILED; + fpathExecute(&job, &result); wzMutexLock(fpathMutex); - // Find our result again, and replace it with our local temporary - // We do it this way to avoid a race condition where a droid dies - // while we are generating its path, and we never free the result. - psResult = firstResult; - while (psResult && psResult->droidID != job.droidID) + ASSERT(pathJobs.front().droidID == job.droidID, "Bug"); // The front of pathJobs may have .deleted set to true, but should not otherwise have been modified or deleted. + if (!pathJobs.front().deleted) { - psResult = psResult->next; - } - if (psResult) - { - psResult->sMove = result.sMove; // struct copy - psResult->retval = result.retval; - psResult->done = true; + pathResults.push_back(result); } + pathJobs.pop_front(); // Unblock the main thread, if it was waiting for this particular result. if (waitingForResult && waitingForResultId == job.droidID) @@ -393,64 +321,27 @@ void fpathSetDirectRoute(DROID *psDroid, SDWORD targetX, SDWORD targetY) void fpathRemoveDroidData(int id) { - PATHJOB *psJob; - PATHJOB *psPrevJob = NULL; - PATHRESULT *psResult; - PATHRESULT *psPrevResult = NULL; - wzMutexLock(fpathMutex); - psJob = firstJob; - psResult = firstResult; - - while (psJob) + for (std::list::iterator psJob = pathJobs.begin(); psJob != pathJobs.end(); ++psJob) { if (psJob->droidID == id) { - if (psPrevJob) - { - psPrevJob->next = psJob->next; - free(psJob); - psJob = psPrevJob->next; - } - else - { - firstJob = psJob->next; - free(psJob); - psJob = firstJob; - } - } - else - { - psPrevJob = psJob; - psJob = psJob->next; + psJob->deleted = true; // Don't delete the job, since job execution order matters, so tell it to throw away the result after executing, instead. } } - while (psResult) + for (std::list::iterator psResult = pathResults.begin(); psResult != pathResults.end(); ) { if (psResult->droidID == id) { - if (psPrevResult) - { - psPrevResult->next = psResult->next; - free(psResult->sMove.asPath); - free(psResult); - psResult = psPrevResult->next; - } - else - { - firstResult = psResult->next; - free(psResult->sMove.asPath); - free(psResult); - psResult = firstResult; - } + psResult = pathResults.erase(psResult); } else { - psPrevResult = psResult; - psResult = psResult->next; + ++psResult; } } + wzMutexUnlock(fpathMutex); } @@ -458,9 +349,6 @@ void fpathRemoveDroidData(int id) static FPATH_RETVAL fpathRoute(MOVE_CONTROL *psMove, int id, int startX, int startY, int tX, int tY, PROPULSION_TYPE propulsionType, DROID_TYPE droidType, FPATH_MOVETYPE moveType, int owner, bool acceptNearest) { - PATHJOB *psJob = NULL; - int count; - objTrace(id, "called(*,id=%d,sx=%d,sy=%d,ex=%d,ey=%d,prop=%d,type=%d,move=%d,owner=%d)", id, startX, startY, tX, tY, (int)propulsionType, (int)droidType, (int)moveType, owner); // don't have to do anything if already there @@ -475,55 +363,40 @@ static FPATH_RETVAL fpathRoute(MOVE_CONTROL *psMove, int id, int startX, int sta // Check if waiting for a result while (psMove->Status == MOVEWAITROUTE) { - PATHRESULT *psPrev = NULL, *psNext; - objTrace(id, "Checking if we have a path yet"); wzMutexLock(fpathMutex); // psNext should be _declared_ here, after the mutex lock! Used to be a race condition, thanks to -Wdeclaration-after-statement style pseudocompiler compatibility. - psNext = firstResult; - - while (psNext) + for (std::list::iterator psResult = pathResults.begin(); psResult != pathResults.end(); ++psResult) { - if (psNext->droidID == id && psNext->done) + if (psResult->droidID != id) { - FPATH_RETVAL retval; - - ASSERT(psNext->retval != FPR_OK || psNext->sMove.asPath, "Ok result but no path in list"); - - // Remove it from the result list - if (psPrev) - { - psPrev->next = psNext->next; - } - else - { - firstResult = psNext->next; - } - - // Copy over select fields - preserve others - psMove->DestinationX = psNext->sMove.DestinationX; - psMove->DestinationY = psNext->sMove.DestinationY; - psMove->numPoints = psNext->sMove.numPoints; - psMove->Position = 0; - psMove->Status = MOVENAVIGATE; - if (psMove->asPath) - { - free(psMove->asPath); - } - psMove->asPath = psNext->sMove.asPath; - retval = psNext->retval; - ASSERT(retval != FPR_OK || psMove->asPath, "Ok result but no path after copy"); - ASSERT(retval != FPR_OK || psMove->numPoints > 0, "Ok result but path empty after copy"); - free(psNext); - wzMutexUnlock(fpathMutex); - objTrace(id, "Got a path to (%d, %d)! Length=%d Retval=%d", (int)psMove->DestinationX, - (int)psMove->DestinationY, (int)psMove->numPoints, (int)retval); - syncDebug("fpathRoute(..., %d, %d, %d, %d, %d, %d, %d, %d, %d) = %d, path[%d] = %08X->(%d, %d)", id, startX, startY, tX, tY, propulsionType, droidType, moveType, owner, retval, psMove->numPoints, ~crcSumVector2i(0, psMove->asPath, psMove->numPoints), psMove->DestinationX, psMove->DestinationY); - return retval; + continue; // Wrong result, try next one. } - psPrev = psNext; - psNext = psNext->next; + + ASSERT(psResult->retval != FPR_OK || psResult->sMove.asPath, "Ok result but no path in list"); + + // Copy over select fields - preserve others + psMove->DestinationX = psResult->sMove.DestinationX; + psMove->DestinationY = psResult->sMove.DestinationY; + psMove->numPoints = psResult->sMove.numPoints; + psMove->Position = 0; + psMove->Status = MOVENAVIGATE; + free(psMove->asPath); + psMove->asPath = psResult->sMove.asPath; + FPATH_RETVAL retval = psResult->retval; + ASSERT(retval != FPR_OK || psMove->asPath, "Ok result but no path after copy"); + ASSERT(retval != FPR_OK || psMove->numPoints > 0, "Ok result but path empty after copy"); + + // Remove it from the result list + pathResults.erase(psResult); + + wzMutexUnlock(fpathMutex); + + objTrace(id, "Got a path to (%d, %d)! Length=%d Retval=%d", psMove->DestinationX, psMove->DestinationY, psMove->numPoints, (int)retval); + syncDebug("fpathRoute(..., %d, %d, %d, %d, %d, %d, %d, %d, %d) = %d, path[%d] = %08X->(%d, %d)", id, startX, startY, tX, tY, propulsionType, droidType, moveType, owner, retval, psMove->numPoints, ~crcSumVector2i(0, psMove->asPath, psMove->numPoints), psMove->DestinationX, psMove->DestinationY); + + return retval; } objTrace(id, "No path yet. Waiting."); @@ -534,20 +407,19 @@ static FPATH_RETVAL fpathRoute(MOVE_CONTROL *psMove, int id, int startX, int sta } // We were not waiting for a result, and found no trivial path, so create new job and start waiting - psJob = (PATHJOB *)malloc(sizeof(*psJob)); - ASSERT_OR_RETURN(FPR_FAILED, psJob, "Out of memory"); - psJob->origX = startX; - psJob->origY = startY; - psJob->droidID = id; - psJob->destX = tX; - psJob->destY = tY; - psJob->next = NULL; - psJob->droidType = droidType; - psJob->propulsion = propulsionType; - psJob->moveType = moveType; - psJob->owner = owner; - psJob->acceptNearest = acceptNearest; - fpathSetBlockingMap(psJob); + PATHJOB job; + job.origX = startX; + job.origY = startY; + job.droidID = id; + job.destX = tX; + job.destY = tY; + job.droidType = droidType; + job.propulsion = propulsionType; + job.moveType = moveType; + job.owner = owner; + job.acceptNearest = acceptNearest; + job.deleted = false; + fpathSetBlockingMap(&job); // Clear any results or jobs waiting already. It is a vital assumption that there is only one // job or result for each droid in the system at any time. @@ -556,29 +428,16 @@ static FPATH_RETVAL fpathRoute(MOVE_CONTROL *psMove, int id, int startX, int sta wzMutexLock(fpathMutex); // Add to end of list - count = 0; - if (!firstJob) + bool isFirstJob = pathJobs.empty(); + pathJobs.push_back(job); + if (isFirstJob) { - firstJob = psJob; wzSemaphorePost(fpathSemaphore); // Wake up processing thread. } - else - { - PATHJOB *psNext = firstJob; - ++count; - - while (psNext->next != NULL) - { - psNext = psNext->next; - ++count; - } - - psNext->next = psJob; - } wzMutexUnlock(fpathMutex); - objTrace(id, "Queued up a path-finding request to (%d, %d), %d items earlier in queue", tX, tY, count); + objTrace(id, "Queued up a path-finding request to (%d, %d), at least %d items earlier in queue", tX, tY, isFirstJob); syncDebug("fpathRoute(..., %d, %d, %d, %d, %d, %d, %d, %d, %d) = FPR_WAIT", id, startX, startY, tX, tY, propulsionType, droidType, moveType, owner); return FPR_WAIT; // wait while polling result queue } @@ -735,6 +594,30 @@ BOOL fpathTileLOS(DROID *psDroid, Vector3i dest) return !obstruction; } +/** Find the length of the job queue. Function is thread-safe. */ +static int fpathJobQueueLength(void) +{ + int count = 0; + + wzMutexLock(fpathMutex); + count = pathJobs.size(); // O(N) function call for std::list. .empty() is faster, but this function isn't used except in tests. + wzMutexUnlock(fpathMutex); + return count; +} + + +/** Find the length of the result queue, excepting future results. Function is thread-safe. */ +static int fpathResultQueueLength(void) +{ + int count = 0; + + wzMutexLock(fpathMutex); + count = pathResults.size(); // O(N) function call for std::list. .empty() is faster, but this function isn't used except in tests. + wzMutexUnlock(fpathMutex); + return count; +} + + static FPATH_RETVAL fpathSimpleRoute(MOVE_CONTROL *psMove, int id, int startX, int startY, int tX, int tY) { return fpathRoute(psMove, id, startX, startY, tX, tY, PROPULSION_TYPE_WHEELED, DROID_WEAPON, FMT_MOVE, 0, true); @@ -753,10 +636,8 @@ void fpathTest(int x, int y, int x2, int y2) assert(fpathThread != NULL); assert(fpathMutex != NULL); assert(fpathSemaphore != NULL); - assert(firstJob == NULL); - assert(firstResult == NULL); - assert(fpathJobQueueLength() == 0); - assert(fpathResultQueueLength() == 0); + assert(pathJobs.empty()); + assert(pathResults.empty()); fpathRemoveDroidData(0); // should not crash /* This should not leak memory */ @@ -814,10 +695,8 @@ void fpathTest(int x, int y, int x2, int y2) { fpathRemoveDroidData(i); } - assert(fpathJobQueueLength() == 0); - assert(fpathResultQueueLength() == 0); - assert(firstJob == NULL); - assert(firstResult == NULL); + assert(pathJobs.empty()); + assert(pathResults.empty()); } bool fpathCheck(Position orig, Position dest, PROPULSION_TYPE propulsion) diff --git a/src/fpath.h b/src/fpath.h index 06f460365..2782fd37d 100644 --- a/src/fpath.h +++ b/src/fpath.h @@ -32,32 +32,34 @@ * @{ */ -typedef enum _fpath_movetype +enum FPATH_MOVETYPE { FMT_MOVE, ///< Move around all obstacles FMT_ATTACK, ///< Assume that we will destroy enemy obstacles -} FPATH_MOVETYPE; +}; -typedef struct _jobNode +struct PathBlockingMap; + +struct PATHJOB { PROPULSION_TYPE propulsion; DROID_TYPE droidType; int destX, destY; int origX, origY; UDWORD droidID; - struct _jobNode *next; FPATH_MOVETYPE moveType; int owner; ///< Player owner - struct PathBlockingMap *blockingMap; ///< Map of blocking tiles. + PathBlockingMap *blockingMap; ///< Map of blocking tiles. bool acceptNearest; -} PATHJOB; + bool deleted; ///< Droid was deleted, so throw away result when complete. Must still process this PATHJOB, since processing order can affect resulting paths (but can't affect the path length). +}; -typedef enum _fpath_retval +enum FPATH_RETVAL { FPR_OK, ///< found a route FPR_FAILED, ///< failed to find a route FPR_WAIT, ///< route is being calculated by the path-finding thread -} FPATH_RETVAL; +}; /** Initialise the path-finding module. */ From 0782edfce222c32800e122a4c55192b7edef51fb Mon Sep 17 00:00:00 2001 From: Cyp Date: Fri, 7 Jan 2011 19:18:12 +0100 Subject: [PATCH 093/142] Fix desynch when assigning non-artillery to commanders. Fixes ticket:2432 as a side effect. --- src/cmddroid.cpp | 10 ++++---- src/droiddef.h | 8 +++--- src/group.cpp | 63 ++++------------------------------------------ src/group.h | 13 ++++------ src/order.cpp | 16 ++++++------ src/order.h | 4 +-- src/orderdef.h | 2 +- src/structuredef.h | 4 ++- 8 files changed, 34 insertions(+), 86 deletions(-) diff --git a/src/cmddroid.cpp b/src/cmddroid.cpp index 38aede389..74cb23245 100644 --- a/src/cmddroid.cpp +++ b/src/cmddroid.cpp @@ -98,12 +98,12 @@ void cmdDroidAddDroid(DROID *psCommander, DROID *psDroid) psDroid->group = UBYTE_MAX; // set the secondary states for the unit - secondarySetState(psDroid, DSO_ATTACK_RANGE, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_ARANGE_MASK)); - secondarySetState(psDroid, DSO_REPAIR_LEVEL, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_REPLEV_MASK)); - secondarySetState(psDroid, DSO_ATTACK_LEVEL, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_ALEV_MASK)); - secondarySetState(psDroid, DSO_HALTTYPE, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_HALT_MASK)); + secondarySetState(psDroid, DSO_ATTACK_RANGE, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_ARANGE_MASK), ModeImmediate); + secondarySetState(psDroid, DSO_REPAIR_LEVEL, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_REPLEV_MASK), ModeImmediate); + secondarySetState(psDroid, DSO_ATTACK_LEVEL, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_ALEV_MASK), ModeImmediate); + secondarySetState(psDroid, DSO_HALTTYPE, (SECONDARY_STATE)(psCommander->secondaryOrder & DSS_HALT_MASK), ModeImmediate); - orderDroidObj(psDroid, DORDER_GUARD, (BASE_OBJECT *)psCommander, ModeQueue); + orderDroidObj(psDroid, DORDER_GUARD, (BASE_OBJECT *)psCommander, ModeImmediate); } } diff --git a/src/droiddef.h b/src/droiddef.h index e5c74dd78..1d24df45d 100644 --- a/src/droiddef.h +++ b/src/droiddef.h @@ -128,6 +128,8 @@ struct DROID_TEMPLATE : public BASE_STATS }; struct PACKAGED_CHECK; +struct DROID_GROUP; +struct STRUCTURE; struct DROID : public BASE_OBJECT { @@ -162,9 +164,9 @@ struct DROID : public BASE_OBJECT WEAPON asWeaps[DROID_MAXWEAPS]; // The group the droid belongs to - struct _droid_group* psGroup; - struct DROID* psGrpNext; - struct STRUCTURE *psBaseStruct; ///< a structure that this droid might be associated with. For VTOLs this is the rearming pad + DROID_GROUP * psGroup; + DROID * psGrpNext; + STRUCTURE * psBaseStruct; ///< a structure that this droid might be associated with. For VTOLs this is the rearming pad // queued orders SDWORD listSize; ///< Gives the number of synchronised orders. Orders from listSize to the real end of the list may not affect game state. OrderList asOrderList; ///< The range [0; listSize - 1] corresponds to synchronised orders, and the range [listPendingBegin; listPendingEnd - 1] corresponds to the orders that will remain, once all orders are synchronised. diff --git a/src/group.cpp b/src/group.cpp index 063623733..fcf92a8c9 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -25,6 +25,7 @@ */ #include "lib/framework/frame.h" +#include "lib/netplay/netplay.h" #include "multiplay.h" @@ -99,10 +100,11 @@ void grpJoin(DROID_GROUP *psGroup, DROID *psDroid) "grpJoin: invalid group pointer" ); psGroup->refCount += 1; - // if psDroid == NULL just increase the refcount don't add anything to the list if (psDroid != NULL) { + syncDebug("Droid %d joining group.", psDroid->id); + if (psGroup->psList && psDroid->player != psGroup->psList->player) { ASSERT( false,"grpJoin: Cannot have more than one players droids in a group" ); @@ -140,62 +142,6 @@ void grpJoin(DROID_GROUP *psGroup, DROID *psDroid) } } -// add a droid to a group at the end of the list -// NOTE: Unused! void grpJoinEnd(DROID_GROUP *psGroup, DROID *psDroid) -void grpJoinEnd(DROID_GROUP *psGroup, DROID *psDroid) -{ - DROID *psPrev, *psCurr; - - ASSERT(grpInitialized, "Group code not initialized yet"); - ASSERT_OR_RETURN(, psGroup != NULL, - "grpJoin: invalid group pointer" ); - - psGroup->refCount += 1; - - // if psDroid == NULL just increase the refcount don't add anything to the list - if (psDroid != NULL) - { - if (psGroup->psList && psDroid->player != psGroup->psList->player) - { - ASSERT( false,"grpJoin: Cannot have more than one players droids in a group" ); - return; - } - - if (psDroid->psGroup != NULL) - { - grpLeave(psDroid->psGroup, psDroid); - } - - psDroid->psGroup = psGroup; - - if (psDroid->droidType == DROID_COMMAND) - { - ASSERT_OR_RETURN(, (psGroup->type == GT_NORMAL) && (psGroup->psCommander == NULL), - "grpJoin: Cannot have two command droids in a group" ); - psGroup->type = GT_COMMAND; - psGroup->psCommander = psDroid; - } - else - { - // add the droid to the end of the list - psPrev = NULL; - psDroid->psGrpNext = NULL; - for(psCurr = psGroup->psList; psCurr; psCurr=psCurr->psGrpNext) - { - psPrev = psCurr; - } - if (psPrev != NULL) - { - psPrev->psGrpNext = psDroid; - } - else - { - psGroup->psList = psDroid; - } - } - } -} - // remove a droid from a group void grpLeave(DROID_GROUP *psGroup, DROID *psDroid) { @@ -212,7 +158,6 @@ void grpLeave(DROID_GROUP *psGroup, DROID *psDroid) } psGroup->refCount -= 1; - // if psDroid == NULL just decrease the refcount don't remove anything from the list if (psDroid != NULL && (psDroid->droidType != DROID_COMMAND || @@ -243,6 +188,8 @@ void grpLeave(DROID_GROUP *psGroup, DROID *psDroid) if (psDroid) { + syncDebug("Droid %d leaving group.", psDroid->id); + psDroid->psGroup = NULL; psDroid->psGrpNext = NULL; diff --git a/src/group.h b/src/group.h index 7e04f174f..2410dd30a 100644 --- a/src/group.h +++ b/src/group.h @@ -26,22 +26,22 @@ #include "order.h" -typedef enum _group_type +enum GROUP_TYPE { GT_NORMAL, // standard group GT_COMMAND, // command droid group GT_TRANSPORTER, // transporter group -} GROUP_TYPE; +}; -typedef struct _droid_group +struct DROID_GROUP { SWORD type; SWORD refCount; DROID *psList; // list of droids in the group DROID *psCommander; // the command droid of a command group RUN_DATA sRunData; // where the group should retreat to - struct _droid_group *psNext, *psPrev; // keep linked to destroy all (a workaround hack) -} DROID_GROUP; + DROID_GROUP *psNext, *psPrev; // keep linked to destroy all (a workaround hack) +}; // initialise the group system BOOL grpInitialise(void); @@ -55,9 +55,6 @@ BOOL grpCreate(DROID_GROUP **ppsGroup); // add a droid to a group void grpJoin(DROID_GROUP *psGroup, DROID *psDroid); -// add a droid to a group at the end of the list -void grpJoinEnd(DROID_GROUP *psGroup, DROID *psDroid); - // remove a droid from a group void grpLeave(DROID_GROUP *psGroup, DROID *psDroid); diff --git a/src/order.cpp b/src/order.cpp index 97a263531..55146f1f6 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -1771,6 +1771,9 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) orderPlayFireSupportAudio( psOrder->psObj ); } break; + case DORDER_COMMANDERSUPPORT: + cmdDroidAddDroid((DROID *)psOrder->psObj, psDroid); + break; case DORDER_RETREAT: case DORDER_RUNBURN: case DORDER_RUN: @@ -2183,7 +2186,7 @@ BOOL orderStateLoc(DROID *psDroid, DROID_ORDER order, UDWORD *pX, UDWORD *pY) BOOL validOrderForObj(DROID_ORDER order) { return (order == DORDER_NONE || order == DORDER_HELPBUILD || order == DORDER_DEMOLISH || - order == DORDER_REPAIR || order == DORDER_ATTACK || order == DORDER_FIRESUPPORT || + order == DORDER_REPAIR || order == DORDER_ATTACK || order == DORDER_FIRESUPPORT || order == DORDER_COMMANDERSUPPORT || order == DORDER_OBSERVE || order == DORDER_ATTACKTARGET || order == DORDER_RTR || order == DORDER_RTR_SPECIFIED || order == DORDER_EMBARK || order == DORDER_GUARD || order == DORDER_DROIDREPAIR || order == DORDER_RESTORE || order == DORDER_BUILDMODULE || @@ -2872,9 +2875,8 @@ DROID_ORDER chooseOrderObj(DROID *psDroid, BASE_OBJECT *psObj, BOOL altOrder) psDroid->droidType != DROID_CYBORG_CONSTRUCT) { // get a droid to join a command droids group - cmdDroidAddDroid((DROID *) psObj, psDroid); DeSelectDroid(psDroid); - order = DORDER_NONE; + order = DORDER_COMMANDERSUPPORT; } //repair droid else if (aiCheckAlliances(psObj->player, psDroid->player) && @@ -3451,7 +3453,7 @@ void secondaryCheckDamageLevel(DROID *psDroid) // set the state of a secondary order, return false if failed. -BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE State) +BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE State, QUEUE_MODE mode) { UDWORD CurrState, factType, prodType; STRUCTURE *psStruct; @@ -3460,9 +3462,7 @@ BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE Stat DROID *psTransport, *psCurr, *psNext; DROID_ORDER order; - - - if(bMultiMessages) + if (bMultiMessages && mode == ModeQueue) { sendDroidSecondary(psDroid,sec,State); return true; // Wait for our order before changing the droid. @@ -4263,7 +4263,7 @@ const char* getDroidOrderName(DROID_ORDER order) "DORDER_DISEMBARK", // get off a transporter "DORDER_ATTACKTARGET", // 18 - a suggestion to attack something // i.e. the target was chosen because the droid could see it - "DORDER_COMMAND", // a command droid issuing orders to it's group + "DORDER_COMMANDERSUPPORT", "DORDER_BUILDMODULE", // 20 - build a module (power, research or factory) "DORDER_RECYCLE", // return to factory to be recycled "DORDER_TRANSPORTOUT", // 22 - offworld transporter order diff --git a/src/order.h b/src/order.h index ba01ab5d3..fc2a40b23 100644 --- a/src/order.h +++ b/src/order.h @@ -104,7 +104,7 @@ extern BOOL secondarySupported(DROID *psDroid, SECONDARY_ORDER sec); extern SECONDARY_STATE secondaryGetState(DROID *psDroid, SECONDARY_ORDER sec); // set the state of a secondary order, return false if failed. -extern BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE State); +extern BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE State, QUEUE_MODE mode = ModeQueue); // check the damage level of a droid against it's secondary state extern void secondaryCheckDamageLevel(DROID *psDroid); @@ -116,7 +116,7 @@ extern void secondarySetAverageGroupState(UDWORD player, UDWORD group); extern void orderMoralCheck(UDWORD player); // do a moral check for a group -extern void orderGroupMoralCheck(struct _droid_group *psGroup); +extern void orderGroupMoralCheck(DROID_GROUP *psGroup); extern const char* getDroidOrderName(DROID_ORDER order); diff --git a/src/orderdef.h b/src/orderdef.h index a31951137..fb2b73773 100644 --- a/src/orderdef.h +++ b/src/orderdef.h @@ -52,7 +52,7 @@ typedef enum _droid_order DORDER_DISEMBARK, // get off a transporter DORDER_ATTACKTARGET, // 18 - a suggestion to attack something // i.e. the target was chosen because the droid could see it - DORDER_COMMAND, // a command droid issuing orders to it's group + DORDER_COMMANDERSUPPORT, // Assigns droid to the target commander. DORDER_BUILDMODULE, // 20 - build a module (power, research or factory) DORDER_RECYCLE, // return to factory to be recycled DORDER_TRANSPORTOUT, // 22 - offworld transporter order diff --git a/src/structuredef.h b/src/structuredef.h index e9cead67a..e335f89f1 100644 --- a/src/structuredef.h +++ b/src/structuredef.h @@ -211,6 +211,8 @@ struct POWER_GEN struct STRUCTURE * apResExtractors[NUM_POWER_MODULES]; ///< Pointers to associated oil derricks }; +struct DROID_GROUP; + struct REPAIR_FACILITY { UDWORD power; /* Power used in repairing */ @@ -221,7 +223,7 @@ struct REPAIR_FACILITY UDWORD currentPtsAdded; /* stores the amount of body points added to the unit that is being worked on */ // The group the droids to be repaired by this facility belong to - struct _droid_group *psGroup; + DROID_GROUP * psGroup; int droidQueue; ///< Last count of droid queue for this facility }; From 4af4b8200459d60b1d6c3e3e86700a036430576d Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 8 Jan 2011 00:20:12 +0100 Subject: [PATCH 094/142] Use Vector2i in MOVE_CONTROL. --- lib/framework/vector.h | 6 ++ src/action.cpp | 52 +++++----- src/astar.cpp | 3 +- src/droid.cpp | 2 +- src/fpath.cpp | 13 +-- src/game.cpp | 26 ++--- src/map.h | 5 + src/move.cpp | 212 ++++++++++++++++------------------------- src/movedef.h | 15 ++- src/order.cpp | 4 +- 10 files changed, 142 insertions(+), 196 deletions(-) diff --git a/lib/framework/vector.h b/lib/framework/vector.h index b55d15ebf..ad354b59f 100644 --- a/lib/framework/vector.h +++ b/lib/framework/vector.h @@ -102,6 +102,12 @@ static inline WZ_DECL_PURE Vector3i operator -(Vector3i const &a, Vector3i const static inline WZ_DECL_PURE Vector3f operator -(Vector3f const &a, Vector3f const &b) { return Vector3f(a.x - b.x, a.y - b.y, a.z - b.z); } //static inline WZ_DECL_PURE Rotation operator -(Rotation const &a, Rotation const &b) { return Rotation((int16_t)a.direction - (int16_t)b.direction, (int16_t)a.pitch - (int16_t)b.pitch, (int16_t)a.roll - (int16_t)b.roll); } +// -vector -> vector +static inline WZ_DECL_PURE Vector2i operator -(Vector2i const &a) { return Vector2i(-a.x, -a.y); } +static inline WZ_DECL_PURE Vector2f operator -(Vector2f const &a) { return Vector2f(-a.x, -a.y); } +static inline WZ_DECL_PURE Vector3i operator -(Vector3i const &a) { return Vector3i(-a.x, -a.y, -a.z); } +static inline WZ_DECL_PURE Vector3f operator -(Vector3f const &a) { return Vector3f(-a.x, -a.y, -a.z); } + // vector * scalar -> vector static inline WZ_DECL_PURE Vector2i operator *(Vector2i const &a, int s) { return Vector2i(a.x*s, a.y*s); } static inline WZ_DECL_PURE Vector2f operator *(Vector2f const &a, float s) { return Vector2f(a.x*s, a.y*s); } diff --git a/src/action.cpp b/src/action.cpp index 295b0209f..6a7fba65c 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -1412,15 +1412,13 @@ void actionUpdateDroid(DROID *psDroid) else { // if the vtol is close to the target, go around again - const int xdiff = (SDWORD)psDroid->pos.x - (SDWORD)psDroid->psActionTarget[0]->pos.x; - const int ydiff = (SDWORD)psDroid->pos.y - (SDWORD)psDroid->psActionTarget[0]->pos.y; - const int rangeSq = xdiff * xdiff + ydiff * ydiff; - if (rangeSq < (VTOL_ATTACK_TARDIST*VTOL_ATTACK_TARDIST)) + const Vector2i diff = removeZ(psDroid->pos - psDroid->psActionTarget[0]->pos); + const int rangeSq = diff*diff; + if (rangeSq < VTOL_ATTACK_TARDIST*VTOL_ATTACK_TARDIST) { // don't do another attack run if already moving away from the target - const int xdiff = (SDWORD)psDroid->sMove.DestinationX - (SDWORD)psDroid->psActionTarget[0]->pos.x; - const int ydiff = (SDWORD)psDroid->sMove.DestinationY - (SDWORD)psDroid->psActionTarget[0]->pos.y; - if ((xdiff*xdiff + ydiff*ydiff) < (VTOL_ATTACK_TARDIST*VTOL_ATTACK_TARDIST)) + const Vector2i diff = psDroid->sMove.destination - removeZ(psDroid->psActionTarget[0]->pos); + if (diff*diff < VTOL_ATTACK_TARDIST*VTOL_ATTACK_TARDIST) { actionAddVtolAttackRun( psDroid ); } @@ -1431,9 +1429,8 @@ void actionUpdateDroid(DROID *psDroid) if (rangeSq > (SDWORD)(psWeapStats->longRange * psWeapStats->longRange)) { // don't do another attack run if already heading for the target - const int xdiff = (SDWORD)psDroid->sMove.DestinationX - (SDWORD)psDroid->psActionTarget[0]->pos.x; - const int ydiff = (SDWORD)psDroid->sMove.DestinationY - (SDWORD)psDroid->psActionTarget[0]->pos.y; - if ((xdiff*xdiff + ydiff*ydiff) > (VTOL_ATTACK_TARDIST*VTOL_ATTACK_TARDIST)) + const Vector2i diff = psDroid->sMove.destination - removeZ(psDroid->psActionTarget[0]->pos); + if (diff*diff > VTOL_ATTACK_TARDIST*VTOL_ATTACK_TARDIST) { moveDroidToDirect(psDroid, psDroid->psActionTarget[0]->pos.x,psDroid->psActionTarget[0]->pos.y); } @@ -2112,11 +2109,10 @@ void actionUpdateDroid(DROID *psDroid) (psDroid->psTarget->type != OBJ_STRUCTURE)) { //move droids to within short range of the sensor now!!!! - int xdiff = (SDWORD)psDroid->pos.x - (SDWORD)psDroid->psTarget->pos.x; - int ydiff = (SDWORD)psDroid->pos.y - (SDWORD)psDroid->psTarget->pos.y; + Vector2i diff = removeZ(psDroid->pos - psDroid->psTarget->pos); int rangeSq = asWeaponStats[psDroid->asWeaps[0].nStat].shortRange; rangeSq = rangeSq * rangeSq; - if (xdiff*xdiff + ydiff*ydiff < rangeSq) + if (diff*diff < rangeSq) { if (!DROID_STOPPED(psDroid)) { @@ -2127,12 +2123,10 @@ void actionUpdateDroid(DROID *psDroid) { if (!DROID_STOPPED(psDroid)) { - xdiff = (SDWORD)psDroid->psTarget->pos.x - (SDWORD)psDroid->sMove.DestinationX; - ydiff = (SDWORD)psDroid->psTarget->pos.y - (SDWORD)psDroid->sMove.DestinationY; + diff = removeZ(psDroid->psTarget->pos) - psDroid->sMove.destination; } - if (DROID_STOPPED(psDroid) || - (xdiff*xdiff + ydiff*ydiff > rangeSq)) + if (DROID_STOPPED(psDroid) || diff*diff > rangeSq) { if (secondaryGetState(psDroid, DSO_HALTTYPE) == DSS_HALT_HOLD) { @@ -2961,7 +2955,7 @@ static bool vtolLandingTileSearchFunction(int x, int y, void* matchState) // choose a landing position for a VTOL when it goes to rearm bool actionVTOLLandingPos(const DROID* psDroid, UDWORD* px, UDWORD* py) { - int startX, startY, tx, ty; + int startX, startY; DROID* psCurr; bool foundTile; Vector2i xyCoords; @@ -2975,21 +2969,20 @@ bool actionVTOLLandingPos(const DROID* psDroid, UDWORD* px, UDWORD* py) // set blocking flags for all the other droids for(psCurr=apsDroidLists[psDroid->player]; psCurr; psCurr = psCurr->psNext) { + Vector2i t; if (DROID_STOPPED(psCurr)) { - tx = map_coord(psCurr->pos.x); - ty = map_coord(psCurr->pos.y); + t = map_coord(removeZ(psCurr->pos)); } else { - tx = map_coord(psCurr->sMove.DestinationX); - ty = map_coord(psCurr->sMove.DestinationY); + t = map_coord(psCurr->sMove.destination); } if (psCurr != psDroid) { - if (tileOnMap(tx, ty)) + if (tileOnMap(t)) { - mapTile(tx,ty)->tileInfoBits |= BITS_FPATHBLOCK; + mapTile(t)->tileInfoBits |= BITS_FPATHBLOCK; } } } @@ -3008,19 +3001,18 @@ bool actionVTOLLandingPos(const DROID* psDroid, UDWORD* px, UDWORD* py) // clear blocking flags for all the other droids for(psCurr=apsDroidLists[psDroid->player]; psCurr; psCurr = psCurr->psNext) { + Vector2i t; if (DROID_STOPPED(psCurr)) { - tx = map_coord(psCurr->pos.x); - ty = map_coord(psCurr->pos.y); + t = map_coord(removeZ(psCurr->pos)); } else { - tx = map_coord(psCurr->sMove.DestinationX); - ty = map_coord(psCurr->sMove.DestinationY); + t = map_coord(psCurr->sMove.destination); } - if (tileOnMap(tx, ty)) + if (tileOnMap(t)) { - mapTile(tx,ty)->tileInfoBits &= ~BITS_FPATHBLOCK; + mapTile(t)->tileInfoBits &= ~BITS_FPATHBLOCK; } } diff --git a/src/astar.cpp b/src/astar.cpp index e8f2e277b..e50cc36e0 100644 --- a/src/astar.cpp +++ b/src/astar.cpp @@ -507,8 +507,7 @@ ASR_RETVAL fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob) fpathContexts.splice(fpathContexts.begin(), fpathContexts, contextIterator); } - psMove->DestinationX = psMove->asPath[path.size() - 1].x; - psMove->DestinationY = psMove->asPath[path.size() - 1].y; + psMove->destination = psMove->asPath[path.size() - 1]; return retval; } diff --git a/src/droid.cpp b/src/droid.cpp index 67e858c95..25f3e417b 100644 --- a/src/droid.cpp +++ b/src/droid.cpp @@ -715,7 +715,7 @@ void _syncDebugDroid(const char *function, DROID *psDroid, char ch) psDroid->sMove.Status, psDroid->sMove.speed, psDroid->sMove.moveDir, psDroid->sMove.Position, psDroid->sMove.numPoints, - psDroid->sMove.srcX, psDroid->sMove.srcY, psDroid->sMove.targetX, psDroid->sMove.targetY, psDroid->sMove.DestinationX, psDroid->sMove.DestinationY, + psDroid->sMove.src.x, psDroid->sMove.src.y, psDroid->sMove.target.x, psDroid->sMove.target.y, psDroid->sMove.destination.x, psDroid->sMove.destination.y, psDroid->sMove.bumpDir, psDroid->sMove.bumpTime, psDroid->sMove.lastBump, psDroid->sMove.pauseTime, psDroid->sMove.bumpX, psDroid->sMove.bumpY, psDroid->sMove.shuffleStart, psDroid->experience, diff --git a/src/fpath.cpp b/src/fpath.cpp index cc980e9af..b1a4fd0c4 100644 --- a/src/fpath.cpp +++ b/src/fpath.cpp @@ -305,11 +305,9 @@ static inline int fpathDistToTile(int tileX, int tileY, int pointX, int pointY) static void fpathSetMove(MOVE_CONTROL *psMoveCntl, SDWORD targetX, SDWORD targetY) { psMoveCntl->asPath = (Vector2i *)realloc(psMoveCntl->asPath, sizeof(*psMoveCntl->asPath)); - psMoveCntl->DestinationX = targetX; - psMoveCntl->DestinationY = targetY; + psMoveCntl->destination = Vector2i(targetX, targetY); psMoveCntl->numPoints = 1; - psMoveCntl->asPath[0].x = targetX; - psMoveCntl->asPath[0].y = targetY; + psMoveCntl->asPath[0] = Vector2i(targetX, targetY); } @@ -377,8 +375,7 @@ static FPATH_RETVAL fpathRoute(MOVE_CONTROL *psMove, int id, int startX, int sta ASSERT(psResult->retval != FPR_OK || psResult->sMove.asPath, "Ok result but no path in list"); // Copy over select fields - preserve others - psMove->DestinationX = psResult->sMove.DestinationX; - psMove->DestinationY = psResult->sMove.DestinationY; + psMove->destination = psResult->sMove.destination; psMove->numPoints = psResult->sMove.numPoints; psMove->Position = 0; psMove->Status = MOVENAVIGATE; @@ -393,8 +390,8 @@ static FPATH_RETVAL fpathRoute(MOVE_CONTROL *psMove, int id, int startX, int sta wzMutexUnlock(fpathMutex); - objTrace(id, "Got a path to (%d, %d)! Length=%d Retval=%d", psMove->DestinationX, psMove->DestinationY, psMove->numPoints, (int)retval); - syncDebug("fpathRoute(..., %d, %d, %d, %d, %d, %d, %d, %d, %d) = %d, path[%d] = %08X->(%d, %d)", id, startX, startY, tX, tY, propulsionType, droidType, moveType, owner, retval, psMove->numPoints, ~crcSumVector2i(0, psMove->asPath, psMove->numPoints), psMove->DestinationX, psMove->DestinationY); + objTrace(id, "Got a path to (%d, %d)! Length=%d Retval=%d", psMove->destination.x, psMove->destination.y, psMove->numPoints, (int)retval); + syncDebug("fpathRoute(..., %d, %d, %d, %d, %d, %d, %d, %d, %d) = %d, path[%d] = %08X->(%d, %d)", id, startX, startY, tX, tY, propulsionType, droidType, moveType, owner, retval, psMove->numPoints, ~crcSumVector2i(0, psMove->asPath, psMove->numPoints), psMove->destination.x, psMove->destination.y); return retval; } diff --git a/src/game.cpp b/src/game.cpp index 503ffd8cb..c8d558324 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -5561,12 +5561,12 @@ static void SaveDroidMoveControl(SAVE_DROID * const psSaveDroid, DROID const * c } // Little endian SDWORDs - psSaveDroid->sMove.DestinationX = PHYSFS_swapSLE32(psDroid->sMove.DestinationX); - psSaveDroid->sMove.DestinationY = PHYSFS_swapSLE32(psDroid->sMove.DestinationY); - psSaveDroid->sMove.srcX = PHYSFS_swapSLE32(psDroid->sMove.srcX); - psSaveDroid->sMove.srcY = PHYSFS_swapSLE32(psDroid->sMove.srcY); - psSaveDroid->sMove.targetX = PHYSFS_swapSLE32(psDroid->sMove.targetX); - psSaveDroid->sMove.targetY = PHYSFS_swapSLE32(psDroid->sMove.targetY); + psSaveDroid->sMove.DestinationX = PHYSFS_swapSLE32(psDroid->sMove.destination.x); + psSaveDroid->sMove.DestinationY = PHYSFS_swapSLE32(psDroid->sMove.destination.y); + psSaveDroid->sMove.srcX = PHYSFS_swapSLE32(psDroid->sMove.src.x); + psSaveDroid->sMove.srcY = PHYSFS_swapSLE32(psDroid->sMove.src.y); + psSaveDroid->sMove.targetX = PHYSFS_swapSLE32(psDroid->sMove.target.x); + psSaveDroid->sMove.targetY = PHYSFS_swapSLE32(psDroid->sMove.target.y); // Little endian floats psSaveDroid->sMove.fx = 0; @@ -5619,12 +5619,12 @@ static void LoadDroidMoveControl(DROID * const psDroid, SAVE_DROID const * const } // Little endian SDWORDs - psDroid->sMove.DestinationX = PHYSFS_swapSLE32(psSaveDroid->sMove.DestinationX); - psDroid->sMove.DestinationY = PHYSFS_swapSLE32(psSaveDroid->sMove.DestinationY); - psDroid->sMove.srcX = PHYSFS_swapSLE32(psSaveDroid->sMove.srcX); - psDroid->sMove.srcY = PHYSFS_swapSLE32(psSaveDroid->sMove.srcY); - psDroid->sMove.targetX = PHYSFS_swapSLE32(psSaveDroid->sMove.targetX); - psDroid->sMove.targetY = PHYSFS_swapSLE32(psSaveDroid->sMove.targetY); + psDroid->sMove.destination.x = PHYSFS_swapSLE32(psSaveDroid->sMove.DestinationX); + psDroid->sMove.destination.y = PHYSFS_swapSLE32(psSaveDroid->sMove.DestinationY); + psDroid->sMove.src.x = PHYSFS_swapSLE32(psSaveDroid->sMove.srcX); + psDroid->sMove.src.y = PHYSFS_swapSLE32(psSaveDroid->sMove.srcY); + psDroid->sMove.target.x = PHYSFS_swapSLE32(psSaveDroid->sMove.targetX); + psDroid->sMove.target.y = PHYSFS_swapSLE32(psSaveDroid->sMove.targetY); // Little endian floats psDroid->sMove.speed = PHYSFS_swapSLE32(psSaveDroid->sMove.speed); @@ -5654,7 +5654,7 @@ static void LoadDroidMoveControl(DROID * const psDroid, SAVE_DROID const * const if (psDroid->sMove.Status == MOVEWAITROUTE) { psDroid->sMove.Status = MOVEINACTIVE; - fpathDroidRoute(psDroid, psDroid->sMove.DestinationX, psDroid->sMove.DestinationY, FMT_MOVE); + fpathDroidRoute(psDroid, psDroid->sMove.destination.x, psDroid->sMove.destination.y, FMT_MOVE); psDroid->sMove.Status = MOVEWAITROUTE; } } diff --git a/src/map.h b/src/map.h index 2deeb3c9c..cbe6600b8 100644 --- a/src/map.h +++ b/src/map.h @@ -468,6 +468,11 @@ WZ_DECL_ALWAYS_INLINE static inline BOOL tileOnMap(SDWORD x, SDWORD y) return (x >= 0) && (x < (SDWORD)mapWidth) && (y >= 0) && (y < (SDWORD)mapHeight); } +WZ_DECL_ALWAYS_INLINE static inline BOOL tileOnMap(Vector2i pos) +{ + return tileOnMap(pos.x, pos.y); +} + /* Return true if a tile is not too near the map edge and not outside of the map */ static inline BOOL tileInsideBuildRange(SDWORD x, SDWORD y) { diff --git a/src/move.cpp b/src/move.cpp index 98ddaba78..72830e143 100644 --- a/src/move.cpp +++ b/src/move.cpp @@ -191,7 +191,6 @@ const char *moveDescription(MOVE_STATUS status) case MOVETURN : return "Turn"; case MOVEPAUSE : return "Pause"; case MOVEPOINTTOPOINT : return "P2P"; - case MOVETURNSTOP : return "Turnstop"; case MOVETURNTOTARGET : return "Turn2target"; case MOVEHOVER : return "Hover"; case MOVEDRIVE : return "Drive"; @@ -234,7 +233,6 @@ static BOOL moveDroidToBase(DROID *psDroid, UDWORD x, UDWORD y, BOOL bFormation) fpathSetDirectRoute(psDroid, x, y); psDroid->sMove.Status = MOVENAVIGATE; psDroid->sMove.Position=0; - psDroid->sMove.psFormation = NULL; return true; } else if (isVtolDroid(psDroid) || (game.maxPlayers > 0 && psDroid->droidType == DROID_TRANSPORTER)) @@ -253,8 +251,8 @@ static BOOL moveDroidToBase(DROID *psDroid, UDWORD x, UDWORD y, BOOL bFormation) // if astar doesn't have a complete route, it returns a route to the nearest clear tile. // the location of the clear tile is in DestinationX,DestinationY. // reset x,y to this position so the formation gets set up correctly - x = psDroid->sMove.DestinationX; - y = psDroid->sMove.DestinationY; + x = psDroid->sMove.destination.x; + y = psDroid->sMove.destination.y; objTrace(psDroid->id, "unit %d: path ok - base Speed %u, speed %d, target(%u|%d, %u|%d)", (int)psDroid->id, psDroid->baseSpeed, psDroid->sMove.speed, x, map_coord(x), y, map_coord(y)); @@ -266,8 +264,8 @@ static BOOL moveDroidToBase(DROID *psDroid, UDWORD x, UDWORD y, BOOL bFormation) { // the route will be calculated by the path-finding thread psDroid->sMove.Status = MOVEWAITROUTE; - psDroid->sMove.DestinationX = x; - psDroid->sMove.DestinationY = y; + psDroid->sMove.destination.x = x; + psDroid->sMove.destination.y = y; } else // if (retVal == FPR_FAILED) { @@ -321,18 +319,17 @@ void moveTurnDroid(DROID *psDroid, UDWORD x, UDWORD y) if (psDroid->rot.direction != moveDir) { - psDroid->sMove.targetX = (SDWORD)x; - psDroid->sMove.targetY = (SDWORD)y; + psDroid->sMove.target.x = x; + psDroid->sMove.target.y = y; psDroid->sMove.Status = MOVETURNTOTARGET; } } // Tell a droid to move out the way for a shuffle -static void moveShuffleDroid(DROID *psDroid, UDWORD shuffleStart, SDWORD sx, SDWORD sy) +static void moveShuffleDroid(DROID *psDroid, Vector2i s) { - uint16_t shuffleDir; DROID *psCurr; - SDWORD mx, my, shuffleMag; + SDWORD mx, my; BOOL frontClear = true, leftClear = true, rightClear = true; SDWORD lvx,lvy, rvx,rvy, svx,svy; SDWORD shuffleMove; @@ -340,8 +337,8 @@ static void moveShuffleDroid(DROID *psDroid, UDWORD shuffleStart, SDWORD sx, SDW CHECK_DROID(psDroid); - shuffleDir = iAtan2(sx, sy); - shuffleMag = iHypot(sx, sy); + uint16_t shuffleDir = iAtan2(s); + int32_t shuffleMag = iHypot(s); if (shuffleMag == 0) { @@ -351,11 +348,11 @@ static void moveShuffleDroid(DROID *psDroid, UDWORD shuffleStart, SDWORD sx, SDW shuffleMove = SHUFFLE_MOVE; // calculate the possible movement vectors - lvx = -sy * shuffleMove / shuffleMag; - lvy = sx * shuffleMove / shuffleMag; + lvx = -s.y * shuffleMove / shuffleMag; + lvy = s.x * shuffleMove / shuffleMag; - rvx = sy * shuffleMove / shuffleMag; - rvy = -sx * shuffleMove / shuffleMag; + rvx = s.y * shuffleMove / shuffleMag; + rvy = -s.x * shuffleMove / shuffleMag; svx = lvy; // sx * SHUFFLE_MOVE / shuffleMag; svy = rvx; // sy * SHUFFLE_MOVE / shuffleMag; @@ -431,13 +428,16 @@ static void moveShuffleDroid(DROID *psDroid, UDWORD shuffleStart, SDWORD sx, SDW actionVTOLLandingPos(psDroid, (UDWORD *)&tarX,(UDWORD *)&tarY); } + // set up the move state + if (psDroid->sMove.Status != MOVESHUFFLE) + { + psDroid->sMove.shuffleStart = gameTime; + } psDroid->sMove.Status = MOVESHUFFLE; - psDroid->sMove.shuffleStart = shuffleStart; - psDroid->sMove.srcX = (SDWORD)psDroid->pos.x; - psDroid->sMove.srcY = (SDWORD)psDroid->pos.y; - psDroid->sMove.targetX = tarX; - psDroid->sMove.targetY = tarY; + psDroid->sMove.src = removeZ(psDroid->pos); + psDroid->sMove.target.x = tarX; + psDroid->sMove.target.y = tarY; psDroid->sMove.numPoints = 0; psDroid->sMove.Position = 0; @@ -601,18 +601,14 @@ static bool moveBestTarget(DROID *psDroid) } } psDroid->sMove.Position = positionIndex + 1; - psDroid->sMove.srcX = psDroid->pos.x; - psDroid->sMove.srcY = psDroid->pos.y; - psDroid->sMove.targetX = psDroid->sMove.asPath[positionIndex].x; - psDroid->sMove.targetY = psDroid->sMove.asPath[positionIndex].y; + psDroid->sMove.src = removeZ(psDroid->pos); + psDroid->sMove.target = psDroid->sMove.asPath[positionIndex]; return true; } /* Get the next target point from the route */ static BOOL moveNextTarget(DROID *psDroid) { - UDWORD srcX,srcY, tarX, tarY; - CHECK_DROID(psDroid); // See if there is anything left in the move list @@ -621,22 +617,15 @@ static BOOL moveNextTarget(DROID *psDroid) return false; } - tarX = psDroid->sMove.asPath[psDroid->sMove.Position].x; - tarY = psDroid->sMove.asPath[psDroid->sMove.Position].y; if (psDroid->sMove.Position == 0) { - psDroid->sMove.srcX = (SDWORD)psDroid->pos.x; - psDroid->sMove.srcY = (SDWORD)psDroid->pos.y; + psDroid->sMove.src = removeZ(psDroid->pos); } else { - srcX = psDroid->sMove.asPath[psDroid->sMove.Position -1].x; - srcY = psDroid->sMove.asPath[psDroid->sMove.Position -1].y; - psDroid->sMove.srcX = srcX; - psDroid->sMove.srcY = srcY ; + psDroid->sMove.src = psDroid->sMove.asPath[psDroid->sMove.Position - 1]; } - psDroid->sMove.targetX = tarX; - psDroid->sMove.targetY = tarY; + psDroid->sMove.target = psDroid->sMove.asPath[psDroid->sMove.Position]; psDroid->sMove.Position++; CHECK_DROID(psDroid); @@ -650,10 +639,7 @@ static Vector2i movePeekNextTarget(DROID *psDroid) if (psDroid->sMove.Position == psDroid->sMove.numPoints) { // No points left - fudge one to continue the same direction - Vector2i - src(psDroid->sMove.srcX, psDroid->sMove.srcY), - target(psDroid->sMove.targetX, psDroid->sMove.targetY); - return target*2 - src; + return psDroid->sMove.target*2 - psDroid->sMove.src; } else { @@ -807,10 +793,10 @@ static BOOL moveBlocked(DROID *psDroid) // if the unit cannot see the next way point - reroute it's got stuck if ( ( bMultiPlayer || (psDroid->player == selectedPlayer) ) && (psDroid->sMove.Position != psDroid->sMove.numPoints) && - !fpathTileLOS(psDroid, Vector3i(psDroid->sMove.DestinationX, psDroid->sMove.DestinationY, 0))) + !fpathTileLOS(psDroid, Vector3i(psDroid->sMove.destination, 0))) { - objTrace(psDroid->id, "Trying to reroute to (%d,%d)", psDroid->sMove.DestinationX, psDroid->sMove.DestinationY); - moveDroidTo(psDroid, psDroid->sMove.DestinationX, psDroid->sMove.DestinationY); + objTrace(psDroid->id, "Trying to reroute to (%d,%d)", psDroid->sMove.destination.x, psDroid->sMove.destination.y); + moveDroidTo(psDroid, psDroid->sMove.destination.x, psDroid->sMove.destination.y); return false; } @@ -1237,18 +1223,7 @@ static void moveCalcDroidSlide(DROID *psDroid, int *pmx, int *pmy) && psShuffleDroid->action != DACTION_WAITDURINGREARM && psShuffleDroid->sMove.Status == MOVEINACTIVE) { - if (psDroid->sMove.Status == MOVESHUFFLE) - { - moveShuffleDroid(psShuffleDroid, psDroid->sMove.shuffleStart, - psDroid->sMove.targetX - (SDWORD)psDroid->pos.x, - psDroid->sMove.targetY - (SDWORD)psDroid->pos.y); - } - else - { - moveShuffleDroid(psShuffleDroid, gameTime, - psDroid->sMove.targetX - (SDWORD)psDroid->pos.x, - psDroid->sMove.targetY - (SDWORD)psDroid->pos.y); - } + moveShuffleDroid(psShuffleDroid, psDroid->sMove.target - removeZ(psDroid->pos)); } } } @@ -1264,19 +1239,17 @@ static void moveCalcDroidSlide(DROID *psDroid, int *pmx, int *pmy) } // get an obstacle avoidance vector -static void moveGetObstacleVector(DROID *psDroid, int32_t *pX, int32_t *pY) +static Vector2i moveGetObstacleVector(DROID *psDroid, Vector2i dest) { - int32_t xdiff, ydiff, distSq; - BASE_OBJECT * psObj; int32_t numObst = 0, distTot = 0; - int32_t dirX = 0, dirY = 0; + Vector2i dir(0, 0); PROPULSION_STATS * psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; ASSERT(psPropStats, "invalid propulsion stats pointer"); // scan the neighbours for obstacles gridStartIterate(psDroid->pos.x, psDroid->pos.y, AVOID_DIST); - for (psObj = gridIterate(); psObj != NULL; psObj = gridIterate()) + for (BASE_OBJECT *psObj = gridIterate(); psObj != NULL; psObj = gridIterate()) { if (psObj->type != OBJ_DROID) { @@ -1285,65 +1258,51 @@ static void moveGetObstacleVector(DROID *psDroid, int32_t *pX, int32_t *pY) } // vtol droids only avoid each other and don't affect ground droids - if ( (isVtolDroid(psDroid) && (psObj->type != OBJ_DROID || !isVtolDroid((DROID *)psObj))) || - (!isVtolDroid(psDroid) && psObj->type == OBJ_DROID && isVtolDroid((DROID *)psObj)) ) + if ( (isVtolDroid(psDroid) && !isVtolDroid((DROID *)psObj)) || + (!isVtolDroid(psDroid) && isVtolDroid((DROID *)psObj)) ) { continue; } if (((DROID *)psObj)->droidType == DROID_TRANSPORTER || - (((DROID *)psObj)->droidType == DROID_PERSON && - psObj->player != psDroid->player)) + (((DROID *)psObj)->droidType == DROID_PERSON && + psObj->player != psDroid->player)) { // don't avoid people on the other side - run over them continue; } - xdiff = psObj->pos.x - psDroid->pos.x; - ydiff = psObj->pos.y - psDroid->pos.y; - if (xdiff * *pX + ydiff * *pY < 0) + Vector2i diff = removeZ(psObj->pos - psDroid->pos); + if (diff * dest < 0) { // object behind continue; } - distSq = xdiff*xdiff + ydiff*ydiff + 1; + int distSq = diff*diff + 1; - dirX += xdiff * 65536 / distSq; - dirY += ydiff * 65536 / distSq; + dir += diff * 65536 / distSq; distTot += distSq; numObst += 1; } - if (dirX != 0 || dirY != 0) + if (dir == Vector2i(0, 0)) { - int32_t avoidX, avoidY; - int32_t ox, oy; - int32_t dist; - int64_t ratio; - - distTot /= numObst; - - // Create the avoid vector - dist = iHypot(dirX, dirY); - ox = (int64_t)dirX * 65536 / dist; - oy = (int64_t)dirY * 65536 / dist; - if (*pX * oy + *pY * -ox < 0) - { - avoidX = -oy; - avoidY = ox; - } - else - { - avoidX = oy; - avoidY = -ox; - } - - // combine the avoid vector and the target vector - ratio = MIN(distTot, (AVOID_DIST * AVOID_DIST)); - - *pX = *pX * ratio / 256 + avoidX * ((AVOID_DIST * AVOID_DIST) - ratio) / 65536; - *pY = *pY * ratio / 256 + avoidY * ((AVOID_DIST * AVOID_DIST) - ratio) / 65536; + return dest; } + + distTot /= numObst; + + // Create the avoid vector + int32_t dist = iHypot(dir); + Vector2i o((int64_t)dir.y * 65536 / dist, + -(int64_t)dir.x * 65536 / dist); + Vector2i avoid = dest*o < 0? -o : o; + + // combine the avoid vector and the target vector + int64_t ratio = MIN(distTot, (AVOID_DIST * AVOID_DIST)); + + return Vector2i(dest.x * ratio / 256 + avoid.x * ((AVOID_DIST * AVOID_DIST) - ratio) / 65536, + dest.y * ratio / 256 + avoid.y * ((AVOID_DIST * AVOID_DIST) - ratio) / 65536); } /*! @@ -1354,13 +1313,13 @@ static void moveGetObstacleVector(DROID *psDroid, int32_t *pX, int32_t *pY) static uint16_t moveGetDirection(DROID *psDroid) { Vector2i src = removeZ(psDroid->pos); // Do not want precice precision here, would overflow. - Vector2i target(psDroid->sMove.targetX, psDroid->sMove.targetY); + Vector2i target = psDroid->sMove.target; Vector2i dest = target - src; // Transporters don't need to avoid obstacles, but everyone else should if (psDroid->droidType != DROID_TRANSPORTER) { - moveGetObstacleVector(psDroid, &dest.x, &dest.y); + dest = moveGetObstacleVector(psDroid, dest); } return iAtan2(dest); @@ -1370,8 +1329,7 @@ static uint16_t moveGetDirection(DROID *psDroid) static BOOL moveReachedWayPoint(DROID *psDroid) { // Calculate the vector to the droid - const int droidX = psDroid->pos.x - psDroid->sMove.targetX; - const int droidY = psDroid->pos.y - psDroid->sMove.targetY; + const Vector2i droid = removeZ(psDroid->pos) - psDroid->sMove.target; const bool last = (psDroid->sMove.Position == psDroid->sMove.numPoints); const int sqprecision = last ? ((TILE_UNITS / 4) * (TILE_UNITS / 4)) : ((TILE_UNITS / 2) * (TILE_UNITS / 2)); @@ -1380,17 +1338,16 @@ static BOOL moveReachedWayPoint(DROID *psDroid) { const int nsqprecision = (TILE_UNITS / 2) * (TILE_UNITS / 2); const Vector2i next = movePeekNextTarget(psDroid); - const int ndroidX = psDroid->pos.x - next.x; - const int ndroidY = psDroid->pos.y - next.y; + const Vector2i ndroid = removeZ(psDroid->pos) - next; - if (ndroidX * ndroidX + ndroidY * ndroidY < nsqprecision) + if (ndroid*ndroid < nsqprecision) { return true; } } // Else check current waypoint - return (droidX * droidX + droidY * droidY < sqprecision); + return droid*droid < sqprecision; } #define MAX_SPEED_PITCH 60 @@ -1584,7 +1541,6 @@ static void moveGetDroidPosDiffs(DROID *psDroid, int32_t *pDX, int32_t *pDY) // see if the droid is close to the final way point static void moveCheckFinalWaypoint( DROID *psDroid, SDWORD *pSpeed ) { - SDWORD xdiff,ydiff, distSq; SDWORD minEndSpeed = psDroid->baseSpeed/3; if (minEndSpeed > MIN_END_SPEED) @@ -1602,9 +1558,8 @@ static void moveCheckFinalWaypoint( DROID *psDroid, SDWORD *pSpeed ) (psDroid->sMove.Status != MOVESHUFFLE) && psDroid->sMove.Position == psDroid->sMove.numPoints) { - xdiff = (SDWORD)psDroid->pos.x - psDroid->sMove.targetX; - ydiff = (SDWORD)psDroid->pos.y - psDroid->sMove.targetY; - distSq = xdiff*xdiff + ydiff*ydiff; + Vector2i diff = removeZ(psDroid->pos) - psDroid->sMove.target; + int distSq = diff*diff; if (distSq < END_SPEED_RANGE*END_SPEED_RANGE) { *pSpeed = (MAX_END_SPEED-minEndSpeed) * distSq @@ -1991,10 +1946,7 @@ static void moveUpdateJumpCyborgModel(DROID *psDroid, SDWORD speed, uint16_t dir static void moveUpdateCyborgModel(DROID *psDroid, SDWORD moveSpeed, uint16_t moveDir, UBYTE oldStatus) { - PROPULSION_STATS *psPropStats; - BASE_OBJECT *psObj = (BASE_OBJECT *) psDroid; - int32_t iMapZ = map_Height(psDroid->pos.x, psDroid->pos.y); - int32_t iDist, iDx, iDy, iDz, iDroidZ; + int32_t iMapZ = map_Height(removeZ(psDroid->pos)); CHECK_DROID(psDroid); @@ -2013,15 +1965,15 @@ static void moveUpdateCyborgModel(DROID *psDroid, SDWORD moveSpeed, uint16_t mov return; } - psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; + PROPULSION_STATS *psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; ASSERT( psPropStats != NULL, "moveUpdateCyborgModel: invalid propulsion stats pointer" ); /* do vertical movement */ if ( psPropStats->propulsionType == PROPULSION_TYPE_JUMP ) { - iDz = gameTimeAdjustedIncrement(psDroid->sMove.iVertSpeed); - iDroidZ = (SDWORD) psDroid->pos.z; + int32_t iDz = gameTimeAdjustedIncrement(psDroid->sMove.iVertSpeed); + int32_t iDroidZ = (SDWORD) psDroid->pos.z; if ( iDroidZ+iDz < iMapZ ) { @@ -2041,10 +1993,8 @@ static void moveUpdateCyborgModel(DROID *psDroid, SDWORD moveSpeed, uint16_t mov } /* calculate move distance */ - iDx = psDroid->sMove.DestinationX - psDroid->pos.x; - iDy = psDroid->sMove.DestinationY - psDroid->pos.y; - iDz = psDroid->pos.z - iMapZ; - iDist = iHypot(iDx, iDy); + Vector2i iD = psDroid->sMove.destination - removeZ(psDroid->pos); + int32_t iDist = iHypot(iD); /* set jumping cyborg walking short distances */ if ( (psPropStats->propulsionType != PROPULSION_TYPE_JUMP) || @@ -2058,11 +2008,11 @@ static void moveUpdateCyborgModel(DROID *psDroid, SDWORD moveSpeed, uint16_t mov { if ( psDroid->droidType == DROID_CYBORG_SUPER ) { - psDroid->psCurAnim = animObj_Add( psObj, ID_ANIM_SUPERCYBORG_RUN, 0, 0 ); + psDroid->psCurAnim = animObj_Add(psDroid, ID_ANIM_SUPERCYBORG_RUN, 0, 0); } else if (cyborgDroid(psDroid)) { - psDroid->psCurAnim = animObj_Add( psObj, ID_ANIM_CYBORG_RUN, 0, 0 ); + psDroid->psCurAnim = animObj_Add(psDroid, ID_ANIM_CYBORG_RUN, 0, 0); } } } else { @@ -2097,7 +2047,7 @@ static void moveUpdateCyborgModel(DROID *psDroid, SDWORD moveSpeed, uint16_t mov if ( (oldStatus == MOVEPOINTTOPOINT) && (psDroid->sMove.Status == MOVEINACTIVE) ) { - psDroid->psCurAnim = animObj_Add( psObj, ID_ANIM_CYBORG_PACK_LAND, 0, 1 ); + psDroid->psCurAnim = animObj_Add(psDroid, ID_ANIM_CYBORG_PACK_LAND, 0, 1); animObj_SetDoneFunc( psDroid->psCurAnim, moveCyborgTouchDownAnimDone ); } else if ( psDroid->sMove.Status == MOVEPOINTTOPOINT ) @@ -2106,12 +2056,12 @@ static void moveUpdateCyborgModel(DROID *psDroid, SDWORD moveSpeed, uint16_t mov { if ( psDroid->sMove.iVertSpeed == 0 ) { - psDroid->psCurAnim = animObj_Add( psObj, ID_ANIM_CYBORG_PACK_JUMP, 0, 1 ); + psDroid->psCurAnim = animObj_Add(psDroid, ID_ANIM_CYBORG_PACK_JUMP, 0, 1); animObj_SetDoneFunc( psDroid->psCurAnim, moveCyborgLaunchAnimDone ); } else { - psDroid->psCurAnim = animObj_Add( psObj, ID_ANIM_CYBORG_PACK_LAND, 0, 1 ); + psDroid->psCurAnim = animObj_Add(psDroid, ID_ANIM_CYBORG_PACK_LAND, 0, 1); animObj_SetDoneFunc( psDroid->psCurAnim, moveCyborgTouchDownAnimDone ); } } @@ -2451,7 +2401,7 @@ void moveUpdateDroid(DROID *psDroid) } break; case MOVEWAITROUTE: - moveDroidTo(psDroid, psDroid->sMove.DestinationX,psDroid->sMove.DestinationY); + moveDroidTo(psDroid, psDroid->sMove.destination.x, psDroid->sMove.destination.y); moveSpeed = MAX(0, psDroid->sMove.speed - 1); break; case MOVENAVIGATE: @@ -2502,7 +2452,7 @@ void moveUpdateDroid(DROID *psDroid) if (psDroid->sMove.numPoints == 0 || !moveBestTarget(psDroid)) { // Got stuck somewhere, can't find the path. - moveDroidTo(psDroid, psDroid->sMove.DestinationX, psDroid->sMove.DestinationY); + moveDroidTo(psDroid, psDroid->sMove.destination.x, psDroid->sMove.destination.y); } // See if the target point has been reached @@ -2564,7 +2514,7 @@ void moveUpdateDroid(DROID *psDroid) break; case MOVETURNTOTARGET: moveSpeed = 0; - moveDir = calcDirection(psDroid->pos.x, psDroid->pos.y, psDroid->sMove.targetX, psDroid->sMove.targetY); + moveDir = iAtan2(psDroid->sMove.target - removeZ(psDroid->pos)); if (psDroid->rot.direction == moveDir) { if ( psPropStats->propulsionType == PROPULSION_TYPE_LIFT ) diff --git a/src/movedef.h b/src/movedef.h index 6289407da..04b972371 100644 --- a/src/movedef.h +++ b/src/movedef.h @@ -27,22 +27,21 @@ #include "lib/framework/vector.h" //Watermelon:num of VTOL weapons should be same as DROID_MAXWEAPS -#define VTOL_MAXWEAPS 3 +#define VTOL_MAXWEAPS 3 -typedef enum _move_status +enum MOVE_STATUS { MOVEINACTIVE, MOVENAVIGATE, MOVETURN, MOVEPAUSE, MOVEPOINTTOPOINT, -MOVETURNSTOP, -MOVETURNTOTARGET, +MOVETURNTOTARGET = 6, // = 6 for savegame compatibility. MOVEHOVER = 8, // = 8 for savegame compatibility. MOVEDRIVE, MOVEWAITROUTE, MOVESHUFFLE, -} MOVE_STATUS; +}; /// Extra precision added to movement calculations, stored in ebitX, ebitY. #define EXTRA_BITS 8 @@ -56,8 +55,8 @@ struct MOVE_CONTROL uint16_t numPoints; // number of points in asPath Vector2i *asPath; // Pointer to list of block X,Y map coordinates. - SDWORD DestinationX, DestinationY; // World coordinates of movement destination - SDWORD srcX,srcY,targetX,targetY; + Vector2i destination; // World coordinates of movement destination + Vector2i src, target; int speed; // Speed of motion uint8_t eBitX, eBitY; // extra bits stored in a temporary bit bucket @@ -70,8 +69,6 @@ struct MOVE_CONTROL UDWORD shuffleStart; // when a shuffle started - struct _formation *psFormation; // formation the droid is currently a member of - /* vtol movement - GJ */ SWORD iVertSpeed; diff --git a/src/order.cpp b/src/order.cpp index 55146f1f6..12e38902f 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -151,8 +151,8 @@ static void orderCheckGuardPosition(DROID *psDroid, SDWORD range) ((psDroid->action == DACTION_MOVE) || (psDroid->action == DACTION_MOVEFIRE))) { - xdiff = (SDWORD)psDroid->sMove.DestinationX - (SDWORD)psDroid->orderX; - ydiff = (SDWORD)psDroid->sMove.DestinationY - (SDWORD)psDroid->orderY; + xdiff = psDroid->sMove.destination.x - psDroid->orderX; + ydiff = psDroid->sMove.destination.y - psDroid->orderY; if (xdiff*xdiff + ydiff*ydiff > range*range) { actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX, psDroid->orderY); From f403e2c7aa7599d26bdc62c97089624249cfba90 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 8 Jan 2011 00:53:50 +0100 Subject: [PATCH 095/142] Fix autogame AIs building on top left corner of map, if not running on host. --- src/group.cpp | 5 ----- src/scriptfuncs.cpp | 9 ++++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/group.cpp b/src/group.cpp index fcf92a8c9..1c3b3b4bc 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -25,7 +25,6 @@ */ #include "lib/framework/frame.h" -#include "lib/netplay/netplay.h" #include "multiplay.h" @@ -103,8 +102,6 @@ void grpJoin(DROID_GROUP *psGroup, DROID *psDroid) // if psDroid == NULL just increase the refcount don't add anything to the list if (psDroid != NULL) { - syncDebug("Droid %d joining group.", psDroid->id); - if (psGroup->psList && psDroid->player != psGroup->psList->player) { ASSERT( false,"grpJoin: Cannot have more than one players droids in a group" ); @@ -188,8 +185,6 @@ void grpLeave(DROID_GROUP *psGroup, DROID *psDroid) if (psDroid) { - syncDebug("Droid %d leaving group.", psDroid->id); - psDroid->psGroup = NULL; psDroid->psGrpNext = NULL; diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index eb5d5aa5c..01948aa93 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -147,8 +147,7 @@ BOOL scrGetPlayer() ASSERT_OR_RETURN(false, nextPlayer < MAX_PLAYERS, "Invalid player"); scrFunctionResult.v.ival = nextPlayer; - debug(LOG_SCRIPT, "Initialized player %d, starts at position (%d, %d), max %d players", nextPlayer, - positions[nextPlayer].x, positions[nextPlayer].y, NetPlay.maxPlayers); + debug(LOG_SCRIPT, "Initialized player %d, starts at position (%d, %d), max %d players", nextPlayer, positions[nextPlayer].x, positions[nextPlayer].y, game.maxPlayers); nextPlayer++; if (!stackPushResult(VAL_INT, &scrFunctionResult)) { @@ -209,7 +208,7 @@ BOOL scrSafeDest(void) { return false; } - ASSERT_OR_RETURN(false, player < NetPlay.maxPlayers, "Out of bounds player index"); + ASSERT_OR_RETURN(false, player < game.maxPlayers, "Out of bounds player index"); ASSERT_OR_RETURN(false, worldOnMap(x, y), "Out of bounds coordinates(%d, %d)", x, y); scrFunctionResult.v.bval = !(auxTile(map_coord(x), map_coord(y), player) & AUXBITS_DANGER); if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) @@ -227,7 +226,7 @@ BOOL scrThreatAt(void) { return false; } - ASSERT_OR_RETURN(false, player < NetPlay.maxPlayers, "Out of bounds player index"); + ASSERT_OR_RETURN(false, player < game.maxPlayers, "Out of bounds player index"); ASSERT_OR_RETURN(false, worldOnMap(x, y), "Out of bounds coordinates(%d, %d)", x, y); scrFunctionResult.v.bval = auxTile(map_coord(x), map_coord(y), player) & AUXBITS_THREAT; if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) @@ -245,7 +244,7 @@ BOOL scrGetPlayerStartPosition(void) { return false; } - if (player < NetPlay.maxPlayers) + if (player < game.maxPlayers) { *x = positions[player].x; *y = positions[player].y; From 7dcfef76ee84a96770f2e034c97b815a4eca4175 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 8 Jan 2011 15:38:31 +0100 Subject: [PATCH 096/142] Don't let wall dragging affect where it's possible to build, unless bCheckBuildQueue is true. Probably fixes a desynch. Also, removed unused outlineTile, outlineOK and outlineNotOK variables. --- src/hci.cpp | 9 --------- src/hci.h | 16 +++++----------- src/structure.cpp | 10 +++------- 3 files changed, 8 insertions(+), 27 deletions(-) diff --git a/src/hci.cpp b/src/hci.cpp index dc5135e14..5e23cf2b9 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -277,11 +277,6 @@ static const char *apPlayerTip[] = /* The widget screen */ W_SCREEN *psWScreen; -//two colours used for drawing the footprint outline for objects in 2D -PIELIGHT outlineOK; -PIELIGHT outlineNotOK; -BOOL outlineTile = false; - // The last widget ID from widgRunScreen UDWORD intLastWidget; @@ -602,10 +597,6 @@ BOOL intInitialise(void) objectsChanged = false; - //set the default colours to be used for drawing outlines in 2D - outlineOK = WZCOL_MAP_OUTLINE_OK; - outlineNotOK = WZCOL_MAP_OUTLINE_BAD; - // reset the previous objects intResetPreviousObj(); diff --git a/src/hci.h b/src/hci.h index 0f0478422..a5367ef83 100644 --- a/src/hci.h +++ b/src/hci.h @@ -228,7 +228,8 @@ #define MAXCOMPONENT 80 #define MAXEXTRASYS 80 -typedef enum { +enum INTMODE +{ INT_NORMAL, // Standard mode (just the reticule) INT_OPTION, // Option screen @@ -250,7 +251,7 @@ typedef enum { INT_POPUPMSG, // Adds a popup message to user INT_MAXMODE, //leave as last so we can start the objMode at this value -} INTMODE; +}; extern INTMODE intMode; @@ -267,13 +268,6 @@ extern UDWORD objStatID; extern DROID_TEMPLATE *psCurrTemplate; extern DROID_TEMPLATE **apsTemplateList; -//two colours used for drawing the footprint outline for objects in 2D -extern PIELIGHT outlineOK; -extern PIELIGHT outlineNotOK; - -//value gets set to colour used for drawing -extern BOOL outlineTile; - /*Message View Buffer width and height - MAXIMUM Sizes! - only need to be as big as Pie View in Research Msg now*/ #define MSG_BUFFER_WIDTH INTMAP_PIEWIDTH//DISP_WIDTH//640 @@ -299,7 +293,7 @@ extern BOOL CoordInBuild(int x, int y); extern void interfaceShutDown(void); /* Return codes for the widget interface */ -typedef enum _int_retval +enum INT_RETVAL { INT_NONE, // no key clicks have been intercepted INT_INTERCEPT, // key clicks have been intercepted @@ -310,7 +304,7 @@ typedef enum _int_retval INT_INTELNOSCROLL, //The 3DView of the intelligence screen is up // and we don't want scroll (or update!) INT_QUIT, // The game should quit -} INT_RETVAL; +}; /* Run the widgets for the in game interface */ extern INT_RETVAL intRunWidgets(void); diff --git a/src/structure.cpp b/src/structure.cpp index d67bf203f..96dcb9a03 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -4028,15 +4028,15 @@ bool validLocation(BASE_STATS *psStats, unsigned x, unsigned y, uint16_t directi if (psStats->ref >= REF_STRUCTURE_START && psStats->ref < (REF_STRUCTURE_START + REF_RANGE)) { - unsigned sWidth = getStructureStatsWidth((STRUCTURE_STATS *)psStats, direction); - unsigned sBreadth = getStructureStatsBreadth((STRUCTURE_STATS *)psStats, direction); + unsigned sWidth = getStructureStatsWidth(psBuilding, direction); + unsigned sBreadth = getStructureStatsBreadth(psBuilding, direction); site.xTL = (UWORD)x; site.yTL = (UWORD)y; site.xBR = (UWORD)(x + sWidth - 1); site.yBR = (UWORD)(y + sBreadth - 1); //if we're dragging the wall/defense we need to check along the current dragged size - if (wallDrag.status != DRAG_INACTIVE + if (wallDrag.status != DRAG_INACTIVE && bCheckBuildQueue && (psBuilding->type == REF_WALL || psBuilding->type == REF_DEFENSE || psBuilding->type == REF_REARM_PAD || psBuilding->type == REF_GATE) && !isLasSat(psBuilding)) { @@ -4440,10 +4440,6 @@ bool validLocation(BASE_STATS *psStats, unsigned x, unsigned y, uint16_t directi failed: // Succeeded if got here without jumping. // Only set the hilight colour if it's the selected player. - if (player == selectedPlayer) - { - outlineTile = true; - } return valid; } From b72911f82f8345d781fabd2bb67797c0a300ef22 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sat, 8 Jan 2011 15:49:30 +0100 Subject: [PATCH 097/142] Remove NetPlay.maxPlayers, since it was just a sometimes-correct copy of game.maxPlayers. --- lib/netplay/netplay.cpp | 1 - lib/netplay/netplay.h | 1 - src/keybind.cpp | 2 +- src/multiint.cpp | 3 --- src/multiopt.cpp | 1 - 5 files changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index 6fb961142..7798ac834 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -2427,7 +2427,6 @@ BOOL NEThostGame(const char* SessionName, const char* PlayerName, NETaddRedirects(); } NET_InitPlayers(); - NetPlay.maxPlayers = MAX_PLAYERS; if(!NetPlay.bComms) { selectedPlayer = 0; diff --git a/lib/netplay/netplay.h b/lib/netplay/netplay.h index ad05fe0a9..ae9be9e4e 100644 --- a/lib/netplay/netplay.h +++ b/lib/netplay/netplay.h @@ -261,7 +261,6 @@ typedef struct { uint32_t hostPlayer; ///< Index of host in player array uint32_t bComms; ///< Actually do the comms? BOOL isHost; ///< True if we are hosting the game - int32_t maxPlayers; ///< Maximum number of players in this game BOOL isUPNP; // if we want the UPnP detection routines to run BOOL isHostAlive; /// if the host is still alive PHYSFS_file *pMapFileHandle; diff --git a/src/keybind.cpp b/src/keybind.cpp index 2119bf906..210f55604 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -186,7 +186,7 @@ void kf_PowerInfo( void ) { int i; - for (i = 0; i < NetPlay.maxPlayers; i++) + for (i = 0; i < game.maxPlayers; i++) { console("Player %d: %d power", i, (int)getPower(i)); } diff --git a/src/multiint.cpp b/src/multiint.cpp index 3c58703d3..55aa5498a 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2309,7 +2309,6 @@ static void processMultiopWidgets(UDWORD id) widgSetButtonState(psWScreen, MULTIOP_CAMPAIGN, WBUT_LOCK); widgSetButtonState(psWScreen, MULTIOP_SKIRMISH,0); game.scavengers = true; - NetPlay.maxPlayers = MIN(game.maxPlayers, 7); resetReadyStatus(false); if(bHosted) { @@ -2321,7 +2320,6 @@ static void processMultiopWidgets(UDWORD id) widgSetButtonState(psWScreen, MULTIOP_CAMPAIGN,0 ); widgSetButtonState(psWScreen, MULTIOP_SKIRMISH,WBUT_LOCK); game.scavengers = false; - NetPlay.maxPlayers = game.maxPlayers; resetReadyStatus(false); if(bHosted) { @@ -3233,7 +3231,6 @@ BOOL startMultiOptions(BOOL bReenter) sstrcpy(game.map, inifile_get(inif, "Map", game.map)); game.maxPlayers = inifile_get_as_int(inif, "MaxPlayers", game.maxPlayers); // TODO, read from map itself, not here!! - NetPlay.maxPlayers = game.maxPlayers; game.scavengers = inifile_get_as_bool(inif, "Scavengers", game.scavengers); game.alliance = ALLIANCES_TEAMS; netPlayersUpdated = true; diff --git a/src/multiopt.cpp b/src/multiopt.cpp index aaa549ffb..a850b8ecc 100644 --- a/src/multiopt.cpp +++ b/src/multiopt.cpp @@ -283,7 +283,6 @@ BOOL hostCampaign(char *sGame, char *sPlayer) { strcpy(NetPlay.players[0].name,sPlayer); } - NetPlay.maxPlayers = game.maxPlayers; return true; } From cfa47fbb70648b5df2c258bcf6ce9d6637373baa Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sat, 8 Jan 2011 17:05:11 +0100 Subject: [PATCH 098/142] Remove unused duplicates from campaign wz, and move three files only used in multiplayer to mp wz. --- data/base/wrf/multi/campaign-scav.wrf | 15 -------------- data/base/wrf/multi/campaign.wrf | 12 ----------- data/base/wrf/multi/deathmatch.wrf | 14 ------------- data/base/wrf/multi/skirmish2.wrf | 16 --------------- data/base/wrf/multi/skirmish3.wrf | 17 ---------------- data/base/wrf/multi/skirmish4.wrf | 20 ------------------ data/base/wrf/multi/skirmish5.wrf | 19 ------------------ data/base/wrf/multi/skirmish6.wrf | 20 ------------------ data/base/wrf/multi/skirmish7.wrf | 21 ------------------- data/base/wrf/multi/skirmish8.wrf | 29 --------------------------- data/{base => mp}/wrf/multi/fog1.wrf | 0 data/{base => mp}/wrf/multi/fog2.wrf | 0 data/{base => mp}/wrf/multi/fog3.wrf | 0 13 files changed, 183 deletions(-) delete mode 100644 data/base/wrf/multi/campaign-scav.wrf delete mode 100644 data/base/wrf/multi/campaign.wrf delete mode 100644 data/base/wrf/multi/deathmatch.wrf delete mode 100644 data/base/wrf/multi/skirmish2.wrf delete mode 100644 data/base/wrf/multi/skirmish3.wrf delete mode 100644 data/base/wrf/multi/skirmish4.wrf delete mode 100644 data/base/wrf/multi/skirmish5.wrf delete mode 100644 data/base/wrf/multi/skirmish6.wrf delete mode 100644 data/base/wrf/multi/skirmish7.wrf delete mode 100644 data/base/wrf/multi/skirmish8.wrf rename data/{base => mp}/wrf/multi/fog1.wrf (100%) rename data/{base => mp}/wrf/multi/fog2.wrf (100%) rename data/{base => mp}/wrf/multi/fog3.wrf (100%) diff --git a/data/base/wrf/multi/campaign-scav.wrf b/data/base/wrf/multi/campaign-scav.wrf deleted file mode 100644 index e09dc4ce3..000000000 --- a/data/base/wrf/multi/campaign-scav.wrf +++ /dev/null @@ -1,15 +0,0 @@ -// -// Multiplayer Campaign Script loader. -// Alex Lee. -// - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/script" -file SCRIPT "multiplay.slo" -file SCRIPT "scavfact.slo" - -directory "multiplay/script" -file SCRIPTVAL "multiplay.vlo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/base/wrf/multi/campaign.wrf b/data/base/wrf/multi/campaign.wrf deleted file mode 100644 index 9c1a27b59..000000000 --- a/data/base/wrf/multi/campaign.wrf +++ /dev/null @@ -1,12 +0,0 @@ -// -// Multiplayer Campaign Script loader. -// - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/script" -file SCRIPT "multiplay.slo" - -directory "multiplay/script" -file SCRIPTVAL "multiplay.vlo" diff --git a/data/base/wrf/multi/deathmatch.wrf b/data/base/wrf/multi/deathmatch.wrf deleted file mode 100644 index 059104eed..000000000 --- a/data/base/wrf/multi/deathmatch.wrf +++ /dev/null @@ -1,14 +0,0 @@ -// -// Deathmath Script Loader -// - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/script" -file SCRIPT "multiplay.slo" - -directory "multiplay/script" -file SCRIPTVAL "multiplay.vlo" - - diff --git a/data/base/wrf/multi/skirmish2.wrf b/data/base/wrf/multi/skirmish2.wrf deleted file mode 100644 index fcf300577..000000000 --- a/data/base/wrf/multi/skirmish2.wrf +++ /dev/null @@ -1,16 +0,0 @@ -// -// Skirmish Script loader. -// - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" diff --git a/data/base/wrf/multi/skirmish3.wrf b/data/base/wrf/multi/skirmish3.wrf deleted file mode 100644 index 04436e8ad..000000000 --- a/data/base/wrf/multi/skirmish3.wrf +++ /dev/null @@ -1,17 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\skirmish3.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "ai.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/data/base/wrf/multi/skirmish4.wrf b/data/base/wrf/multi/skirmish4.wrf deleted file mode 100644 index 6d5cc9ec9..000000000 --- a/data/base/wrf/multi/skirmish4.wrf +++ /dev/null @@ -1,20 +0,0 @@ -// -// Skirmish Script loader. -// - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" diff --git a/data/base/wrf/multi/skirmish5.wrf b/data/base/wrf/multi/skirmish5.wrf deleted file mode 100644 index 69549799e..000000000 --- a/data/base/wrf/multi/skirmish5.wrf +++ /dev/null @@ -1,19 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\skirmish5.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "ai.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/data/base/wrf/multi/skirmish6.wrf b/data/base/wrf/multi/skirmish6.wrf deleted file mode 100644 index 06470f6d3..000000000 --- a/data/base/wrf/multi/skirmish6.wrf +++ /dev/null @@ -1,20 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\skirmish6.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "ai.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/data/base/wrf/multi/skirmish7.wrf b/data/base/wrf/multi/skirmish7.wrf deleted file mode 100644 index c79b3d4bc..000000000 --- a/data/base/wrf/multi/skirmish7.wrf +++ /dev/null @@ -1,21 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\skirmish7.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "ai.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/data/base/wrf/multi/skirmish8.wrf b/data/base/wrf/multi/skirmish8.wrf deleted file mode 100644 index 1406fc1bb..000000000 --- a/data/base/wrf/multi/skirmish8.wrf +++ /dev/null @@ -1,29 +0,0 @@ -// -// Skirmish Script loader. -// - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" -file SCRIPT "player5.slo" -file SCRIPT "player6.slo" -file SCRIPT "player7.slo" - - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" -file SCRIPTVAL "player5.vlo" -file SCRIPTVAL "player6.vlo" -file SCRIPTVAL "player7.vlo" diff --git a/data/base/wrf/multi/fog1.wrf b/data/mp/wrf/multi/fog1.wrf similarity index 100% rename from data/base/wrf/multi/fog1.wrf rename to data/mp/wrf/multi/fog1.wrf diff --git a/data/base/wrf/multi/fog2.wrf b/data/mp/wrf/multi/fog2.wrf similarity index 100% rename from data/base/wrf/multi/fog2.wrf rename to data/mp/wrf/multi/fog2.wrf diff --git a/data/base/wrf/multi/fog3.wrf b/data/mp/wrf/multi/fog3.wrf similarity index 100% rename from data/base/wrf/multi/fog3.wrf rename to data/mp/wrf/multi/fog3.wrf From 83db4296035bccc30403cc0b8bdbeeb311a1e95c Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Sat, 8 Jan 2011 17:30:14 +0100 Subject: [PATCH 099/142] Make flex/bison build cpp files in the makefile.win32s. --- makerules/common.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/makerules/common.mk b/makerules/common.mk index 236efe341..f3a2172b0 100644 --- a/makerules/common.mk +++ b/makerules/common.mk @@ -13,8 +13,8 @@ RM_CPPFLAGS:=-I$(top_srcdir) %.o: %.cpp $(CXX) $(RM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c -o $(subst /,\\,$@) $(subst /,\\,$<) -%.lex.h %.lex.c: %.l +%.lex.h %.lex.cpp: %.l $(FLEX) $(FLEXFLAGS) -o$(subst /,\\,$@) $(subst /,\\,$<) -%.tab.h %.tab.c: %.y +%.tab.h %.tab.cpp: %.y $(BISON) -d $(BISONFLAGS) -o $(subst /,\\,$@) $(subst /,\\,$<) From 96376b088e6580c2e70952c0b35e962dd7e792f5 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Fri, 7 Jan 2011 15:29:45 +0100 Subject: [PATCH 100/142] Fix compilation with g++ 4.6. Most of this just removes unused variables. Closes #2437. --- lib/script/event.cpp | 2 -- lib/sequence/sequence.cpp | 2 -- lib/sound/audio.cpp | 10 +++------- lib/widget/button.cpp | 2 -- src/action.cpp | 17 +++-------------- src/atmos.cpp | 3 --- src/clparse.cpp | 2 +- src/component.cpp | 15 +-------------- src/display.cpp | 2 -- src/display3d.cpp | 5 ++--- src/e3demo.cpp | 5 ----- src/effects.cpp | 4 ---- src/feature.cpp | 17 ----------------- src/hci.cpp | 3 --- src/intdisplay.cpp | 7 +------ src/intelmap.cpp | 3 --- src/keybind.cpp | 10 ++-------- src/keymap.cpp | 7 ------- src/map.cpp | 12 +----------- src/mission.cpp | 4 +--- src/multiint.cpp | 24 ------------------------ src/multisync.cpp | 2 +- src/order.cpp | 7 +------ src/scriptai.cpp | 3 +-- src/scriptfuncs.cpp | 12 +----------- src/structure.cpp | 9 +-------- src/transporter.cpp | 6 +----- src/warcam.cpp | 15 --------------- 28 files changed, 21 insertions(+), 189 deletions(-) diff --git a/lib/script/event.cpp b/lib/script/event.cpp index bfa7add7d..3c29547c8 100644 --- a/lib/script/event.cpp +++ b/lib/script/event.cpp @@ -879,7 +879,6 @@ BOOL eventLoadTrigger(UDWORD time, SCRIPT_CONTEXT *psContext, SDWORD type, SDWORD trigger, UDWORD event, UDWORD offset) { ACTIVE_TRIGGER *psNewTrig; - TRIGGER_DATA *psTrigData; ASSERT( event < psContext->psCode->numEvents, "eventLoadTrigger: Event out of range" ); @@ -898,7 +897,6 @@ BOOL eventLoadTrigger(UDWORD time, SCRIPT_CONTEXT *psContext, // Initialise the trigger psNewTrig->psContext = psContext; psContext->triggerCount += 1; - psTrigData = psContext->psCode->psTriggerData + trigger; psNewTrig->testTime = time; psNewTrig->trigger = (SWORD)trigger; psNewTrig->type = (SWORD)type; diff --git a/lib/sequence/sequence.cpp b/lib/sequence/sequence.cpp index 236af8acd..1c0b44218 100644 --- a/lib/sequence/sequence.cpp +++ b/lib/sequence/sequence.cpp @@ -474,7 +474,6 @@ bool seq_Play(const char* filename) { int pp_level_max = 0; int pp_level = 0; - int pp_inc = 0; ogg_packet op; debug(LOG_VIDEO, "starting playback of: %s", filename); @@ -639,7 +638,6 @@ bool seq_Play(const char* filename) theora_control(&videodata.td, TH_DECCTL_GET_PPLEVEL_MAX, &pp_level_max, sizeof(pp_level_max)); pp_level = pp_level_max; theora_control(&videodata.td, TH_DECCTL_SET_PPLEVEL, &pp_level, sizeof(pp_level)); - pp_inc = 0; } else { diff --git a/lib/sound/audio.cpp b/lib/sound/audio.cpp index 8179319d9..f2531d3b5 100644 --- a/lib/sound/audio.cpp +++ b/lib/sound/audio.cpp @@ -367,17 +367,14 @@ static AUDIO_SAMPLE *audio_QueueSample( SDWORD iTrack ) // void audio_QueueTrack( SDWORD iTrack ) { - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - AUDIO_SAMPLE *psSample = NULL; - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // return if audio not enabled if ( g_bAudioEnabled == false || g_bAudioPaused == true) { return; } - psSample = audio_QueueSample( iTrack ); + audio_QueueSample( iTrack ); + return; } //* @@ -700,7 +697,7 @@ static BOOL audio_Play3DTrack( SDWORD iX, SDWORD iY, SDWORD iZ, int iTrack, SIMP // coordinates float listenerX = .0f, listenerY = .0f, listenerZ = .0f, dX, dY, dZ; // calculation results - float distance, gain, sfx3d_volume; + float distance, gain; #ifndef WZ_NOSOUND ALenum err; #endif @@ -732,7 +729,6 @@ static BOOL audio_Play3DTrack( SDWORD iX, SDWORD iY, SDWORD iZ, int iTrack, SIMP dZ = (float)iZ - listenerZ; distance = sqrtf(dX * dX + dY * dY + dZ * dZ); // Pythagorean theorem - sfx3d_volume = sound_GetEffectsVolume(); // compute gain gain = (1.0 - (distance * ATTENUATION_FACTOR)) ;//* 1.0f * sfx3d_volume if (gain > 1.0f) diff --git a/lib/widget/button.cpp b/lib/widget/button.cpp index 4212ec25a..c2ac17cb0 100644 --- a/lib/widget/button.cpp +++ b/lib/widget/button.cpp @@ -270,7 +270,6 @@ void buttonDisplay(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p { W_BUTTON *psButton; SDWORD x0,y0,x1,y1, fx,fy,fw; - int CurrFontID; ASSERT(psWidget != NULL && pColours != NULL, "Invalid pointers"); if (!psWidget || !pColours) @@ -279,7 +278,6 @@ void buttonDisplay(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p } psButton = (W_BUTTON *)psWidget; - CurrFontID = psButton->FontID; x0=psButton->x + xOffset; y0=psButton->y + yOffset; diff --git a/src/action.cpp b/src/action.cpp index 6a7fba65c..7b67725f7 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -156,7 +156,7 @@ const char* getDroidActionName(DROID_ACTION action) /* Check if a target is at correct range to attack */ static BOOL actionInAttackRange(DROID *psDroid, BASE_OBJECT *psObj, int weapon_slot) { - SDWORD dx, dy, dz, radSq, rangeSq, longRange; + SDWORD dx, dy, radSq, rangeSq, longRange; WEAPON_STATS *psStats; int compIndex; @@ -168,7 +168,6 @@ static BOOL actionInAttackRange(DROID *psDroid, BASE_OBJECT *psObj, int weapon_s dx = (SDWORD)psDroid->pos.x - (SDWORD)psObj->pos.x; dy = (SDWORD)psDroid->pos.y - (SDWORD)psObj->pos.y; - dz = (SDWORD)psDroid->pos.z - (SDWORD)psObj->pos.z; radSq = dx*dx + dy*dy; @@ -231,7 +230,7 @@ static BOOL actionInAttackRange(DROID *psDroid, BASE_OBJECT *psObj, int weapon_s // check if a target is within weapon range BOOL actionInRange(DROID *psDroid, BASE_OBJECT *psObj, int weapon_slot) { - SDWORD dx, dy, dz, radSq, rangeSq, longRange; + SDWORD dx, dy, radSq, rangeSq, longRange; WEAPON_STATS *psStats; int compIndex; @@ -248,7 +247,6 @@ BOOL actionInRange(DROID *psDroid, BASE_OBJECT *psObj, int weapon_slot) dx = (SDWORD)psDroid->pos.x - (SDWORD)psObj->pos.x; dy = (SDWORD)psDroid->pos.y - (SDWORD)psObj->pos.y; - dz = (SDWORD)psDroid->pos.z - (SDWORD)psObj->pos.z; radSq = dx*dx + dy*dy; @@ -273,7 +271,7 @@ BOOL actionInRange(DROID *psDroid, BASE_OBJECT *psObj, int weapon_slot) // check if a target is inside minimum weapon range BOOL actionInsideMinRange(DROID *psDroid, BASE_OBJECT *psObj, WEAPON_STATS *psStats) { - SDWORD dx, dy, dz, radSq, rangeSq, minRange; + SDWORD dx, dy, radSq, rangeSq, minRange; CHECK_DROID(psDroid); CHECK_OBJECT(psObj); @@ -291,7 +289,6 @@ BOOL actionInsideMinRange(DROID *psDroid, BASE_OBJECT *psObj, WEAPON_STATS *psSt dx = (SDWORD)psDroid->pos.x - (SDWORD)psObj->pos.x; dy = (SDWORD)psDroid->pos.y - (SDWORD)psObj->pos.y; - dz = (SDWORD)psDroid->pos.z - (SDWORD)psObj->pos.z; radSq = dx*dx + dy*dy; @@ -374,7 +371,6 @@ BOOL actionTargetTurret(BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, WEAPON * bool onTarget; int32_t dxy; int32_t pitchLowerLimit, pitchUpperLimit; - bool bInvert; bool bRepair; if (!psTarget) @@ -382,9 +378,6 @@ BOOL actionTargetTurret(BASE_OBJECT *psAttacker, BASE_OBJECT *psTarget, WEAPON * return false; } - /* check whether turret position inverted vertically on body */ - bInvert = psAttacker->type == OBJ_DROID && !cyborgDroid((DROID *)psAttacker) && isVtolDroid((DROID *)psAttacker); - bRepair = psAttacker->type == OBJ_DROID && ((DROID *)psAttacker)->droidType == DROID_REPAIR; // these are constants now and can be set up at the start of the function @@ -2791,7 +2784,6 @@ return to base*/ void moveToRearm(DROID *psDroid) { STRUCTURE *psStruct; - UBYTE chosen=0; CHECK_DROID(psDroid); @@ -2823,19 +2815,16 @@ void moveToRearm(DROID *psDroid) // no order set - use the rearm order to ensure the unit goes back // to the landing pad orderDroidObj(psDroid, DORDER_REARM, (BASE_OBJECT *)psStruct, ModeImmediate); - chosen=1; } else { actionDroidObj(psDroid, DACTION_MOVETOREARM, (BASE_OBJECT *)psStruct); - chosen=2; } } else { //return to base un-armed orderDroid(psDroid, DORDER_RTB, ModeImmediate); - chosen =3; } } diff --git a/src/atmos.cpp b/src/atmos.cpp index 5f6caa687..5af562fd2 100644 --- a/src/atmos.cpp +++ b/src/atmos.cpp @@ -342,7 +342,6 @@ UDWORD i; void renderParticle( ATPART *psPart ) { Vector3i dv; - SDWORD centreX, centreZ; SDWORD x, y, z, rx, rz; x = psPart->position.x; @@ -363,8 +362,6 @@ void renderParticle( ATPART *psPart ) /* Scale it... */ pie_MatScale(psPart->size / 100.f); /* Draw it... */ - centreX = player.p.x + world_coord(visibleTiles.x / 2); - centreZ = player.p.z + world_coord(visibleTiles.y / 2); pie_Draw3DShape(psPart->imd, 0, 0, WZCOL_WHITE, 0, 0); pie_MatEnd(); } diff --git a/src/clparse.cpp b/src/clparse.cpp index 8d9424ce6..4b29a2ef0 100644 --- a/src/clparse.cpp +++ b/src/clparse.cpp @@ -53,7 +53,7 @@ struct poptOption const char *string; char short_form; bool argument; - void *nullptr; // unused + void *nullpointer; // unused int enumeration; const char *descrip; const char *argDescrip; diff --git a/src/component.cpp b/src/component.cpp index 4bac43dfd..fe1adf4bb 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -503,7 +503,7 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) iIMDShape *psShape, *psJet, *psShapeTemp = NULL, *psMountShape; Vector3i zero(0, 0, 0); Vector2i screenCoords; - SDWORD dummyZ, iConnector; + SDWORD iConnector; PROPULSION_STATS *psPropStats; SDWORD frame; SDWORD pieFlag, iPieData; @@ -544,9 +544,6 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) brightness = WZCOL_WHITE; } - /* We've got a z value here _and_ screen coords of origin */ - dummyZ = pie_RotateProject(&zero, &screenCoords); - /* set default components transparent */ if ( psDroid->asBits[COMP_PROPULSION].nStat == 0 ) { @@ -697,8 +694,6 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) Rotation rot = getInterpolatedWeaponRotation(psDroid, i, graphicsTime); pie_MatBegin(); - //reset Z? - dummyZ = pie_RotateProject(&zero, &screenCoords); //to skip number of VTOL_CONNECTOR_START ground unit connectors if ( iConnector < VTOL_CONNECTOR_START ) @@ -850,8 +845,6 @@ static void displayCompObj(DROID *psDroid, BOOL bButton) fall on it's arse......*/ //sensor and cyborg and ecm uses connectors[0] pie_MatBegin(); - //reset Z? - dummyZ = pie_RotateProject(&zero, &screenCoords); /* vtol weapons inverted */ if ( iConnector >= VTOL_CONNECTOR_START ) { @@ -1001,13 +994,10 @@ void displayComponentObject(DROID *psDroid) Vector3i position, rotation; int32_t xShift,zShift; SDWORD frame; - PROPULSION_STATS *psPropStats; UDWORD tileX,tileY; MAPTILE *psTile; Spacetime st = interpolateObjectSpacetime(psDroid, graphicsTime); - psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; - leftFirst = angleDelta(player.r.y - st.rot.direction) <= 0; /* Push the matrix */ @@ -1182,7 +1172,6 @@ void compPersonToBits(DROID *psDroid) { Vector3i position; //,rotation,velocity; iIMDShape *headImd, *legsImd, *armImd, *bodyImd; - UDWORD groundHeight; UDWORD col; if(!psDroid->visible[selectedPlayer]) @@ -1209,10 +1198,8 @@ void compPersonToBits(DROID *psDroid) /* Get where he's at */ position.x = psDroid->pos.x; position.y = psDroid->pos.z+1; - groundHeight = psDroid->pos.z; position.z = psDroid->pos.y; - /* Tell about player colour */ col = getPlayerColour(psDroid->player); diff --git a/src/display.cpp b/src/display.cpp index 8b0ef72fb..75f5eaebf 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -1592,7 +1592,6 @@ void dealWithDroidSelect(DROID *psDroid, BOOL bDragBox) { DROID *psD; BOOL bGotGroup; - SDWORD groupNumber = 0; /* Toggle selection on and off - allows you drag around a big area of droids and then exclude certain individuals */ @@ -1607,7 +1606,6 @@ void dealWithDroidSelect(DROID *psDroid, BOOL bDragBox) if(psD->selected && (psD->group!=UBYTE_MAX)) { bGotGroup = true; - groupNumber = psD->group; } } if (keyDown(KEY_LALT) || keyDown(KEY_RALT)) diff --git a/src/display3d.cpp b/src/display3d.cpp index c92dd136b..7da6da8b3 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -728,8 +728,7 @@ void draw3DScene( void ) } if (showORDERS) { - unsigned int width, height; - width = iV_GetTextWidth(DROIDDOING); + unsigned int height; height = iV_GetTextHeight(DROIDDOING); iV_DrawText(DROIDDOING, 0, pie_GetVideoBufferHeight()- height); } @@ -1861,7 +1860,7 @@ UDWORD getViewDistance(void) /// Set the distance at which the player views the world void setViewDistance(UDWORD dist) { - dist = distance; + distance = dist; } /// Draw a feature (tree/rock/etc.) diff --git a/src/e3demo.cpp b/src/e3demo.cpp index 339da5535..67d094037 100644 --- a/src/e3demo.cpp +++ b/src/e3demo.cpp @@ -74,7 +74,6 @@ static void findSomethingInteresting(void) } type; UDWORD player,otherPlayer; -BOOL gotNewTarget; DROID *psDroid; UDWORD numWith; BOOL bSeekOnlyLocations; @@ -110,9 +109,6 @@ PROPULSION_STATS *psPropStats; bSeekOnlyLocations = true; } - /* We haven't yet got a droid if we're looking for one...*/ - gotNewTarget = false; - /* Keep going until we get one */ // while(!gotNewTarget) // { @@ -200,7 +196,6 @@ PROPULSION_STATS *psPropStats; /* Go to a new location cos there's no droids left in the world....ahhhhhhh*/ case SEEK_OVERRIDE: requestRadarTrack((16 + rand()%(mapWidth-31))*TILE_UNITS, (16 + rand()%(mapHeight-31)) * TILE_UNITS ); - gotNewTarget = true; break; default: break; diff --git a/src/effects.cpp b/src/effects.cpp index 11c0d77bb..f1c3b9232 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -846,7 +846,6 @@ static void updateSatLaser(EFFECT *psEffect) UDWORD xDif,yDif; UDWORD i; UDWORD startHeight,endHeight; - iIMDShape *pie; UDWORD xPos,yPos; LIGHT light; @@ -859,7 +858,6 @@ static void updateSatLaser(EFFECT *psEffect) if(psEffect->baseScale) { psEffect->baseScale = 0; - pie = getImdFromIndex(MI_FLAME); /* Add some big explosions....! */ @@ -2495,7 +2493,6 @@ static void effectStructureUpdates(void) } else if (psStructure->pStructureType->type == REF_POWER_GEN) { - bool active = false; POWER_GEN *psPowerGen = &psStructure->pFunctionality->powerGenerator; Vector3i eventPos = swapYZ(psStructure->pos); @@ -2511,7 +2508,6 @@ static void effectStructureUpdates(void) if (psPowerGen->apResExtractors[i] && psPowerGen->apResExtractors[i]->pFunctionality->resourceExtractor.active) { - active = true; break; } } diff --git a/src/feature.cpp b/src/feature.cpp index 0a363ff91..a74e874ea 100644 --- a/src/feature.cpp +++ b/src/feature.cpp @@ -200,7 +200,6 @@ FEATURE * buildFeature(FEATURE_STATS *psStats, UDWORD x, UDWORD y,BOOL FromSave) UDWORD width,breadth, foundationMin,foundationMax, height; UDWORD startX,startY,max,min; SDWORD i; - UBYTE vis; //try and create the Feature FEATURE *psFeature = new FEATURE(generateSynchronisedObjectId(), psStats); @@ -272,22 +271,6 @@ FEATURE * buildFeature(FEATURE_STATS *psStats, UDWORD x, UDWORD y,BOOL FromSave) // it has never been drawn psFeature->sDisplay.frameNumber = 0; - if(getRevealStatus()) - { - vis = 0; - } - else - { - if(psStats->visibleAtStart) - { - vis = UBYTE_MAX; - } - else - { - vis = 0; - } - } - // note that the advanced armour system current unused for features for (i = 0; i < NUM_HIT_SIDES; i++) { diff --git a/src/hci.cpp b/src/hci.cpp index 5e23cf2b9..d34dc1a9a 100644 --- a/src/hci.cpp +++ b/src/hci.cpp @@ -3766,7 +3766,6 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B STRUCTURE *Structure; BOOL IsFactory; BOOL Animate = true; - UWORD FormX,FormY; int compIndex; // Is the form already up? @@ -3888,8 +3887,6 @@ static BOOL intAddObjectWindow(BASE_OBJECT *psObjects, BASE_OBJECT *psSelected,B sFormInit.style = WFORM_PLAIN; sFormInit.x = (SWORD)OBJ_BACKX; sFormInit.y = (SWORD)OBJ_BACKY; - FormX = sFormInit.x; - FormY = sFormInit.y; sFormInit.width = OBJ_BACKWIDTH; sFormInit.height = OBJ_BACKHEIGHT; // If the window was closed then do open animation. diff --git a/src/intdisplay.cpp b/src/intdisplay.cpp index f67866def..c8bb5cd2c 100644 --- a/src/intdisplay.cpp +++ b/src/intdisplay.cpp @@ -1238,13 +1238,11 @@ void intOpenPlainForm(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_ void intClosePlainForm(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_UNUSED PIELIGHT *pColours) { W_TABFORM *Form = (W_TABFORM*)psWidget; - UDWORD Tx0,Ty0,Tx1,Ty1; + UDWORD Ty0, Ty1; UDWORD Range; UDWORD Duration; UDWORD APos; - Tx0 = xOffset+Form->x; - Tx1 = Tx0 + Form->width; Ty0 = yOffset+Form->y + (Form->height/2) - 4; Ty1 = yOffset+Form->y + (Form->height/2) + 4; @@ -2126,13 +2124,10 @@ void CreateIMDButton(IMAGEFILE *ImageFile, UWORD ImageID, void *Object, UDWORD P UDWORD Size; Vector3i Rotation, Position, NullVector; UDWORD ox,oy; - BUTTON_SURFACE *ButSurf; UDWORD Radius; UDWORD basePlateSize; SDWORD scale; - ButSurf = Buffer->ButSurf; - if(Down) { ox = oy = 2; } else { diff --git a/src/intelmap.cpp b/src/intelmap.cpp index 87e0bec7f..4643d0bde 100644 --- a/src/intelmap.cpp +++ b/src/intelmap.cpp @@ -1268,7 +1268,6 @@ void intDisplayPIEView(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL W_TABFORM *Form = (W_TABFORM*)psWidget; MESSAGE *psMessage = (MESSAGE *)Form->pUserData; UDWORD x0,y0,x1,y1; - VIEW_RESEARCH *psViewResearch; SWORD image = -1; RESEARCH *psResearch; @@ -1300,8 +1299,6 @@ void intDisplayPIEView(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL } //render an object - psViewResearch = (VIEW_RESEARCH *)((VIEWDATA *)psCurrentMsg->pViewData)->pData; - psResearch = getResearchForMsg((VIEWDATA *)psCurrentMsg->pViewData); renderResearchToBuffer(psResearch, x0+(x1-x0)/2, y0+(y1-y0)/2); diff --git a/src/keybind.cpp b/src/keybind.cpp index 210f55604..e733fc24b 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -312,7 +312,7 @@ DROID *psDroid; void kf_CloneSelected( void ) { - DROID *psDroid, *psNewDroid = NULL; + DROID *psDroid; DROID_TEMPLATE sTemplate; DROID_TEMPLATE *sTemplate2 = NULL; const int limit = 10; // make 10 clones @@ -350,7 +350,7 @@ void kf_CloneSelected( void ) templateSetParts(psDroid, &sTemplate); // create a new droid - psNewDroid = buildDroid(&sTemplate, psDroid->pos.x, psDroid->pos.y, psDroid->player, false, NULL); + // psNewDroid = buildDroid(&sTemplate, psDroid->pos.x, psDroid->pos.y, psDroid->player, false, NULL); /* // TODO psNewDroid is null, since we just sent a message, but haven't actually created the droid locally yet. ASSERT_OR_RETURN(, psNewDroid != NULL, "Unable to build a unit"); addDroid(psNewDroid, apsDroidLists); @@ -2417,7 +2417,6 @@ void kf_TriggerRayCast( void ) { DROID *psDroid; BOOL found; -DROID *psOther; found = false; for(psDroid = apsDroidLists[selectedPlayer]; psDroid && !found; @@ -2426,7 +2425,6 @@ DROID *psOther; if(psDroid->selected) { found = true; - psOther = psDroid; } /* NOP */ } @@ -2825,8 +2823,6 @@ void kf_BuildPrevPage() { W_TABFORM *psTForm; int temp; - int numTabs; - int maxTabs; int tabPos; ASSERT_OR_RETURN( , psWScreen != NULL, " Invalid screen pointer!"); @@ -2841,8 +2837,6 @@ void kf_BuildPrevPage() psTForm->TabMultiplier = 1; // 1-based } - numTabs = numForms(psTForm->numStats,psTForm->numButtons); - maxTabs = ((numTabs /TAB_SEVEN) + 1); // (Total tabs needed / 7(max tabs that fit))+1 temp = psTForm->majorT - 1; if (temp < 0) { diff --git a/src/keymap.cpp b/src/keymap.cpp index a345fd2e1..b96e1aa91 100644 --- a/src/keymap.cpp +++ b/src/keymap.cpp @@ -690,7 +690,6 @@ void keyProcessMappings( BOOL bExclude ) { KEY_MAPPING *keyToProcess; BOOL bMetaKeyDown; -BOOL bKeyProcessed; SDWORD i; /* Bomb out if there are none */ @@ -718,7 +717,6 @@ SDWORD i; for(keyToProcess = keyMappings; keyToProcess!=NULL; keyToProcess = keyToProcess->psNext) { /* We haven't acted upon it */ - bKeyProcessed = false; if(!keyToProcess->active) { /* Get out if it's inactive */ @@ -752,7 +750,6 @@ SDWORD i; lastSubKey = keyToProcess->subKeyCode; /* Jump to the associated function call */ keyToProcess->function(); - bKeyProcessed = true; } break; case KEYMAP_DOWN: @@ -762,7 +759,6 @@ SDWORD i; lastSubKey = keyToProcess->subKeyCode; /* Jump to the associated function call */ keyToProcess->function(); - bKeyProcessed = true; } break; @@ -773,7 +769,6 @@ SDWORD i; lastSubKey = keyToProcess->subKeyCode; /* Jump to the associated function call */ keyToProcess->function(); - bKeyProcessed = true; } break; @@ -793,7 +788,6 @@ SDWORD i; lastMetaKey = keyToProcess->metaKeyCode; lastSubKey = keyToProcess->subKeyCode; keyToProcess->function(); - bKeyProcessed = true; } else if (keyToProcess->altMetaKeyCode != KEY_IGNORE) { @@ -802,7 +796,6 @@ SDWORD i; lastMetaKey = keyToProcess->metaKeyCode; lastSubKey = keyToProcess->subKeyCode; keyToProcess->function(); - bKeyProcessed = true; } } } diff --git a/src/map.cpp b/src/map.cpp index 43c0f90c3..b211bf56b 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1417,7 +1417,7 @@ bool readVisibilityData(const char* fileName) static void astarTest(const char *name, int x1, int y1, int x2, int y2) { - int asret, i; + int i; MOVE_CONTROL route; int x = world_coord(x1); int y = world_coord(y1); @@ -1433,17 +1433,7 @@ static void astarTest(const char *name, int x1, int y1, int x2, int y2) route.asPath = NULL; for (i = 0; i < 100; i++) { - PATHJOB job; - route.numPoints = 0; - job.origX = x; - job.origY = y; - job.destX = endx; - job.destY = endy; - job.propulsion = PROPULSION_TYPE_WHEELED; - job.droidID = 1; - job.owner = 0; - asret = fpathAStarRoute(&route, &job); free(route.asPath); route.asPath = NULL; } diff --git a/src/mission.cpp b/src/mission.cpp index eb412682c..e9166fb69 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -1828,7 +1828,7 @@ goingHome = true when returning from an off World mission*/ void unloadTransporter(DROID *psTransporter, UDWORD x, UDWORD y, BOOL goingHome) { DROID *psDroid, *psNext; - DROID **ppCurrentList, **ppStoredList; + DROID **ppCurrentList; UDWORD droidX, droidY; UDWORD iX, iY; DROID_GROUP *psGroup; @@ -1836,12 +1836,10 @@ void unloadTransporter(DROID *psTransporter, UDWORD x, UDWORD y, BOOL goingHome) if (goingHome) { ppCurrentList = mission.apsDroidLists; - ppStoredList = apsDroidLists; } else { ppCurrentList = apsDroidLists; - ppStoredList = mission.apsDroidLists; } //unload all the droids from within the current Transporter diff --git a/src/multiint.cpp b/src/multiint.cpp index 55aa5498a..427515060 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -3303,8 +3303,6 @@ void displayRemoteGame(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGH { UDWORD x = xOffset+psWidget->x; UDWORD y = yOffset+psWidget->y; - BOOL Hilight = false; - BOOL Down = false; UDWORD i = psWidget->UserData; char tmp[8], gamename[StringSize]; unsigned int ping; @@ -3314,16 +3312,6 @@ void displayRemoteGame(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGH return; } - // collate info - if( ((W_BUTTON*)psWidget)->state & (WBUTS_HILITE)) - { - Hilight = true; - } - if( ((W_BUTTON*)psWidget)->state & (WBUT_LOCK |WBUT_CLICKLOCK)) //LOCK WCLICK_DOWN | WCLICK_LOCKED | WCLICK_CLICKLOCK)) - { - Down = true; - } - // Draw blue boxes. drawBlueBox(x,y,psWidget->width,psWidget->height); drawBlueBox(x,y,94,psWidget->height); @@ -3412,14 +3400,8 @@ void displayTeamChooser(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIG { UDWORD x = xOffset+psWidget->x; UDWORD y = yOffset+psWidget->y; - BOOL Hilight = false; UDWORD i = psWidget->UserData; - if( ((W_BUTTON*)psWidget)->state & (WBUTS_HILITE| WCLICK_DOWN | WCLICK_LOCKED | WCLICK_CLICKLOCK)) - { - Hilight = true; - } - ASSERT(i < MAX_PLAYERS && NetPlay.players[i].team >= 0 && NetPlay.players[i].team < MAX_PLAYERS, "Team index out of bounds" ); //bluboxes. @@ -3444,15 +3426,9 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p { UDWORD x = xOffset+psWidget->x; UDWORD y = yOffset+psWidget->y; - BOOL Hilight = false; UDWORD j = psWidget->UserData, eval; PLAYERSTATS stat; - if( ((W_BUTTON*)psWidget)->state & (WBUTS_HILITE| WCLICK_DOWN | WCLICK_LOCKED | WCLICK_CLICKLOCK)) - { - Hilight = true; - } - //bluboxes. drawBlueBox(x,y,psWidget->width,psWidget->height); // right if (NetPlay.isHost && NetPlay.players[j].wzFile.isSending) diff --git a/src/multisync.cpp b/src/multisync.cpp index 682d56b69..b90e0d9af 100644 --- a/src/multisync.cpp +++ b/src/multisync.cpp @@ -572,7 +572,7 @@ BOOL recvStructureCheck(NETQUEUE queue) uint8_t player, ourCapacity; uint32_t body; uint32_t ref; - STRUCTURE_TYPE type; + STRUCTURE_TYPE type = REF_HQ; // Dummy initialisation. NETbeginDecode(queue, GAME_CHECK_STRUCT); NETuint8_t(&player); diff --git a/src/order.cpp b/src/order.cpp index 12e38902f..0c7213886 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -3060,7 +3060,7 @@ static void orderPlayOrderObjAudio( UDWORD player, BASE_OBJECT *psObj ) */ void orderSelectedObjAdd(UDWORD player, BASE_OBJECT *psObj, BOOL add) { - DROID *psCurr, *psDemolish; + DROID *psCurr; DROID_ORDER order; // remove any units from their command group @@ -3075,7 +3075,6 @@ void orderSelectedObjAdd(UDWORD player, BASE_OBJECT *psObj, BOOL add) // note that an order list graphic needs to be displayed bOrderEffectDisplayed = false; - psDemolish = NULL; for (psCurr = apsDroidLists[player]; psCurr; psCurr=psCurr->psNext) { if (psCurr->selected) @@ -3096,10 +3095,6 @@ void orderSelectedObjAdd(UDWORD player, BASE_OBJECT *psObj, BOOL add) } order = chooseOrderObj(psCurr, psObj, (keyDown(KEY_LALT) || keyDown(KEY_RALT))); - if (order == DORDER_DEMOLISH && player == selectedPlayer) - { - psDemolish = psCurr; - } // see if the order can be added to the list if (!(add && orderDroidObjAdd(psCurr, order, &psObj))) { diff --git a/src/scriptai.cpp b/src/scriptai.cpp index 74e3cbc19..fefdcc75a 100644 --- a/src/scriptai.cpp +++ b/src/scriptai.cpp @@ -1792,7 +1792,7 @@ static BOOL defenseLocation(BOOL variantB) UDWORD x,y,gX,gY,dist,player,nearestSoFar,count; GATEWAY *psGate,*psChosenGate; DROID *psDroid; - BASE_STATS *psStats,*psWStats; + BASE_STATS *psWStats; UDWORD x1,x2,x3,x4,y1,y2,y3,y4; BOOL noWater; UDWORD minCount; @@ -1817,7 +1817,6 @@ static BOOL defenseLocation(BOOL variantB) } ASSERT_OR_RETURN( false, statIndex < numStructureStats, "Invalid range referenced for numStructureStats, %d > %d", statIndex, numStructureStats); - psStats = (BASE_STATS *)(asStructureStats + statIndex); ASSERT_OR_RETURN( false, statIndex2 < numStructureStats, "Invalid range referenced for numStructureStats, %d > %d", statIndex2, numStructureStats); psWStats = (BASE_STATS *)(asStructureStats + statIndex2); diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 01948aa93..9cce80fae 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -164,16 +164,12 @@ Vector2i getPlayerStartPosition(int player) BOOL scrSetSunPosition(void) { - float x, y, z, pos[4]; + float x, y, z; if (!stackPopParams(3, VAL_FLOAT, &x, VAL_FLOAT, &y, VAL_FLOAT, &z)) { return false; } - pos[0] = x; - pos[1] = y; - pos[2] = z; - pos[3] = 0.0; setTheSun(Vector3f(x, y, z)); return true; } @@ -6773,7 +6769,6 @@ BOOL scrEnumDroid(void) { UDWORD count; DROID *psDroid; - BOOL found; count = 0; for(psDroid=apsDroidLists[playerToEnumDroid];psDroid && countpsNext; } - //search the players' list of droid to see if one exists and is visible - found = false; while(psDroid) { if(psDroid->visible[playerVisibleDroid]) @@ -7516,7 +7509,6 @@ BOOL scrNumResearchLeft(void) UWORD Stack[400]; - BOOL found; PLAYER_RESEARCH *pPlayerRes; @@ -7541,8 +7533,6 @@ BOOL scrNumResearchLeft(void) return false; } - found = false; - if(beingResearchedByAlly(index, player)) { iResult = 1; diff --git a/src/structure.cpp b/src/structure.cpp index 96dcb9a03..237a6fbf5 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -2350,7 +2350,6 @@ static BOOL structPlaceDroid(STRUCTURE *psStructure, DROID_TEMPLATE *psTempl, BOOL placed;//bTemp = false; DROID *psNewDroid; FACTORY *psFact; - SDWORD apx,apy; FLAG_POSITION *psFlag; Vector3i iVecEffect; UBYTE factoryType; @@ -2428,8 +2427,6 @@ static BOOL structPlaceDroid(STRUCTURE *psStructure, DROID_TEMPLATE *psTempl, } psFact = &psStructure->pFunctionality->factory; - apx = psFact->psAssemblyPoint->coords.x; - apy = psFact->psAssemblyPoint->coords.y; // if we've built a command droid - make sure that it isn't assigned to another commander assignCommander = false; @@ -2628,7 +2625,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) REPAIR_FACILITY *psRepairFac = NULL; RESEARCH_FACILITY *psResFacility; Vector3i iVecEffect; - BOOL bFinishAction, bDroidPlaced = false; + BOOL bDroidPlaced = false; WEAPON_STATS *psWStats; SDWORD xdiff,ydiff, mindist, currdist; UDWORD i; @@ -3353,7 +3350,6 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) //- this was a bit exponential ... pointsToAdd = (iDt * psRepairFac->power / GAME_TICKS_PER_SEC) - psRepairFac->currentPtsAdded; - bFinishAction = false; // do some repair if (!pointsToAdd) @@ -3443,8 +3439,6 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) psReArmPad->timeLastUpdated = gameTime; } - bFinishAction = false; - // dont rearm on remote pcs. // Huh?! Why not?! if(!bMultiPlayer || myResponsibility(psDroid->player)) { @@ -3531,7 +3525,6 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) { //clear the rearm pad psDroid->action = DACTION_NONE; - bFinishAction = true; psReArmPad->psObj = NULL; auxClearAll(map_coord(psStructure->pos.x), map_coord(psStructure->pos.y), AUXBITS_ANY_BUILDING | AUXBITS_OUR_BUILDING); } diff --git a/src/transporter.cpp b/src/transporter.cpp index ba493f75b..acf2eb595 100644 --- a/src/transporter.cpp +++ b/src/transporter.cpp @@ -310,14 +310,12 @@ static BOOL _intAddTransporter(DROID *psSelected, BOOL offWorld) BOOL intAddTransporterContents(void) { BOOL Animate = true; - BOOL AlreadyUp = false; // Is the form already up? if(widgGetFromID(psWScreen,IDTRANS_CONTENTFORM) != NULL) { intRemoveTransContentNoAnim(); Animate = false; - AlreadyUp = true; } if(intIsRefreshing()) { @@ -659,7 +657,7 @@ BOOL intAddTransButtonForm(void) /* Add the Transporter Contents form */ BOOL intAddTransContentsForm(void) { - UDWORD numButtons, i; + UDWORD i; SDWORD BufferID; DROID *psDroid, *psNext; @@ -680,8 +678,6 @@ BOOL intAddTransContentsForm(void) sFormInit.tabVertOffset = (OBJ_TABHEIGHT/2); sFormInit.tabMajorThickness = OBJ_TABHEIGHT; - numButtons = TRANSPORTER_CAPACITY; - //set the number of tabs required //sFormInit.numMajor = numForms((OBJ_BUTWIDTH + OBJ_GAP) * numButtons, // OBJ_WIDTH - OBJ_GAP); diff --git a/src/warcam.cpp b/src/warcam.cpp index bcc62c128..53db2551a 100644 --- a/src/warcam.cpp +++ b/src/warcam.cpp @@ -723,21 +723,6 @@ static void updateCameraVelocity(UBYTE update) static void updateCameraPosition(UBYTE update) { -BOOL bFlying; -DROID *psDroid; -PROPULSION_STATS *psPropStats; - - bFlying = false; - if(trackingCamera.target->type == OBJ_DROID) - { - psDroid = (DROID*)trackingCamera.target; - psPropStats = asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat; - if(psPropStats->propulsionType == PROPULSION_TYPE_LIFT) - { - bFlying = true; - } - } - if(update & X_UPDATE) { /* Need to update position along x axis */ From c8efe552072c4d7a92eeb724c78c1b2371eb198a Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Sat, 8 Jan 2011 18:27:34 +0100 Subject: [PATCH 101/142] Don't run the fixbrokendependencies script on every build. --- Makefile.am | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index c8ab355d7..377c4875e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,9 +43,3 @@ EXTRA_DIST= \ dist-hook: rm -rf `find $(distdir) -type d -name .svn` -# HACK Don't give make errors when switching between trunk and branches. -# Works by finding the .deps/*.Po files which refer to source files that don't exist, and replacing them with a single dependency on the correct source file. -.PHONY: fixbrokendeps -fixbrokendeps: - $(srcdir)/fixbrokendependencies || echo "Ignore the missing script, it's not useful when building from a tarball." -all: fixbrokendeps From 64b8ffa800a119e33e92c68d1df47bc807eb4dc1 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 9 Jan 2011 00:00:13 +0100 Subject: [PATCH 102/142] Only complain to the transport's owner about not enough room in the transport. --- src/transporter.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/transporter.cpp b/src/transporter.cpp index acf2eb595..d49aa2469 100644 --- a/src/transporter.cpp +++ b/src/transporter.cpp @@ -1416,8 +1416,11 @@ void transporterAddDroid(DROID *psTransporter, DROID *psDroidToAdd) /* check for space */ if (!checkTransporterSpace(psTransporter, psDroidToAdd)) { - audio_PlayTrack( ID_SOUND_BUILD_FAIL ); - addConsoleMessage(_("There is not enough room in the Transport!"), DEFAULT_JUSTIFY, selectedPlayer); + if (psTransporter->player == selectedPlayer) + { + audio_PlayTrack(ID_SOUND_BUILD_FAIL); + addConsoleMessage(_("There is not enough room in the Transport!"), DEFAULT_JUSTIFY, selectedPlayer); + } return; } if (onMission) From 2f0d4a6b3e6249a93888e053e586a916e70799e1 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 9 Jan 2011 02:32:43 +0100 Subject: [PATCH 103/142] Fix arbitrary 100 droid limit when changing droid settings. Some damaged droids wouldn't retreat when setting the droid retreat level (and probably didn't get the setting, either). Changelog: Setting droid retreat on damage now works, even if selecting more than 100 droids. --- src/intorder.cpp | 321 ++++++++++++----------------------------------- src/keybind.cpp | 2 +- 2 files changed, 84 insertions(+), 239 deletions(-) diff --git a/src/intorder.cpp b/src/intorder.cpp index 923da7290..043108187 100644 --- a/src/intorder.cpp +++ b/src/intorder.cpp @@ -28,6 +28,8 @@ #include "order.h" #include "scriptextern.h" +#include + #define ORDER_X 23 #define ORDER_Y 45 @@ -38,10 +40,6 @@ #define ORDER_BUTGAP 4 #define ORDER_BOTTOMY 318 + E_H - -#define MAX_SELECTED_DROIDS 100 // Max size of selected droids list. - -#define MAX_AVAILABLE_ORDERS 16 // Max available orders list. #define MAX_DISPLAYABLE_ORDERS 11 // Max number of displayable orders. #define MAX_ORDER_BUTS 5 // Max number of buttons for a given order. #define NUM_ORDERS 12 // Number of orders in OrderButtons list. @@ -64,22 +62,24 @@ //#define IDORDER_RETURN_TO_REPAIR 8080 //#define IDORDER_EMBARK 8100 -typedef enum { +enum ORDBUTTONTYPE +{ ORD_BTYPE_RADIO, // Only one state allowed. ORD_BTYPE_BOOLEAN, // Clicking on a button toggles it's state. ORD_BTYPE_BOOLEAN_DEPEND, // Clicking on a button toggles it's state, button // is only enabled if previous button is down. ORD_BTYPE_BOOLEAN_COMBINE, // Clicking on a button toggles it's state, all // the buttons states are OR'ed together to get the order state -} ORDBUTTONTYPE; +}; -typedef enum { +enum ORDBUTTONCLASS +{ ORDBUTCLASS_NORMAL, // A normal button, one order type per line. // ORDBUTCLASS_NORMALMIXED, // A normal button but multiple order types on one line. ORDBUTCLASS_FACTORY, // A factory assignment button. ORDBUTCLASS_CYBORGFACTORY, // A cyborg factory assignment button. ORDBUTCLASS_VTOLFACTORY, // A VTOL factory assignment button. -} ORDBUTTONCLASS; +}; /* @@ -88,14 +88,15 @@ typedef enum { ie button 1 = enable destruct, button 2 = destruct */ -typedef enum { +enum ORDBUTTONJUSTIFY +{ ORD_JUSTIFY_LEFT, // Pretty self explanatory really. ORD_JUSTIFY_RIGHT, ORD_JUSTIFY_CENTER, ORD_JUSTIFY_COMBINE, // allow the button to be put on the same line // as other orders with the same justify type ORD_NUM_JUSTIFY_TYPES, -} ORDBUTTONJUSTIFY; +}; // maximum number of orders on one line #define ORD_MAX_COMBINE_BUTS 3 @@ -103,7 +104,8 @@ typedef enum { #define ORD_JUSTIFY_MASK 0x0f #define ORD_JUSTIFY_NEWLINE 0x10 // Or with ORDBUTTONJUSTIFY enum type to specify start on new line. -typedef struct { +struct ORDERBUTTONS +{ ORDBUTTONCLASS Class; // The class of button. SECONDARY_ORDER Order; // The droid order. UDWORD StateMask; // It's state mask. @@ -117,13 +119,16 @@ typedef struct { UWORD ButHilightID[MAX_ORDER_BUTS]; // Image ID's for each button ( hilight overlay ). UWORD ButTips[MAX_ORDER_BUTS]; // Tip string id for each button. unsigned States[MAX_ORDER_BUTS]; // Order state relating to each button, combination of SECONDARY_STATEs ored together. -} ORDERBUTTONS; +}; -typedef struct { +struct AVORDER +{ + bool operator <(AVORDER const &b) const { return OrderIndex < b.OrderIndex; } + bool operator ==(AVORDER const &b) const { return OrderIndex == b.OrderIndex; } + UWORD OrderIndex; // Index into ORDERBUTTONS array of available orders. - UWORD RefCount; // Number of times this order is referenced. -} AVORDER; +}; enum @@ -452,11 +457,9 @@ ORDERBUTTONS OrderButtons[NUM_ORDERS]= }; -static UWORD NumSelectedDroids; -static DROID *SelectedDroids[MAX_SELECTED_DROIDS]; +static std::vector SelectedDroids; static STRUCTURE *psSelectedFactory = NULL; -static UWORD NumAvailableOrders; -static AVORDER AvailableOrders[MAX_AVAILABLE_ORDERS]; +static std::vector AvailableOrders; BOOL OrderUp = false; @@ -485,106 +488,53 @@ static BOOL BuildSelectedDroidList(void) for(psDroid = apsDroidLists[selectedPlayer]; psDroid; psDroid = psDroid->psNext) { if(psDroid->selected) { - if(NumSelectedDroids < MAX_SELECTED_DROIDS) { - SelectedDroids[NumSelectedDroids] = psDroid; - NumSelectedDroids++; - } + SelectedDroids.push_back(psDroid); } } - if(NumSelectedDroids) { - return true; - } - - return false; + return !SelectedDroids.empty(); } // Build a list of orders available for the selected group of droids. // -static BOOL BuildDroidOrderList(void) +static std::vector buildDroidOrderList(void) { - UWORD OrdIndex; - UWORD i,j; - BOOL Found; - BOOL Sorted; - AVORDER Tmp; - - NumAvailableOrders = 0; - - for(j=0; j orders; + for (unsigned j = 0; j < SelectedDroids.size(); j++) + { + for (unsigned OrdIndex = 0; OrdIndex < NUM_ORDERS; ++OrdIndex) + { // Is the order available? - if(secondarySupported(SelectedDroids[j], OrderButtons[OrdIndex].Order)) { - if(NumAvailableOrders < MAX_AVAILABLE_ORDERS) { - // Have we already got this order? - Found = false; - for(i=0; i 1) { - // Sort by Order index, A bubble sort? I know but it's only - // a small list so what the hell. - do { - Sorted = true; - for(i=0; i AvailableOrders[i+1].OrderIndex) { - Tmp = AvailableOrders[i]; - AvailableOrders[i] = AvailableOrders[i+1]; - AvailableOrders[i+1] = Tmp; - Sorted = false; - } - } - } while(!Sorted); - } - - return true; + return std::vector(orders.begin(), orders.end()); } // Build a list of orders available for the selected structure. -static BOOL BuildStructureOrderList(STRUCTURE *psStructure) +static std::vector buildStructureOrderList(STRUCTURE *psStructure) { - //only valid for Factories (at the moment) - if (!StructIsFactory(psStructure)) - { - ASSERT( false, "BuildStructureOrderList: structure is not a factory" ); - return false; - } + //only valid for Factories (at the moment) + ASSERT_OR_RETURN(std::vector(), StructIsFactory(psStructure), "BuildStructureOrderList: structure is not a factory"); - //this can be hard-coded! - AvailableOrders[0].OrderIndex = 0;//DSO_ATTACK_RANGE; - AvailableOrders[0].RefCount = 1; - AvailableOrders[1].OrderIndex = 1;//DSO_REPAIR_LEVEL; - AvailableOrders[1].RefCount = 1; - AvailableOrders[2].OrderIndex = 2;//DSO_ATTACK_LEVEL; - AvailableOrders[2].RefCount = 1; - AvailableOrders[3].OrderIndex = 5;//DSO_HALTTYPE; - AvailableOrders[3].RefCount = 1; + //this can be hard-coded! + std::vector orders(4); + orders[0].OrderIndex = 0;//DSO_ATTACK_RANGE; + orders[1].OrderIndex = 1;//DSO_REPAIR_LEVEL; + orders[2].OrderIndex = 2;//DSO_ATTACK_LEVEL; + orders[3].OrderIndex = 5;//DSO_HALTTYPE; - NumAvailableOrders = 4; - - return true; + return orders; } @@ -592,7 +542,6 @@ static BOOL BuildStructureOrderList(STRUCTURE *psStructure) // if there are multiple states then don't return a state static SECONDARY_STATE GetSecondaryStates(SECONDARY_ORDER sec) { - SDWORD i; SECONDARY_STATE state, currState; BOOL bFirst; @@ -607,7 +556,7 @@ static SECONDARY_STATE GetSecondaryStates(SECONDARY_ORDER sec) } else //droids { - for (i = 0; i < NumSelectedDroids; i++) + for (unsigned i = 0; i < SelectedDroids.size(); ++i) { currState = secondaryGetState(SelectedDroids[i], sec); if (bFirst) @@ -645,7 +594,6 @@ BOOL intAddOrder(BASE_OBJECT *psObj) { BOOL Animate = true; SECONDARY_STATE State; - UWORD i,j;//,k; UWORD OrdIndex; W_FORM *Form; UWORD Height, NumDisplayedOrders; @@ -704,19 +652,19 @@ BOOL intAddOrder(BASE_OBJECT *psObj) setWidgetsStatus(true); - NumAvailableOrders = 0; - NumSelectedDroids = 0; + AvailableOrders.clear(); + SelectedDroids.clear(); // Selected droid is a command droid? if ((Droid != NULL) && (Droid->droidType == DROID_COMMAND)) { // displaying for a command droid - ignore any other droids - SelectedDroids[0] = Droid; - NumSelectedDroids = 1; + SelectedDroids.push_back(Droid); } else if (psStructure != NULL) { - if (!BuildStructureOrderList(psStructure)) + AvailableOrders = buildStructureOrderList(psStructure); + if (AvailableOrders.empty()) { return false; } @@ -726,15 +674,15 @@ BOOL intAddOrder(BASE_OBJECT *psObj) // If no droids selected then see if we were given a specific droid. if(Droid != NULL) { // and put it in the list. - SelectedDroids[0] = Droid; - NumSelectedDroids = 1; + SelectedDroids.push_back(Droid); } } // Build a list of orders available for the list of selected droids. - if a factory has not been selected if (psStructure == NULL) { - if(!BuildDroidOrderList()) + AvailableOrders = buildDroidOrderList(); + if (AvailableOrders.empty()) { // If no orders then return; return false; @@ -794,7 +742,8 @@ BOOL intAddOrder(BASE_OBJECT *psObj) Height = 0; NumDisplayedOrders = 0; - for(j=0; ((jdied) { - NumSelected++; - if (SelectedDroids[i]->died) - { - NumDead++; - SelectedDroids[i] = NULL; - } + SelectedDroids[i] = NULL; } } + // Remove any NULL pointers from SelectedDroids. + SelectedDroids.erase(std::remove(SelectedDroids.begin(), SelectedDroids.end(), (DROID *)NULL), SelectedDroids.end()); // If all dead then remove the screen. - if(NumDead == NumSelectedDroids) - { - // might have a factory selected - if (psSelectedFactory == NULL) - { - intRemoveOrder(); - return; - } - } - // If droids no longer selected then remove screen. - if(NumSelected == 0) + if (SelectedDroids.empty()) { // might have a factory selected if (psSelectedFactory == NULL) @@ -1062,9 +995,8 @@ void intRunOrder(void) // static BOOL SetSecondaryState(SECONDARY_ORDER sec, unsigned State) { - UWORD i; - - for(i=0; i NewAvailableOrders; if (psSelectedFactory != NULL) { - // only valid for Factories (at the moment) - ASSERT_OR_RETURN(false, StructIsFactory(psSelectedFactory), "Selected factory is a %s!", - objInfo((BASE_OBJECT *)psSelectedFactory)); - - //this can be hard-coded! - NewAvailableOrders[0].OrderIndex = 0;//DSO_ATTACK_RANGE; - NewAvailableOrders[0].RefCount = 1; - NewAvailableOrders[1].OrderIndex = 1;//DSO_REPAIR_LEVEL; - NewAvailableOrders[1].RefCount = 1; - NewAvailableOrders[2].OrderIndex = 2;//DSO_ATTACK_LEVEL; - NewAvailableOrders[2].RefCount = 1; - NewAvailableOrders[3].OrderIndex = 5;//DSO_HALTTYPE; - NewAvailableOrders[3].RefCount = 1; - NumNewOrders = 4; - - if (NumNewOrders != NumAvailableOrders) - { - return false; - } + NewAvailableOrders = buildStructureOrderList(psSelectedFactory); } else { - for(j = 0; j < NumSelectedDroids; j++) - { - for (OrdIndex = 0; OrdIndex < NUM_ORDERS; OrdIndex++) - { - // Is the order available? - if (secondarySupported(SelectedDroids[j], OrderButtons[OrdIndex].Order)) - { - if (NumNewOrders < MAX_AVAILABLE_ORDERS) - { - // Have we already got this order? - Found = false; - for (i = 0; i 1) - { - // Sort by Order index, A bubble sort? I know but it's only - // a small list so what the hell. - do { - Sorted = true; - for (i = 0; i NewAvailableOrders[i + 1].OrderIndex) - { - Tmp = NewAvailableOrders[i]; - NewAvailableOrders[i] = NewAvailableOrders[i+1]; - NewAvailableOrders[i+1] = Tmp; - Sorted = false; - } - } - } while(!Sorted); - } + NewAvailableOrders = buildDroidOrderList(); } // now check that all the orders are the same - for (i = 0; i< NumNewOrders; i++) - { - if (NewAvailableOrders[i].OrderIndex != AvailableOrders[i].OrderIndex) - { - return false; - } - } - - return true; + return NewAvailableOrders == AvailableOrders; } static BOOL intRefreshOrderButtons(void) { SECONDARY_STATE State; - UWORD i,j;//,k; UWORD OrdIndex; UWORD NumButs; UDWORD id; - for(j=0; ((jdisableChildren = true; ClosingOrder = true; OrderUp = false; - NumSelectedDroids = 0; + SelectedDroids.clear(); psSelectedFactory = NULL; } } @@ -1461,7 +1306,7 @@ void intRemoveOrderNoAnim(void) widgDelete(psWScreen, IDORDER_CLOSE); widgDelete(psWScreen, IDORDER_FORM); OrderUp = false; - NumSelectedDroids = 0; + SelectedDroids.clear(); psSelectedFactory = NULL; } diff --git a/src/keybind.cpp b/src/keybind.cpp index e733fc24b..b783b9b4f 100644 --- a/src/keybind.cpp +++ b/src/keybind.cpp @@ -350,7 +350,7 @@ void kf_CloneSelected( void ) templateSetParts(psDroid, &sTemplate); // create a new droid - // psNewDroid = buildDroid(&sTemplate, psDroid->pos.x, psDroid->pos.y, psDroid->player, false, NULL); + buildDroid(&sTemplate, psDroid->pos.x, psDroid->pos.y, psDroid->player, false, NULL); /* // TODO psNewDroid is null, since we just sent a message, but haven't actually created the droid locally yet. ASSERT_OR_RETURN(, psNewDroid != NULL, "Unable to build a unit"); addDroid(psNewDroid, apsDroidLists); From 90c1f3cbdab4f56287ea55ea8a56038f37062987 Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Sun, 9 Jan 2011 02:32:39 +0100 Subject: [PATCH 104/142] Update translations. --- po/cs.po | 1630 +++++++++++++++++++++++++------------------------- po/da.po | 1629 +++++++++++++++++++++++++------------------------- po/de.po | 1631 ++++++++++++++++++++++++++------------------------- po/en_GB.po | 1630 +++++++++++++++++++++++++------------------------- po/es.po | 1631 ++++++++++++++++++++++++++------------------------- po/et_EE.po | 1631 ++++++++++++++++++++++++++------------------------- po/fi.po | 1627 +++++++++++++++++++++++++------------------------- po/fr.po | 1631 ++++++++++++++++++++++++++------------------------- po/fy.po | 1630 +++++++++++++++++++++++++------------------------- po/ga.po | 1622 +++++++++++++++++++++++++------------------------- po/hr.po | 1631 ++++++++++++++++++++++++++------------------------- po/it.po | 875 +++++++++++++-------------- po/ko.po | 1631 ++++++++++++++++++++++++++------------------------- po/la.po | 1620 +++++++++++++++++++++++++------------------------- po/lt.po | 1627 +++++++++++++++++++++++++------------------------- po/nb.po | 1626 +++++++++++++++++++++++++------------------------- po/nl.po | 1631 ++++++++++++++++++++++++++------------------------- po/pl.po | 1629 +++++++++++++++++++++++++------------------------- po/pt.po | 1631 ++++++++++++++++++++++++++------------------------- po/pt_BR.po | 1631 ++++++++++++++++++++++++++------------------------- po/ro.po | 1628 +++++++++++++++++++++++++------------------------- po/ru.po | 1631 ++++++++++++++++++++++++++------------------------- po/sk.po | 1630 +++++++++++++++++++++++++------------------------- po/sl.po | 1631 ++++++++++++++++++++++++++------------------------- po/tr.po | 875 +++++++++++++-------------- po/uk_UA.po | 1631 ++++++++++++++++++++++++++------------------------- po/zh_CN.po | 1628 +++++++++++++++++++++++++------------------------- po/zh_TW.po | 1631 ++++++++++++++++++++++++++------------------------- 28 files changed, 22177 insertions(+), 21932 deletions(-) diff --git a/po/cs.po b/po/cs.po index 2b47fdc02..dcee24eec 100644 --- a/po/cs.po +++ b/po/cs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-09 16:05+0000\n" "Last-Translator: Lubos \n" "Language-Team: Czech \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -12037,386 +12037,391 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Systémové místo" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Zavřít" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Nastavit adresář s konfigurací" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "adresář s konfigurací" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Nastavit výchozí datový adresář" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "datový adresář" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Ukázat informace pro danou ladící úroveň" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "ladící úroveň" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "ZapiÅ¡ ladící výstup do souboru" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "soubor" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Spustit hru v celoobrazovkovém režimu" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Nahrát urÄitou hru" -#: src/clparse.c:239 +#: src/clparse.cpp:239 #, fuzzy msgid "game-name" msgstr "Jméno-hry" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Ukázat tuto nápovÄ›du a skonÄit" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 #, fuzzy msgid "Disable asserts" msgstr "Zakázat stíny" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Nahrát uloženou hru" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "uložená hra" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Spustit hru v oknÄ›" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Použít zvolené rozliÅ¡ení" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "Å ÃŘKAxVÃÅ KA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Povolit stíny" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Zakázat stíny" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Povolit zvuk" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Zakázat zvuk" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "HráÄ" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nové vozidlo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "TÄ›lo vozidla" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Pohon vozidla" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Věž vozidla" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Smazat náÄrtek" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Pohybové brnÄ›ní" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Tepelné brnÄ›ní" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 #, fuzzy msgid "Engine Output" msgstr "Výfuk" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Hmotnost" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Celkem požadovaná energie" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Použitá energie" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Dosah snímaÄů" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Rozsah" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "PoÅ¡kození" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Rychlost letu" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Rychlost po cestÄ›" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Rychlost v terénu" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Rychlost po vodÄ›" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "ZbranÄ›" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "HráÄ" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "HráÄ" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Nemohu stavÄ›t. Ropný vrt hoří." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - PoÅ¡kození %d%% - ZkuÅ¡enosti %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - PoÅ¡kození %d%% - ZkuÅ¡enosti %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 #, fuzzy msgid "Truck ordered to build Oil Derrick" msgstr "Nákladní auto dostalo rozkaz postavit ropnou věž" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Nákladní auto dostalo rozkaz postavit ropnou věž" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Nákladní auto dostalo rozkaz postavit ropnou věž" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Jednotka ztracena!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 #, fuzzy msgid "Structure Restored" msgstr "Budova obnovena" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" @@ -12424,7 +12429,7 @@ msgstr[0] "Skupina %u vybrána - %u Jednotka" msgstr[1] "Skupina %u vybrána - %u Jednotky" msgstr[2] "Skupina %u vybrána - %u Jednotek" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" @@ -12432,7 +12437,7 @@ msgstr[0] "%u jednotka zaÄlenÄ›na do Skupiny %u" msgstr[1] "%u jednotky zaÄlenÄ›ny do Skupiny %u" msgstr[2] "%u jednotek zaÄlenÄ›no do Skupiny %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, fuzzy, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" @@ -12440,7 +12445,7 @@ msgstr[0] "ZameÅ™eno na skupinu %u - %u jednotka" msgstr[1] "ZameÅ™eno na skupinu %u - %u jednotky" msgstr[2] "ZameÅ™eno na skupinu %u - %u jednotek" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, fuzzy, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" @@ -12448,671 +12453,666 @@ msgstr[0] "Vyrovnání se skupinou %u - %u jednotka" msgstr[1] "Vyrovnání se skupinou %u - %u jednotky" msgstr[2] "Vyrovnání se skupinou %u - %u jednotek" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "NováÄek" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "ZelenáÄ" -#: src/droid.c:3303 +#: src/droid.cpp:3036 #, fuzzy msgid "Trained" msgstr "Trénovaný" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Běžný" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesionální" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veterán" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elita" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Speciální" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Hrdina" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Kampaň pro Jednoho HráÄe" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Hra pro Více HráÄů" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutoriál" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Nastavení" -#: src/frontend.c:102 +#: src/frontend.cpp:101 #, fuzzy msgid "View Intro" msgstr "Pohled na východ" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "UkonÄit Hru" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "HLAVNà MENU" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Rychlá hra" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIÃLY" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "ZpÄ›t" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nová kampaň" -#: src/frontend.c:214 +#: src/frontend.cpp:213 #, fuzzy msgid "Start Skirmish Game" msgstr "ZaÄni hostovat hru" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Nahraj Hru" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "HRA JEDNOHO HRÃÄŒE" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "NaÄti Uloženou Hru" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "HRA VÃCE HRÃČŮ" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "PÅ™ipojit se ke hÅ™e" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "NASTAVENÃ" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Herní nastavení" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Grafická nastavení" -#: src/frontend.c:426 +#: src/frontend.cpp:425 #, fuzzy msgid "Video Options" msgstr "Zvuková nastavení" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Zvuková nastavení" -#: src/frontend.c:428 +#: src/frontend.cpp:427 #, fuzzy msgid "Mouse Options" msgstr "Herní nastavení" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Mapování kláves" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "PÅ™ehrávání videa" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Celá obrazovka" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Zapnuto" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Vypnuto" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Mlha" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Mlha" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "VáleÄná mlha" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Titulky" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Stíny" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "HERNà NASTAVENÃ" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Hlasitost Å™eÄi" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Hlasitost efektů" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Hlasitost hudby" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "HERNà NASTAVENÃ" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Projeví se až po restartu hry" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Grafický mód*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "RozliÅ¡ení*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Velikost textury" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "HERNà NASTAVENÃ" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "ObraÅ¥ myÅ¡" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Herní nastavení" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "OtoÄit doleva" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "HERNà NASTAVENÃ" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Obtížnost" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Snadná" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normální" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Těžká" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Rychlost rolování" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Jazyk" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Barva jednotky" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "OtoÄit doprava" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "HERNà NASTAVENÃ" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "HRA ULOŽENA!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "HRA ULOŽENA!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "HrÃ¡Ä %u podvádí ( ladící menu ) sebe sama novou budovou: %s" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "HrÃ¡Ä %u podvádí ( ladící menu ) sebe sama novou budovou: %s" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Velitelé (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Zpravodajský display (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Výroba (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Konstrukce (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Výzkum (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Stavba (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Nahraj Hru" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Nahraj Hru" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Uložit hru" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Uložit hru" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 #, fuzzy msgid "Tile" msgstr "soubor" -#: src/hci.c:3986 +#: src/hci.cpp:3597 #, fuzzy msgid "Place tiles on map" msgstr "Nastavení limitu budov" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Jednotka" -#: src/hci.c:3996 +#: src/hci.cpp:3607 #, fuzzy msgid "Place Unit on map" msgstr "Nastavení limitu budov" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Stavba" -#: src/hci.c:4005 +#: src/hci.cpp:3616 #, fuzzy msgid "Place Structures on map" msgstr "Nastavení limitu budov" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 #, fuzzy msgid "Place Features on map" msgstr "Nastavení limitu budov" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "Hostitel opustil hru!" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "ZaÄni bez Základen" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "UkonÄit" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "UkonÄit hru" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Hra pro Více HráÄů" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Panel průbÄ›hu" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Opakovat výrobu" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Opakovat výrobu" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "PokraÄovat ve hÅ™e" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Uložit hru" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "Hostitel opustil hru!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13120,1581 +13120,1585 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Panel průbÄ›hu" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUZA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Cíle projektu" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 #, fuzzy msgid "Short Range" msgstr "Krátký dostÅ™el" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Dlouhý dostÅ™el" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "optimální dostÅ™el" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Ustup pÅ™i stÅ™edním poÅ¡kození" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ustup pÅ™i těžkém poÅ¡kození" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Bojuj až do konce!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "OpÄ›tuj palbu" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Nestřílej" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Braň pozici" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Drž pozici" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Nastup do Transportu" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Recyklovat" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 #, fuzzy msgid "Circle" msgstr "soubor" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Omlouváme se, ale tento podvod je vypnutý ve hÅ™e pro více hráÄů." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Ukaž nám co vidíš!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 #, fuzzy msgid "Fine, weapon & sensor display is off!" msgstr "Fine, snímaÄ displeje je vypnutý!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 #, fuzzy msgid "Hard as nails!!!" msgstr "jako ocel" -#: src/keybind.c:432 +#: src/keybind.cpp:430 #, fuzzy msgid "Takings thing easy!" msgstr "VÄ›ci jdou lehce!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Ohromující výkon" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Zpátky do normálu!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Zobrazení FPS je zapnuté." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Zobrazení FPS je vypnuté." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Zapnutá mlha" -#: src/keybind.c:763 +#: src/keybind.cpp:761 #, fuzzy msgid "Fog off" msgstr "Vypnutá mlha" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Výzkum" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Nemohu nalézt žádný náklaÄák!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 #, fuzzy msgid "All enemies destroyed by cheating!" msgstr "Nepřítel zniÄen podvádÄ›ním!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Nelze nalézt HQ!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Omlouváme se, ale tento podvod je vypnutý ve hÅ™e pro více hráÄů." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 #, fuzzy msgid "Game Speed Reset" msgstr "Restartování herní rychlosti" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Rychlost Hry Zvýšena na %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Rychlost Hry Snížena na %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar ukazuje barvy hráÄů" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar ukazuje pouze objekty" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar ukazuje terén" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar ukazuje terén" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar ukazuje výšku" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "MAPOVÃNà KLÃVES" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "ZpÄ›t na PÅ™edchozí Obrazovku" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Obnovit Původní" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Výzkum" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "StavÄ›t" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Návrh" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Pořídit snímek obrazovky" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Zobrazit pozici pÅ™edchozí zprávy" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 #, fuzzy msgid "Assign Group 0" msgstr "PÅ™iÅ™adit skupinÄ› 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 #, fuzzy msgid "Assign Group 1" msgstr "PÅ™iÅ™adit skupinÄ› 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "PÅ™iÅ™adit skupinÄ› 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 #, fuzzy msgid "Assign Group 3" msgstr "PÅ™iÅ™adit skupinÄ› 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 #, fuzzy msgid "Assign Group 4" msgstr "PÅ™iÅ™adit skupinÄ› 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 #, fuzzy msgid "Assign Group 5" msgstr "PÅ™iÅ™adit skupinÄ› 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 #, fuzzy msgid "Assign Group 6" msgstr "PÅ™iÅ™adit skupinÄ› 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 #, fuzzy msgid "Assign Group 7" msgstr "PÅ™iÅ™adit skupinÄ› 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 #, fuzzy msgid "Assign Group 8" msgstr "PÅ™iÅ™adit skupinÄ› 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 #, fuzzy msgid "Assign Group 9" msgstr "PÅ™iÅ™adit skupinÄ› 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Vybrat Skupinu 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Vybrat Skupinu 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Vybrat Skupinu 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Vybrat Skupinu 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Vybrat Skupinu 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Vybrat Skupinu 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Vybrat Skupinu 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Vybrat Skupinu 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Vybrat Skupinu 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Vybrat Skupinu 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Vybrat Velitele 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Vybrat Velitele 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Vybrat Velitele 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Vybrat Velitele 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Vybrat Velitele 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Vybrat Velitele 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Vybrat Velitele 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Vybrat Velitele 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Vybrat Velitele 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Vybrat Velitele 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "PÅ™iblížit" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Oddálit" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "OtoÄit doleva" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "OtoÄit doprava" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Snížit rychlost hry" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Zvýšit rychlost hry" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Resetovat rychlost hry" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Pohled na sever" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Pohled na jih" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Pohled na východ" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Pohled na západ" -#: src/keymap.c:373 +#: src/keymap.cpp:373 #, fuzzy msgid "View next Oil Derrick" msgstr "Zobrazit další ropnou věž" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "ZpÄ›t na HQ" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Poslat textovou zprávu" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Dosah snímaÄů" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Povolit stíny" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Vybrat vÅ¡echny Bojové Jednotky" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Vybrat vÅ¡echny Těžce PoÅ¡kozené Jednotky" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Vybrat vÅ¡echny Kolopásové Jednotky" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Vybrat vÅ¡echna Vznášedla" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Vybrat vÅ¡echny Jednotky na Obrazovce" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Vybrat vÅ¡echny Pásové Jednotky" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Vybrat VÅ ECHNY jednotky" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Vybet vÅ¡echny Kolové Jednotky" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Vybet vÅ¡echny Podobné Jednotky" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Vybrat další Továrnu" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Vybrat další Výzkumné Zařízení" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Vybrat další generátor energie" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "Nahrát uloženou hru" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Naložit transport" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "CÃL SPLNÄšN" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "CÃL SPLNÄšN" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "SELHÃNÃ" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "SELHÃNÃ" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "VyskoÄit do hlavního menu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "PokraÄovat ve hÅ™e" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "HRA ULOŽENA!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, fuzzy, c-format msgid "%s Gives You A Visibility Report" msgstr "%s dá ti viditelnou zprávu" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, fuzzy, c-format msgid "%s Gives you a %s" msgstr "%s ti dá %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, fuzzy, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Zkouší dát pryÄ %s - ale to není umožnÄ›no" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, fuzzy, c-format msgid "%s Gives You Technology Documents" msgstr "%s ti á technickou dokumentaci" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s dá ti sílu" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, fuzzy, c-format msgid "%s Requests An Alliance With You" msgstr "%s požaduje s tebou spolÄení" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, fuzzy, c-format msgid "You Invite %s To Form An Alliance" msgstr "Jsi pozván %s ze spolku" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s pÅ™eruÅ¡il spolek s %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s uzavÅ™el spojenectví s %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Nalezl jsi plány na %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "PotvrÄ nastavení" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Azurová" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP Adresa nebo Jméno Stroje" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "SPOJENÃ" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "Posily jsou k dispozici." -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Hledám" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "HRY" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Aktualizuj Seznam Her" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Vyber jméno hry" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Vyber Mapu" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Vyber jméno hráÄe" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 #, fuzzy msgid "Distance Fog" msgstr "vzdálená mlha" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Spojenectví" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Bez Spojenectví" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Povolená Spojenectví" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Pevné Týmy" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 #, fuzzy msgid "Low Power Levels" msgstr "Nízkoenergetické úrovnÄ›" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 #, fuzzy msgid "Medium Power Levels" msgstr "StÅ™ednÄ› energetické úrovnÄ›" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 #, fuzzy msgid "High Power Levels" msgstr "Vysokoenergetické úrovnÄ›" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Základna" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "ZaÄni bez Základen" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "ZaÄni se Základnami" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "ZaÄni s Rozvinutými Základnami" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 #, fuzzy msgid "Start Hosting Game" msgstr "ZaÄni hostovat hru" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Nastavení limitu budov" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Nastavení limitu budov" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "HráÄ" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2 hráÄi" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Braň pozici" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "HRÃÄŒI" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Pevné Týmy" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar ukazuje barvy hráÄů" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Braň pozici" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "Pevné Týmy" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Hostitel vyhodil %s ze hry!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Host zaÄíná hru" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "HráÄi" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "Systémové místo" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "ZpÄ›t na PÅ™edchozí Obrazovku" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Technologická úroveň 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Technologická úroveň 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Technologická úroveň 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Libovolný poÄet hráÄů" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 hráÄi" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 hráÄi" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 hráÄi" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 hráÄi" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 hráÄi" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 hráÄi" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 hráÄů" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Jednotka" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "Stavba" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Spojenectví" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Zelená" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranžová" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Å edá" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "ÄŒerná" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "ÄŒervená" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Modrá" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Růžová" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Azurová" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Výzkum dokonÄen: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Výzkum DokonÄen" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Vlastní jednotky: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Nepřátelské jednotky: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Vlastní Budovy: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Nepřátelské Budovy: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Vyrobeno Jednotek: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Celkem Jednotek: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Postaveno Budov: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Celkem Budov: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Bažant: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Zelená" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Trénovaný: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, fuzzy, c-format msgid "Regular: %u" msgstr "Obvyklý: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profesionál: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veterán: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elita: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Speciální: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Hrdina: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Ztráty Jednotek" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Ztráty Budov" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informace o ArmádÄ›" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ZÃSKÃNO ARTEFAKTÅ®: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "ÄŒas Mise - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Celkový ÄŒas Hry - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" @@ -14702,123 +14706,127 @@ msgstr[0] "%u jadnotka vybrána" msgstr[1] "%u jednotky vybrány" msgstr[2] "%u jednotek vybráno" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Nemohu nalézt žádnou opravárenskou jednotku!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Nemohu nalézt žádný náklaÄák!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Nemohu nalézt žádnou senzorovou jednotku!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Nemohu nalézt žádného velitele!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, fuzzy, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "Jednotka pÅ™iÅ™azena" msgstr[1] "Jednotky pÅ™iÅ™azeny" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - PoÅ¡kození %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, fuzzy, c-format msgid "%s - Connected %u of %u" msgstr "%s - PÅ™ipojeno %u z %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Spustit transport" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Posily pÅ™istály" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Opakovat výrobu" + #, fuzzy #~ msgid "Player number" #~ msgstr "HráÄ" diff --git a/po/da.po b/po/da.po index a306918ff..3b2bc0a53 100644 --- a/po/da.po +++ b/po/da.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-09 16:08+0000\n" "Last-Translator: carson \n" "Language-Team: Dansk \n" @@ -5781,7 +5781,7 @@ msgid "New Design" msgstr "Nyt design" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transport" @@ -12294,1080 +12294,1080 @@ msgstr "Kommandører" msgid "Plasmite Retribution VTOL" msgstr "Score" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 #, fuzzy msgid "System locale" msgstr "Elektronik" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Luk" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "fil" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Indlæs et bestemt spil" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Hent et gemt spil" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "Gem spil" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Vis versionsoplysninger og afslut" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Aktivér lyd" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Spiller" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nyt design" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Skrog" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Fremdrift" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "TÃ¥rn" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Slet design" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Kinetisk panser" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Termisk panser" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Hestekrafter" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Vægt" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 #, fuzzy msgid "Total Power Required" msgstr "Produktionsomkostninger" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Total pansring" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Energi forbrug" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Rækkevide" # This is always 1000 ingame... any reason to have this at all? is it ever used? -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Watt" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM Effekt" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Effektivitet" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Rækkevide" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Skade" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Kadance" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Lufthastighed" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Vejhastighed" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Hastighed i terræn" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Vandhastighed" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "VÃ¥ben" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Systemer" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "Spiller" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "Spiller" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Kan ikke bygge pÃ¥ brændende oilebrøn." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, fuzzy, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Skade %d%% - Drab %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Skade %d%% - Drab %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Truck beordret til at bygge oliebrøn." -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Truck beordret til at bygge oliebrøn." -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Truck beordret til at bygge oliebrøn." -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Enhed tabt!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Bygning restoreret" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Gruppe %u valgt - %u Enheder" msgstr[1] "Gruppe %u valgt - %u Enheder" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u Enheder tildelt gruppe %u" msgstr[1] "%u Enheder tildelt gruppe %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Fokuseret pÃ¥ gruppe %u - %u Enheder" msgstr[1] "Fokuseret pÃ¥ gruppe %u - %u Enheder" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Korigerede med gruppe %u - %u Enheder" msgstr[1] "Korigerede med gruppe %u - %u Enheder" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Utrænet" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Grøn" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Trænet" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Regulær" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professionel" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Speciel" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Helt" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Solokampange" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Flerbruger spil" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Gennemgang" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Indstillinger" -#: src/frontend.c:102 +#: src/frontend.cpp:101 #, fuzzy msgid "View Intro" msgstr "Find næste truck" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Afslut spil" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "HOVED MENU" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Hurtgigt spil" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIALS" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Tilbage" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Ny kampange" -#: src/frontend.c:214 +#: src/frontend.cpp:213 #, fuzzy msgid "Start Skirmish Game" msgstr "Værten starter spillet" -#: src/frontend.c:215 +#: src/frontend.cpp:214 #, fuzzy msgid "Challenges" msgstr "Hestekrafter" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Indlæs spil" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "SOLO SPILLER" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Indlæs gemt spil" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "FLER SPILLER" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Udbyd spil" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Forbind til vært" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "TILVALG" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Spil indstillinger" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Grafik indstillinger" -#: src/frontend.c:426 +#: src/frontend.cpp:425 #, fuzzy msgid "Video Options" msgstr "Lyd indstillinger" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Lyd indstillinger" -#: src/frontend.c:428 +#: src/frontend.cpp:427 #, fuzzy msgid "Mouse Options" msgstr "Spil indstillinger" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Tastatur indstillinger" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Ryst skærm" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Til" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Fra" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "TÃ¥ge" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "AfstandstÃ¥ge" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "KrigstÃ¥ge" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Undertekster" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "SPIL INDSTILLINGER" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Stemme volume" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Effekt volume" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Musik volume" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "SPIL INDSTILLINGER" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Grafik indstillinger" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Vindue" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "" -#: src/frontend.c:788 +#: src/frontend.cpp:786 #, fuzzy msgid "Texture size" msgstr "Besvar ild" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "SPIL INDSTILLINGER" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "Omvendt mus" -#: src/frontend.c:975 +#: src/frontend.cpp:973 #, fuzzy msgid "Trap Cursor" msgstr "Transportskib" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Spil indstillinger" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Drej til venstre" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "SPIL INDSTILLINGER" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Sværhedsgræd" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Begynder" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Øvet" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Svær" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Kamera hastighed" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Sprog" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Holdfarve" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Drej til højre" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "SPIL INDSTILLINGER" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "SPIL GEMT!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "SPIL GEMT!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Kommandører (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 #, fuzzy msgid "Intelligence Display (F5)" msgstr "Kommando Pult" -#: src/hci.c:3675 +#: src/hci.cpp:3328 #, fuzzy msgid "Manufacture (F1)" msgstr "Fabrikering" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Design (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Forskning (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Konstruktion (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Kraft" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Indlæs spil" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Indlæs spil" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Gem spil" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Gem spil" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 #, fuzzy msgid "Tile" msgstr "fil" -#: src/hci.c:3986 +#: src/hci.cpp:3597 #, fuzzy msgid "Place tiles on map" msgstr "Tabte bygninger" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Enhed" -#: src/hci.c:3996 +#: src/hci.cpp:3607 #, fuzzy msgid "Place Unit on map" msgstr "Tabte bygninger" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 #, fuzzy msgid "Place Structures on map" msgstr "Tabte bygninger" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 #, fuzzy msgid "Place Features on map" msgstr "Tabte bygninger" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "Værten har forladt spillet" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Start uden baser" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Afslut" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Forlad spil" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Flerbruger spil" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Statuslinje" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Gentag produktion" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Leveringspunkt" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Gentag produktion" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Genoptag spil" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Gem spil" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "Værten har forladt spillet" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13375,1699 +13375,1706 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Effektivitet" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Indsalmet energi" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSE" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Forskningsopdatering" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "MÃ¥lsætninger" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Denne mission" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 #, fuzzy msgid "New Intelligence Report" msgstr "Kommando Pult" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Kort rækkevide" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Lang rækkevide" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimal rækkevide" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Tilbagetræk ved mellem skade" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Tilbagetræk ved sværd skade" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Kæmp til døden!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 #, fuzzy msgid "Fire-At-Will" msgstr "Angrib alt" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Besvar ild" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Indstil skydning" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrolje" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Forfølg" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Bevogt position" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hold position" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Tilbagetrækning for reperation" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Tilbagetrækning til HQ" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "GÃ¥ til transport" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Retur til genbrug" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Genbrug" -#: src/intorder.c:179 +#: src/intorder.cpp:179 #, fuzzy msgid "Assign Factory Production" msgstr "Gentag produktion" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 #, fuzzy msgid "Assign Fire Support" msgstr "Tildel gruppe 1" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 #, fuzzy msgid "Circle" msgstr "fil" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Forstærkninger er ankommet" -#: src/keybind.c:763 +#: src/keybind.cpp:761 #, fuzzy msgid "Fog on" msgstr "TÃ¥ge" -#: src/keybind.c:763 +#: src/keybind.cpp:761 #, fuzzy msgid "Fog off" msgstr "TÃ¥ge" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Indret kamera til nordlig retning" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, fuzzy, c-format msgid "Trap cursor %s" msgstr "Transportskib" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Forskning" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 #, fuzzy msgid "Debug menu is Open" msgstr "Konstruktionsmenuen vil genÃ¥bne" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Kan ikke finde nogle trucks!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Centreret pÃ¥ spiller HQ, nordlig retning" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Kan ikke lokalisere HQ!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Nulstillet spilhastighed" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Spillehastighed forøget til %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Spillehastighed reduceret til %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "TASTATUR MAPPING" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Tilbage" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Vælg standard" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Fabrikering" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Forskning" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Konstruktion" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Design" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Kommando Pult" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Kommandører" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "SlÃ¥ radar til/fra" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "SlÃ¥ konsol display til/fra" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "SlÃ¥ helbredsindikatorer til/fra" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Tag skærmdump" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "SlÃ¥ formation til/fra" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Find lokation for sidste besked" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "SlÃ¥ konsol display til/fra" -#: src/keymap.c:311 +#: src/keymap.cpp:311 #, fuzzy msgid "Assign Group 0" msgstr "Tildel gruppe 1" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Tildel gruppe 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Tildel gruppe 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Tildel gruppe 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Tildel gruppe 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Tildel gruppe 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Tildel gruppe 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Tildel gruppe 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Tildel gruppe 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Tildel gruppe 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Vælg gruppe 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Vælg gruppe 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Vælg gruppe 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Vælg gruppe 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Vælg gruppe 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Vælg gruppe 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Vælg gruppe 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Vælg gruppe 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Vælg gruppe 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Vælg gruppe 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Vælg kommandør 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Vælg kommandør 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Vælg kommandør 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Vælg kommandør 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Vælg kommandør 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Vælg kommandør 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Vælg kommandør 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Vælg kommandør 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Vælg kommandør 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Vælg kommandør 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "Flerbruger indstillinger" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "SlÃ¥ kameraet i nordlig retning" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Forfølgelseskamera" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Vis spillemenu" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zoom radaen ud" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zoom radaen ind" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoom ind" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoom ud" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Hæld forover" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Drej til venstre" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Nulstil hældning" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Drej til højre" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Hæld bagover" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Ordre menu" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Reducér spillehastighed" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Forøg spillehastighed" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Nulstil spillehastighed" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Kig mod nord" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Kig mod syd" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Kig mod øst" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Kig mod vest" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Find næste oliebrøn" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Find næste reperationsenhed" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Find næste truck" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Find næste rekonniseringsenhed" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Find næste kommandør" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "SlÃ¥ interface til/fra" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "SlÃ¥ konsol til/fra" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centrer kamera pÃ¥ HQ" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Find utildelte enheder" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Angrib alt" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Tilbagetrækning til HQ" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Send tekst besked" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Rækkevide" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "SlÃ¥ radar til/fra" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Transportskib" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "SlÃ¥ radar til/fra" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Vælg alle kommando enheder" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Vælg alle svært skadet enheder" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Vælg alle halv-bælter" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Vælg alle amfibre" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Vælg alle enheder pÃ¥ skærmen" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Vælg alle bæltekøretøjer" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Vælg alle enheder" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Vælg alle VTOL" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Vælg alle hjulkøretøjer" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Vælg alle lignende enheder" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Find næste fabrik" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Find næste forskningscenter" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Find næste kraftværk" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Find næste cyborg fabrik" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "Hent et gemt spil" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Fyld transportskib" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "MISSIONEN LYKKEDES" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "MISSIONEN LYKKEDES" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "MISSIONEN FEJLEDE" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "MISSIONEN FEJLEDE" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Tilbage til hovedmenu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Fortsæt spil" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "SPIL GEMT!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Giver dig en rekonniseringsrapport" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Giver dig teknologi" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s Giver dig energi" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Vil indgÃ¥ en aliance med dig" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Du inviterede %s til at danne en aliance" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Bryder aliancen med %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Danner aliance med %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Du opdager plantegninger for %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Akceptér opsætning" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Turkis" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP adressse eller computernavn" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "FORBINDELSE" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "Forstærkninger er tilgængelige." -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Søger" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "SPIL" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Opdatér spilliste" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Vælg spilnavn" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "Spil mod computeren" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Vælg kort" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 #, fuzzy msgid "Scavengers" msgstr "Hestekrafter" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 #, fuzzy msgid "No Scavengers" msgstr "Hestekrafter" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 #, fuzzy msgid "Select Player Name" msgstr "Flerbruger spil" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "AfstandstÃ¥ge" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Aliancer" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Uden alliancer" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Med alliancer" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "LÃ¥ste hold" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Sparsom energi" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Medium energi" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Meget energi" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Base" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Start uden baser" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Start med baser" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Start med advancerede baser" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 #, fuzzy msgid "Start Hosting Game" msgstr "Værten starter spillet" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Tabte bygninger" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Set Structure Limits" msgstr "Tabte bygninger" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Spiller" -#: src/multiint.c:1460 -#, fuzzy -msgid "Kick player" -msgstr "2 spillere" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Bevogt position" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 #, fuzzy msgid "Team" msgstr "Hurtgigt spil" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +#, fuzzy +msgid "Kick player" +msgstr "2 spillere" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "SPILLERE" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "LÃ¥ste hold" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +msgid "Click to change player colour" msgstr "" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Bevogt position" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "BESKEDER" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "LÃ¥ste hold" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, fuzzy, c-format msgid "The host has kicked %s from the game!" msgstr "%s har forladt spillet" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Værten starter spillet" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Spillere" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Spillere tilkobler stadig" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s har forladt spillet" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s kom med i spillet" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "Elektronik" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Tilbage" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 spillere" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 spillere" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 spillere" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 spillere" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 spillere" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 spillere" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 spillere" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Score" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Drabte" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Enhed" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "Tabte bygninger" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "SlÃ¥ aliance status til/fra" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Send rekonniseringsrapport" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Send forskningsresultater" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Forær enheder" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Forær energi" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Aliancer" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Grøn" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Orange" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "GrÃ¥" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Sort" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rød" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "BlÃ¥" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Lyserød" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Turkis" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Forskning fuldendt: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Forskning fuldendt" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Forskningsgevinst" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Utrænet: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Grøn: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Trænet: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Regulær: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professionel: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Speciel: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Helt: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Tabte enheder" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Tabte bygninger" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Styrke Information" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "FUNDNE ARTEFAKTER: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Anvendt tid: %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Total anvendt tid: %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u Enheder valgt" msgstr[1] "%u Enheder valgt" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Kan ikke finde nogle reperationsenheder!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Kan ikke finde nogle trucks!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Kan ikke finde nogle rekonniseringsenheder!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Kan ikke finde nogle kommandører!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Kommandobegrænsning nÃ¥et - indstiller produktion" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Skade %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Forbundet %u af %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronisk beskadiget" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektronisk gevinst - Rekonniseringsrapport" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Fabriksgevinst - Fremdrift" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Fabriksgevinst - Skrog" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Frabriskgevinst - VÃ¥ben" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Fabriksgevinst - Ingen" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Reperationsgevinst - Reperation" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Reperationsgevinst - Ingen" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Afsend transportskib" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Forstærkninger er ankommet" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Gentag produktion" + #, fuzzy #~ msgid "Player number" #~ msgstr "Spiller" diff --git a/po/de.po b/po/de.po index cab417820..79a4e1348 100644 --- a/po/de.po +++ b/po/de.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-06-05 07:09+0100\n" "Last-Translator: Steven 'Kreuvf' Koenig \n" "Language-Team: Deutsch \n" @@ -5744,7 +5744,7 @@ msgid "New Design" msgstr "Neuer Entwurf" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transporter" @@ -12034,1051 +12034,1051 @@ msgstr "Hochgeschwindigkeitsgeschütz Python Hover" msgid "Plasmite Retribution VTOL" msgstr "VTOL-Plasmitbomben-Abwurfschacht" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Systemsprache" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Passwort hier eingeben" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Konnte Lobbyserver-Namen nicht auflösen (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Konnte nicht mit Lobbyserver kommunizieren! Ist der TCP-Port %u für ausgehenden Verkehr geöffnet?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Schließen" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Laufe im Cheatmodus" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Setze Konfigurationsverzeichnis" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "Konfigurationsverzeichnis" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Setze Standard-Datenverzeichnis" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "Datenverzeichnis" # Aus dem Source ist ersichtlich, was mit "level" gemeint ist, kA, ob Sektion gut übersetzt ist -Kreuvf -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Zeige die Debugdaten für die angeforderte Sektion" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "Debug-Sektion" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Debugausgabe in Datei protokollieren" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "Datei" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Leere gesamte Debugausgabe in stderr aus" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Spiele im Vollbildmodus" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Spielstand laden" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "Spielname" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Diese Hilfenachricht anzeigen und Programm beenden" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Eine globale Mod aktivieren" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "Mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Eine Mod nur für die Kampagnen aktivieren" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Eine Mod nur für den Mehrspielermodus aktivieren" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Asserts deaktivieren" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Verursacht einen Absturz, um den Crash Handler zu testen" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Spielstand laden" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "Spielstand" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Spiele im Fenstermodus" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Versionsinformationen anzeigen und Programm beenden" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Setze die zu benutzende Auflösung" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "BREITExHÖHE" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Schatten aktivieren" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Schatten deaktivieren" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Sound aktivieren" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Sound deaktivieren" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Selbsttest aktivieren" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "Direkt mit IP/Hostnamen verbinden" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "Spielleiter" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "Direkt zum Spielleiterschirm" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Spieler" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Neues Fahrzeug" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Fahrzeugrumpf" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Fahrzeugantrieb" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Fahrzeugturm" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Entwurf löschen" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Kinetische Panzerung" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Thermalpanzerung" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Motorleistung" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Gewicht" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Benötigte Gesamtenergie" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Gesamte Rumpfpunkte" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Energieverbrauch" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hydra " -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Sensorreichweite" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Sensorstärke" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM-Stärke" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Konstruktionspunkte" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Reichweite" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Schaden" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Feuerrate" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Fluggeschwindigkeit" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Straßengeschwindigkeit" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Geländegeschwindigkeit" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Wassergeschwindigkeit" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Waffen" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Systeme" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Spieler hat das Spiel verlassen" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Spieler ausgefallen" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Warte auf andere Spieler" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Bau nicht möglich. Ölquelle brennt." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Schaden %d%% - Erfahrung %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Verbündet - Schaden %d%% - Erfahrung %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "LKW wurde beauftragt, einen Ölbohrturm zu bauen" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "LKW wurde beauftragt, einen Ölbohrturm zu bauen" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "LKW wurde beauftragt, einen Ölbohrturm zu bauen" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Einheit verloren!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Gebäude wiederhergestellt" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Gruppe %u ausgewählt - %u Einheit" msgstr[1] "Gruppe %u ausgewählt - %u Einheiten" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u Einheit zur Gruppe %u hinzugefügt" msgstr[1] "%u Einheiten zur Gruppe %u hinzugefügt" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Auf Gruppe %u zentriert - %u Einheit" msgstr[1] "Auf Gruppe %u zentriert - %u Einheiten" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "An Gruppe %u ausgerichtet - %u Einheit" msgstr[1] "An Gruppe %u ausgerichtet - %u Einheiten" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Anfänger" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Neuling" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Geübter" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Durchschnitt" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profi" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Spezialist" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Held" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Einzelspieler" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Mehrspieler" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Optionen" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Intro zeigen" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Spiel beenden" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "HAUPTMENÃœ" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Schnelles Spiel" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIALS" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Zurück" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Neue Kampagne" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Geplänkel eröffnen" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Herausforderungen" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Spielstand laden" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "Einzelspieler" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Spielstand laden" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "Mehrspieler" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Spiel eröffnen" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Spiel beitreten" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPTIONEN" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Spieloptionen" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Grafikeinstellungen" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Videoeinstellungen" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Audioeinstellungen" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Mausoptionen" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Tastenzuordnung" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Videowiedergabe" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Vollbild" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Kameraerschütterungen" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "An" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Aus" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Nebel" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Dunst" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Nebel des Krieges" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Untertitel" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Schatten" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "GRAFIKOPTIONEN" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Sprachlautstärke" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Effektlautstärke" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Musiklautstärke" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "AUDIOOPTIONEN" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Wirkt sich bei Spielneustart aus" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Grafikmodus*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Fenster" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Auflösung*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Texturgröße" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Vertikale Synchronisation" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "VIDEOOPTIONEN" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Könnte die Spielgeschwindigkeit negativ beeinflussen" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Drehrichtung umkehren" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Mauszeiger einfangen" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Bunte Mauszeiger*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Maustasten vertauschen" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Nach links rotieren" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "MAUSOPTIONEN" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Schwierigkeitsgrad" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Einfach" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Schwer" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Scrollgeschwindigkeit" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Sprache" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Einheitenfarbe" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Nach rechts rotieren" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "SPIELOPTIONEN" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod: " -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "KARTE GESPEICHERT!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "SPIEL GESPEICHERT!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Gebäude konnte nicht erstellt werden" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Spieler %u erschummelt (Debugmenü) sich ein neues Gebäude: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Spieler %u erschummelt (Debugmenü) sich ein neues Feature: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Spieler %u erschummelt (Debugmenü) sich eine neue Einheit: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Spieler %u erschummelt (Debugmenü) sich eine neue Einheit: %s." # Commander kann als Eigenname im Deutschen allerdings mit deutschem Plural stehen bleiben -Kreuvf -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Commandermenü" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Aufklärungsbildschirm" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Produktionsmenü" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Entwurfmenü" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Forschungsmenü" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Konstruktionsmenü" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Spielstand laden" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Spielstand laden" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Spiel speichern" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Spiel speichern" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Kartenkachel" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Kartenkacheln platzieren" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Einheit" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Einheit auf der Karte platzieren" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Gebäude" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Gebäude auf der Karte platzieren" # gemäß: http://dict.leo.org/ende?search=Feat -Kreuvf -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Leistung" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Feature auf der Karte platzieren" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Spiel pausieren oder fortsetzen" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Höhe aller Kartenobjekte abgleichen" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Ohne Basen starten" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Beenden" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Spiel verlassen" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Mehrspieler" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Fortschrittsbalken" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Produktion wiederholen" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Fabrik-Auslieferungspunkt" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Produktion wiederholen" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Reiter nach links durchschalten" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Reiter nach rechts durchschalten" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Spiel fortsetzen" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "Warnung: Sie sind Spielleiter. Wenn Sie das Spiel verlassen, endet es für alle!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "Taktische Anzeige (Zielherkunftssymbol): Anzeigen" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "Taktische Anzeige (Zielherkunftssymbol): Verstecken" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Spiel speichern" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Der Spielleiter hat das Spiel verlassen!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Das Spiel kann ohne Spielleiter nicht weitergehen." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> BEENDEN <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13089,1674 +13089,1683 @@ msgstr "" "\n" "Warzone wird versuchen das Spiel ohne sie zu laden." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Fortschrittsbalken" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Fortschrittsbalken" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energie angesammelt" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSIERT" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Forschungsbericht" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Ziele des Projekts" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Aktuelles Missionsziel" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Neuer Aufklärungsbericht" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Kurze Reichweite" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Hohe Reichweite" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimale Reichweite" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Rückzug bei mittlerem Schaden" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Rückzug bei schwerem Schaden" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Sieg oder Tod!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Feuer nach eigenem Ermessen" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Feuer erwidern" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Feuer einstellen" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrouillieren" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Verfolgen" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Position bewachen" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Position halten" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Rückkehr zwecks Reparatur" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Rückkehr zur Kommandozentrale" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Zum Transporter" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Rückkehr zwecks Recycling" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Wirklich recyclen" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Fabrikproduktion zuweisen" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Cyborg-Fabrikproduktion zuweisen" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Unterstützungsfeuer zuweisen" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "VTOL-Fabrikproduktion zuweisen" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Kreis" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Entschuldige, dieser Cheat ist in Mehrspieler-Spielen deaktiviert." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Warnung! Dieser Cheat ist fehlerbehaftet. Wir empfehlen ihn NICHT zu nutzen." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Lass' uns sehen was du siehst!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Gut, Waffen- und Sensoranzeige sind aus!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Player %u) benutzt den Cheat: %s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Hammerhart!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Die Dinge leicht nehmen!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 Riesenviecher!!!" # Ursprünglich kenne ich das nur als Cheat aus StarCraft und das sollte imho nicht übersetzt werden -Kreuvf -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Power overwhelming" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Zurück zur Normalität!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Es wird kompliziert!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Doppelt so gut!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS-Anzeige ist aktiviert." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS-Anzeige ist deaktiviert." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Grenze: %d; PIEs %d; Polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Spieler %u) benutzt einen Cheat: Anzahl Droids: %d Anzahl Gebäude: %d Anzahl Features: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Unbegrenzte Energie deaktiviert" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Unbegrenzte Energie aktiviert" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Alle Gegenstände wurden verfügbar gemacht" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Nebel an" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Nebel aus" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Warnung! Dieser Cheat kann später schlimme Probleme verursachen! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Beende Mission." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "CHEATS SIND JETZT AKTIVIERT!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "CHEAST SIND JETZT DEAKTIVIERT!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "God Mode aktiviert" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "God Mode deaktiviert" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Sicht nach Norden ausgerichtet" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Mauszeiger einfangen %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "ALLES für Sie erforscht!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Spieler %u) benutzt den Cheat: %s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Erforscht" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Energiebalken nur anzeigen, wenn ausgewählt" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Energiebalken für Einheiten immer anzeigen" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Energiebalken für Einheiten und Gebäude immer anzeigen" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demonstrationsmodus deaktiviert - kehre zum normalen Spiel zurück" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Debug-Menü ist offen" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Kann keinen LKW finden!" # Let it snow, let it snow, let it snow.. # Von daher sollte das unübersetzt bleiben -Kreuvf -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, the weather outside if frightful... SCHNEE" # Das Lied ist im Original Englisch --> bleibt unübersetzt -Kreuvf -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... REGEN" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Vorhersage: Klarer Himmel in allen Gebieten... KEIN WETTER" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Warnung! Dies kann drastische Auswirkungen haben, falls auf Missionen falsch benutzt." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Alle Feinde durch Schummeln vernichtet!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Zerstöre ausgewählte Einheiten und Gebäude!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Auf Kommandozentrale des Spielers zentriert, Blickrichtung Norden" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Kann Kommandozentrale nicht finden!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Geschwindigkeitbegrenzung für Formationen aufgrund von Fehlern aus dem Spiel entfernt." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Richtung vertikaler Drehung: Normal" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Richtung vertikaler Drehung: Vertauscht" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "Bildschirm wackelt bei Zerstörung: Aus" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "Bildschirm wackelt bei Zerstörung: An" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Entschuldige, aber die Spielgeschwindigkeit kann im Mehrspielermodus nicht verändert werden." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Spielgeschwindigkeit zurückgesetzt" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Spielgeschwindigkeit auf %3.1f erhöht" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Spielgeschwindigkeit auf %3.1f gesenkt" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar zeigt Freund-Feind-Farben" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar zeigt Spielerfarben" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar zeigt nur Objekte" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar zeigt Gelände und Höheninformation überlagert" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar zeigt Gelände" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar zeigt aufgedecktes Gelände" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar zeigt Höheninformation" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "TASTENZUORDNUNG" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Zurück zum vorherigen Bildschirm" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Voreinstellung auswählen" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Produktionsmenü" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Forschungsmenü" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Konstruktionsmenü" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Entwurfmenü" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Aufklärungsbildschirm" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Commandereinheiten" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Radar umschalten" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Konsolenanzeige umschalten" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Schadensbalken umschalten" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Bildschirmfoto aufnehmen" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Geschwindigkeitsbegrenzung für Formationen umschalten" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Zeige Ort der letzten Meldung" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Konsolenanzeige umschalten" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Gruppe 0 zuweisen" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Gruppe 1 zuweisen" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Gruppe 2 zuweisen" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Gruppe 3 zuweisen" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Gruppe 4 zuweisen" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Gruppe 5 zuweisen" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Gruppe 6 zuweisen" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Gruppe 7 zuweisen" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Gruppe 8 zuweisen" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Gruppe 9 zuweisen" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Gruppe 0 auswählen" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Gruppe 1 auswählen" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Gruppe 2 auswählen" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Gruppe 3 auswählen" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Gruppe 4 auswählen" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Gruppe 5 auswählen" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Gruppe 6 auswählen" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Gruppe 7 auswählen" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Gruppe 8 auswählen" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Gruppe 9 auswählen" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Commander 0 auswählen" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Commander 1 auswählen" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Commander 2 auswählen" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Commander 3 auswählen" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Commander 4 auswählen" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Commander 5 auswählen" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Commander 6 auswählen" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Commander 7 auswählen" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Commander 8 auswählen" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Commander 9 auswählen" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Mehrspieleroptionen / Allianzdialog" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Sicht nach Norden einrasten" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Verfolgerkamera umschalten" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Zeige Spieleinstellungen" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Radar herauszoomen" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Radar hereinzoomen" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Hereinzoomen" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Herauszoomen" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Nach vorne neigen" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Nach links rotieren" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Neigung zurücksetzen" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Nach rechts rotieren" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Nach hinten neigen" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Befehle-Menü" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Spielgeschwindigkeit veringern" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Spielgeschwindigkeit erhöhen" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Spielgeschwindigkeit zurücksetzen" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Sicht nach Norden" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Sicht nach Süden" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Sicht nach Osten" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Sicht nach Westen" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Zeige nächsten Ölbohrturm" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Zeige nächste Reparatureinheit" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Zeige nächsten LKW" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Zeige nächste Sensoreinheit" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Zeige nächsten Commander" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Menü und Energiebalken umschalten" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konsole ein/aus" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Zentriere Ansicht auf die Kommandozentrale" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Zeige nicht zugewiesene Einheiten" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Feuer nach eigenem Ermessen" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Gehe zur Kommandozentrale" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Sende Textnachricht" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Sensorreichweite" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Schatten aktivieren" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Mauszeiger einfangen" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Radar umschalten" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Alle Kampfeinheiten auswählen" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Alle schwer beschädigten Einheiten auswählen" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Alle Halbkettenfahrzeuge auswählen" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Alle Hoverfahrzeuge auswählen" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Alle sichtbaren Einheiten auswählen" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Alle Kettenfahrzeuge auswählen" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Alle Einheiten auswählen" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Alle VTOLs auswählen" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Alle Radfahrzeuge auswählen" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Alle ähnlichen Einheiten auswählen" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Nächste Fabrik auswählen" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Nächste Forschungseinrichtung auswählen" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Nächstes Kraftwerk auswählen" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Nächste Cyborgfabrik auswählen" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Konnte Spiel nicht speichern!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Transporter beladen" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "ZIEL ERREICHT durch Schummeln!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "MISSION ERFOLGREICH" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "ZIEL NICHT ERREICHT--und Sie haben geschummelt!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "MISSION FEHLGESCHLAGEN" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Zurück zum Hauptmenü" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Spiel fortsetzen" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "SPIEL GESPEICHERT :" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Sie haben %u Energie in einem Ölfass gefunden." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s gibt Ihnen Radardaten" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s gibt Ihnen %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Habe versucht nicht-leeren %s zu übergeben - ist aber nicht gestattet." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s gibt Ihnen Technologiedokumente" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s gibt Ihnen %u Energie" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s wünscht ein Bündnis mit Ihnen" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Sie haben %s zu einem Bündnis eingeladen" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s bricht das Bündnis mit %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s geht ein Bündnis mit %s ein" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Sie haben Entwürfe für %s entdeckt" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Einstellungen annehmen" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Abbrechen" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP-Adresse oder Hostname" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "VERBINDUNG" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Eingangshalle" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Es sind keine Spiele verfügbar" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Spiel ist voll" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Sie wurden rausgeschmissen!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Falsche Spielversion!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Sie haben einen inkompatiblen Mod." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Spielleiter konnte Datei nicht senden?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Falsches Passwort!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Spielleiter hat die Verbindung gekappt!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Verbindungsfehler" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Suche..." -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "SPIELE" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Spieleliste aktualisieren" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Passwort eingeben:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Neuer Cyborg verfügbar" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Spielname auswählen" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Einzelspieler-Geplänkel" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Karte auswählen" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Klicken zum Setzen eines Passworts" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Scavenger" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Keine Scavenger" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Spielernamen auswählen" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Entfernungsnebel" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Bündnisse" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Keine Bündnisse" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Bündnisse erlauben" # festgelegt ungleich fest -Kreuvf -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Feste Teams" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Niedriges Energieniveau" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Mittleres Energieniveau" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Hohes Energieniveau" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Basis" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Ohne Basen starten" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Mit Basen starten" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Mit fortschrittlichen Basen starten" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Kartenvorschau" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Klicken für Kartenansicht" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Spiel eröffnen" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Zeige Gebäudebeschränkungen" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Gebäudebeschränkungen einstellen" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Spielerfarbe" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Spieler rauswerfen" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Position bewachen" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Gruppe" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Spieler rauswerfen" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Klicken, wenn bereit" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "BEREIT?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "SPIELER" +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Klicken zum Setzen eines Passworts" + # festgelegt ungleich fest -Kreuvf -#: src/multiint.c:1965 +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Feste Teams" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar zeigt Spielerfarben" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Position bewachen" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Alle Spieler benötigen dieselben Mods, um Ihrem Spiel beitreten zu können." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** Jetzt wird ein Passwort benötigt! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** Passwort wird nicht benötigt! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Tut mir leid! Spieleröffnung fehlgeschlagen." # festgelegt ungleich fest -Kreuvf -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "\"Feste Teams\"-Modus aktiviert" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Der Spielleiter hat %s aus dem Spiel geworfen!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Der Spielleiter startet das Spiel" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Spieler" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Sende Karte: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Karte: %d%% heruntergeladen" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "SPIELLEITER" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Es treten noch Spieler bei" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s hat das Spiel verlassen" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Dateiübertragung für %d abgebrochen." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) hat einen inkompatiblen Mod und wurde rausgeschmissen." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s ist dem Spiel beigetreten" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Systemnachricht:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Standardwerte nehmen und zum vorherigen Bildschirm zurückkehren" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Begrenzungen auf Standardwerte zurückgesetzt" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Technologiestufe 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Technologiestufe 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Technologiestufe 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Beliebige Spielerzahl" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 Spieler" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 Spieler" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 Spieler" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 Spieler" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 Spieler" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 Spieler" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 Spieler" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Punktestand" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Abschüsse" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Einheiten" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Gebäude" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Bündnisstatus umschalten" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Sensordaten übertragen" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Technologie übertragen" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Ãœbergebe ausgewählte Einheiten" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Energie übertragen" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Werfe Spieler %s hinaus wegen des Versuchs die Datenintegritätsprüfung zu umgehen!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(Verbündete" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(direkt an " -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[ungültig]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Grün" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Orange" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Grau" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Schwarz" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rot" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Blau" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Pink" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cyan" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Forschung abgeschlossen: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Forschung abgeschlossen" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Forschungsbeute" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Eigene Einheiten: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Feindliche Einheiten: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Eigene Gebäude: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Feindliche Gebäude: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Einheiten produziert: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Einheiten insgesamt: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Gebäude gebaut: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Gebäude insgesamt: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Anfänger: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Neuling: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Geübter: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Durchschnitt: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profi: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Spezialist: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Held: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Einheiten verloren" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Gebäude verloren" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Heeres-Informationen" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFAKTE SICHERGESTELLT: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Missionszeit - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Gesamte Spielzeit - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Sie haben geschummelt!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "SIE HABEN GEWONNEN!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "SIE WURDEN BESIEGT!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Signal von %s erhalten!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Signal %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u Einheit ausgewählt" msgstr[1] "%u Einheiten ausgewählt" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Kann keine Reparatureinheit finden!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Kann keinen LKW finden!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Kann keine Sensoreinheit finden!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Kann keine Commander finden!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Commandereinheit hat Kontrollgrenze erreicht - Produktion angehalten" # nix Gruppe! -Kreuvf -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Einheit hinzugefügt" msgstr[1] "%s - %u Einheiten hinzugefügt" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Schaden %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u von %u verbunden" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronisch beschädigt" # Reward ist zwar nicht Beute, aber im Krieg erbeutet man eben Dinge -Kreuvf -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektronische Beute - Sichtbarkeitsbericht" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Fabrikbeute - Antrieb" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Fabrikbeute - Rumpf" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Fabrikbeute - Waffe" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Fabrikbeute - Nichts" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Beute aus Reparatureinrichtung - Reparatur" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Beute aus Reparatureinrichtung - Nichts" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Transporter starten" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Verstärkung landet" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (lokal geändert und umgeschaltet)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (lokal geändert)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (lokal umgeschaltet)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - %s gebaut" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Version %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Produktion wiederholen" + #~ msgid "Plascrete MK3" #~ msgstr "Plastiton Mk3" diff --git a/po/en_GB.po b/po/en_GB.po index 899c32bdc..44a013654 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-05 12:29+0000\n" "Last-Translator: Jen Ockwell \n" "Language-Team: English (United Kingdom) \n" @@ -5733,7 +5733,7 @@ msgid "New Design" msgstr "New Design" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transport" @@ -12311,1071 +12311,1071 @@ msgstr "HPV Cannon Python Tracks" msgid "Plasmite Retribution VTOL" msgstr "Medium Body - Retribution" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "System locale" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Close" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Run in cheat mode" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Set configuration directory" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "configuration directory" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Set default data directory" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "data directory" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Show debug for given level" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "debug level" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Log debug output to file" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "file" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Play in fullscreen mode" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Load a specific game" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "game-name" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Show this help message and exit" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Enable a global mod" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Enable a campaign only mod" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Enable a multiplay only mod" -#: src/clparse.c:244 +#: src/clparse.cpp:244 #, fuzzy msgid "Disable asserts" msgstr "Disable shadows" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Load a saved game" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "savegame" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Play in windowed mode" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Show version information and exit" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Set the resolution to use" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "WIDTHxHEIGHT" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Enable shadows" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Disable shadows" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Enable sound" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Disable sound" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Player" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "New Vehicle" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Vehicle Body" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Vehicle Propulsion" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Vehicle Turret" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Delete Design" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Kinetic Armour" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Thermal Armour" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Engine Output" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Weight" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Total Power Required" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Total Body Points" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Power Usage" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Sensor Range" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Sensor Power" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM Power" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Build Points" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Range" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Damage" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Rate-of-Fire" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Air Speed" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Road Speed" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Off-Road Speed" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Water Speed" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Weapons" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Systems" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "Player" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "Player" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Cannot Build. Oil Resource Burning." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Damage %d%% - Experience %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Damage %d%% - Experience %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Truck ordered to build Oil Derrick" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Truck ordered to build Oil Derrick" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Truck ordered to build Oil Derrick" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Unit Lost!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Structure Restored" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Group %u selected - %u Unit" msgstr[1] "Group %u selected - %u Units" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unit assigned to Group %u" msgstr[1] "%u units assigned to Group %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Centred on Group %u - %u Unit" msgstr[1] "Centred on Group %u - %u Units" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Aligning with Group %u - %u Unit" msgstr[1] "Aligning with Group %u - %u Units" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Rookie" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Green" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Trained" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Regular" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professional" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Special" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Hero" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Single Player Campaign" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Multi Player Game" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Options" -#: src/frontend.c:102 +#: src/frontend.cpp:101 #, fuzzy msgid "View Intro" msgstr "View next Truck" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Quit Game" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MAIN MENU" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Fast Play" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIALS" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Return" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "New Campaign" -#: src/frontend.c:214 +#: src/frontend.cpp:213 #, fuzzy msgid "Start Skirmish Game" msgstr "Start Hosting Game" -#: src/frontend.c:215 +#: src/frontend.cpp:214 #, fuzzy msgid "Challenges" msgstr "Scavenger" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Load Game" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "SINGLE PLAYER" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Load Saved Game" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTIPLAYER" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Host Game" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Join Game" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPTIONS" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Game Options" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Graphics Options" -#: src/frontend.c:426 +#: src/frontend.cpp:425 #, fuzzy msgid "Video Options" msgstr "Audio Options" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Audio Options" -#: src/frontend.c:428 +#: src/frontend.cpp:427 #, fuzzy msgid "Mouse Options" msgstr "Game Options" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Key Mappings" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Video Playback" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Fullscreen" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Screen Shake" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "On" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Off" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Fog" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Mist" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Fog Of War" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Subtitles" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Shadows" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "GAME OPTIONS" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Voice Volume" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "FX Volume" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Music Volume" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "GAME OPTIONS" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Takes effect on game restart" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Graphics Mode*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Windowed" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resolution*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Texture size" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "GAME OPTIONS" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "Reverse Mouse" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Trap Cursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Game Options" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Rotate Left" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "GAME OPTIONS" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Difficulty" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Easy" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Hard" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Scroll Speed" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Language" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Unit Colour" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Rotate Right" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "GAME OPTIONS" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "GAME SAVED!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "GAME SAVED!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Player %u is cheating (debug menu) him/herself a new structure: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Player %u is cheating (debug menu) him/herself a new feature: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Player %u is cheating (debug menu) him/herself a new droid: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Player %u is cheating (debug menu) him/herself a new droid: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Commanders (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Intelligence Display (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Manufacture (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Design (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Research (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Build (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Power" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Load Game" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Load Game" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Save Game" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Save Game" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 #, fuzzy msgid "Tile" msgstr "file" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Unit" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Struct" -#: src/hci.c:4005 +#: src/hci.cpp:3616 #, fuzzy msgid "Place Structures on map" msgstr "Set Structure Limits" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Feat" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "The host has left the game!" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Start with No Bases" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Quit" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Exit Game" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Multi Player Game" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Progress Bar" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Loop Production" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Factory Delivery Point" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Loop Production" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab Scroll left" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab Scroll right" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Resume Game" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Save Game" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "The host has left the game!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13383,1697 +13383,1705 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Build Points" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Construction Unit" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Power Accrued" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSED" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Research Update" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Project Goals" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Current Objective" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 #, fuzzy msgid "New Intelligence Report" msgstr "Incoming intelligence report." -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Short Range" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Long Range" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimum Range" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Retreat at Medium Damage" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Retreat at Heavy Damage" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Do or Die!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Fire-At-Will" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Return Fire" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Hold Fire" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrol" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Pursue" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Guard Position" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hold Position" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Return For Repair" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Return To HQ" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Go to Transport" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Return for Recycling" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Recycle" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Assign Factory Production" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Assign Cyborg Factory Production" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Assign Fire Support" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Assign VTOL Factory Production" -#: src/intorder.c:183 +#: src/intorder.cpp:183 #, fuzzy msgid "Circle" msgstr "file" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Sorry, that cheat is disabled in multiplayer games." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Lets us see what you see!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 #, fuzzy msgid "Fine, weapon & sensor display is off!" msgstr "Fine, sensor display is off!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Hard as nails!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Takings thing easy!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 big ones!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Power overwhelming" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Back to normality!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Getting tricky!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Twice as nice!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS display is enabled." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS display is disabled." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Infinite power disabled" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Infinite power enabled" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "All items made available" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Fog on" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Fog off" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, fuzzy msgid "Ending Mission." msgstr "Incoming Transmission..." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "View Aligned to North" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, fuzzy, c-format msgid "Trap cursor %s" msgstr "Trap Cursor" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Researched EVERYTHING for you!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Research" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demo mode off - Returning to normal game mode" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 #, fuzzy msgid "Debug menu is Open" msgstr "Build menu will reopen" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Unable to locate any Trucks!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, the weather outside is frightful... SNOW" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... RAIN" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Forecast : Clear skies for all areas... NO WEATHER" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 #, fuzzy msgid "All enemies destroyed by cheating!" msgstr "Enemy destroyed by cheating!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Centred on player HQ, direction NORTH" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Unable to locate HQ!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Sorry, that cheat is disabled in multiplayer games." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Game Speed Reset" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Game Speed Increased to %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Game Speed Reduced to %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar showing friend-foe colours" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar showing player colours" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar showing only objects" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar blending terrain and height" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar showing terrain" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar showing terrain" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar showing height" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "KEY MAPPING" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Return To Previous Screen" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Select Default" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Manufacture" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Research" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Build" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Design" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Intelligence Display" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Commanders" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Toggle Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Toggle Console Display" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Toggle Damage Bars On/Off" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Take Screen Shot" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Toggle Formation Speed Limiting" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "View Location of Previous Message" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Toggle Console Display" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Assign Group 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Assign Group 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Assign Group 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Assign Group 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Assign Group 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Assign Group 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Assign Group 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Assign Group 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Assign Group 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Assign Group 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Select Group 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Select Group 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Select Group 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Select Group 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Select Group 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Select Group 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Select Group 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Select Group 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Select Group 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Select Group 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Select Commander 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Select Commander 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Select Commander 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Select Commander 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Select Commander 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Select Commander 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Select Commander 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Select Commander 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Select Commander 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Select Commander 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "Multiplayer Options" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Snap View to North" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Toggle Tracking Camera" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Display In-Game Options" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zoom Radar Out" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zoom Radar In" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoom In" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoom Out" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Pitch Forward" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Rotate Left" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Reset Pitch" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Rotate Right" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Pitch Back" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Orders Menu" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Decrease Game Speed" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Increase Game Speed" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Reset Game Speed" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "View North" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "View South" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "View East" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "View West" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "View next Oil Derrick" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "View next Repair Unit" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "View next Truck" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "View next Sensor Unit" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "View next Commander" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Toggle Overlays" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Console On/Off" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centre View on HQ" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "View Unassigned Units" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Fire at Will" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Return to HQ" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Send Text Message" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Sensor Range" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Enable shadows" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Trap Cursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Toggle Radar" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Select all Combat Units" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Select all Heavily Damaged Units" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Select all Half-tracks" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Select all Hovers" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Select all Units on Screen" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Select all Tracks" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Select EVERY unit" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Select all VTOLs" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Select all Wheels" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Select all Similiar Units" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Select next Factory" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Select next Research Facility" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Select next Power Generator" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Select next Cyborg Factory" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "Load a saved game" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Load Transport" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "OBJECTIVE ACHIEVED" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "OBJECTIVE ACHIEVED" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "OBJECTIVE FAILED" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "OBJECTIVE FAILED" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Quit To Main Menu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continue Game" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "GAME SAVED!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Gives You A Visibility Report" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Gives you a %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, fuzzy, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Tried to give away a %s - but this is not allowed." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Gives You Technology Documents" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s Gives You Power" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Requests An Alliance With You" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "You Invite %s To Form An Alliance" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Breaks The Alliance With %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Forms An Alliance With %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "You Discover Blueprints For %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accept Settings" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Lancer" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP Address or Machine Name" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONNECTION" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "New technologies are available." -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Searching" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "GAMES" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Refresh Games List" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "New Cyborg Available" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Select Game Name" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "One Player Skirmish" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Select Map" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 #, fuzzy msgid "Scavengers" msgstr "Scavenger" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 #, fuzzy msgid "No Scavengers" msgstr "Scavenger" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Select Player Name" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Distance Fog" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alliances" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "No Alliances" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Allow Alliances" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Locked Teams" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Low Power Levels" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Medium Power Levels" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "High Power Levels" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Base" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Start with No Bases" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Start with Bases" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Start with Advanced Bases" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Start Hosting Game" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Set Structure Limits" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Set Structure Limits" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Player" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2 players" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Guard Position" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "PLAYERS" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Locked Teams" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar showing player colours" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Guard Position" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "Locked Teams" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "The host has kicked %s from the game!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Host is Starting Game" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Players" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Players Still Joining" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s has Left the Game" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s is Joining the Game" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "System locale" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Return To Previous Screen" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Technology level 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Technology level 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Technology level 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Any number of players" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 players" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 players" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 players" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 players" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 players" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 players" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 players" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Score" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Kills" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Unit" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "Struct" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Toggle Alliance State" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Give Visibility Report" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Leak Technology Documents" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Hand Over Selected Units" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Give Power To Player" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Alliances" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Green" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Orange" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Grey" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Black" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Red" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Blue" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Pink" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cyan" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Research completed: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Research Completed" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Research Award" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Own Units: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Enemy Units: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Own Structures: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Enemy Structures: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Units Manufactured: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Total Units: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Structures Built: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Total Structures: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Rookie: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Green: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Trained: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Regular: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professional: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Special: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Hero: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Unit Losses" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Structure Losses" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Force Information" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTIFACTS RECOVERED: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Mission Time - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Total Game Time - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 #, fuzzy msgid "YOU WERE DEFEATED!" msgstr "NEXUS DEFEATED" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u unit selected" msgstr[1] "%u units selected" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Unable to locate any repair units!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Unable to locate any Trucks!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Unable to locate any Sensor Units!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Unable to locate any Commanders!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Command Control Limit Reached - Production Halted" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unit assigned" msgstr[1] "%s - %u Units assigned" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Damage %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Connected %u of %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Electronically Damaged" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Electronic Reward - Visibility Report" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Factory Reward - Propulsion" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Factory Reward - Body" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Factory Reward - Weapon" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Factory Reward - Nothing" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Repair Facility Award - Repair" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Repair Facility Award - Nothing" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Launch Transport" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Reinforcements landing" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modified and switched locally)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modified locally)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (switched locally)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Built %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Version %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Loop Production" + #~ msgid "Plascrete MK3" #~ msgstr "Plascrete MK3" diff --git a/po/es.po b/po/es.po index 13ffad0f2..c06f8dfb3 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-11-16 11:19+0100\n" "Last-Translator: Saber Nyoki \n" "Language-Team: Spanish \n" @@ -5734,7 +5734,7 @@ msgid "New Design" msgstr "Nuevo Diseño" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transporte" @@ -11990,1039 +11990,1040 @@ msgstr "Cañón HPV Pitón Oruga" msgid "Plasmite Retribution VTOL" msgstr "Plasmita Merecido ADV" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Idioma del sistema" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Introducir contraseña aquí" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "¡No se pudo resolver el nombre del servidor maestro (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "¡No se pudo comunicar con el servidor! ¿Está el puerto TCP %u abierto para tráfico saliente?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Cerrar" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Ejecutar en modo de trampas" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Establecer directorio de configuración" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "directorio de configuración" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Establecer directorio de datos por defecto" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "directorio de datos" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Mostrar depuración para el nivel dado" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "nivel de depuración" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Registrar salida de depuración a fichero" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "fichero" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Desechar todo el debug escrito en stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Jugar en modo a pantalla completa" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Cargar una partida específica" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "nombre de la partida" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Mostrar este mensaje de ayuda y salir" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Habilitar mod global" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Habilitar mod de campaña" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Habilitar mod multijugador" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Desactivar sombras" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Provoca una colisión para probar el cliente de colisiones" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Cargar una partida guardada" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "savegame" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Jugar en modo ventana" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Mostrar información de versión y salir" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Establecer la resolución a utilizar" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "ANCHOxALTO" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Activar sombras" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Desactivar sombras" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Activar sonido" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Desactivar sonido" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Activar auto-test" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "Conectar directamente con IP/Dominio" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "Dominio" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "Ir directamente a pantalla de dominio" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Jugador" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nuevo Vehículo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Carrocería del Vehículo" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Propulsión del Vehículo" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Torreta del Vehículo" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Borrar Diseño" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Blindaje Cinético" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Blindaje Térmico" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Potencia del motor" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Peso" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Energía Total Necesaria" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Puntos Estructurales Totales" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Uso de energía" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hidra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Rango del Sensor" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Potencia del sensor" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Energía ECM" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Puntos estructurales" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Rango" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Daños" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Cadencia de fuego" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Velocidad en el Aire" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Velocidad por carretera" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Velocidad en campo a través" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Velocidad por agua" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Armas" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemas" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Jugador Salió" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Jugador Desconectado" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Esperando a otros jugadores" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "Desincronizado" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "No se puede construir. Yacimiento de petróleo ardiendo." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Daño %d%% - Experiencia %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s Aliado - Daño %d%% - Experiencia %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Camión enviado a construir Torre Petrolífera" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "2 Camiones enviados a construir Torre Petrolífera" -#: src/display.c:2036 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "%d camiones enviados a construir Torre Petrolífera" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "¡Unidad destruída!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Estructura Restaurada" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Grupo %u seleccionado - %u Unidad" msgstr[1] "Grupo %u seleccionado - %u Unidades" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unidad asignada al Grupo %u" msgstr[1] "%u unidades asignadas al Grupo %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Centrado en el Grupo %u - %u Unidad" msgstr[1] "Centrado en el Grupo %u - %u Unidades" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Alineando con el Grupo %u - %u Unidad" msgstr[1] "Alineando con el Grupo %u - %u Unidades" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Novato" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Principiante" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Entrenado" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Regular" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesional" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veterano" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Élite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Especial" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Héroe" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "¡%s quiso darte un %s pero tienes demasiados!" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, fuzzy, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "¡%s quiso darte un %s pero tienes demasiados!" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Campaña Un Jugador" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Juego Multijugador" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Opciones" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Ver Intro" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Salir del juego" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENÚ PRINCIPAL" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Partida Rápida" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIALES" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Volver" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nueva Campaña" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Hospedar una Partida" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Desafíos" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Cargar Partida" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "UN JUGADOR" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Cargar Partida Guardada" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTIJUGADOR" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Hospedar Partida" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Unirse a una Partida" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPCIONES" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Opciones de juego" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Opciones Gráficas" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Opciones de Vídeo" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Opciones de Audio" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Opciones de ratón" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Mapeos de teclas" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Reproducción de Vídeo" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Pantalla Completa" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Agitar pantalla" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Activado" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Desactivado" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Niebla" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Neblina" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Niebla de Guerra" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Subtítulos" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Sombras" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "OPCIONES GRÃFICAS" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volumen de Voces" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volumen de Sonidos" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volumen de Música" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "OPCIONES DE AUDIO" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Tendrá efecto al reiniciar el juego" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Modo Gráfico*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "En ventana" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resolución*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Tamaño de las texturas" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Sincronización Vertical" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "OPCIONES DE VIDEO" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Puede afectar negativamente al rendimiento" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Invertir Rotación" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Capturar Cursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Cursores de colores" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Cambiar botones del ratón" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "Rotar Pantalla" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "Botón central" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "Botón derecho" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "OPCIONES DE RATÓN" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Dificultad" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Fácil" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Difícil" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Velocidad de desplazamiento" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Idioma" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Color de las unidades" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "Radar" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "Rotando" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "Reparado" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPCIONES DE JUEGO" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod:" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "¡MAPA GUARDADO!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "PARTIDA GUARDADA:" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Error al crear estructura" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "El jugador %u está haciendo trampas (menú depuración) con una nueva estructura: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "El jugador %u está haciendo trampas (menú depuración) con una nueva característica: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "El jugador %u está haciendo trampas (menú depuración) con un nuevo androide: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "El jugador %u está haciendo trampas (menú depuración) con un nuevo androide." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Comandantes (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Inteligencia (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Fabricación (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Diseño (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Investigación (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Construcción (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energía" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "Mapa:" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "Cargar" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "Cargar Mapa" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "Guardar" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "Guardar Mapa" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "Nuevo" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "Nuevo Mapa en Blanco" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "casilla" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Colocar casillas en el mapa" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Unidad" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Colocar Unidad en el mapa" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Estructura" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Colocar Estructuras en el mapa" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Hazaña" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Colocar Características en el mapa" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "Pausa" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Pausa o despausa la partida" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Anchura de alineacion de todos los objetos del mapa" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "Editar" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "Iniciar modo de Edición" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Salir" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Salir del Juego" -#: src/hci.c:4090 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "Jugador actual:" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barra de progreso" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "Producción Infinita" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Punto de Reparto de la Fábrica" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Ciclos de Producción" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab Desplazamiento Izquierda" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab Desplazamiento Derecha" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Continuar Partida" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "¡ATENCIÓN: Eres el anfitrión. Si te vas, el juego acaba para todos!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "UI Táctica (Icono de origen de objetivo): Mostrar" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "UI Táctica (Icono de origen de objetivo): Ocultar" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Guardar Partida" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "¡El anfitrión ha abandonado la partida!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "La partida no puede continuar sin el anfitrión" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> SALIR <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13033,1653 +13034,1665 @@ msgstr "" "\n" "Warzone intentará cargar el la partida sin él." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Progreso de fabricación" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Progreso de construcción" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energía acumulada" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSADO" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Actualización de Investigación" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Metas del Proyecto" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Objetivo Actual" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Nuevo Informe de Inteligencia" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Rango Corto" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Rango Largo" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Rango Óptimo" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Retirarse con Daños Medios" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Retirarse con Daños Graves" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "¡Hazlo o Muere!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Fuego a discreción" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Devolver el fuego" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Alto el fuego" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrullar" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Perseguir" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Guardar Posición" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Mantener Posición" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Regresar para Reparar" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Regresar al CG" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ir al Transporte" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Regresar para Reciclaje" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Reciclar" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Asignar Producción de Fábrica" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Asignar Producción de Fábrica de Cyborgs" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Asignar Fuego de Apoyo" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Asignar Producción de fábrica de ADV" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "círculo" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Lo siento, ese truco está deshabilitado en partidas multijugador." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "¡Atención! Esta trampa tiene bugs. No recomendamos su uso." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "¡Déjanos ver lo que ves!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "¡Excelente, la pantalla del sensor está apagada!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Jugador %u) está usando la trampa: %s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "¡¡¡Más duro que el acero!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "¡Haciéndolo fácil!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "¡¡¡1000 grandes!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Poder aplastante" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "¡Vuelta a la rutina!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "¡Haciéndolo difícil!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "¡Dos veces bueno!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Visor de FPS activado." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Visor de FPS desactivado." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; Límite-FPS: %d; PIEs %d; polígs. %d; Polígs. Terr. %d; Estados %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Jugador %u) está usando una trampa :Num Droids: %d Num Structures: %d Num Features: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Energía ilimitada desactivada" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Energía ilimitada activada" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Todos los artículos disponibles" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Niebla activada" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Niebla desactivada" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "¡Atención! ¡Esta trampa puede causar problemas futuros! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Finalizando Misión..." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "¡TRAMPAS HABILITADAS!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "¡TRAMPAS DESHABILITADAS!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Modo Dios Activado" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Modo Dios Desactivado" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Vista Alineada al Norte" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Capturar Cursor %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "¡Investigado TODO para ti!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Jugador %u) usa trampa : %s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Investigado" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Solo mostrar barras de energía cuando se selecciona" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Siempre mostrar las barras de energía para las unidades" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Siempre mostrar las barras de energía para unidades y estructuras" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Modo demostración desactivado - Volviendo al modo de juego normal" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "El Menú de construcción está Abierto" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "¡Imposible localizar ningún pozo de petróleo!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, el tiempo fuera es terrible... NIEVE" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... LLUVIA" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Pronóstico: Cielos despejados en todas las áreas... CLIMA DESACTIVADO" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "¡Atención! Esto puede tener consecuencias drásticas si se usa incorrectamente en misiones." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "¡Todos los enemigos destruicos con trampas!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "¡Destruyendo los droides y estructuras seleccionados!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Centrado en el CG del jugador, dirección Norte" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "¡Incapaz de encontrar el CG!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "La limitación de velocidad de formación ha sido deshabilitado debido a errores" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Dirección de Rotación Vertical: Normal" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Dirección de Rotación Vertical: Invertida" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "Agitar pantalla cuando mueren cosas: Desactivado" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "Agitar pantalla cuando mueren cosas: Habilitado" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Lo sentimos, pero la velocidad de juego no se puede cambiar en partidas multijugador." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Reestablecer Velocidad de Juego" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Velocidad de Juego Aumentada a %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Velocidad de Juego Reducida a %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar mostrando colores de amigo-enemigo" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar mostrando colores de jugador" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar mostrando sólo objetos" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar mezclando terreno y alturas" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar mostrando terreno" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar mostrando terreno" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar mostrando alturas" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "MAPEO DE TECLAS" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Volver a la Pantalla Anterior" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Seleccionar valores por defecto" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Fabricación" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Investigación" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Construir" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Diseño" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Inteligencia" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Comandantes" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Alternar Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Alternar Consola" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Alternar Barras de daño" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Capturar Pantalla" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Alternar Limitación de velocidad en Formación" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Ver Ubicación del Mensaje Anterior" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "Alternar Muestreo de Sensores" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Asignar Grupo 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Asignar Grupo 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Asignar Grupo 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Asignar Grupo 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Asignar Grupo 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Asignar Grupo 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Asignar Grupo 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Asignar Grupo 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Asignar Grupo 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Asignar Grupo 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Seleccionar Grupo 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Seleccionar Grupo 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Seleccionar Grupo 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Seleccionar Grupo 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Seleccionar Grupo 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Seleccionar Grupo 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Seleccionar Grupo 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Seleccionar Grupo 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Seleccionar Grupo 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Seleccionar Grupo 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Seleccionar Comandante 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Seleccionar Comandante 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Seleccionar Comandante 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Seleccionar Comandante 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Seleccionar Comandante 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Seleccionar Comandante 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Seleccionar Comandante 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Seleccionar Comandante 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Seleccionar Comandante 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Seleccionar Comandante 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Opciones Multijugador / Cuadro de alianzas" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Ajustar Vista al Norte" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Alternar Cámara de Seguimiento" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Mostrar opciones Dentro del Juego" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Disminuir Zoom del Radar" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Aumentar Zoom del Radar" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Acercar" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Alejar" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Inclinar Cámara Adelante" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Girar a la Izquierda" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Restablecer Inclinación Cámara" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Girar a la derecha" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Inclinar Cámara Atrás" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menú de Órdenes" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Disminuir Velocidad del Juego" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Aumentar Velocidad del Juego" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Restablecer Velocidad del Juego" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Vista Norte" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Vista Sur" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Vista Este" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Vista Oeste" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Ver siguiente Torre de Petróleo" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Ver siguiente Unidad de Reparación" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Ver siguiente Camión" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Ver siguiente Unidad de Sensores" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Ver siguiente Comandante" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Alternar Capas" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Alternar Consola" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centrar Vista en CG" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Ver Unidades no Asignadas" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Fuego a Discreción" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Volver al CG" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Enviar mensaje de Texto" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "Pon una baliza" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "Muestreo de Sensor Activado" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "Muestreo de sensores Desactivado" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "Activar sombras" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "Capturar Cursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "Alternar Radar de Terreno" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "Cambiar a radar aliado-enemigo" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Seleccionar todas las Unidades de Combate" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Seleccionar todas las Unidades Gravemente Dañadas" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Selecionar todos los Semi-oruga" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Seleccionar todos los Deslizadores" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Seleccionar todas las Unidades en Pantalla" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Seleccionar todas las Orugas" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Seleccionar TODAS las unidades" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Seleccionar todos los ADVs" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Seleccionar todos con Ruedas" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Seleccionar todas las unidades Similares" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Seleccionar siguiente Fábrica" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Seleccionar siguiente Complejo de Investigación" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Seleccionar siguiente Generador de Energía" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Seleccionar Siguiente Fábrica de Cyborgs" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "¡No se pudo guardar la partida!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Cargar Transporte" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "¡OBJETIVO CUMPLIDO con trampas!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "OBJETIVO CUMPLIDO" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "OBJETIVO FALLADO-- ¡e hiciste trampas!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "OBJETIVO FALLADO" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Salir al Menú Principal" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continuar Partida" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "¡PARTIDA GUARDADA!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Encontraste %u energía en un barril de petróleo" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s te da un informe de visibilidad" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s te da un %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Se intentó regalar un %s no vacío - pero no está permitido." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s te da Documentos Tecnológicos" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s te da %u de Energía" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s solicita una Alianza contigo" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Invitas a %s a formar una Alianza" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s rompe la Alianza con %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s forma una Alianza con %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Descubres los planos de %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aceptar Configuración" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Cancelar" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Dirección IP o Nombre de la Máquina" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONEXIÓN" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Vestíbulo" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "No hay partidas disponibles" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Partida llena" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "¡Has sido expulsado!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "¡Versión del juego errónea!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Tienes un mod incompatible" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "¿El host no pudo envar archivo?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "¡Contraseña incorrecta!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "¡El Host cerró la conexión!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Error de conexión" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Buscando" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "PARTIDAS" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Actualizar Lista de Partidas" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Introducir Contraseña:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "¡¡Tanques deshabilitados!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "Cyborgs deshabilitados." -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "VTOLS deshabilitados." -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Elegir Nombre de la Partida" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Escaramuza Un Jugador" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Elegir Mapa" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Click para fijar contraseña" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Carroñeros" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Sin Carroñeros" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Elejir Nombre del Jugador" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Niebla de Distancia" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alianzas" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Sin Alianzas" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Permitir Alianzas" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Equipos Fijos" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Niveles de Energía Bajos" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Niveles de Energía Medios" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Niveles de Energía Altos" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Base" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Comenzar sin Bases" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Comenzar con Bases" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Comenzar con Bases Avanzadas" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Previsualizar Mapa" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Click para ver Mapa" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Comenzar Hospedando un Juego" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Fijar Límites de Estructuras" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Fijar Límites de Estructuras" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Color del Jugador" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Expulsar jugador" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Guardar Posición" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Equipo" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Expulsar jugador" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Click cuando esté listo" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "¿LISTO?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "JUGADORES" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Click para cambiar la configuración de jugador." + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "Elegir equipo" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "Click para cambiar la configuración de jugador." -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Click para cambiar la configuración de jugador." + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "Click para ajustar dificultad de la IA" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Todos los jugadores necesitan tener los mismos mods para unirse" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** ¡contraseña [%s] requerida! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** ¡contraseña no requerida! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "¡Lo sentimos! No se pudo hospedar la partida" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Modo de Equipos Fijos Activado" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "¡El anfitrión ha expulsado a %s de la partida!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Anfitrión Comenzando Partida" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Jugadores" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Enviando Mapa: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% descargado" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "ANFITRIÓN" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Todavia hay jugadores uniéndose" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s abandonó la partida" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "La transferencia de archivos ha sido abortada por %d" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) tiene un mod incompatible, y ha sido expulsado" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s se está uniendo a la partida" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Mensaje del sistema:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Restablecer Valores por defecto y Volver a la Pantalla Anterior" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Límites reiniciados a valores por defecto" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Nivel Tecnológico 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Nivel Tecnológico 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Nivel Tecnológico 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Cualquier número de jugadores" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 jugadores" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 msgid "3 players" msgstr "3 jugadores" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 jugadores" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 msgid "5 players" msgstr "5 jugadores" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 msgid "6 players" msgstr "6 jugadores" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 msgid "7 players" msgstr "7 jugadores" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 jugadores" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Puntuación" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Muertes" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Unidades" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Estructuras" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "Canal" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Alternar Estado de la Alianza" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Dar Informe de Visibilidad" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Fuga de Documentos Tecnológicos" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Transferir las unidades seleccionadas" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Dar Energía al Jugador" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "¡Expulsado el jugador %s, porque intentó saltar la seguridad de integridad de datos!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "( a aliados" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(privado a " -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[inválido]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Verde" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Naranja" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Gris" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Negro" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rojo" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Azul" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Rosa" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cian" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "¡No podemos hacer eso! ¡Debemos ser una unidad cyborg para usar el transporte Cyborg!" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Investigación completada: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Investigación Completada" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Premio de Investigación" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Unidades propias: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Unidades enemigas: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Estructuras propias: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Estructuras enemigas: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Unidades fabricadas: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Unidades totales: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Estructuras construídas: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Estructuras totales: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Novato: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Principiante: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Entrenado: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Regular: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profesional: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veterano: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Élite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Especial: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Héroe: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Unidades perdidas" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Estructuras perdidas" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Información de Fuerzas" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFACTOS RECUPERADOS: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Tiempo de Misión: %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Tiempo Jugado Total: %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "¡Hiciste trampa!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "¡ERES EL GANADOR!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "¡HAS SIDO DERROTADO!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "¡Baliza recibida de %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Baliza %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u unidad seleccionada" msgstr[1] "%u unidades seleccionadas" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "¡Imposible localizar ninguna unidad de reparación!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "¡Imposible localizar ningún Camión!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "¡Imposible localizar ninguna unidad de sensores!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "¡Imposible localizar ningún Comandante!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Alcanzado Límite de Control de Unidades - Producción Detenida" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unidad asignada" msgstr[1] "%s - %u Unidades asignadas" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Daño %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Conectado %u de %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Dañado Electrónicamente" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Recompensa de Electrónica - Informe de Visibilidad" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Recompensa de Fábrica - Propulsión" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Recompensa de Fábrica - Carrocería" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Recompensa de Fábrica - Arma" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Recompensa de Fábrica - Nada" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Premio de Instalación de Reparación - Reparación" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Premio de Instalación de Reparación - Nada" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Lanzar Transporte" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "¡No hay espacio suficiente en el transporte!" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Refuerzos aterrizando" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modificado y cambiado localmente)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modificado localmente)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (cambiado localmente)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEPURACIÓN" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Construido %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versión: %s%s%s%s" +#~ msgid "Infinite Production" +#~ msgstr "Producción Infinita" + +#, fuzzy +#~ msgid "Player position" +#~ msgstr "Guardar Posición" + #~ msgid "Plascrete MK3" #~ msgstr "Hormigón Plástico Mk3" diff --git a/po/et_EE.po b/po/et_EE.po index 4fa49cb77..c9404b4e3 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-05-10 16:59+0200\n" "Last-Translator: erlando \n" "Language-Team: Estonian \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "Uus Konstruktsioon" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transport" @@ -12006,1050 +12006,1050 @@ msgstr "Hõljukiga Python Hüperkiire Kahur" msgid "Plasmite Retribution VTOL" msgstr "VTOL Retribution Täispommitus" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Süsteemi Asukoht" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Sisesta salasõna siia" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ei suuda peaserveri nime lahendada (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ei suuda lobby serveriga suhelda! Kas port %u on väljaminevale liiklusele avatud?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Sulge" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Sohi mode Käivitatud" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Määra konfiguratsiooni register" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "konfiguratsiooni register" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Määra default andmete register" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "Andmete register" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Show debug for given level" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "debug level" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Log debug output to file" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "file" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Flush all debug output written to stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Mängi fullscreen mode-is" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Load a specific game" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "mäng-nimi" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Näita seda abi sõnumit ja välju" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Enable a global mod" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Enable a campaign only mod" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Enable a multiplay only mod" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Disable asserts" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Tekitab kokkujooksu, et testida crash handlerit" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Laadi salvestatud mäng" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "mängusalvestus" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Mängi akendatud mode-is" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Näita versiooni informatsiooni ja välju" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Määra eristamisvõime" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "LAIUSxKÕRGUS" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Luba varjud" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Blokeeri varjud" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Luba hääl" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Blokeeri hääl" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Activate self-test" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "ühenda otse IP/võõrustajanimega" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "võõrustaja" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "mine otse võõrustaja aknasse" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Mägija" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Uus Sõiduk" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Masina Kere" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Masina Liikumissüsteem" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Masina Torn" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Kustuta Konstruktsioon" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Kinemaatiline Soomus" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Soojussoomus" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Mootori Võimsus" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Kaal" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Täielik Energiakulu" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Kokku Kerepunkte(HP)" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Energia Kulu" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hüdra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Sensori Ulatus" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Sensori Tugevus" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM Tugevus" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Ehitamispunktid" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Ulatus" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Kahju" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Laskekiirus" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Kiirus Õhus" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Kiirus Teel" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Kiirus Maastikul" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Kiirus Vees" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Relvad" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Süsteemid" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Mängija lahkus" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Mängija Väjavisatud" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Teiste mängijate ootamine" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "EI Saa Ehitada. Naftaresurss Põleb." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Kahju %d%% - Kogemus %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s -Liitlane - Kahju %d%% - Kogemus %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Veoautol kästi Naftapuurtorn ehitada" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Veoautol kästi Naftapuurtorn ehitada" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Veoautol kästi Naftapuurtorn ehitada" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Ãœksus Kaotatud!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Ehitis taastatud" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Grupp %u valitud - %u Ãœksus" msgstr[1] "Grupp %u valitud - %u Ãœksust" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u üksus määratud gruppi %u" msgstr[1] "%u Ãœksust määratud Gruppi %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Grupi %u Vaade - %u Ãœksus" msgstr[1] "Grupi %u Vaade - %u Ãœksust" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Aligning with Group %u - %u Unit" msgstr[1] "Aligning with Group %u - %u Units" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Uustulnuk" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Algaja" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Treenitud" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Regulaar" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professionaal" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Eliit" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Eriline" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Kangelane" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Ãœksik Mäng" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Mitmik Mäng" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Õpetus" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Seaded" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Näita Sissejuhatust" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Välju Mängust" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "PEA MENÜÜ" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Kiir Mäng" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "ÕPETUSED" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Tagasi" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Uus Kampaania" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Alusta Ãœksillahingut" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Väljakutse" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Laadi Mäng" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "ÃœKSIK MÄNG" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Laadi Salvestatud Mäng" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MITMIKMÄNG" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Võõrusta Mängu" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Liitu Mängu" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "SEADED" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Mängu Seaded" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Graafika Seaded" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Video Seaded" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Audio Seaded" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Hiire Seaded" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Nuppude Vasted" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Video Taasesitus" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Täisaken" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Ekraani Värin" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Sees" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Väljas" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Udu" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Udu" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Sõjaudu" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Suptiitrid" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Varjud" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "GRAAFIKA SEADED" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Hääle Volüüm" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "FX Volüüm" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Muusika Volüüm" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "HELI SEADED" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Võtab efekti kui mäng uuesti käivitatakse" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Graafika Mode*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Akendatud" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resolution*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Tekstuuri suurus" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Vertical sync*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "VIDEO SEADED" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* May negatively affect performance" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Tagasipööre" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Püüniskursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Värvilised Kursorid*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Vahetatud Hiire Nupud" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Keera Vasakule" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "HIIRE SEADED" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Raskusaste" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Kerge" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normaalne" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Raske" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Kerimiskiirus" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Keel" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Ãœksuse Värv" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Keera Paremale" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "MÄNGU SEADED" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod:" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "KAART SALVESTATUD!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "MÄNG SALVESTATUD!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Failed to create building" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Mängija %u teeb sohki (debug menu) Talle uus ehitis: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Mängija %u teeb sohki (debug menu) talle uus tunnus: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Mängija %u teeb sohki(debug menu) talle uus droid: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Mängija %u teeb sohki(debug menu) talle uus droid: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Komandörid (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Intelligentsus Ekraan (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Tootmine (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Konstrueerimine (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Uurimine (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Ehitamine (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Laadi Mäng" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Laadi Mäng" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Salvesta Mäng" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Salvesta Mäng" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Tile" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Place tiles on map" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Ãœksus" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Paiguta kaartile üksus" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Ehitis" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Paiguta kaartile ehitis" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Saavutus" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Place Features on map" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Paus või Pausi mahavõtmine" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Align height of all map objects" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Alusta Baasideta" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Välju" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Välju Mängust" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Mitmik Mäng" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Progressi Riba" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Tsükkel tootmine" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Tehase Saatmis Koht" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Tsükkel tootmine" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab Scroll left" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab Scroll right" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Jätka Mängu" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "HOIATUS: sa oled võõrustaja. Kui sa lahkud, lõpeb mäng kõigi jaoks" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Salvesta Mäng" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Võõrustaja lahkus mängust!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Mäng ei saa ilma võõrustajata jätkuda." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> LOOBU <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13057,1668 +13057,1677 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Ehitamispunktid" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Konstrueerimis Ãœksus" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energia Kogunenud" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSED" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Uurimus Uuendus" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Projekti Eesmärgid" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Hetke Eesmärgid" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Uus Intelligentsus Raport." -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Lühike Ulatus" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Kauge Ulatus" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimaalne Ulatus" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Tagane Keskmise Kahjuga" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Tagane Raske Kahjuga" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Tee või Sure!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Vaba Tuli" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Vastu Tuli" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Hoidke Tuld" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrull" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Jälita" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Kaitse Positsiooni" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hoia Positsiooni" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Tagane Remontimisele" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Tagane HQ Juurde" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Mine Transporti" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Tagane Taaskäitluseks" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Taaskäitle" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Määra Tehase Tootmine" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Määra Küborgi Tehase Tootmine" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Määra Tuletoetus" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Määra VTOL Tehase Tootmine" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Ring" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Sorry, see sohk on mitmikmängust eemaltatud." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Hoiatus! See sohk on vigane. Me soovitame seda mitte kasutada." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Lase meil näha mida saa näed!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Suurepärane, relva & sensori kuvar on väljas!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Mängija %u) teeb sohki:%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Hard as nails!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Takings thing easy!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 big ones!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Power overwhelming" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Back to normality!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Getting tricky!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Twice as nice!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS display is enabled." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS display is disabled." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Player %u) kasutab pettust :Num Droids: %d Num Structures: %d Num Features: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Infinite power disabled" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Infinite power enabled" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "All items made available" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Fog on" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Fog off" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Warning! This cheat can cause dire problems later on! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Missiooni Lõpp" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "PETTUSED ON NÜÜD LUBATUD!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "PETTUSED ON NÜÜD KEELATUD!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Jumala mode sees" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Jumala mode väljas" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "View Aligned to North" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Püüniskursor %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Researched EVERYTHING for you!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Mängija %u) kasutab pettust :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Uuritud" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Näitab energjaribasid kui valitud" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Näitab alati üksuste energiaribasid" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Näitab alati üksuste ja ehitiste energiaribasid" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demo mode off - Returning to normal game mode" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Debug menüü on avatud" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Võimetu leidma Veoautosid!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, the weather outside is frightful... SNOW" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... RAIN" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Forecast : Clear skies for all areas... NO WEATHER" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Warning! This can have drastic consequences if used incorrectly in missions." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Kõik vaenlased pettusega hävitatud" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Hävitab valitud üksused ja ehitised" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Mängija HQ Keskel, Suund PÕHI" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Võimetu HQ leidma!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Formatsiooni kiiruse limiit eemaldati mängust vea tõttu" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Vertikaalse pöörlemise suund: Normaalne" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Vertikaalse pöörlemise suund: Flipped" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "Ekraani värin, kui miski sureb: Väljas" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "Ekraani värin, kui miski sureb: Sees" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Sorry, aga mängu kiirust ei saa mitmikmängus muuta." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Mängu Kiirus Taastatud" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Mängu Kiirus Suurendatud %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Mängu Kiirus Vähendatud %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar showing friend-foe colours" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar showing player colours" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar näitab ainult objekte" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar blending terrain and height" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar näitab terraini" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar näitab paljastatud terraini" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar näitab kõrgust" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "NUPPUDE VASTAD" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Naase Eelmisele Ekraanile" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Vali Algne" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Tootmine" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Uurimine" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Ehita" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Konstrueerimine" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Intelligentsus Ekraan" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Komandörid" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Vaheta Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Vaheta Konsooli Näitamist" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Vaheta Kahju Ribad Sisse/Välja" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Tee Screen Shot" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Toggle Formation Speed Limiting" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Näita Eelmise Sõnumi Asukohta" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Vaheta Konsooli Näitamist" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Määra Grupp 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Määra Grupp 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Määra Grupp 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Määra Grupp 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Määra Grupp 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Määra Grupp 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Määra Grupp 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Määra Grupp 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Määra Grupp 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Määra Grupp 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Vali Grupp 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Vali Grupp 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Vali Grupp 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Vali Grupp 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Vali Grupp 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Vali Grupp 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Vali Grupp 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Vali Grupp 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Vali Grupp 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Vali Grupp 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Vali Komandör 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Vali Komandör 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Vali Komandör 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Vali Komandör 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Vali Komandör 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Vali Komandör 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Vali Komandör 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Vali Komandör 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Vali Komandör 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Vali Komandör 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Mitmikmängu Seaded / Liitlus kõnelus" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Kiir Vaade Põhjapoole" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Toggle Tracking Camera" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Näita Mängusiseseid Seadeid" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zoomi Radar Välja" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zoomi Radar Sisse" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoomi Välja" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoomi Sisse" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Liigu Edasi" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Keera Vasakule" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Tühista Liikumine" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Keera Paremale" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Liigu Tagasi" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Käskude Menüü" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Vähenda Mängu Kiirust" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Suurenda Mängukiirust" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Taasta Mängukiirus" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Vaata Põhja" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Vaat Lõunasse" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Vaata Itta" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Vaata Läände" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Näita Järgmist Naftapuurtorni" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Näita järgmist Remondi Ãœksust" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Näita järgmist Veoautot" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Näita järgmist Sensorüksust" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Näita järgmist Komandöri" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Toggle Overlays" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konsool Sisse/Välja" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Kesk vaade Juhtimiskeskusele" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Näita määramata üksusi" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Vaba Tuli" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Naase Juhtimiskeskuse Juurde" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Saada Teksti Sõnum" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Sensori Ulatus" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Luba varjud" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Püüniskursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Vaheta Radar" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Vali Kõik Lahinguüksused" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Vali kõok raskesti kahjustatud üksused" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Vali kõik pool-roomikud" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Vali kõik hõljukid" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Vali kõik üksused Ekraanil" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Vali kõik Roomikud" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Vali KÕIK üksused" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Vali kõik VTOLid" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Vali kõik Rattad" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Vali kõik sarnased üksused" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Vali järgmine tehas" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Vali järgmine uurimiskeskus" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Vali järgmine energiageneraator" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Vali järgmine küborgi tehas" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Ei suutnud mängu salvestada" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Laadi Transport" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "EESMÄRK SAAVUTATUD sohki tehes" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "EESMÄRK SAAVUTATUD" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "EESMÄRK EBAÕNNESTUNUD--ja sa tegid sohki" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "EESMÄRK EBAÕNNESTUNUD" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Välju Peamenüüsse" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Jätka Mängu" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "MÄNG SALVESTATUD!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Sa leidsid naftatünnist %u energiat" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Annab Sulle Nägemis Raporti" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Annab sulle %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Proovisid ära anda mittetühja %s - see pole lubatud " -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Annab Sulle Tehnoloogia Dokumendid" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Annab Sulle %u Energiat" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Taotleb Sinuga Liitlust" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Saa Kutsusid %s Liitu Sõlmima" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Lõpetab Liitluse %s -ga" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Moodustab %s -ga Liitluse" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Sa Avastasid %s joonised" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Seaded Aksepteeritud" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Tühista" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP Address Või Masina Nimi" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONNECTION" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Pole ühtki mängu." -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Mäng on Täis" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Sind löödi välja" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Vale Mängu versioon" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Sul on vastuolus mod." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Võõrustaja ei suutnud faili saata?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Vale Salasõna" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Võõrustaja lõpetas ühenduse" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Ãœhendus Error" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Otsimine" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "MÄNGUD" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Värskenda Mängulisti" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Sisesta Salasõna:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Uus Küborg Kasutatv" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Sisesta Mängu Nimi" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Ãœhe Mängja Lahing" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Vali Kaart" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Vajuta, et Salasõna sisestada" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Mässajad" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Mässajateta" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Sisesta Mängija nimi" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Vahemaa Udu" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Liitlus" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Liitluseta" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Luba Liitlus" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Lukustatud Tiimid" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Madal Energia Level" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Keskmine Energia Level" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Kõrge Energia Level" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Baas" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Alusta Baasideta" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Alusta Baasidega" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Alusta Arenenud Baasidega" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Kaarti Esitus" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Vajuta, et Kaarti näha" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Alusta Mängu Võõrustamist" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Näita Ehitiste Limiite" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Sea Ehitiste Limiidid" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Mängija värv" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Löö mängija välja" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Kaitse Positsiooni" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Tiim" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Löö mängija välja" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Vajuta kui valmis" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "VALMIS?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "MÄNGIJAD" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Vajuta, et Salasõna sisestada" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Lukustatud Tiimid" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar showing player colours" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Kaitse Positsiooni" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "VESTLUS" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Kõigil mängijatel peab olema sama mod, et sinu mänguga liituda" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** salasõna on vajalik! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** salasõna pole vaja! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Kahju! Ebaõnnestusid mängu võõrustamisel." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Lukustatud Tiimid, mode lubatud" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Võõrustaja lõi %s mängust välja!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Võõrustaja Alustab Mängu" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Mängijad" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Kaarti Saatmine: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Kaart: %d%% allalaaditud" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "VÕÕRUSTJA" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Mängijad Ikka Liituvad" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s Lahkus mängust" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "%d -le Failide saatmine katkestatud." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "Mängijal %s (%u) on vale mod ja ta löödi mängust välja" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s Liitus Mänguga" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Süsteemi sõnum:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Kohandatakse Vaikimisi ja Naase Eelmisele Ekraanile" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Limiidide muutmine algväärtusteks" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Tehnoloogia level 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Tehnoloogia level 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Tehnoloogia level 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Mistahes arv mängijaid" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 mängijat" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 mängijat" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 mängijat" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 mängijat" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 mängijat" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 mängijat" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 mängijat" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Skoor" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Tapmisi" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Ãœksusi" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Ehitisi" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Vaheta Liitluse Seisundit" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Anna Nägemis Raport" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Lekkita Tehnoloogia Dokumente" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Anna Valitud Ãœksused Ãœle" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Anna Mängijale Energiat" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Mängija %s väljalöömine, sest ta proovis infokontrollist mõõda pääseda!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(Liitlased" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(eraviisiline" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[kehtetu]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Roheline" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranð" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Hall" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Must" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Punane" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Sinine" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Roosa" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Helesinine" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Uurimine Lõpetatud: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Uurimine Lõpetatud" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Uurimise Auhind" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Oma Ãœksused: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Vaenlase Ãœksused: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Oma Ehitised: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Vaenlase Ehitised: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Ãœksusi Toodetud: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Kokku Ãœksusi: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Ehitisi Ehitatud: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Kokku Ehitisi: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Uustulnuk: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Roheline: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Treenitud: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Regulaar: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professionaal: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Eliit: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Eriline: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Kangelane: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Ãœksuse Kaotused" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Ehitise Kaotused" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Vägede Informatsioon" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFAKT OMANDATUD: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Missiooni Aeg - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Totaalne Mänguaeg - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Sa Tegid Sohki!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "SA OLED VÕIDUKAS" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "SIND VÕIDETI!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Signaal saadud %s -lt!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Signaal %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u üksus valitud" msgstr[1] "%u üksust valitud" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Võimetu leidma remondiüksusi!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Võimetu leidma Veoautosid!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Võimetu leidma Sensorüksusi!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Võimetu leidma Komandöre!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Kontroll Limiit Saavutatud - Tootmine Peatatud" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Ãœksus määratud" msgstr[1] "%s - %u Ãœksused määratud" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Kahju %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u Ãœhendatud %u -st" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektrooniliselt Kahjustatud" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektrooniline Autasu - Nägemis Raport" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Tehase Auhind - Liikumissüsteem" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Tehase Autasu - Kere" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Tehase Autasu - Relv" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Tehase Autasu - Midagi" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Remontimiskeskuse Autasu - Remont" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Remontimiskeskuse Autasu - Midagi" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Saada Transport Teele" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Abiväed Maanduvad" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (Muudetud ja vahetatud kohalikult)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (muudetud kohalikult)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (vahetatud kohalikult)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Built %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versioon %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Tsükkel tootmine" + #~ msgid "Plascrete MK3" #~ msgstr "Raskebetoon MK3" diff --git a/po/fi.po b/po/fi.po index 7ba19d934..b1fb2fdc8 100644 --- a/po/fi.po +++ b/po/fi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-09 10:33+0000\n" "Last-Translator: Lartza \n" "Language-Team: Finnish \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -11996,1067 +11996,1067 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Sulje" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Pelaa kokoruudussa" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Lataa tallennettu peli" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Pelaa ikkunassa" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "LEVEYSxKORKEUS" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Pelaaja" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 #, fuzzy msgid "Kinetic Armour" msgstr "Kineettinen panssari" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 #, fuzzy msgid "Thermal Armour" msgstr "Lämpöpanssari" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Paino" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Vahinko" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "Pelaaja" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "Pelaaja" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Vahinko %d%% - Kokemus %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Vahinko %d%% - Kokemus %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "" -#: src/display.c:2036 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "" -#: src/droid.c:3305 +#: src/droid.cpp:3038 #, fuzzy msgid "Professional" msgstr "Ammattilainen" -#: src/droid.c:3306 +#: src/droid.cpp:3039 #, fuzzy msgid "Veteran" msgstr "Veteraani" -#: src/droid.c:3307 +#: src/droid.cpp:3040 #, fuzzy msgid "Elite" msgstr "Eliitti" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Sankari" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Yksinpelikampanja" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Moninpelikampanja" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Asetukset" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Poistu pelistä" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "PÄÄVALIKKO" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Palaa" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Uusi kampanja" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Lataa peli" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "YKSINPELI" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Lataa tallennettu peli" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MONINPELI" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Liity peliin" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "ASETUKSET" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Peliasetukset" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "" -#: src/frontend.c:426 +#: src/frontend.cpp:425 #, fuzzy msgid "Video Options" msgstr "Peliasetukset" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "" -#: src/frontend.c:428 +#: src/frontend.cpp:427 #, fuzzy msgid "Mouse Options" msgstr "Peliasetukset" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Kokoruutu" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Ruudn tärinä" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Päällä" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Pois päältä" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Sumu" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Tekstitykset" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Varjot" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "PELIASETUKSET" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "PELIASETUKSET" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Ikkunoitu" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resoluutio*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "PELIASETUKSET" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Peliasetukset" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "PELIASETUKSET" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Vaikeustaso" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Helppo" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Vaikea" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Vieritysnopeus" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Kieli" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "latina" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "PELIASETUKSET" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "Peli tallennettu" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "Peli tallennettu" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Komentajat (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Valmista (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Suunnittele (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Tutki (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Rakenna (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Lataa peli" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Lataa peli" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Tallenna peli" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Tallenna peli" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 #, fuzzy msgid "Unit" msgstr "Yksikkö" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 #, fuzzy msgid "Place Structures on map" msgstr "Vihollisrakennukset: %u" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Aloita ilman tukikohtaa" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Lopeta" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Poistu pelistä" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Moninpelikampanja" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Edistymispalkki" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Jatkuva tuotanto" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Jatkuva tuotanto" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Tallenna peli" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13064,1668 +13064,1675 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Edistymispalkki" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Palaa korjaukseen" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Palaa tukikohtaan" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Palaa kierrätykseen" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Kierrätä" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Tutki (F2)" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Rakenna" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Lähennä" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Loitonna" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "Lataa tallennettu peli" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Lastaa kuljetus" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Poistu päävalikkoon" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Jatka peliä" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "Peli tallennettu" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Hyväksy asetukset" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Syaani" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "YHTEYS" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Aula" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Etsitään" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Valitse kartta" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 #, fuzzy msgid "Select Player Name" msgstr "Valitse pelaajan nimi" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Liittoumat" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Ei liittoumia" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Salli liittoumat" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Tukikohta" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Aloita ilman tukikohtaa" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Omat rakennukset: %u" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Pelaaja" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "Moninpelikampanja" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Pelaaja" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "PELAAJAT" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +msgid "Click to change player colour" msgstr "" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Pelaaja" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Pelaajat" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "Pelaajat" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "Pelaajat" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "Pelaajat" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "Pelaajat" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Yksikkö" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Liittoumat" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Vihreä" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranssi" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Harmaa" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Musta" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Punainen" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Sininen" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Pinkki" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Syaani" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Omat yksiköt: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Vihollisyksiköt: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Omat rakennukset: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Vihollisrakennukset: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Vihreä" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "" msgstr[1] "" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Laukaise kuljetus" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Lisäjoukot laskeutuvat" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Jatkuva tuotanto" + #, fuzzy #~ msgid "Player number" #~ msgstr "Pelaaja" diff --git a/po/fr.po b/po/fr.po index 1e50ee74a..fa4b86582 100644 --- a/po/fr.po +++ b/po/fr.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-04-21 08:32-0500\n" "Last-Translator: Gilles J. Séguin \n" "Language-Team: French \n" @@ -5739,7 +5739,7 @@ msgid "New Design" msgstr "Nouveau Modèle" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transporteur" @@ -12107,1055 +12107,1055 @@ msgstr "Canon lourd Python aéro-glisseur" msgid "Plasmite Retribution VTOL" msgstr "Châssis Moyen - Châtiment" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Langage du système" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 #, fuzzy msgid "Enter password here" msgstr "Entrez le mot de passe " -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Impossible de résourdre le DNS du serveur maître (%s) !" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Impossible de communiquer avec le serveur maître ! Le port TCP %u est-il ouvert en sortie ?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Fermer" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Exécution en mode DEBUG" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Choisir le répertoire pour la configuration" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "dossier de configuration" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Choisir le répertoire pour les données" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "dossier de données" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Voir l'affichage debug au niveau sélectionné" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "niveau de débogage" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Stocker la sortie debug vers le fichier donné" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "fichier" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Nettoyer toutes les sorties du débogueur écrites dans stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Jouer en mode plein écran" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Charger un jeu spécifique" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "Nom du jeu" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Affiche ce message d'aide et quitte" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Active un mod global" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Active un mod pour campagnes" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Active un mod pour multijoueur" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Désactiver les assertions" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Génère un crash afin de tester le gestionnaire de crash" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Charger une Sauvegarde" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "sauvegarder" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Jouer en mode fenêtré" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Affiche le numéro de version et quitte" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Fixe la résolution à utiliser" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "HAUTEUR*LARGEUR" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Activer les Ombres" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Désactiver les Ombres" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Activer le son" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Désactiver le son" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Activé l'auto-diagnostique" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "se connecter directement à une/un IP/nom de domaine" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "hôte" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "aller directement à l'écran de l'hôte" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Joueur" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nouveau Véhicule" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Châssis" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Mode de Propulsion" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "véhicule à tourrelle" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Effacer ce Modèle" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Blindage Cinétique" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Blindage Thermique" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Puissance du Moteur" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Poids" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Énergie Requise à l'assemblage" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Résistance Totale" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Consomation d'Energie" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hydra " -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Portée des Senseurs" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Puissance des Senseurs" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Puissance ECM" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Points de construction" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Portée" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Dégâts" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Cadence de Tir" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Vitesse en Vol" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Vitesse sur route" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Vitesse Hors-Route" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Vitesse sur l'Eau" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Armes" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Systèmes" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Joueur à quitter" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Joueur échapper" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Attente des autres joueurs" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Construction Impossible. Le Gisement de Pétrole est en Feu." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Endommagé à %d%% - Expérience %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Allié - Endommagé à %d%% - Expérience %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Construction d'un Puits de Pétrole" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Construction d'un Puits de Pétrole" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Construction d'un Puits de Pétrole" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Unité Perdue !" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Structure Restaurée" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Groupe %u selectioné - %u Unité" msgstr[1] "Groupe %u selectioné - %u Unités" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unité assignée au groupe %u" msgstr[1] "%u unités assignées au groupe %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Caméra centrée sur le groupe %u - %u Unité" msgstr[1] "Caméra centrée sur le groupe %u - %u Unités" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Alignement avec le groupe %u - %u Unité" msgstr[1] "Alignement avec le groupe %u - %u Unités" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Débutant" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Deuxième Classe" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Aspirant" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Normal" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professionnel" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Vétéran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Élite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Spécial" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Héros" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Un Joueur" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Multi-joueurs" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutoriel" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Voir Intro" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Quitter la partie" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENU PRINCIPAL" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Partie Rapide" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIELS" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Menu précédent" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nouvelle Campagne" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Démarrer escarmouche" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Défis" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Charger une Partie" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "UN JOUEUR" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Charger une partie Enregistrée" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTI-JOUEURS" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Créer une Nouvelle Partie" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Joindre une Partie" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Options du Jeu" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Options Graphiques" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Options Vidéos" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Options Audio" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Options souris" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Raccourcis Clavier" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Affichage des Vidéos" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Plein Écran" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Tremblements de l'écran (explosion)" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Activé" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Désactivé" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Brouillard" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Brume" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Brouillard de guerre" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Sous-titres" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Ombres" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "OPTIONS GRAPHIQUES" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volume de la Voix" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volume des Bruits(FX)" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volume de la Musique" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "OPTIONS AUDIO" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Le jeu doit être redémarré pour que ces options s'appliquent" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Paramètres Visuels*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Fenêtré" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Résolution*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Taille des Textures" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Fréquence da rafraîchissement verticale*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "OPTIONS VIDÉOS" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Risque de diminuer les performances" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Rotation Inversée" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Piéger le Curseur" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Curseur Coloré*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Inverser les Boutons de la Souris" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Rotation vers la Gauche" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "OPTIONS SOURIS" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Difficulté" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Facile" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normale" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Difficile" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Vitesse de Défilement" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Langue" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Couleur des Unités" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Rotation vers la Droite" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPTIONS" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod: " -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "Carte SAUVEGARDÉE!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "PARTIE SAUVEGARDÉE!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Échec de la création du bâtiment" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Le joueur %u Triche (Il se sert du debug menu pour se construire un nouveau bâtiment: %s.)" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Le joueur %u Triche (Il se sert du debug menu pour s'obtenir une nouvelle technologie: %s.)" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Le joueur %u Triche (Il se sert du debug menu pour se faire une nouvelle unitée: %s.)" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Le joueur %u Triche (Il se sert du debug menu pour se faire une nouvelle unitée: %s.)" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Commandants (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Panneau d'Informations (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Assemblage (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Conception (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Recherche (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Construction (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Énergie" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Charger une Partie" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Charger une Partie" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Sauvegarder" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Sauvegarder" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Tuile" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Placer des tuiles sur la carte" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Unité" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Placer des Unités sur la carte" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Structure" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Placer des Bâtiments sur la carte" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Fonction" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Placer les éléments sur la carte" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Mettre en pause ou enlever la pause" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Align height of all map objects" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Commencer sans Base" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Quitter" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Quitter" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Multi-joueurs" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barre de Progression" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Production en boucle" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Point de Livraison" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Production en boucle" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Défilement à Gauche" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Défilement à droite" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Reprendre le Jeu" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "Avertissement: Vous êtes l'hôte. Si vous quitter, la partie finit pour tous!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Sauvegarder" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "L'hôte à quitté la partie !" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "La partie ne peux continuer sans l'hôte." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> QUITTER <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13166,1678 +13166,1687 @@ msgstr "" "\n" "Warzone va essayer de charger la partie sans lui." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Points de construction" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Unité de Construction" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Puissance Accrue" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSE" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Mise à jour des recherches" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Objectifs du Projet" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Objectif Actuel" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Nouveau rapport de transmission" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Courte portée" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Longue Portée" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Portée Optimale" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Fuir à Dégâts Moyens" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Fuir à Dégâts Élevés" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Jusqu'à la Mort!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Feu à Volonté" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Riposter" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ne pas Tirer" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrouiller" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Poursuivre l'ennemi" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Défendre sa position" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Rester en position" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Retour pour Réparation" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Retour au QG" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Aller au Transporteur" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Retour pour Recyclage" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Lancer le Recyclage" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Lui Assigner la production d'une Usine" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Lui Assigner la production d'une Usine de Cyborgs" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Lui Assigner un support de Feu" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Lui assigner la production d'une usine de VTOLs" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Cercle" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Désolé, ce code est désactivé durant les jeux multijoueurs." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Attention ! Ce code est buggé. Nous vous recommandons de ne PAS l'utiliser." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Voyons voir ce que tu vois !" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "C'est bon, je désactive l'affichage des senseurs !" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "Le joueur %u utilise un code de triche :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Mange-toi ça dans les dents !!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Prend ça cool !" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "Chaos" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Surcharge de Puissance" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "De Retour à la Normalité !" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Sois plus Audacieux !" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "À Deux, c'est Mieux !" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "L'affichage du nombre d'images par secondes est activé" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "L'affichage du nombre d'images par secondes est desactivé" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; Limite-FPSt: %d; PIEs %d; polys %d; Terr. polys %d; Etats %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(le joueur %u) utiloise une tricherie :Num Droids: %d Num Structures: %d Num Features: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Énergie Infinie Désactivée (c'est bien !)" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Énergie Infinie activée (Espèce de Tricheur !)" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Tout les éléments sont disponibles" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Brouillard activé" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Brouillard désactivé" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Avertissement! Cette tricherie peut causé dire problèmes plus tard! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Termine la mission" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "LES TRICHERIES SONT MAINTENANT ACTIVÉS !" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "LES TRICHERIES SONT DÉSACTIVÉS !" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Mode dieu-tout-puissant activé" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Mode dieu-tout-puissant désactivé !" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Caméra Réorientée vers le Nord" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Piéger le Curseur %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Chercheur Exténué : On a fait du mieux qu'on a pu et on croit qu'on a réussi !" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "Le joueur %u utilise un code de triche:%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Menu Recherche" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Afficher seulement l'énergie des unitées sélectionnées" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Toujours afficher l'énergie des unitées" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Toujours afficher l'énergie des unitées et bâtiments" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Mode Démonstration désactivé - Retour au Jeu Normal" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 #, fuzzy msgid "Debug menu is Open" msgstr "Le menu de débogage est Ouvert" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Impossible de localiser le moindre Véhicule de Construction !" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Brrr... Il fait si froid... IL NEIGE" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... IL PLEUT" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Prévisions Locales : Ciel dégagé dans toute la Région... AUCUNE MÉTÉO" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Attention ! Ceci peut avoir des conséquences désastreuses si il est mal utilisé dans les missions." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 #, fuzzy msgid "All enemies destroyed by cheating!" msgstr "L'ennemi a été détruit par un TRICHEUR !!!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Destroying selected droids and structures!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Vue Centrée sur le quartier général, direction NORD" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Impossible de localiser le Quartier Général !" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Formation speed limiting has been removed from the game due to bugs." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Vertical rotation direction: Normal" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Vertical rotation direction: Flipped" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "L'Écran brasse lorsque des choses meurts: Off" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "L'Écran brasse lorsque des choses meurts: On" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Désolé, ce code est désactivé durant les jeux multijoueurs." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Réinitialisation de la Vitesse du Jeu" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Vitesse de Jeu augmentée à %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Vitesse de Jeu réduite à %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar Bicolore Ami-Ennemi" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar montrant les couleurs des joueurs" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar ne montrant que les objets" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar mélangeant terrain et hauteur" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar montrant le terrain" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar montrant le terrain" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar montrant la hauteur" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "RACOURCIS CLAVIERS" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Revenir à l'écran précédent" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Par Défaut" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Menu Assemblage" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Menu Recherche" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Menu Constructions" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Menu Design" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Panneau d'Informations" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Commandants" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Affichage du Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Affichage de la Console" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Activer/Désactiver les Barres de Dommages" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Prendre un cliché de l'écran" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Activer/Désactiver la Limite de vitesse en Formation" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Voir la Provenance du Dernier Message Reçu" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Affichage de la Console" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Assigner au Groupe 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Assigner au Groupe 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Assigner au Groupe 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Assigner au Groupe 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Assigner au Groupe 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Assigner au Groupe 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Assigner au Groupe 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Assigner au Groupe 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Assigner au Groupe 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Assigner au Groupe 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Sélectioner le groupe 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Sélectioner le groupe 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Sélectioner le groupe 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Sélectioner le groupe 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Sélectioner le groupe 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Sélectioner le groupe 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Sélectioner le groupe 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Sélectioner le groupe 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Sélectioner le groupe 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Sélectioner le groupe 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Sélectionner le Commandant 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Sélectionner le Commandant 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Sélectionner le Commandant 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Sélectionner le Commandant 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Sélectionner le Commandant 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Sélectionner le Commandant 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Sélectionner le Commandant 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Sélectionner le Commandant 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Sélectionner le Commandant 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Sélectionner le Commandant 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Options Multijoueurs / dialogue des alliances" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Bloquer la vue vers le Nord" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Basculer la Caméra Traqueuse" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Afficher les Options de Jeu" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Dézoomer le Radar" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zoomer le Radar" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoomer" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Dézoomer" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Angle de la Caméra : Vue du Dessus" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Rotation vers la Gauche" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Réinitialiser l'angle de la Caméra" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Rotation vers la Droite" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Angle de la Caméra: Vue de Côté" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menu des Ordres" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Diminuer la vitesse du jeu" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Augmenter la vitesse du temps" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Réinitialiser la vitesse du jeu" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Vue vers le Nord" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Vue vers le Sud" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Vue vers l'Est" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Vue vers l'Ouest" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Voir le Puits de Pétrole suivant" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Voir l'Unité de Réparation Suivante" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Voir le Véhicule de Construction suivant" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Voir l'Unité Radar suivante" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Voir le Commandant Suivant" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Bascules des Overlays" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Console Activée/Désactivée" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centrer le Quartier Général" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Voir les Unités Non-Assignées" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Tirer à Vue" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Retour au QG" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Envoyer un Message Textuel" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Portée des Senseurs" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Activer les Ombres" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Piéger le Curseur" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Affichage du Radar" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Sélectionner toutes les Unités de Combat" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Sélectionner toutes les unités Sévèrement Endommagées" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Selectionner toutes les Autochenilles" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Selectionner tous les aéro-glisseur" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Sélectionner toutes les Unités à l'Écran" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Sélectionner touts les Véhicules à Chenilles" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Sélectionner TOUTES les Unités" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Sélectionner tous les VTOLs" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Sélectionner tous les Véhicules à Roues" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Sélectionner toutes les unitées similaires" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Sélectionner l'Usine suivante" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Sélectionner le Centre de recheche suivant" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Sélectionner le Générateur d'énergie suivant" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Sélectionner l'Usine à Cyborgs suivante" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Ne peut sauver une partie!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Charger le Transporteur" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "MISSION ACCOMPLIE en trichant" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "MISSION ACCOMPLIE" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "ÉCHEC DE LA MISSION--et vous avez triché" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "ÉCHEC DE LA MISSION" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Retour au Menu Principal" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continuer" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "PARTIE SAUVEGARDÉE!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, fuzzy, c-format msgid "You found %u power in an oil drum." msgstr "Vous avez trouvé %u unités d'énergie dans un baril de pétrole" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Vous Donne Un Rapport De Visibilité" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Vous donne un %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "A tenté de vous donner un %s - Mais cette action n'est pas autorisée." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Vous a donné de la documentation sur une technologie" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Vous donne %u d'énergie" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Cherche à s'allier avec vous" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Vous avez envoyez à %s une demande d'alliance" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Brise son alliance avec %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s S'allie avec %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Vous avez trouvé des plans pour %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accepter les Réglages" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Annuler" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Adresse IP ou Nom du Serveur" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONNEXION" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Antichambre" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Aucune partie disponible" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "La partie est pleine" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Vous avez été kické !" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Mauvaise version du Jeu !" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Vous avez un mod incompatible." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "L'hôte ne peut envoyer le fichier?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Mot de passe incorrect !" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "L'hôte a fermé la connexion!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Erreur de connexios" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Recherche" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "PARTIES" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Rafraîchir la Liste des Parties" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Entrez le mot de passe:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Nouveau Cyborg Disponible" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Nom de la partie" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "Escarmouche" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Carte à utiliser" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Cliquer pour choisir un mot de passe" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 #, fuzzy msgid "Scavengers" msgstr "Pillard" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Aucun Pillard" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Choisir Nom du Joueur" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Brouillard de distance" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Pas d'Alliances" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Autoriser les Alliances" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Verrouiller les Équipes" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Niveau d'énergie Faible" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Niveau d'énergie Moyen" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Niveau d'énergie Élevé" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Commencer sans Base" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Commencer avec une base" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Commencer avec une Base Avancée" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Prévisualisation de la carte" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Cliquer pour voir la carte" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Démarrer le Serveur" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Fixer des limites de Construction" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Fixer des limites de Construction" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Couleur du Joueur" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "chasser le joueur" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Défendre sa position" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Équipe" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "chasser le joueur" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Cliquer une fois prêt" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "PRÊT?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "JOUEURS" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Cliquer pour choisir un mot de passe" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Verrouiller les Équipes" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar montrant les couleurs des joueurs" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Défendre sa position" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "Clavardage" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Tout les joueurs doivent avoir les mêmes mods pour jouer une partie." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** un mot de passe est désormais requis ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** mot de passe non requis ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Désolé ! Impossible d'héberger la partie." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Verrouiller les équipes" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "L'hôte a banni %s de la partie" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "L'hôte démarre la partie" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Joueurs" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Carte envoyé: %d%% " -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Carte: %d%% téléchargé" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "HOTE" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Les joueurs sont en cours de connexion" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s a Quitté la Partie" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Le transfer du fichier a été suspendu pour %d." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) a un mod incompatible, et a été éjecté." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s vient de Rejoindre la Partie" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Message du système:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Appliquer les défaults et Revenir à l'écran précédent" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Les limites ont été rinitialisées aux valeurs par défault" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Niveau technologique 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Niveau technologique 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Niveau technologique 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Tout nombre de joueurs" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 joueurs" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 joueurs" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 joueurs" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 joueurs" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 joueurs" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 joueurs" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 joueurs" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Pointage" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Tués" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Unités" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Structure" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Activer/Désactiver l'état des Alliances" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Envoyer un Rapport de Visibilité" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Transmettre des technologies" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Céder les Unités Sélectionnées" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Donner de l'énergie au Joueur" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Le joueur %s à été kické car il a essayé de contourner le contrôle d'intégrité des données !" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "( Alliés" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(privé à " -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[invalide]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Vert" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Orange" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Gris" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Noir" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rouge" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Bleu" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Rose" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cyan" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Recherche terminée : %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Recherche Terminée" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Bourse de recherche" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Vos Unités : %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Unités Énnemies : %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Vos Bâtiments : %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Bâtiments Ennemis : %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Unités produites : %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Unités Totales : %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Structures Érigées : %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Structures Totales : %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Bleus : %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Deuxième Classe : %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Première Classe : %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Expérimentés : %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professionnels : %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Vétérans : %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Unités d'Élite : %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Unités Spéciales : %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Héros : %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Unités Perdues :" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Bâtiments Perdus :" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Relevé d'Effectifs :" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFACTS RÉCUPÉRÉS : %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Durée de la Mission - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Temps de Jeu Total - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Vous avez triché !" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "VOUS ÊTES VICTORIEUX !" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "VOUS AVEZ PERDU !" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Signal émis par %s !" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Signal %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u unité sélectionnée" msgstr[1] "%u unités sélectionnées" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Impossible de localiser la moindre unité de réparation !" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Impossible de localiser le moindre Véhicule de Construction !" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Impossible de localiser la moindre unité radar !" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Impossible de localiser le moindre Commandant !" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limite du Control Atteinte - Arrêt de la Production" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unité assignée" msgstr[1] "%s - %u Unités assignées" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Endommagé à %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u connexions établies sur %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Électroniquement endommagé" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Récompense électronique - Rapport de visibilité" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Récompense d'usine - Propulsion" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Récompense d'usine - Corps" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Récompense d'usine - Armes" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Récompense d'usine - Rien" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Récompense Atelier de réparation - Réparation" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Récompense Atelier de réparation - Rien" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Envoyer le Transporteur" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Les renforts sont arrivés !" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modifié et changé localement)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modifié localement)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (changé localement)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBOGUER" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Compilation %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Version %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Production en boucle" + #~ msgid "Plascrete MK3" #~ msgstr "Béton Plastifié Mk3" diff --git a/po/fy.po b/po/fy.po index 835d2fa4d..0f7d2e009 100644 --- a/po/fy.po +++ b/po/fy.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-04-21 08:59+0000\n" "Last-Translator: Wander Nauta \n" "Language-Team: Frisian \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -11992,1060 +11992,1060 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Systeemlocale" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Slúte" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Spiler" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "Spiler" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "Spiler" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Kin net bouwe. Oaljebron is oan it brânen." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Skea %d%% - Erfaring %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Skea %d%% - Erfaring %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Frachtauto kommandeare omt in Oaljepunt te bouwen" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Frachtauto kommandeare omt in Oaljepunt te bouwen" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Frachtauto kommandeare omt in Oaljepunt te bouwen" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Ienheid Ferlen!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Struktuur Hersteld" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Groep %u selekteard - %u Ienheid" msgstr[1] "Groep %u selekteard - %u Ienheden" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u ienheid tafoege oan Groep %u" msgstr[1] "%u ienheden tafoege oan Groep %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Sentreard op Groep %u - %u Ienheid" msgstr[1] "Sentreard op Groep %u - %u Ienheden" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Kabouter" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Begjinner" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Traint" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Normaal" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professioneel" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Feteraan" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Spesjaal" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Held" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Spilernamme Selekteare" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Spiler" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "" -#: src/frontend.c:214 +#: src/frontend.cpp:213 #, fuzzy msgid "Start Skirmish Game" msgstr "Tsjinnen Spul Starte" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Opslein Spul Lade" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "YNSTELLINGS" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Dize" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Kriigsdize" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "YNSTELLINGS" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "YNSTELLINGS" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "YNSTELLINGS" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "YNSTELLINGS" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Latyn" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "SPUL OPSLEIN!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "SPUL OPSLEIN!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Spiler %u is oan it fals spyljen (debugmenu)! Him of sij krijt in nij gebou: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Spiler %u is oan it fals spyljen (debugmenu)! Him of sij krijt in nije funskje: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Spiler %u is oan it fals spyljen (debugmenu)! Him of sij krijt in nije robot: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Spiler %u is oan it fals spyljen (debugmenu)! Him of sij krijt in nije robot: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Kommandanten (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Intelligensjeskerm (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Meitsje (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Ontwerpe (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Ûndersyk (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Bouwe (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Krêft" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Spul Opslaan" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Spul Opslaan" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Ienheid" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Strukt" -#: src/hci.c:4005 +#: src/hci.cpp:3616 #, fuzzy msgid "Place Structures on map" msgstr "Struktuurlimyten ynstelle" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Funk" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "De tsjinner hat it spul ferlitten!" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Begjinne mei gjin basis" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Ofslute" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Spul ferlitte" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Spiler" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Foartgongsbalke" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Sirkelproduksje" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Fabrykôfleverpunt" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Sirkelproduksje" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab links" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab rjochts" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Spul Opslaan" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "De tsjinner hat it spul ferlitten!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13053,1679 +13053,1687 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Foartgongsbalke" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Krêft tanommen" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUZEARD" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Sorry, do kinst net fals spylje yn multiplayerspullen." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Lit ús sjen wat do sjochst!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Sa hurd as nagels!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Makkelijk te dwaan!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 grutten!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Krêftig as wat" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Werom nei normaal!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "It is mei sizzen net te dwaan!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Twa kear sa moai!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS-werjoust is ynskakele." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS-werjoust is útskakele." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Ûneindige krêft utskakele" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Ûneindige krêft ynskakele" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Alle items binne beskikber makke" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Dize oan" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Dize út" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Werjoust nei it noarden" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "ALLES is ûndersocht!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Ûndersykspriis" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demo mode út - Werom nei normale spulmodus" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 #, fuzzy msgid "Debug menu is Open" msgstr "Boumenu sil opnij iepenje" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Koe gjin Trucks fine!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, the weather outside is frightful... SNIE" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Rein is wiet. REIN" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Heldere loften en gjin wolken... GJIN WAAR!" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 #, fuzzy msgid "All enemies destroyed by cheating!" msgstr "Fijân ferslein mei fals spyljen!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Sentreard op spiler-HK, richting NOARDEN" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Spiler-HK net te finen!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Sorry, do kinst net fals spylje yn multiplayerspullen." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Spulsnelheid opnij ynsteld" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Spulsnelheid ferheege nei %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Spulsnelheid ferleege nei %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar lit freon-fijânkleuren sjen" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar lit spilerkleuren sjen" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar lit allinnich objekten sjen" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar lit terrein en hichte sjen" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar lit terrein sjen" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar lit terrein sjen" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar lit hichte sjen" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "KEY MAPPING" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Werom Nei Foarige Skerm" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Standert selekteare" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Transport lade" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "DOEL HELLE" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "DOEL HELLE" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "DOEL MISLUKT" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "DOEL MISLUKT" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Ferlitte Nei Haadmenu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Fjirder Mei Spul" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "SPUL OPSLEIN!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Jout dij in %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, fuzzy, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Prebeare om in %s fuort te jaan - maar dat is net legaal." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Jouwt Dij Teknologyske Dokuminten" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s Jouwt Dij Stroom" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Freget In Freonskip Mei Dij Oan" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Do Freegest %s Om In Freonskip Te Foarmjen" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Brekt De Freonskip Mei %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Foarmet In Freonskip Mei %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Do Fynst Blaudrukken Foar %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Ynstellings akspeteare" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Lochtblau" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP-adres as Machinenamme" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "FERBINING" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "Alle items binne beskikber makke" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Siekjen" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "SPULLEN" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Spullist fernije" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Spulnamme Selekteare" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Omjouwing Selekteare" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Spilernamme Selekteare" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Ôfstansdize" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Freonskippen" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Gjin Freonskippen" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Freonskippen Tastean" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Teams fêststelle" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Lege krêftniveaus" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Normale krêftniveaus" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Hege krêftniveaus" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Basis" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Begjinne mei gjin basis" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Begjinne mei basis" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Begjinne mei avanseare basis" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Tsjinnen Spul Starte" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Struktuurlimyten ynstelle" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Struktuurlimyten ynstelle" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Spiler" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "Spiler" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Spiler" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "SPILERS" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Teams fêststelle" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar lit spilerkleuren sjen" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Spiler" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "Teams fêststelle" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "De tsjinner hat %s fan it spul skopt!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Tsjinner is spul oan it starten" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Spilers" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "Systeemlocale" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Werom Nei Foarige Skerm" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "Spilers" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "Spilers" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "Spilers" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "Spilers" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Ienheid" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "Strukt" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Freonskippen" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Grien" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranje" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Griis" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Swart" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Read" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Blau" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Roze" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Lochtblau" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Ûndersyk foltooid: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Ûndersyk foltooid" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Ûndersykspriis" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Eigen ienheden: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Fijândelijke ienheden: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Eigen gebouwen: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Fijândelijke gebouwen: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Ienheden makke: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Totaal oantal ienheden: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Gebouwen makke: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Totaal gebouwen: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Kabouter: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Begjinner: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Traint: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Normaal: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professioneel: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Feteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Spesjaal: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u ienheid selekteard" msgstr[1] "%u ienheden selekteard" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Koe gjin reparaasjeienheden fine!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Koe gjin Trucks fine!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Koe gjin Sensorienheden fine!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Koe gjin Kommandanten fine!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Kommandolimyt helle - Produksje stopt" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Ienheid tawezen" msgstr[1] "%s - %u Ienheden tawezen" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Skea %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u fan %u ferbûn" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronysk skea tabrocht" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektronyske priis - Sichtberhydsrapport" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Fabrykspriis - Oandriuwing" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Fabrykspriis - Lichem" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Fabrykspriis - Wapen" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Fabrykspriis - Niks" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Reparaasjefasiliteit Priis - Reparaasje" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Reparaasjefasiliteit Priis - Niks" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Transport starte" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Fersterking oan it landen" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Sirkelproduksje" + #, fuzzy #~ msgid "Player number" #~ msgstr "Spiler" diff --git a/po/ga.po b/po/ga.po index f3f444eff..ffbeebb3f 100644 --- a/po/ga.po +++ b/po/ga.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-08 17:14+0000\n" "Last-Translator: Seanan \n" "Language-Team: Irish \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -11990,1053 +11990,1054 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Dún" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Imreoir" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "Imreoir" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "Imreoir" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Dochar %d%% - Taithí %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Dochar %d%% - Taithí %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "" -#: src/display.c:2036 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Chaill an t-Aonad!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Glasearcach" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Glasearcach" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Oilte" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Gnáth" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Gairmiúil" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Seansaighdiúir" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Tofa" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Sain" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Laoch" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Roghnaigh Ainm Imreora" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Imreoir" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "" -#: src/frontend.c:214 +#: src/frontend.cpp:213 #, fuzzy msgid "Start Skirmish Game" msgstr "Tosaigh le Bunáiteanna" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "ROGHANNA" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Ceo" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "ROGHANNA" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "ROGHANNA" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "ROGHANNA" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "ROGHANNA" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Laidin" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Ceannasaithe (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Dearadh (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Taighde (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Tógáil (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Cumhacht" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Aonad" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Éacht" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "D'fhág an tíosach an cluiche!" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Tosaigh Gan Bunáiteanna" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Scoir" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Scoir ón Cluiche" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Imreoir" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barra Dul Chun Cinn" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "D'fhág an tíosach an cluiche!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13044,1662 +13045,1665 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Barra Dul Chun Cinn" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "MOILLITHE" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 cinn móra!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Tá sé ag éirí deacair!!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Gan ceo" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Ceo ann" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Taighde (F2)" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Ní féidir an suíochán a aimsiú!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Ní féidir an suíochán a aimsiú!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Fill Chuig An Scáileán Roimhe" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Fill Chuig An Príomh Roghchlár" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Lean Leis an Cluiche" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "Tugan %s Cumhacht Duit" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Glac Leis Na Socruithe" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Cian" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "NASC" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Brústocaireacht" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "à Chuardach" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "CLUICHÃ" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Roghnaigh Ainm don Cluiche" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Roghnaigh Léarscáil" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Roghnaigh Ainm Imreora" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Comhbhánna" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Gan Comhbhánna" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Ceadaigh Comhbhánna" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Bunáit" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Tosaigh Gan Bunáiteanna" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Tosaigh le Bunáiteanna" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Imreoir" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "Imreoir" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Imreoir" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "IMREOIRÃ" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +msgid "Click to change player colour" msgstr "" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Imreoir" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "DÉAN COMHRÃ" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Imreoirí" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Fill Chuig An Scáileán Roimhe" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "Imreoirí" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "Imreoirí" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "Imreoirí" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "Imreoirí" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Aonad" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Comhbhánna" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Uaine" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Flannbhuí" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Liath" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Dubh" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Dearg" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Gorm" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Bándearg" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cian" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Uaine" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "" msgstr[1] "" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" diff --git a/po/hr.po b/po/hr.po index 88e0896f6..6603497c7 100644 --- a/po/hr.po +++ b/po/hr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: WZ2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: \n" "Last-Translator: metalwarrior95 \n" "Language-Team: \n" @@ -5722,7 +5722,7 @@ msgid "New Design" msgstr "Novi dizajn" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transport" @@ -12017,1050 +12017,1050 @@ msgstr "AI unit" msgid "Plasmite Retribution VTOL" msgstr "AI unit" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Lokalni" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "UpiÅ¡ite siÅ¡fru ovdje" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Zatvori" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Pokreni u modu varanja" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "Dosije" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Igraj u punom ekranu" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "UÄitaj specifiÄnu igru" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "ime-igre" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Ukljući samo kampanjski modul" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Ukljući samo viÅ¡eigraća modul" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "UÄitaj saÄuvanu igru" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "saÄuvaj igru" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Igraju u Prozorskom modu" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Pokaži verziju i izaÄ‘i" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Postavite rezoluciju za koriÅ¡tenje" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "Å IRINAxVISINA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Ukljući sjene" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Iskljući sjene" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Ukljući zvuk" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Iskljući zvuk" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "host" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "IgraÄ" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Novo Vozilo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Tijelo Vozila" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Pogon Vozila" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Kupola Vozila" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "IzbriÅ¡i dizajn" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "KinetiÄki Oklop" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Toplinski Oklop" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Snaga motora" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Težina" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Potpuna Potreba Energije" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Potpuni Bodovi Tijela" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "PotroÅ¡nja Energije" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hidra " -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Senzorov Doseg" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Senzor Snaga" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM Snaga" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Bodovi za Gradnju" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Doseg" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Å tete" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Stopa Pucanja" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Brzina na Zraku" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Brzina na Cesti" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Brzina izvan Ceste" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Brzina na Vodi" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Oružja" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemi" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "IgraÄ otiÅ¡ao" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "IgraÄ Pao" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "ÄŒekanje na ostale igraÄe" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "NedopuÅ¡teno GraÄ‘enje. Izvor Nafte Gori!" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Kamionu nareÄ‘eno da sagradi pumpu za naftu" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Kamionu nareÄ‘eno da sagradi pumpu za naftu" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Kamionu nareÄ‘eno da sagradi pumpu za naftu" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Jedinica Izgubljena!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "GraÄ‘evina Restaurirana" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Novak" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Treniran" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Normalan" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesionalac" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elita" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Specijal" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Junak" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Jedan IgraÄ" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "ViÅ¡e IgraÄa" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Vježbe" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Opcije" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Prikaži Uvod" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Izaći iz Igre" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "GLAVNI MENI" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Brzo Igranje" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "Vježbe" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Natrag" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nova Kampanja" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "PoÄeti Trening Igru" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Izazovi" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "UÄitaj Igru" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "JEDAN IGRAÄŒ" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "UÄitaj SaÄuvanu Igru" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "VIÅ E IGRAÄŒA" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Napravi Igru" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Pridruži se Igri" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "POSTAVKE" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Opcije Igre" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "GrafiÄke opcije" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Video opcije" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Audio opcije" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Opcije miÅ¡a" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Video reprodukcija" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Puni Ekran" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Drmati Zaslon" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "UkljuÄeno" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "IskljuÄeno" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Magla" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Misterija" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Magla Rata" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Titlovi" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Sjene" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "OPCIJE SLIKE" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Glasovna jaÄina" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "FX jaÄina" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "JaÄina glazbe" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "OPCIJE ZVUKA" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Radi tek nakon ponovnog pokretanja igre" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "GrafiÄki naÄin" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "U prozoru" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Rezolucija*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "VeliÄina tekstura*" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Verikarno osvježivanje*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "OPCIJE VIDEA" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Može negativno utjecati na performanse" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Obrni rotaciju" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Zarobi Kursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Obojeni Kursori*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Zamjeni Tipke MiÅ¡a" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Zakreni u lijevo" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "OPCIJE MIÅ A" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Težina" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Lagano" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Srednje" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "TeÅ¡ko" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Brzina " -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Jezik" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Boja" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Zakreni u desno" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPCIJE IGRE" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Modifikacija:" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "KARTA SPREMLJENA!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "Igra spremljena:" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Nije moguće napraviti graÄ‘evinu" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "IgraÄ %u vara, postavio si je : %s" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "IgraÄ %u vara, postavio si je : %s" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "IgraÄ %u vara, postavio si je : %s" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "IgraÄ %u vara, postavio si je : %s" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Kapetani (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "VijeÄanje (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Proizvedi (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Dizajniraj (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Istražuj (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Gradi (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Resursi" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "UÄitaj Igru" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "UÄitaj Igru" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Spermi igru" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Spermi igru" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Kvadratić" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Postavi teksture na kartu" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Jedinica" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Postavi jedinice na kartu" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "GraÄ‘evina" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Postavi graÄ‘evine na kartu" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Pogodnosti" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Postavi pogodnost na kartu" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Pauziraj igru" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Podesi visinu svih objekata na karti" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "ZapoÄni bez baza" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "IzaÄ‘i" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "IzaÄ‘i iz igre" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "ViÅ¡e IgraÄa" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Procesna trakica" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Ponovi proizvodnju" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Dostavna toÄka Tvornice" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Ponovi proizvodnju" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tablica zakreni lijevo" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tablica zakreni desno" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Nastavi igru" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "UPOZORENJE: Ti si host. Ako izaÄ‘eÅ¡, igra zavrÅ¡ava za sve!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Spermi igru" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Host je prekinuo igru!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Igra se ne može nastaviti ako nema hosta." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "---> IZLAZ <---" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13068,1667 +13068,1676 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Bodovi za Gradnju" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Proces gradnje" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Dobiveni resursi" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUZIRANO" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Nadogradnja istraživanja" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Ciljevi PROJEKTA" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Trenutni zadatak" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Novo izvjeÅ¡Äe" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Kratka udaljenost" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Duga udaljenost" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Srednja udaljenost" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "PovlaÄenje kod srednje Å¡tete" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "PovlaÄenje kod visoke Å¡tete" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Napravi ili crkni!!!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Slobodno pucaj!" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "UzvraÄaj paljbu" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ne pucaj" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patroliraj" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Sljedi neprijatelja" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Obrambeni položaj" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Ne miÄi se" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Vrati se u Servis" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Vrati se do SjediÅ¡ta" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "OtiÄ‘i u Transporter" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Recikliraj" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Recikliraj" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Dodijeli proizvodnju Tvornice" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Dodijeli proizvodnju Robotske Tvornice" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Dodijeli artiljerijsku podrÅ¡ku" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Dodijeli proizvodnju Avionske Tvornice" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Kruži" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Ta opcija je onemoguÄena u Online igrama." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "ImaÅ¡ vremeplov i zaustavio si vrijeme... no vremeplov baÅ¡ i nije stabilan..." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Daj nam da vidimo Å¡to ti vidiÅ¡." -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Dobro, dometi se viÅ¡e neće prikazivati..." -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(IgraÄ %u) vara(!!!):%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "TvrÄ‘i od noktiju!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Olako shvaÄaÅ¡ stvari..." -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 resursa primljeno od Boga." -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "PreviÅ¡e resursa... No njih nikad dosta..." -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Nazad na standarde!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Postaje zamrÅ¡eno..." -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Duplo bolje!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS vrijednost se prikazuje" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS vrijednost se ne prikazuje" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(IgraÄ %u) vara: Jedinica:%d GraÄ‘evina:%d Objekata:%d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "NeograniÄeni resursi iskljuÄeni" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "NeograniÄeni resursi ukljuÄeni" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Sada je sve (baÅ¡ SVE) dostupno" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Magla ukljuÄena" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Magla iskljuÄena" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Upozorenje! Ova Å¡ifra može kasnije uzrokovati probleme! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "ZavrÅ¡etak misije..." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "VARANJE JE MOGUÄŒE" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "VARANJE NIJE MOGUÄŒE" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Božji naÄin ukjuÄen" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Božji naÄin iskljuÄen" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Pogled na sjever" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Zarobi pokazivaÄ %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "SVE je istraženo!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "IgraÄ %u vara! : %s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Istraženo" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Prikazuj zdravlje objekata samo kada su odabrani" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Uvijek prikazuj zdravlje jedinica" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Uvijek prikazuj zdravlje objekata" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Nazad u normalan naÄin igre" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Meni za varanje je otvoren." -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "NemaÅ¡ ni jedan kamion." -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Snijeg" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "KiÅ¡a" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Vedro" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Ovo može biti gadno ako se ne koristi dobro..." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Svi neprijatelji uniÅ¡teni!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "UniÅ¡tavanje odabranih objekata." -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Na igraÄevu sjediÅ¡u" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Nema sjediÅ¡ta!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Limitiranje brzine u grupi je izbaÄeno iz igre zbog greÅ¡aka." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Smjer vertikalne rotacije: normalno" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Smjer vertikalne rotacije: obrnuto" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "Potres kada se objekti uniÅ¡te: NE" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "Potres kada se objekti uniÅ¡te: DA" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Brzina igre ne može biti promjenjena u internetskoj igri." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Brzina igre resetirana" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Brzin poveÄana na %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Brzina smanjena na %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Karta prikazuje savezniÄke boje" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Karta prikazuje boje igraÄa" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Karta prikazuje samo objekte" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Karta prikazuje visine i teren" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Karta prikazuje teren" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Karta prikazuje otkrivena podruÄja" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Karta prikazuje visine" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "TipkovniÄke kratice" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Nazad" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Postavi zadano" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Proizvodnja" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Istraživanje" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Gradnja" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Dizajn" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "IzvjeÅ¡taji" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Kapetani" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Karta" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Konzola" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Prikaz zdravlja" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Uslikaj" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "IskljuÄi limitiranje brzine u grupi" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Pokaži izvor proÅ¡le poruke" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Konzola" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Dodijeli grupi 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Dodijeli grupi 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Dodijeli grupi 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Dodijeli grupi 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Dodijeli grupi 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Dodijeli grupi 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Dodijeli grupi 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Dodijeli grupi 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Dodijeli grupi 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Dodijeli grupi 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Odaberi grupu 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Odaberi grupu 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Odaberi grupu 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Odaberi grupu 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Odaberi grupu 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Odaberi grupu 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Odaberi grupu 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Odaberi grupu 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Odaberi grupu 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Odaberi grupu 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Odaberi kapetana 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Odaberi kapetana 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Odaberi kapetana 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Odaberi kapetana 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Odaberi kapetana 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Odaberi kapetana 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Odaberi kapetana 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Odaberi kapetana 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Odaberi kapetana 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Odaberi kapetana 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Opcije saveza" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Brzi pogled na sjever" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "PraÄenje" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Pokaži opcije" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Odzumiraj kartu" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zumiraj kartu" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zumiraj" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Odzumiraj" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Nagni naprijed" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Zakreni u lijevo" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Resetiraj nagib" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Zakreni u desno" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Nagini unazad" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Meni s naredbama" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Smanji brzinu igre" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "PoveÄaj brzinu igre" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Resetiraj brzinu igre" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Gledaj prema sjeveru" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Gledaj prema jugu" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Gledaj prema istoku" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Gledaj prema zapadu" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Pokaži sljedeÄe vadiliÅ¡te resursa" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Pokaži sljedeÄi mobilni servis" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Pokaži sljedeÄi kamion" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Pokaži sljedeÄi mobilni radar" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Pokaži sljedeÄeg kapetana" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Namjesti slojeve" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konzola" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Prikaži sjediÅ¡te" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Prikaži nedodjeljene jedinice " -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Pucaj po volji" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Vrati se do sjediÅ¡ta" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "PoÅ¡alji poruku" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Senzorov Doseg" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Ukljući sjene" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Zarobi Kursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Karta" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Odaberi sve borbene jedinice" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Odaberi sve teÅ¡ko oÅ¡teÄene jedinice" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Odaberi sve Polu-GusjeniÄare" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Odaberi sve Lebdeće" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Odaberi sve jedinice na ekranu" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Odaberi sve GusjeniÄare" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Odaberi sve jedinice" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Odaberi sve Avione" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Odaberi sve KotaÄe" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Odaberi sve sliÄne jedinice" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Odaberi sljedeću Tvornicu" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Odaberi sljedeći IstražicaÄki centar" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Odaberi sljedeći Generator" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Odaberi sljedeću Robotsku Tvornicu" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Igra se ne može spremiti" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Ukrcaj na transport" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "POBJEDIO SI!!! - jer si koristio sifre." -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "POBJEDIO SI!!!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "Koristio si Å¡ifre - ali si ipak IZGUBIO!!!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "IZGUBIO SI!!!" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "IzaÄ‘i na glavni meni" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Nastavi igru" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "Igra spremljena:" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "NaÅ¡ao si %u resursa u baÄvi." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s ti daje radarsko izvjeÅ¡Äe" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s ti daje %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "PokuÅ¡avaÅ¡ dati puni %s - no to nije dozvoljeno." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s ti daje tehnoloÅ¡ke informacije" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s ti daje %u resursa" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s te poziva u savez" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "PozivaÅ¡ %s u savez" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s poniÅ¡tava savez s %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s sklapa savez s %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "NaÅ¡ao si nacrte za %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Prihvati postavke" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "PoniÅ¡ti" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "VEZA" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Predvorje" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Nema dostupnih igara." -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Igra je popunjena!" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "IzbaÄen si!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Kriva verzija igre!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "ImaÅ¡ nedozvoljeni mod." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Host ne može poslati datoteku." -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "NetoÄna lozinka." -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Host je prekinuo igru." -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "GreÅ¡ka u povezivanju" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Traženje" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "Igre" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Osvježi popis igara" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Unesi lozinku:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Novi Kiborgi su dostupni" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Odaberi naziv igre" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "OkrÅ¡aj za 1 igraÄa" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Odaberi kartu" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Odaberi lozinku" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Sa stanovnicima" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Bez stanovnika" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Odaberi ime igraÄa" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Magla udaljenosti" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Savezi" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Opći rat" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Slobodno" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Timovi" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Niska razina resursa" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Srednja razina resursa" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Visoka razina resursa" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Baza" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "ZapoÄni bez baza" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "ZapoÄni sa bazama" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "ZapoÄni sa naprednim bazama" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Predprikaz karte" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Klikni za predprikaz karte" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "ZapoÄni hostanje igre" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Pokaži limite" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Postavi limite" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Boja igraÄa" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Izbaci igraÄa" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Obrambeni položaj" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Savez" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Izbaci igraÄa" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "OznaÄi kada si spreman" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "SPREMAN?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "IgraÄi" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Odaberi lozinku" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Timovi" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Karta prikazuje boje igraÄa" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Obrambeni položaj" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "ÄŒavrljanje" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Svi igraÄi moraju imati iste modove." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "Lozinka je potrebna." -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "Lozinka nije potrebna." -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Ne možeÅ¡ hostati igru." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Model saveza: Timovi" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Host je izbacio %s iz igre." -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Host zapoÄinje igru" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "IgraÄi" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Slanje karte: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Karta: %d%% downloadana" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "HOST" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "IgraÄi se joÅ¡ pridružuju" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s je izaÅ¡ao iz igre" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Slanje podaaka je zaustavljeno za %d." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) ima nedopuÅ¡ten mod i izbaÄen je." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s se pridužio igri." -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Poruka servera:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Postavi zadane postavke" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Limiti resetirani na zadane postavke" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "TehnoloÅ¡ki razvoj razina 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "TehnoloÅ¡ki razvoj razina 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "TehnoloÅ¡ki razvoj razina 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Bilo koji broj igraÄa" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 igraÄa" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 igraÄa" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 igraÄa" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 igraÄa" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 igraÄa" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 igraÄa" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 igraÄa" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Bodovi" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "UniÅ¡tenja" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Jedinica" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Strukture" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Promjeni stanje(prijatelj/neprijatelj)" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Å alji radarski izvjeÅ¡taj" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Å alji tehnoloÅ¡ke podatke" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Predaj jedinice" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "PoÅ¡alji resurse igraÄu" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Izbacivanje igraÄa %s jer se podaci ne podudaraju" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(saveznika" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(samo za" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[nedostupno]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Zeleni" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "NaranÄasti" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Sivi" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Crni" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Crveni" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Plavi" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "LjubiÄasta" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cijan" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Istraživanje zavrÅ¡eno: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Istraživanje zavrÅ¡eno" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Nagrada hakiranog IstraživaÄkog centra" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Tvojih jedinica: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Neprijateljskih jedinica: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Tvojih graÄ‘evina: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Neprijateljskih graÄ‘evina: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Jedinica proizvedeno: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Ukupno jedinica: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "GraÄ‘evina izgraÄ‘eno: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Ukupno graÄ‘evina: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Novak: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Pripremnik: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Treniran: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Vojnik: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profesionalac: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elita: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Specijalci: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Heroji: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Tvoje unÅ¡tene jedinice" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Tvoje uniÅ¡tene graÄ‘evine" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informacije o vojsci" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTIFAKATA PRONAÄENO: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Trajanje misije - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Trajanje igre - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Koristio si Å¡ifre!!!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "POBJEDIO SI!!!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "IZGUBIO SI!!!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "%s je postavio zastavicu." -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Zastavica %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, fuzzy, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u jedinica odabrana" msgstr[1] "%u jedinica odabrana" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "NemaÅ¡ ni jednog mobilnog servisera." -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "NemaÅ¡ ni jedan kamion." -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "NemaÅ¡ ni jedan mobilni radar." -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "NemaÅ¡ ni jednog kapetana." -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limit prijeÄ‘en - Proizvodnja prekinuta" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, fuzzy, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u jedinica dodjeljena" msgstr[1] "%s - %u jedinica dodjeljena" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - OÅ¡teÄen %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Povezan s %u od %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Hakirano" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Nagrada hakirane graÄ‘evine - Vizualno izvjeÅ¡Äe" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Nagrada hakirane Tvornice - Vozni sustav" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Nagrada hakirane Tvornice - Trup" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Nagrada hakirane Tvornice - Oružje" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Nagrada hakirane Tvornice - NiÅ¡ta" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Nagrada hakiranog Servisa - Poravak" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Nagrada hakiranog Servisa - NiÅ¡ta" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "PoÅ¡alji transport" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "PojaÄanja dolaze" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (lokalno promjenjena)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (lokalno promjenjena)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (lokalno promjenjena)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Kompajlirano %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Verzija %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Ponovi proizvodnju" + #~ msgid "Player number" #~ msgstr "Broj igraÄa" diff --git a/po/it.po b/po/it.po index 8b319032c..55d79a2fd 100644 --- a/po/it.po +++ b/po/it.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-23 22:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-12-14 22:19+0100\n" "Last-Translator: Cristian Odorico \n" "Language-Team: Italian \n" @@ -11999,34 +11999,34 @@ msgid "System locale" msgstr "System locale" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1028 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Inserisci qua la password" -#: lib/netplay/netplay.cpp:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Non posso decidere il nome del server master (%s)!" -#: lib/netplay/netplay.cpp:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Non posso comunicare con il server della Lobby! La porta TCP %u è aperta?" #: src/challenge.cpp:184 -#: src/hci.cpp:954 -#: src/hci.cpp:3533 -#: src/hci.cpp:3656 -#: src/hci.cpp:4120 -#: src/hci.cpp:5142 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 #: src/intelmap.cpp:534 #: src/intorder.cpp:779 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 #: src/transporter.cpp:277 -#: src/transporter.cpp:360 -#: src/transporter.cpp:821 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Chiudi" @@ -12168,8 +12168,8 @@ msgstr "Ospita" msgid "go directly to host screen" msgstr "Vai direttamente alla schermata host" -#: src/configuration.cpp:431 -#: src/configuration.cpp:432 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 #: src/multistat.cpp:130 msgid "Player" msgstr "Giocatore" @@ -12316,47 +12316,47 @@ msgstr "Armi" msgid "Systems" msgstr "Sistemi" -#: src/display3d.cpp:589 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Un giocatore ha lasciato la partita" -#: src/display3d.cpp:593 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Giocatore" -#: src/display3d.cpp:597 -#: src/multiint.cpp:1840 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "In attesa degli altri giocatori" -#: src/display3d.cpp:602 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "Fuori sincronia" -#: src/display.cpp:1657 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Impossibile costruire. Risorsa d'olio in fiamme." -#: src/display.cpp:1836 -#: src/display.cpp:2429 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Danno %d%% - Esperienza %d, %s" -#: src/display.cpp:1852 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Alleato - Danno %d%% - Esperienza %d, %s" -#: src/display.cpp:2050 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Camion incaricato di costruire un Traliccio Petrolifero" -#: src/display.cpp:2051 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "2 camion incaricati di costruire un Traliccio Petrolifero" -#: src/display.cpp:2052 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "%d camion incaricati di costruire un Traliccio Petrolifero" @@ -12369,623 +12369,623 @@ msgstr "Unità Persa!" msgid "Structure Restored" msgstr "Struttura Riparata" -#: src/droid.cpp:2957 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Gruppo %u selezionato - %u Unità" msgstr[1] "Gruppo %u selezionato - %u Unità" -#: src/droid.cpp:2970 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unità assegnata al Gruppo %u" msgstr[1] "%u unità assegnata al Gruppo %u" -#: src/droid.cpp:2983 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Visuale Centrata sul Gruppo %u - %u Unit" msgstr[1] "Visuale Centrata sul gruppo %u - %u Unità" -#: src/droid.cpp:2987 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Visuale affiancata al Gruppo %u - %u Unità" msgstr[1] "Visuale affiancata al Gruppo %u - %u Unità" -#: src/droid.cpp:3279 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Coscritta" -#: src/droid.cpp:3280 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Inesperta" -#: src/droid.cpp:3281 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Addestrata" -#: src/droid.cpp:3282 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Normale" -#: src/droid.cpp:3283 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professionale" -#: src/droid.cpp:3284 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veterana" -#: src/droid.cpp:3285 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.cpp:3286 +#: src/droid.cpp:3041 msgid "Special" msgstr "Speciale" -#: src/droid.cpp:3287 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Eroe" -#: src/droid.cpp:4313 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "%s avrebbe voluto darti un %s ma ne hai troppi!" -#: src/droid.cpp:4317 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "Volevi dare a %s un %s ma ne hanno troppi!" -#: src/frontend.cpp:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Giocatore singolo" -#: src/frontend.cpp:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Multi Player" -#: src/frontend.cpp:100 -#: src/frontend.cpp:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.cpp:101 -#: src/hci.cpp:3642 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Opzioni" -#: src/frontend.cpp:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Guarda l'introduzione" -#: src/frontend.cpp:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Esci dal Gioco" -#: src/frontend.cpp:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENU PRINCIPALE" -#: src/frontend.cpp:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Partita Veloce" -#: src/frontend.cpp:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIAL" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.cpp:160 -#: src/frontend.cpp:219 -#: src/frontend.cpp:363 -#: src/frontend.cpp:430 -#: src/frontend.cpp:564 -#: src/frontend.cpp:700 -#: src/frontend.cpp:807 -#: src/frontend.cpp:1026 -#: src/frontend.cpp:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Indietro" -#: src/frontend.cpp:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nuova Campagna" -#: src/frontend.cpp:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Inizia schermaglia" -#: src/frontend.cpp:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Sfide" -#: src/frontend.cpp:216 +#: src/frontend.cpp:215 #: src/ingameop.cpp:275 msgid "Load Game" msgstr "Carica Partita" -#: src/frontend.cpp:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "GIOCATORE SINGOLO" -#: src/frontend.cpp:304 +#: src/frontend.cpp:303 #: src/ingameop.cpp:498 -#: src/mission.cpp:2529 -#: src/mission.cpp:2632 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Carica Partita" -#: src/frontend.cpp:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTIGIOCATORE" -#: src/frontend.cpp:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Ospita una partita" -#: src/frontend.cpp:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Unisciti a una partita" -#: src/frontend.cpp:423 -#: src/multiint.cpp:1118 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPZIONI" -#: src/frontend.cpp:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Opzioni di Gioco" -#: src/frontend.cpp:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Opzioni Grafiche" -#: src/frontend.cpp:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Opzioni video." -#: src/frontend.cpp:427 +#: src/frontend.cpp:426 #: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Opzioni Audio" -#: src/frontend.cpp:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Opzioni del mouse" -#: src/frontend.cpp:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Assegnazione dei Tasti" -#: src/frontend.cpp:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Riproduzione dei Video" -#: src/frontend.cpp:495 -#: src/frontend.cpp:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.cpp:499 -#: src/frontend.cpp:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.cpp:503 -#: src/frontend.cpp:649 -#: src/frontend.cpp:775 -#: src/frontend.cpp:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "A schermo pieno" -#: src/frontend.cpp:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Scuoti lo Schermo" -#: src/frontend.cpp:516 -#: src/frontend.cpp:544 -#: src/frontend.cpp:552 -#: src/frontend.cpp:587 -#: src/frontend.cpp:621 -#: src/frontend.cpp:630 -#: src/frontend.cpp:796 -#: src/frontend.cpp:890 -#: src/frontend.cpp:928 -#: src/frontend.cpp:967 -#: src/frontend.cpp:979 -#: src/frontend.cpp:991 -#: src/frontend.cpp:1003 -#: src/frontend.cpp:1048 -#: src/frontend.cpp:1061 -#: src/frontend.cpp:1075 -#: src/frontend.cpp:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "On" -#: src/frontend.cpp:520 -#: src/frontend.cpp:540 -#: src/frontend.cpp:556 -#: src/frontend.cpp:582 -#: src/frontend.cpp:616 -#: src/frontend.cpp:634 -#: src/frontend.cpp:800 -#: src/frontend.cpp:885 -#: src/frontend.cpp:923 -#: src/frontend.cpp:971 -#: src/frontend.cpp:983 -#: src/frontend.cpp:995 -#: src/frontend.cpp:1007 -#: src/frontend.cpp:1043 -#: src/frontend.cpp:1056 -#: src/frontend.cpp:1070 -#: src/frontend.cpp:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Off" -#: src/frontend.cpp:525 -#: src/multiint.cpp:1187 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Nebbia" -#: src/frontend.cpp:528 -#: src/frontend.cpp:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Nebbia" -#: src/frontend.cpp:532 -#: src/frontend.cpp:597 -#: src/multiint.cpp:1189 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Nebbia di Guerra" -#: src/frontend.cpp:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Sottotitoli" -#: src/frontend.cpp:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Ombre" -#: src/frontend.cpp:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "OPZIONI GRAFICHE" -#: src/frontend.cpp:688 +#: src/frontend.cpp:686 #: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volume Voce" -#: src/frontend.cpp:692 +#: src/frontend.cpp:690 #: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volume effetti" -#: src/frontend.cpp:696 +#: src/frontend.cpp:694 #: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volume musica" -#: src/frontend.cpp:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "OPZIONI AUDIO" -#: src/frontend.cpp:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Ha effetto al riavvio del gioco" -#: src/frontend.cpp:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Modalità Grafica*" -#: src/frontend.cpp:779 -#: src/frontend.cpp:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "A finestra" -#: src/frontend.cpp:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Risoluzione*" -#: src/frontend.cpp:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Dimensione della Texture" -#: src/frontend.cpp:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Sincronia verticale" -#: src/frontend.cpp:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "OPZIONI VIDEO" -#: src/frontend.cpp:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Può avere effetti negativi sulla performance" -#: src/frontend.cpp:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Inverti la rotazione" -#: src/frontend.cpp:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Blocca il Cursore" -#: src/frontend.cpp:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Cursori colorati*" -#: src/frontend.cpp:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Inverti i tasti del mouse" -#: src/frontend.cpp:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "Ruota lo schermo" -#: src/frontend.cpp:1015 -#: src/frontend.cpp:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 #, fuzzy msgid "Middle Mouse" msgstr "Pulsante centrale" -#: src/frontend.cpp:1019 -#: src/frontend.cpp:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 #, fuzzy msgid "Right Mouse" msgstr "Pulsante destro" -#: src/frontend.cpp:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "OPZIONI DEL MOUSE" -#: src/frontend.cpp:1138 -#: src/frontend.cpp:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Difficoltà" -#: src/frontend.cpp:1142 -#: src/frontend.cpp:1216 -#: src/frontend.cpp:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Facile" -#: src/frontend.cpp:1145 -#: src/frontend.cpp:1219 -#: src/frontend.cpp:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normale" -#: src/frontend.cpp:1149 -#: src/frontend.cpp:1222 -#: src/frontend.cpp:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Difficile" -#: src/frontend.cpp:1154 -#: src/frontend.cpp:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Velocità di Scorrimento" -#: src/frontend.cpp:1168 -#: src/frontend.cpp:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Lingua" -#: src/frontend.cpp:1180 -#: src/frontend.cpp:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Colore delle Unità" -#: src/frontend.cpp:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "Radar" -#: src/frontend.cpp:1184 -#: src/frontend.cpp:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "Rotazione in corso" -#: src/frontend.cpp:1184 -#: src/frontend.cpp:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "Aggiustato" -#: src/frontend.cpp:1190 -#: src/frontend.cpp:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPZIONI DI GIOCO" -#: src/frontend.cpp:1342 -#: src/multiint.cpp:2109 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod:" -#: src/hci.cpp:1277 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAPPA SALVATA!" -#: src/hci.cpp:1628 +#: src/hci.cpp:1576 #: src/loop.cpp:558 #: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "PARTITA SALVATA:" -#: src/hci.cpp:2015 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Costruzione fallita" -#: src/hci.cpp:2032 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Il giocatore %u sta ottenendo una nuova struttura per mezzo di trucchi (debug menu) : %s." -#: src/hci.cpp:2047 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Il giocatore %u sta ottenendo una nuova caratteristica per mezzo di trucchi (debug menu) : %s." -#: src/hci.cpp:2069 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Il giocatore %u sta ottenendo una nuova unità per mezzo di trucchi (debug menu) : %s." -#: src/hci.cpp:2080 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Il giocatore %u sta ottenendo una nuova unità per mezzo di trucchi (debug menu)." -#: src/hci.cpp:3453 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Comandanti (F6)" -#: src/hci.cpp:3466 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Intelligence (F5)" -#: src/hci.cpp:3479 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Produzione (F1)" -#: src/hci.cpp:3492 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Progettazione (F4)" -#: src/hci.cpp:3505 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Ricerca (F2)" -#: src/hci.cpp:3518 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Costruzione (F3)" -#: src/hci.cpp:3589 -#: src/multiint.cpp:1234 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.cpp:3680 +#: src/hci.cpp:3529 msgid "Map:" msgstr "Mappa:" -#: src/hci.cpp:3693 +#: src/hci.cpp:3542 msgid "Load" msgstr "Carica" -#: src/hci.cpp:3694 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "Carica File Mappa" -#: src/hci.cpp:3701 +#: src/hci.cpp:3550 msgid "Save" msgstr "Salva" -#: src/hci.cpp:3702 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "Salva File Mappa" -#: src/hci.cpp:3710 +#: src/hci.cpp:3559 msgid "New" msgstr "Nuovo" -#: src/hci.cpp:3711 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "Nuova mappa vuota" -#: src/hci.cpp:3747 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Texture" -#: src/hci.cpp:3748 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Piazza texture sulla mappa" -#: src/hci.cpp:3757 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Unità" -#: src/hci.cpp:3758 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Piazza un' Unità sulla mappa" -#: src/hci.cpp:3766 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Struttura" -#: src/hci.cpp:3767 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Piazza Strutture sulla mappa" -#: src/hci.cpp:3775 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Caratteristica" -#: src/hci.cpp:3776 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Piazza Oggetti sulla mappa" -#: src/hci.cpp:3786 +#: src/hci.cpp:3635 msgid "Pause" msgstr "Pausa" -#: src/hci.cpp:3787 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Metti in pausa o riprendi la partita" -#: src/hci.cpp:3801 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Allinea le altezze di tutti gli oggetti della mappa" -#: src/hci.cpp:3811 +#: src/hci.cpp:3660 msgid "Edit" msgstr "Edita" -#: src/hci.cpp:3812 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "Inizia Modalità Edit" -#: src/hci.cpp:3826 +#: src/hci.cpp:3675 #: src/ingameop.cpp:112 #: src/ingameop.cpp:258 #: src/ingameop.cpp:263 msgid "Quit" msgstr "Abbandona" -#: src/hci.cpp:3827 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Esci dal Gioco" -#: src/hci.cpp:3851 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "Player Attuale:" -#: src/hci.cpp:4201 +#: src/hci.cpp:3990 #: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barra del Progresso" -#: src/hci.cpp:5067 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Punto di Raduno della Fabbrica" -#: src/hci.cpp:5085 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Produzione Ciclica" -#: src/hci.cpp:5165 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Scorri tabella a Sinistra" -#: src/hci.cpp:5180 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Scorri tabella a Destra" @@ -13011,8 +13011,8 @@ msgstr "UI Tattica (Icona dell'Origine del bersaglio): Nascondi" #: src/ingameop.cpp:277 #: src/ingameop.cpp:502 -#: src/mission.cpp:2516 -#: src/mission.cpp:2635 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Salva Partita" @@ -13052,7 +13052,7 @@ msgid "Power Accrued" msgstr "Energia Accumulata" #: src/intelmap.cpp:245 -#: src/keybind.cpp:1377 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "IN PAUSA" @@ -13068,7 +13068,7 @@ msgstr "Obiettivi del Project" msgid "Current Objective" msgstr "Obiettivo Corrente" -#: src/intelmap.cpp:1512 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Nuovo rapporto dell'Intelligence." @@ -13179,274 +13179,274 @@ msgstr "Assegna produzione della fabbrica di VTOL" msgid "Circle" msgstr "Circola" -#: src/keybind.cpp:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Spiacente, quel trucco è disabilitato nelle partite multigiocatore." -#: src/keybind.cpp:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Attenzione! Questo trucco è buggato. Raccomandiamo di NON usarlo." -#: src/keybind.cpp:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Lasciaci vedere cosa vedi!" -#: src/keybind.cpp:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Va bene,il display delle armi e dei sensor è spento!" -#: src/keybind.cpp:417 -#: src/keybind.cpp:447 -#: src/keybind.cpp:464 -#: src/keybind.cpp:508 -#: src/keybind.cpp:616 -#: src/keybind.cpp:656 -#: src/keybind.cpp:762 -#: src/keybind.cpp:1267 -#: src/keybind.cpp:1324 -#: src/keybind.cpp:1434 -#: src/keybind.cpp:1563 -#: src/keybind.cpp:1920 -#: src/keybind.cpp:1961 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Il giocatore %u) sta usando il trucco:%s" -#: src/keybind.cpp:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Duro come chiodi!" -#: src/keybind.cpp:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Prendendo le cose con calma!" -#: src/keybind.cpp:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 belli grossi!" -#: src/keybind.cpp:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Energia schiacciante!" -#: src/keybind.cpp:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Ritorno alla normalità!" -#: src/keybind.cpp:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Si sta facendo complicato!" -#: src/keybind.cpp:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Due volte più bello!" -#: src/keybind.cpp:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS display è attivato." -#: src/keybind.cpp:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS display è disattivato." -#: src/keybind.cpp:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; Limite-FPS: %d; PIEs %d; polys %d; Terr. polys %d: States %d" -#: src/keybind.cpp:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Il player %u) usa un trucco:Unità %d Strut.re %d Caratt. %d" -#: src/keybind.cpp:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Energia infinita disabilitata" -#: src/keybind.cpp:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Energia infinita abilitata" -#: src/keybind.cpp:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Tutti gli oggetti resi disponibili" -#: src/keybind.cpp:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Nebbia attiva" -#: src/keybind.cpp:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Nebbia disattiva" -#: src/keybind.cpp:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Attenzione! Questo trucco può causare problemi più avanti! [%s]" -#: src/keybind.cpp:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Concludo la missione." -#: src/keybind.cpp:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "I TRUCCHI SONO ORA ABILITATI!" -#: src/keybind.cpp:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "I TRUCCHI SONO ORA DISABILITATI!" -#: src/keybind.cpp:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Modalità Dio ON" -#: src/keybind.cpp:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Modalità Dio OFF" -#: src/keybind.cpp:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Visuale allineata a Nord" -#: src/keybind.cpp:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Blocca il Cursore %s" -#: src/keybind.cpp:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Ricercato TUTTO per te!" -#: src/keybind.cpp:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Il giocatore %u) sta usando il trucco:%s %s" -#: src/keybind.cpp:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Ricercato" -#: src/keybind.cpp:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Visualizza le barre di energia solo quando selezionato." -#: src/keybind.cpp:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Visualizza sempre le barre d'energia per le unità" -#: src/keybind.cpp:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Visualizza sempre le barre di energia per le unità e le strutture" -#: src/keybind.cpp:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Modialità Demo disattiva - Ritorno alla modalità di gioco normale" -#: src/keybind.cpp:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Il menu Debug è aperto" -#: src/keybind.cpp:1601 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "Impossibile localizzare alcun traliccio!" -#: src/keybind.cpp:1822 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, il tempo fuori è pauroso... NEVE" -#: src/keybind.cpp:1828 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... PIOGGIA" -#: src/keybind.cpp:1834 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Previsioni del tempo: Cieli puliti in ogni area... TEMPO DISATTIVATO" -#: src/keybind.cpp:1919 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Attenzione!Questo può avere conseguenze drastiche se usato non correttamente nelle missioni." -#: src/keybind.cpp:1921 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Nemici distrutti con i trucchi!" -#: src/keybind.cpp:1962 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "I droidi e le strutture selezione saranno distrutte." -#: src/keybind.cpp:2484 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Visuale centrata sul Quartier Generale, direzione NORD" -#: src/keybind.cpp:2496 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Impossibile localizzare il Quartier Generale!" -#: src/keybind.cpp:2503 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Limitazione della velocità della formazione è stata rimossa dal gioco a causa dei bug." -#: src/keybind.cpp:2552 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Direzione di rotazione verticale: Normale" -#: src/keybind.cpp:2557 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Direzione di rotazione verticale: Capovolta" -#: src/keybind.cpp:2566 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "Scuoti lo schermo quando gli oggetti esplodono: Off" -#: src/keybind.cpp:2571 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "Scuoti lo schermo quando gli oggetti esplodono: On" -#: src/keybind.cpp:2616 -#: src/keybind.cpp:2659 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Spiacente, ma la velocità del gioco non può essere cambiata in multiplayer." -#: src/keybind.cpp:2637 -#: src/keybind.cpp:2680 -#: src/keybind.cpp:2702 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Velocità di Gioco Reimpostata" -#: src/keybind.cpp:2641 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Velocità di Gioco Aumentata a %3.1f" -#: src/keybind.cpp:2684 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Velocità di Gioco Ridotta a %3.1f" -#: src/keybind.cpp:2714 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Il radar mostra i colori Amici-Nemici" -#: src/keybind.cpp:2718 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Il radar mostra il colore dei giocatori" -#: src/keybind.cpp:2739 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Il radar mostra solo oggetti" -#: src/keybind.cpp:2742 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar visualizzante terreno e altitudine" -#: src/keybind.cpp:2745 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Il radar mostra il terreno" -#: src/keybind.cpp:2748 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Il radar mostra il terreno scoperto" -#: src/keybind.cpp:2751 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Il radar mostra l'altitudine" @@ -13455,9 +13455,9 @@ msgid "KEY MAPPING" msgstr "ASSEGNAZIONE TASTI" #: src/keyedit.cpp:372 -#: src/multiint.cpp:488 -#: src/multiint.cpp:913 -#: src/multiint.cpp:1320 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Ritorna alla Schermata Precedente" @@ -13858,41 +13858,41 @@ msgstr "Seleziona la prossima Fabbrica di Cyborg" msgid "Could not save game!" msgstr "Non posso salvare la partita!" -#: src/mission.cpp:2077 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Carica il trasporto" -#: src/mission.cpp:2464 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "OBIETTIVO RAGGIUNTO barando!" -#: src/mission.cpp:2464 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "OBIETTIVO RAGGIUNTO" -#: src/mission.cpp:2470 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "MISSIONE FALLITA e hai barato!" -#: src/mission.cpp:2470 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "MISSIONE FALLITA" -#: src/mission.cpp:2495 -#: src/mission.cpp:2535 -#: src/mission.cpp:2649 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Esci al Menu Principale" -#: src/mission.cpp:2503 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continua la Partita" -#: src/mission.cpp:2600 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "PARTITA SALVATA!" -#: src/move.cpp:2314 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Hai trovato %u di energia in un barile di petrolio" @@ -13947,289 +13947,295 @@ msgstr "%s forma un'alleanza con %s" msgid "You Discover Blueprints For %s" msgstr "Hai scoperto i progetti per %s" -#: src/multiint.cpp:424 +#: src/multiint.cpp:425 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accetta le Impostazioni" -#: src/multiint.cpp:426 -#: src/multiint.cpp:958 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Cancella" -#: src/multiint.cpp:437 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Indirizzo IP o Nome Computer" -#: src/multiint.cpp:485 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONNESSIONE" -#: src/multiint.cpp:490 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:491 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.cpp:681 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Non ci sono partite disponibili." -#: src/multiint.cpp:684 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "La partita è piena" -#: src/multiint.cpp:688 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Sei stato kickato!" -#: src/multiint.cpp:691 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Versione del Gioco sbagliata!" -#: src/multiint.cpp:694 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Hai un mod incompatibile." -#: src/multiint.cpp:698 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "L'Host non può mandare il file?" -#: src/multiint.cpp:702 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Password non corretta!" -#: src/multiint.cpp:705 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "L'host ha terminato la connessione!" -#: src/multiint.cpp:709 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Errore di connessione" -#: src/multiint.cpp:853 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Ricerca in corso..." -#: src/multiint.cpp:910 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "PARTITE" -#: src/multiint.cpp:918 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Aggiorna la Lista Partite" -#: src/multiint.cpp:938 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Inserisci la password:" -#: src/multiint.cpp:956 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1073 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "Carri disabilitati!!" -#: src/multiint.cpp:1074 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "Cyborg disabilitati." -#: src/multiint.cpp:1075 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "VTOL disabilitati." -#: src/multiint.cpp:1123 -#: src/multiint.cpp:1130 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Seleziona il Nome della Partita" -#: src/multiint.cpp:1123 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Schermaglia a Un Giocatore" -#: src/multiint.cpp:1133 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Seleziona la Mappa" -#: src/multiint.cpp:1141 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Clicca per settare la Password" -#: src/multiint.cpp:1151 -#: src/multiint.cpp:1152 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Sciacalli" -#: src/multiint.cpp:1154 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "No Sciacalli" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Seleziona il Nome del Giocatore" -#: src/multiint.cpp:1190 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Nebbia sulla Distanza" -#: src/multiint.cpp:1201 +#: src/multiint.cpp:1184 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alleanze" -#: src/multiint.cpp:1204 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Nessuna Alleanza" -#: src/multiint.cpp:1206 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Concedi Alleanze" -#: src/multiint.cpp:1210 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Squadre Bloccate" -#: src/multiint.cpp:1236 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Livelli Energetici Bassi" -#: src/multiint.cpp:1238 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Livelli Energetici Medi" -#: src/multiint.cpp:1240 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Livelli Energetici Alti" -#: src/multiint.cpp:1272 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1274 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Inizia senza Basi" -#: src/multiint.cpp:1276 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Inizia con Basi" -#: src/multiint.cpp:1278 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Inizia con Basi Avanzate" -#: src/multiint.cpp:1310 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Anteprima mappa" -#: src/multiint.cpp:1312 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Clicca per visualizzare la mappa" -#: src/multiint.cpp:1326 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Inizia ad ospitare la Partita" -#: src/multiint.cpp:1334 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Mostra i limiti di strutture" -#: src/multiint.cpp:1334 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Imposta i limiti di strutture" -#: src/multiint.cpp:1420 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Colore Giocatore" -#: src/multiint.cpp:1436 -msgid "Kick player" -msgstr "Espelli giocatore" - -#: src/multiint.cpp:1447 -msgid "Player position" -msgstr "Posizione del giocatore" - -#: src/multiint.cpp:1807 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Squadra" -#: src/multiint.cpp:1846 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Espelli giocatore" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Clicca quando sei pronto" -#: src/multiint.cpp:1850 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "PRONTO?" -#: src/multiint.cpp:1885 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "GIOCATORI" -#: src/multiint.cpp:1938 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Clicca per cambiare le impostazione del giocatore" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "Scegli la squadra" -#: src/multiint.cpp:1976 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "Clicca per cambiare le impostazione del giocatore" -#: src/multiint.cpp:2006 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Clicca per cambiare le impostazione del giocatore" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "Clicca per modificare la difficoltà dell'AI" -#: src/multiint.cpp:2082 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2114 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Tutti i giocatori devono avere gli stessi mod per entrare nella tua partita." -#: src/multiint.cpp:2275 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "***La password [%s] ora è richiesta! ***" -#: src/multiint.cpp:2283 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** La password non è richiesta! ***" -#: src/multiint.cpp:2526 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Spiacente! Host della partita fallito." -#: src/multiint.cpp:2611 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Squadre Bloccate" -#: src/multiint.cpp:2650 -#: src/multiint.cpp:2700 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "L'host ha espulso %s dalla partita!" -#: src/multiint.cpp:2780 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "L'host sta avviando la partita" -#: src/multiint.cpp:3371 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Giocatori" -#: src/multiint.cpp:3489 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Invio mappa: %d%%" -#: src/multiint.cpp:3497 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Mappa: %d%% scaricata" -#: src/multiint.cpp:3523 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "HOST" @@ -14376,35 +14382,35 @@ msgstr "(privato a" msgid "[invalid]" msgstr "[invalido]" -#: src/multiplay.cpp:2046 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Verde" -#: src/multiplay.cpp:2047 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Arancione" -#: src/multiplay.cpp:2048 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Grigio" -#: src/multiplay.cpp:2049 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Nero" -#: src/multiplay.cpp:2050 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rosso" -#: src/multiplay.cpp:2051 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Blu" -#: src/multiplay.cpp:2052 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Rosa" -#: src/multiplay.cpp:2053 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Azzurro" @@ -14543,20 +14549,20 @@ msgstr "Tempo di Gioco Totale - %s" msgid "You cheated!" msgstr "Hai barato!" -#: src/scriptfuncs.cpp:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "VITTORIA!" -#: src/scriptfuncs.cpp:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "SEI STATO SCONFITTO" -#: src/scriptfuncs.cpp:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Segnale ricevuto da %s" -#: src/scriptfuncs.cpp:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Segnale %d" @@ -14585,76 +14591,76 @@ msgstr "Impossibile localizzare alcuna Unità Sensoria!" msgid "Unable to locate any Commanders!" msgstr "Impossibile localizzare alcun Comandante!" -#: src/structure.cpp:2905 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limite di Controllo Raggiunto - Produzione Arrestata" -#: src/structure.cpp:6137 -#: src/structure.cpp:6162 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unità Assegnata" msgstr[1] "%s - %u Unità Assegnate" -#: src/structure.cpp:6167 -#: src/structure.cpp:6235 -#: src/structure.cpp:6251 -#: src/structure.cpp:6265 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Danno %3.0f%%" -#: src/structure.cpp:6217 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Collegati %u di %u" -#: src/structure.cpp:6381 -#: src/structure.cpp:6426 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danneggiato Elettronicamente" -#: src/structure.cpp:6663 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Premio Elettronico - Rapporto di Visibilità" -#: src/structure.cpp:6703 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Premio della Fabbrica - Propulsione" -#: src/structure.cpp:6727 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Premio della Fabbrica - Corpo" -#: src/structure.cpp:6751 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Premio della Fabbrica - Arma" -#: src/structure.cpp:6760 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Premio della Fabbrica - Niente" -#: src/structure.cpp:6788 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Premio della Struttura di Riparazione - Ripara" -#: src/structure.cpp:6795 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Premio della Struttura di Riparazione - Niente" -#: src/transporter.cpp:397 -#: src/transporter.cpp:446 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Lancia il Trasporto" -#: src/transporter.cpp:1424 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "Non c'è abbastanza spazio nel Trasporto!" -#: src/transporter.cpp:1682 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "I rinforzi stanno atterrando" @@ -14686,6 +14692,9 @@ msgstr " - Costruito %s" msgid "Version %s%s%s%s" msgstr "Versione %s%s%s%s" +#~ msgid "Player position" +#~ msgstr "Posizione del giocatore" + #~ msgid "Cobra Hover Heavy-Repair" #~ msgstr "Cobra Hover Torretta Riparatrice Pesante" diff --git a/po/ko.po b/po/ko.po index ae0a8be95..1efc57c61 100644 --- a/po/ko.po +++ b/po/ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100 2.3_branch\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-11-23 21:01+0900\n" "Last-Translator: Joshua Shin \n" "Language-Team: Korean Translation Team \n" @@ -5749,7 +5749,7 @@ msgid "New Design" msgstr "새 ë””ìžì¸" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "수송선" @@ -12037,1050 +12037,1051 @@ msgstr "초고ì†ë„ ìºë…¼ 파ì´ì¬ 호버추진" msgid "Plasmite Retribution VTOL" msgstr "플ë¼ì¦ˆë§ˆì´íŠ¸ í­íƒ„ 투하실 레트리뷰션 VTOL" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "ì‚¬ìš©ìž ì‹œìŠ¤í…œ 언어" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "ì—¬ê¸°ì— ë¹„ë°€ë²ˆí˜¸ë¥¼ 입력하십시오" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "마스터서버 ì´ë¦„ì„ í™•ì¸í•  수 없습니다 (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "로비 서버와 통신할 수 없습니다! TCP í¬íŠ¸ %u ê°€ 보내는 íŠ¸ëž˜í”½ì— ëŒ€í•´ ì—´ë ¤ 있습니까?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "닫기" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "치트 모드(cheat mode)ë¡œ 실행하기" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "환경 설정 디렉토리로 설정" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "환경 설정 디렉토리" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "기본 ìžë£Œ 디렉토리로 설정" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "ìžë£Œ 디렉토리" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "특정 ë ˆë²¨ì˜ ë””ë²„ê¹… 표시" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "레벨 디버그하기" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "파ì¼ë¡œ 디버깅 ì¶œë ¥ì„ ë¡œê·¸í•˜ê¸°" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "파ì¼" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "모든 디버깅 ì¶œë ¥ì„ stderrë¡œ 보내기(flush)" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "ì „ì²´ 화면 모드로 실행" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "특정 ê²Œìž„ì„ ë¡œë“œí•˜ê¸°" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "게임 네임(ì´ë¦„)" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "ì´ ë„ì›€ë§ ë©”ì‹œì§€ë¥¼ ë³´ì¸ ë‹¤ìŒ ì¢…ë£Œí•˜ê¸°" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "글로벌 mod를 활성화하기" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "캠페ì¸ìš© mod를 활성화하기" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "멀티플레ì´ì–´ìš© mod를 활성화하기" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "assert 비활성화하기" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "(컴퓨터) í¬ëž˜ì‹œ 핸들러를 시험하기 위해 í¬ëž˜ì‹œë¥¼ ì¼ìœ¼í‚µë‹ˆë‹¤" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "ì €ìž¥ëœ ê²Œìž„ 로드" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "세ì´ë¸Œê²Œìž„" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "ì°½(windowed) 모드로 실행" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "버젼 정보를 ë³´ì¸ ë‹¤ìŒ ì¢…ë£Œí•˜ê¸°" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "사용할 화면 í•´ìƒë„를 설정하십시오" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "너비x높ì´" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "ê·¸ë¦¼ìž ì‚¬ìš©" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "ê·¸ë¦¼ìž ì‚¬ìš© 안함" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "소리 켜ì§" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "소리 꺼ì§" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "셀프 테스트(self-test) 활성화하기" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "바로 IP ë˜ëŠ” 호스트네임으로 ì—°ê²°" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "호스트" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "호스트 화면으로 바로 가기" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "플레ì´ì–´" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "새 차량" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "차량 몸체" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "차량 추진력" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "차량 터릿" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "ë””ìžì¸ 없애기" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "장갑" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "내열성 장갑" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "엔진 출력" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "무게" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "ì´ í•„ìš” ì „ë ¥" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "ì´ ë³´ë””í¬ì¸íŠ¸" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "ì „ë ¥ 소비" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "히드ë¼(Hydra)" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "센서 범위" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "센서 ì „ë ¥" # The strength of the ECM. # ECM stands for "electronic counter measure", it is a turret that decreases the sensor range of sensors near it. -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM ê°•ë„" # Build Points # Points used to determine how long something takes to build. # For building structures, for instance, the time is calculated as the build points of the structure divided by the build points of the truck. -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "건설(빌드) í¬ì¸íŠ¸" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "범위" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "파괴력" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "연사 ì†ë„" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "비행 ì†ë„" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "ë„ë¡œìƒ ì†ë„" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "비í¬ìž¥ ë„ë¡œìƒ ì†ë„" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "ìˆ˜ìƒ ì†ë„" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "무기" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "시스템" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "플레ì´ì–´ê°€ 떠났습니다" # same thing as player left?? -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "플레ì´ì–´ê°€ ì¸í„°ë„· ì—°ê²° 문제 ë˜ëŠ” 게임 버그 ë•Œë¬¸ì— í‡´ìž¥í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "다른 플레ì´ì–´ë¥¼ ë” ê¸°ë‹¤ë¦¬ê³  있습니다" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "ê±´ì„¤ì´ ë¶ˆê°€ëŠ¥í•©ë‹ˆë‹¤. ì„유 ìžì›ì´ 타고 있습니다" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - ë°ë¯¸ì§€ %d%% - 경험치 %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - ë™ë§¹êµ° - ë°ë¯¸ì§€ %d%% - 경험치 %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "íŠ¸ëŸ­ì´ ìœ ì •íƒ‘ì„ ê±´ì„¤í•˜ë¼ëŠ” ëª…ë ¹ì„ ë°›ì•˜ìŠµë‹ˆë‹¤" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "íŠ¸ëŸ­ì´ ìœ ì •íƒ‘ì„ ê±´ì„¤í•˜ë¼ëŠ” ëª…ë ¹ì„ ë°›ì•˜ìŠµë‹ˆë‹¤" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "íŠ¸ëŸ­ì´ ìœ ì •íƒ‘ì„ ê±´ì„¤í•˜ë¼ëŠ” ëª…ë ¹ì„ ë°›ì•˜ìŠµë‹ˆë‹¤" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "ìœ ë‹›ì„ ìžƒì—ˆìŠµë‹ˆë‹¤!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "êµ¬ì¡°ë¬¼ì´ ë³µêµ¬ë˜ì—ˆìŠµë‹ˆë‹¤" # ask about form 0, 1, 2, etc -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "부대 %uê°€(ì´) ì„ íƒë˜ì—ˆìŠµë‹ˆë‹¤ - 유닛 %uê°œ" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "유닛 %u개가 부대 %uì— í• ë‹¹ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "부대 %u를(ì„) 중심으로 - 유닛 %uê°œ" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "부대 %u와(ê³¼) 정렬하였습니다 - 유닛 %uê°œ" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "루키" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "그린" # finished training, # is now intern -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "견습병" # ì •ê·œ 사병 = regular soldier -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "정규병" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "프로페셔ë„" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "베테랑" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "엘리트" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "스페셜" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "히어로" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "%sê°€ 당신ì—게 %s를(ì„) 주고 싶어하지만 ì´ë¯¸ 수가 너무 많습니다!" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, fuzzy, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "%sê°€ 당신ì—게 %s를(ì„) 주고 싶어하지만 ì´ë¯¸ 수가 너무 많습니다!" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "싱글 플레ì´ì–´(Single Player)" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "멀티 플레ì´ì–´(Multi player)" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "튜토리얼" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "옵션" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "ì¸íŠ¸ë¡œ ì˜ìƒ 보기" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "게임 종료" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "ë©”ì¸ ë©”ë‰´" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Fast Play (바로 하기)" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "튜토리얼" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "뒤로" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "새 캠페ì¸" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "스커미쉬(Skirmish) 게임 시작" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "챌런지(ë„ì „)" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "게임 로드" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "싱글 플레ì´ì–´" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "ì €ìž¥ëœ ê²Œìž„ 로드하기" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "멀티 플레ì´ì–´" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "ë„¤íŠ¸ì›Œí¬ ê²Œìž„ 새로 시작 (호스팅 하기)" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "ë„¤íŠ¸ì›Œí¬ ê²Œìž„ 참여하기" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "옵션" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "게임 옵션" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "그래픽 옵션" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "비디오 옵션" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "오디오 옵션" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "마우스 옵션" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "키보드 매핑(Mapping)" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "비디오 재ìƒ" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "ì „ì²´ 화면" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "화면 떨림(Shake)" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "켜ì§" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "꺼ì§" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "안개" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "í림(Mist)" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "ì „ìŸì˜ 안개" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "ìžë§‰" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "그림ìž" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "그래픽 옵션" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "ìŒì„± 볼륨" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "특수 íš¨ê³¼ìŒ ë³¼ë¥¨ " -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "ìŒì•… 볼륨" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "오디오 옵션" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "*게임 재시작시 ì ìš©ë©ë‹ˆë‹¤" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "그래픽 모드*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "윈ë„ìš°(ì°½) 모드" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "í•´ìƒë„*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "í…ìŠ¤ì³ í¬ê¸°" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "수ì§ë™ê¸°í™”(V sync)*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "비디오 옵션" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "*ê²Œìž„ì˜ ì„±ëŠ¥ì„ ë–¨ì–´ëœ¨ë¦´ 수 ë„ ìžˆìŠµë‹ˆë‹¤" # 3D rotation direction w/ mouse -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "3D 회전방향 반전" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "마우스 커서 ê°€ë‘기" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "컬러 커서 *" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "마우스 버튼 좌우 전환" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "화면 회전" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 #, fuzzy msgid "Middle Mouse" msgstr "마우스 중앙 버튼" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 #, fuzzy msgid "Right Mouse" msgstr "마우스 오른쪽 버튼" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "마우스 옵션" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "ë‚œì´ë„" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "ë‚®ìŒ" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "보통" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "높ìŒ" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "스í¬ë¡¤ ì†ë„" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "언어" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "유닛 색" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "ë ˆì´ë”" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "회전ì‹" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "ê³ ì •ì‹" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "게임 옵션" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod (Modification):" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "ë§µì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "ê²Œìž„ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤ : " -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "ê±´ë¬¼ì„ ë§Œë“¤ì§€ 못했습니다" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "플레ì´ì–´ %u ê°€ 치트(디버그 메뉴)를 사용해 새로운 êµ¬ì¡°ë¬¼ì„ ì§€ì—ˆìŠµë‹ˆë‹¤: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "플레ì´ì–´ %u ê°€ 치트(디버그 메뉴)를 사용해 새로운 물체를 배치하였습니다: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "플레ì´ì–´ %u ê°€ 치트(디버그 메뉴)를 사용해 새로운 병사를 만들었습니다: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "플레ì´ì–´ %u ê°€ 치트(디버그 메뉴)를 사용해 새로운 병사를 만들었습니다: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "사령관 (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "ë³´ë„ ë””ìŠ¤í”Œë ˆì´ (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "ìƒì‚° (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "ë””ìžì¸ (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "연구 (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "건축 (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "ì „ë ¥" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "맵: " -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "로드" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "맵 íŒŒì¼ ë¡œë“œ" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "저장" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "맵 íŒŒì¼ ì €ìž¥" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "새로 (New)" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "새로운 빈 맵" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "타ì¼" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "게임 맵ì—ì„œ 타ì¼ì„ 놓기" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "유닛" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "게임 맵 ì•ˆì— ìœ ë‹› 배치하기" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "구조물" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "게임 맵ì—ì„œ êµ¬ì¡°ë¬¼ì„ ë†“ê¸°" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "물체" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "물체(Feature)를 ë§µìœ„ì— ë°°ì¹˜í•˜ê¸°" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "ì¼ì‹œ 정지" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "ê²Œìž„ì„ ì¼ì‹œ 중지하거나 ì¼ì‹œì¤‘지를 해제합니다" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "모든 맵 ê°œì²´ì˜ ë†’ì´ë¥¼ 정렬하기 " -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "편집" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "편집 모드 시작하기" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "종료" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "게임 종료" -#: src/hci.c:4090 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "현재 플레ì´ì–´: " -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "진행률 표시줄" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "무한 ìƒì‚°" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "공장 배달 지ì " -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "반복 ìƒì‚°" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "왼쪽으로 탭 스í¬ë¡¤" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "오른쪽으로 탭 스í¬ë¡¤" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "ì¼ì‹œ 중지 í•´ì œ" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "경고: ë‹¹ì‹ ì´ í˜¸ìŠ¤íŠ¸ìž…ë‹ˆë‹¤. ë‹¹ì‹ ì´ ê²Œìž„ì„ í‡´ìž¥í•˜ë©´, ê²Œìž„ì´ ëª¨ë‘ ì¢…ë£Œë©ë‹ˆë‹¤!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "게임 저장" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "호스트(Host)ê°€ ê²Œìž„ì„ ì¢…ë£Œí•˜ì˜€ìŠµë‹ˆë‹¤!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "ì´ ê²Œìž„ì€ í˜¸ìŠ¤íŠ¸ ì—†ì´ ê³„ì†í•  수 없습니다." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> 종료 <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13094,1661 +13095,1673 @@ msgstr "" # Build Points # Points used to determine how long something takes to build. # For building structures, for instance, the time is calculated as the build points of the structure divided by the build points of the truck. -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "건설(빌드) í¬ì¸íŠ¸" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "건설 유닛" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "ì „ë ¥ 축ì ëŸ‰" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "ê²Œìž„ì´ ì¼ì‹œ 중지ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "연구 ì—…ë°ì´íŠ¸" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "프로ì íŠ¸ì˜ 목표" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "현재 목표" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "새로운 ë³´ë„" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "단거리" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "장거리" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "ìµœì  ê±°ë¦¬" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "중급 ì†ìƒì‹œ 후퇴" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "심한 ì†ìƒì‹œ 후퇴" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "후퇴 금지" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "ìžìœ  ì˜ì‚¬ë¡œ 사격" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "ì‘사(Return Fire)" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "사격 중지" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "순찰" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "추ì " -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "ìžì‹ ì˜ 위치 경호" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "ìžì‹ ì˜ 위치ì—ì„œ ì´ë™ 금지" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "수리하기 위해 ëŒì•„ê°€ë¼" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "본부로 ëŒì•„ê°€ë¼" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "수송선 탑승" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "재활용ë˜ê¸° 위해 ëŒì•„ê°€ë¼" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "재활용하기" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "공장 ìƒì‚° 할당하기" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "사ì´ë³´ê·¸ 공장 ìƒì‚° 할당하기" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "사격 ì§€ì› í• ë‹¹í•˜ê¸°" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "VTOL 공장 ìƒì‚° 할당하기" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "빙빙 ëŒì•„ë¼ " -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "죄송합니다. ì´ ì¹˜íŠ¸ëŠ” 멀티플레ì´ì–´ 게임ì—서는 사용 금지입니다." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "경고: ì´ ì¹˜íŠ¸ëŠ” 불안정합니다. ì´ê²ƒì„ 사용하지 않는게 좋습니다." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "네가 보는 걸 우리ì—ê²Œë„ ë³´ì—¬ì¤˜!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "í , 그래! 무기 & 센서 보기가 꺼졌습니다" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(플레ì´ì–´ %u) ê°€ 치트를 사용하고 있습니다 :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "í”¼ë„ ëˆˆë¬¼ë„ ì—†ë‹¤!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "쉽게 하ìž!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "í° ê±° 1000ê°œ!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "엄청나 ì••ë„ì ì¸ ì „ë ¥" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "노멀리티(ì •ìƒ ìƒíƒœ)ë¡œ ëŒì•„가기!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "까다로워진다!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "ë‘ ë°°ë¡œ 좋다!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "초당 프레임 수를 보입니다." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "초당 프레임 수를 ë³´ì´ì§€ 않습니다." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(플레ì´ì–´ %u) ê°€ 치트를 사용하고 있습니다 :병사 수: %d 구조물 수: %d 물체 수: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "무한 ì „ë ¥ì´ í•´ì œë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "무한 ì „ë ¥ì´ í™œì„±í™”ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "모든 í•­ëª©ì´ ì‚¬ìš©í•  수 있게 ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "안개 켜ì§" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "안개 꺼ì§" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "경고! ì´ ì¹˜íŠ¸ë¥¼ 사용하면 ë‚˜ì¤‘ì— ë¬´ì„œìš´ 문재가 ë°œìƒí•  수 있습니다! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "임무를 종료하고 있습니다." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "ì´ì œ 치트(CHEAT)키가 사용 가능합니다!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "ì´ì œ 치트(CHEAT)키를 사용할 수 없습니다!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "ì‹ (God) 모드 켜ì§" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "ì‹ (God) 모드 꺼ì§" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "ì¹´ë©”ë¼ ë³´ê¸°(view)ê°€ ë¶ìª½ìœ¼ë¡œ ì •ë ¬ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "마우스 커서 ê°€ë‘기 %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "모든 ê²ƒì´ ì—°êµ¬ë˜ì—ˆìŠµë‹ˆë‹¤!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(플레ì´ì–´ %u) ê°€ 치트를 사용하고 있습니다 :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "연구 완료ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "ì„ íƒë˜ì—ˆì„ ë•Œ ì—ë„ˆì§€ëŸ‰ì„ í‘œì‹œí•©ë‹ˆë‹¤" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "í•­ìƒ ìœ ë‹›ì˜ ì—ë„ˆì§€ëŸ‰ì„ í‘œì‹œí•©ë‹ˆë‹¤" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "í•­ìƒ ìœ ë‹›ê³¼ êµ¬ì¡°ë¬¼ì˜ ì—ë„ˆì§€ëŸ‰ì„ í‘œì‹œí•©ë‹ˆë‹¤" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "ë°ëª¨(시범) 모드 êº¼ì§ - 보통 게임 모드로 ë˜ëŒì•„갑니다" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "디버그 메뉴가 열였습니다" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "유정 íƒ‘ì„ ì°¾ì„ ìˆ˜ 없습니다!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "오, 바깥 날씨가 무시무시하군요... 눈" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "ë¹—ì†ì—ì„œ 노래, ë‚œ 비 ì†ì—ì„œ 노래 하네... 비" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "ì¼ê¸° 예보 : 모든 ì˜ì—­ì— ë§‘ì€ í•˜ëŠ˜ìž…ë‹ˆë‹¤... 청천백ì¼" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "경고! 임무 수용 중 잘못 사용하면 ì—„ì²­ 안 ì¢‹ì€ ê²°ê³¼ë¥¼ ë³¼ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "치트로 모든 ì ì„ 파괴하였습니다!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "ì„ íƒëœ 병사와 êµ¬ì¡°ë¬¼ì„ íŒŒê´´í•©ë‹ˆë‹¤!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "플레ì´ì–´ì˜ 본부를 중심으로, ë¶ìª½ ë°©í–¥" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "본부를 찾지 못하였습니다!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "편대 ì†ë„ ì œí•œì€ ë²„ê·¸ë¡œ ì¸í•´ 게임ì—ì„œ 제거ë˜ì—ˆìŠµë‹ˆë‹¤." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "ìˆ˜ì§ íšŒì „ ë°©í–¥: 기본" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "ìˆ˜ì§ íšŒì „ ë°©í–¥: 뒤집어ì§" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "ë¬´ì—‡ì´ ì£½ì„ ë•Œ 화면 í”들림: 꺼ì§" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "ë¬´ì—‡ì´ ì£½ì„ ë•Œ 화면 í”들림: 켜ì§" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "죄송합니다, 멀티플레ì´ì–´ 게임ì—서는 게임 ì†ë„를 바꿀 수 없습니다." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "게임 ì†ë„ 리셋" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "%3.1f ë¡œ 게임 ì†ë„ê°€ ì¦ê°€ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "%3.1f ë¡œ 게임 ì†ë„ê°€ ê°ì†Œë˜ì—ˆìŠµë‹ˆë‹¤" # ì•„êµ°/ì êµ° -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "ë ˆì´ë”ì— ì•„êµ°-ì êµ° ìƒ‰ê¹”ì´ ë‚˜ì˜µë‹ˆë‹¤" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "ë ˆì´ë”ì— í”Œë ˆì´ì–´ë“¤ì˜ ìƒ‰ê¹”ì´ ë‚˜ì˜µë‹ˆë‹¤" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "ë ˆì´ë”ì— ë¬¼ì²´ë§Œ 나옵니다" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "ë ˆì´ë”ì— ì§€í˜•ê³¼ ê³ ë„ê°€ í˜¼í•©ë˜ ë‚˜ì˜µë‹ˆë‹¤" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "ë ˆì´ë”ì— ì§€í˜•ì´ ë‚˜ì˜µë‹ˆë‹¤" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "드러난 ì§€í˜•ì´ ë ˆì´ë”ì— ë‚˜ì˜µë‹ˆë‹¤" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "ë ˆì´ë”ì— ê³ ë„ê°€ 나옵니다" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "키보드 매핑" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "ì´ì „ 화면으로 ëŒì•„가기" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "기본으로 ì„ íƒí•˜ê¸°" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "ìƒì‚°" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "연구" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "건축" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "ë””ìžì¸" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "ë³´ë„ ë””ìŠ¤í”Œë ˆì´" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "사령관" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "ë ˆì´ë” 전환" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "메시지 콘솔 켜ì§/꺼ì§" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "ì†ìƒ 표시줄 켜ì§/꺼ì§" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "스í¬ë¦° 샷 ì°ê¸°" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "편대 ì†ë„ 제한 켜ì§/꺼ì§" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "ì´ì „ ë©”ì‹œì§€ì˜ ìœ„ì¹˜ 보기" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "센서 ë””ìŠ¤í”Œë ˆì´ ì¼œì§/꺼ì§" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "부대 0 할당하기" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "부대 1 할당하기" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "부대 2 할당하기" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "부대 3 할당하기" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "부대 4 할당하기" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "부대 5 할당하기" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "부대 6 할당하기" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "부대 7 할당하기" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "부대 8 할당하기" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "부대 9 할당하기" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "부대 0 ì„ íƒí•˜ê¸°" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "부대 1 ì„ íƒí•˜ê¸°" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "부대 2 ì„ íƒí•˜ê¸°" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "부대 3 ì„ íƒí•˜ê¸°" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "부대 4 ì„ íƒí•˜ê¸°" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "부대 5 ì„ íƒí•˜ê¸°" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "부대 6 ì„ íƒí•˜ê¸°" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "부대 7 ì„ íƒí•˜ê¸°" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "부대 8 ì„ íƒí•˜ê¸°" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "부대 9 ì„ íƒí•˜ê¸°" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "사령관 0 ì„ íƒí•˜ê¸°" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "사령관 1 ì„ íƒí•˜ê¸°" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "사령관 2 ì„ íƒí•˜ê¸°" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "사령관 3 ì„ íƒí•˜ê¸°" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "사령관 4 ì„ íƒí•˜ê¸°" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "사령관 5 ì„ íƒí•˜ê¸°" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "사령관 6 ì„ íƒí•˜ê¸°" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "사령관 7 ì„ íƒí•˜ê¸°" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "사령관 8 ì„ íƒí•˜ê¸°" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "사령관 9 ì„ íƒí•˜ê¸°" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "멀티플레ì´ì–´ 옵션 / ë™ë§¹ 다ì´ì–¼ë¡œê·¸" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "시야 ë¶ìª½ìœ¼ë¡œ ëŒë¦¬ê¸°" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "유닛 ì¶”ì  ì¹´ë©”ë¼ ì¼œì§/꺼ì§" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "게임 실행 중 옵션 보기" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "ë ˆì´ë” 줌아웃(축소)" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "ë ˆì´ë” 줌ì¸(확대)" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "화면 줌ì¸(확대)" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "화면 줌아웃(축소)" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "앞으로 시야 회전" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "좌측으로 시야 회전" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "시야 ìˆ˜ì§ íšŒì „ 리셋" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "우측으로 시야 회전" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "뒤로 시야 회전" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "명령 메뉴" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "게임 ì†ë„ 줄ì´ê¸°" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "게임 ì†ë„ 늘ì´ê¸°" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "게임 ì†ë„ 리셋" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "ë¶ìª½ 보기" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "남쪽 보기" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "ë™ìª½ 보기" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "서쪽 보기" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "ë‹¤ìŒ ì •ìœ  탑 보기" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "ë‹¤ìŒ ìˆ˜ë¦¬ 유닛 보기" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "ë‹¤ìŒ íŠ¸ëŸ­ 보기" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "ë‹¤ìŒ ì„¼ì„œ 유닛 보기" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "ë‹¤ìŒ ì‚¬ë ¹ê´€ 보기" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìŠ¤ 켜ì§/꺼ì§" # what is console? -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "메시지 콘솔 켜ì§/꺼ì§" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "본부 중심으로 시야를 맞추기" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "할당ë˜ì§€ ì•Šì€ ìœ ë‹› 보기" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "ìžìœ  ì˜ì‚¬ë¡œ 사격" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "본부로 ëŒì•„ê°€ë¼" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "ë¬¸ìž ë©”ì‹œì§€ 보내기" # are there other uses for beacons than asking for help? -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "표지 떨어뜨리기" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "센서 ë””ìŠ¤í”Œë ˆì´ ì¼œì§" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "센서 ë””ìŠ¤í”Œë ˆì´ êº¼ì§" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "ê·¸ë¦¼ìž ì¼œì§/꺼ì§" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "마우스 커서 ê°€ë‘기" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "ë ˆì´ë” 지형 전환" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "ì•„êµ°/ì êµ° ë ˆì´ë” ì „ë§ ì¼œì§/꺼ì§" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "모든 전투 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "심하게 ì†ìƒëœ 모든 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "모든 ë°˜ ë¬´í•œê¶¤ë„ ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "모든 호버추진 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "í™”ë©´ì— ë³´ì´ëŠ” 모든 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "모든 ë¬´í•œê¶¤ë„ ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "모든 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "모든 VTOL ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "모든 바퀴추진 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "비슷한 모든 ìœ ë‹›ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "ë‹¤ìŒ ê³µìž¥ ì„ íƒí•˜ê¸°" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "ë‹¤ìŒ ì—°êµ¬ ì‹œì„¤ì„ ì„ íƒí•˜ê¸°" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "ë‹¤ìŒ ì „ë ¥ 발전기를 ì„ íƒí•˜ê¸°" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "ë‹¤ìŒ ì‚¬ì´ë³´ê·¸ ê³µìž¥ì„ ì„ íƒí•˜ê¸°" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "ê²Œìž„ì„ ì €ìž¥í•  수 없습니다!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "ìˆ˜ì†¡ì„ ì— ì‹£ê¸°" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "목표 달성 (치팅했습니다!)" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "목표 달성" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "목표 달성 실패--그리고 치트를 사용했습니다!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "목표 달성 실패" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "ë©”ì¸ ë©”ë‰´ë¡œ 종료하기" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "게임 계ì†í•˜ê¸°" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "ê²Œìž„ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤ : " -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "ì„유 드럼통 ì†ì— ì „ë ¥ %u ì„ ì°¾ì•˜ìŠµë‹ˆë‹¤." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%sê°€ 당신ì—게 시계보고를 보냈습니다" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%sê°€ 당신ì—게 %s를 제공하였습니다" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "비어있지 ì•Šì€ %s를 í¬ê¸°í•˜ë ¤ 하였습니다 - 하지만 ì´ê²ƒì€ 허용ë˜ì§€ 않습니다." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%sê°€ 당신ì—게 기술 문서를 제공하였습니다" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%sê°€ 당신ì—게 ì „ë ¥ %u ì„ ì œê³µí•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%sê°€ ë‹¹ì‹ ê³¼ì˜ ë™ë§¹ì„ 요청합니다" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "ë‹¹ì‹ ì´ %s ì—게 ë™ë§¹ì„ 요청합니다" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%sê°€ %s와(ê³¼)ì˜ ë™ë§¹ì„ 깨었습니다" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%sê°€ %s와(ê³¼) ë™ë§¹ì„ 맺었습니다" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "ë‹¹ì‹ ì´ %sì˜ ì²­ì‚¬ì§„ì„ ë°œê²¬í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "설정 ì ìš©" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "취소" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP 주소 ë˜ëŠ” 컴퓨터 ì´ë¦„" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "ì—°ê²°" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "로비" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "참여 가능한 ê²Œìž„ì´ ì—†ìŠµë‹ˆë‹¤" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "ê²Œìž„ì´ ë§Œì›ìž…니다" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "ë‹¹ì‹ ì´ í‡´ìž¥ë‹¹í•˜ì˜€ìŠµë‹ˆë‹¤!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "ìž˜ëª»ëœ ê²Œìž„ 버젼입니다!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "ë‹¹ì‹ ì€ í˜¸í™˜ë˜ì§€ 않는 mod를 사용 중입니다." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "호스트가 파ì¼ì„ 보내지 못했습니다." -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "비밀번호가 틀립니다!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "í˜¸ìŠ¤íŠ¸ì˜ ì—°ê²°ì´ ëŠì–´ì¡ŒìŠµë‹ˆë‹¤!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "ì—°ê²° ì—러(Error)" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "찾는 중" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "게임" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "게임 ëª©ë¡ ìƒˆë¡œê³ ì¹¨" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "비밀번호를 입력하십시오:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "확ì¸" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "탱í¬ê°€ 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "사ì´ë³´ê·¸ê°€ 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤." -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "VTOLì´ ë¹„í™œì„±í™”ë˜ì—ˆìŠµë‹ˆë‹¤." -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "게임 ì´ë¦„ ì„ íƒ" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "싱글플레ì´ì–´ 스커미쉬" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "맵 ì„ íƒ" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "í´ë¦­í•˜ì—¬ 비밀번호를 설정하십시오" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "스ìºë¹ˆì €" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "스ìºë¹ˆì € ì—†ìŒ" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "플레ì´ì–´ ì´ë¦„ ì„ íƒ" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "디스턴스(거리) 안개" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "ë™ë§¹" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "ë™ë§¹ ì—†ìŒ" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "ë™ë§¹ 있ìŒ" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "팀 잠금" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "ë‚®ì€ ì „ë ¥ 수준" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "중급 ì „ë ¥ 수준" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "ë†’ì€ ì „ë ¥ 수준" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "기지" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "기지 ì—†ì´ ì‹œìž‘í•˜ê¸°" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "기지를 갖추고 시작하기" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "고급 기지를 갖추고 시작하기" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "맵 미리보기" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "ë§µì„ ë³´ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "게임 í˜¸ìŠ¤íŒ…ì„ ì‹œìž‘í•˜ê¸°" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "구조물 제한 보기" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "구조물 제한 설정하기" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "플레ì´ì–´ 색" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "플레ì´ì–´ 퇴장시키기" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "ìžì‹ ì˜ 위치 경호" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "팀" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "플레ì´ì–´ 퇴장시키기" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "준비ë˜ì—ˆì„ ë•Œ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "시작" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "플레ì´ì–´" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "팀 ì„ íƒ" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "ì¸ê³µ 지능 ë‚œì´ë„를 변경하려면 í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "채팅" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "모든 플레ì´ì–´ëŠ” 당신과 ê°™ì€ mod를 사용해야만 ê²Œìž„ì— ì°¸ì—¬í•  수 있습니다" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** ì´ì œ 비밀번호 [%s] ê°€ 요구ë©ë‹ˆë‹¤! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** 비밀번호가 요구ë˜ì§€ 않습니다! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "죄송합니다! 게임 í˜¸ìŠ¤íŒ…ì´ ì‹¤íŒ¨í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "'팀 잠금' 모드가 켜졌습니다" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "호스트가 %s를 게임ì—ì„œ 퇴장시켰습니다!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "호스트가 ê²Œìž„ì„ ì‹œìž‘í•˜ê³  있습니다" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "플레ì´ì–´" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "ë§µì„ ë³´ë‚´ëŠ” 중: %d%% " -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "맵: %d%% 다운로드 완료" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "호스트" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "플레ì´ì–´ê°€ ì•„ì§ ë“¤ì–´ì˜¤ê³  있습니다" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%sê°€ ê²Œìž„ì„ í‡´ìž¥í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "%dì—게 íŒŒì¼ ì „ì†¡ì´ ì·¨ì†Œë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u)는 호환ë˜ì§€ 않는 mod를 사용 중ì´ë©°, 게임ì—ì„œ 퇴장당하였습니다." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%sê°€ ê²Œìž„ì— ì°¸ì—¬í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "시스템 메시지:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "ê¸°ë³¸ê°’ì„ ì ìš©í•˜ê³  ì´ì „ 화면으로 ëŒì•„가기" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "제한 ê°’ì„ ê¸°ë³¸ê°’ìœ¼ë¡œ 재설정" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "기술 수준 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "기술 수준 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "기술 수준 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "플레ì´ì–´ 수 무제한" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 플레ì´ì–´" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 플레ì´ì–´" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 플레ì´ì–´" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 플레ì´ì–´" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 플레ì´ì–´" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 플레ì´ì–´" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 플레ì´ì–´" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "ì ìˆ˜" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "킬(Kills)" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "유닛" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "í•‘(Ping)" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "구조물" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "채ë„" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "ë™ë§¹ ìƒíƒœ 전환" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "시계보고 제공하기" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "기술 문서 누설하기" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "ì„ íƒëœ ìœ ë‹›ì„ ë„˜ê²¨ì£¼ê¸°" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "플레ì´ì–´ì—게 ì „ë ¥ 제공하기" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "ë°ì´í„° 무결성 ì‹œí—˜ì„ ê±´ë„ˆë›°ë ¤ 했기 ë•Œë¬¸ì— %sê°€ 퇴장당하였습니다!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(ë™ë§¹íŒ€" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(ê°œì¸ì ìž…니다 " -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[ì¸ì‹ 불가능]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "녹색" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "주황색" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "회색" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "검정색" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "빨강색" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "파랑색" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "í•‘í¬ìƒ‰" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "ì²­ë¡ìƒ‰" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "연구 완료: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "연구 완료" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "연구 ìƒ" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "ë‚´ 유닛: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "ì ì˜ 유닛: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "ë‚˜ì˜ êµ¬ì¡°ë¬¼: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "ì ì˜ 구조물: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "ìƒì‚°ëœ 유닛: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "유닛 ì´ìˆ˜: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "ê±´ì„¤ëœ êµ¬ì¡°ë¬¼: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "구조물 ì´ìˆ˜: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "루키: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "그린: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "견습병: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "정규병: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "프로페셔ë„: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "베테랑: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "엘리트: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "스페셜: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "히어로: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "유닛 ì†ì‹¤" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "구조물 ì†ì‹¤" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "êµ°ë ¥ ì •ë³´" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ë˜ì°¾ì€ 유물 수: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "임무 시간소요 - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "ì´ ê²Œìž„ 시간소요 - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "ë‹¹ì‹ ì´ ì¹˜íŠ¸í–ˆìŠµë‹ˆë‹¤!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ë‹¹ì‹ ì´ ìŠ¹ë¦¬í–ˆìŠµë‹ˆë‹¤!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "ë‹¹ì‹ ì´ íŒ¨ë°°í–ˆìŠµë‹ˆë‹¤!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "%sì´ í‘œì§€ë¥¼ 보냈습니다!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "표지 %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "유닛 %u개가 ì„ íƒë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "수리 ìœ ë‹›ì„ ì°¾ì„ ìˆ˜ 없습니다!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "íŠ¸ëŸ­ì„ ì°¾ì„ ìˆ˜ 없습니다!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "센서 ìœ ë‹›ì„ ì°¾ì„ ìˆ˜ 없습니다!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "ì‚¬ë ¹ê´€ì„ ì°¾ì„ ìˆ˜ 없습니다!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "제어 í•œê³„ì— ë„달하였습니다 - ìƒì‚°ì´ 중단ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - 유닛 %uê°œ 할당ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - ë°ë¯¸ì§€ %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %uê°œ ì—°ê²° ë˜ì—ˆìŠµë‹ˆë‹¤ (ì „ì²´ %uê°œ)" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - ì „ìžì ìœ¼ë¡œ ì†ìƒë¨" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "ì „ìžì  ë³´ìƒ - 시계보고" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "공장 ë³´ìƒ - 추진력" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "공장 ë³´ìƒ - 차체" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "공장 ë³´ìƒ - 무기" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "공장 ë³´ìƒ - ì—†ìŒ" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "수리 시설 ìƒ - 수리" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "수리 시설 ìƒ - ì—†ìŒ" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "수송선 출발" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "지ì›êµ°ì´ 착륙하고 있습니다" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (로컬 수정 ë° ì „í™˜switch)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (로컬 수정)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (로컬 전환switch)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - 디버그(DEBUG)" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - 빌드 날짜 %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "버젼 %s%s%s%s" +#~ msgid "Infinite Production" +#~ msgstr "무한 ìƒì‚°" + +#, fuzzy +#~ msgid "Player position" +#~ msgstr "ìžì‹ ì˜ 위치 경호" + #~ msgid "Plascrete MK3" #~ msgstr "플ë¼ìŠ¤í¬ë¦¬íŠ¸ Mk 3" diff --git a/po/la.po b/po/la.po index 5f3614cec..e2d2d34cb 100644 --- a/po/la.po +++ b/po/la.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-09 16:39+0000\n" "Last-Translator: Giel van Schijndel \n" "Language-Team: Latin\n" @@ -5731,7 +5731,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -12018,1046 +12018,1047 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Armorum" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "" -#: src/display.c:2036 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "" -#: src/droid.c:3303 +#: src/droid.cpp:3036 #, fuzzy msgid "Trained" msgstr "Exercitum" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "" -#: src/droid.c:3306 +#: src/droid.cpp:3039 #, fuzzy msgid "Veteran" msgstr "Veteranum" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "" -#: src/droid.c:3309 +#: src/droid.cpp:3042 #, fuzzy msgid "Hero" msgstr "Heros" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "" -#: src/hci.c:3707 +#: src/hci.cpp:3354 #, fuzzy msgid "Research (F2)" msgstr "Invenio" -#: src/hci.c:3723 +#: src/hci.cpp:3367 #, fuzzy msgid "Build (F3)" msgstr "Construo" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 #, fuzzy msgid "Power" msgstr "Vigor" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 #, fuzzy msgid "Tile" msgstr "Exercitum" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "" -#: src/hci.c:4090 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13065,1655 +13066,1658 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 #, fuzzy msgid "Power Accrued" msgstr "Vigor AdquirÄvi" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 #, fuzzy msgid "Circle" msgstr "Exercitum" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Invenio" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 #, fuzzy msgid "Research" msgstr "Invenio" -#: src/keymap.c:297 +#: src/keymap.cpp:297 #, fuzzy msgid "Build" msgstr "Construo" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s tibi visibilitatem relatum dÄt" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s tibi visibilitatem relatum dÄt" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "" - -#: src/multiint.c:1471 -msgid "Player position" -msgstr "" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +msgid "Click to change player colour" msgstr "" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +msgid "Click to change player position" +msgstr "" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 msgid "3 players" msgstr "" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 msgid "5 players" msgstr "" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 msgid "6 players" msgstr "" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 msgid "7 players" msgstr "" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 #, fuzzy msgid "Green" msgstr "Viridum" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Canum" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "NÄ­grum" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 #, fuzzy msgid "Red" msgstr "Rubrum" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Viridum" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "" msgstr[1] "" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" diff --git a/po/lt.po b/po/lt.po index 2c8d7a3f2..d24a0afab 100644 --- a/po/lt.po +++ b/po/lt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-09 16:42+0000\n" "Last-Translator: Roman \n" "Language-Team: Lithuanian \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -11992,381 +11992,386 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "VietinÄ— sistema" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Uždaryti" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "ŽaidÄ—jas" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "ŽaidÄ—jas" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "ŽaidÄ—jas" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Negalima statyti. Naftos telkinys dega." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Žala %d%% - Patirtis %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Žala %d%% - Patirtis %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Sunkvežimiui įsakyta sukonstruoti naftos platformÄ…" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Sunkvežimiui įsakyta sukonstruoti naftos platformÄ…" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Sunkvežimiui įsakyta sukonstruoti naftos platformÄ…" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Prarastas karinis vienetas!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Pastatas atkurtas" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" @@ -12374,7 +12379,7 @@ msgstr[0] "GrupÄ— %u priskirtas - %u Kovinis vienetas" msgstr[1] "GrupÄ— %u priskirti - %u Koviniai vienetai" msgstr[2] "GrupÄ— %u priskirti - %u Koviniai vienetai" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" @@ -12382,665 +12387,660 @@ msgstr[0] "%u kovinis vienetas priskirtas Grupei %u" msgstr[1] "%u Koviniai vienetai priskirti Grupei %u" msgstr[2] "%u Koviniai vienetai priskirti Grupei %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "ŽaidÄ—jas" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "ŽaidÄ—jas" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Pakrauti iÅ¡saugotÄ… žaidimÄ…" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Lotynų" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "Žaidimas iÅ¡saugotas" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "Žaidimas iÅ¡saugotas" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "ŽaidÄ—jas %u sukÄiauja (debug meniu) jam/jai naujas pastatas: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "ŽaidÄ—jas %u sukÄiauja (debug meniu) jam/jai naujos galimybÄ—s: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "ŽaidÄ—jas %u sukÄiauja (debug meniu) jam/jai naujas droidas: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "ŽaidÄ—jas %u sukÄiauja (debug meniu) jam/jai naujas droidas: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Kapitonas (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Valdymo skydas (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Pastatai (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "KÅ«rimas (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "IÅ¡radimas (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Pastatyti (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energija" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "IÅ¡saugoti žaidimÄ…" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "IÅ¡saugoti žaidimÄ…" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Karinis vienetas" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Statyti" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "NaujovÄ—" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "Hostas paliko žaidimÄ…" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "IÅ¡eiti" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "IÅ¡eiti iÅ¡ žaidimo" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "ŽaidÄ—jas" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Eigos juosta" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Nesibaigianti gamyba" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Gamyklinis iÅ¡eities taÅ¡kas" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Nesibaigianti gamyba" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Pasukti į kairÄ™" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Pasukti į deÅ¡inÄ™" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "IÅ¡saugoti žaidimÄ…" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "Hostas paliko žaidimÄ…" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13048,1668 +13048,1675 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Eigos juosta" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "IÅ¡radimas (F2)" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Pakrauti transportÄ…" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "Užduotis atlikta" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "Užduotis atlikta" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "Užduotis neatlikta" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "Užduotis neatlikta" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "IÅ¡eiti į pagrindinį meniu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "TÄ™sti žaidimÄ…" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "Žaidimas iÅ¡saugotas" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Duoda jums matymo praneÅ¡imÄ…" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Duoda jums %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, fuzzy, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "StengÄ—si atsikratyti %s - bet tai nÄ—ra leidžiama." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Duoda tau technologinius dokumentus" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s Duoda tau galios" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s PraÅ¡o sÄ…jungos su tavimi" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Tu pakviestas %s sukurti sÄ…jungÄ…" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s nutraukia sÄ…jungÄ… %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s sukuria sÄ…jungÄ… su %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Tu iÅ¡radai mÄ—lynus pÄ—dsakus skirtus %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Žydra" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "ŽaidÄ—jas" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "ŽaidÄ—jas" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "ŽaidÄ—jas" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +msgid "Click to change player colour" msgstr "" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "ŽaidÄ—jas" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "VietinÄ— sistema" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "ŽaidÄ—jas" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "ŽaidÄ—jas" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "ŽaidÄ—jas" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "ŽaidÄ—jas" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Karinis vienetas" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "Statyti" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Žalia" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "OranžinÄ—" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Pilka" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Juoda" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Raudona" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "MÄ—lyna" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "RožinÄ—" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Žydra" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Žalia" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "" msgstr[1] "" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "IÅ¡leisti transportÄ…" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Pastiprinimas leidžiasi" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Nesibaigianti gamyba" + #, fuzzy #~ msgid "Player number" #~ msgstr "ŽaidÄ—jas" diff --git a/po/nb.po b/po/nb.po index 4e7119789..0fbefc171 100644 --- a/po/nb.po +++ b/po/nb.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2008-05-09 16:54+0000\n" "Last-Translator: Olav Andreas Lindekleiv \n" "Language-Team: none\n" @@ -5746,7 +5746,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -12023,1075 +12023,1076 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "SystemsprÃ¥k" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Lukk" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 #, fuzzy msgid "Load a specific game" msgstr "Last Spill" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 #, fuzzy msgid "Disable asserts" msgstr "SlÃ¥ av skygger" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 #, fuzzy msgid "Load a saved game" msgstr "Last Spill" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "SlÃ¥ pÃ¥ skygger" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "SlÃ¥ av skygger" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Spiller" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Vekt" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Sensorradius" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Sensorkraft" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Rekkevidde" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "Spiller" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "Spiller" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Kan ikke bygge her. Oljeressurs brenner." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "" -#: src/display.c:2036 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Enhet Tapt!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Nybegynner" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Grønn" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Trent" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Vanlig" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesjonell" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Spesiell" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Helt" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 #, fuzzy msgid "Single Player" msgstr "Solospill" -#: src/frontend.c:99 +#: src/frontend.cpp:98 #, fuzzy msgid "Multi Player" msgstr "Samspill" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Introduksjon" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Alternativer" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Avslutt" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "HOVEDMENY" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "INTRODUKSJON" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "" -#: src/frontend.c:214 +#: src/frontend.cpp:213 #, fuzzy msgid "Start Skirmish Game" msgstr "Start med baser" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Last Spill" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "SOLOSPILL" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Last inn spill" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "SAMSPILL" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Bli med i spill" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "ALTERNATIVER" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Spillalternativer" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Grafikkalternativer" -#: src/frontend.c:426 +#: src/frontend.cpp:425 #, fuzzy msgid "Video Options" msgstr "Lydalternativer" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Lydalternativer" -#: src/frontend.c:428 +#: src/frontend.cpp:427 #, fuzzy msgid "Mouse Options" msgstr "Spillalternativer" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "PÃ¥" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Av" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "TÃ¥ke" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "KrigstÃ¥ke" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "SPILLALTERNATIVER" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Stemmevolum" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Lydeffektvolum" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Musikkvolum" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "SPILLALTERNATIVER" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "" -#: src/frontend.c:771 +#: src/frontend.cpp:769 #, fuzzy msgid "Graphics Mode*" msgstr "Grafikkalternativer" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "SPILLALTERNATIVER" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Spillalternativer" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "SPILLALTERNATIVER" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Vanskelighetsgrad" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Enkel" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Tøff" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Latin" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "SPILLALTERNATIVER" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "SPILL LAGRET!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "SPILL LAGRET!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Produksjon (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 #, fuzzy msgid "Design (F4)" msgstr "Design (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 #, fuzzy msgid "Research (F2)" msgstr "Forskning (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 #, fuzzy msgid "Build (F3)" msgstr "Bygg (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energi" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Last Spill" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Last Spill" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Lagre spill" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Lagre spill" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "" -#: src/hci.c:3986 +#: src/hci.cpp:3597 #, fuzzy msgid "Place tiles on map" msgstr "Sett strukturbegrensninger" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Enhet" -#: src/hci.c:3996 +#: src/hci.cpp:3607 #, fuzzy msgid "Place Unit on map" msgstr "Sett strukturbegrensninger" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 #, fuzzy msgid "Place Structures on map" msgstr "Sett strukturbegrensninger" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 #, fuzzy msgid "Place Features on map" msgstr "Sett strukturbegrensninger" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "Verten har forlatt spillet!" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Start uten baser" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 #, fuzzy msgid "Quit" msgstr "Avslutt" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Avslutt Spill" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Samspill" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Framdriftslinje" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "LeveringsmÃ¥l for fabrikk" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 #, fuzzy msgid "Resume Game" msgstr "Nullstill hastighet" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Lagre spill" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "Verten har forlatt spillet!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13099,1677 +13100,1682 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Framdriftslinje" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSE" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Beklager, den juksekoden er slÃ¥tt av i flerspiller-modus." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Las oss se hva du ser!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS-visning er slÃ¥tt pÃ¥." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS-visning er slÃ¥tt av." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Uendelig energi slÃ¥tt av" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Uendelig energi slÃ¥tt pÃ¥" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Alle gjenstander er nÃ¥ tilgjengelige" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "TÃ¥ke slÃ¥tt pÃ¥" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "TÃ¥ke slÃ¥tt av" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "Forskning" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demomodus slÃ¥tt av - GÃ¥r tilbake til normalt spillmodus" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 #, fuzzy msgid "Debug menu is Open" msgstr "Byggemenyen vil gjenÃ¥pnes" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Fant ingen repareringsenheter!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oi, værskifte i vente... SNØ" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Værtmelding: Klar himmel, ingen skyer i vente... IKKE VÆR" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Klarer ikke Ã¥ finne hovedkvarter!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Beklager, den juksekoden er slÃ¥tt av i flerspiller-modus." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Spillfart øker til %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Spillfart reduseres til %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar viser spillernes farger" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar viser kun gjenstander" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar viser terreng" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar viser terreng" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar viser høyde" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Bruk forhÃ¥ndsvalg" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Forskning" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Bygg" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Design" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "" -#: src/keymap.c:324 +#: src/keymap.cpp:324 #, fuzzy msgid "Select Group 0" msgstr "Nullstill hastighet" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "Alternativer for samspill" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoom inn" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoom ut" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Mindre spillhastighet" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Mer spillhastighet" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Nullstill hastighet" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Sensorradius" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "SlÃ¥ pÃ¥ skygger" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "Last Spill" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Tilbake til hovedmeny" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Fortsett spill" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "SPILL LAGRET!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s gir deg oversiktskart" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s gir deg en %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, fuzzy, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Prøvde Ã¥ gi bort en %s, men det er ikke lov." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s gir deg teknologidokumenter" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s gir deg energi" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s ønsker Ã¥ inngÃ¥ en allianse med deg" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Du inviterer %s til Ã¥ gÃ¥ inn i en allianse" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s bryter allianse med %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s gÃ¥r inn i alianse med %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aksepter instillinger" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "CyanblÃ¥" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP-adresse eller maskinnavn" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "TILKOBLING" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Entré" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "Alle gjenstander er nÃ¥ tilgjengelige" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Søker" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "SPILL" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Oppdater Spilliste" -#: src/multiint.c:952 +#: src/multiint.cpp:922 #, fuzzy msgid "Enter Password:" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Velg spillnavn" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Velg kart" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 #, fuzzy msgid "Click to set Password" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Velg spillernavn" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Allianser" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Ingen allianser" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Aktiver allianser" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "LÃ¥ste lag" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Lavt energinivÃ¥" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Middels energinivÃ¥" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Høyt energinivÃ¥" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Base" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Start uten baser" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Start med baser" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Start med avanserte baser" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "ForhÃ¥ndsvisning av kart" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Sett strukturbegrensninger" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Sett strukturbegrensninger" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Spiller" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "Samspill" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Spiller" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "SPILLERE" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Trykk for Ã¥ se kartet" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "LÃ¥ste lag" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar viser spillernes farger" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Spiller" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "PRAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "LÃ¥ste lag" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Verten har kastet ut %s fra spillet!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Vert starter spill" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Spillere" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s har forlatt spillet" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s hopper inn pÃ¥ spillet" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "SystemsprÃ¥k" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "Spillere" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "Spillere" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "Spillere" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "Spillere" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "Enhet" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Allianser" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Grønn" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oransje" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "GrÃ¥" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Svart" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rød" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "BlÃ¥" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Rosa" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "CyanblÃ¥" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, fuzzy, c-format msgid "Research completed: %s" msgstr "Forskning ferdig: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Forskning ferdig" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "Grønn" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "DU HAR VUNNET!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "DU HAR TAPT!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u enhet valgt" msgstr[1] "%u enheter valgt" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Fant ingen repareringsenheter!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Skade %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Forbundet med %u av %u mulige" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektrisk skadet" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Send transport" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Forsterkninger lander" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - bygd %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Version %s%s%s%s" diff --git a/po/nl.po b/po/nl.po index e02f44beb..b016ca5f4 100644 --- a/po/nl.po +++ b/po/nl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2009-10-31 12:10+0100\n" "Last-Translator: \n" "Language-Team: Dutch \n" @@ -5731,7 +5731,7 @@ msgid "New Design" msgstr "Nieuw ontwerp" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Vervoer" @@ -12200,1059 +12200,1059 @@ msgstr "Zwaar kanon" msgid "Plasmite Retribution VTOL" msgstr "Gemiddelde carrosserie - Vergelding" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Systeemtaal" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 #, fuzzy msgid "Enter password here" msgstr "Vul eerst het wachtwoord in" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, fuzzy, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Kan niet communiceren met de lobby server! is TCP port 9990 open?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Sluiten" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Valsspelen aanzetten" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Stel instellingenmap in" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "instellingenmap" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Stel standaard gegevensmap in" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "gegevensmap" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Laat fouten zien voor gegeven niveau" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "foutenniveau" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Sla foutenuitvoer op in logboek" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "bestand" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Spoel alle debug uitvoer naar stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Speel met volledig scherm" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Laad een specifiek spel" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "spelnaam" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Geef dit helpbericht weer en stop" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Globale mod aanzetten" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Een mod alleen voor veldtocht aanzetten" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Een mod alleen voor meerdere spelers aanzetten" -#: src/clparse.c:244 +#: src/clparse.cpp:244 #, fuzzy msgid "Disable asserts" msgstr "Schaduwen uitschakelen" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Veroorzaakt een crash om de crash handler te testen." -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Laad een opgeslagen spel" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "opgeslagen spel" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Speel in een venster" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Laat versieinformatie zien en sluit af" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Resolutie instellen" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "BREEDTExHOOGTE" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Schaduwen inschakelen" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Schaduwen uitschakelen" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Geluid inschakelen" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Geluid uitschakelen" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Zelftest activeren" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "Verbindt direct naar IP/gastheer naam" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "gastheer" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "Ga direct naar het gastheer scherm" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Speler" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nieuw voertuig" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Carrosserie" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Voertuigaandrijving" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Geschutskoepel" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Verwijder ontwerp" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Kinetisch pantser" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Hitteschild" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Motoruitvoer" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Gewicht" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Totale energie nodig" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Totale carrosseriepunten" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Energieverbruik" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Sensorbereik" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Sensorvermogen" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM-energie" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Bouw-punten" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Bereik" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Schade" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Vuursnelheid" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Luchtsnelheid" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Wegsnelheid" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Snelheid buiten de weg" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Watersnelheid" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Wapens" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Systemen" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Speler verliet het spel" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Speler gevallen" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Op andere spelers wachten" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Kan niet bouwen. De oliebron staat in brand." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Schade %d%% - Ervaring %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Schade %d%% - Ervaring %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Vrachtwagen bevel gegeven om jaknikker te bouwen." -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Vrachtwagen bevel gegeven om jaknikker te bouwen." -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Vrachtwagen bevel gegeven om jaknikker te bouwen." -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Eenheid verloren!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Gebouw hersteld" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Groep %u geselecteerd - %u eenheid" msgstr[1] "Groep %u geselecteerd - %u eenheden" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u eenheid aan groep %u toegewezen" msgstr[1] "%u eenheden aan groep %u toegewezen" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Gecentreerd op groep %u - %u eenheid" msgstr[1] "Gecentreerd op groep %u - %u eenheden" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Rekruut" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Groen" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Geoefend" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Beroeps" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Professioneel" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteraan" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Speciaal" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Held" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Een speler" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Meerdere spelers" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Oefenpotje" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Instellingen" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Bekijk intro" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Spel afsluiten" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "HOOFDMENU" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Snel spelen" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "OEFENPOTJES" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Terug" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nieuwe veldtocht" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Start schermutseling" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Spel laden" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "EEN SPELER" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Opgeslagen spel laden" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MEERDERE SPELERS" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Spel verzorgen" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Deelnemen aan spel" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPTIES" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Spelinstellingen" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Beeldinstellingen" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Video-instellingen" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Geluidsinstellingen" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Muisinstellingen" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Sneltoetsen" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Video afspelen" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1x" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2x" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Volledig scherm" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Scherm schudden" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Aan" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Uit" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Mist" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Nevel" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Oorlogsmist" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Ondertitels" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Schaduwen" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "SPELINSTELLINGEN" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Stemvolume" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Effectenvolume" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Muziekvolume" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "SPELINSTELLINGEN" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Gaat in na herstart" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Grafische modus*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Venster" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resolutie*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Structuurgrootte" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Verticale synchr*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "SPELINSTELLINGEN" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "Draai knoppen om" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Cursor opsluiten" -#: src/frontend.c:987 +#: src/frontend.cpp:985 #, fuzzy msgid "Colored Cursors*" msgstr "Gekleurde Muis wijzer *" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Verwissel Muis Knoppen" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Draai naar links" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "SPELINSTELLINGEN" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Moeilijkheidsgraad" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Makkelijk" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normaal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Moeilijk" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Scrollsnelheid" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Taal" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Speelkleur" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Draai naar rechts" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "SPELINSTELLINGEN" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAP OPGESLAGEN!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "SPEL OPGESLAGEN!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Gebouw neerzetten mislukt" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Speler %u heeft zichzelf met cheats (debugmenu) een nieuw gebouw gegeven: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Speler %u heeft zichzelf met cheats (debugmenu) een nieuw voorwerp gegeven: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Speler %u heeft zichzelf met cheats (debugmenu) een nieuw eenheid gegeven: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Speler %u heeft zichzelf met cheats (debugmenu) een nieuw eenheid gegeven: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Commandanten (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Inlichtingen (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Produceer (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Ontwerp (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Onderzoek (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Bouw (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Spel laden" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Spel laden" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Spel opslaan" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Spel opslaan" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Tegel" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Tegels op kaart plaatsen" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Eenheid" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Eenheid op kaart plaatsen" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Gebouw" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Gebouwen op kaart plaatsen" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Kenm." -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Kenmerken op kaart plaatsen" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Spel pauzeren of verdergaan" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Hoogte van alle kaartobjecten uitlijnen" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Start zonder basis" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Afsluiten" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Spel verlaten" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Meerdere spelers" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Voortgangsbalk" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Productie herhalen" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Fabrieksafleverpunt" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Productie herhalen" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Spel hervatten" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Spel opslaan" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "De gastheer heeft het spel verlaten!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13260,1686 +13260,1695 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Bouw-punten" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Constructie Eenheid" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energie toegenomen" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "GEPAUZEERD" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Onderzoeksverbetering" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Projectdoelen" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Huidig doel" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Nieuwe inlichtingen" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Kort bereik" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Groot bereik" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimaal bereik" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Terugkeren bij gemiddelde schade" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Terugkeren bij zware schade" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "De dood of de gladiolen!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Vuur vrij" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Terugschieten" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Niet schieten" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrouilleren" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Achtervolgen" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Bewaak positie" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hou positie" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Keer terug voor reparatie" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Keer terug naar HK" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ga naar vervoer" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Keer terug voor hergebruik" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Hergebruiken" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Fabrieksproductie toewijzen" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Cyborg-fabrieksproductie toewijzen" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Vuursteun toewijzen" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "VTOL-fabrieksproductie toewijzen" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Cirkel" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Het spijt me, maar vals spelen mag niet in spelletjes met meerdere spelers." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Waarschuwing! deze cheat werkt niet goed. Wij raden aan deze NIET te gebruiken." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Laat ons zien wat jij ziet!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 #, fuzzy msgid "Fine, weapon & sensor display is off!" msgstr "Goed, sensorweergave is uit!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(speler %u) gebruikt cheat :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Spijkerhard!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Doe het rustig aan!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 grote jongens!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Overweldigende energie" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Terug naar normaal!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Wordt moeilijk!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Twee keer zo fijn!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS-weergave aan." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS-weergave uit." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Oneindige energie uit" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Oneindige energie aan" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Alle onderdelen beschikbaar" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Mist aan" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Mist uit" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Waarschuwing! Deze cheat kan verschrikelijke problemen veroorzaken! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Einde Missie." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "CHEATS ZIJN NU INGESCHAKELD!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "CHEATS ZIJN NU UITGESCHAKELD!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "God Modus AAN" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "God Modus UIT" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Kijk richting het noorden" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, fuzzy, c-format msgid "Trap cursor %s" msgstr "Cursor opsluiten" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "ALLES onderzocht!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Speler %u) gebruikt cheat :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Onderzocht" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demomodus uit - Terug naar normaal spel" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Debug menu is open" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Kon geen vrachtwagens vinden!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "O, het weer buiten is vreselijk... SNEEUW" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Spetter spitter spater, lekker in het water... REGEN" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Weerbericht: heldere hemel in alle richtingen... GEEN WEER" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 #, fuzzy msgid "All enemies destroyed by cheating!" msgstr "Vijand vernietigd door vals spelen!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Kijk op spelers HK, richting het NOORDEN" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Kan het HK niet vinden!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Het spijt me, maar vals spelen mag niet in spelletjes met meerdere spelers." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Speelsnelheid herstellen" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Speelsnelheid toegenomen tot %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Speelsnelheid verminderd tot %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar toont vriend-en-vijand-kleuren" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar toont spelerskleuren" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar toont enkel objecten" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar toon terrein en hoogte" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar toont terrein" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar toont terrein" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar toont hoogte" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Terug naar vorig scherm" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Standaardwaarde instellen" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Produceer" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Onderzoek" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Bouw" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Ontwerp" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Inlichtingenscherm" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Commandanten" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Toon radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Toon paneel" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Schadebalken aan/uit" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Schermafdruk nemen" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Snelheid beperken door formatie" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Bekijk plaats van vorig bericht" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Toon paneel" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Groep 0 toekennen" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Groep 1 toekennen" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Groep 2 toekennen" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Groep 3 toekennen" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Groep 4 toekennen" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Groep 5 toekennen" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Groep 6 toekennen" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Groep 7 toekennen" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Groep 8 toekennen" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Groep 9 toekennen" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Selecteer groep 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Selecteer groep 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Selecteer groep 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Selecteer groep 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Selecteer groep 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Selecteer groep 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Selecteer groep 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Selecteer groep 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Selecteer groep 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Selecteer groep 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Selecteer commandant 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Selecteer commandant 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Selecteer commandant 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Selecteer commandant 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Selecteer commandant 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Selecteer commandant 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Selecteer commandant 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Selecteer commandant 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Selecteer commandant 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Selecteer commandant 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "Opties voor meerdere spelers" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Kijk op noord" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Camera volgen" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Toon inspelopties" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zoom radar uit" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zoem radar in" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zom in" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoom uit" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Draai naar links" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Draai naar rechts" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Bevelmenu" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Speelsnelheid verlagen" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Speelsnelheid verhogen" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Speelsnelheid herstellen" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Kijk naar het noorden" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Kijk naar het zuiden" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Kijk naar het oosten" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Kijk naar het westen" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Bekijk volgende jaknikker" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Bekijk volgende reparatie-eenheid" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Bekijk volgende vrachtwagen" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Bekijk volgende sensoreenheid" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Toon volgende commandant" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Tussen deklagen schakelen" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Paneel aan/uit" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Bekijk HK" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Bekijk niet-toegekende eenheden" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Vrij vuren" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Keer terug naar HK" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Stuur tekstbericht" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Sensorbereik" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Schaduwen inschakelen" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Cursor opsluiten" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Toon radar" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Selecteer alle gevechtseenheden" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Selecteer alle zwaarbeschadigde eenheden" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Selecteer alle halfbanden" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Selecteer alle luchtkussens" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Selecteer alle eenheden op scherm" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Selecteer alle banden" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Selecteer ALLE eenheden" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Selecteer alle VTOLs" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Selecteer alle wielen" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Selecteer alle gelijke eenheden" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Selecteer de volgende fabriek" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Selecteer het volgende onderzoekscentrum" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Ga naar volgende energiegenerator" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Ga naar volgende cyborg-fabriek" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Kon het spel NIET opslaan!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Vervoer inladen" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "DOEL BEHAALD door vals spelen!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "DOEL BEHAALD" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "DOEL MISLUKT-- en je hebt valsgespeeld!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "DOEL MISLUKT" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Afsluiten naar hoofdmenu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Spel vervolgen" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "SPEL OPGESLAGEN!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, fuzzy, c-format msgid "You found %u power in an oil drum." msgstr "jij hebt %u energie gevonden in een olie ton" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s geeft je een kaart" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s geeft je een %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, fuzzy, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Geprobeerd om een %s weg te geven - dit is echter niet toegelaten." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s geeft je onderzoeksrapporten" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s geeft je energie" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s wil een bondgenootschap met je vormen." -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Je hebt %s uitgenodigd voor een bondgenootschap" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s verbreekt het bondgenootschap met %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s vormt een bondgenootschap met %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Je ontdekt blauwdrukken voor %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accepteer instellingen" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Lansier" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP-adres of computernaam" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "VERBINDING" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "Nieuwe technologieën zijn beschikbaar" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Spel is vol" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "jij bent eruit geschopt!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Verkeerde spel versie!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Incorrect wachtwoord!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Gastheer heeft de connectie verbroken!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Connectie fout" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Zoeken" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "SPELLEN" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Ververs lijst met spellen" -#: src/multiint.c:952 +#: src/multiint.cpp:922 #, fuzzy msgid "Enter Password:" msgstr "Vul eerst het wachtwoord in" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Nieuwe cyborg beschikbaar" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Kies spelnaam" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "Schermutseling voor 1 speler" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Kies kaart" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Klik om wachtwoord intevullen" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 #, fuzzy msgid "Scavengers" msgstr "Aaseter" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 #, fuzzy msgid "No Scavengers" msgstr "Aaseter" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Kies spelernaam" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Afstandsmist" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Bondgenootschappen toestaan" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Geen bondgenootschappen toestaan" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Bondgenootschappen toestaan" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Vergrendelde ploegen" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Lage energieniveaus" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Normale energieniveaus" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Hoge energieniveaus" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Basis" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Start zonder basis" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Start met basis" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Start met gevanceerde basis" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Kaartvoorbeeld" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Klik om kaart te zien" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Optreden als gastheer" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Gebouwlimiet instellen" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Gebouwlimiet instellen" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Speler verliet het spel" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "Ploeg" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2 spelers" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Bewaak positie" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "Ploeg" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Klik zodra klaar" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "SPELERS" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Klik om wachtwoord intevullen" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Vergrendelde ploegen" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar toont spelerskleuren" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Bewaak positie" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "BABBEL" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** wachtwoord is NU nodig! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** Er is GEEN wachtwoord nodig! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Vergrendelde ploegen" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "De gastheer heeft %s uit het spel verwijderd!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Gastheer start spel" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Spelers" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Spelers komen nog steeds binnen" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s heeft het spel verlaten" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s neemt deel aan het spel" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Systeem bericht:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Terug naar vorig scherm" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Technologyniveau 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Technologyniveau 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Technologyniveau 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Elk aantal spelers" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 spelers" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 spelers" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 spelers" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 spelers" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 spelers" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 spelers" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 spelers" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Score" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Doden" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Eenheden" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Gebouwen" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Bondgenootschap veranderen" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Zichtbaarheidsrapport geven" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Onderzoeksdocumenten laten uitlekken" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Geselecteerde eenheden overdragen" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Geef energie aan speler" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Bondgenootschappen toestaan" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Groen" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranje" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Grijs" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Zwart" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Rood" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Blauw" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Roze" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cyaan" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Onderzoek voltooid: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Onderzoek voltooid" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Onderzoeksonderscheiding" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Eigen eenheden: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Vijandelijke eenheden: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Eigen gebouwen: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Vijandelijke gebouwen: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Eenheden geproduceerd: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Totaal aantal eenheden: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Gebouwen gebouwd: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Totaal aantal gebouwen: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Rekruut: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Groen: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Geoefend: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Beroeps: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Professioneel: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteraan: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Speciaal: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Held: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Eenheden verloren" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Gebouwen verloren" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informatie omtrent sterkte" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFACTEN TERUGGEWONNEN: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Missietijd - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Totale speeltijd - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Je hebt valsgespeeld!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "JE HEBT GEWONNEN!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "JE BENT VERSLAGEN!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Baken ontvangen van %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Baken %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u eenheid geselecteerd" msgstr[1] "%u eenheden geselecteerd" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Kon geen reparatie-eenheden vinden!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Kon geen vrachtwagens vinden!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Kon geen sensoreenheden vinden!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Kon geen commandanten vinden!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Commando controlelimiet bereikt - Productie gestopt" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Eenheid toegewezen" msgstr[1] "%s - %u Eenheden toegewezen" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Schade %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Verbonden met %u van %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronisch beschadigd" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektronische onderscheiding - Zichtbaarheidsverslag" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Fabrieksonderscheiding - Aandrijving" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Fabrieksonderscheiding - Carrosserie" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Fabrieksonderscheiding - Wapen" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Fabrieksonderscheiding - Niets" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Reparatie-onderscheiding - Reparatie" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Reparatie-onderscheiding - Niets" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Vervoer wegsturen" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Versterkingen landen" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (lokaal gewijzigd en gewisseld)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (lokaal gewijzigd)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (lokaal gewisseld)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - FOUTEN VERWIJDEREN" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Gebouwd %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versie %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Productie herhalen" + #, fuzzy #~ msgid "Player number" #~ msgstr "Speler verliet het spel" diff --git a/po/pl.po b/po/pl.po index fa408d2c1..7c1a05cda 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 16:53+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-12-11 17:00+0100\n" "Last-Translator: MichaÅ‚ D. aka Emdek \n" "Language-Team: Polish \n" @@ -5732,7 +5732,7 @@ msgid "New Design" msgstr "Nowy projekt" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transportowiec" @@ -12002,379 +12002,384 @@ msgstr "Pyton poduszkowiec z dziaÅ‚em HPV" msgid "Plasmite Retribution VTOL" msgstr "Odwet luk bomb plazmowych VTOL" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "JÄ™zyk systemu" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Wpisz hasÅ‚o tutaj" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Nie można rozwinąć nazwy głównego serwera (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Nie można skomunikować siÄ™ z serwerem lobby! Czy port %u TCP jest otwarty dla ruchu wychodzÄ…cego?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Zamknij" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Uruchom w trybie kodów" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Ustaw katalog z konfiguracjÄ…" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "katalog z konfiguracjÄ…" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Ustaw domyÅ›lny katalog danych" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "katalog danych" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Pokaż odpluskwianie dla danego poziomu" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "poziom odpluskwiania" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Loguj odpluskwianie do pliku" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "plik" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "WyÅ›lij dane odpluskwiania do stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Graj na peÅ‚nym ekranie" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Wczytaj specyficznÄ… grÄ™" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "gra-nazwa" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Pokaż ten ekran pomocy i wyjdź" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "WÅ‚Ä…cz mod globalny" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "WÅ‚Ä…cz mod do kampanii" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "WÅ‚Ä…cz mod do multi" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "WyÅ‚Ä…cz asercje" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Powoduje awariÄ™ w celu sprawdzenia obsÅ‚ugi awarii" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Wczytaj zapisanÄ… grÄ™" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "zapisana gra" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Graj w oknie" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "WyÅ›wietl informacjÄ™ o wersji i wyjdź" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Ustaw rozdzielczość" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "SZEROKOŚĆxWYSOKOŚĆ" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "WÅ‚Ä…cz cienie" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "WyÅ‚Ä…cz cienie" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "WÅ‚Ä…cz dźwiÄ™k" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "WyÅ‚Ä…cz dźwiÄ™k" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Aktywuj autotest" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "poÅ‚Ä…cz od razu przez IP/nazwÄ™ hosta" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "host" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "Idź od razu na ekran hosta" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Gracz" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nowy pojazd" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "KadÅ‚ub pojazdu" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "NapÄ™d pojazdu" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Wieżyczka pojazdu" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "UsuÅ„ projekt" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Pancerz kinetyczny" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Pancerz termiczny" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Moc silnika" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Waga" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "ÅÄ…czna wymagana energia" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "ÅÄ…czne punkty zdrowia" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Zużycie energii" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hydra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "ZasiÄ™g radaru" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Moc radaru" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Moc ECM" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "PrÄ™dkość budowania" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "ZasiÄ™g" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Obrażenia" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Szybkostrzelność" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "PrÄ™dkość w powietrzu" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "PrÄ™dkość na drogach" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "PrÄ™dkość na bezdrożach" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "PrÄ™dkość na wodzie" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Bronie" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Systemy" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Gracz opuÅ›ciÅ‚ grÄ™" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Gracz odrzucony" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Oczekiwanie na graczy" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Nie można budować. PÅ‚onie ropa." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Obrażenia %d%% - DoÅ›wiadczenie %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Sojusznik - Obrażenia %d%% - DoÅ›wiadczenie %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Rozkazano ciężarówce zbudować platformÄ™ wydobywczÄ…" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Rozkazano ciężarówce zbudować platformÄ™ wydobywczÄ…" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Rozkazano ciężarówce zbudować platformÄ™ wydobywczÄ…" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Jednostka utracona!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Struktura odbudowana" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" @@ -12382,7 +12387,7 @@ msgstr[0] "Wybrana grupa %u - %u jednostka" msgstr[1] "Wybrana grupa %u - %u jednostki" msgstr[2] "Wybrana grupa %u - %u jednostek" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" @@ -12390,7 +12395,7 @@ msgstr[0] "%u jednostka przypisana do Grupy %u" msgstr[1] "%u jednostki przypisane do Grupy %u" msgstr[2] "%u jednostek przypisano do Grupy %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" @@ -12398,7 +12403,7 @@ msgstr[0] "WyÅ›rodkowano na grupie %u - %u jednostka" msgstr[1] "WyÅ›rodkowano na grupie %u - %u jednostki" msgstr[2] "WyÅ›rodkowano na grupie %u - %u jednostek" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" @@ -12407,643 +12412,639 @@ msgstr[1] "Wyrównanie z grupÄ… %u - %u jednostki" msgstr[2] "Wyrównanie z grupÄ… %u - %u jednostek" # I had really trouble with this one. This word has no meaning in Polish so I decided to translate it as 'Newbe' -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Nowicjusz" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Zielony" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Wyszkolony" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Zawodowy" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesjonalny" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Weteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elita" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Specjalny" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Bohater" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "%s chciaÅ‚ dać ci %s ale masz już ich zbyt wiele!" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "ChciaÅ‚eÅ› dać %s %s ale ma ich już ich zbyt wiele!" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Gra jednoosobowa" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Gra wieloosobowa" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Szkolenie" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Opcje" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Zobacz intro" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Wyjdź z gry" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENU GÅÓWNE" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Szybka rozgrywka" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "SZKOLENIA" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Powrót" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nowa kampania" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Rozpocznij potyczkÄ™" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Wyzwania" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "ZaÅ‚aduj grÄ™" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "JEDEN GRACZ" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "ZaÅ‚aduj zapisany stan gry" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "WIELU GRACZY" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Utwórz grÄ™" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "DoÅ‚Ä…cz do gry" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPCJE" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Ustawienia gry" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Opcje grafiki" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Ustawienia obrazu" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Ustawienia dźwiÄ™ku" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Ustawienia myszki" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Skróty klawiszowe" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Odtwarzanie filmów" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "PeÅ‚ny ekran" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "WstrzÄ…sy ekranu" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "WÅ‚Ä…cz" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "WyÅ‚Ä…cz" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "MgÅ‚a" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "MgieÅ‚ka" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "MgÅ‚a wojny" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Napisy" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Cienie" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "USTAWIENIA GRAFIKI" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "GÅ‚oÅ›ność mowy" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "GÅ‚oÅ›ność efektów" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "GÅ‚oÅ›ność muzyki" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "USTAWIENIA DŹWIĘKU" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Wymaga restartu gry" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Tryb graficzny*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "W oknie" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Rozdzielczość*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Rozmiar tekstury" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Synchron. pionowa*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "USTAWIENIA WIDEO" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Może zmniejszyć wydajność" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Odwróć rotacjÄ™" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "ZÅ‚ap kursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Kolorowe kursory*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Odwróć przyciski" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "Obracanie ekranu" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 #, fuzzy msgid "Middle Mouse" msgstr "Åšrodkowy przycisk" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 #, fuzzy msgid "Right Mouse" msgstr "Prawy przycisk" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "USTAWIENIA MYSZKI" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Poziom trudnoÅ›ci" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Åatwy" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normalny" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Trudny" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Szybkość przewijania" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "JÄ™zyk" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Kolor jednostek" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "Radar" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "ObracajÄ…cy siÄ™" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "Nieruchomy" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "USTAWIENIA GRY" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod: " -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAPA ZAPISANA!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "GRA ZAPISANA :" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Nie udaÅ‚o siÄ™ utworzyć budynku" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Gracz %u oszukuje (menu odpluskwiania) by zdobyć nowÄ… strukturÄ™: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Gracz %u oszukuje (menu odpluskwiania) by zdobyć nowy obiekt: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Gracz %u oszukuje (menu odpluskwiania) by zdobyć nowÄ… jednostkÄ™: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Gracz %u oszukuje (menu odpluskwiania) by zdobyć nowÄ… jednostkÄ™: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Dowódcy (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Dane wywiadu (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Produkcja (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Projekt (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Badania (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Buduj (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "Mapa:" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "ZaÅ‚aduj" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "ZaÅ‚aduj plik mapy" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "Zapisz" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "Zapisz plik mapy" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "Nowa" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "Nowa mapa" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Kafel" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Umieść kafel na mapie" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Jednostka" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Umieść jednostkÄ™ na mapie" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Struktura" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Umieść struktury na mapie" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Obiekt" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Umieść obiekty specjalne na mapie" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "Pauza" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Spauzuj lub wznów grÄ™" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Wyrównaj wysokość wszystkich obiektów mapy" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "Edytuj" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "Rozpocznij tryb edycji" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Wyjdź" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "ZakoÅ„cz grÄ™" -#: src/hci.c:4090 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "Aktualny gracz:" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Pasek postÄ™pu" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "Produkcja ciÄ…gÅ‚a" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Punkt dostaw fabryki" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Cykl produkcji" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "PrzewiÅ„ zakÅ‚adki w lewo" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "PrzewiÅ„ zakÅ‚adki w prawo" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Kontynuuj grÄ™" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "OSTRZEÅ»ENIE: jesteÅ› hostem. Gdy wyjdziesz, gra zostaje zakoÅ„czona dla wszystkich!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Zapisz grÄ™" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Host opuÅ›ciÅ‚ grÄ™!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Gra nie może być kontynuowana bez hosta." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> WYJÅšCIE <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13054,1531 +13055,1537 @@ msgstr "" "\n" "Warzone spróbuje zaÅ‚adować grÄ™ bez niego." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "PrÄ™dkość budowania" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Jednostka budujÄ…ca" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Moc zwiÄ™kszona" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUZA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Zaktualizowane badania" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Cele Projektu" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Obecny cel" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Nowy raport wywiadu" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Krótki zasiÄ™g" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Daleki zasiÄ™g" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optymalny zasiÄ™g" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Wycofaj siÄ™ przy Å›rednich obrażeniach" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Wycofaj siÄ™ przy ciężkich obrażeniach" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Wykonaj lub giÅ„!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Strzelaj bez rozkazu" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Odpowiadaj ogniem" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Wstrzymaj ogieÅ„" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patroluj" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Åšcigaj" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "ChroÅ„ pozycjÄ™" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Trzymaj pozycjÄ™" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Wróć do naprawy" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Wróć do kwatery głównej" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Idź do transportu" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Wróć na przetworzenie" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Przetwórz" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Przypisz produkcjÄ™ Fabryki" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Przypisz produkcjÄ™ Fabryki Cyborgów" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Przypisz wsparcie ogniowe" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Przypisz produkcjÄ™ Fabryki VTOL" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Krąż" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Przepraszamy, ten kod jest zablokowany w grze wieloosobowej." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Ostrzeżenie! To oszustwo zawiera bÅ‚Ä™dy. Nie zalecamy używania go." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Pozwól nam zobaczyć to co widzisz!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Dobra, pokazywanie broni i radarów wyÅ‚Ä…czone!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Gracz %u) używa oszustwa :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Twardziele!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Na luzie!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 wielgachnych!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "PrzytÅ‚aczajÄ…cy poziom energii" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Powrót do normalnoÅ›ci!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Oszukujemy!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Dwa razy lepiej!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Pokazuj FPS." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Nie pokazuj FPS." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Gracz %u) używa oszustwa :Liczba droidów: %d Liczba struktur: %d Liczba obiektów: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "NieskoÅ„czona energia wyÅ‚Ä…czona" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "NieskoÅ„czona energia wÅ‚Ä…czona" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Wszystkie przedmioty dostÄ™pne." -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "MgÅ‚a wÅ‚Ä…czona" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "MgÅ‚a wyÅ‚Ä…czona" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Ostrzeżenie! To oszustwo może powodować poważne problemy w przyszÅ‚oÅ›ci! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "ZakoÅ„czenie misji." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "OSZUKIWANIE JEST TERAZ AKTYWNE!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "OSZUKIWANIE JEST TERAZ WYÅÄ„CZONE!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "God Mode WÅÄ„CZONY" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "God Mode WYÅÄ„CZONY" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Widok ustawiony na północ" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "ZÅ‚ap kursor %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "WSZYSTKIE badania ukoÅ„czone!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Gracz %u) używa oszustwa :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Zbadane" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "WyÅ›wietlaj pasek energii tylko przy zaznaczaniu" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Zawsze wyÅ›wietlaj pasek energii dla jednostek" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Zawsze wyÅ›wietlaj pasek energii dla jednostek oraz struktur" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Tryb demo wyÅ‚Ä…czony - Powrót do normalnego trybu gry" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Menu odpluskwiania jest otwarte" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "Niemożna odnaleźć platform wydobywczych!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Już Å›wiÄ™ta?... ÅšNIEG" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "ZebraÅ‚y siÄ™ ciemne chmury... DESZCZ" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Prognoza: Czyste niebo na caÅ‚ym obszarze... BRAK POGODY" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Ostrzeżenie! Może to mieć drastyczne konsekwencje w przypadku niewÅ‚aÅ›ciwego użycia w misjach." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Wszyscy przeciwnicy zniszczeni przez oszukiwanie!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Niszczenie zaznaczonych droidów i struktur!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "WyÅ›rodkowano na kwaterÄ™ głównÄ… gracza, kierunek PÓÅNOC" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Nie udaÅ‚o siÄ™ zlokalizować kwatery głównej!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Limit szybkoÅ›ci tworzenia zostaÅ‚ usuniÄ™ty z gry z powodu bÅ‚Ä™dów." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Kierunek pionowej rotacji: normalny" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Kierunek pionowej rotacji: odbity" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "WstrzÄ…sy ekranu gdy coÅ› ginie: WyÅ‚Ä…czone" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "WstrzÄ…sy ekranu gdy coÅ› ginie: WÅ‚Ä…czone" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Przepraszamy, prÄ™dkość gry nie może zostać zmieniona w grze wieloosobowej." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Przywróć normalnÄ… prÄ™dkość gry" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "PrÄ™dkość gry zwiÄ™kszona do %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "PrÄ™dkość gry zmniejszona do %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar pokazuje kolory przyjaciel-wróg" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar pokazuje kolory graczy" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar pokazuje tylko obiekty" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar pokazuje teren i wysokość" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar pokazuje teren" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar pokazuje ujawniony teren" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar pokazuje wysokość" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "SKRÓTY KLAWISZOWE" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Wstecz" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Zaznacz domyÅ›lne" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Produkcja" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Badania" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Buduj" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Projekt" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Dane wywiadu" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Dowódcy" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "PrzeÅ‚Ä…cz radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "PrzeÅ‚Ä…cz wyÅ›wietlanie konsoli" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "PrzeÅ‚Ä…cz paski zdrowia wÅ‚/wyÅ‚." -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Wykonaj zrzut ekranu" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "PrzeÅ‚Ä…cz limit prÄ™dkoÅ›ci formacji" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "WyÅ›wietl miejsce ostatniej wiadomoÅ›ci" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "PrzeÅ‚Ä…cz widok radarów" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Przypisz grupÄ™ 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Przypisz grupÄ™ 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Przypisz grupÄ™ 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Przypisz grupÄ™ 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Przypisz grupÄ™ 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Przypisz grupÄ™ 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Przypisz grupÄ™ 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Przypisz grupÄ™ 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Przypisz grupÄ™ 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Przypisz grupÄ™ 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Zaznacz grupÄ™ 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Zaznacz grupÄ™ 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Zaznacz grupÄ™ 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Zaznacz grupÄ™ 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Zaznacz grupÄ™ 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Zaznacz grupÄ™ 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Zaznacz grupÄ™ 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Zaznacz grupÄ™ 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Zaznacz grupÄ™ 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Zaznacz grupÄ™ 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Zaznacz dowódcÄ™ 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Zaznacz dowódcÄ™ 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Zaznacz dowódcÄ™ 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Zaznacz dowódcÄ™ 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Zaznacz dowódcÄ™ 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Zaznacz dowódcÄ™ 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Zaznacz dowódcÄ™ 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Zaznacz dowódcÄ™ 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Zaznacz dowódcÄ™ 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Zaznacz dowódcÄ™ 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Dialog opcji gry wieloosobowej / sojuszy" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "PrzeÅ‚Ä…cz widok na północ" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "PrzeÅ‚Ä…cz kamerÄ™ Å›ledzÄ…cÄ…" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "WyÅ›wietl opcje gry" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zmniejsz mapÄ™" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "PowiÄ™ksz mapÄ™" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Przybliż" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Oddal" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Obracaj do przodu" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Obrót w lewo" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Resetuj obrót w pionie" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Obrót w prawo" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Obracaj do tyÅ‚u" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menu rozkazów" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Zmniejsz prÄ™dkość gry" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "ZwiÄ™ksz prÄ™dkość gry" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Przywróć normalnÄ… prÄ™dkość gry" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Widok na Północ" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Widok na PoÅ‚udnie" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Widok na Wschód" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Widok na Zachód" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Pokaż nastÄ™pnÄ… platformÄ™ wydobywczÄ…" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Pokaż nastÄ™pnÄ… jednostkÄ™ naprawiajÄ…cÄ…" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Pokaż nastÄ™pnego budowniczego" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Pokaż nastÄ™pnÄ… jednostkÄ™ radarowÄ…" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Pokaż nastÄ™pnego dowódcÄ™" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "PrzeÅ‚Ä…cz nakÅ‚adki" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konsola wÅ‚/wyÅ‚" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centruj widok na kwaterÄ™ głównÄ…" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Pokaż nieprzydzielone jednostki" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Strzelaj bez rozkazu" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Wróć do kwatery głównej" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "WyÅ›lij wiadomość tekstowÄ…" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "Daj znak Å›wietlny" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "WyÅ›wietlanie radaru wÅ‚Ä…czone" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "WyÅ›wietlanie radaru wyÅ‚Ä…czone" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "PrzeÅ‚Ä…cz cienie" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "ZÅ‚ap kursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "PrzeÅ‚Ä…cz radar terenu" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "PrzeÅ‚Ä…cz widok radaru przyjaciel-wróg" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Zaznacz wszystkie jednostki bojowe" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Zaznacz wszystkie ciężko uszkodzone jednostki" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Zaznacz wszystkie jednostki na pół-gÄ…sienicach" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Zaznacz wszystkie poduszkowce" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Zaznacz wszystkie jednostki na ekranie" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Zaznacz wszystkie jednostki na gÄ…sienicach" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Zaznacz WSZYSTKIE jednostki" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Zaznacz wszystkie jednostki VTOL" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Zaznacz wszystkie jednostki koÅ‚owe" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Zaznacz wszystkie podobne jednostki" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Zaznacz kolejnÄ… FabrykÄ™" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Zaznacz kolejnÄ… StacjÄ™ BadawczÄ…" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Zaznacz nastÄ™pny Generator" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Zaznacz nastÄ™pnÄ… FabrykÄ™ Cyborgów" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Niemożna zapisać gry!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Åaduj transport" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "CEL OSIÄ„GNIĘTY przez oszukiwanie!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "CEL OSIÄ„GNIĘTY" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "CEL NIE OSIÄ„GNIĘTY--chociaż oszukiwaÅ‚eÅ›!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "CEL NIE OSIÄ„GNIĘTY" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Wyjdź do menu głównego" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Kontynuuj grÄ™" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "GRA ZAPISANA :" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "ZnalazÅ‚eÅ› %u energii w beczce z ropÄ…." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s PrzesyÅ‚a ci raport o widocznoÅ›ci" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s PrzesyÅ‚a ci %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Próba pozbycia siÄ™ nie pustego %s - ale to jest zakazane." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s PrzesyÅ‚a ci plany technologii" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s przesyÅ‚a ci %u energii" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s prosi o sojusz" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Zapraszasz %s do sojuszu" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Å‚amie sojusz z %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s tworzy sojusz z %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Odkrywasz plany: %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Zapisz ustawienia" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Anuluj" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Adres IP lub nazwa komputera" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "POÅÄ„CZENIE" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Brak dostÄ™pnych gier" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Brak miejsc" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "ZostaÅ‚eÅ› wyrzucony!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "NiewÅ‚aÅ›ciwa wersja gry!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Masz niekompatybilny mod." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Host nie mógÅ‚ przesÅ‚ać pliku?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "NiewÅ‚aÅ›ciwe hasÅ‚o!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Host zerwaÅ‚ poÅ‚Ä…czenie!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "BÅ‚Ä…d poÅ‚Ä…czenia" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Wyszukiwanie" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "GRY" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "OdÅ›wież listÄ™ gier" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Wpisz hasÅ‚o:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "CzoÅ‚gi wyÅ‚Ä…czone!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "Cyborgi wyÅ‚Ä…czone." -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "Jednostki VTOL wyÅ‚Ä…czone." -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Wybierz nazwÄ™ gry" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Potyczka" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Wybór mapy" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Kliknij by ustawić hasÅ‚o" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Åšmieciarze" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Brak Åšmieciarzy" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Wybierz nazwÄ™ gracza" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "MgÅ‚a dystansowa" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Sojusze" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Brak sojuszy" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Pozwól na sojusze" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Zablokowane drużyny" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Niskie poziomy energii" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Åšrednie poziomy energii" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Wysokie poziomy energii" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Baza" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Rozpocznij bez baz" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Rozpocznij z bazami" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Rozpocznij z zaawansowanymi bazami" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "PodglÄ…d mapy" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Kliknij by obejrzeć mapÄ™" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Rozpocznij grÄ™ jako Host" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Pokaż limit struktur" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Ustaw limit struktur" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Kolor gracza" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Wyrzuć gracza" - -#: src/multiint.c:1471 -msgid "Player position" -msgstr "PoÅ‚ożenie gracza" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Drużyna" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Wyrzuć gracza" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Kliknij kiedy jesteÅ› gotowy" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "GOTOWY?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "GRACZE" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Kliknij aby zmienić ustawienia gracza" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "Wybierz drużynÄ™" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "Kliknij aby zmienić ustawienia gracza" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Kliknij aby zmienić ustawienia gracza" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "Kliknij aby dostosować poziom sztucznej inteligencji" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Wszyscy gracze muszÄ… mieć takie same mody aby przyÅ‚Ä…czyć siÄ™ do twojej gry." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** hasÅ‚o [%s] jest teraz wymagane! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** hasÅ‚o jest teraz niewymagane! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Przepraszamy! Nie udaÅ‚o siÄ™ utworzyć serwera gry." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "WÅ‚Ä…czono 'zablokowane drużyny'" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Host wyrzuciÅ‚ %s z gry!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Host rozpoczyna grÄ™" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Gracze" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "PrzesyÅ‚anie mapy: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% pobrane" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "HOST" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Gracze wciąż doÅ‚Ä…czajÄ…" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s opuÅ›ciÅ‚ grÄ™" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Transfer pliku zostaÅ‚ anulowany dla %d." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) ma niekompatybilny mod i zostaÅ‚ wyrzucony." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s doÅ‚Ä…cza do gry" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Wiadomość systemowa:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Zastosuj wartoÅ›ci domyÅ›lne i powróć do poprzedniego ekranu" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Limity zresetowane do wartoÅ›ci domyÅ›lnych" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Poziom technologii 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Poziom technologii 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Poziom technologii 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Dowolna liczba graczy" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 graczy" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 msgid "3 players" msgstr "3 graczy" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 graczy" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 msgid "5 players" msgstr "5 graczy" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 msgid "6 players" msgstr "6 graczy" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 msgid "7 players" msgstr "7 graczy" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 graczy" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Wynik" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Zabójstwa" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Jednostki" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Konstrukcje" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "KanaÅ‚" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "PrzeÅ‚Ä…cz stan sojuszu" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "PrzesyÅ‚a raport widocznoÅ›ci" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Niekompletne dokumenty technologii" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "PrzesuÅ„ nad zaznaczonymi jednostkami" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "PrzesyÅ‚a energiÄ™ graczowi" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Gracz %s wyrzucony z powodu próby pominiÄ™cia sprawdzenia integralnoÅ›ci danych!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(sojusznicy" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(prywatny dla" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[nieprawidÅ‚owy]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Zielony" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "PomaraÅ„czowy" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Szary" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Czarny" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Czerwony" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Niebieski" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Różowy" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Turkusowy" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "Nie możemy tego zrobić! Tylko cyborgi mogÄ… korzystać Transportowca cyborgów!" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Badania ukoÅ„czone: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Badania ukoÅ„czone" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Technologia skradziona" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "WÅ‚asne jednostki: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Jednostki przeciwnika: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "WÅ‚asne struktury: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Struktury przeciwnika: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Zbudowane jednostki: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Jednostki razem: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Zbudowane struktury: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "CaÅ‚kowita liczba struktur: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Nowicjusz: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Zielony: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Wyszkolony: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Zawodowy: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profesjonalny: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Weteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elita: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Specjalny: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Bohater: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Straty w jednostkach" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Straty w strukturach" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informacja o siÅ‚ach" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ODZYSKANE ARTEFAKTY: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Czas misji - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "CaÅ‚kowity czas gry - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "OszukiwaÅ‚eÅ›!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ZWYCIĘŻYÅEÅš!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "ZOSTAÅEÅš POKONANY!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "SygnaÅ‚ otrzymany od %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "SygnaÅ‚ %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" @@ -14586,30 +14593,30 @@ msgstr[0] "%u zaznaczona jednostka" msgstr[1] "%u zaznaczone jednostki" msgstr[2] "%u zaznaczonych jednostek" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Niemożna odnaleźć jednostek naprawiajÄ…cych!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Niemożna odnaleźć jednostek budujÄ…cych!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Niemożna odnaleźć jednostek z radarami!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Niemożna odnaleźć dowódców!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limit kontrolny osiÄ…gniÄ™ty - produkcja wstrzymana" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14617,95 +14624,101 @@ msgstr[0] "%s - %u Jednostka przydzielona" msgstr[1] "%s - %u Jednostki przydzielone" msgstr[2] "%s - %u Jednostek przydzielonych" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Uszkodzenia %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - PoÅ‚Ä…czony %u z %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Uszkodzony elektronicznie" # This maybe sound weird, but I translated this as 'stolen technology' -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Technologia skradziona - raport widocznoÅ›ci" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Technologia skradziona - NapÄ™d" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Technologia skradziona - KadÅ‚ub" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Technologia skradziona - BroÅ„" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Technologia skradziona - Brak" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Technologia skradziona - Naprawa" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Technologia skradziona - Brak" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Uruchom transport" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "Nie ma dość miejsca w Transportowcu!" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "PosiÅ‚ki lÄ…dujÄ…" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (zmodyfikowany i zamieniony lokalnie)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (zmodyfikowany lokalnie)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (zamieniony lokalnie)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Zbudowana %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Wersja %s%s%s%s" +#~ msgid "Infinite Production" +#~ msgstr "Produkcja ciÄ…gÅ‚a" + +#~ msgid "Player position" +#~ msgstr "PoÅ‚ożenie gracza" + #~ msgid "Cobra Hover Heavy-Repair" #~ msgstr "Kobra poduszkowiec ciężka naprawiajÄ…ca" diff --git a/po/pt.po b/po/pt.po index ac335c92d..22fdc16d4 100644 --- a/po/pt.po +++ b/po/pt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2009-08-04 22:59+0100\n" "Last-Translator: Pedro Miguel Martins da Silva Caetano \n" "Language-Team: Portugese \n" @@ -5739,7 +5739,7 @@ msgid "New Design" msgstr "Novo Desenho" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transporte" @@ -12148,1060 +12148,1060 @@ msgstr "Canhão Pesado Python Hovercraft" msgid "Plasmite Retribution VTOL" msgstr "Chassis Médio - Retribution" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Linguagem do sistema" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 #, fuzzy msgid "Enter password here" msgstr "Insere Primeiro a Palavra-passe" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Não pode ser obtido o nome do masterserver (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Não foi possível comunicar com o servidor de lobby! A porta TCP %u está aberta para tráfego outgoing?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Fechar" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Correr em modo de batota" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Definir directório de configuração" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "directório de configuração" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Definir directório de dados original." -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "directório de dados" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Mostrar debug para o nível dado" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "debug do nível" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Registar resultados do debug para um ficheiro" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "ficheiro" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Esvazia todo o output de debug escrito em stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Jogar em modo de ecrâ inteiro" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Carregar um jogo específico" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "nome do jogo" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Mostrar esta mensagem de ajuda e sair" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Activar um mod global" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Activar um mod apenas para a campanha" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Activar um mod apenas de multijogador" -#: src/clparse.c:244 +#: src/clparse.cpp:244 #, fuzzy msgid "Disable asserts" msgstr "Desactivar sombras" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Faz o jogo crashar para testar o crash handler" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Carregar um jogo gravado" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "jogo gravado" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Jogar em modo de janela" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Mostrar informação da versão e sair" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Definir a resolução a usar" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "LARGURAxALTURA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Activar sombras" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Desactivar sombras" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Activar som" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Desactivar som" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Activa auto-teste" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "Conectar directamente a um IP/Hostname" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "Anfitrião" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "ir directamente para o ecrã de anfitrião" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Jogador" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Novo Veículo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Corpo do Veículo" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Propulsão do Veículo" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Torre do Veículo" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Apagar Design" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Armadura Cinética" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Armadur Térmica" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Potência do Motor" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Peso" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Total de Energia Necessária" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Total de Pontos de Resistência" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Energia Usada" -#: src/design.c:1368 +#: src/design.cpp:1335 #, fuzzy msgid "Hydra " msgstr "Hydra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Alcance do sensor" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Energia do Sensor" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Potência do ECM" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Pontos de Construção" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Alcance" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Danos" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Razão de Fogo" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Velocidade aérea" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Velocidade em Estrada" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Velocidade em Corta-Mato" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Velocidade na água" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Armas" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemas" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Jogador Saiu" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Jogador caiu" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "À espera dos outros jogadores" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Impossível construir. Fonte de petróleo a arder." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Dano %d%% - Experiência %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Dano %d%% - Experiência %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Camião ordenado a construir Extractor de Petróleo" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Camião ordenado a construir Extractor de Petróleo" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Camião ordenado a construir Extractor de Petróleo" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Unidade Destruída!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Estrutura reparada" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Grupo %u seleccionado - %u Unidade" msgstr[1] "Grupo %u seleccionado - %u Unidades" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unidade atribuída do ao Grupo %u" msgstr[1] "%u unidades designadas ao Grupo %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Centrado no Grupo %u - %u Unidade" msgstr[1] "Centrado no Grupo %u - %u Unidades" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "A Alinhar com o Grupo %u - %u Unidade" msgstr[1] "A Alinhar com o Grupo %u - %u Unidades" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Novato" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Inexperiente" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Treinado" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Regular" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profissional" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veterano" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Especial" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Herói" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Um Jogador" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Multijogador" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Opções" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Ver a Intro" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Sair do Jogo" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENU PRINCIPAL" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Jogo Rápido" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIAIS" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Anterior" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nova Campanha" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Iniciar jogo de Escaramuça" -#: src/frontend.c:215 +#: src/frontend.cpp:214 #, fuzzy msgid "Challenges" msgstr "Saqueadores" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Carregar Jogo" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "UM JOGADOR" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Carregar Jogo Gravado" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTIJOGADOR" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Criar Server" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Juntar-se a Jogo" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPÇÕES" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Opções de Jogo" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Opções de Gráficos" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Opções de Vídeo" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Opções de Ãudio" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Opções de Rato" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Definir teclas" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Playback do Vídeo" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Ecrã Inteiro" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Abanar Ecrã" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Ligado" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Desligado" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Nevoeiro" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Nevoeiro" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Nevoeiro de guerra" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Legendas" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Sombras" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "OPÇÕES DE JOGO" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volume de Voz" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volume dos Efeitos" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volume da Música" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "OPÇÕES DE JOGO" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Tem efeito quando o jogo for reiniciado" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Modo de Gráficos" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Em Janela" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resolução" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Tamanho das Texturas" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Vertical sync*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "OPÇÕES DE JOGO" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Pode afectar negativamente a performance" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Rotação Invertida" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Restringir Cursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 #, fuzzy msgid "Colored Cursors*" msgstr "Cursores Coloridos *" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Trocar Botões do Rato" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Inclinar para trás" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "OPÇÕES DE JOGO" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Dificuldade" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Fácil" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Difícil" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Velocidade de Scroll" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Língua" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Cor das Unidades" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Rodar para a direita" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPÇÕES DE JOGO" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAPA GRAVADO!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "JOGO GRAVADO!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Não foi possível criar o edifício" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Jogador %u está a fazer batota (menu debug) para obter uma nova estrutura %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Jogador %u está a fazer batota (menu debug) para obter uma nova característica %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Jogador %u está a fazer batota (menu debug) para obter um novo droid %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Jogador %u está a fazer batota (menu debug) para obter um novo droid %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Comandantes (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Ecrã de Informação" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Produção (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Desenho (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Investigação (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Construir (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Carregar Jogo" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Carregar Jogo" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Gravar Jogo" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Gravar Jogo" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Mosaico" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Coloca mosaicos no mapa" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Unidade" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Colocar Unidade no mapa" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Estrutura" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Colocar Estruturas no mapa" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Característica" -#: src/hci.c:4014 +#: src/hci.cpp:3625 #, fuzzy msgid "Place Features on map" msgstr "Colocar ?recursos/características? no mapa" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Pausa ou retira de pausa o jogo" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Alinhar altura de todos os objectos do mapa" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Começar sem Bases" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Sair" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Sair do Jogo" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Multijogador" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barra de Progresso" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Produção Pontínua" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Ponto de Destino da Fábrica" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Produção Pontínua" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab Scroll esquerda" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab Scroll direita" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Retomar Jogo" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Gravar Jogo" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "%s abandonou o Jogo" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13209,1680 +13209,1689 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Progresso de Construção" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Progresso de Construção" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energia resultante" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "EM PAUSA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Notícias da Investigação" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Metas do Projecto" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Objectivo Actual" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Novo relatório de informação." -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Curta Distância" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Longa Distância" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Distância Apropriada" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Recuar com Danos Médios" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Recuar com Danos Graves" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Vence ou Morre!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Disparar à Vontade" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Responder a Fogo" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Não disparar" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrulhar" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Perseguir" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Defender Posição" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Manter posição" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Voltar para Reparações" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Voltar para o QG" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ir para o Transporte" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Voltar para Reciclagem" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Reciclar" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Designar Produção de Fábrica" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Designar produção de fábrica de Cyborgs" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Designar Apoio de Fogo" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Designar produção de Fábrica de VTOLs" -#: src/intorder.c:183 +#: src/intorder.cpp:183 #, fuzzy msgid "Circle" msgstr "Círculo" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Esta cheat está bloqueada nos jogos multiplayer." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Aviso! Esta batota tem bugs. NÃO recomendamos o seu uso." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Deixa-nos ver o que vês!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "OK, o painel de armas e sensores está desligado!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Jogador %u) está a usar batotas :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Rijos como betão!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "A levar as coisas nas calmas!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 dos grandes!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Energia avassaladora" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "De volta à normalidade!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "A ficar matreiro!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Duplamente simpático!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Mostrar FPS: Activado." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Mostrar FPS: Desactivado." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; Limite-FPS: %d PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Jogador %u) está a usar uma batota :Num Droids: %d Num Structures: %d Num Features: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Energia infinita desactivada" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Energia infinita activada" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Todos os items estão disponíveis" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Fog ligado" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Fog desligado" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Aviso! Esta batota pode causar graves problemas mais tarde! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "A Terminar Missão" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "AS BATOTAS ESTÃO AGORA ACTIVADAS!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "AS BATOTAS ESTÃO AGORA DESACTIVADAS!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Modo God Activado" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Modo God Desactivado" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Vista alinahada para Norte" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, fuzzy, c-format msgid "Trap cursor %s" msgstr "Restringir Cursor" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Pesquisei TUDO para ti!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Jogador %u) está a fazer batota :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Investigado" # energy=health? -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Mostrar barras de saúde apenas quando seleccionadas" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Mostrar sempre barras de saúde das unidades" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Mostrar sempre barras de saúde das unidades e estruturas" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Modo demo desligado - A voltar ao modo de jogo normal" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Menu de Debug Aberto" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Incapaz de localizar qualquer Camião" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "E o tempo está tão frio lá fora... NEVE" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Singing in the rain, I'm singing in the rain... CHUVA" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Previsão do Tempo: Céu limpo para todas as áreas... Sem Tempo" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Aviso! Isto pode ter consequências graves se for usado incorrectamente nas missões." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Inimigo destruído por batota." -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "A destruir droides e estruturas seleccionadas!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Centrado no QG dos jogador, direcção NORTE" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Incapaz de localizar o QG!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Esta cheat está bloqueada nos jogos multiplayer." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Velocidade de jogo reposta" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Velocidade de jogo aumentada para %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Velocidade de jogo reduzida para %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar a mostrar cores de amigo/inimigo" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar a mostrar cores de jogador" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar a mostrar apenas objectos" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar a misturar terreno e altura" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar a mostrar terreno" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar a mostrar terreno" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar a mostrar altura" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "DEFINIÇÃO DE TECLAS" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Voltar ao ecrâ anterior" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Seleccionar Original" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Produção" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Investigação" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Construir" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Design" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Ecrâ de Inteligência" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Comandantes" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Activar/Desactivar Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Activar/Desactivar Ecrâ de Consola" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Activar/Desactivar barras de Dano" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "screen Shot" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Activar/Desactivar Limitador de Velocidade da Formação" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Ver localizacão da mensagem anterior" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Activar/Desactivar Ecrâ de Consola" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Designar Grupo 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Designar Grupo 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Designar Grupo 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Designar Grupo 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Designar Grupo 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Designar Grupo 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Designar Grupo 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Designar Grupo 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Designar Grupo 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Designar Grupo 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Seleccionar Grupo 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Seleccionar Grupo 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Seleccionar Grupo 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Seleccionar Grupo 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Seleccionar Grupo 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Seleccionar Grupo 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Seleccionar Grupo 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Seleccionar Grupo 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Seleccionar Grupo 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Seleccionar Grupo 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Seleccionar Comandante 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Seleccionar Comandante 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Seleccionar Comandante 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Seleccionar Comandante 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Seleccionar Comandante 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Seleccionar Comandante 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Seleccionar Comandante 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Seleccionar Comandante 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Seleccionar Comandante 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Seleccionar Comandante 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "Opções de Multijogador" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Mudar para vista para Norte" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Activar/Desactivar câmara de localização" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Mostrar opções de Jogo" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zoom Out do Radar" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zoom In do Radar" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zoom In" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zoom Out" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Inclinar para a Frente " -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Inclinar para trás" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Repor Inclinação" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Rodar para a direita" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Rodar para a esquerda" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menu de Ordens" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Diminuir Velocidade de Jogo" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Aumentar Velocidade de Jogo" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Repor Velocidade de Jogo" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Ver Norte" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Ver Sul" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Ver Este" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Ver Oeste" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Ver o próximo extractor de petróleo" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Ver a próxima unidade de reparação" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Ver o próximo camião" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Ver a próxima unidade de sensor" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Ver o próximo Comandante" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Activar/ Desactivar Overlays" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Consola On/Off" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centrar vista no QG" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Ver unidades não atribuídas" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Disparar à vontade" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Voltar ao QG" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Enviar mensagem" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Alcance do sensor" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Activar sombras" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Restringir Cursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Activar/Desactivar Radar" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Seleccionar todas as unidades de combate" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Seleccionar Todas as Unidades Muito Danificadas" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Seleccionar todos os veículos movidos por meias-lagartas" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Seleccionar todos os Hovercrafts" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Seleccionar Todas as Unidades no Ecrâ" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Seleccionar todos os veículos movidos por Lagartas" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Seleccionar TODAS as unidades" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Seleccionar todos os VTOL" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Seleccionar todos os veículos movidos por Rodas" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Seleccionar todas as Unidades Semelhantes" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Seleccionar a próxima Fábrica" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Seleccionar o próximo Centro de Investigação" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Seleccionar o próximo Gerador de Energia" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Seleccionar a próxima Fábrica de Cyborgs" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "O jogo não pôde ser gravado" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Carregar Transporte" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "OBJECTIVO ALCANÇADO por batotice" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "OBJECTIVO ALCANÇADO" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "OBJECTIVO FALHADO-- e fizeste batotice!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "OBJECTIVO FALHADO" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Sair para o Menu Principal" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continuar Jogo" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "JOGO GRAVADO :" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Encontraste %u energia num barril de petróleo" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s dá-te um relatório de Visibilidade" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s dá-te %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Tentou dar %s - mas isto não é permitido." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s dá-te Esquemas Tecnológicos" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s dá-te %u Energia" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s pede uma Aliança contigo" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Convidaste %s para formar uma Aliança" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s quebra a Aliança com %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s forma uma Aliança com %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Descobriste esquemas para %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aceitar definições" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "Lancer" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Endereço IP ou nome do Computador" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "Conexão" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Não há jogos disponíveis" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Jogo cheio" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Foste expulso!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Versão Errada do Jogo!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Palavra-passe incorrecta!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Erro de conexão" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "A Procurar" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "JOGOS" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Actualizar Lista de Jogos" -#: src/multiint.c:952 +#: src/multiint.cpp:922 #, fuzzy msgid "Enter Password:" msgstr "Insere Primeiro a Palavra-passe" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Novo Cyborg Disponível" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Seleccionar Nome do Jogo" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "Skirmish de Um Jogador" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Seleccionar Mapa" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Clica para definir Palavra-passe" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Saqueadores" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Sem Saqueadores" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Seleccionar Nome de Jogador" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Nevoeiro de distância" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alianças" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Sem Alianças" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Permitir Alianças" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Equipas Fixas" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Níveis de Energia Baixos" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Níveis de Energia Médios" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Níveis de Energia Altos" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Base" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Começar sem Bases" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Começar com Bases" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Começar com Bases Avançadas" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Pré-visualizar o mapa" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Clica para ver o mapa" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Iniciar Servidor de Jogo" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Ajustar Limites de Estrutura" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Ajustar Limites de Estrutura" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Jogador Saiu" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "Equipa" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2 jogadores" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Defender Posição" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "Equipa" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Clica quando estiveres pronto" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "JOGADORES" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Clica para definir Palavra-passe" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Equipas Fixas" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar a mostrar cores de jogador" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Defender Posição" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** É agora necessária uma Palavra-passe! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** NÃO é necessária Palavra-passe ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Desculpa! Não foi possível criar o jogo." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Modo \"Equipas Fixas\" activado" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "O servidor kickou %s do jogo!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "O servidor está a começar o jogo" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Jogadores" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Os jogadores ainda estão a entrar." -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s abandonou o Jogo" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s está a juntar-se ao Jogo" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Mensagem de Sistema:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Voltar ao ecrâ anterior" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Nível Tecnológico 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Nível Tecnológico 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Nível Tecnológico 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Qualquer número de jogadores" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 jogadores" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 jogadores" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 jogadores" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 jogadores" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 jogadores" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 jogadores" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 jogadores" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Pontuação" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Mortes" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Unidades" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "Estrutura" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Mudar Estado de Aliança" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Dar Relatório de visibilidade" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Dar Documentos de Tecnonlogia" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Passar Controlo das Unidades Seleccionadas" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Dar Energia ao Jogador" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "Alianças" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Verde" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Laranja" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Cinzento" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Preto" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Vermelho" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Azul" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Rosa" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Ciano" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Investigação completa: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Investigação Completa" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Prémio de Investigação" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Próprias Unidades: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Unidades Inimigas: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Próprias estruturas: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Estruturas Inimigas: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Unidades Produzidas: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Unidades Totais: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Estruturas Construídas: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Total de Estruturas: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Novato: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Inexperiente: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Treinado: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Regular: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profissional: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veterano: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elite: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Especial: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Herói: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Unidades Perdidas" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Estruturas Perdidas" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informação da Força" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFACTOS RECUPERADOS: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Tempo de Missão - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Tempo de Jogo Total - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Fizeste batota!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "FOSTE VITORIOSO!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "FOSTE DERROTADO" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Sinalizador recebido de %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Sinalizador %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u unidade seleccionada" msgstr[1] "%u unidades seleccionadas" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Incapaz de localizar qualquer unidade de reparação!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Incapaz de localizar qualquer Camião" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Incapaz de localizar qualquer unidade de Sensor" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Incapaz de localizar qualquer Comandante!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Limite de Controlo de Comando Alcançado - Produção Parada" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u unidade atribuída" msgstr[1] "%s - %u unidades atribuídas" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Dano %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Ligado a %u de %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danificado Electronicamente" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Recompensa Electrónica - Relatório de Visibilidade" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Recompensa de Fábrica - Propulsão" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Recompensa de Fábrica - Corpo" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Recompensa de Fábrica - Arma" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Recompensa de Fábrica - Nada" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Recompensa de Posto de Reparação - Reparações" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Recompensa de Posto de Reparação - Nada" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Descolar Transporte" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Reforços a aterrar" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modificado e trocado localmente)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modificado localmente)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (trocado localmente)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Construído %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versão %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Produção Pontínua" + #~ msgid "Plascrete MK3" #~ msgstr "Plascrete Mk3" diff --git a/po/pt_BR.po b/po/pt_BR.po index 742060fea..bd9d1319a 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 16:53+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-12-05 23:47-0300\n" "Last-Translator: Artur Filipe \n" "Language-Team: Brazilian Portugese \n" @@ -5727,7 +5727,7 @@ msgid "New Design" msgstr "Novo Projeto" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transporte" @@ -11983,1039 +11983,1040 @@ msgstr "Hovercraft Canhão de Hiper Velocidade Píton" msgid "Plasmite Retribution VTOL" msgstr "VTOL Plasmite Retribuição" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Localização do Sistema" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Entre a senha aqui" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Não foi possível resolver o nome do servidor mestre (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Não foi possível communicar com o servidor de lobby! A porta TCP %u está aberta para tráfego saindo?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Fechar" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Ativar modo de trapaças" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Definir diretório de configurações" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "diretório de configurações" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Definir diretório de dados padrão" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "diretório de dados padrão" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Exibir debug para determinado nivel" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "nivel de debug" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Salvar relatório de debug em arquivo" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "arquivo" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Relatar o processo de debug para stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Jogar em modo de Tela-cheia" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Carregar um jogo específico" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "jogo" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Exibe essa mensagem e sai" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Ativar um mod global" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "Ativar um mod exlusivo a campanhas" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Ativar um mod exclusivo ao multiplayer" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Desativa extras" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Causa uma falha para testar o controlador de falhas" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Carregar jogo salvo" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "jogo salvo" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Jogar em modo Janela" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Exibe versão e sai" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Define a resolução" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "LARGURAxALTURA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Ativa Sombras" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Desativa Sombras" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Ativar Sons" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Desativa Sons" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Ativar o teste automático" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "conectar diretamente ao IP/hostname" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "hospedeiro" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "ir diretamente à tela de hospedeiro" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Jogador" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Novo Veículo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Chassis" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Propulsão" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Torrete" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Remover Projeto" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Armadura Cinética" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Armadura Térmica" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Potência do Motor" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Peso" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Energia Total Necessária" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Pontos de Vida Totais" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Uso de Energia" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hidra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Alcance de Sensor" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Intensidade de Sensor" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Intensidade de Interferência" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Pontos de Construção" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Alcance" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Dano" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Taxa-de-tiro" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Velocidade no Ar" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Velocidade Nominal" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Velocidade Off-Road" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Velocidade em Ãgua" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Armas" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemas" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Jogador saiu" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Jogador desconectou-se" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Aguardando outros jogadores" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "Fora de sincronia" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Não pode construir. Recursos petrolíferos queimados." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Danos %d%% - Experiência %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Aliado - Danos %d%% - Experiência %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "O Caminhão ordenou a construção Oil Derrick" -#: src/display.c:2035 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "2 caminhões designados para a construção do Extrator de Petróleo" -#: src/display.c:2036 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "%d caminhões designados para a construção do Extrator de Petróleo" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Unidades Perdidas!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Estrutura Restaurada" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Grupo %u selecionado - %u Unidade" msgstr[1] "Grupo %u selecionado - %u Unidades" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u unidade atribuída ao Grupo %u" msgstr[1] "%u unidades atribuídas ao Grupo %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Centrado no Grupo %u - %u Unidade" msgstr[1] "Centrado no Grupo %u - %u Unidades" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Alinhamento com o grupo %u - %u Unidade" msgstr[1] "Alinhamento com o grupo %u - %u Unidades" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Recruta" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Soldado" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Treinado" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Regular" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Tenente" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veterano" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elite" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Força Especial" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Herói" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "%s quis te dar um %s mas você já tem demais!" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "Você tentou dar %s para %s, mas eles já têm demais!" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Campanha (Um Jogador)" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Jogo Multiplayer" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Aprendendo a Jogar" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Opções" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Ver Introdução" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Sair do Jogo" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENU PRINCIPAL" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Início Rápido" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "APRENDENDO A JOGAR" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Voltar" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nova Campanha" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Iniciar Jogo vs. Computador" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Desafios" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Carregar Jogo" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "UM JOGADOR" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Carregar Jogo Salvo" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTIPLAYER" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Hospedar Jogo" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Conectar-se a um jogo" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPÇÕES" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Opções de Jogo" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Opções de Vídeo" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Opções de Vídeo" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Opções de Ãudio" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Opções de Mouse" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Configuração das Teclas" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Tamanho de Vídeo" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Tela Cheia" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Tremer a Tela" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Ligado" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Desligado" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Nevoeiro" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Misto" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Nevoeiro da Guerra" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Legendas" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Sombras" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "OPÇÕES DE GRÃFICOS" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volume da Voz" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volume dos Sons" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volume da Música" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "OPÇÕES DE ÃUDIO" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Precisa reiniciar o jogo" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Modo Gráfico*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Em Janela" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Resolução*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Tamanho da Textura" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "V-Sync*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "OPÇÕES DE VÃDEO" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Pode afetar a performance" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Reverter Rotação" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Travar Cursor" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Cursores Coloridos *" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Inverter Botões do Mouse" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "Girar a Tela" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "Botão do Meio" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "Botão Direito" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "OPÇÕES DE MOUSE" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Dificuldade" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Fácil" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Média" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Difícil" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Velocidade da Tela" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Idioma" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Cor das Unidades" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "Radar" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "Giratório" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "Fixo" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPÇÕES DE JOGO" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod:" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAPA SALVO!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "JOGO SALVO:" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Impossível criar edifício" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Jogador %u é batota (debug menu) ele/ela mesma é uma nova estrutura: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Jogador %u é batota (debug menu) ele/ela mesma é uma nova característica: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Jogador %u é batota (debug menu) ele/ela mesma é um novo droid: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Jogador %u está trapaceando (debug menu)! Ele/ela ganhou um novo droide." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Comandos (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Mostrar Inteligência (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Desenvolvedor (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Padrão (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Pesquisa (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Construir (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "Mapa:" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "Carregar" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "Carregar Mapa" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "Salvar" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "Salvar Mapa" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "Novo" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "Novo Mapa Vazio" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Espaço" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Colocar Espaços no mapa" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Unidade" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Colocar Unidade no mapa" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Estrutura" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Colocar estruturas no mapa" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Feito" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Colocar Artefatos no mapa" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "Pausa" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Pausar ou resumir o jogo" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Alinhar a altitude dos objetos e do mapa" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "Editar" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "Modo Editar Início" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Sair" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Sair do Jogo" -#: src/hci.c:4090 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "Jogador Atual:" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Barra de Progresso" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "Produção Infinita" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Ponto de Entrega da Fábrica" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Prender Produção" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab mover para esquerda" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab mover para direita" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Resumir Jogo" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "ATENÇÃO: Você é o hosp. Se você sair, o jogo acaba para todos!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "Interface de Usuário Tática (Icone de Origem do Alvo): Exibir" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "Interface de Usuário Tática (Icone de Origem do Alvo): Esconder" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Salvar" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "O hospedeiro saiu do jogo!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "O jogo não pode continuar sem o hosp." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> SAIR <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13026,1653 +13027,1665 @@ msgstr "" "\n" "Warzone tentará carregar o jogo sem ele." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Progresso da Construção" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Progresso da Construção" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Energia Coletada" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUSA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Atualização de Pesquisas" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Objetivos do Projeto" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Objetivo Atual" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Chegando relatório de inteligência." -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Curto Alcance" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Longo Alcance" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Medio Alcance" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Recuar Com Danos Médios" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Recuar Com Danos Pesados" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Não Recuar!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Atire A Vontade" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Retornar Fogo" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Não Atirar" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrulhar" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Seguir" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Defender Posição" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Manter Posição" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Retornar para Reparos" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Retornar para QG" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ir para Transporte" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Retornar para Reciclagem" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Reciclar" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Designar Produção de Fabrica" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Designar Produção de Ciborgues" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Designar Suporte de Artilharia" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Designar Produção de VTOL" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Circular" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Desculpe, as trapaças estão desativadas em jogos multiplayer." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Atenção! Essa trapaça é instável. Recomendamos contra o seu uso." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Permite-nos ver o que você vê!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Está bem! Você não vê mais o alcançe das armas!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Jogador %u) está trapaceando: %s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Doer as unhas!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Rendimento, coisas fácil !" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 grandes!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Poder esmagador" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Voltar a normalidade!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Obtendo complicado!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Duas vezes mais agradável!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "mostrar FPS é ativado." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "mostrar FPS é desativado." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; Limite de FPS: %d; PIEs %d; polys %d; Terr. polys %d; Membros %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Jogador %u) está trapaceando - No. Ciborgues: %d No. Estruturas: %d No. Características: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Poder infinito desativado" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Poder infinito ativado" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Todos os itens disponibilizados" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Nevoeiro ligado" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Nevoeiro desligado" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Atenção! Essa trapaça pode causar problemas no futuro! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Fim da Missão." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "TRAPAÇAS ATIVADAS!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "TRAPAÇAS DESATIVADAS" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Modo Deus LIGADO" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Modo Deus DESLIGADO" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Ver alinhado com o Norte" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Travar Cursor %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Pesquisou TUDO para você!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Jogador %u) está trapaceando :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Pesquisado" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Exibindo barras de energia apenas quando selecionado" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Sempre exibindo barras de energia para unidades" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Sempre exibindo barras de energia para unidades e estruturas" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Desligando modo demonstração - Voltando ao normal" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Menu de Debug está Aberto" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "Impossível localicar extratores!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Branco como a neve... NEVE" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Garoa Paulista... CHUVA" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Previsão do tempo : Céu aberto em todas as cidades... TEMPO LIMPO" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Atenção! Isso pode ter consequências drásticas se usado incorretamente em missões." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Inimigos destruido por trapaça!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Destruindo ciborgues e estruturas selecionadas!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Centralizado no QG, alinhado com o NORTE" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Impossível localizar QG!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Limite de velocidade em formação removido devido a falhas." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Direção da rotação vertical: Normal" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Direção da rotação vertical: Invertida" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "Tremer a tela quando coisas morrem: Não" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "Tremer a tela quando coisas morrem: Sim" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Desculpe, não se pode mudar a velocidade em jogos multiplayer." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Velocidade do Jogo Restaurada" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Velocidade do Jogo Aumentada para %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Velocidade do Jogo Diminuída para %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar exibe cores de aliados-inimigos" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar exibe cores dos jogadores" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar exibe apenas objetos" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar exibe terreno e altitudes" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar exibe terreno" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar exibe terreno revelado" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar exibe altitudes" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "CONFIGURAÇÃO DAS TECLAS" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Return a Tela Anterior" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Voltar ao Padrão" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Produção" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Pesquisa" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Construção" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Projeto" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Relatórios de Inteligência" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Comandantes" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Liga/Desliga o Radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Liga/Desliga o Console" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Liga/Desliga Barras de Dano" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Capturar Imagem de Tela" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Liga/Desliga Limite de Velocidade para o Grupo" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Ir Para a Origem da Última Mensagem" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "Liga/Desliga Alcance de Sensor" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Designar Grupo 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Designar Grupo 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Designar Grupo 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Designar Grupo 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Designar Grupo 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Designar Grupo 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Designar Grupo 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Designar Grupo 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Designar Grupo 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Designar Grupo 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Selecionar Grupo 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Selecionar Grupo 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Selecionar Grupo 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Selecionar Grupo 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Selecionar Grupo 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Selecionar Grupo 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Selecionar Grupo 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Selecionar Grupo 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Selecionar Grupo 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Selecionar Grupo 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Selecionar Comandante 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Selecionar Comandante 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Selecionar Comandante 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Selecionar Comandante 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Selecionar Comandante 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Selecionar Comandante 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Selecionar Comandante 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Selecionar Comandante 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Selecionar Comandante 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Selecionar Comandante 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Opções de Multiplayer / Janela de Alianças" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Alinhar a visão com o Norte" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Liga/Desliga Visão Alinhada com Unidade" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Exibir Opções Em-Jogo" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Diminuir o Zoom do Radar" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Aumentar o Zoom do Radar" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Aumentar o Zoom" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Diminuir o Zoom" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Inclinar a visão para a frente" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Girar a visão para a esquerda" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Voltar a inclinação da visão ao normal" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Girar a visão para a direita" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Inclinar a visão para trás" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menu de Ordens" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Diminuir a velocidade do jogo" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Aumentar a velocidade do jogo" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Voltar a velocidade do jogo ao normal" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Alinhar a visão com o Norte" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Alinhar a visão com o Sul" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Alinhar a visão com o Leste" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Alinhar a visão com o Oeste" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Localizar Extrator de Petróleo" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Localizar Unidade de Reparo" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Localizar Caminhão" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Localizar Unidade de Sensor" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Localizar Comandante" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Liga/Desliga Barra de Energia" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Ligar/Desligar o Console" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centralizar a visão no QG" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Localizar Unidades sem Grupo" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Atirar à vontade" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Retornar ao QH" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Enviar mensagem" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "Marcar no mapa" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "Alcance de Sensor Ligado" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "Alcance de Sensor Desligado" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "Liga/Desliga Sombras" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "Travar Cursor" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "Liga/Desliga o Radar de Terreno" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "Liga/Desliga marcação de radar Inimigo/Amigo" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Selecionar todas as unidades de combate" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Selecionar todas as unidades muito danificadas" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Selecionar todas as unidades híbridas" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Selecionar todos os hovercrafts" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Selecionar todas as unidades na tela" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Selecionar todas as unidades tanques" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Selecionar TODAS as unidades" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Selecionar todos os VTOLs" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Selecionar todos os veículos de rodas" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Selecionar todas as unidades similares" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Localizar Fábrica" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Localizar Centro de Pesquisas" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Localizar Gerador de Energia" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Localizar Fábrica de Ciborgues" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Impossível salvar o jogo!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Carregar Transportes" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "OBJETIVO ARQUIVADO por trapaça!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "OBJETIVO ARQUIVADO" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "FALHA NO OBJETIVO--e você trapaçeou!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "FALHA NO OBJETIVO" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Sair para o Menu Principal" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continuar o Jogo" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "JOGO SALVO :" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Você encontrou %u de energia de um tambor de petróleo." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Dar-lhe um relatório de visibilidade" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Dar-lhe um %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Tentativa de dar um %s não-vazio não foi permitida." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Dar-lhe documentos de tecnologia" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Te Dá %u de Energia" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s Solicita uma aliança com você" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Você convida %s para formar uma aliança" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Quebrar a allança com %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Formar uma alliança com %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Você descobre projetos para %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aceitar Configurações" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Cancelar" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Endereço IP ou Nome da Máquina" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONEXÃO" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Não há jogos disponíveis" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "A sessão está cheia" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Você foi expulso!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Versão do Jogo Errada!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Você tem um mod incompatível" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Hosp. não pôde enviar arquvo?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Senha Incorreta!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "O Hospedeiro terminou a conexão!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Erro de conexão" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Pesquisando" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "JOGOS" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Atualizar Lista de Jogos" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Entre a Senha:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "OK" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "Tanques desativados!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "Ciborgues desativados." -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "VTOLs desativados." -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Selecionar Nome do Jogo" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Jogador vs. Computador" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Selecionar o Mapa" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Clique para requered uma senha" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Com Catadores" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Sem Catadores" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Selecionar o Nome do Jogador" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Distância do Nevoeiro" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alianças" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Sem Alianças" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Permitir Alianças" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Trancar Times" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Nível de Energia Baixo" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Nível de Energia Médio" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Nível de Energia Alto" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Bases" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Iniciar sem Bases" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Iniciar com Bases" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Iniciar com Bases Avançadas" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Previsualização do Mapa" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Clique para ver o Mapa" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Iniciar Hospedagem de Jogo" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Exibir Limites da Estrutura" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Definir Limites da Estrutura" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Cor do jogador" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Expulsar jogador" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Defender Posição" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Time" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Expulsar jogador" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Clique quando estiver pronto" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "PRONTO?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "JOGADORES" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Clique para alterar as configs. de jogador" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "Escolher Time" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "Clique para alterar as configs. de jogador" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Clique para alterar as configs. de jogador" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "Clique para ajustar a dificuldade da IA" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "BATE-PAPO" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Todos os jogadores devem ter os mesmos mods para entrar no seu jogo." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** senha [%s] agora é necessária! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** a sessão NÃO está protegida por senha ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Desculpe! Falha ao hospedar uma sessão." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Modo 'Times Fixos' ativado" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "O Host chutou %s do jogo!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "O Host iniciou o Jogo" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Jogadores" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Enviando mapa: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% baixado" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "HOSPEDEIRO" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Jogadores ainda conectando" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s saiu do jogo" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Transferência de arquivo foi abortada para %d." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) possui um mod incompatível e foi expulso." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s está se conectando" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Mensagem do sistema:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Aplica Os Valores Padrão e Retorna À Tela Anterior" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Limites retornaram aos valores padrão" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Nível Tecnológico 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Nível Tecnológico 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Nível Tecnológico 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Sem limite de jogadores" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 jogadores" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 msgid "3 players" msgstr "3 jogadores" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 jogadores" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 msgid "5 players" msgstr "5 jogadores" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 msgid "6 players" msgstr "6 jogadores" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 msgid "7 players" msgstr "7 jogadores" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 jogadores" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Pontuação" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Mortes" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Unidades" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Estruturas" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "Canal" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Liga/Desliga Status da Aliança" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Fornecer Relatório de Visibilidade" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Fornecer Projetos Tecnológicos" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Repassar Unidades Selecionadas" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Fornecer Energia" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Expulsando jogador %s porque tentou evitar a checagem de integridade de dados!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(alliados" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(pessoal para" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[inválido]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Verde" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Laranja" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Cinza" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Preto" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Vermelho" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Azul" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Rosa" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Ciano" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "Não podemos fazer isso! Devemos ser um Ciborgue para usar um Transporte Ciborgue!" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Pesquisa concluída: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Pesquisa Concluída" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Prêmio - Pesquisa" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Próprias Unidades: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Unidades Inimigas: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Próprias Estruturas: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Estruturas Inimigas: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Unidades Produzidas:%u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Total de Unidades: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Estruturas Construídas: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Total de Estruturas: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Cadetes: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Soldados: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Cabos: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Sargentos: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Tenentes: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Majores: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elites: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Forças Especiais: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Heróis: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Unidades Perdidas" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Estruturas Perdidas" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informação do Exército" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFATOS RECUPERADOS: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Duração da Missão - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Tempo Total de Jogo - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Você trapaceou!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "VOCÊ FOI VITORIOSO" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "VOCÊ FOI DERROTADO" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Sinal recebido de %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Sinal %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u unidade selecionada" msgstr[1] "%u unidades selecionadas" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Impossível localizar Unidades de Reparo!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Impossível localicar Caminhões!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Impossível localizar Unidades de Sensor!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Impossível localizar Comandantes!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Limite de Unidade Alcançado - Produção Interrompida" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unidade designada" msgstr[1] "%s - %u Unidades designadas" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Dano %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u de %u conectados" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danificado Eletronicamente" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Prêmio - Relatório de Visibilidade" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Prêmio - Propulsão" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Prêmio - Chassis" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Prêmio - Arma" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Prêmio - Nada" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Prêmio - Centro de Reparos" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Prêmio - Nada" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Lançar Transportes" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "Não há espaço o bastante no Transporte!" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Reforços de aterragem" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modificado e definido localmente)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modificado localmente)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (definido localmente)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Finalizado em %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versão %s%s%s%s" +#~ msgid "Infinite Production" +#~ msgstr "Produção Infinita" + +#, fuzzy +#~ msgid "Player position" +#~ msgstr "Defender Posição" + #~ msgid "Plascrete MK3" #~ msgstr "Plascreto Mk3" diff --git a/po/ro.po b/po/ro.po index b6b7cdb0e..b71ff5213 100644 --- a/po/ro.po +++ b/po/ro.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-10-24 13:31+0200\n" "Last-Translator: Adrian Mos \n" "Language-Team: Romanian \n" @@ -5730,7 +5730,7 @@ msgid "New Design" msgstr "Schemă nouă" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Transportor" @@ -11990,1043 +11990,1044 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Limba sistemului" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Introdu parola aici" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "ÃŽnchide" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Rulează în modul de triÈ™are" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Joacă pe tot ecranul" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "ÃŽncarcă un anume joc" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "Activează o modificare globală" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "modificare" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "ÃŽncarcă un joc salvat" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "salvare" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "AfiÈ™aj în fereastră" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Arată versiunea È™i ieÈ™i" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Activează umbre" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Dezactivează umbre" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Activează sunete" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Dezactivează sunete" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Jucător" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Vehicul nou" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Șasiul vehiculului" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Propulsia vehiculului" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Turela vehiculului" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Șterge schema" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Armură cinetică" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Armură termală" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Puterea motorului" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Masă" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Energie necesară" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Rezistență totală a È™asiului" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Consum energetic" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hidră" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Raza senzorului" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "Puterea senzorului" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "Puterea ECM" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Rază" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Putere de foc" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Rată de foc" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "Viteza aeriană" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Viteza pe È™osea" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Viteza pe teren accidentat" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Viteza pe apă" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Arme" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sisteme" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Jucătorul a ieÈ™it" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Jucătorul s-a deconectat" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "AÈ™teptare pentru alÈ›i jucători" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Nu se poate construi. PuÈ›ul de petrol e în flăcări." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Avarii %d%% - Experiență %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Aliat - Avarii %d%% - Experiență %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Dat ordin constructorului să construiască o pompă de petrol" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Dat ordin constructorului să construiască o pompă de petrol" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Dat ordin constructorului să construiască o pompă de petrol" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Unitate pierdută!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Clădire reconstruită" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Recrut" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Soldat" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Antrenat" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Armată regulată" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesionist" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elită" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Special" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Erou" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Joc Individual" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Joc în ReÈ›ea" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Tutorial" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "OpÈ›iuni" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Vizualizare film de început" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "IeÈ™ire din joc" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "MENIU PRINCIPAL" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Joc rapid" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "TUTORIALE" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "ÃŽntoarcere" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Campanie nouă" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "ÃŽncepe joc individual" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "ÃŽncarcă joc" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "JOC INDIVIDUAL" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "ÃŽncarcă joc salvat" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "JOC ÃŽN REÈšEA" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "GăzduieÈ™te joc" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Alătură-te unui joc" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "OPÈšIUNI" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "OpÈ›iuni de joc" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "OpoÈ›iuni de grafică" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "OpÈ›iuni video" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "OpÈ›iuni audio" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "OpÈ›iuni ale mouse-ului" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Taste funcÈ›ionale" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Redare video" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Tot ecranul" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Tremur al ecranului" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Activat" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Dezactivat" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Ceață" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Negură" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "CeaÈ›a bătăliei" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Subtitrări" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Umbre" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "OPÈšIUNI DE GRAFICÄ‚" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Volumul vocii" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Volumul efectelor" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Volumul muzicii" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "OPÈšIUNI AUDIO" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Are efect doar la repornirea jocului" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Modul de grafică*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "ÃŽn fereastră" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "RezoluÈ›ie*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Mărimea texturilor" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Sincronizare verticală*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "OPÈšIUNI VIDEO" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Poate afecta negativ performanÈ›a" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Inversează rotaÈ›ia" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Prinde cursorul" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Cursoare colorate*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Inversează butoanele mouse-ului" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "RoteÈ™te ecranul" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 #, fuzzy msgid "Middle Mouse" msgstr "Butonul de mijloc" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 #, fuzzy msgid "Right Mouse" msgstr "Butonul din dreapta" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "OPÈšIUNI ALE MOUSE-ULUI" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Dificultate" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "UÈ™or" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Dificil" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Viteza de glisare" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Limbă" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Culoarea unităților" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "Radar" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "RotaÈ›ie" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "Fix" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OPÈšIUNI DE JOC" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Modificare:" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "HARTÄ‚ SALVATÄ‚!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "JOC SALVAT :" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "ComandanÈ›i (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "InformaÈ›ii (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "ProducÈ›ie (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Scheme (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Cercetare (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "ConstrucÈ›ie (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "Hartă:" -#: src/hci.c:3929 +#: src/hci.cpp:3542 msgid "Load" msgstr "ÃŽncarcă" -#: src/hci.c:3930 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "ÃŽncarcă fiÈ™ierul hărÈ›ii" -#: src/hci.c:3937 +#: src/hci.cpp:3550 msgid "Save" msgstr "Salvează" -#: src/hci.c:3938 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "Salvează fiÈ™ierul hărÈ›ii" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "Nou" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "Nouă hartă goală" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Titlu" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "Pauză" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Pauză sau Continuare a Jocului" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "IeÈ™ire" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "IeÈ™ire din joc" -#: src/hci.c:4090 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "Jucătorul Curent:" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "" -#: src/hci.c:5396 -msgid "Infinite Production" -msgstr "" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Gazda a ieÈ™it din joc!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13034,1535 +13035,1540 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Unitate de construcÈ›ie" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUZÄ‚" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Obiectivul curent" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Rază scurtă" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Rază lungă" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Rază optimă" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Retragere la avarii serioase" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Retragere la avarii grave" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Fă sau mori!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Foc de voie" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Foc de răspuns" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Foc oprit" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrulează" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "UrmăreÈ™te" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "PăzeÈ™te poziÈ›ia" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "MenÈ›ine poziÈ›ia" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "ÃŽntoarcere pentru reparaÈ›ii" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "ÃŽntoarcere la bază" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Spre transportor" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "ÃŽntoarcere pentru reciclare" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Reciclează" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Ceață activată" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Ceață dezactivată" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "TRIȘATUL ESTE ACUM PERMIS!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "TRIȘATUL ESTE ACUM INTERZIS!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Cercetat" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "ProducÈ›ie" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Cercetare" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "ConstrucÈ›ie" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Scheme" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "AfiÈ™are informaÈ›ii" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "ComandanÈ›i" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Atribuie grupul 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Atribuie grupul 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Atribuie grupul 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Atribuie grupul 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Atribuie grupul 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Atribuie grupul 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Atribuie grupul 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Atribuie grupul 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Atribuie grupul 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Atribuie grupul 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Selecteaza Grupul 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Selecteaza Grupul 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Selecteaza Grupul 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Selecteaza Grupul 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Selecteaza Grupul 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Selecteaza Grupul 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Selecteaza Grupul 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Selecteaza Grupul 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Selecteaza Grupul 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Selecteaza Grupul 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Selectează comandantul 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Selectează comandantul 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Selectează comandantul 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Selectează comandantul 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Selectează comandantul 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Selectează comandantul 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Selectează comandantul 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Selectează comandantul 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Selectează comandantul 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Selectează comandantul 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Depărtează radarul" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Apropie radarul" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Apropie" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Depărtează" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "RoteÈ›te către stânga" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "RoteÈ™te către dreapta" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Negru complet" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Meniu de ordine" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Vezi către nord" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Vezi către sud" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Vezi către Est" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Vezi către Vest" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Vezi următoarea pompă de petrol" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Vezi următoarea unitate mecanic" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Vezi următorul constructor" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Vezi următoarea unitate senzor" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Vezi următorul comandant" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Consolă activă/inactivă" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centrează pe sediul central" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Vezi unitățile neasociate" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Foc de voie" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "ÃŽntoarce-te la bază" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Trimite mesaj text" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "Lasă o baliză" -#: src/keymap.c:401 +#: src/keymap.cpp:401 msgid "Sensor display On" msgstr "AfiÈ™aj senzor activat" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "AfiÈ™aj senzor dezactivat" -#: src/keymap.c:403 +#: src/keymap.cpp:403 msgid "Toggles shadows" msgstr "" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "Prinde cursorul" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Selectează toate unitățile cu semi-È™enile" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Selectează toate unitățile plutitoare" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Selectează toate unitățile din ecran" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Selectează toate unitățile cu È™enile" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Selectează FIECARE unitate" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Selectează toate DAV-urile" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Selectează toate unitățile cu roÈ›i" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Selectează toate unitățile similare" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Selectează următoarea fabrică" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Selectează următorul centru de cercetare" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Selectează următoarea centrală electrică" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Selectează următoarea fabrică de cyborgi" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Nu s-a putut salva jocul!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "ÃŽncarcă Transportorul" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "OBIECTIV ATINS prin triÈ™are" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "OBIECTIV ATINS" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "OBIECTIV EȘUAT--È™i ai triÈ™at!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "OBIECTIV EȘUAT" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "IeÈ™ire în meniul principal" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Continuă Jocul" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "JOC SALVAT :" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Ai găsit %u într-un butoi de petrol." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s îți oferă un raport de vizibilitate" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s îți oferă o %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Ai încercat să oferi o %s încă ocupată - dar acest lucru nu e permis." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s îți oferă documente tehnologice" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s îți oferă %u energie" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s îți solicită o alianță" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Ai invitat pe %s într-o alianță" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s a rupt alianÈ›a cu %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s a format o alianță cu %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Ai descoperit scheme pentru %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Acceptă Setările" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Anulare" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "Adresă IP sau numele calculatorului" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "CONEXIUNE" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Arenă" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Nici un joc disponibil" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Jocul este plin" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Ai fost eliminat!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Versiune de joc greÈ™ită!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Ai o modificare incomkpatibilă." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Gazda nu a putut transmite fiÈ™ierul?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Parolă incorectă!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Gazda a întrerupt conexiunea!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Eroare de conexiune" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Căutare" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "JOCURI" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Reîmprospătează lista de jocuri" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Introdu parola:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "Acceptă" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "Tancurile dezactivate!!" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "Cyborgii dezactivaÈ›i." -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "DAV-urile dezactivate." -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Selectează numele jocului" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Luptă individuală" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Alege harta" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Click pentru a seta o parolă" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "BandiÈ›i" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Fără bandiÈ›i" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Selectează numele jucătorului" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Ceață la distanță" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "AlianÈ›e" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Fără alianÈ›e" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Permite alianÈ›ele" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Echipe blocate" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Nivel mic de energie" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Nivel mediu de energie" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Nivel mare de energie" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Bază" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Pornire fără baze" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Pornire cu baze" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Pornire cu baze avansate" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Vizionare Hartă" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Click pentru a vedea Harta" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "ÃŽncepe găzduirea jocului" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Arată limitele pentru clădiri" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Setează limitele pentru clădiri" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Culoarea jucătorului" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Eliminare jucător" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "PăzeÈ™te poziÈ›ia" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Echipă" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Eliminare jucător" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Click când eÈ™ti pregătit" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "PREGÄ‚TIT?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "JUCÄ‚TORI" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Click pentru a schimba setările jucătorului" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "Alege Echipa" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "Click pentru a schimba setările jucătorului" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Click pentru a schimba setările jucătorului" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "Click pentru a ajusta dificultatea IA" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CONVERSAÈšIE" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "ToÈ›i jucătorii trebuie să aibă aceleaÈ™i modificări pentru a putea juca." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** parola [%s] este de acum necesară! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** parola NU este necesară! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Scuze! Jocul nu s-a putut găzdui." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Modul „Echipe Blocate†activat" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Gazda l-a eliminat pe %s din joc!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Gazda ÃŽncepe Jocul" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Jucători" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Trimitere de hartă: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Harta: %d%% descărcată" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "GAZDÄ‚" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Jucători în proces de conectare" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s a părăsit jocul" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Transfer de fiÈ™iere anulat pentru %d." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) are o modificare incompatibilă È™i a fost eliminat." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s se alătură jocului" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Mesaj de sistem:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Aplică Setările Implicite È™i Revino" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "Limitele resetate la valorile implicite" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Tehnologie nivel 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Tehnologie nivel 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Tehnologie nivel 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Oricâți jucători" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 jucători" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 jucători" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 jucători" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 jucători" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 jucători" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 jucători" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 jucători" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Scor" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Victime" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Unități" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Clădiri" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "Canal" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Schimbă starea de alianță" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Oferă raport de vizibilitate" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Oferă documente tehnologice" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "ProtecÈ›ie asupra unităților selectate" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Dă energie jucătorului" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Eliminat jucătorul %s, deoarece a încercat să înÈ™ele verificarea de integritate a datelor!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(aliaÈ›i" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(privat către " -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[invalid]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Verde" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Portocaliu" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Gri" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Negru" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "RoÅŸu" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Albastru" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Roz" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Azuriu" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Cercetare complată: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Cercetare completă" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Răsplată de Cercetare" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Unități proprii: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Unități inamice: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Clădiri proprii: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Clădiri inamice: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Unități produse: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Total unități: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Clădiri construite: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Total clădiri: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Recrut: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Verde: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Antrenat: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Armată regulată: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profesionist: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elită: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Special: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Erou: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Pierderi de unități" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Pierderi de clădiri" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "InformaÈ›ii despre forță" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ARTEFACTE RECUPERATE: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Timp de misiune - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Timp total de joc - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Ai triÈ™at!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "AI OBÈšINUT VICTORIA!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "AI FOST ÃŽNFRÂNT!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Baliză recepÈ›ionată de la %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Baliză %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" @@ -14570,30 +14576,30 @@ msgstr[0] "%u unitate selectată" msgstr[1] "%u unități selectate" msgstr[2] "%u unități selectate" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Imposibil de localizat Mecanici!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Imposibil de localizat Constructori!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Imposibil de localizat Senzori!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Imposibil de localizat ComandanÈ›i!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limita de control atinsă - ProducÈ›ia oprită" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14601,94 +14607,98 @@ msgstr[0] "%s - %u unitate asociată" msgstr[1] "%s - %u unități asociate" msgstr[2] "%s - %u unități asociate" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Avarii %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Conectate %u din %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Avariat electronic" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Răsplată Electronică - Raport de Vizibilitate" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Răsplată de Fabrică - Propulsie" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Răsplată de Fabrică - Șasiu" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Răsplată de Fabrică - Armă" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Răsplată de Fabrică - Nimic" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Răsplată de ReparaÈ›ii - ReparaÈ›ie" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Răsplată de ReparaÈ›ii - Nimic" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Lansează transportorul" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "ÃŽntăririle aterizează" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "(modificat È™i comutat local)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "(modificat local)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "(comutat local)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - TESTARE" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Compilare %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Versiunea %s%s%s%s" +#, fuzzy +#~ msgid "Player position" +#~ msgstr "PăzeÈ™te poziÈ›ia" + #~ msgid "Plascrete MK3" #~ msgstr "Plasbeton MK3" diff --git a/po/ru.po b/po/ru.po index 3df145f46..260c08a17 100644 --- a/po/ru.po +++ b/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-06-10 02:04+0300\n" "Last-Translator: Filipp Chertiev \n" "Language-Team: Russian <>\n" @@ -5735,7 +5735,7 @@ msgid "New Design" msgstr "Ðовый дизайн" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "ТранÑпорт" @@ -12016,379 +12016,384 @@ msgstr "ГС пушка питон ховер" msgid "Plasmite Retribution VTOL" msgstr "Бронебойные взрывчатые бомбы Кара ВВС" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Введите пароль" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ðе могу получить Ð¸Ð¼Ñ Ð¾Ñновного Ñервера (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ðе удалоÑÑŒ ÑоединитьÑÑ Ñ Ð»Ð¾Ð±Ð±Ð¸-Ñервером. проверьте, открыт-ли TCP-порт %u Ð´Ð»Ñ Ð¸ÑходÑщего траффика." -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Закрыть" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "ЗапуÑк Ñ Ñ‡Ð¸Ñ‚Ð°Ð¼Ð¸" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "выбрать папку Ñ Ð½Ð°Ñтройками" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "папка Ñ Ð½Ð°Ñтройками" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Выбрать папку Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ по умолчанию" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "папка Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Показать отладку данного уровнÑ" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "уровень отладки" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Лог отладки в файл" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "файл" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Слить вÑе запиÑи отладки в выходной файл stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "ПолноÑкранный режим" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Загрузить оÑобую игру" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "Ðазвание игры" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Отобразить данное Ñправочное Ñообщение и выйти" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "включить глобальный мод" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "мод" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "включить мод Ð´Ð»Ñ ÐšÐ°Ð¼Ð¿Ð°Ð½Ð¸Ð¹ " -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "Включить мод Ð´Ð»Ñ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸Ð¿Ð»ÐµÐµÑ€Ð°" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Отключить утверждениÑ" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "вызывает крÑш Ð´Ð»Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ€Ð°Ð¼Ð¼Ñ‹ обработки " -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Загрузить игру" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "Ñохранение" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Оконный режим" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Показать номер верÑии и выйти" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "УÑтановить иÑпользуемое разрешение" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "ШИРИÐÐхВЫСОТÐ" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Включить тени" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Отключить тени" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Включить звук" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Отключить звук" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "ЗапуÑк ÑамотеÑтированиÑ" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "прÑмое Ñоединение Ñ IP/ Ð¸Ð¼Ñ Ñервера" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "ХоÑÑ‚" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "прÑмо на Ñкран хоÑта" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Игрок" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "ÐÐ¾Ð²Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð°" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "ÐšÐ¾Ñ€Ð¿ÑƒÑ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Движитель машины" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Ð‘Ð°ÑˆÐ½Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Удалить проект" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "КинетичеÑÐºÐ°Ñ Ð±Ñ€Ð¾Ð½Ñ" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Ð¢ÐµÑ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð±Ñ€Ð¾Ð½Ñ" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "МощноÑÑ‚ÑŒ двигателÑ" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "МаÑÑа" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Ð’Ñего требуетÑÑ Ñнергии" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Общее бронирование корпуÑа" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "ИÑпользование Ñнергии" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Гидра" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "ДальноÑÑ‚ÑŒ ÑенÑора" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "МощноÑÑ‚ÑŒ ÑенÑора" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ЕМ МощноÑÑ‚ÑŒ" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Бронирование" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "ДальноÑÑ‚ÑŒ" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Урон" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "СкороÑтрельноÑÑ‚ÑŒ" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "СкороÑÑ‚ÑŒ в воздухе" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "СкороÑÑ‚ÑŒ по дороге" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "СкороÑÑ‚ÑŒ по бездорожью" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "СкороÑÑ‚ÑŒ по воде" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Вооружение" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "СиÑтемы" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Игрок ушел" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Игрок иÑчез" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Ожидание других игроков" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "СтроительÑтво невозможно. Горит нефть." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - повреждение %d%% - опыт %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Ñоюзник %d%% - опыт %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Грузовику приказано Ñтроить нефтевышку" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Грузовику приказано Ñтроить нефтевышку" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Грузовику приказано Ñтроить нефтевышку" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Юнит потерÑн!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "ПоÑтройка воÑÑтановлена" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" @@ -12396,7 +12401,7 @@ msgstr[0] "Выбрана группа %u - %u юнит" msgstr[1] "Выбрана группа %u - %u юнита" msgstr[2] "Выбрана группа %u - %u юнитов" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" @@ -12404,7 +12409,7 @@ msgstr[0] "%u юнит назначен группе %u" msgstr[1] "%u юнита назначено группе %u" msgstr[2] "%u юнитов назначено группе %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" @@ -12412,7 +12417,7 @@ msgstr[0] "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° группе %u - %u юнит" msgstr[1] "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° группе %u - %u юнита" msgstr[2] "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° группе %u - %u юнитов" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" @@ -12420,650 +12425,645 @@ msgstr[0] "Соединить Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹ %u - %u юнит" msgstr[1] "Соединить Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹ %u - %u юнита" msgstr[2] "Соединить Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹ %u - %u юнитов" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Ðовобранец" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Молодой" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Тренированный" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Опытный" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "ПрофеÑÑионал" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Ветеран" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Элита" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "СпециалиÑÑ‚" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Герой" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Один игрок" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "МногопользовательÑÐºÐ°Ñ Ð¸Ð³Ñ€Ð°" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Обучение" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Параметры" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Показать Ð’Ñтупление" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Выйти из игры" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "ГЛÐÐ’ÐОЕ МЕÐЮ" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "БыÑÑ‚Ñ€Ð°Ñ Ð¸Ð³Ñ€Ð°" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "ОБУЧЕÐИЕ" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Ðазад" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "ÐÐ¾Ð²Ð°Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½Ð¸Ñ" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Ðачать Сражение" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Вызов на поединок" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Загрузить игру" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "ОДИÐОЧÐÐЯ ИГРÐ" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Загрузить Игру" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "МУЛЬТИПЛЕЕР" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Создать игру" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "ПриÑоединитьÑÑ" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "ПÐРÐМЕТРЫ" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "ÐаÑтройки игры" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "ÐаÑтройки графики" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "ÐаÑтройки видео" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "ÐаÑтройки звука" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "ÐаÑтройки Мыши" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "РаÑÑкладка клавиатуры" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "ВоÑпроизведение видео" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1Ð¥" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Полный Ñкран" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Дрожание Ñкрана" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Вкл." -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Выкл." -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Туман" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Мгла" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Туман войны" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Субтитры" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Тени" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "ÐаÑтройки графики" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "ГромкоÑÑ‚ÑŒ голоÑа" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "ГромкоÑÑ‚ÑŒ Ñффектов" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "ГромкоÑÑ‚ÑŒ музыкы" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "ÐаÑтройки аудио" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* ПрименитÑÑ Ð¿Ð¾Ñле перезагрузки игры" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "ГрафичеÑкий режим*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Ð’ окне" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Разрешение*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Размер текÑтур" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Ð’ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑинхронизациÑ*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "ÐаÑтройки видео" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Может Ñнизить производительноÑÑ‚ÑŒ" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "ИнверÑÐ¸Ñ Ð¼Ñ‹ÑˆÐ¸" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Захват курÑора" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Цветные курÑоры *" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "ÐаÑтройки Мыши" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Повернуть влево" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "ÐаÑтройки мыши" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "СложноÑÑ‚ÑŒ" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "ЛегкаÑ" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "ÐормальнаÑ" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "ТÑжелаÑ" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "СкороÑÑ‚ÑŒ прокрутки" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Язык" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Цвет юнита" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Повернуть вправо" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "ÐÐСТРОЙКИ ИГРЫ" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Мод:" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "КÐРТРСОХРÐÐЕÐÐ!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "ИГРРСОХРÐÐЕÐÐ:" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Ðевозможно Ñоздать поÑтройку" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Игрок %u начитерил Ñебе новую поÑтройку: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Игрок %u начитерил Ñебе новый оÑобый Ñлемент: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Игрок %u начитерил Ñебе нового дроида: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Игрок %u начитерил Ñебе нового дроида: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Командиры (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "ДиÑплей разведки (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "ПроизводÑтво (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Дизайн (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "ИÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Строить (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "ЭнергиÑ" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Загрузить игру" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Загрузить игру" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Сохранить игру" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Сохранить игру" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Плитка" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "ПомеÑтить Ñемент Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° карту" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Юнит" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "ПомеÑтить юнита на карту" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "ПоÑтройки" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "РаÑположить поÑтройки на карте" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Разное" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "ПомеÑтить оÑобый Ñлемент на карту" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Пауза или продолжить игру" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "ВыровнÑÑ‚ÑŒ выÑоту вÑех объектов на карте" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Ðачать без Базы" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Выход" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Выйти из игры" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "МногопользовательÑÐºÐ°Ñ Ð¸Ð³Ñ€Ð°" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Панель прогреÑÑа" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Повторное производÑтво" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Точка Ð¿Ñ€Ð¸Ð±Ñ‹Ñ‚Ð¸Ñ Ñ Ñ„Ð°Ð±Ñ€Ð¸ÐºÐ¸" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Повторное производÑтво" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Таб Ñкрол налево" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Таб Ñкрол на право" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Продолжить игру" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "Внимание: Ð’Ñ‹ владелец Ñтой игры. ЕÑли вы выйдете из игры, то она закончитÑÑ Ð´Ð»Ñ Ð²Ñех!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Сохранить игру" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "ХоÑÑ‚ покинул игру!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Игра не может продолжатьÑÑ Ð±ÐµÐ· хоÑта." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> ВЫХОД <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13074,1542 +13074,1547 @@ msgstr "" "\n" "Warzone попробует запуÑтить игру без него. МолитеÑÑŒ!" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "прогреÑÑ Ð¿Ð¾Ñтройки" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "ПрогреÑÑ ÑтроительÑтва" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "ÐÐ°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð½Ð°Ñ ÑнергиÑ" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "ПÐУЗÐ" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Обновить иÑÑледование" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Победы проекта" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Текущие задачи" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "ПоÑтупил доклад разведки" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Малый Ñ€Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑтвиÑ" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Дальний Ñ€Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑтвиÑ" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Оптимальный Ñ€Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑтвиÑ" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "ОтÑтупление при Ñреднем уроне" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "ОтÑтупление при Ñ‚Ñжелом уроне" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Сделай или умри!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Произвольный огонь" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Ответный огонь" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ðе ÑтрелÑÑ‚ÑŒ" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Патрулировать" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "ПреÑледовать" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "ОхранÑÑ‚ÑŒ позиции" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Держать позицию" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "ВернутьÑÑ Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ð¸Ð½ÐºÐ¸" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "ВернутьÑÑ Ðº штабу" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Идти к транÑпорту" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "ВернутьÑÑ Ð´Ð»Ñ ÑƒÑ‚Ð¸Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Утилизировать" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Ðазначить производÑтво на заводе" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Ðазначить производÑтво на киберзаводе" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Ðазначить огневую поддержку" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Ðазначить производÑтво ВВП" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Круг" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Извините, в мультиплеере читы отключены." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Внимание! Этот читкод может вызвать неÑтабильноÑÑ‚ÑŒ игры. Рекомендуем не иÑпользовать его." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Позволь увидель нам то, что видишь Ñ‚Ñ‹!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Отлично, ÑенÑорный диÑплей выключен!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Игрок %u) иÑпользует чит :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Трудно как на гвоздÑÑ…!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Собирать вещи легко!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 больших!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "ÐеиÑÑÑÐºÐ°ÐµÐ¼Ð°Ñ ÑнергиÑ" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "ВернутьÑÑ Ð² нормальное ÑоÑтоÑние!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Хитро получаешь!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Один хорошо - двое лучше!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Отображение FPS включено." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Отображение FPS выключено." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Игрок %u) иÑпользует чит. ЧиÑло машин: %d, поÑтроек: %d, оÑобых Ñлементов: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "БеÑÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ ÑÐ½ÐµÑ€Ð³Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "БеÑÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ ÑÐ½ÐµÑ€Ð³Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "ДоÑтупно абÑолютно вÑе" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Туман включен" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Туман выключен" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Внимание! Этот чит может привеÑти к Ñтрашным проблемам! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Окончание миÑÑии." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "Читы активированы!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "Читы выключены!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Режим бога включен" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Режим бога выключен" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Вид выровнен по Ñеверу" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Захват курÑора: %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Ð’Ñе иÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ñтупны!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Игрок %u) иÑпользует чит :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "ИÑÑледовано" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Отображать панель прогреÑÑа только Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… единиц" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Ð’Ñегда отображать панеот прогреÑÑа Ð´Ð»Ñ ÑŽÐ½Ð¸Ñ‚Ð¾Ð²" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Ð’Ñегда отображать панел прогреÑÑа Ð´Ð»Ñ ÑŽÐ½Ð¸Ñ‚Ð¾Ð² и поÑтроек" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Демо-режим выключен - возвращение к нормальному режиму игры" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Открыто меню отладки" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Ðе найдено ни одного грузовика!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Ох! Погода Ñнаружи ужаÑна... СÐЕГ" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Ðу а дождь вÑе льет и льет..." -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Прогноз на ÑегоднÑ: оÑадков не ожидаетÑÑ!" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Внимание! При неправильном иÑпользовании в миÑÑиÑÑ… могут возникнуть Ñерьезные поÑледÑтвиÑ." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Враги уничтожены Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ читов!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Уничтожаю выбранные поÑтройки и машины!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° штабе, вид на СЕВЕР" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Ðевозможно найти штаб!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Ограничение ÑкороÑти ÑнÑто из-за багов." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Вращение по вертикали: нормально" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Вращение по вертикали: инверÑиÑ" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "ТрÑÑка Ñкрана при взрыве: выкл" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "ТрÑÑка Ñкрана при взрыве: вкл" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Извините, ÑкороÑÑ‚ÑŒ игры не менÑетÑÑ Ð² мультиплеере." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "СкороÑÑ‚ÑŒ Игры Сброшена" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "СкороÑÑ‚ÑŒ игры увеличена в %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "СкороÑÑ‚ÑŒ игры уменьшена в %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Радар отображает цвета Ñвой-чужой" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Радар отображает цвета игрока" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Радар отображает только объекты" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Радар не различает ландшафт и рельеф" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Радар отображает поверхноÑÑ‚ÑŒ" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Радар отображает поверхноÑÑ‚ÑŒ" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Радар показывает рельеф" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "РÐСКЛÐДКРКЛÐВИÐТУРЫ" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Ðазад" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Выбрать по умолчанию" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "ПроизводÑтво" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "ИÑÑледованиÑ" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "СтроительÑтво" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Дизайн" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Экран разведки" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Командиры" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Переключатель радара" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Переключатель конÑоли" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Переключатель панелей урона вкл./выкл." -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Сделать Ñкриншот" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Обзор меÑта предыдущего ÑообщениÑ" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Переключатель конÑоли" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Ðазначить группу 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Ðазначить группу 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Ðазначить группу 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Ðазначить группу 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Ðазначить группу 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Ðазначить группу 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Ðазначить группу 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Ðазначить группу 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Ðазначить группу 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Ðазначить группу 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Выделить группу 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Выделить группу 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Выделить группу 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Выделить группу 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Выделить группу 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Выделить группу 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Выделить группу 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Выделить группу 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Выделить группу 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Выделить группу 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Выделить командующего 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Выделить командующего 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Выделить командующего 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Выделить командующего 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Выделить командующего 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Выделить командующего 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Выделить командующего 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Выделить командующего 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Выделить командующего 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Выделить командующего 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "ÐаÑтройка многопользовательÑкой игры / альÑнÑ-диалог" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Сориентировать вид на Ñевер" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Включение камеры ÑлежениÑ" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Показывать игровые опции" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Отдалить радар" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Приблизить радар" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Приблизить" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Отдалить" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "БроÑок вперед" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Повернуть влево" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ð±Ñ€Ð¾Ñка" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Повернуть вправо" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "БроÑок назад" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Меню приказов" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Уменьшить ÑкороÑÑ‚ÑŒ игры" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Увеличить ÑкороÑÑ‚ÑŒ игры" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ ÑкороÑÑ‚ÑŒ игры" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Показать Ñевер" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Показать юг" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Показать воÑток" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Показать запад" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Отобразить Ñледующую нефтÑную вышку" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Отобразить Ñледующего ремонтного юнита" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Отобразить Ñледующий грузовик" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Отобразить Ñледующего ÑенÑорного юнита" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Отобразить Ñледующего командующего" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "ПерекрытиÑ" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "КонÑоль вкл/выкл" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Центрировать на командном центре" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Показать неназначенных юнитов" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Огонь по желанию" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "ВернутьÑÑ Ðº штабу" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "Отправить Ñообщение" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "ДальноÑÑ‚ÑŒ ÑенÑора" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Включить тени" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Захват курÑора" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Переключатель радара" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Выделить вÑе боевые юниты" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Выделить вÑÑŽ Ñильно поврежденную технику" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Выделить вÑÑŽ технику на полугуÑеничном ходу" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Выделить вÑÑŽ технику на воздушной подушке" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Выделить вÑе технику на Ñкране" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Выделить вÑÑŽ технику на гуÑеничном ходу" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Выделить КÐЖДОГО юнита" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Выделить вÑÑŽ воздушную технику" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Выделить вÑÑŽ технику на колеÑах" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Выделить вÑех похожих юнитов" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Выбрать Ñледующий завод техники" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Выбрать Ñледующую иÑÑледовательÑкую лабораторию" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Выбрать Ñледующий генератор Ñнергии" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Выбрать Ñледующий завод киборгов" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Ðе удалоÑÑŒ Ñохранить игру!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Загрузить ТранÑпорт" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "ЗÐДÐÐИЕ ВЫПОЛÐЕÐО Ñ Ñ‡Ð¸Ñ‚Ð°Ð¼Ð¸!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "ЗÐДÐÐИЕ ВЫПОЛÐЕÐО" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "ЗÐДÐÐИЕ ПРОВÐЛЕÐО - и читы вам не помогли!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "ЗÐДÐÐИЕ ПРОВÐЛЕÐО" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Выйти в главное меню" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Продолжить игру" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "ИГРРСОХРÐÐЕÐÐ:" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Ты нашел %u Ñнергии в бочке Ñ Ð³Ð¾Ñ€ÑŽÑ‡Ð¸Ð¼." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Доложил Ñвое меÑтоположение" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s передает вам %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Попытка отдать не пуÑтой %s - но Ñто запрещено." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s поделилÑÑ Ñвоими иÑÑледованиÑми" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s передает вам %u Ñнергию" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s предлагает заключить Ñ Ð²Ð°Ð¼Ð¸ Ñоюз" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Ð’Ñ‹ предложили %s вÑтупить в Ñоюз" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s разорвал Ñоюз Ñ %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s вÑтупил в Ñоюз Ñ %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Ð’Ñ‹ открыли чертежи: %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "ПринÑÑ‚ÑŒ наÑтройки" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Отмена" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP-Ð°Ð´Ñ€ÐµÑ Ð¸Ð»Ð¸ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "СОЕДИÐЕÐИЕ" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Холл" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Ðет доÑтупных игр" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Игра заполнена" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Ð’Ð°Ñ Ð²Ñ‹ÐºÐ¸Ð½ÑƒÐ»Ð¸!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "ÐеÑовмеÑтимый мод" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "ХоÑÑ‚ не может отправить файл?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Ðеверный пароль!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "ХоÑÑ‚ разорвал Ñоединение!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Ошибка ÑоединениÑ" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "ПоиÑк" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "ИГРЫ" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Обновить ÑпиÑок игр" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Введите пароль:" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "ОК" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "ДоÑтупен новый тип киборгов" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Выбрать название игры" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Сражение" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Выбрать карту" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Щелкни чтобы задать пароль" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "МуÑорщики" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Ðет МуÑорщиков" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Выбор Ð˜Ð¼Ñ Ð˜Ð³Ñ€Ð¾ÐºÐ°" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Туман на раÑтоÑнии" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Союзники" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Без Союзов" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Позволить Союзы" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Закрытые Команды" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Ðизкий уровень Ñнергии" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Средний уровень Ñнергии" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Ð’Ñ‹Ñокий уровень Ñнергии" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "База" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Ðачать без Базы" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Ðачать Ñ Ð‘Ð°Ð·Ð¾Ð¹" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Ðачать Ñ ÐŸÑ€Ð¾Ð´Ð²Ð¸Ð½ÑƒÑ‚Ð¾Ð¹ Базой" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "ПроÑмотр карты" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "щелкни чтобы поÑмотреть карту" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Ðачать хоÑтинг игры" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Показать лимиты Ñооружений" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "УÑтановить лимиты Ñооружений" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Цвет игрока" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Выкинуть игрока" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "ОхранÑÑ‚ÑŒ позиции" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Команда" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Выкинуть игрока" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Щелкни когда будешь готов" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "ГОТОВ?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "ИГРОКИ" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Щелкни чтобы задать пароль" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Закрытые Команды" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Радар отображает цвета игрока" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "ОхранÑÑ‚ÑŒ позиции" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "ЧÐТ" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Ð’Ñем игрокам нужен такой же мод, что и у ваÑ." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** требуетÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** пароль не требуетÑÑ! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Извините! Ðе удалоÑÑŒ Ñоздать игру." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Закрытые Команды" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "ХоÑÑ‚ выкинул %s из игры!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "ХоÑÑ‚ Ñтартует" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Игроки" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Отправка карты: %d%%" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "карта: %d%% загружена" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "ХОСТ" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Игроки еще ÑоединÑÑŽÑ‚ÑŒÑÑ" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s покинул игру" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Передача файла была прервана на %d%%" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) имеет неÑовмеÑтимый мод и отключен." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s приÑоединилÑÑ Ðº игре" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "СиÑтемное Ñообщение" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Применить наÑтройки по умолчанию и вернутьÑÑ Ð½Ð°Ð·Ð°Ð´" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñброшены к наÑтройкам по умолчанию" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Уровень технологий 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Уровень технологий 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Уровень технологий 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Любое чиÑло игроков" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 игрока" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 игрока" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 игрока" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 игрока" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 игрока" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 игрока" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 игроков" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Счёт" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "Убил" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Юниты" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Пинг" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Потери Ñооружений" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Предложить Союз" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Передать ВидимоÑÑ‚ÑŒ" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Передать Технологии" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Передать выбранных юнитов" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Передать Ñнергию игроку" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Кик игрока %s за попытку обойти проверку внутренних данных" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(Ñоюзники" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(приват" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[неверно]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Зелёный" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Оранжевый" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Серый" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Чёрный" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "КраÑный" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Синий" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Розовый" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Голубой" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Завершено иÑÑледование: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "ИÑÑледование закончено" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Ðаграда иÑÑледованиÑ" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "СобÑтвенные юниты: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "ВражеÑкие юниты: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "СобÑтвенные ÑтроениÑ: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "ВражеÑкие ÑтроениÑ: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Произведено техники: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Ð’Ñего техники: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Строений возведено: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Ð’Ñего Ñтроений: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Ðовобранцев: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Молодых: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Тренированных: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Опытных: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "ПрофеÑÑионалов: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Ветеранов: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Элиты: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Спецов: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Героев: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Потери техники" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Потери Ñооружений" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ войÑках" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ÐÐЙДЕÐО ÐРТЕФÐКТОВ: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð½Ð° миÑÑии: %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Общее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ñ‹: %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Ты читер!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ПОБЕДÐ!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "ВЫ ПРОИГРÐЛИ!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "МаÑк получен от %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "МаÑк %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" @@ -14617,30 +14622,30 @@ msgstr[0] "выбран %u юнит" msgstr[1] "выбрано %u юнита" msgstr[2] "выбрано %u юнитов" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Ðе найдено ни одной ремонтной единицы!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Ðе найдено ни одного грузовика!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Ðе найдено ни одного ÑенÑорного юнита!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Ðе найдено ни одного командира!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "ДоÑтигнут Предел - ПроизводÑтво ОÑтановлено" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14648,94 +14653,98 @@ msgstr[0] "%s - %u Юнит назначен" msgstr[1] "%s - %u Юнитов назначено" msgstr[2] "%s - %u Юнита назначено" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - повреждение %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - подключено %u из %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Электронные повреждениÑ" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "награда - доклад о меÑтоположении" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "награда завода - движитель" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "награда завода - рама" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "награда завода - оружие" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "награда завода - ничего" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "награда маÑтерÑкой - ремонт" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "награда маÑтерÑкой - ничего" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "ЗапуÑтить ТранÑпорт" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Ð’Ñ‹Ñадка подкреплениÑ" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "(модифицировано и включено локально)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "(модифицировано локально)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "(Включено локально)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - ОТЛÐДКÐ" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Ñборка %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "ВерÑÐ¸Ñ %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Повторное производÑтво" + #~ msgid "Plascrete MK3" #~ msgstr "ПлаÑткрит Ðœk3" diff --git a/po/sk.po b/po/sk.po index f63b6cb02..9a31ac7f0 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100 2.3.2\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-07-30 08:44+0100\n" "Last-Translator: Marian Zsemlye \n" "Language-Team: Koapa - Marian Zsemlye \n" @@ -5733,7 +5733,7 @@ msgid "New Design" msgstr "" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "" @@ -11996,379 +11996,384 @@ msgstr "" msgid "Plasmite Retribution VTOL" msgstr "" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Systémové údaje" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "ZavrieÅ¥" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "NastaviÅ¥ adresár s konfiguráciou" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "adresár s konfiguráciou" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "NastaviÅ¥ základný adresár s dátami" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "adresár s dátami" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Ukáž ladiace informácie pre zvolený level" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "úroveň ladenia" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Zapíš ladiace info do súboru" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "súbor" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "HraÅ¥ v celoobrazovkovom režime" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "NahraÅ¥ Å¡pecifickú hru" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "Meno-hry" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "UkázaÅ¥ túto nápovedu a zavrieÅ¥" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Vypnút hlásenia" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "NahraÅ¥ uloženú hru" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "uložená hra" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "HraÅ¥ v okne" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Nastavte rozlíšenie" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "Å ÃRKAxVÃÅ KA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Zapnúť tiene" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Vypnúť tiene" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Zapnúť zvuk" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Vypnúť zvuk" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "HráÄ" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Nové vozidlo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Telo vozidla" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Pohon vozidla" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Veža vozidla" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "ZmazaÅ¥ návrh" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Pohybové brnenie" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Tepelné brnenie" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Exhaláty" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "HmotnosÅ¥" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Celkovo požadovaná energia" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Spotreba energie" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Dosah snímaÄov" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Dosah" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "PoÅ¡kodenie" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "RýchlosÅ¥ letu" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "RýchlosÅ¥ na ceste" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "RýchlosÅ¥ na pevnine" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "RýchlosÅ¥ po vode" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Zbrane" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "HrÃ¡Ä odiÅ¡iel" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "HrÃ¡Ä spadol" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Nemožno stavaÅ¥. Ropný vrt horí." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - PoÅ¡kodenie %d%% - Zkúsenosti %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Spojenec - PoÅ¡koenie %d%% - Zkúsenosti %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Vozidlo poverené stavbou ropnej veže" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Vozidlo poverené stavbou ropnej veže" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Vozidlo poverené stavbou ropnej veže" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Jednotka stratená!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Budova obnovená" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" @@ -12376,7 +12381,7 @@ msgstr[0] "Skupina %u vybraná - %u jednotka" msgstr[1] "Skupina %u vybraná - %u jednotky" msgstr[2] "Skupina %u vybraná - %u jednotiek" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" @@ -12384,7 +12389,7 @@ msgstr[0] "%u jednotka pripojená ku skupine %u" msgstr[1] "%u jednotky pripojené ku skupine %u" msgstr[2] "%u jednotiek pripojených ku skupine %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" @@ -12392,7 +12397,7 @@ msgstr[0] "Zamerané na skupinu %u - %u jednotka" msgstr[1] "Zamerané na skupinu %u - %u jednotky" msgstr[2] "Zamerané na skupinu %u - %u jednotiek" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" @@ -12400,648 +12405,643 @@ msgstr[0] "Vyrovananý so skupinou %u - %u jednotka" msgstr[1] "Vyrovnané so skupinou %u - %u jednotky" msgstr[2] "Vyrovnaných so skupinou %u - %u jednotiek" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "NováÄik" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "ZelenáÄ" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Trénovaný" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Bežný" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Profesionál" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veterán" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elita" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Å pecialista" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Hrdina" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Hra jedného hráÄa" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Hra viacerých hráÄov" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Výcvik" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Nastavenia" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "PrehraÅ¥ intro" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "UkonÄiÅ¥ Hru" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "HLAVNÉ MENU" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Rýchla hra" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "VÃCVIKY" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Späť" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nová kampaň" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "ZaÄaÅ¥ súbojovú hru" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Nahraj Hru" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "HRA JEDNÉHO HRÃÄŒA" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "NahraÅ¥ uloženú hru" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "HRA VIACERÃCH HRÃÄŒOV" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "PripojiÅ¥ sa ku hre" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "NASTAVENIA" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Herné nastavenia" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Grafické nastavenia" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Nastavenia videa" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Zvukové nastavanie" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Nastavenia myÅ¡i" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Mapovanie kláves" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Prehrávanie videa" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Celá obrazovka" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Zapnuté" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Vypnuté" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Hmla" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Hmla" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Vojnová hmla" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Titulky" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Tiene" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "NASTAVENIA GRAFIKY" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "HlasitosÅ¥ reÄi" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "HlasitosÅ¥ efektov" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "HlasitosÅ¥ hudby" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "NASTAVENIA ZVUKU" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Prejaví sa po reÅ¡tarte hry" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Grafický mód*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Rozlíšenieí*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "VeľkosÅ¥ textúry" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "NASTAVENIA VIDEA" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "OpaÄné otáÄanie" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "PrehodiÅ¥ tlaÄidlá myÅ¡i" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "OtoÄiÅ¥ obrazovku" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "NASTAVENIA MYÅ I" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "ObtiažnosÅ¥" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Ľahká" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normálna" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Ťažká" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "RýchlosÅ¥ rolovania" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Jazyk" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Farba jednotky" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "OtáÄanie" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "NASTAVENIA HRY" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAPA ULOŽENÃ!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "HRA ULOŽENÃ!" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "HrÃ¡Ä %u podvádza (ladiace menu) novou budovou: %s" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "HrÃ¡Ä %u podvádza (ladiace menu) novou budovou: %s" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Velitelia (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Spravodajské okno (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Výroba (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "KonÅ¡trukcia (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Výzkum (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Stavba (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Nahraj Hru" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Nahraj Hru" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "UložiÅ¥ hru" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "UložiÅ¥ hru" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "dlaždica" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Umiestni dlaždice na mapu" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Jednotka" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Umiestni na mapu jednotky" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Stavba" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Umiestni na mapu budovy" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Umiestni na mapu Ärty" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Pauzni alebo odpauzni hru" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "ZaÄni bez základní" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "UkonÄiÅ¥" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "UkonÄiÅ¥ hru" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Hra viacerých hráÄov" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Panel priebehu" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "OpakovaÅ¥ výrobu" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "OpakovaÅ¥ výrobu" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "PokraÄovaÅ¥ v hre" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "UložiÅ¥ hru" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "Hostiteľ ukonÄil hru!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> KONIEC <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13049,1540 +13049,1544 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "Panel priebehu" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "PAUZA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Ciele projektu" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Krátky dostrel" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Dlhý dostrel" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Oprimálny dostrel" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Ústup pri strednom poÅ¡kodení" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ústup pri Å¥ažkom poÅ¡kodení" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Bojuj až do konca!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Opätuj paľbu" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Nestrieľaj" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Bráň pozíciu" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Drž pozíciu" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Nastúp do transportu" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "RecyklovaÅ¥" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Kruh" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Ospravedlňujeme sa, ale cheaty sú vypnuté pre hru viacerých hráÄov." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Ukáž nám Äo vidíš!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Drobnosti, zbrane a senzory sú vypnuté!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Ťažké ako nechty!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Veci idú ľahko!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Ohromujúci výkon" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Späť do normálu!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Zobrazovanie FPS je zapnuté." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Zobrazovanie FPS je vypnuté." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Zapnutá hmla" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Hmla vypnutá" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Vyvinuté" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Nemožno nájsÅ¥ žiadne vozidlo!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "VÅ¡etci nepriatelia zniÄený podvádzaním!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Nedá sa nájsÅ¥ HQ!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "PrepáÄte, ale hra nemôže byÅ¥ zmenená v móde viacerých hráÄov." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Reset rýchlosti hry" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "RychlosÅ¥ hry zvýšená na %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "RychlosÅ¥ hry znížená na %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar ukazuje farby hráÄov" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar ukazuje iba objekty" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar ukazuje terén" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar ukazuje odkrytý terén" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar ukazuje výšku" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "MAPOVANIE KLÃVES" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Návrat na predchádzajúcu obrazovku" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "ObnoviÅ¥ pôvodné" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "Výzkum" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "StavaÅ¥" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "Návrh" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "OdfotiÅ¥ obrazovku" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "ZobraziÅ¥ pozíciu predchádzajúcej správy" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "PriradiÅ¥ ku skupine 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "PriradiÅ¥ ku skupine 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "PriradiÅ¥ ku skupine 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "PriradiÅ¥ ku skupine 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "PriradiÅ¥ ku skupine 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "PriradiÅ¥ ku skupine 6" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "PriradiÅ¥ ku skupine 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "PriradiÅ¥ ku skupine 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "PriradiÅ¥ ku skupine 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "PriradiÅ¥ ku skupine 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "VybraÅ¥ skupinu 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "VybraÅ¥ skupinu 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "VybraÅ¥ skupinu 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "VybraÅ¥ skupinu 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "VybraÅ¥ skupinu 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "VybraÅ¥ skupinu 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "VybraÅ¥ skupinu 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "VybraÅ¥ skupinu 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "VybraÅ¥ skupinu 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "VybraÅ¥ skupinu 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "VybraÅ¥ veliteľa 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "VybraÅ¥ veliteľa 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "VybraÅ¥ veliteľa 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "VybraÅ¥ veliteľa 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "VybraÅ¥ veliteľa 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "VybraÅ¥ veliteľa 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "VybraÅ¥ veliteľa 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "VybraÅ¥ veliteľa 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "VybraÅ¥ veliteľa 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "VybraÅ¥ veliteľa 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Oddialenie radaru" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Priblíženie radaru" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "PriblížiÅ¥" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "OddialiÅ¥" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "OtoÄiÅ¥ doľava" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "OtoÄiÅ¥ doprava" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Menu príkazov" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "ZnížiÅ¥ rýchlosÅ¥ hry" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "ZvýšiÅ¥ rýchlosÅ¥ hry" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Resetovat rýchlosÅ¥ hry" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Pohľad na sever" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Pohľad na juh" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Pohľad na východ" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Pohľad na západ" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Zobraz nasledujúcu ropnú ploÅ¡inu" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Zobraz ÄalÅ¡iu opravnú jednotku" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Zobraz ÄalÅ¡ie vozidlo" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Zobraz ÄalÅ¡iu senzorovú jednotku" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Zobraz ÄalÅ¡ieho veliteľa" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konzola zap/vyp" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Vycentruj pohľad na HQ" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Zobraz nezaÄlenené jednotky" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "PáliÅ¥ podľa uváženia" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Zpäť na HQ" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "PoslaÅ¥ textovú správu" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Dosah snímaÄov" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Zapnúť tiene" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "VybraÅ¥ vÅ¡etky bojové jednotky" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "VybraÅ¥ vÅ¡etky Å¥ažko poÅ¡kodené jednotky" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "VybraÅ¥ vÅ¡etky polopásové jednotky" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "VybraÅ¥ vÅ¡etky vzášadlá" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "VybraÅ¥ vÅ¡etky jednotky na obrazovke" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "VybraÅ¥ vÅ¡etny pásové jednotky" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "VybraÅ¥ VÅ ETKY jednotky" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "VybraÅ¥ vÅ¡etky kolesové jednotky" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Vyber vÅ¡etky podobné jednotky" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "VybraÅ¥ dalÅ¡iu továrňu" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "VybraÅ¥ dalÅ¡ie výskumné zariadenie" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "VybraÅ¥ další generátor energie" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Nemožno uložiÅ¥ hru!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Naložit transport" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "CIEL SPLNENà podvádzaním!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "CIEĽ BOL SPLNENÃ" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "CIEL NESPLNENÃ-a podvádzal si!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "CIEĽ NEBOL SPLNENÃ" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "SkonÄiÅ¥ do hlavého menu" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "PokraÄovat v hre" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "HRA ULOŽENÃ!" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Vám dá viditeľnú správu" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Vám dá %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Skúšal si daÅ¥ preÄ neprázdnu %s - to ale nie je povolené." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Vám dá technologické dokumenty" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Vám dá %u silu" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s žiada o alianciu s Vami" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Ste pozvaný %s na vytvorenie aliancie" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s zruÅ¡il spojenectvo s %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s uzavrel spojenectvo s %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "NaÅ¡iel si plány na %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "PotvrÄ nastavenia" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "ZruÅ¡iÅ¥" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP adresa alebo meno stroja" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "SPOJENIE" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Lobby" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Žiadne hry k dispozícii" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Hľadám" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "HRY" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Aktualizuj zoznam hier" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Dostupný novy kyborg" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Vyber meno hry" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Vyber Mapu" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Vyber meno hráÄa" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Vzdialenostná hmla" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Spojenectvá" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Bez spojenectiev" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Povoľ spojenectvá" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Pevné týmy" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Nízke energetické úrovne" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Stredné energetické úrovne" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Vysoké energetické úrovne" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Základňa" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "ZaÄni bez základní" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "ZaÄni so základňami" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "ZaÄni s rozvinutými základňami" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "ZaÄni hosÅ¥ovaÅ¥ hru" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Zobraz limity budovy" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Nastavenie limitu budov" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Farba hráÄa" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "ProtihráÄ" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Bráň pozíciu" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "ProtihráÄ" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "HRÃÄŒI" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +msgid "Click to change to this slot" +msgstr "" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Pevné týmy" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar ukazuje farby hráÄov" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Bráň pozíciu" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "CHAT" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "Zapnutý mód 'Pevných týmov'" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Hostiteľ vyhodil %s z hry!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Hostiteľ zaÄíná hru" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "HráÄi" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Systémová správa:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "Nastav východzie a návrat na predchádzajúcu obrazovku" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Technologická úroveň 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Technologická úroveň 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Technologická úroveň 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Ľubovolný poÄet hráÄov" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 hráÄi" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 hráÄi" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 hráÄi" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 hráÄi" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 hráÄi" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 hráÄi" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 hráÄov" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Jednotky" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Stavby" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(spojenectvo" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[chybné]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Zelená" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranžová" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Å edá" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "ÄŒierna" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "ÄŒervená" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Modrá" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Ružová" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Azurová" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Výzkum dokonÄený: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Výzkum dokonÄený" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Vlastné jednotky: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Nepriateľské jednotky: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Vlastné budovy: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Nepriateľské budovy: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Vyrobených jednotek: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Jednotiek celkom: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Postavených budov: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Budov celkom: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "NováÄik: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Zelená: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Trénovaný: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Obvyklý: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Profesionál: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veterán: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elita: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Å peciálna: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Hrdina: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Straty jednotiek" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Straty budov" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Informácie o armáde" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ZÃSKANÃCH ARTEFAKTOV: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "ÄŒas misie - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Celkový Äas hry - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Podvádzali ste!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "STE VÃŤAZ!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "BOLI STE PORAZENÃ!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" @@ -14590,29 +14594,29 @@ msgstr[0] "%u vybraná jednotka" msgstr[1] "%u jednotky vybrány" msgstr[2] "%u jednotek vybráno" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Nemožno nájsÅ¥ žiadnu opravnú jednotku!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Nemožno nájsÅ¥ žiadne vozidlo!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Nemožno nájsÅ¥ žiadnu senzorovú jednotku!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Nemožno nájsÅ¥ žiadneho velitela!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14620,94 +14624,98 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - PoÅ¡kodenie %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Pripojených %u z %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "SpustiÅ¥ transport" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Pristály posily" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "- LADENIE" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "- Build %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Verzia %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "OpakovaÅ¥ výrobu" + #~ msgid "Player number" #~ msgstr "Číslo hráÄa" diff --git a/po/sl.po b/po/sl.po index 113770ee6..2697c7f36 100644 --- a/po/sl.po +++ b/po/sl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2009-06-10 14:43+0100\n" "Last-Translator: Tomaž PovÅ¡in \n" "Language-Team: Slovenian \n" @@ -5729,7 +5729,7 @@ msgid "New Design" msgstr "Nov naÄrt" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "Prevoz" @@ -12136,380 +12136,385 @@ msgstr "Težki top Piton ZraÄna blazina" msgid "Plasmite Retribution VTOL" msgstr "Srednje težko telo - kazen" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Lokalni sistem" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 #, fuzzy msgid "Enter password here" msgstr "Najprej vnesite geslo" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ni bilo mogoÄe razreÅ¡iti imena glavnega strežnika (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ni bilo mogoÄe komunicirati z vežnim strežnikom! Je TCP prehod %u odprt za izhodni promet?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Zapri" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "Zaženi v goljufalnem naÄinu" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "DoloÄi direktorij z nastavitvami" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "Direktorij z nastavitvami" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "DoloÄi privzeti podatkovni direktorij" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "podatkovni direktorij" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Pokaži razhroÅ¡Äitev za dano stopnjo" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "razhroÅ¡Äi stopnjo" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "Zabeleži proizvod razhroÅ¡Äitve v datoteko" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "datoteka" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Splakni ves proizvod razhroÅ¡Äitve napisan v stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Igraj v celozaslonskem naÄinu" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Naloži doloÄeno igro" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "Ime igre" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Pokaži to sporoÄilo pomoÄi in pojdi ven" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "OmogoÄi celoten mod" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "OmogoÄi le bojno pohodni mod" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "OmogoÄi le veÄigralski mod" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "PrepreÄi zahteve" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Naloži shranjeno igro" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "Shranjena igra" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Igraj v okenskem naÄinu" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Pokaži informacijo o verziji in pojdi ven" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "DoloÄi loÄljivosti uporabo" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "Å IRINAxVIÅ INA" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "OmogoÄi sence" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "PrepreÄi sence" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "OmogoÄi zvoke" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "PrepreÄi zvoke" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "Sproži samopregled" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "poveži se direktno na IP/ime gostitelja" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "gostitelj" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "pojdi naravnost na gostiteljev zaslon" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Igralec" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Novo vozilo" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "Telo vozila" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Pogon vozila" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Kupola vozila" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "IzbriÅ¡i naÄrt" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "KinetiÄni oklep" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Toplotni oklep" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "Proizvodnja motorja" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Teža" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Celotna potrebna moÄ" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Celotne telesne toÄke" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Poraba moÄi" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Hidra" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Domet senzorja" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "MoÄ senzorja" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "MoÄ EPU" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "Gradne toÄke" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Domet" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "PoÅ¡kodbe" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "Brzina streljanja" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "ZraÄna hitrost" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "Cestna hitrost" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "Izven cestna hitrost" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "Vodna hitrost" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "Orožja" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "Sistemi" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Igralec odÅ¡el" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Igralec izpadel" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "ÄŒakanje ostalih igralcev" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Gradnja ni možna. Vir nafte gori." -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - PoÅ¡kodbe %d%% - IzkuÅ¡enj %d %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - PoÅ¡kodbe %d%% - IzkuÅ¡enj %d %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Tovornjaku ukazana gradnja naftne vrtine" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Tovornjaku ukazana gradnja naftne vrtine" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Tovornjaku ukazana gradnja naftne vrtine" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Enota izgubljena!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Zgradba obnovljena" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" @@ -12518,7 +12523,7 @@ msgstr[1] "Skupina %u izbrana - %u enota" msgstr[2] "Skupina %u izbrana - %u enoti" msgstr[3] "Skupina %u izbrana - %u enote" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" @@ -12527,7 +12532,7 @@ msgstr[1] "%u enota dodeljena skupini %u" msgstr[2] "%u enoti dodeljeni skupini %u" msgstr[3] "%u enote dodeljene skupini %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" @@ -12536,7 +12541,7 @@ msgstr[1] "Centriran na skupino %u - %u enota" msgstr[2] "Centriran na skupino %u - %u enoti" msgstr[3] "Centriran na skupino %u - %u enote" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" @@ -12545,658 +12550,653 @@ msgstr[1] "Poravnava s skupino %u - %u enota" msgstr[2] "Poravnava s skupino %u - %u enoti" msgstr[3] "Poravnava s skupino %u - %u enote" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Novinec" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Zelen" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Izurjen" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "Navaden" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "Poklicni" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Veteran" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Elita" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "Poseben" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Junak" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "En igralec" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "VeÄ igralcev" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "UÄna vaja" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Možnosti" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Oglej si zaÄetni film" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "KonÄaj igro" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "GLAVNI MENI" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Hitra igra" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "UÄŒNE VAJE" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Nazaj" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Nov bojni pohod" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "ZaÄni spopad" -#: src/frontend.c:215 +#: src/frontend.cpp:214 #, fuzzy msgid "Challenges" msgstr "Plenilec" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Naloži igro" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "EN IGRALEC" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Naloži shranjeno igro" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "VEÄŒ IGRALCEV" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Gostite igro" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Pridružite se igri" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "MOŽNOSTI" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Možnosti igre" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "GrafiÄne možnosti" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Video možnosti" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "ZvoÄne možnosti" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Možnosti miÅ¡ke" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Vnosi tipk" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Igranje posnetkov" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Cel zaslon" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Tresenje zaslona" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Vklopljeno" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Izklopljeno" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Megla" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Meglica" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Megla vojne" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Podnapisi" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Sence" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "MOŽNOSTI IGRE" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Glasovi" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "UÄinki" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Glasba" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "MOŽNOSTI IGRE" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* ZaÄne delovati po ponovnem zagonu" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "GrafiÄni naÄin*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Okensko" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "LoÄljivost*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Velikost tekstur" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Vertkalna sinh*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "MOŽNOSTI IGRE" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "Obrnjena miÅ¡ka" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Ujemi kazalec" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "Možnosti miÅ¡ke" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Zavrti levo" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "MOŽNOSTI IGRE" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Težavnost" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Lahka" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "ObiÄajna" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Težka" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Hitrost pomikanja" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Jezik" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Barva enot" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Zavrti desno" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "MOŽNOSTI IGRE" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "MAPA SHRANJENA!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "IGRA SHRANJENA:" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Ni uspelo zgraditi stavbe" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Igralec/ka %u si je prigoljufal/a (razhroÅ¡Äevalni meni) novo zgradbo: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Igralec/ka %u si je prigoljufal/a (razhroÅ¡Äevalni meni) novo odliko: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Igralec/ka %u si je prigoljufal/a (razhroÅ¡Äevalni meni) novega droida: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Igralec/ka %u si je prigoljufal/a (razhroÅ¡Äevalni meni) novega droida: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Poveljniki (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "ObveÅ¡Äevalni zaslon (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Izdelava (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "NaÄrtovanje (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "Raziskave (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Gradnja (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "MoÄ" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Naloži igro" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Naloži igro" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Shrani igro" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Shrani igro" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "PloÅ¡Äa" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Položi ploÅ¡Äe na mapo" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Enota" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Položi enote na mapo" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Zgradba" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Položi zgradbe na mapo" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Odlika" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Položi odlike na mapo" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Ustavi ali nadaljuj igro" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Uskladi viÅ¡ino vseh predmetov na mapi" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "ZaÄnite brez baz" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "KonÄaj" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Zapusti igro" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "VeÄ igralcev" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "ÄŒrta napredka" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Ponavljaj izdelavo" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Dostavna toÄka tovarne" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Ponavljaj izdelavo" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tab premakni levo" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tab premakni desno" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Nadaljuj igro" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Shrani igro" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "Gostitelj je zapustil igro!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13204,1556 +13204,1561 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 msgid "Build Progress" msgstr "Potek gradnje" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "Potek izdelave" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "MoÄ poveÄana" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "IGRA USTAVLJENA" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "Posodobitev raziskav" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Cilji Projekta" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Trenutni cilj" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Novo obveÅ¡Äevalno poroÄilo" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Kratki domet" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Dolgi domet" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "NajugodnejÅ¡i domet" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Umik pri srednje težki poÅ¡kodbi" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Umik pri težki poÅ¡kodbi" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Stori ali umri!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "Streljaj-po-želji" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "VraÄaj streljanje" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ustavi streljanje" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "Patruliraj" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "Zasleduj" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "Straži položaj" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Drži položaj" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Vrni se na popravilo" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "Vrni se v GS" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Pojdi do prevoza" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Vrni se za reciklažo" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Recikliraj" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Dodeli tovarniÅ¡ko izdelavo" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Dodeli izdelavo tovarn kiborgov" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Dodeli strelno podporo" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Dodeli NVP tovarniÅ¡ko izdelavo" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Kroži" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Oprostite, ta goljufija je onemogoÄena v igrah z veÄimi igralci." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Opozorilo! Ta goljufija je hroÅ¡Äata. PriporoÄamo, da se je NE uporablja." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Dovoli nam videti kar vidite vi!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Vredu, prikaz orožja & senzorjev je izklopljen!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Igralec %u) uporablja goljufijo :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Trdo kot žeblji!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Enostavno jemanje stvari!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 velikih!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Neustavljiva moÄ" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Nazaj v normalnost!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Postaja zapleteno!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Dvakrat tako dobro!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Prikaz SNS je omogoÄen." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Prikaz SNS je onemogoÄen." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "SNS %d; Meja SNS: %d; PIE-ji %d; poliji %d; Ter. poliji %d; Stanja %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Igralec %u) uporablja goljufijo :Å t droidov: %d Å t zgradb: %d Å t odlik: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Neustavljiva moÄ onemogoÄena" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Neustavljiva moÄ omogoÄena" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Vse zadeve dane na voljo" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Megla vklopljena" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Megla izklopljena" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Opozorilo! Ta goljufija lahko kasneje povzroÄi resne težave! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "KonÄujem misijo." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "GOLJUFIJE SO SEDAJ OMOGOÄŒENE!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "GOLJUFIJE SO SEDAJ ONEMOGOÄŒENE!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Božji naÄin VKLOPLJEN" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Božji naÄin IZKLOPLJEN" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Pogled poravnan na sever" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, fuzzy, c-format msgid "Trap cursor %s" msgstr "Ujemi kazalec" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "Raziskal VSE za vas!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Igralec %u) uporablja goljufijo :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "Raziskano" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "ÄŒrte moÄi prikazane le ob izboru" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Vedno prikazane Ärte moÄi za enote" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Vedno prikazane Ärte moÄi za enote in zgradbe" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demo naÄin izklopljen - VraÄanje na navadni naÄin igre" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "RazhroÅ¡Äevalni meni je odprt" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Ni mogoÄe najti nobenih tovornjakov!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Oh, vreme zunaj je straÅ¡no... SNEG" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Pojem v dežju, jaz pojem v dežju... DEŽ" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Napoved : jasno nebo za vsa obmoÄja... NI VREMENA" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Opozorilo! To ima lahko drastiÄne posledice, Äe se nepravilno uporabi v misijah" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Vsi sovražniki uniÄeni z goljufanjem!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "UniÄevanje izbranih droidov in zgradb!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Centriran na GS igralca, smer SEVER" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Ni mogoÄe najti GS!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Oprostite, ta goljufija je onemogoÄena v igrah z veÄimi igralci." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Hitrost igre ponastavljena" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Hitrost igre poveÄana na %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Hitrost igre zmanjÅ¡ana na %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar kaže barve prijateja-sovražnika" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar kaže barve igralca" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar kaže samo predmete" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar združuje teren in viÅ¡ino " -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar kaže teren" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "Radar kaže teren" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar kaže viÅ¡ino" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "VNAÅ ANJE TIPK" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Vrni se na prejÅ¡nji zaslon" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Izberi privzeto" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Izdeluj" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "RaziÅ¡Äi" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Gradi" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "NaÄrtuj" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "ObveÅ¡Äevalni zaslon" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Poveljniki" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Nastavi radar" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Nastavi konzolni zaslon" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Nastavi vklop/izklop Ärt Å¡kode" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Naredi sliko zaslona" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Nastavi omejevanje hitrosti reda" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Poglej položaj prejÅ¡njega sporoÄila" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Nastavi konzolni zaslon" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Dodeli skupino 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Dodeli skupino 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Dodeli skupino 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Dodeli skupino 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Dodeli skupino 4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Dodeli skupino 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Dodeli skupino 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Dodeli skupino 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Dodeli skupino 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Dodeli skupino 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Izberite skupino 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Izberite skupino 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Izberite skupino 2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Izberite skupino 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Izberite skupino 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Izberite skupino 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Izberite skupino 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Izberite skupino 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Izberite skupino 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Izberite skupino 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Izberite poveljnika 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Izberite poveljnika 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Izberite poveljnika 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Izberite poveljnika 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Izberite poveljnika 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Izberite poveljnika 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Izberite poveljnika 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Izberite poveljnika 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Izberite poveljnika 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Izberite poveljnika 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "VeÄigralske možnosti" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Usmeri pogled na sever" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "Nastavi sledilno kamero" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Prikaži možnosti v igri" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Zumiraj radar ven" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Zumiraj radar noter" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Zumiraj ven" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Zumiraj noter" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Nagni naprej" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Zavrti levo" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Ponastavi naklon" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Zavrti desno" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Nagni nazaj" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Ukazni meni" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "ZmanjÅ¡aj hitrost igre" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "PoveÄaj hitrost igre" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Ponastavi hitrost igre" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Poglej sever" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Poglej jug" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Poglej vzhod" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Poglej zahod" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Poglej naslednjo naftno vrtino" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Poglej naslednjo enoto za popravila" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Poglej naslednji tovornjak" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Poglej naslednjo senzorsko enoto" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Poglej naslednjega poveljnika" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "Nastavi prekrivanja" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "Konzola vklopljena/izklopljena" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Centriraj pogled na GS" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Poglej nedodeljene enote" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "Streljaj po želji" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "Vrni se v GS" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "PoÅ¡lji besedilno sporoÄilo" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Domet senzorja" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "OmogoÄi sence" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "Ujemi kazalec" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Nastavi radar" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Izberi vse bojne enote" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Izberi vse težko poÅ¡kodovane enote" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Izberi vse polgosenice" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Izberi vse zraÄne blazine" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Izberi vse enote na zaslonu" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Izberi vse gosenice" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Izberi VSE enote" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Izberi vse NVP" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Izberi vsa kolesa" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "Izberi vse istovrstne enote" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Izberi naslednjo tovarno" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Izberi naslednjo raziskovalno stavbo" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Izberi naslednji generator moÄi" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Izberi naslednjo tovarno kiborgov" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Ni bilo mogoÄe shraniti igre!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Naloži prevoz" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "CILJ DOSEŽEN z goljufanjem!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "CILJ DOSEŽEN" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "CILJ SPODLETEL--in vi ste goljufali!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "CILJ SPODLETEL" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "KonÄaj v glavni meni" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Nadaljuj igro" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "IGRA SHRANJENA:" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "NaÅ¡li ste %u moÄi v sodu nafte" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s vam da poroÄilo o vidljivosti" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s vam da %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "PoskuÅ¡al oddati ne-prazen %s - vendar to ni dovoljeno." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s vam da tehnoloÅ¡ke dokumente" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s vam da %u moÄi" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s predlaga zavezniÅ¡tvo z vami" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Povabili ste %s v zavezniÅ¡tvo" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s je prekinil zavezniÅ¡tvo z %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s je sklenil zavezniÅ¡tvo z %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Odkrijete naÄrte za %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Sprejmi nastavitve" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "SuliÄar" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP naslov ali ime raÄunalnika" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "POVEZAVA" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Veža" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Nobenih iger ni na voljo" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Igra je polna" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Bili ste brcnjeni!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "NapaÄna verzija igre!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "NapaÄno geslo!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Napaka v povezavi" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Iskanje" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "IGRE" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Osveži spisek iger" -#: src/multiint.c:952 +#: src/multiint.cpp:922 #, fuzzy msgid "Enter Password:" msgstr "Najprej vnesite geslo" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "Nov kiborg na voljo" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Izberite ime igre" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "Enoigralski spopad" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Izberite mapo" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Kliknite za nastavitev gesla" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 #, fuzzy msgid "Scavengers" msgstr "Plenilec" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 #, fuzzy msgid "No Scavengers" msgstr "Plenilec" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Izberite ime igralca" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Daljna megla" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "ZavezniÅ¡tva" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Nobenih zavezniÅ¡tev" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Dovoli zavezniÅ¡tva" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Zaklenjene skupine" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Nizke stopnje moÄi" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Srednje velike stopnje moÄi" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Visoke stopnje moÄi" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Baza" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "ZaÄnite brez baz" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "ZaÄnite z bazami" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "ZaÄnite z naprednimi bazami" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Predogled mape" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Kliknite za ogled mape" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "ZaÄnite gostiti igro" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "Nastavite gradbene omejitve" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Nastavite gradbene omejitve" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "Igralec odÅ¡el" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "Skupina" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2 igralca" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "Straži položaj" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "Skupina" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Kliknite, ko boste pripravljeni" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "IGRALCI" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Kliknite za nastavitev gesla" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Zaklenjene skupine" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Radar kaže barve igralca" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Straži položaj" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "POGOVOR" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** geslo je sedaj potrebno! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** geslo NI potrebno! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "OmogoÄen naÄin 'zaklenjene skupine'" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Gostitelj je brcnil %s iz igre!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Gostitelj zaÄenja igro" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Igralci" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Igralci se Å¡e pridružujejo" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s je zapustil igro" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s se pridružuje igri" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "Sistemsko sporoÄilo:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "Vrni se na prejÅ¡nji zaslon" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "TehnoloÅ¡ka stopnja 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "TehnoloÅ¡ka stopnja 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "TehnoloÅ¡ka stopnja 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Katerokoli Å¡tevilo igralcev" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 igralca" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 igralca" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 igralci" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 igralca" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 igralca" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 igralca" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 igralcev" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Dosežene toÄke" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "UniÄene enote" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Enote" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Zgradbe" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Nastavi zavezniÅ¡ko stanje" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Daj poroÄilo o vidljivosti" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Prepusti tehnoloÅ¡ke dokumente" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Predaj izbrane enote" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Daj igralcu moÄ" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "ZavezniÅ¡tva" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Zelena" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Oranžna" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Siva" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "ÄŒrna" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "RdeÄa" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Modra" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Roza" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Cijan" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "Raziskava dokonÄana: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "Raziskava dokonÄana" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Raziskovalna nagrada" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "Lastne enote: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Sovražne enote: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "Lastne zgradbe: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Sovražne zgradbe: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Å tevilo izdelanih enot: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Celotno Å¡tevilo enot: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Å tevilo zgrajenih zgradb: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Celotno Å¡tevilo zgradb: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Novinec: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Zelen: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Izurjen: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "Navaden: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "Poklicni: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Veteran: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Elita: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "Poseben: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Junak: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Izgube enot" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Izgube zgradb" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Podatki o silah" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "PREVZETI ARTEFAKTI: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "ÄŒas misije - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Celotni Äas igranja - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Goljufali ste!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ZMAGALI STE!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "BILI STE PREMAGANI!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Prejet poziv od %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Poziv %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" @@ -14762,29 +14767,29 @@ msgstr[1] "%u enota izbrana" msgstr[2] "%u enoti izbrani" msgstr[3] "%u enote izbrane" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Ni mogoÄe najti nobenih enot za popravila!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Ni mogoÄe najti nobenih tovornjakov!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Ni mogoÄe najti nobenih senzorskih enot!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Ni mogoÄe najti nobenih poveljnikov!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Meja poveljniÅ¡kega nadzora dosežena - izdelava ustavljena" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14793,94 +14798,98 @@ msgstr[1] "%s - %u enota dodeljena" msgstr[2] "%s - %u enoti dodeljeni" msgstr[3] "%s - %u enote dodeljene" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - PoÅ¡kodbe %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - povezane %u od %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - elektronsko poÅ¡kodovan" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektronska nagrada - poroÄilo o vidljivosti" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Nagrada tovarne - pogon" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Nagrada tovarne - telo" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Nagrada tovarne - orožje" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Nagrada tovarne - niÄ" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Nagrada stavbe za popravila - popravilo" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Nagrada stavbe za popravila - niÄ" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "OdpoÅ¡lji prevoz" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Okrepitve pristajajo" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "(lokalno spremenjeno in menjano)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "(lokalno spremenjeno)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "(lokalno menjano)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "- RAZHROÅ ÄŒI" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "- Zgrajen %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "Verzija %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Ponavljaj izdelavo" + #~ msgid "Plascrete MK3" #~ msgstr "Plasbeton tip 3" diff --git a/po/tr.po b/po/tr.po index ffce991d8..425f52d3c 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-23 22:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2010-12-17 20:51+0200\n" "Last-Translator: Ayhan GORGULU \n" "Language-Team: Turkey \n" @@ -12018,34 +12018,34 @@ msgid "System locale" msgstr "Yerel Sistem" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1028 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Parolayı buraya gir" -#: lib/netplay/netplay.cpp:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Konnte Lobbyserver-Namen nicht auflösen (%s)!" -#: lib/netplay/netplay.cpp:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Lobi Sunucusu ile iletiÅŸim kurulamadı! TCP-Port %u u açıkmı?" #: src/challenge.cpp:184 -#: src/hci.cpp:954 -#: src/hci.cpp:3533 -#: src/hci.cpp:3656 -#: src/hci.cpp:4120 -#: src/hci.cpp:5142 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 #: src/intelmap.cpp:534 #: src/intorder.cpp:779 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 #: src/transporter.cpp:277 -#: src/transporter.cpp:360 -#: src/transporter.cpp:821 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Kapat" @@ -12188,8 +12188,8 @@ msgstr "Kurucu" msgid "go directly to host screen" msgstr "Direk kurulum ekranına git" -#: src/configuration.cpp:431 -#: src/configuration.cpp:432 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 #: src/multistat.cpp:130 msgid "Player" msgstr "Oyuncu" @@ -12336,47 +12336,47 @@ msgstr "Silahlar" msgid "Systems" msgstr "Sistemler" -#: src/display3d.cpp:589 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Oyuncu Çıktı" -#: src/display3d.cpp:593 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Oyuncu Düştü" -#: src/display3d.cpp:597 -#: src/multiint.cpp:1840 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "DiÄŸer oyuncular bekleniyor" -#: src/display3d.cpp:602 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "Senkronize edilmemiÅŸ" -#: src/display.cpp:1657 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Ä°nÅŸa edilemiyor. Petrol Kaynağı Yanıyor." -#: src/display.cpp:1836 -#: src/display.cpp:2429 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Hasar %d%% - Tecrübe %d, %s" -#: src/display.cpp:1852 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Müttefik - Hasar %d%% - Tecrübe %d, %s" -#: src/display.cpp:2050 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Kamyon'a bir Petrol Kuyusu inÅŸatı emri verildi." -#: src/display.cpp:2051 +#: src/display.cpp:2045 msgid "2 trucks ordered to build Oil Derrick" msgstr "2 kamyona bir Petrol Kuyusu inÅŸatı emri verildi." -#: src/display.cpp:2052 +#: src/display.cpp:2046 #, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "%d kamyon'lara bir Petrol Kuyusu inÅŸatı emri verildi." @@ -12389,623 +12389,623 @@ msgstr "Birim Kaybı!" msgid "Structure Restored" msgstr "Bina Yenilendi" -#: src/droid.cpp:2957 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Grup %u Seçildi - %u Birim" msgstr[1] "Grup %u Seçildi - %u Birimler" -#: src/droid.cpp:2970 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u Birim ÅŸu Gruba Atandı: %u " msgstr[1] "%u Birimler ÅŸu Gruba Atandı: %u " -#: src/droid.cpp:2983 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "%u Numaralı Grup Merkezde - %u Birim" msgstr[1] "%u Numaralı Grup Merkezde - %u Birimler" -#: src/droid.cpp:2987 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Grup %u 'e - %u Birim atandı" msgstr[1] "Grup %u 'e - %u Birimler Atandı" -#: src/droid.cpp:3279 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Er" -#: src/droid.cpp:3280 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Onbaşı" -#: src/droid.cpp:3281 +#: src/droid.cpp:3036 msgid "Trained" msgstr "ÇavuÅŸ" -#: src/droid.cpp:3282 +#: src/droid.cpp:3037 msgid "Regular" msgstr "TeÄŸmen" -#: src/droid.cpp:3283 +#: src/droid.cpp:3038 msgid "Professional" msgstr "ÃœsteÄŸmen" -#: src/droid.cpp:3284 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Albay" -#: src/droid.cpp:3285 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Korgeneral" -#: src/droid.cpp:3286 +#: src/droid.cpp:3041 msgid "Special" msgstr "Orgeneral" -#: src/droid.cpp:3287 +#: src/droid.cpp:3042 msgid "Hero" msgstr "MareÅŸal" -#: src/droid.cpp:4313 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "%s Sana vermek istedi %s ama, Sende daha çok var!" -#: src/droid.cpp:4317 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "Sen %s 'a %s vermek istedin ama, Onda daha çok var!" -#: src/frontend.cpp:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Tek Oyuncu" -#: src/frontend.cpp:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Çok Oyunculu" -#: src/frontend.cpp:100 -#: src/frontend.cpp:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "Öğretici" -#: src/frontend.cpp:101 -#: src/hci.cpp:3642 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Ayarlar" -#: src/frontend.cpp:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Oyun Videosunu Ä°zle" -#: src/frontend.cpp:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Oyundan Çık" -#: src/frontend.cpp:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "ANA MENÃœ" -#: src/frontend.cpp:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Hızlı Oyun" -#: src/frontend.cpp:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "VÄ°DEOLAR" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.cpp:160 -#: src/frontend.cpp:219 -#: src/frontend.cpp:363 -#: src/frontend.cpp:430 -#: src/frontend.cpp:564 -#: src/frontend.cpp:700 -#: src/frontend.cpp:807 -#: src/frontend.cpp:1026 -#: src/frontend.cpp:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "Geri dön" -#: src/frontend.cpp:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Yeni Oyun" -#: src/frontend.cpp:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Çatışma Oyunu BaÅŸlat" -#: src/frontend.cpp:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Mücadeleler" -#: src/frontend.cpp:216 +#: src/frontend.cpp:215 #: src/ingameop.cpp:275 msgid "Load Game" msgstr "Oyun Yükle" -#: src/frontend.cpp:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "TEK OYUNCU" -#: src/frontend.cpp:304 +#: src/frontend.cpp:303 #: src/ingameop.cpp:498 -#: src/mission.cpp:2529 -#: src/mission.cpp:2632 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Kayıtlı Oyun Yükle" -#: src/frontend.cpp:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "ÇOK OYUNCULU" -#: src/frontend.cpp:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Oyun Kur" -#: src/frontend.cpp:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "Oyuna Katıl" -#: src/frontend.cpp:423 -#: src/multiint.cpp:1118 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "AYARLAR" -#: src/frontend.cpp:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Oyun Ayarları" -#: src/frontend.cpp:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Grafik Ayarları" -#: src/frontend.cpp:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Video Ayarları" -#: src/frontend.cpp:427 +#: src/frontend.cpp:426 #: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Ses Ayarları" -#: src/frontend.cpp:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Fare Ayarları" -#: src/frontend.cpp:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "Klavye Kısayolları" -#: src/frontend.cpp:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "Video Oynatma" -#: src/frontend.cpp:495 -#: src/frontend.cpp:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.cpp:499 -#: src/frontend.cpp:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.cpp:503 -#: src/frontend.cpp:649 -#: src/frontend.cpp:775 -#: src/frontend.cpp:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Tam Ekran" -#: src/frontend.cpp:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "Ekran Sarsıntısı" -#: src/frontend.cpp:516 -#: src/frontend.cpp:544 -#: src/frontend.cpp:552 -#: src/frontend.cpp:587 -#: src/frontend.cpp:621 -#: src/frontend.cpp:630 -#: src/frontend.cpp:796 -#: src/frontend.cpp:890 -#: src/frontend.cpp:928 -#: src/frontend.cpp:967 -#: src/frontend.cpp:979 -#: src/frontend.cpp:991 -#: src/frontend.cpp:1003 -#: src/frontend.cpp:1048 -#: src/frontend.cpp:1061 -#: src/frontend.cpp:1075 -#: src/frontend.cpp:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Açık" -#: src/frontend.cpp:520 -#: src/frontend.cpp:540 -#: src/frontend.cpp:556 -#: src/frontend.cpp:582 -#: src/frontend.cpp:616 -#: src/frontend.cpp:634 -#: src/frontend.cpp:800 -#: src/frontend.cpp:885 -#: src/frontend.cpp:923 -#: src/frontend.cpp:971 -#: src/frontend.cpp:983 -#: src/frontend.cpp:995 -#: src/frontend.cpp:1007 -#: src/frontend.cpp:1043 -#: src/frontend.cpp:1056 -#: src/frontend.cpp:1070 -#: src/frontend.cpp:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Kapalı" -#: src/frontend.cpp:525 -#: src/multiint.cpp:1187 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Sis" -#: src/frontend.cpp:528 -#: src/frontend.cpp:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Duman" -#: src/frontend.cpp:532 -#: src/frontend.cpp:597 -#: src/multiint.cpp:1189 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Siste SavaÅŸ" -#: src/frontend.cpp:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Altyazılar" -#: src/frontend.cpp:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Gölgeler" -#: src/frontend.cpp:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "GRAFÄ°K AYARLARI" -#: src/frontend.cpp:688 +#: src/frontend.cpp:686 #: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "Ses Düzeyi" -#: src/frontend.cpp:692 +#: src/frontend.cpp:690 #: src/ingameop.cpp:172 msgid "FX Volume" msgstr "Ses Efekti" -#: src/frontend.cpp:696 +#: src/frontend.cpp:694 #: src/ingameop.cpp:177 msgid "Music Volume" msgstr "Müzik Sesi" -#: src/frontend.cpp:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "SES AYARLARI" -#: src/frontend.cpp:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Ayarlar oyun tekrar baÅŸlatıldığında etkili olacaktır." -#: src/frontend.cpp:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Grafik Modu*" -#: src/frontend.cpp:779 -#: src/frontend.cpp:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Pencere" -#: src/frontend.cpp:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Çözünürlük*" -#: src/frontend.cpp:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Yazı Boyutu" -#: src/frontend.cpp:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Dikey senk." -#: src/frontend.cpp:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "VIDEO AYARLARI" -#: src/frontend.cpp:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Performansı kötü etkileyebilir" -#: src/frontend.cpp:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Tersine Döndür" -#: src/frontend.cpp:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "Ä°mleci Yakala" -#: src/frontend.cpp:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Renkli Ä°mleçler*" -#: src/frontend.cpp:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "Fare Düşmelerini DeÄŸiÅŸtir" -#: src/frontend.cpp:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "Ekranı Çevir" -#: src/frontend.cpp:1015 -#: src/frontend.cpp:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "Orta TuÅŸ" -#: src/frontend.cpp:1019 -#: src/frontend.cpp:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "SaÄŸ TuÅŸ" -#: src/frontend.cpp:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "FARE AYARLARI" -#: src/frontend.cpp:1138 -#: src/frontend.cpp:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "Zorluk" -#: src/frontend.cpp:1142 -#: src/frontend.cpp:1216 -#: src/frontend.cpp:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Kolay" -#: src/frontend.cpp:1145 -#: src/frontend.cpp:1219 -#: src/frontend.cpp:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Normal" -#: src/frontend.cpp:1149 -#: src/frontend.cpp:1222 -#: src/frontend.cpp:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Zor" -#: src/frontend.cpp:1154 -#: src/frontend.cpp:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "Kaydırma hızı" -#: src/frontend.cpp:1168 -#: src/frontend.cpp:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Lisan" -#: src/frontend.cpp:1180 -#: src/frontend.cpp:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Birim Rengi" -#: src/frontend.cpp:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "Radar" -#: src/frontend.cpp:1184 -#: src/frontend.cpp:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Rotating" msgstr "Dönüşlü" -#: src/frontend.cpp:1184 -#: src/frontend.cpp:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "Tamir edilmiÅŸ" -#: src/frontend.cpp:1190 -#: src/frontend.cpp:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "OYUN AYARLARI" -#: src/frontend.cpp:1342 -#: src/multiint.cpp:2109 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "Mod: " -#: src/hci.cpp:1277 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "HARÄ°TAN KAYDEDÄ°LDÄ°!" -#: src/hci.cpp:1628 +#: src/hci.cpp:1576 #: src/loop.cpp:558 #: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "OYUN KAYDEDÄ°LDÄ° :" -#: src/hci.cpp:2015 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Bina inÅŸası baÅŸarısız" -#: src/hci.cpp:2032 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Oyuncu %u Yeni binasını (debug menü) inÅŸa etti: %s." -#: src/hci.cpp:2047 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Oyuncu %u (debug menü) yeni doÄŸal maddesini oluÅŸturdu: %s." -#: src/hci.cpp:2069 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Oyuncu %u (debug menü) Yeni birimini oluÅŸturdu: %s." -#: src/hci.cpp:2080 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Oyuncu %u (debug menü) Yeni birimini oluÅŸturdu." # Commander kann als Eigenname im Deutschen allerdings mit deutschem Plural stehen bleiben -Kreuvf -#: src/hci.cpp:3453 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Komutanlar (F6)" -#: src/hci.cpp:3466 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Görev Ekranı (F5)" -#: src/hci.cpp:3479 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Ãœretim (F1)" -#: src/hci.cpp:3492 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "Tasarım (F4)" -#: src/hci.cpp:3505 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "AraÅŸtırma (F2)" -#: src/hci.cpp:3518 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Ä°nÅŸa (F3)" -#: src/hci.cpp:3589 -#: src/multiint.cpp:1234 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 #: src/multimenu.cpp:801 msgid "Power" msgstr "Güç" -#: src/hci.cpp:3680 +#: src/hci.cpp:3529 msgid "Map:" msgstr "Harita:" -#: src/hci.cpp:3693 +#: src/hci.cpp:3542 msgid "Load" msgstr "Yükle" -#: src/hci.cpp:3694 +#: src/hci.cpp:3543 msgid "Load Map File" msgstr "Harita Dosyası Yükle" -#: src/hci.cpp:3701 +#: src/hci.cpp:3550 msgid "Save" msgstr "Kaydet" -#: src/hci.cpp:3702 +#: src/hci.cpp:3551 msgid "Save Map File" msgstr "Harita dosyası kaydet" -#: src/hci.cpp:3710 +#: src/hci.cpp:3559 msgid "New" msgstr "Yeni" -#: src/hci.cpp:3711 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "Yeni BoÅŸ Harita" -#: src/hci.cpp:3747 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Harita Ö." -#: src/hci.cpp:3748 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "Haritaya yeni öğeler yerleÅŸtir" -#: src/hci.cpp:3757 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Birim" -#: src/hci.cpp:3758 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "Haritaya yeni birimler yerleÅŸtir" -#: src/hci.cpp:3766 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Bina" -#: src/hci.cpp:3767 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "Haritaya yeni binalar yerleÅŸtir" # gemäß: http://dict.leo.org/ende?search=Feat -Kreuvf -#: src/hci.cpp:3775 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Özellik" -#: src/hci.cpp:3776 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "Haritaya Özel Öğeler ekle" -#: src/hci.cpp:3786 +#: src/hci.cpp:3635 msgid "Pause" msgstr "Durdur" -#: src/hci.cpp:3787 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "Oyunu durdur yada baÅŸlat" -#: src/hci.cpp:3801 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "Tüm harita yüksekliÄŸini objelere uygun hale getir" -#: src/hci.cpp:3811 +#: src/hci.cpp:3660 msgid "Edit" msgstr "Düzenle" -#: src/hci.cpp:3812 +#: src/hci.cpp:3661 msgid "Start Edit Mode" msgstr "Düzenleme Modunu Aç" -#: src/hci.cpp:3826 +#: src/hci.cpp:3675 #: src/ingameop.cpp:112 #: src/ingameop.cpp:258 #: src/ingameop.cpp:263 msgid "Quit" msgstr "Çıkış" -#: src/hci.cpp:3827 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Oyundan Çık" -#: src/hci.cpp:3851 +#: src/hci.cpp:3700 msgid "Current Player:" msgstr "Geçerli Oyuncu:" -#: src/hci.cpp:4201 +#: src/hci.cpp:3990 #: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Ä°lerleme ÇubuÄŸu" -#: src/hci.cpp:5067 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Fabrika Teslim Noktası" -#: src/hci.cpp:5085 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Ãœretimi Tekrarla" -#: src/hci.cpp:5165 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Tabloyu Sola Kaydır" -#: src/hci.cpp:5180 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Tabloyu SaÄŸa Kaydır" @@ -13031,8 +13031,8 @@ msgstr "Taktiksel UI (Hedef Kaynak Simgesi): Gizle" #: src/ingameop.cpp:277 #: src/ingameop.cpp:502 -#: src/mission.cpp:2516 -#: src/mission.cpp:2635 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Oyunu Kaydet" @@ -13072,7 +13072,7 @@ msgid "Power Accrued" msgstr "Güç BirikmiÅŸ" #: src/intelmap.cpp:245 -#: src/keybind.cpp:1377 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "DURDURULDU" @@ -13088,7 +13088,7 @@ msgstr "Proje Hedefleri" msgid "Current Objective" msgstr "Geçerli Görev" -#: src/intelmap.cpp:1512 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Yeni Ä°stihbarat Raporu" @@ -13199,278 +13199,278 @@ msgstr "VTOL Fabrikası Ãœretimine Ata" msgid "Circle" msgstr "Daire Çiz" -#: src/keybind.cpp:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Ãœzgünüm bu hile Çok oyunculu oyunda devre dışıdır." -#: src/keybind.cpp:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Tehlike! Bu hile hatalıdır. Onu kullanmamanızı öneririz." -#: src/keybind.cpp:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Hadi ne görüyorsan bizde görelim!" -#: src/keybind.cpp:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Ä°yi, Silah & algılayıcı ışıkları kapalı!" -#: src/keybind.cpp:417 -#: src/keybind.cpp:447 -#: src/keybind.cpp:464 -#: src/keybind.cpp:508 -#: src/keybind.cpp:616 -#: src/keybind.cpp:656 -#: src/keybind.cpp:762 -#: src/keybind.cpp:1267 -#: src/keybind.cpp:1324 -#: src/keybind.cpp:1434 -#: src/keybind.cpp:1563 -#: src/keybind.cpp:1920 -#: src/keybind.cpp:1961 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Player %u) ÅŸu hileyi kullandı: %s" -#: src/keybind.cpp:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Koçum Benim. Demir Gibi SaÄŸlam!!!" -#: src/keybind.cpp:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "HerÅŸeyi kolaya al!" -#: src/keybind.cpp:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 Büyük güç!!!" # Ursprünglich kenne ich das nur als Cheat aus StarCraft und das sollte imho nicht übersetzt werden -Kreuvf -#: src/keybind.cpp:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "Sonsuz güç" -#: src/keybind.cpp:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "Normale Dön!" -#: src/keybind.cpp:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Hileli olmaya baÅŸlıyor!" -#: src/keybind.cpp:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Çift iyidir!" -#: src/keybind.cpp:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS-Görünüşü aktif." -#: src/keybind.cpp:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS-Görünüşü devre dışı." -#: src/keybind.cpp:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-Sınır: %d; PIEs %d; Polys %d; Terr. polys %d; States %d" -#: src/keybind.cpp:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Oyuncu %u) Åžu hileyi kullanıyor: Draid sayısı: %d Bina Sayısı: %d Özel Öğe Sayısı: %d" -#: src/keybind.cpp:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Sonsuz güç devre dışı" -#: src/keybind.cpp:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "Sonsuz güç devrede" -#: src/keybind.cpp:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "HerÅŸey kullanılabilir oldu" -#: src/keybind.cpp:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Sis açık" -#: src/keybind.cpp:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Sis kapalı" -#: src/keybind.cpp:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Dikkat! Bu hile daha kötü sorunlara sebep olabilir! [%s]" -#: src/keybind.cpp:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "Görev sonlandırılıyor." -#: src/keybind.cpp:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "HÄ°LELER DEVREDE!" -#: src/keybind.cpp:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "HÄ°LELER DEVRE DIÅžI!" -#: src/keybind.cpp:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Tanrı Modu AÇIK" -#: src/keybind.cpp:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Tanrı Modu KAPALI" -#: src/keybind.cpp:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Görüntü Kuzeye sabitlendi" -#: src/keybind.cpp:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "Ä°mleci Yakala %s" -#: src/keybind.cpp:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "HERÅžEY senin için araÅŸtırıldı!" -#: src/keybind.cpp:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Oyuncu %u) ÅŸu hileyi kullanıyor: %s %s" -#: src/keybind.cpp:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "AraÅŸtırıldı" -#: src/keybind.cpp:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Hayat Puanı çubuÄŸu sadece seçildiÄŸinde gösterilecek" -#: src/keybind.cpp:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Birimlerin Hayat Puanı çubukları her zaman gösterilecek" -#: src/keybind.cpp:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Binaların Hayat Puanı çubukları her zaman gösterilecek" -#: src/keybind.cpp:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Demo modu devre dışı - Normal oyun moduna dönülüyor" -#: src/keybind.cpp:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Debug-Menüsü açıldı" -#: src/keybind.cpp:1601 +#: src/keybind.cpp:1599 msgid "Unable to locate any oil derricks!" msgstr "Yerel Petrol Pompaları Devre Dışı!" # Let it snow, let it snow, let it snow.. # Von daher sollte das unübersetzt bleiben -Kreuvf -#: src/keybind.cpp:1822 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Vay canına, dışarda hava korkunç.. KAR" # Das Lied ist im Original Englisch --> bleibt unübersetzt -Kreuvf -#: src/keybind.cpp:1828 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "YaÄŸmurda ÅŸarkı söyle, Ben yaÄŸmurda ÅŸarkı söylüyorum... YAÄžMUR" -#: src/keybind.cpp:1834 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Hava Durumu: Yer yerde gökyüzü temiz...YAÄžIÅž YOK" -#: src/keybind.cpp:1919 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Dikkat! Misyonların yanlış kullanılmasının ciddi etkileri olabilir." -#: src/keybind.cpp:1921 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Tüm düşmanların hile ile yok edildi!" -#: src/keybind.cpp:1962 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Seçili Birimler ve Birimler Yok Ediliyor!" -#: src/keybind.cpp:2484 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Görüntü Merkezi: Genel Merkez, Yön: KUZEY" -#: src/keybind.cpp:2496 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Yerel Genel Merkez Devre Dışı!" -#: src/keybind.cpp:2503 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "Hata nedeniyle formasyon hız limiti kaldırıldı." -#: src/keybind.cpp:2552 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "Dikey Yön: Normal" -#: src/keybind.cpp:2557 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "Dikey Yön: Saygısız" -#: src/keybind.cpp:2566 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "BiÅŸeyler öldüğünde ekran sarsıntısı: Kapalı" -#: src/keybind.cpp:2571 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "BiÅŸeyler öldüğünde ekran sarsıntısı: Açık" -#: src/keybind.cpp:2616 -#: src/keybind.cpp:2659 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Ãœzgünüm, fakat oyun hızı çoklu oyunculu oyunlarda deÄŸiÅŸtirilemez" -#: src/keybind.cpp:2637 -#: src/keybind.cpp:2680 -#: src/keybind.cpp:2702 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "Oyun Hızı Sıfırlandı" -#: src/keybind.cpp:2641 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "Oyun Hızı %3.1f yükseltildi" -#: src/keybind.cpp:2684 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "Oyun Hızı %3.1f ' indirildi" -#: src/keybind.cpp:2714 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Radar Dost-Düşman haritasını gösterecek" -#: src/keybind.cpp:2718 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Radar oyuncu renklerini gösterecek" -#: src/keybind.cpp:2739 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Radar sadece nesneleri gösterecek" -#: src/keybind.cpp:2742 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Radar bölge ve yüksekliÄŸi gösterecek" -#: src/keybind.cpp:2745 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Radar bölgeyi gösterecek" -#: src/keybind.cpp:2748 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Radar keÅŸfedilen alanı gösterecek" -#: src/keybind.cpp:2751 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Radar yüksekliÄŸi gösterecek" @@ -13479,9 +13479,9 @@ msgid "KEY MAPPING" msgstr "KLAVYE KISAYOLLARI" #: src/keyedit.cpp:372 -#: src/multiint.cpp:488 -#: src/multiint.cpp:913 -#: src/multiint.cpp:1320 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "Bir Önceki Ekrana Dön" @@ -13882,41 +13882,41 @@ msgstr "Sonraki Cyborg Fabrikası" msgid "Could not save game!" msgstr "Oyun Kaydedilemedi!" -#: src/mission.cpp:2077 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Taşımaya Yükle" -#: src/mission.cpp:2464 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "GÖREV BAÅžARILI--hileci seni!" -#: src/mission.cpp:2464 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "GÖREV BAÅžARILI" -#: src/mission.cpp:2470 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "GÖREV BAÅžARISIZ--ve sen hile yaptın!" -#: src/mission.cpp:2470 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "GÖREV BAÅžARISIZ" -#: src/mission.cpp:2495 -#: src/mission.cpp:2535 -#: src/mission.cpp:2649 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Ana Menüye Dön" -#: src/mission.cpp:2503 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Oyuna Devam" -#: src/mission.cpp:2600 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "OYUN KAYDEDÄ°LDÄ° :" -#: src/move.cpp:2314 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Sen %u güç varili buldun." @@ -13971,291 +13971,297 @@ msgstr "%s Ä°simli Oyuncu %s ile AnlaÅŸma Ä°mzaladı." msgid "You Discover Blueprints For %s" msgstr "Sen %s 'in kalıntılarını keÅŸfettin" -#: src/multiint.cpp:424 +#: src/multiint.cpp:425 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Ayarları Kabul et" -#: src/multiint.cpp:426 -#: src/multiint.cpp:958 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Ä°ptal" -#: src/multiint.cpp:437 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP-Adresi yada Makine Ä°smi" -#: src/multiint.cpp:485 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "BAÄžLANTI" -#: src/multiint.cpp:490 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Bekleme Odası" -#: src/multiint.cpp:491 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.cpp:681 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Geçerli oyun yok" -#: src/multiint.cpp:684 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Oyun Dolu" -#: src/multiint.cpp:688 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Oyundan Atıldın!" -#: src/multiint.cpp:691 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Yanlış Oyun Sürümü!" -#: src/multiint.cpp:694 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "Uyumsuz bir mod." -#: src/multiint.cpp:698 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "Kurucu dosya gönderebilir mi?" -#: src/multiint.cpp:702 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Geçersiz Åžifre!" -#: src/multiint.cpp:705 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "Kurucu BaÄŸlantıyı Kesti" -#: src/multiint.cpp:709 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "BaÄŸlantı Hatası" -#: src/multiint.cpp:853 +#: src/multiint.cpp:837 msgid "Searching" msgstr "AraÅŸtırılıyor..." -#: src/multiint.cpp:910 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "OYUNLAR" -#: src/multiint.cpp:918 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Oyun Listesini Yenile" -#: src/multiint.cpp:938 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Åžifreyi gir:" -#: src/multiint.cpp:956 +#: src/multiint.cpp:940 msgid "OK" msgstr "TAMAM" -#: src/multiint.cpp:1073 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "Tanklar Devre Dışı!!" -#: src/multiint.cpp:1074 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "Cyborg'lar Devre Dışı" -#: src/multiint.cpp:1075 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "VTOL'lar Devre Dışı" -#: src/multiint.cpp:1123 -#: src/multiint.cpp:1130 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Oyun Ä°smi Seç" -#: src/multiint.cpp:1123 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Tek KiÅŸilik Çatışma" -#: src/multiint.cpp:1133 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Harita Seç" -#: src/multiint.cpp:1141 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "Parolayı kurmak için tıkla" -#: src/multiint.cpp:1151 -#: src/multiint.cpp:1152 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Çöpçüler var" -#: src/multiint.cpp:1154 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Çöpçüler yok" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Oyuncu Ä°smi Seç" -#: src/multiint.cpp:1190 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "YoÄŸun Sis" -#: src/multiint.cpp:1201 +#: src/multiint.cpp:1184 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Müttefiklikler" -#: src/multiint.cpp:1204 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Müttefiklik yok" -#: src/multiint.cpp:1206 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Müttefiklikleri Göster" # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:1210 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Takım Kilidi" -#: src/multiint.cpp:1236 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Düşük güç seviyesi" -#: src/multiint.cpp:1238 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Orta güç seviyesi" -#: src/multiint.cpp:1240 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "Yüksek güç seviyesi" -#: src/multiint.cpp:1272 +#: src/multiint.cpp:1255 msgid "Base" msgstr "Ãœs" -#: src/multiint.cpp:1274 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Ãœs olmadan baÅŸla." -#: src/multiint.cpp:1276 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Ãœsler ile baÅŸla." -#: src/multiint.cpp:1278 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "GeliÅŸmiÅŸ üsler ile baÅŸla." -#: src/multiint.cpp:1310 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "Haritayı Gör" -#: src/multiint.cpp:1312 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "Haritayı görmek için tıkla" -#: src/multiint.cpp:1326 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Oyunu kurulumunu baÅŸlat" -#: src/multiint.cpp:1334 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Bina limitlerini göster" -#: src/multiint.cpp:1334 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Bina limitlerini ayarla" -#: src/multiint.cpp:1420 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Oyuncu rengi" -#: src/multiint.cpp:1436 -msgid "Kick player" -msgstr "Oyundan at" - -#: src/multiint.cpp:1447 -msgid "Player position" -msgstr "Oyuncu pozisyonu" - -#: src/multiint.cpp:1807 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Takım" -#: src/multiint.cpp:1846 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Oyundan at" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "Hazırsan tıkla" -#: src/multiint.cpp:1850 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "HAZIR?" -#: src/multiint.cpp:1885 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "OYUNCULAR" -#: src/multiint.cpp:1938 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "Oyuncu ayarları için tıkla" + +#: src/multiint.cpp:1933 msgid "Choose Team" msgstr "Takım seç" -#: src/multiint.cpp:1976 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" msgstr "Oyuncu ayarları için tıkla" -#: src/multiint.cpp:2006 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "Oyuncu ayarları için tıkla" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "Y.Z zorluÄŸunu ayarlamak için tıkla" -#: src/multiint.cpp:2082 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "SOHBET" -#: src/multiint.cpp:2114 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "TÃœm oyuncular oyununa girebilmek için aynı moda ihtiyaç duyar." -#: src/multiint.cpp:2275 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** Åžifre [%s] ÅŸimdi isteniyor ! ***" -#: src/multiint.cpp:2283 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** Åžifreye gerek yok! ***" -#: src/multiint.cpp:2526 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Ãœzgünüm! Oyun kurulurken bir hata oldu." # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:2611 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "\"Takım Kilidi\"-Modu Aktif" -#: src/multiint.cpp:2650 -#: src/multiint.cpp:2700 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "Kurucu %s isimli oyuncuyu oyundan attı!" -#: src/multiint.cpp:2780 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "Kurucu oyunu baÅŸlatıyor" -#: src/multiint.cpp:3371 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Oyuncular" -#: src/multiint.cpp:3489 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "Harita Gönderiliyor: %d%%" -#: src/multiint.cpp:3497 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Harita: %d%% indirildi" -#: src/multiint.cpp:3523 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "KURUCU" @@ -14402,35 +14408,35 @@ msgstr "(bir direk" msgid "[invalid]" msgstr "[gereksiz]" -#: src/multiplay.cpp:2046 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "YeÅŸil" -#: src/multiplay.cpp:2047 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Portakal Sarısı" -#: src/multiplay.cpp:2048 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Gri" -#: src/multiplay.cpp:2049 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Siyah" -#: src/multiplay.cpp:2050 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Kırmızı" -#: src/multiplay.cpp:2051 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Koyu Mavi" -#: src/multiplay.cpp:2052 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Pembe" -#: src/multiplay.cpp:2053 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Mavi" @@ -14569,20 +14575,20 @@ msgstr "Toplam Oyun Zamanı - %s" msgid "You cheated!" msgstr "Hile Yaptın!" -#: src/scriptfuncs.cpp:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "KAZANDIN!" -#: src/scriptfuncs.cpp:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "YENÄ°LDÄ°N!" -#: src/scriptfuncs.cpp:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Sinyal alındı: %s !" -#: src/scriptfuncs.cpp:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Sinyal %d" @@ -14611,77 +14617,77 @@ msgstr "Hiç Algılayıcı birimi bulunamadı!" msgid "Unable to locate any Commanders!" msgstr "Hiç Komutan birimi bulunamadı!" -#: src/structure.cpp:2905 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "Komuta Kontrol Limitine UlaÅŸtın - Ãœretim Durduruldu" # nix Gruppe! -Kreuvf -#: src/structure.cpp:6137 -#: src/structure.cpp:6162 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Birim Atandı" msgstr[1] "%s - %u Birimler Atandı" -#: src/structure.cpp:6167 -#: src/structure.cpp:6235 -#: src/structure.cpp:6251 -#: src/structure.cpp:6265 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Hasar %3.0f%%" -#: src/structure.cpp:6217 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u de %u 'e BaÄŸlandı" -#: src/structure.cpp:6381 -#: src/structure.cpp:6426 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronik Hasar Aldı" # Reward ist zwar nicht Beute, aber im Krieg erbeutet man eben Dinge -Kreuvf -#: src/structure.cpp:6663 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Elektronik Ödül - Görünebilirlik Raporu" -#: src/structure.cpp:6703 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Fabrika Ödülü - Yürütücü" -#: src/structure.cpp:6727 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Fabrika Ödülü - Beden" -#: src/structure.cpp:6751 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Fabrika Ödülü - Silah" -#: src/structure.cpp:6760 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Fabrika Ödülü - Sıfır" -#: src/structure.cpp:6788 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Tamir Tesisi Ödülü - Tamir" -#: src/structure.cpp:6795 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Tamir Tesisi Ödülü - Sıfır" -#: src/transporter.cpp:397 -#: src/transporter.cpp:446 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "Taşımayı BaÅŸlat" -#: src/transporter.cpp:1424 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "Taşıma Gemisinde yeterince yer yok!" -#: src/transporter.cpp:1682 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "Destek kuvvetler iniyor" @@ -14713,6 +14719,9 @@ msgstr " - %s Ä°nÅŸa" msgid "Version %s%s%s%s" msgstr "Sürüm %s%s%s%s" +#~ msgid "Player position" +#~ msgstr "Oyuncu pozisyonu" + #~ msgid "Infinite Production" #~ msgstr "Sınırsız Ãœretim" diff --git a/po/uk_UA.po b/po/uk_UA.po index 22d803304..fa001a2e6 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Warzone 2100 version 2.2.3\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: \n" "Last-Translator: Меденцій ОлекÑандр \n" "Language-Team: \n" @@ -5724,7 +5724,7 @@ msgid "New Design" msgstr "Ðовий Макет" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "ТранÑпорт" @@ -12025,1051 +12025,1051 @@ msgstr "ГуÑеничний Пітон з ГШ Гарматою" msgid "Plasmite Retribution VTOL" msgstr "ВЗІП Кара з Бронебійними Бомбами" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "Мова локалізації ÑиÑтеми" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "Визначте Пароль" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ðеможливо отримати ім'Ñ Ð¾Ñновного Ñервера (%s)!" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ðеможливо зв'ÑзатиÑÑŒ з Ñервером лоббі! Чи відкритий TCP порт %u Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ трафіку?" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "Закрити" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "ЗапуÑтити у режимі шахрайÑтва" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "Визначте директорію конфігурації" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "Визначте директорію даних по замовчуванню" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ Ð´Ð°Ð½Ð¸Ñ…" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Показати Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð´Ð°Ð½Ð¾Ð³Ð¾ рівнÑ" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "налагодити рівень" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "ВивеÑти результат Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñƒ файл" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "файл" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Видалити вÑÑ– дані Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñані до stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "Грати у повноекранному режимі" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "Завантажити певну гру" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "ім'Ñ Ð³Ñ€Ð¸" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "Показати дане допоміжне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° вийти" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "ЗадіÑти глобальний мод" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "мод" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "ЗадіÑти мод лише Ð´Ð»Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½Ñ–Ñ—" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "ЗадіÑти мож лише Ð´Ð»Ñ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸Ð¿Ð»ÐµÑ”Ñ€Ð°" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "Відключити підтвердженнÑ" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "Провокує краш Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ протикрашової ÑиÑтеми" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "Завнтажити збережену гру" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "збережена гра" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "Грати у віконному режимі" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "Показати інформацію про верÑÑ–ÑŽ та вийти" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "Ð’Ñтановити робочу роздільну здатніÑÑ‚ÑŒ" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "ШИРИÐÐхВИСОТÐ" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "Ввімкнути тіні" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "Вимкнути тіні" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "Ввімкнути звук" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "Вимкнути звук" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "ЗадіÑти Ñамо-перевірку" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "підключитиÑÑŒ безпоÑередньо до ІР/ім'Ñ Ñ…Ð¾Ñту" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "хоÑÑ‚" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "перейти безпоÑередньо до екрану хоÑту" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "Гравець" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "Ðовий Підрозділ" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "ÐšÐ¾Ñ€Ð¿ÑƒÑ ÐŸÑ–Ð´Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "Ходова Підрозділу" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "Башта Підрозділу" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "Видалити Макет" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "Кінетична БронÑ" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "Термальна БронÑ" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "ПотужніÑÑ‚ÑŒ Двигуна" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "Вага" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "Загальна Ціна Енергії" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "Ð—Ð°Ð¿Ð°Ñ ÐœÑ–Ñ†Ð½Ð¾ÑÑ‚Ñ– КорпуÑу" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "Ціна Енергії" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "Гідра " -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "Ð Ð°Ð´Ñ–ÑƒÑ Ð”Ñ–Ñ— СенÑора" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "ПотужніÑÑ‚ÑŒ СенÑора" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ПотужніÑÑ‚ÑŒ ЕМ Хвиль" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "ЕфективніÑÑ‚ÑŒ Інженерного ОбладнаннÑ" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "Ð Ð°Ð´Ñ–ÑƒÑ Ð”Ñ–Ñ—" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "Сила" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "ШвидкоÑтрільніÑÑ‚ÑŒ" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "ШвидкіÑÑ‚ÑŒ у Повітрі" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "ШвидкіÑÑ‚ÑŒ на Дорозі" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "ШвидкіÑÑ‚ÑŒ по Бездоріжжю" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "ШвидкіÑÑ‚ÑŒ на Воді" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "ОзброєннÑ" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "СиÑтеми" -#: src/display3d.c:544 +#: src/display3d.cpp:590 msgid "Player left" msgstr "Гравець вийшов" -#: src/display3d.c:548 +#: src/display3d.cpp:594 msgid "Player dropped" msgstr "Гравець здавÑÑ" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "Чекаємо інших гравців" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "Будівництво Ðеможливе. Через пожежу на Ðафтовому Родовищі" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - Пошкоджень %d%% - Вбито %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - Союзник - Пошкоджень %d%% - Вбито %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "Інженеру наказано побудувати Бурову Вежу" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "Інженеру наказано побудувати Бурову Вежу" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "Інженеру наказано побудувати Бурову Вежу" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "Втрачено Бойову Одиницю!" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "Будівлю Відновлено" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "Групу %u обрано - %u Підрозділ" msgstr[1] "Групу %u обрано - %u Підрозділів" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u підрозділ призначено у Групу %u" msgstr[1] "%u підрозділів призначено у Групу %u" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "Центр екрану на Групі %u - %u Підрозділ" msgstr[1] "Центр екрану на Групі %u - %u Підрозділів" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð· Групою %u - %u Підрозділ" msgstr[1] "Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð· Групою %u - %u Підрозділів" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "Ðовобранець" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "Зелений" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "Рекрут" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "ДоÑвідчений" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "ПрофеÑіонал" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "Ветеран" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "Елітний" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "ОÑобливий" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "Герой" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "Один Гравець" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "Кілька Гравців" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "ÐавчаннÑ" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "Опції" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "Показати ЗаÑтавку" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "Вийти з Гри" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "ГОЛОВÐЕ МЕÐЮ" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "Швидка Гра" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "ÐÐВЧÐÐÐЯ" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "ПовернутиÑÑŒ" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "Ðова КампаніÑ" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "Почати Одиночну Гру" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "Виклики" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "Завнтажити Гру" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "РЕЖИМ ОДÐОГО ГРÐВЦЯ" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "Завантажити Збережену Гру" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "РЕЖИМ КІЛЬКОХ ГРÐВЦІВ" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "Створити Гру" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "ПриєднатиÑÑŒ до Гри" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "ОПЦІЇ" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "Ігрові Опції" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "Опції Графіки" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "Опції Відео" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "Опції Звуку" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "Опції Мишки" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐšÐ»Ð°Ð²Ñ–Ñˆ" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð’Ñ–Ð´ÐµÐ¾" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1X" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2X" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "Повний Екран" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "ТрÑÑÑ–Ð½Ð½Ñ Ð•ÐºÑ€Ð°Ð½Ñƒ" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "Ввімкнено" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "Вимкнено" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "Туман" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "Імла" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "Туман Війни" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "Субтитри" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "Тіні" -#: src/frontend.c:560 +#: src/frontend.cpp:558 msgid "GRAPHICS OPTIONS" msgstr "ОПЦІЇ ГРÐФІКИ" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "ГучніÑÑ‚ÑŒ Звуку" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "ГучніÑÑ‚ÑŒ Ефектів" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "ГучніÑÑ‚ÑŒ Музики" -#: src/frontend.c:703 +#: src/frontend.cpp:701 msgid "AUDIO OPTIONS" msgstr "ОПЦІЇ ЗВУКУ" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* Зміни вÑупають в Ñилу піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ñ€Ð¸" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "Режим Графіки*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "Віконний Режим" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "Роздільна ЗдатніÑÑ‚ÑŒ*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "Розмір ТекÑтур" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "Вертикальна СинхронізаціÑ*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 msgid "VIDEO OPTIONS" msgstr "ОПЦІЇ ВІДЕО" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "* Може негативно вплинути на роботу" -#: src/frontend.c:964 +#: src/frontend.cpp:962 msgid "Reverse Rotation" msgstr "Зворотнє ОбертаннÑ" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "ЗафікÑувати КурÑор" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "Кольорові КурÑори*" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "ПомінÑти ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐšÐ½Ð¾Ð¿Ð¾Ðº Миші" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "Повернути Ліворуч" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 msgid "MOUSE OPTIONS" msgstr "ОПЦІЇ МИШКИ" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "ВажкіÑÑ‚ÑŒ" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "Легко" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "Ðормально" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "Важко" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "ШвидкіÑÑ‚ÑŒ Прокрутки" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "Мова" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "Колір Підрозділів" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "Повернути Праворуч" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "ІГРОВІ ОПЦІЇ" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr ", моди: " -#: src/hci.c:1349 +#: src/hci.cpp:1237 msgid "MAP SAVED!" msgstr "ÐœÐПУ ЗБЕРЕЖЕÐО!" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 msgid "GAME SAVED: " msgstr "ГРУ ЗБЕРЕЖЕÐО:" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "Ðе вдалоÑÑ Ñтворити будівлю" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "Гравець %u за допомогою шахрайÑтва (меню налагодженнÑ) здобув(ла) нову будівлю : %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "Гравець %u за допомогою шахрайÑтва (меню налагодженнÑ) здобув(ла) нову влаÑтивіÑÑ‚ÑŒ : %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "Гравець %u за допомогою шахрайÑтва (меню налагодженнÑ) здобув(ла) нову одиницю : %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "Гравець %u за допомогою шахрайÑтва (меню налагодженнÑ) здобув(ла) нову одиницю : %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "Командири (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "Показати Розвіддані (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "Виробництво (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "КонÑÑ‚Ñ€ÑƒÑŽÐ²Ð°Ð½Ð½Ñ (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "ДоÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "Будівництво (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "ЕнергіÑ" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "Завнтажити Гру" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "Завнтажити Гру" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "Зберегти Гру" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "Зберегти Гру" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "Клітинка" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "РозміÑтити клітинки на мапі" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "Підрозділ" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "РозміÑтити Підрозділ на мапі" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "Struct" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "РозміÑтити Будівлі на мапі" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "Feat" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "РозміÑтити ОÑобливоÑÑ‚Ñ– на мапі" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "ПоÑтавити гру на паузу, або знÑти з паузи" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "ВирівнÑти виÑоту уÑÑ–Ñ… об'єктів на мапі" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "Старт без Баз" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "Вийти" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "Покинути Гру" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "Кілька Гравців" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "Індикатор ПрогреÑу" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "Зациклити Виробництво" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "Точка ДоÑтавки Фабрики" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "Зациклити Виробництво" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "Прогорнути Вкладку ліворуч" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "Прогорнути Вкладку праворуч" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "Продовжити Гру" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "ОБЕРЕЖÐО: Ви хоÑÑ‚. Якщо ви вийдете, гра закінчитьÑÑ Ð´Ð»Ñ Ð²ÑÑ–Ñ…!" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 #, fuzzy msgid "Tactical UI (Target Origin Icon): Show" msgstr "Тактична UI (Іконка ÐŸÐ¾Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¦Ñ–Ð»Ñ–): Показати" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 #, fuzzy msgid "Tactical UI (Target Origin Icon): Hide" msgstr "Тактична UI (Іконка ÐŸÐ¾Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¦Ñ–Ð»Ñ–): Приховати" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "Зберегти Гру" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 msgid "Host has quit the game!" msgstr "ХоÑÑ‚ покинув гру!" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "Гра не може продовжуватиÑÑŒ без хоÑту." -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "--> ВИХІД <--" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13080,1668 +13080,1677 @@ msgstr "" "\n" "Warzone Ñпробує запуÑтити гру без нього." -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "ЕфективніÑÑ‚ÑŒ Інженерного ОбладнаннÑ" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "Помилка З’єднаннÑ" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "Ðакопичена ЕнергіÑ" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "ПÐУЗÐ" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð”Ð¾ÑлідженнÑ" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "Цілі Проекту" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "Поточне ЗавданнÑ" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "Ðові Дані Розвідки" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "Малий радіуÑ" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "Великий радіуÑ" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Оптимальний радіуÑ" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "ВідÑтуп при Середніх УшкодженнÑÑ…" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "ВідÑтуп при Сильних УшкодженнÑÑ…" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Бій на Смерть!" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "СтрілÑти Одразу" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "Вогонь у Відповідь" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ðе ÑтрілÑти" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "ПатрулюваннÑ" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "ПереÑлідувати" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "ОхоронÑти Позицію" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "Зберігати позицію" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "ПовернутиÑÑ Ð´Ð»Ñ Ð ÐµÐ¼Ð¾Ð½Ñ‚Ñƒ" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "ПовернутиÑÑ Ð´Ð¾ Штабу" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "До ТранÑпорту" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "ПовернутиÑÑ Ð½Ð° Переробку" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "Переробка" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "Призначити Виробництво на Фабриці" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "Призначити Виробництво на Фабриці Кіборгів" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "Ðадати Вогневу Підтримку" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "Призначити Виробництво на ВЗІП Фабриці" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "Коло" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "Ðа жаль, це шахрайÑтво не діє у мультиплеєрі." -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "Обережно! Це шахрайÑтво неÑтабільне. Ми рекомендуємо його не заÑтоÑовувати." -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "Давай глÑнем що ти бачиш!" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "Добре, показ радіуÑу ÑенÑору на зброї вимкнено!" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "(Гравець %u) заÑтоÑовує шахрайÑтво :%s" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "Твердий Ñк цвÑÑ…!!!" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "Живи проÑтіше!" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 та ще й великих!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "ОÑÑŒ тобі Ñ‚Ð²Ð¾Ñ Ð´Ð¾Ñ€Ð¾Ð³Ð¾Ñ†Ñ–Ð½Ð½Ð° енергіÑ" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "ÐŸÐ¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ норми!" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "Спробуємо взÑти хитріÑÑ‚ÑŽ!" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "Два краще, ніж один!" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "Показ FPS задіÑно." -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "Показ FPS вимкнено." -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS-ліміт: %d; PIEs %d; polys %d; Terr. polys %d; States %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "(Гравець %u) заÑтоÑував шахрайÑтво :КількіÑÑ‚ÑŒ Одиниць: %d КількіÑÑ‚ÑŒ Будівель: %d КількіÑÑ‚ÑŒ ВлаÑтивоÑтей: %d" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "Вимкнено необмежену енергію" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "ЗадіÑно необмежену енергію" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "Стало доÑтупне вÑе" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "Туман ввімкнено" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "Туман вимкнено" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "Обережно! Це шахрайÑтво може викликати Ñерйозні проблеми пізніше! [%s]" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "МіÑÑ–Ñ Ð—Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑÑ." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "ШÐХРÐЙСТВРЗÐРÐЗ ЗÐДІЯÐІ!" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "ШÐХРÐЙСТВРЗÐРÐЗ ВИМКÐЕÐІ!" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "Режим Бога ЗадіÑно" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "Режим Бога Вимкнено" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "Вид на Північ" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "ЗафікÑувати курÑор %s" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "За Ð²Ð°Ñ Ð’Ð¡Ð• вже винайшли!" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "(Гарвець %u) викориÑтовує шахрайÑтво :%s %s" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 msgid "Researched" msgstr "ДоÑліджено" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "Стрічки енергії показуютьÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ при виділенні" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "Завжди показуютьÑÑ Ñтрічки енергії підрозділів" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "Завжди показуютьÑÑ Ñтрічки енергії підрозділів та будівель" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "Демо режим вимкнено - ПовертаємоÑÑŒ до нормального режиму гри" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "Меню Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¾" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "Ðе можу знайти жодного Інженера!" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "Ох, погода на дворі жахлива... СÐІГ" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "Дощику, дощику... зварю тобі борщику... ДОЩ" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "Прогноз погоди : ЯÑне небо у вÑÑ–Ñ… районах... ЖОДÐИХ ЗМІРПОГОДИ" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "Обережно! Це може призвеÑти до непередбачуваних наÑлідків при неправильному заÑтоÑуванні на міÑÑ–ÑÑ…." -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "Ð’ÑÑ–Ñ… ворогів знищено за допомогою шахрайÑтва!" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "Обрані підрозділи та будівлі буде знищено!" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "Вид відцентровано на Штабі Ð³Ñ€Ð°Ð²Ñ†Ñ Ñƒ північному напрÑмку" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Штаб!" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð¶ÐºÐ¾ÑÑ‚Ñ– формації було видалено з гри через баги." -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "ÐапрÑмок вертикального обертаннÑ: Ðормальний" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "ÐапрÑмок вертикального обертаннÑ: Обернений" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "ТрÑÑÑ–Ð½Ð½Ñ ÐµÐºÑ€Ð°Ð½Ñƒ при знищенні підрозділів: Вимкнене" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "ТрÑÑÑ–Ð½Ð½Ñ ÐµÐºÑ€Ð°Ð½Ñƒ при знищенні підрозділів: ЗадіÑне" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "Ðа жаль, швидкіÑÑ‚ÑŒ гри не можу бути змінена у мультиплеєрі." -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "ШвидкіÑÑ‚ÑŒ Гри Ðормалізовано" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "ШвидкіÑÑ‚ÑŒ Гри Підвищено до %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "ШвидкіÑÑ‚ÑŒ Гри Знижено до %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "Радар показує кольори Ñвій-чужий" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "Радар показує кольори гравців" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "Радар показує лише об’єкти" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "Радар відображає міÑцевіÑÑ‚ÑŒ та рельєф" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "Радар показує міÑцевіÑÑ‚ÑŒ" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "Радар показує розвідану міÑцевіÑÑ‚ÑŒ" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "Радар показує рельєф" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "ПРИЗÐÐЧЕÐÐЯ КЛÐВІШ" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "ПовернутиÑÑ Ð”Ð¾ Попереднього Екрану" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "Обрати ЗамовчуваннÑ" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "Виробництво" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "ДоÑлідженнÑ" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "Будівництво" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "КонÑтруюваннÑ" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "Показати Дані Розвідки" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "Командири" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "Прибрати Радар" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "Прибрати КонÑоль" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "Прибрати Індикатори Ушкоджень " -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "Зробити Знімок Екрану" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "Прибрати ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¨Ð²Ð¸Ð´ÐºÐ¾ÑÑ‚Ñ– Формації" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "Показати МіÑце Попереднього ПовідомленнÑ" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "Прибрати КонÑоль" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "Призначити Групу 0" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "Призначити Групу 1" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "Призначити Групу 2" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "Призначити Групу 3" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "Призначити Групу4" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "Призначити Групу 5" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "Призначити Групу 6" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "Призначити Групу 7" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "Призначити Групу 8" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "Призначити Групу 9" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "Обрати Групу 0" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "Обрати Групу 1" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "Обрати Групу2" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "Обрати Групу 3" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "Обрати Групу 4" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "Обрати Групу 5" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "Обрати Групу 6" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "Обрати Групу 7" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "Обрати Групу 8" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "Обрати Групу 9" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "Обрати Командира 0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "Обрати Командира 1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "Обрати Командира 2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "Обрати Командира 3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "Обрати Командира 4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "Обрати Командира 5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "Обрати Командира 6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "Обрати Командира 7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "Обрати Командира 8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "Обрати Командира 9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 msgid "Multiplayer Options / Alliance dialog" msgstr "Опції Мультиплеєра / Діалог альÑнÑу" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Повернути Вид на Північ " -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "ЗадіÑти ВідÑлідковувальну Камеру" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "Показати Ігрові Опції" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "Зменшити Зум Радару" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "Збільшити Зум Радару" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "Збільшити Зум" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "Зменшити Зум" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "Ðахилити Вперед" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "Повернути Ліворуч" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "Ðормалізувати Ðахил" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "Повернути Праворуч" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "Ðахилити Ðазад" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "Меню Ðаказів" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "Зменшити ШвидкіÑÑ‚ÑŒ Гри" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "Збільшити ШвидкіÑÑ‚ÑŒ Гри" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "Скинути ШвидкіÑÑ‚ÑŒ Гри" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "Показати Північ" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "Показати Південь" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "Показати Схід" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "Показати Захід" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "Показати наÑтупну Бурову Платформу" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "Показати наÑтупний Ремонтний Підрозділ" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "Показати наÑтупного Інженера" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "Показати наÑтупний СенÑорний Підрозділ" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "Показати наÑтупного Командира" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "ЗадіÑти ÐакладеннÑ" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "КонÑоль" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "Центрувати Вид на Штабі" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "Показати Ðезакрплені Підрозділи" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "СтрілÑти Одразу" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "ПовернутиÑÑŒ до Штабу" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "ВідіÑлати ТекÑтове ПовідомленнÑ" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "Ð Ð°Ð´Ñ–ÑƒÑ Ð”Ñ–Ñ— СенÑора" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "Ввімкнути тіні" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "ЗафікÑувати КурÑор" -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "Прибрати Радар" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "Обрати вÑÑ– Бойові Підрозділи" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "Обрати вÑÑ– Підрозділи з Сильними УшкодженнÑми" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "Обрати вÑÑ– ÐапівгуÑеничні Підрозділи" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "Обрати вÑÑ– Ðмфібії" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "Обрати вÑÑ– Підрозділи на Екрані" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "Обрати вÑÑ– ГуÑеничні Підрозділи" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "Обрати ВСІ Підрозділи" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "Обрати вÑÑ– ВЗІПи" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "Обрати вÑÑ– КоліÑні Підрозділи" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "Обрати вÑÑ– Підрозділи Цього Типу" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "Обрати наÑтупну Фабрику" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "Обрати наÑтупну ДоÑлідницьку Станцію" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "Обрати наÑтупний Енергогенератор" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "Обрати наÑтупну Фабрику Кіборгів" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 msgid "Could not save game!" msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ гру!" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "Завантажити ТранÑпорт" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "ЗÐВДÐÐÐЯ ВИКОÐÐÐО за допомогою шахрайÑтва!" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "ЗÐВДÐÐÐЯ ВИКОÐÐÐО" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED--and you cheated!" msgstr "ЗÐВДÐÐÐЯ ПРОВÐЛЕÐЕ--шахрайÑтво вам не допомогло!" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "ЗÐВДÐÐÐЯ ПРОВÐЛЕÐЕ" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "Вийти Ð’ Головне Меню" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "Продовжити Гру" -#: src/mission.c:2598 +#: src/mission.cpp:2598 msgid "GAME SAVED :" msgstr "ГРУ ЗБЕРЕЖЕÐО:" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "Ви знайшли %u енергії в бочці нафти." -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s Ðадає Вам Дані про Зону ВидимоÑÑ‚Ñ–" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s Ðадає Вам %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "Спробував передати не порожній %s - але це не дозволено." -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s Ðадає Вам Технічну Документацію" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, c-format msgid "%s Gives You %u Power" msgstr "%s Ðадає Вам %u Енергії" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s ПроÑить Союзу З Вами" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "Ви Запрошуєте %s Сформувати Союз" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s Розірвав Союз З %s" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s Сформував Союз З %s" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "Ви Знайшли КреÑÐ»ÐµÐ½Ð½Ñ Ð”Ð»Ñ %s" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "ПрийнÑти ÐалаштуваннÑ" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 msgid "Cancel" msgstr "Відмінити" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP ÐдреÑа або Ð†Ð¼â€™Ñ ÐœÐ°ÑˆÐ¸Ð½Ð¸" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "З’ЄДÐÐÐÐЯ" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "Лоббі" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "Ðемає доÑтупних ігор" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "Гра повна" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "Ð’Ð°Ñ Ð²Ð¸ÐºÐ¸Ð½ÑƒÑ‚Ð¾!" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "Ðевірна ВерÑÑ–Ñ Ð“Ñ€Ð¸!" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "У Ð²Ð°Ñ Ð½ÐµÑуміÑний мод." -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "ХоÑÑ‚ не зміг відправити файл?" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "Ðевірний Пароль!" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "ХоÑÑ‚ обірвав з'єднаннÑ!" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "Помилка З’єднаннÑ" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "Пошук" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "ІГРИ" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "Оновити СпиÑок Ігор" -#: src/multiint.c:952 +#: src/multiint.cpp:922 msgid "Enter Password:" msgstr "Введіть Пароль" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "ОК" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "ДоÑтупний Ðовий Кіборг" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "Виберіть Ð†Ð¼â€™Ñ Ð“Ñ€Ð¸" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 msgid "One-Player Skirmish" msgstr "Сутичка Ð´Ð»Ñ ÐžÐ´Ð½Ð¾Ð³Ð¾ ГравцÑ" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "Оберіть Мапу" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 msgid "Click to set Password" msgstr "ÐатиÑніть аби вÑтановити Пароль" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "Звалищники" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "Без Звалищників" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "Виберіть Ð†Ð¼â€™Ñ Ð“Ñ€Ð°Ð²Ñ†Ñ" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "Дальній Туман" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "Союзи" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "Без Союзів" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "Союзи Дозволені" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "Закріплені Команди" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "Ðизькі Рівні Енергії" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "Середні Рівні Енергії" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "ВиÑокі Рівні Енергії" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "База" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "Старт без Баз" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "Старт з Базами" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "Старт з Розвиненими Базами" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "ВиглÑд Мапи" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "ÐатиÑни, щоб побачити Мапу" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "Створити Гру" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Show Structure Limits" msgstr "Показати Межу КількоÑÑ‚Ñ– Будівель" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "Ð’Ñтановити Межу КількоÑÑ‚Ñ– Будівель" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 msgid "Player colour" msgstr "Колір гравцÑ" -#: src/multiint.c:1460 -msgid "Kick player" -msgstr "Викинути гравцÑ" - -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "ОхоронÑти Позицію" - -#: src/multiint.c:1831 +#: src/multiint.cpp:1769 msgid "Team" msgstr "Команда" -#: src/multiint.c:1870 +#: src/multiint.cpp:1781 +msgid "Kick player" +msgstr "Викинути гравцÑ" + +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "ÐатиÑни, коли готовий" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "ГОТОВІ?" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "ГРÐВЦІ" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "ÐатиÑніть аби вÑтановити Пароль" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "Закріплені Команди" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "Радар показує кольори гравців" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "ОхоронÑти Позицію" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "ЧÐТ" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "Ð’ÑÑ– гравці повинні мати однакові моди щоб приєднатиÑÑŒ до гри." -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** зараз потрібен пароль! ***" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "*** пароль ÐЕ потрібен! ***" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "Вибачте! Ðе далоÑÑ Ñтворити гру." -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "'Закріплені Команди' режим активовано" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "ХоÑÑ‚ викинув %s з гри!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "ХоÑÑ‚ Починає Гру" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "Гравці" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "ВідправлÑєтьÑÑ ÐšÐ°Ñ€Ñ‚Ð°: %d%% " -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "Мапа: %d%% завантажена" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "ХОСТ" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "Гравці Продовжують ПриєднуватиÑÑŒ" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s покинув Гру" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "Передача файлу була перервана Ð´Ð»Ñ %d." -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "%s (%u) має неÑуміÑний мод, отже був викинутий." -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s ПриєднавÑÑ Ð´Ð¾ Гри" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 msgid "System message:" msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÑиÑтеми:" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 msgid "Apply Defaults and Return To Previous Screen" msgstr "ПрийнÑти Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° ЗамовченнÑм та ПовернутиÑÑŒ до Попереднього Екрану" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ‚Ð°ÑŽÑ‚ÑŒÑÑ Ð´Ð¾ початкових значень" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "Рівень технологій 1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "Рівень технологій 2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "Рівень технологій 3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "Будь-Ñка кількіÑÑ‚ÑŒ гравців" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 гравці" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 гравці" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 гравці" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 гравці" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 гравці" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 гравці" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 гравців" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "Очки" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "ВбивÑтва" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "Підрозділи" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Пінг" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "Будівлі" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "Змінити Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð¡Ð¾ÑŽÐ·Ñƒ" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "Ðадати Інформацію про Зону ВидимоÑÑ‚Ñ–" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "Ðадати Технологічну Документацію" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "Передати Вибрані Одиниці" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "Ðадати Енергію Гравцю" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "Викидуємо Ð³Ñ€Ð°Ð²Ñ†Ñ %s, тому що він намагавÑÑ Ð¾Ð±Ñ–Ð¹Ñ‚Ð¸ перевірку ціліÑноÑÑ‚Ñ– даних!" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 msgid "(allies" msgstr "(Ñоюзники" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "(приватно до" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "[невірний]" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "Зелений" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "Помаранчовий" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "Сірий" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "Чорний" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "Червоний" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "Синій" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "Рожевий" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "Блакитний" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "ДоÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "ДоÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "Винагорода ДоÑліджень" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "ВлаÑних Підрозділів: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "Ворожих Підрозділів: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "ВлаÑних Будівель: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "Ворожих Будівель: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "Підрозділів Виготовлено: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "Ð’Ñього Підрозділів: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "Будівель Збудовано: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "Ð’Ñього Будівель: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "Ðовобранець: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "Зелений: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "Рекрут: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "ДоÑвідчений: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "ПрофеÑіонал: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "Ветеран: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "Елітний: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "ОÑобливий: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "Герой: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "Втрачено підрозділів" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "Втрачено Ñпоруд" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "Дані про Сили" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "ЗІБРÐÐО ÐРТЕФÐКТІВ: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "Ð§Ð°Ñ ÐœÑ–ÑÑ–Ñ— - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "Повний Ð§Ð°Ñ Ð“Ñ€Ð¸ - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "Ви заÑтоÑували шахрайÑтво!" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ВИ ПЕРЕМОГЛИ!" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "ВИ ЗÐЗÐÐЛИ ПОРÐЗКИ!" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "Отримано Сигнал від %s!" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "Сигнал %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "%u підрозділ обрано" msgstr[1] "%u підрозділи обрано" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "Ðе можу знайти жодного ремонтного підрозділу!" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "Ðе можу знайти жодного Інженера!" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "Ðе можу знайти жодного СенÑорного Підрозділу!" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "Ðе можу знайти жодного Командира!" -#: src/structure.c:2912 +#: src/structure.cpp:2603 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "ДоÑÑгнуто Межі Контролю - Виробництво Призупинене" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Підрозділ закріплено" msgstr[1] "%s - %u Підрозділи закріплено" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Пошкоджено %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Під'єднано %u з %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Електронних Ушкоджень" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "Електронна Винагорода - Звіт про Зону ВидимоÑÑ‚Ñ–" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "Винагорода Фабрики - Ходова" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "Винагорода Фабрики - КорпуÑ" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "Винагорода Фабрики - ОзброєннÑ" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "Винагорода Фабрики - Ðічого" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "Винагорода Ремонтної МайÑтерні - Ремонт" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "Винагорода Ремонтної МайÑтерні - Ðічого" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "ЗапуÑтити ТранÑпорт" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "ВиÑаджуєтьÑÑ ÐŸÑ–Ð´ÐºÑ€Ñ–Ð¿Ð»ÐµÐ½Ð½Ñ." -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (редагуєтьÑÑ Ñ‚Ð° перемикаєтьÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (редагуєтьÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (перемикаєтьÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - ÐÐЛÐГОДЖЕÐÐЯ " -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Збудовано %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "ВерÑÑ–Ñ %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "Зациклити Виробництво" + #~ msgid "Plascrete MK3" #~ msgstr "ПлаÑтичний Залізобетон Мк3" diff --git a/po/zh_CN.po b/po/zh_CN.po index 362e0a48f..f960f0ca8 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2009-05-13 16:12+0800\n" "Last-Translator: Terra \n" "Language-Team: Simplified Chinese \n" @@ -5733,7 +5733,7 @@ msgid "New Design" msgstr "设计新的å•ä½" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "è¿é€" @@ -12129,1063 +12129,1063 @@ msgstr "é‡åž‹åŠ å†œç‚®" msgid "Plasmite Retribution VTOL" msgstr "中é‡çº§è½¦ä½“ - 惩罚者" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "系统语言" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "关闭" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "è¿è¡Œåœ¨ä½œå¼Šæ¨¡å¼" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "设置默认数æ®ç›®å½•" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "æ•°æ®ç›®å½•" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "文件" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "è¿è¡Œåœ¨å…¨å±æ¨¡å¼" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "显示帮助信æ¯å¹¶é€€å‡º" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "" -#: src/clparse.c:244 +#: src/clparse.cpp:244 #, fuzzy msgid "Disable asserts" msgstr "关闭阴影" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "载入游æˆ" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "ä¿å­˜æ¸¸æˆ" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "è¿è¡Œåœ¨çª—å£æ¨¡å¼" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "显示版本信æ¯å¹¶é€€å‡º" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "å¼€å¯é˜´å½±" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "关闭阴影" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "å¼€å¯å£°éŸ³" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "关闭声音" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "玩家" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "设计新å•ä½" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "车体" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "驱动" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "炮塔" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "删除设计图" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "动能防护力" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "热能防护力" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "å‘动机输出功率" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "é‡é‡" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "总体能æºéœ€æ±‚" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "总体æˆæœ¬" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "能æºå ç”¨" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "传感器åŠå¾„" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "传感器能æº" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM 能æº" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "生产æˆæœ¬" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "攻击范围" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "攻击力" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "ç«åŠ›è¯„ä¼°" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "飞行移动速度" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "公路移动速度" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "野地移动速度" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "æ°´é¢ç§»åŠ¨é€Ÿåº¦" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "武器" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "系统" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "玩家" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "玩家" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "等待其他玩家" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "油井在燃烧, 无法建造钻油塔" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - æŸä¼¤ %d%% - ç»éªŒ %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - æŸä¼¤ %d%% - ç»éªŒ %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "命令工程车建造钻油塔" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "命令工程车建造钻油塔" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "命令工程车建造钻油塔" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "å•ä½è¢«æ‘§æ¯! " -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "é‡å»ºå»ºç­‘物" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "已选择 %u å·ç¼–队 - %u å•ä½" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "%u å•ä½å·²æŒ‡æ´¾ä¸º %u å·ç¼–队" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "移动视野中心到 %u å·ç¼–队 - %u å•ä½" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "" msgstr[1] "" -#: src/droid.c:3301 +#: src/droid.cpp:3034 #, fuzzy msgid "Rookie" msgstr "新兵部队: %u" -#: src/droid.c:3302 +#: src/droid.cpp:3035 #, fuzzy msgctxt "rank" msgid "Green" msgstr "绿色" -#: src/droid.c:3303 +#: src/droid.cpp:3036 #, fuzzy msgid "Trained" msgstr "作训部队: %u" -#: src/droid.c:3304 +#: src/droid.cpp:3037 #, fuzzy msgid "Regular" msgstr "标准部队: %u" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "专业部队" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "è€å…µéƒ¨é˜Ÿ" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "ç²¾é”部队" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "特ç§éƒ¨é˜Ÿ" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "英雄部队" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "å•äººæ¸¸æˆ" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "多人游æˆ" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "游æˆæ•™ç¨‹" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "选项设置" -#: src/frontend.c:102 +#: src/frontend.cpp:101 #, fuzzy msgid "View Intro" msgstr "查看下一个工程车" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "退出游æˆ" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "主èœå•" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "快速开始" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "游æˆæ•™ç¨‹" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "返回" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "新的战役" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "人机对战" -#: src/frontend.c:215 +#: src/frontend.cpp:214 msgid "Challenges" msgstr "" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "载入游æˆ" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "å•äººæ¸¸æˆ" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "载入游æˆ" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "多人游æˆ" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "建立游æˆ" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "加入游æˆ" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "选项" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "图形选项" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "视频选项" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "音频选项" -#: src/frontend.c:428 +#: src/frontend.cpp:427 #, fuzzy msgid "Mouse Options" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "按键设置" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "视频回放" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "å…¨å±æ˜¾ç¤º" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "å±å¹•éœ‡åŠ¨" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "å¼€" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "å…³" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "迷雾" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "薄雾(å¯ä»¥çœ‹è§åœ°å½¢ï¼‰" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "战争迷雾" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "字幕" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "阴影" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "语音音é‡" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "声效音é‡" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "音ä¹éŸ³é‡" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "* é‡å¯æ¸¸æˆåŽç”Ÿæ•ˆ" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "图形模å¼*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "窗å£" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "å±å¹•åˆ†è¾¨çŽ‡*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "è´¨æ尺寸" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "翻转鼠标" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "" -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 msgid "Switch Mouse Buttons" msgstr "" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 msgid "Rotate Screen" msgstr "" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "游æˆéš¾åº¦" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "容易" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "正常" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "å›°éš¾" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "å±å¹•å·åŠ¨é€Ÿåº¦" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "语言" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "å•ä½é¢œè‰²" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "拉ä¸è¯­" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "游æˆé€‰é¡¹" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "游æˆå·²ä¿å­˜! " -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "游æˆå·²ä¿å­˜! " -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "" -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "" -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "" -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "" -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "指挥官 (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "情报显示 (F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "å•ä½ç”Ÿäº§ (F1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "å•ä½è®¾è®¡ (F4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "科技研究 (F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "建造建筑 (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "能æº" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "载入游æˆ" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "载入游æˆ" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "ä¿å­˜æ¸¸æˆ" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "ä¿å­˜æ¸¸æˆ" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "å•ä½" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 #, fuzzy msgid "Pause or unpause the game" msgstr "æš‚åœ/继续游æˆ" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "开始时没有基地" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "退出" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "退出游æˆ" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "多人游æˆ" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "进度æ¡" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "循环生产" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "循环生产" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "继续游æˆ" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "ä¿å­˜æ¸¸æˆ" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "主机已ç»ç¦»å¼€äº†æ¸¸æˆ! " -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13193,1681 +13193,1689 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "生产æˆæœ¬" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 msgid "Construction Progress" msgstr "" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "" -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "æš‚åœ" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "研究å‡çº§" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "计划目标" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "当å‰ç›®æ ‡" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "短è·ç¦»" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "é•¿è·ç¦»" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "最佳攻击范围" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "åŠä¼¤æ—¶æ’¤é€€" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "é‡ä¼¤æ—¶æ’¤é€€" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "ä¸æ­»ä¸ä¼‘" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "自由开ç«" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "还击" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "åœç«" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "巡逻" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "追击" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "ä¿æŠ¤" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "驻留" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "返回维修点" -#: src/intorder.c:175 +#: src/intorder.cpp:175 #, fuzzy msgid "Return To HQ" msgstr "返回" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "å‰å¾€è¿é€ç‚¹" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "循环利用" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "指派ç«åŠ›æ”¯æ´" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "抱歉, 多人游æˆæ—¶æ— æ³•ä½¿ç”¨ä½œå¼Šç " -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "å¼€å¯ FPS 显示" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "关闭 FPS 显示" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPS上é™: %d; PIEs %d; polys %d; Terr. polys %d; çŠ¶æ€ %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "迷雾 å¼€" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "迷雾 å…³" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 msgid "Ending Mission." msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, c-format msgid "Trap cursor %s" msgstr "" -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "研究科技" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "演示模å¼å…³é—­ - 正在返回正常游æˆæ¨¡å¼" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 msgid "Debug menu is Open" msgstr "" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "未能定ä½ä»»ä½•å·¥ç¨‹è½¦" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 msgid "All enemies destroyed by cheating!" msgstr "" -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "抱歉, 多人游æˆæ—¶æ— æ³•ä½¿ç”¨ä½œå¼Šç " -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 msgid "Radar showing revealed terrain" msgstr "" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "按键设置" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "返回到å‰ä¸€ä¸ªå±å¹•" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "还原到默认按键设置" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "生产å•ä½" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "研究科技" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "建造建筑物" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "设计å•ä½" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "指挥官" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "" -#: src/keymap.c:307 +#: src/keymap.cpp:307 msgid "Toggle Sensor display" msgstr "" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "设定 0 å·ç¼–队" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "设定 1 å·ç¼–队" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "设定 2 å·ç¼–队" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "设定 3 å·ç¼–队" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "设定 4 å·ç¼–队" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "设定 5 å·ç¼–队" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "设定 6 å·ç¼–队" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "设定 7 å·ç¼–队" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "设定 8 å·ç¼–队" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "设定 9 å·ç¼–队" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "选择 0 å·ç¼–队" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "选择 1 å·ç¼–队" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "选择 2 å·ç¼–队" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "选择 3 å·ç¼–队" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "选择 4 å·ç¼–队" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "选择 5 å·ç¼–队" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "选择 6 å·ç¼–队" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "选择 7 å·ç¼–队" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "选择 8 å·ç¼–队" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "选择 9 å·ç¼–队" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "选择 0 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "选择 1 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "选择 2 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "选择 3 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "选择 4 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "选择 5 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "选择 6 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "选择 7 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "选择 8 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "选择 9 å·æŒ‡æŒ¥å®˜" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "多人游æˆé€‰é¡¹" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "" -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "指令èœå•" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "å‡æ…¢æ¸¸æˆé€Ÿåº¦" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "加快游æˆé€Ÿåº¦" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "æ¢å¤æ­£å¸¸æ¸¸æˆé€Ÿåº¦" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "查看北方" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "查看å—æ–¹" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "查看东方" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "查看西方" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "查看下一个钻油塔" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "查看下一个修ç†å•ä½" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "查看下一个工程车" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "查看下一个指挥官" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "查看未指派的å•ä½" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "自由开ç«" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "å‘é€æ–‡æœ¬ä¿¡æ¯" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "传感器åŠå¾„" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "å¼€å¯é˜´å½±" -#: src/keymap.c:404 +#: src/keymap.cpp:404 msgid "Trap cursor" msgstr "" -#: src/keymap.c:405 +#: src/keymap.cpp:405 msgid "Toggle radar terrain" msgstr "" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "" -#: src/keymap.c:426 +#: src/keymap.cpp:426 msgid "Select all Similar Units" msgstr "" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "" -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "" -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "载入游æˆ" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "登陆è¿è¾“飞船" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "任务目标完æˆ" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "任务目标完æˆ" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "任务目标失败" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "任务目标失败" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "退回到主èœå•" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "继续游æˆ" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "游æˆå·²ä¿å­˜! " -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s 玩家给你一份地图视野报告" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s 玩家给你一个 %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s 玩家给你科技文件" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s 玩家给你能æº" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s 玩家请求与你åŒç›Ÿ" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "ä½ å‘ %s 玩家å‘出åŒç›Ÿè¯·æ±‚" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "确认设置" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "é’绿色" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP地å€æˆ–计算机å称" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "连接" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "游æˆå¤§åŽ…" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IPç›´è¿ž" -#: src/multiint.c:691 +#: src/multiint.cpp:679 msgid "No games are available" msgstr "" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "正在æœç´¢" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "游æˆ" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "刷新游æˆåˆ—表" -#: src/multiint.c:952 +#: src/multiint.cpp:922 #, fuzzy msgid "Enter Password:" msgstr "点击查看地图" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "选择游æˆå称" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "å•äººçš„人机对战" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "选择地图" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 #, fuzzy msgid "Click to set Password" msgstr "点击查看地图" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 msgid "Scavengers" msgstr "" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 msgid "No Scavengers" msgstr "" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "选择玩家åå­—" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "薄雾(å¯ä»¥çœ‹è§åœ°å½¢ï¼‰" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "åŒç›Ÿ" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "æ— åŒç›Ÿ" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "å…许åŒç›Ÿ" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "å·²é”定团队" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "低能æºæ°´å¹³" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "中等能æºæ°´å¹³" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "高能æºæ°´å¹³" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "基地" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "开始时没有基地" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "开始时有基地" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "开始时有高级基地" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "地图预览" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "点击查看地图" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "开始建立游æˆ" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "设置建筑数é‡é™åˆ¶" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "设置建筑数é‡é™åˆ¶" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "玩家" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "团队" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2个玩家" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "ä¿æŠ¤" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "团队" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "点击准备开始游æˆ" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "玩家" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "点击查看地图" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "å·²é”定团队" -#: src/multiint.c:2005 -msgid "Click to change player settings" +#: src/multiint.cpp:1963 +msgid "Click to change player colour" msgstr "" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "ä¿æŠ¤" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "èŠå¤©" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "å·²é”定团队" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "主玩家将 %s 踢出游æˆ!" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "主玩家正在开始游æˆ" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "玩家" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s 已离开游æˆ" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s 正在进入游æˆ" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "系统语言" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "返回到å‰ä¸€ä¸ªå±å¹•" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "技术等级1" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "技术等级2" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "技术等级3" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2个玩家" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2个玩家" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4个玩家" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2个玩家" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2个玩家" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2个玩家" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8个玩家" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "分数" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "æ€æ•Œ" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 #, fuzzy msgid "Units" msgstr "å•ä½" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 #, fuzzy msgid "Structs" msgstr "æŸå¤±å»ºç­‘物" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "åŒç›Ÿ" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "绿色" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "橙色" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "ç°è‰²" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "黑色" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "红色" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "è“色" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "粉红色" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "é’绿色" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "科技研å‘已完æˆ: %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "研究已完æˆ" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "科技研å‘中心" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "我方å•ä½: %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "敌方å•ä½: %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "我方建筑物: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "敌方建筑物: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "å•ä½ç”Ÿäº§æ•°: %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "å•ä½æ€»æ•°: %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "建筑物建造数: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "建筑物总数: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "新兵部队: %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, fuzzy, c-format msgctxt "rank" msgid "Green: %u" msgstr "生手部队: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "作训部队: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "标准部队: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "专业部队: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "è€å…µéƒ¨é˜Ÿ: %u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "ç²¾é”部队: %u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "特ç§éƒ¨é˜Ÿ: %u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "英雄部队: %u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "æŸå¤±å•ä½" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "æŸå¤±å»ºç­‘物" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "武力信æ¯" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "当å‰ä»»åŠ¡ä½¿ç”¨æ—¶é—´ - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "总游æˆæ—¶é—´ - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ä½ å–得了胜利! " -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "你被击败了! " -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "å·²é€‰å– %u å•ä½" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "未能定ä½ä»»ä½•ä¿®ç†å•ä½" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "未能定ä½ä»»ä½•å·¥ç¨‹è½¦" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "未能定ä½ä»»ä½•æŒ‡æŒ¥å®˜" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "已达到å¯æŽ§åˆ¶å•ä½æ€»æ•°ä¸Šé™ - åœæ­¢ç”Ÿäº§æ–°å•ä½" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - 已指派 %u å•ä½" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - æŸä¼¤ %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - 电å­ä¼¤å®³" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "å‘å°„è¿è¾“飞船" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr "" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr "" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr "" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr "" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr "" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "循环生产" + #, fuzzy #~ msgid "Player number" #~ msgstr "玩家" diff --git a/po/zh_TW.po b/po/zh_TW.po index 367f35ed9..a38f232e0 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2010-12-11 15:59+0100\n" +"POT-Creation-Date: 2011-01-09 02:24+0100\n" "PO-Revision-Date: 2009-05-11 00:21+0800\n" "Last-Translator: \n" "Language-Team: zh_TW\n" @@ -5733,7 +5733,7 @@ msgid "New Design" msgstr "新的設計" #: data/base/messages/strings/names.txt:15 -#: src/design.c:1346 +#: src/design.cpp:1313 msgid "Transport" msgstr "é‹è¼¸è‰¦" @@ -12181,1057 +12181,1057 @@ msgstr "蟒蛇氣墊船(é‡åž‹åŠ è¾²ç ²ï¼‰" msgid "Plasmite Retribution VTOL" msgstr "中é‡ç´šè»Šèº«ï¼šæ‡²ç½°è€…" -#: lib/framework/i18n.c:90 -#: lib/framework/i18n.c:149 +#: lib/framework/i18n.cpp:90 +#: lib/framework/i18n.cpp:149 msgid "System locale" msgstr "系統語系" -#: lib/netplay/netplay.c:202 -#: lib/netplay/netplay.c:1027 +#: lib/netplay/netplay.cpp:203 +#: lib/netplay/netplay.cpp:1029 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.c:2021 +#: lib/netplay/netplay.cpp:2023 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.c:2035 +#: lib/netplay/netplay.cpp:2037 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" -#: src/challenge.c:189 -#: src/hci.c:1005 -#: src/hci.c:3741 -#: src/hci.c:3890 -#: src/hci.c:4389 -#: src/hci.c:5553 -#: src/intelmap.c:544 -#: src/intorder.c:782 -#: src/loadsave.c:257 -#: src/multimenu.c:484 -#: src/multimenu.c:1416 -#: src/transporter.c:283 -#: src/transporter.c:373 -#: src/transporter.c:856 +#: src/challenge.cpp:184 +#: src/hci.cpp:914 +#: src/hci.cpp:3382 +#: src/hci.cpp:3505 +#: src/hci.cpp:3913 +#: src/hci.cpp:4931 +#: src/intelmap.cpp:534 +#: src/intorder.cpp:779 +#: src/loadsave.cpp:253 +#: src/multimenu.cpp:482 +#: src/multimenu.cpp:1401 +#: src/transporter.cpp:277 +#: src/transporter.cpp:358 +#: src/transporter.cpp:817 msgid "Close" msgstr "關閉" -#: src/clparse.c:232 +#: src/clparse.cpp:232 msgid "Run in cheat mode" msgstr "以作弊模å¼é‹è¡Œ" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "Set configuration directory" msgstr "設定設定資料夾" -#: src/clparse.c:233 +#: src/clparse.cpp:233 msgid "configuration directory" msgstr "設定資料夾" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "Set default data directory" msgstr "設定é è¨­è³‡æ–™å¤¾" -#: src/clparse.c:234 +#: src/clparse.cpp:234 msgid "data directory" msgstr "資料夾" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "Show debug for given level" msgstr "Show debug for given level" -#: src/clparse.c:235 +#: src/clparse.cpp:235 msgid "debug level" msgstr "debug level" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "Log debug output to file" msgstr "將除錯訊æ¯è¼¸å‡ºè‡³æª”案" -#: src/clparse.c:236 +#: src/clparse.cpp:236 msgid "file" msgstr "檔案" -#: src/clparse.c:237 +#: src/clparse.cpp:237 msgid "Flush all debug output written to stderr" msgstr "Flush all debug output written to stderr" -#: src/clparse.c:238 +#: src/clparse.cpp:238 msgid "Play in fullscreen mode" msgstr "以全螢幕模å¼é‹è¡Œ" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "Load a specific game" msgstr "載入特定éŠæˆ²" -#: src/clparse.c:239 +#: src/clparse.cpp:239 msgid "game-name" msgstr "é¸æ“‡éŠæˆ²å稱" -#: src/clparse.c:240 +#: src/clparse.cpp:240 msgid "Show this help message and exit" msgstr "顯示幫助訊æ¯åŠé›¢é–‹" -#: src/clparse.c:241 +#: src/clparse.cpp:241 msgid "Enable a global mod" msgstr "é–‹å•Ÿglobal mod" -#: src/clparse.c:241 -#: src/clparse.c:242 -#: src/clparse.c:243 +#: src/clparse.cpp:241 +#: src/clparse.cpp:242 +#: src/clparse.cpp:243 msgid "mod" msgstr "mod" -#: src/clparse.c:242 +#: src/clparse.cpp:242 msgid "Enable a campaign only mod" msgstr "開啟戰役模å¼" -#: src/clparse.c:243 +#: src/clparse.cpp:243 msgid "Enable a multiplay only mod" msgstr "開啟多人模å¼" -#: src/clparse.c:244 +#: src/clparse.cpp:244 msgid "Disable asserts" msgstr "åœç”¨å®£å‘Š" -#: src/clparse.c:245 +#: src/clparse.cpp:245 msgid "Causes a crash to test the crash handler" msgstr "" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "Load a saved game" msgstr "載入已儲存的éŠæˆ²" -#: src/clparse.c:246 +#: src/clparse.cpp:246 msgid "savegame" msgstr "儲存éŠæˆ²" -#: src/clparse.c:247 +#: src/clparse.cpp:247 msgid "Play in windowed mode" msgstr "以視窗模å¼é‹è¡Œ" -#: src/clparse.c:248 +#: src/clparse.cpp:248 msgid "Show version information and exit" msgstr "顯示版本資訊åŠé›¢é–‹" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "Set the resolution to use" msgstr "設定解æžåº¦" -#: src/clparse.c:249 +#: src/clparse.cpp:249 msgid "WIDTHxHEIGHT" msgstr "寬 x 高" -#: src/clparse.c:250 +#: src/clparse.cpp:250 msgid "Enable shadows" msgstr "é–‹å•Ÿå½±å­" -#: src/clparse.c:251 +#: src/clparse.cpp:251 msgid "Disable shadows" msgstr "關閉影å­" -#: src/clparse.c:252 +#: src/clparse.cpp:252 msgid "Enable sound" msgstr "é–‹å•Ÿè²éŸ³" -#: src/clparse.c:253 +#: src/clparse.cpp:253 msgid "Disable sound" msgstr "關閉è²éŸ³" -#: src/clparse.c:254 +#: src/clparse.cpp:254 msgid "Activate self-test" msgstr "啟動自我測試(self-test)" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "connect directly to IP/hostname" msgstr "直接連çµåˆ°IP/hostname" -#: src/clparse.c:255 +#: src/clparse.cpp:255 msgid "host" msgstr "host" -#: src/clparse.c:256 +#: src/clparse.cpp:256 msgid "go directly to host screen" msgstr "go directly to host screen" -#: src/configuration.c:431 -#: src/configuration.c:432 -#: src/multistat.c:130 +#: src/configuration.cpp:393 +#: src/configuration.cpp:394 +#: src/multistat.cpp:130 msgid "Player" msgstr "玩家" -#: src/design.c:456 -#: src/design.c:477 -#: src/design.c:3560 +#: src/design.cpp:449 +#: src/design.cpp:469 +#: src/design.cpp:3506 msgid "New Vehicle" msgstr "新車身" -#: src/design.c:524 +#: src/design.cpp:515 msgid "Vehicle Body" msgstr "車身" -#: src/design.c:546 +#: src/design.cpp:535 msgid "Vehicle Propulsion" msgstr "車輛推進系統" -#: src/design.c:569 -#: src/design.c:594 -#: src/design.c:620 +#: src/design.cpp:556 +#: src/design.cpp:579 +#: src/design.cpp:603 msgid "Vehicle Turret" msgstr "車輛武器系統" -#: src/design.c:641 +#: src/design.cpp:622 msgid "Delete Design" msgstr "刪除設計" -#: src/design.c:695 -#: src/design.c:743 +#: src/design.cpp:673 +#: src/design.cpp:720 msgid "Kinetic Armour" msgstr "物ç†é˜²ç¦¦" -#: src/design.c:704 -#: src/design.c:754 +#: src/design.cpp:682 +#: src/design.cpp:730 msgid "Thermal Armour" msgstr "熱能防禦" -#: src/design.c:720 -#: src/design.c:774 +#: src/design.cpp:698 +#: src/design.cpp:750 msgid "Engine Output" msgstr "引擎輸出" -#: src/design.c:728 -#: src/design.c:783 -#: src/design.c:1587 -#: src/design.c:1624 -#: src/design.c:1645 -#: src/design.c:1663 -#: src/design.c:1684 -#: src/design.c:1702 -#: src/design.c:1740 -#: src/design.c:1775 -#: src/design.c:1910 -#: src/design.c:1927 -#: src/design.c:1962 -#: src/design.c:1998 +#: src/design.cpp:706 +#: src/design.cpp:759 +#: src/design.cpp:1529 +#: src/design.cpp:1553 +#: src/design.cpp:1574 +#: src/design.cpp:1590 +#: src/design.cpp:1610 +#: src/design.cpp:1627 +#: src/design.cpp:1647 +#: src/design.cpp:1664 +#: src/design.cpp:1705 +#: src/design.cpp:1737 +#: src/design.cpp:1869 +#: src/design.cpp:1885 +#: src/design.cpp:1923 +#: src/design.cpp:1956 msgid "Weight" msgstr "é‡é‡" -#: src/design.c:814 -#: src/design.c:834 +#: src/design.cpp:790 +#: src/design.cpp:808 msgid "Total Power Required" msgstr "全部所需能æº" -#: src/design.c:847 -#: src/design.c:868 +#: src/design.cpp:821 +#: src/design.cpp:840 msgid "Total Body Points" msgstr "HP" -#: src/design.c:1060 -#: src/design.c:1092 +#: src/design.cpp:1027 +#: src/design.cpp:1059 msgid "Power Usage" msgstr "需è¦èƒ½æº" -#: src/design.c:1368 +#: src/design.cpp:1335 msgid "Hydra " msgstr "" -#: src/design.c:1569 +#: src/design.cpp:1509 +#: src/design.cpp:1537 msgid "Sensor Range" msgstr "é›·é”å¯è¦–è·é›¢" -#: src/design.c:1578 +#: src/design.cpp:1521 +#: src/design.cpp:1545 msgid "Sensor Power" msgstr "é›·é”能æº" -#: src/design.c:1615 +#: src/design.cpp:1566 +#: src/design.cpp:1582 msgid "ECM Power" msgstr "ECM Power" -#: src/design.c:1637 -#: src/design.c:1654 -#: src/design.c:1676 -#: src/design.c:1693 +#: src/design.cpp:1602 +#: src/design.cpp:1619 +#: src/design.cpp:1639 +#: src/design.cpp:1656 msgid "Build Points" msgstr "建築物HP(Build Points)" -#: src/design.c:1716 -#: src/design.c:1748 +#: src/design.cpp:1677 +#: src/design.cpp:1713 msgid "Range" msgstr "射程" -#: src/design.c:1724 -#: src/design.c:1757 +#: src/design.cpp:1689 +#: src/design.cpp:1721 msgid "Damage" msgstr "傷害" -#: src/design.c:1732 -#: src/design.c:1766 +#: src/design.cpp:1697 +#: src/design.cpp:1729 msgid "Rate-of-Fire" msgstr "射速" -#: src/design.c:1902 -#: src/design.c:1918 +#: src/design.cpp:1857 +#: src/design.cpp:1877 msgid "Air Speed" msgstr "空中移動速度" -#: src/design.c:1938 -#: src/design.c:1971 +#: src/design.cpp:1895 +#: src/design.cpp:1932 msgid "Road Speed" msgstr "é“路移動速度" -#: src/design.c:1946 -#: src/design.c:1980 +#: src/design.cpp:1905 +#: src/design.cpp:1940 msgid "Off-Road Speed" msgstr "越野移動速度" -#: src/design.c:1954 -#: src/design.c:1989 +#: src/design.cpp:1913 +#: src/design.cpp:1948 msgid "Water Speed" msgstr "æ°´é¢ç§»å‹•é€Ÿåº¦" -#: src/design.c:2123 +#: src/design.cpp:2074 msgid "Weapons" msgstr "武器è£å‚™" -#: src/design.c:2145 +#: src/design.cpp:2094 msgid "Systems" msgstr "系統è£å‚™" -#: src/display3d.c:544 +#: src/display3d.cpp:590 #, fuzzy msgid "Player left" msgstr "玩家" -#: src/display3d.c:548 +#: src/display3d.cpp:594 #, fuzzy msgid "Player dropped" msgstr "玩家" -#: src/display3d.c:552 -#: src/multiint.c:1864 +#: src/display3d.cpp:598 +#: src/multiint.cpp:1812 msgid "Waiting for other players" msgstr "等待其他玩家" -#: src/display3d.c:557 +#: src/display3d.cpp:603 msgid "Out of sync" msgstr "" -#: src/display.c:1641 +#: src/display.cpp:1651 msgid "Cannot Build. Oil Resource Burning." msgstr "油田燃燒中,無法建築鑽油井" -#: src/display.c:1820 -#: src/display.c:2421 +#: src/display.cpp:1830 +#: src/display.cpp:2423 #, c-format msgid "%s - Damage %d%% - Experience %d, %s" msgstr "%s - æå‚· %d%% - 經驗值 %d, %s" -#: src/display.c:1836 +#: src/display.cpp:1846 #, fuzzy, c-format msgid "%s - Allied - Damage %d%% - Experience %d, %s" msgstr "%s - æå‚· %d%% - 經驗值 %d, %s" -#: src/display.c:2034 +#: src/display.cpp:2044 msgid "Truck ordered to build Oil Derrick" msgstr "命令工程車建造鑽油井" -#: src/display.c:2035 +#: src/display.cpp:2045 #, fuzzy msgid "2 trucks ordered to build Oil Derrick" msgstr "命令工程車建造鑽油井" -#: src/display.c:2036 +#: src/display.cpp:2046 #, fuzzy, c-format msgid "%d trucks ordered to build Oil Derrick" msgstr "命令工程車建造鑽油井" -#: src/droid.c:208 +#: src/droid.cpp:208 msgid "Unit Lost!" msgstr "æ失單ä½ï¼" -#: src/droid.c:1350 +#: src/droid.cpp:1370 msgid "Structure Restored" msgstr "建築物é‡å»º" -#: src/droid.c:2979 +#: src/droid.cpp:2712 #, c-format msgid "Group %u selected - %u Unit" msgid_plural "Group %u selected - %u Units" msgstr[0] "第 %u 隊è½ä»¤ - å…± %u å–®ä½" -#: src/droid.c:2992 +#: src/droid.cpp:2725 #, c-format msgid "%u unit assigned to Group %u" msgid_plural "%u units assigned to Group %u" msgstr[0] "å…± %u å–®ä½ è¢«æŒ‡æ´¾ç‚º 第 %u 隊" -#: src/droid.c:3005 +#: src/droid.cpp:2738 #, c-format msgid "Centered on Group %u - %u Unit" msgid_plural "Centered on Group %u - %u Units" msgstr[0] "視角移動至第 %u 隊 - å…± %u å–®ä½" -#: src/droid.c:3009 +#: src/droid.cpp:2742 #, c-format msgid "Aligning with Group %u - %u Unit" msgid_plural "Aligning with Group %u - %u Units" msgstr[0] "Aligning with Group %u - %u å–®ä½" -#: src/droid.c:3301 +#: src/droid.cpp:3034 msgid "Rookie" msgstr "èœé³¥" -#: src/droid.c:3302 +#: src/droid.cpp:3035 msgctxt "rank" msgid "Green" msgstr "é’æ¾€" -#: src/droid.c:3303 +#: src/droid.cpp:3036 msgid "Trained" msgstr "訓練有素的" -#: src/droid.c:3304 +#: src/droid.cpp:3037 msgid "Regular" msgstr "好樣的" -#: src/droid.c:3305 +#: src/droid.cpp:3038 msgid "Professional" msgstr "專家" -#: src/droid.c:3306 +#: src/droid.cpp:3039 msgid "Veteran" msgstr "è€æ‰‹" -#: src/droid.c:3307 +#: src/droid.cpp:3040 msgid "Elite" msgstr "è英" -#: src/droid.c:3308 +#: src/droid.cpp:3041 msgid "Special" msgstr "特務" -#: src/droid.c:3309 +#: src/droid.cpp:3042 msgid "Hero" msgstr "英雄" -#: src/droid.c:4336 +#: src/droid.cpp:4064 #, c-format msgid "%s wanted to give you a %s but you have too many!" msgstr "" -#: src/droid.c:4340 +#: src/droid.cpp:4068 #, c-format msgid "You wanted to give %s a %s but they have too many!" msgstr "" -#: src/frontend.c:98 +#: src/frontend.cpp:97 msgid "Single Player" msgstr "單人éŠæˆ²" -#: src/frontend.c:99 +#: src/frontend.cpp:98 msgid "Multi Player" msgstr "多人éŠæˆ²" -#: src/frontend.c:100 -#: src/frontend.c:156 +#: src/frontend.cpp:99 +#: src/frontend.cpp:155 msgid "Tutorial" msgstr "教學模å¼" -#: src/frontend.c:101 -#: src/hci.c:3873 +#: src/frontend.cpp:100 +#: src/hci.cpp:3491 msgid "Options" msgstr "é¸é …" -#: src/frontend.c:102 +#: src/frontend.cpp:101 msgid "View Intro" msgstr "影片介紹" -#: src/frontend.c:104 +#: src/frontend.cpp:103 msgid "Quit Game" msgstr "離開éŠæˆ²" -#: src/frontend.c:106 +#: src/frontend.cpp:105 msgid "MAIN MENU" msgstr "主é¸å–®" -#: src/frontend.c:157 +#: src/frontend.cpp:156 msgid "Fast Play" msgstr "馬上玩ï¼" -#: src/frontend.c:158 +#: src/frontend.cpp:157 msgid "TUTORIALS" msgstr "教學模å¼" #. TRANSLATORS: "Return", in this context, means "return to previous screen/menu" -#: src/frontend.c:160 -#: src/frontend.c:219 -#: src/frontend.c:363 -#: src/frontend.c:430 -#: src/frontend.c:564 -#: src/frontend.c:700 -#: src/frontend.c:807 -#: src/frontend.c:1026 -#: src/frontend.c:1187 +#: src/frontend.cpp:159 +#: src/frontend.cpp:218 +#: src/frontend.cpp:362 +#: src/frontend.cpp:429 +#: src/frontend.cpp:562 +#: src/frontend.cpp:698 +#: src/frontend.cpp:805 +#: src/frontend.cpp:1024 +#: src/frontend.cpp:1185 msgctxt "menu" msgid "Return" msgstr "返回" -#: src/frontend.c:213 +#: src/frontend.cpp:212 msgid "New Campaign" msgstr "新的任務" -#: src/frontend.c:214 +#: src/frontend.cpp:213 msgid "Start Skirmish Game" msgstr "單人戰役模å¼" -#: src/frontend.c:215 +#: src/frontend.cpp:214 #, fuzzy msgid "Challenges" msgstr "拾è’者" -#: src/frontend.c:216 -#: src/ingameop.c:292 +#: src/frontend.cpp:215 +#: src/ingameop.cpp:275 msgid "Load Game" msgstr "載入éŠæˆ²" -#: src/frontend.c:218 +#: src/frontend.cpp:217 msgid "SINGLE PLAYER" msgstr "SINGLE PLAYER" -#: src/frontend.c:304 -#: src/ingameop.c:518 -#: src/mission.c:2527 -#: src/mission.c:2632 +#: src/frontend.cpp:303 +#: src/ingameop.cpp:498 +#: src/mission.cpp:2527 +#: src/mission.cpp:2630 msgid "Load Saved Game" msgstr "載入已儲存的éŠæˆ²" -#: src/frontend.c:358 +#: src/frontend.cpp:357 msgid "MULTI PLAYER" msgstr "MULTIPLAYER" -#: src/frontend.c:360 +#: src/frontend.cpp:359 msgid "Host Game" msgstr "é–‹å•ŸéŠæˆ²" -#: src/frontend.c:361 +#: src/frontend.cpp:360 msgid "Join Game" msgstr "加入éŠæˆ²" -#: src/frontend.c:423 -#: src/multiint.c:1142 +#: src/frontend.cpp:422 +#: src/multiint.cpp:1101 msgid "OPTIONS" msgstr "é¸é …" -#: src/frontend.c:424 +#: src/frontend.cpp:423 msgid "Game Options" msgstr "éŠæˆ²é¸é …" -#: src/frontend.c:425 +#: src/frontend.cpp:424 msgid "Graphics Options" msgstr "圖形é¸é …" -#: src/frontend.c:426 +#: src/frontend.cpp:425 msgid "Video Options" msgstr "顯示é¸é …" -#: src/frontend.c:427 -#: src/ingameop.c:287 +#: src/frontend.cpp:426 +#: src/ingameop.cpp:270 msgid "Audio Options" msgstr "音效é¸é …" -#: src/frontend.c:428 +#: src/frontend.cpp:427 msgid "Mouse Options" msgstr "滑鼠é¸é …" -#: src/frontend.c:429 +#: src/frontend.cpp:428 msgid "Key Mappings" msgstr "éµç›¤é…ç½®" -#: src/frontend.c:491 +#: src/frontend.cpp:489 msgid "Video Playback" msgstr "播放影片" -#: src/frontend.c:495 -#: src/frontend.c:654 +#: src/frontend.cpp:493 +#: src/frontend.cpp:652 msgid "1X" msgstr "1å€å¤§å°" -#: src/frontend.c:499 -#: src/frontend.c:644 +#: src/frontend.cpp:497 +#: src/frontend.cpp:642 msgid "2X" msgstr "2å€å¤§å°" -#: src/frontend.c:503 -#: src/frontend.c:649 -#: src/frontend.c:775 -#: src/frontend.c:829 +#: src/frontend.cpp:501 +#: src/frontend.cpp:647 +#: src/frontend.cpp:773 +#: src/frontend.cpp:827 msgid "Fullscreen" msgstr "全螢幕" -#: src/frontend.c:513 +#: src/frontend.cpp:511 msgid "Screen Shake" msgstr "震動螢幕" -#: src/frontend.c:516 -#: src/frontend.c:544 -#: src/frontend.c:552 -#: src/frontend.c:587 -#: src/frontend.c:621 -#: src/frontend.c:630 -#: src/frontend.c:796 -#: src/frontend.c:890 -#: src/frontend.c:928 -#: src/frontend.c:967 -#: src/frontend.c:979 -#: src/frontend.c:991 -#: src/frontend.c:1003 -#: src/frontend.c:1048 -#: src/frontend.c:1061 -#: src/frontend.c:1075 -#: src/frontend.c:1089 +#: src/frontend.cpp:514 +#: src/frontend.cpp:542 +#: src/frontend.cpp:550 +#: src/frontend.cpp:585 +#: src/frontend.cpp:619 +#: src/frontend.cpp:628 +#: src/frontend.cpp:794 +#: src/frontend.cpp:888 +#: src/frontend.cpp:926 +#: src/frontend.cpp:965 +#: src/frontend.cpp:977 +#: src/frontend.cpp:989 +#: src/frontend.cpp:1001 +#: src/frontend.cpp:1046 +#: src/frontend.cpp:1059 +#: src/frontend.cpp:1073 +#: src/frontend.cpp:1087 msgid "On" msgstr "é–‹å•Ÿ" -#: src/frontend.c:520 -#: src/frontend.c:540 -#: src/frontend.c:556 -#: src/frontend.c:582 -#: src/frontend.c:616 -#: src/frontend.c:634 -#: src/frontend.c:800 -#: src/frontend.c:885 -#: src/frontend.c:923 -#: src/frontend.c:971 -#: src/frontend.c:983 -#: src/frontend.c:995 -#: src/frontend.c:1007 -#: src/frontend.c:1043 -#: src/frontend.c:1056 -#: src/frontend.c:1070 -#: src/frontend.c:1084 +#: src/frontend.cpp:518 +#: src/frontend.cpp:538 +#: src/frontend.cpp:554 +#: src/frontend.cpp:580 +#: src/frontend.cpp:614 +#: src/frontend.cpp:632 +#: src/frontend.cpp:798 +#: src/frontend.cpp:883 +#: src/frontend.cpp:921 +#: src/frontend.cpp:969 +#: src/frontend.cpp:981 +#: src/frontend.cpp:993 +#: src/frontend.cpp:1005 +#: src/frontend.cpp:1041 +#: src/frontend.cpp:1054 +#: src/frontend.cpp:1068 +#: src/frontend.cpp:1082 msgid "Off" msgstr "關閉" -#: src/frontend.c:525 -#: src/multiint.c:1211 +#: src/frontend.cpp:523 +#: src/multiint.cpp:1170 msgid "Fog" msgstr "迷霧" -#: src/frontend.c:528 -#: src/frontend.c:603 +#: src/frontend.cpp:526 +#: src/frontend.cpp:601 msgid "Mist" msgstr "迷霧" -#: src/frontend.c:532 -#: src/frontend.c:597 -#: src/multiint.c:1213 +#: src/frontend.cpp:530 +#: src/frontend.cpp:595 +#: src/multiint.cpp:1172 msgid "Fog Of War" msgstr "完全迷霧" -#: src/frontend.c:537 +#: src/frontend.cpp:535 msgid "Subtitles" msgstr "字幕" -#: src/frontend.c:549 +#: src/frontend.cpp:547 msgid "Shadows" msgstr "å½±å­" -#: src/frontend.c:560 +#: src/frontend.cpp:558 #, fuzzy msgid "GRAPHICS OPTIONS" msgstr "éŠæˆ²é¸é …" -#: src/frontend.c:688 -#: src/ingameop.c:176 +#: src/frontend.cpp:686 +#: src/ingameop.cpp:167 msgid "Voice Volume" msgstr "語音音é‡" -#: src/frontend.c:692 -#: src/ingameop.c:181 +#: src/frontend.cpp:690 +#: src/ingameop.cpp:172 msgid "FX Volume" msgstr "音效音é‡" -#: src/frontend.c:696 -#: src/ingameop.c:186 +#: src/frontend.cpp:694 +#: src/ingameop.cpp:177 msgid "Music Volume" msgstr "背景音樂音é‡" -#: src/frontend.c:703 +#: src/frontend.cpp:701 #, fuzzy msgid "AUDIO OPTIONS" msgstr "éŠæˆ²é¸é …" -#: src/frontend.c:768 +#: src/frontend.cpp:766 msgid "* Takes effect on game restart" msgstr "*é‡å•ŸéŠæˆ²å¾Œç”Ÿæ•ˆ" -#: src/frontend.c:771 +#: src/frontend.cpp:769 msgid "Graphics Mode*" msgstr "圖形模å¼*" -#: src/frontend.c:779 -#: src/frontend.c:824 +#: src/frontend.cpp:777 +#: src/frontend.cpp:822 msgid "Windowed" msgstr "視窗模å¼" -#: src/frontend.c:783 +#: src/frontend.cpp:781 msgid "Resolution*" msgstr "解æžåº¦*" -#: src/frontend.c:788 +#: src/frontend.cpp:786 msgid "Texture size" msgstr "貼圖精細度" -#: src/frontend.c:792 +#: src/frontend.cpp:790 msgid "Vertical sync*" msgstr "åž‚ç›´åŒæ­¥*" -#: src/frontend.c:804 +#: src/frontend.cpp:802 #, fuzzy msgid "VIDEO OPTIONS" msgstr "éŠæˆ²é¸é …" -#: src/frontend.c:960 +#: src/frontend.cpp:958 msgid "* May negatively affect performance" msgstr "" -#: src/frontend.c:964 +#: src/frontend.cpp:962 #, fuzzy msgid "Reverse Rotation" msgstr "åå‘滑鼠" -#: src/frontend.c:975 +#: src/frontend.cpp:973 msgid "Trap Cursor" msgstr "æ•æ‰æ»‘é¼ " -#: src/frontend.c:987 +#: src/frontend.cpp:985 msgid "Colored Cursors*" msgstr "" -#: src/frontend.c:1000 +#: src/frontend.cpp:998 #, fuzzy msgid "Switch Mouse Buttons" msgstr "滑鼠é¸é …" -#: src/frontend.c:1012 +#: src/frontend.cpp:1010 #, fuzzy msgid "Rotate Screen" msgstr "å‘左旋轉" -#: src/frontend.c:1015 -#: src/frontend.c:1103 +#: src/frontend.cpp:1013 +#: src/frontend.cpp:1101 msgid "Middle Mouse" msgstr "" -#: src/frontend.c:1019 -#: src/frontend.c:1098 +#: src/frontend.cpp:1017 +#: src/frontend.cpp:1096 msgid "Right Mouse" msgstr "" -#: src/frontend.c:1023 +#: src/frontend.cpp:1021 #, fuzzy msgid "MOUSE OPTIONS" msgstr "éŠæˆ²é¸é …" -#: src/frontend.c:1138 -#: src/frontend.c:1208 +#: src/frontend.cpp:1136 +#: src/frontend.cpp:1206 msgid "Difficulty" msgstr "難度" -#: src/frontend.c:1142 -#: src/frontend.c:1216 -#: src/frontend.c:1253 +#: src/frontend.cpp:1140 +#: src/frontend.cpp:1214 +#: src/frontend.cpp:1251 msgid "Easy" msgstr "容易" -#: src/frontend.c:1145 -#: src/frontend.c:1219 -#: src/frontend.c:1245 +#: src/frontend.cpp:1143 +#: src/frontend.cpp:1217 +#: src/frontend.cpp:1243 msgid "Normal" msgstr "普通" -#: src/frontend.c:1149 -#: src/frontend.c:1222 -#: src/frontend.c:1249 +#: src/frontend.cpp:1147 +#: src/frontend.cpp:1220 +#: src/frontend.cpp:1247 msgid "Hard" msgstr "困難" -#: src/frontend.c:1154 -#: src/frontend.c:1209 +#: src/frontend.cpp:1152 +#: src/frontend.cpp:1207 msgid "Scroll Speed" msgstr "æ²å‹•é€Ÿåº¦" -#: src/frontend.c:1168 -#: src/frontend.c:1206 +#: src/frontend.cpp:1166 +#: src/frontend.cpp:1204 msgid "Language" msgstr "語言" -#: src/frontend.c:1180 -#: src/frontend.c:1207 +#: src/frontend.cpp:1178 +#: src/frontend.cpp:1205 msgid "Unit Colour" msgstr "å–®ä½é¡è‰²" -#: src/frontend.c:1183 +#: src/frontend.cpp:1181 msgid "Radar" msgstr "" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 #, fuzzy msgid "Rotating" msgstr "å‘å³æ—‹è½‰" -#: src/frontend.c:1184 -#: src/frontend.c:1233 +#: src/frontend.cpp:1182 +#: src/frontend.cpp:1231 msgid "Fixed" msgstr "" -#: src/frontend.c:1190 -#: src/frontend.c:1210 +#: src/frontend.cpp:1188 +#: src/frontend.cpp:1208 msgid "GAME OPTIONS" msgstr "éŠæˆ²é¸é …" -#: src/frontend.c:1342 -#: src/multiint.c:2144 +#: src/frontend.cpp:1340 +#: src/multiint.cpp:2115 msgid "Mod: " msgstr "" -#: src/hci.c:1349 +#: src/hci.cpp:1237 #, fuzzy msgid "MAP SAVED!" msgstr "éŠæˆ²å·²å„²å­˜" -#: src/hci.c:1706 -#: src/loop.c:558 -#: src/loop.c:574 +#: src/hci.cpp:1576 +#: src/loop.cpp:558 +#: src/loop.cpp:574 #, fuzzy msgid "GAME SAVED: " msgstr "éŠæˆ²å·²å„²å­˜" -#: src/hci.c:2099 +#: src/hci.cpp:1963 msgid "Failed to create building" msgstr "建築物建造失敗" -#: src/hci.c:2116 +#: src/hci.cpp:1980 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new structure: %s." msgstr "玩家 %u 利用作弊(除錯)模å¼å»ºç«‹äº†ä¸€å€‹æ–°å»ºç¯‰ç‰©: %s." -#: src/hci.c:2131 +#: src/hci.cpp:1995 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new feature: %s." msgstr "玩家 %u 利用作弊(除錯)模å¼å»ºç«‹äº†ä¸€å€‹æ–°åŠŸèƒ½: %s." -#: src/hci.c:2153 +#: src/hci.cpp:2017 #, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid: %s." msgstr "玩家 %u 利用作弊(除錯)模å¼å»ºç«‹äº†ä¸€å€‹æ–°droid: %s." -#: src/hci.c:2164 +#: src/hci.cpp:2028 #, fuzzy, c-format msgid "Player %u is cheating (debug menu) him/herself a new droid." msgstr "玩家 %u 利用作弊(除錯)模å¼å»ºç«‹äº†ä¸€å€‹æ–°droid: %s." -#: src/hci.c:3643 +#: src/hci.cpp:3302 msgid "Commanders (F6)" msgstr "指æ®å‘½ä»¤ (F6)" -#: src/hci.c:3659 +#: src/hci.cpp:3315 msgid "Intelligence Display (F5)" msgstr "顯示任務åŠæƒ…報(F5)" -#: src/hci.c:3675 +#: src/hci.cpp:3328 msgid "Manufacture (F1)" msgstr "ç”Ÿç”¢æ–°çš„å–®ä½ ï¼ˆF1)" -#: src/hci.c:3691 +#: src/hci.cpp:3341 msgid "Design (F4)" msgstr "設計新的單ä½ï¼ˆF4)" -#: src/hci.c:3707 +#: src/hci.cpp:3354 msgid "Research (F2)" msgstr "研發新科技(F2)" -#: src/hci.c:3723 +#: src/hci.cpp:3367 msgid "Build (F3)" msgstr "建造新的建築物 (F3)" -#: src/hci.c:3801 -#: src/multiint.c:1258 -#: src/multimenu.c:808 +#: src/hci.cpp:3438 +#: src/multiint.cpp:1217 +#: src/multimenu.cpp:801 msgid "Power" msgstr "能æº" -#: src/hci.c:3915 +#: src/hci.cpp:3529 msgid "Map:" msgstr "" -#: src/hci.c:3929 +#: src/hci.cpp:3542 #, fuzzy msgid "Load" msgstr "載入éŠæˆ²" -#: src/hci.c:3930 +#: src/hci.cpp:3543 #, fuzzy msgid "Load Map File" msgstr "載入éŠæˆ²" -#: src/hci.c:3937 +#: src/hci.cpp:3550 #, fuzzy msgid "Save" msgstr "儲存éŠæˆ²" -#: src/hci.c:3938 +#: src/hci.cpp:3551 #, fuzzy msgid "Save Map File" msgstr "儲存éŠæˆ²" -#: src/hci.c:3946 +#: src/hci.cpp:3559 msgid "New" msgstr "" -#: src/hci.c:3947 +#: src/hci.cpp:3560 msgid "New Blank Map" msgstr "" -#: src/hci.c:3985 +#: src/hci.cpp:3596 msgid "Tile" msgstr "貼圖" -#: src/hci.c:3986 +#: src/hci.cpp:3597 msgid "Place tiles on map" msgstr "在地圖上加入貼圖" -#: src/hci.c:3995 +#: src/hci.cpp:3606 msgid "Unit" msgstr "å–®ä½" -#: src/hci.c:3996 +#: src/hci.cpp:3607 msgid "Place Unit on map" msgstr "在地圖上加入單ä½" -#: src/hci.c:4004 +#: src/hci.cpp:3615 msgid "Struct" msgstr "建築" -#: src/hci.c:4005 +#: src/hci.cpp:3616 msgid "Place Structures on map" msgstr "在地圖上加入建築物" -#: src/hci.c:4013 +#: src/hci.cpp:3624 msgid "Feat" msgstr "特徵" -#: src/hci.c:4014 +#: src/hci.cpp:3625 msgid "Place Features on map" msgstr "在地圖上加入特徵" -#: src/hci.c:4024 +#: src/hci.cpp:3635 msgid "Pause" msgstr "" -#: src/hci.c:4025 +#: src/hci.cpp:3636 msgid "Pause or unpause the game" msgstr "æš«åœï¼ˆæˆ–繼續)éŠæˆ²" -#: src/hci.c:4039 +#: src/hci.cpp:3650 msgid "Align height of all map objects" msgstr "使地圖上所有物件等高" -#: src/hci.c:4049 +#: src/hci.cpp:3660 msgid "Edit" msgstr "" -#: src/hci.c:4050 +#: src/hci.cpp:3661 #, fuzzy msgid "Start Edit Mode" msgstr "開始時無基地" -#: src/hci.c:4064 -#: src/ingameop.c:118 -#: src/ingameop.c:275 -#: src/ingameop.c:280 +#: src/hci.cpp:3675 +#: src/ingameop.cpp:112 +#: src/ingameop.cpp:258 +#: src/ingameop.cpp:263 msgid "Quit" msgstr "退出" -#: src/hci.c:4065 +#: src/hci.cpp:3676 msgid "Exit Game" msgstr "離開éŠæˆ²" -#: src/hci.c:4090 +#: src/hci.cpp:3700 #, fuzzy msgid "Current Player:" msgstr "多人éŠæˆ²" -#: src/hci.c:4470 -#: src/intdisplay.c:276 +#: src/hci.cpp:3990 +#: src/intdisplay.cpp:276 msgid "Progress Bar" msgstr "進度æ¢" -#: src/hci.c:5396 -#, fuzzy -msgid "Infinite Production" -msgstr "循環生產" - -#: src/hci.c:5472 +#: src/hci.cpp:4856 msgid "Factory Delivery Point" msgstr "工廠單ä½ç”¢å‡ºé»ž" -#: src/hci.c:5491 +#: src/hci.cpp:4874 msgid "Loop Production" msgstr "循環生產" -#: src/hci.c:5578 +#: src/hci.cpp:4954 msgid "Tab Scroll left" msgstr "é ç°½å‘å·¦æ²å‹•" -#: src/hci.c:5595 +#: src/hci.cpp:4969 msgid "Tab Scroll right" msgstr "é ç°½å‘å³æ²å‹•" -#: src/ingameop.c:117 -#: src/ingameop.c:202 -#: src/ingameop.c:284 +#: src/ingameop.cpp:111 +#: src/ingameop.cpp:193 +#: src/ingameop.cpp:267 msgid "Resume Game" msgstr "返回éŠæˆ²" -#: src/ingameop.c:141 +#: src/ingameop.cpp:134 msgid "WARNING: You're the host. If you quit, the game ends for everyone!" msgstr "" -#: src/ingameop.c:194 -#: src/ingameop.c:547 +#: src/ingameop.cpp:185 +#: src/ingameop.cpp:527 msgid "Tactical UI (Target Origin Icon): Show" msgstr "" -#: src/ingameop.c:199 -#: src/ingameop.c:551 +#: src/ingameop.cpp:190 +#: src/ingameop.cpp:531 msgid "Tactical UI (Target Origin Icon): Hide" msgstr "" -#: src/ingameop.c:294 -#: src/ingameop.c:522 -#: src/mission.c:2514 -#: src/mission.c:2635 +#: src/ingameop.cpp:277 +#: src/ingameop.cpp:502 +#: src/mission.cpp:2514 +#: src/mission.cpp:2633 msgid "Save Game" msgstr "儲存éŠæˆ²" -#: src/ingameop.c:363 +#: src/ingameop.cpp:343 #, fuzzy msgid "Host has quit the game!" msgstr "主玩家已離開éŠæˆ²" -#: src/ingameop.c:369 +#: src/ingameop.cpp:349 msgid "The game can't continue without the host." msgstr "" -#: src/ingameop.c:375 +#: src/ingameop.cpp:355 msgid "--> QUIT <--" msgstr "" -#: src/init.c:389 +#: src/init.cpp:389 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13239,1690 +13239,1699 @@ msgid "" "Warzone will try to load the game without it." msgstr "" -#: src/intdisplay.c:199 +#: src/intdisplay.cpp:199 #, fuzzy msgid "Build Progress" msgstr "建築物HP(Build Points)" -#: src/intdisplay.c:234 +#: src/intdisplay.cpp:234 #, fuzzy msgid "Construction Progress" msgstr "建築單ä½" -#: src/intdisplay.c:269 +#: src/intdisplay.cpp:269 msgid "Power Accrued" msgstr "能é‡å¢žåŠ " -#: src/intelmap.c:248 -#: src/keybind.c:1377 +#: src/intelmap.cpp:245 +#: src/keybind.cpp:1375 msgid "PAUSED" msgstr "æš«åœ" -#: src/intelmap.c:414 +#: src/intelmap.cpp:408 msgid "Research Update" msgstr "研發å‡ç´š" -#: src/intelmap.c:418 +#: src/intelmap.cpp:412 msgid "Project Goals" msgstr "計畫目標" -#: src/intelmap.c:421 +#: src/intelmap.cpp:415 msgid "Current Objective" msgstr "ç›®å‰ç›®æ¨™" -#: src/intelmap.c:1524 +#: src/intelmap.cpp:1509 msgid "New Intelligence Report" msgstr "新的智能情報" -#: src/intorder.c:161 -#: src/keymap.c:390 +#: src/intorder.cpp:161 +#: src/keymap.cpp:390 msgid "Short Range" msgstr "短è·é›¢" -#: src/intorder.c:162 -#: src/keymap.c:397 +#: src/intorder.cpp:162 +#: src/keymap.cpp:397 msgid "Long Range" msgstr "é•·è·é›¢" -#: src/intorder.c:163 -#: src/keymap.c:389 +#: src/intorder.cpp:163 +#: src/keymap.cpp:389 msgid "Optimum Range" msgstr "最é©è·é›¢" -#: src/intorder.c:164 -#: src/keymap.c:409 +#: src/intorder.cpp:164 +#: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "中度æ傷時撤退" -#: src/intorder.c:165 -#: src/keymap.c:410 +#: src/intorder.cpp:165 +#: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "é‡åº¦æ傷時撤退" -#: src/intorder.c:166 -#: src/keymap.c:411 +#: src/intorder.cpp:166 +#: src/keymap.cpp:411 msgid "Do or Die!" msgstr "奮戰到底ï¼" -#: src/intorder.c:167 +#: src/intorder.cpp:167 msgid "Fire-At-Will" msgstr "接觸時開ç«" -#: src/intorder.c:168 -#: src/keymap.c:385 +#: src/intorder.cpp:168 +#: src/keymap.cpp:385 msgid "Return Fire" msgstr "é­å—攻擊時還擊" -#: src/intorder.c:169 -#: src/keymap.c:383 +#: src/intorder.cpp:169 +#: src/keymap.cpp:383 msgid "Hold Fire" msgstr "åœç«" -#: src/intorder.c:170 -#: src/keymap.c:392 +#: src/intorder.cpp:170 +#: src/keymap.cpp:392 msgid "Patrol" msgstr "å·¡é‚模å¼" -#: src/intorder.c:171 -#: src/keymap.c:391 +#: src/intorder.cpp:171 +#: src/keymap.cpp:391 msgid "Pursue" msgstr "追蹤模å¼" -#: src/intorder.c:172 -#: src/keymap.c:387 +#: src/intorder.cpp:172 +#: src/keymap.cpp:387 msgid "Guard Position" msgstr "ä¿æŒæˆ’å‚™" -#: src/intorder.c:173 -#: src/keymap.c:394 +#: src/intorder.cpp:173 +#: src/keymap.cpp:394 msgid "Hold Position" msgstr "ä¿æŒåŽŸä½" -#: src/intorder.c:174 -#: src/keymap.c:393 +#: src/intorder.cpp:174 +#: src/keymap.cpp:393 msgid "Return For Repair" msgstr "返回修ç†" -#: src/intorder.c:175 +#: src/intorder.cpp:175 msgid "Return To HQ" msgstr "回到主基地" -#: src/intorder.c:176 -#: src/keymap.c:395 +#: src/intorder.cpp:176 +#: src/keymap.cpp:395 msgid "Go to Transport" msgstr "å‰å¾€é‹è¼¸è‰¦ä½ç½®" -#: src/intorder.c:177 -#: src/keymap.c:419 +#: src/intorder.cpp:177 +#: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "返回回收" -#: src/intorder.c:178 +#: src/intorder.cpp:178 msgid "Recycle" msgstr "回收" -#: src/intorder.c:179 +#: src/intorder.cpp:179 msgid "Assign Factory Production" msgstr "指定工廠生產" -#: src/intorder.c:180 +#: src/intorder.cpp:180 msgid "Assign Cyborg Factory Production" msgstr "指定生化人工廠生產" -#: src/intorder.c:181 +#: src/intorder.cpp:181 msgid "Assign Fire Support" msgstr "指定ç«åŠ›æ”¯æ´" -#: src/intorder.c:182 +#: src/intorder.cpp:182 msgid "Assign VTOL Factory Production" msgstr "指定VTOL工廠生產" -#: src/intorder.c:183 +#: src/intorder.cpp:183 msgid "Circle" msgstr "圓(循環)" -#: src/keybind.c:137 +#: src/keybind.cpp:135 msgid "Sorry, that cheat is disabled in multiplayer games." msgstr "抱歉,多人éŠæˆ²ä¸­ç„¡æ³•ä½¿ç”¨æ­¤ä½œå¼Šç¢¼" -#: src/keybind.c:143 +#: src/keybind.cpp:141 msgid "Warning! This cheat is buggy. We recommend to NOT use it." msgstr "" -#: src/keybind.c:242 +#: src/keybind.cpp:240 msgid "Lets us see what you see!" msgstr "讓我看看你看到了什麼ï¼" -#: src/keybind.c:244 +#: src/keybind.cpp:242 msgid "Fine, weapon & sensor display is off!" msgstr "關閉細節ã€æ­¦å™¨åŠé›·é”顯示" -#: src/keybind.c:417 -#: src/keybind.c:447 -#: src/keybind.c:464 -#: src/keybind.c:508 -#: src/keybind.c:616 -#: src/keybind.c:656 -#: src/keybind.c:762 -#: src/keybind.c:1267 -#: src/keybind.c:1324 -#: src/keybind.c:1434 -#: src/keybind.c:1563 -#: src/keybind.c:1914 -#: src/keybind.c:1955 +#: src/keybind.cpp:415 +#: src/keybind.cpp:445 +#: src/keybind.cpp:462 +#: src/keybind.cpp:506 +#: src/keybind.cpp:614 +#: src/keybind.cpp:654 +#: src/keybind.cpp:760 +#: src/keybind.cpp:1265 +#: src/keybind.cpp:1322 +#: src/keybind.cpp:1432 +#: src/keybind.cpp:1561 +#: src/keybind.cpp:1918 +#: src/keybind.cpp:1959 #, c-format msgid "(Player %u) is using cheat :%s" msgstr "" -#: src/keybind.c:418 +#: src/keybind.cpp:416 msgid "Hard as nails!!!" msgstr "åƒçˆªå­ä¸€æ¨£ç¡¬ï¼ï¼" -#: src/keybind.c:432 +#: src/keybind.cpp:430 msgid "Takings thing easy!" msgstr "讓事情變簡單ï¼" -#: src/keybind.c:448 +#: src/keybind.cpp:446 msgid "1000 big ones!!!" msgstr "1000 big ones!!!" -#: src/keybind.c:465 +#: src/keybind.cpp:463 msgid "Power overwhelming" msgstr "巨大的能é‡" -#: src/keybind.c:480 +#: src/keybind.cpp:478 msgid "Back to normality!" msgstr "回到正常狀態" -#: src/keybind.c:493 +#: src/keybind.cpp:491 msgid "Getting tricky!" msgstr "得到技巧ï¼" -#: src/keybind.c:509 +#: src/keybind.cpp:507 msgid "Twice as nice!" msgstr "給我兩å€çš„力é‡ï¼ï¼" -#: src/keybind.c:520 +#: src/keybind.cpp:518 msgid "FPS display is enabled." msgstr "FPS顯示開啟" -#: src/keybind.c:524 +#: src/keybind.cpp:522 msgid "FPS display is disabled." msgstr "FPS顯示關閉" -#: src/keybind.c:548 +#: src/keybind.cpp:546 #, c-format msgid "FPS %d; FPS-Limit: %d; PIEs %d; polys %d; Terr. polys %d; States %d" msgstr "FPS %d; FPSé™åˆ¶: %d; PIEs %d; polys %d; Terr. polys %d; 狀態 %d" -#: src/keybind.c:580 +#: src/keybind.cpp:578 #, c-format msgid "(Player %u) is using a cheat :Num Droids: %d Num Structures: %d Num Features: %d" msgstr "" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power disabled" msgstr "ç„¡é™åˆ¶èƒ½æºï¼šé—œ" -#: src/keybind.c:617 +#: src/keybind.cpp:615 msgid "Infinite power enabled" msgstr "ç„¡é™åˆ¶èƒ½æºï¼šé–‹" -#: src/keybind.c:657 +#: src/keybind.cpp:655 msgid "All items made available" msgstr "å¯ä½¿ç”¨æ‰€æœ‰çš„é …ç›®" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog on" msgstr "戰爭迷霧開啟" -#: src/keybind.c:763 +#: src/keybind.cpp:761 msgid "Fog off" msgstr "戰爭迷霧關閉" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, c-format msgid "Warning! This cheat can cause dire problems later on! [%s]" msgstr "" -#: src/keybind.c:1173 +#: src/keybind.cpp:1171 #, fuzzy msgid "Ending Mission." msgstr "傳來訊æ¯..." -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW ENABLED!" msgstr "" -#: src/keybind.c:1268 +#: src/keybind.cpp:1266 msgid "CHEATS ARE NOW DISABLED!" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode ON" msgstr "" -#: src/keybind.c:1325 +#: src/keybind.cpp:1323 msgid "God Mode OFF" msgstr "" -#: src/keybind.c:1337 +#: src/keybind.cpp:1335 msgid "View Aligned to North" msgstr "View Aligned to North" -#: src/keybind.c:1346 +#: src/keybind.cpp:1344 #, fuzzy, c-format msgid "Trap cursor %s" msgstr "æ•æ‰æ»‘é¼ " -#: src/keybind.c:1435 +#: src/keybind.cpp:1433 msgid "Researched EVERYTHING for you!" msgstr "替你研發所有科技ï¼" -#: src/keybind.c:1499 +#: src/keybind.cpp:1497 #, c-format msgid "(Player %u) is using cheat :%s %s" msgstr "" -#: src/keybind.c:1500 +#: src/keybind.cpp:1498 #, fuzzy msgid "Researched" msgstr "研發新科技" -#: src/keybind.c:1521 +#: src/keybind.cpp:1519 msgid "Only displaying energy bars when selected" msgstr "" -#: src/keybind.c:1524 +#: src/keybind.cpp:1522 msgid "Always displaying energy bars for units" msgstr "" -#: src/keybind.c:1527 +#: src/keybind.cpp:1525 msgid "Always displaying energy bars for units and structures" msgstr "" -#: src/keybind.c:1549 +#: src/keybind.cpp:1547 msgid "Demo mode off - Returning to normal game mode" msgstr "關閉展示模å¼â€”回到正常éŠæˆ²æ¨¡å¼" -#: src/keybind.c:1564 +#: src/keybind.cpp:1562 #, fuzzy msgid "Debug menu is Open" msgstr "建築é¸å–®å°‡é‡æ–°é–‹å•Ÿ" -#: src/keybind.c:1595 +#: src/keybind.cpp:1599 #, fuzzy msgid "Unable to locate any oil derricks!" msgstr "找ä¸åˆ°ä»»ä½•å·¥ç¨‹è»Šå–®ä½ï¼" -#: src/keybind.c:1816 +#: src/keybind.cpp:1820 msgid "Oh, the weather outside is frightful... SNOW" msgstr "喔,外é¢çš„天氣真糟...下雪" -#: src/keybind.c:1822 +#: src/keybind.cpp:1826 msgid "Singing in the rain, I'm singing in the rain... RAIN" msgstr "下雨啦~下雨啦~" -#: src/keybind.c:1828 +#: src/keybind.cpp:1832 msgid "Forecast : Clear skies for all areas... NO WEATHER" msgstr "天氣é å ±ï¼šä¸€æ•´ç‰‡æ™´æœ—的天空。" -#: src/keybind.c:1913 +#: src/keybind.cpp:1917 msgid "Warning! This can have drastic consequences if used incorrectly in missions." msgstr "" -#: src/keybind.c:1915 +#: src/keybind.cpp:1919 #, fuzzy msgid "All enemies destroyed by cheating!" msgstr "敵è»å·²ç¶“死了...由於你作弊的關係.." -#: src/keybind.c:1956 +#: src/keybind.cpp:1960 msgid "Destroying selected droids and structures!" msgstr "" -#: src/keybind.c:2478 +#: src/keybind.cpp:2471 msgid "Centered on player HQ, direction NORTH" msgstr "視角移至主基地,é¢å‘北方" -#: src/keybind.c:2490 +#: src/keybind.cpp:2483 msgid "Unable to locate HQ!" msgstr "無法定ä½è‡³ä¸»åŸºåœ°" -#: src/keybind.c:2497 +#: src/keybind.cpp:2490 msgid "Formation speed limiting has been removed from the game due to bugs." msgstr "" -#: src/keybind.c:2546 +#: src/keybind.cpp:2539 msgid "Vertical rotation direction: Normal" msgstr "" -#: src/keybind.c:2551 +#: src/keybind.cpp:2544 msgid "Vertical rotation direction: Flipped" msgstr "" -#: src/keybind.c:2560 +#: src/keybind.cpp:2553 msgid "Screen shake when things die: Off" msgstr "" -#: src/keybind.c:2565 +#: src/keybind.cpp:2558 msgid "Screen shake when things die: On" msgstr "" -#: src/keybind.c:2610 -#: src/keybind.c:2653 +#: src/keybind.cpp:2603 +#: src/keybind.cpp:2646 #, fuzzy msgid "Sorry, but game speed cannot be changed in multiplayer." msgstr "抱歉,多人éŠæˆ²ä¸­ç„¡æ³•ä½¿ç”¨æ­¤ä½œå¼Šç¢¼" -#: src/keybind.c:2631 -#: src/keybind.c:2674 -#: src/keybind.c:2696 +#: src/keybind.cpp:2624 +#: src/keybind.cpp:2667 +#: src/keybind.cpp:2689 msgid "Game Speed Reset" msgstr "é‡è¨­éŠæˆ²é€Ÿåº¦" -#: src/keybind.c:2635 +#: src/keybind.cpp:2628 #, c-format msgid "Game Speed Increased to %3.1f" msgstr "éŠæˆ²é€Ÿåº¦å¢žåŠ è‡³ %3.1f" -#: src/keybind.c:2678 +#: src/keybind.cpp:2671 #, c-format msgid "Game Speed Reduced to %3.1f" msgstr "éŠæˆ²é€Ÿåº¦æ¸›å°‘至 %3.1f" -#: src/keybind.c:2708 +#: src/keybind.cpp:2701 msgid "Radar showing friend-foe colors" msgstr "é›·é”顯示å‹è»é¡è‰²" -#: src/keybind.c:2712 +#: src/keybind.cpp:2705 msgid "Radar showing player colors" msgstr "é›·é”顯示玩家é¡è‰²" -#: src/keybind.c:2733 +#: src/keybind.cpp:2726 msgid "Radar showing only objects" msgstr "é›·é”僅顯示物件" -#: src/keybind.c:2736 +#: src/keybind.cpp:2729 msgid "Radar blending terrain and height" msgstr "é›·é”æ繪地形åŠé«˜åº¦" -#: src/keybind.c:2739 +#: src/keybind.cpp:2732 msgid "Radar showing terrain" msgstr "é›·é”顯示地形" -#: src/keybind.c:2742 +#: src/keybind.cpp:2735 #, fuzzy msgid "Radar showing revealed terrain" msgstr "é›·é”顯示地形" -#: src/keybind.c:2745 +#: src/keybind.cpp:2738 msgid "Radar showing height" msgstr "é›·é”顯示高度" -#: src/keyedit.c:352 +#: src/keyedit.cpp:350 msgid "KEY MAPPING" msgstr "éµç›¤é…ç½®" -#: src/keyedit.c:374 -#: src/multiint.c:495 -#: src/multiint.c:927 -#: src/multiint.c:1344 +#: src/keyedit.cpp:372 +#: src/multiint.cpp:487 +#: src/multiint.cpp:897 +#: src/multiint.cpp:1303 msgid "Return To Previous Screen" msgstr "回到å‰ä¸€å€‹ç•«é¢" -#: src/keyedit.c:379 +#: src/keyedit.cpp:377 msgid "Select Default" msgstr "é¸æ“‡é è¨­" -#: src/keymap.c:295 +#: src/keymap.cpp:295 msgid "Manufacture" msgstr "生產新單ä½" -#: src/keymap.c:296 +#: src/keymap.cpp:296 msgid "Research" msgstr "研發新科技" -#: src/keymap.c:297 +#: src/keymap.cpp:297 msgid "Build" msgstr "建築新建築物" -#: src/keymap.c:298 +#: src/keymap.cpp:298 msgid "Design" msgstr "設計新單ä½" -#: src/keymap.c:299 +#: src/keymap.cpp:299 msgid "Intelligence Display" msgstr "檢視情報åŠä»»å‹™ç›®æ¨™" -#: src/keymap.c:300 +#: src/keymap.cpp:300 msgid "Commanders" msgstr "指æ®å®˜" -#: src/keymap.c:301 +#: src/keymap.cpp:301 msgid "Toggle Radar" msgstr "開啟或關閉雷é”" -#: src/keymap.c:302 +#: src/keymap.cpp:302 msgid "Toggle Console Display" msgstr "開啟或關閉主控å°" -#: src/keymap.c:303 +#: src/keymap.cpp:303 msgid "Toggle Damage Bars On/Off" msgstr "開啟或關閉æ傷顯示" -#: src/keymap.c:304 +#: src/keymap.cpp:304 msgid "Take Screen Shot" msgstr "抓å–螢幕截圖" -#: src/keymap.c:305 +#: src/keymap.cpp:305 msgid "Toggle Formation Speed Limiting" msgstr "開啟或關閉æˆåž‹é€Ÿåº¦é™åˆ¶" -#: src/keymap.c:306 +#: src/keymap.cpp:306 msgid "View Location of Previous Message" msgstr "檢視å‰ä¸€è¨Šæ¯ç™¼ç”Ÿä½ç½®" -#: src/keymap.c:307 +#: src/keymap.cpp:307 #, fuzzy msgid "Toggle Sensor display" msgstr "開啟或關閉主控å°" -#: src/keymap.c:311 +#: src/keymap.cpp:311 msgid "Assign Group 0" msgstr "指定為第0隊" -#: src/keymap.c:312 +#: src/keymap.cpp:312 msgid "Assign Group 1" msgstr "指定為第1隊" -#: src/keymap.c:313 +#: src/keymap.cpp:313 msgid "Assign Group 2" msgstr "指定為第2隊" -#: src/keymap.c:314 +#: src/keymap.cpp:314 msgid "Assign Group 3" msgstr "指定為第3隊" -#: src/keymap.c:315 +#: src/keymap.cpp:315 msgid "Assign Group 4" msgstr "指定為第4隊" -#: src/keymap.c:316 +#: src/keymap.cpp:316 msgid "Assign Group 5" msgstr "指定為第5隊" -#: src/keymap.c:317 +#: src/keymap.cpp:317 msgid "Assign Group 6" msgstr "指定為第6隊" -#: src/keymap.c:318 +#: src/keymap.cpp:318 msgid "Assign Group 7" msgstr "指定為第7隊" -#: src/keymap.c:319 +#: src/keymap.cpp:319 msgid "Assign Group 8" msgstr "指定為第8隊" -#: src/keymap.c:320 +#: src/keymap.cpp:320 msgid "Assign Group 9" msgstr "指定為第隊" -#: src/keymap.c:324 +#: src/keymap.cpp:324 msgid "Select Group 0" msgstr "é¸æ“‡ç¬¬0隊" -#: src/keymap.c:325 +#: src/keymap.cpp:325 msgid "Select Group 1" msgstr "é¸æ“‡ç¬¬1隊" -#: src/keymap.c:326 +#: src/keymap.cpp:326 msgid "Select Group 2" msgstr "é¸æ“‡ç¬¬2隊" -#: src/keymap.c:327 +#: src/keymap.cpp:327 msgid "Select Group 3" msgstr "é¸æ“‡ç¬¬3隊" -#: src/keymap.c:328 +#: src/keymap.cpp:328 msgid "Select Group 4" msgstr "é¸æ“‡ç¬¬4隊" -#: src/keymap.c:329 +#: src/keymap.cpp:329 msgid "Select Group 5" msgstr "é¸æ“‡ç¬¬5隊" -#: src/keymap.c:330 +#: src/keymap.cpp:330 msgid "Select Group 6" msgstr "é¸æ“‡ç¬¬6隊" -#: src/keymap.c:331 +#: src/keymap.cpp:331 msgid "Select Group 7" msgstr "é¸æ“‡ç¬¬7隊" -#: src/keymap.c:332 +#: src/keymap.cpp:332 msgid "Select Group 8" msgstr "é¸æ“‡ç¬¬8隊" -#: src/keymap.c:333 +#: src/keymap.cpp:333 msgid "Select Group 9" msgstr "é¸æ“‡ç¬¬9隊" -#: src/keymap.c:337 +#: src/keymap.cpp:337 msgid "Select Commander 0" msgstr "é¸æ“‡å‘½ä»¤0" -#: src/keymap.c:338 +#: src/keymap.cpp:338 msgid "Select Commander 1" msgstr "é¸æ“‡å‘½ä»¤1" -#: src/keymap.c:339 +#: src/keymap.cpp:339 msgid "Select Commander 2" msgstr "é¸æ“‡å‘½ä»¤2" -#: src/keymap.c:340 +#: src/keymap.cpp:340 msgid "Select Commander 3" msgstr "é¸æ“‡å‘½ä»¤3" -#: src/keymap.c:341 +#: src/keymap.cpp:341 msgid "Select Commander 4" msgstr "é¸æ“‡å‘½ä»¤4" -#: src/keymap.c:342 +#: src/keymap.cpp:342 msgid "Select Commander 5" msgstr "é¸æ“‡å‘½ä»¤5" -#: src/keymap.c:343 +#: src/keymap.cpp:343 msgid "Select Commander 6" msgstr "é¸æ“‡å‘½ä»¤6" -#: src/keymap.c:344 +#: src/keymap.cpp:344 msgid "Select Commander 7" msgstr "é¸æ“‡å‘½ä»¤7" -#: src/keymap.c:345 +#: src/keymap.cpp:345 msgid "Select Commander 8" msgstr "é¸æ“‡å‘½ä»¤8" -#: src/keymap.c:346 +#: src/keymap.cpp:346 msgid "Select Commander 9" msgstr "é¸æ“‡å‘½ä»¤9" -#: src/keymap.c:350 +#: src/keymap.cpp:350 #, fuzzy msgid "Multiplayer Options / Alliance dialog" msgstr "多人éŠæˆ²é¸é …" -#: src/keymap.c:353 +#: src/keymap.cpp:353 msgid "Snap View to North" msgstr "Snap View to North" -#: src/keymap.c:354 +#: src/keymap.cpp:354 msgid "Toggle Tracking Camera" msgstr "開啟或關閉追蹤視角" -#: src/keymap.c:355 +#: src/keymap.cpp:355 msgid "Display In-Game Options" msgstr "顯示éŠæˆ²ä¸­é¸é …" -#: src/keymap.c:356 +#: src/keymap.cpp:356 msgid "Zoom Radar Out" msgstr "縮å°é›·é”視野" -#: src/keymap.c:357 +#: src/keymap.cpp:357 msgid "Zoom Radar In" msgstr "放大雷é”視野" -#: src/keymap.c:358 +#: src/keymap.cpp:358 msgid "Zoom In" msgstr "視角拉近" -#: src/keymap.c:359 +#: src/keymap.cpp:359 msgid "Zoom Out" msgstr "視角拉é " -#: src/keymap.c:360 +#: src/keymap.cpp:360 msgid "Pitch Forward" msgstr "視角å‰é€²" -#: src/keymap.c:361 +#: src/keymap.cpp:361 msgid "Rotate Left" msgstr "å‘左旋轉" -#: src/keymap.c:362 +#: src/keymap.cpp:362 msgid "Reset Pitch" msgstr "é‡è¨­è¦–角" -#: src/keymap.c:363 +#: src/keymap.cpp:363 msgid "Rotate Right" msgstr "å‘å³æ—‹è½‰" -#: src/keymap.c:364 +#: src/keymap.cpp:364 msgid "Pitch Back" msgstr "視角後退" -#: src/keymap.c:365 +#: src/keymap.cpp:365 msgid "Orders Menu" msgstr "命令é¸å–®" -#: src/keymap.c:366 +#: src/keymap.cpp:366 msgid "Decrease Game Speed" msgstr "é™ä½ŽéŠæˆ²é€Ÿåº¦" -#: src/keymap.c:367 +#: src/keymap.cpp:367 msgid "Increase Game Speed" msgstr "增加éŠæˆ²é€Ÿåº¦" -#: src/keymap.c:368 +#: src/keymap.cpp:368 msgid "Reset Game Speed" msgstr "é‡è¨­éŠæˆ²é€Ÿåº¦" -#: src/keymap.c:369 +#: src/keymap.cpp:369 msgid "View North" msgstr "é¢å‘北方" -#: src/keymap.c:370 +#: src/keymap.cpp:370 msgid "View South" msgstr "é¢å‘å—æ–¹" -#: src/keymap.c:371 +#: src/keymap.cpp:371 msgid "View East" msgstr "é¢å‘æ±æ–¹" -#: src/keymap.c:372 +#: src/keymap.cpp:372 msgid "View West" msgstr "é¢å‘西方" -#: src/keymap.c:373 +#: src/keymap.cpp:373 msgid "View next Oil Derrick" msgstr "檢視下一座鑽油井" -#: src/keymap.c:374 +#: src/keymap.cpp:374 msgid "View next Repair Unit" msgstr "檢視下一座修ç†å–®ä½" -#: src/keymap.c:375 +#: src/keymap.cpp:375 msgid "View next Truck" msgstr "檢視下一部工程車" -#: src/keymap.c:376 +#: src/keymap.cpp:376 msgid "View next Sensor Unit" msgstr "檢視下一座雷é”å–®ä½" -#: src/keymap.c:377 +#: src/keymap.cpp:377 msgid "View next Commander" msgstr "檢視下一部指æ®è»Š" -#: src/keymap.c:378 +#: src/keymap.cpp:378 msgid "Toggle Overlays" msgstr "開啟或關閉疊層顯示" -#: src/keymap.c:379 +#: src/keymap.cpp:379 msgid "Console On/Off" msgstr "開啟或關閉主控å°" -#: src/keymap.c:382 +#: src/keymap.cpp:382 msgid "Center View on HQ" msgstr "視角移至主基地" -#: src/keymap.c:384 +#: src/keymap.cpp:384 msgid "View Unassigned Units" msgstr "檢視未指定的單ä½" -#: src/keymap.c:386 +#: src/keymap.cpp:386 msgid "Fire at Will" msgstr "接觸時開ç«" -#: src/keymap.c:388 +#: src/keymap.cpp:388 msgid "Return to HQ" msgstr "回到主基地" -#: src/keymap.c:396 +#: src/keymap.cpp:396 msgid "Send Text Message" msgstr "é€å‡ºæ–‡å­—訊æ¯" -#: src/keymap.c:399 +#: src/keymap.cpp:399 msgid "Drop a beacon" msgstr "" -#: src/keymap.c:401 +#: src/keymap.cpp:401 #, fuzzy msgid "Sensor display On" msgstr "é›·é”å¯è¦–è·é›¢" -#: src/keymap.c:402 +#: src/keymap.cpp:402 msgid "Sensor display Off" msgstr "" -#: src/keymap.c:403 +#: src/keymap.cpp:403 #, fuzzy msgid "Toggles shadows" msgstr "é–‹å•Ÿå½±å­" -#: src/keymap.c:404 +#: src/keymap.cpp:404 #, fuzzy msgid "Trap cursor" msgstr "æ•æ‰æ»‘é¼ " -#: src/keymap.c:405 +#: src/keymap.cpp:405 #, fuzzy msgid "Toggle radar terrain" msgstr "開啟或關閉雷é”" -#: src/keymap.c:406 +#: src/keymap.cpp:406 msgid "Toggle ally-enemy radar view" msgstr "" -#: src/keymap.c:415 +#: src/keymap.cpp:415 msgid "Select all Combat Units" msgstr "é¸æ“‡æ‰€æœ‰æˆ°é¬¥å–®ä½" -#: src/keymap.c:416 +#: src/keymap.cpp:416 msgid "Select all Heavily Damaged Units" msgstr "é¸æ“‡æ‰€æœ‰é‡åº¦æå‚·å–®ä½" -#: src/keymap.c:417 +#: src/keymap.cpp:417 msgid "Select all Half-tracks" msgstr "é¸æ“‡æ‰€æœ‰åŠå±¥å¸¶å–®ä½" -#: src/keymap.c:418 +#: src/keymap.cpp:418 msgid "Select all Hovers" msgstr "é¸æ“‡æ‰€æœ‰æ°£å¢Šèˆ¹å–®ä½" -#: src/keymap.c:420 +#: src/keymap.cpp:420 msgid "Select all Units on Screen" msgstr "é¸æ“‡æ‰€æœ‰èž¢å¹•ä¸Šå–®ä½" -#: src/keymap.c:421 +#: src/keymap.cpp:421 msgid "Select all Tracks" msgstr "é¸æ“‡æ‰€æœ‰å±¥å¸¶å–®ä½" -#: src/keymap.c:422 +#: src/keymap.cpp:422 msgid "Select EVERY unit" msgstr "é¸æ“‡æ‰€æœ‰å–®ä½" -#: src/keymap.c:423 +#: src/keymap.cpp:423 msgid "Select all VTOLs" msgstr "é¸æ“‡æ‰€æœ‰VTOL å–®ä½" -#: src/keymap.c:424 +#: src/keymap.cpp:424 msgid "Select all Wheels" msgstr "é¸æ“‡æ‰€æœ‰è¼ªç³»å–®ä½" -#: src/keymap.c:426 +#: src/keymap.cpp:426 #, fuzzy msgid "Select all Similar Units" msgstr "é¸æ“‡æ‰€æœ‰é¡žä¼¼å–®ä½" -#: src/keymap.c:430 +#: src/keymap.cpp:430 msgid "Select next Factory" msgstr "é¸æ“‡ä¸‹ä¸€å€‹å·¥å» " -#: src/keymap.c:431 +#: src/keymap.cpp:431 msgid "Select next Research Facility" msgstr "é¸æ“‡ä¸‹ä¸€å€‹ç ”發中心" -#: src/keymap.c:432 +#: src/keymap.cpp:432 msgid "Select next Power Generator" msgstr "é¸æ“‡ä¸‹ä¸€å€‹ç™¼é›»å» " -#: src/keymap.c:433 +#: src/keymap.cpp:433 msgid "Select next Cyborg Factory" msgstr "é¸æ“‡ä¸‹ä¸€å€‹ç”ŸåŒ–人工廠" -#: src/loop.c:565 -#: src/loop.c:581 +#: src/loop.cpp:565 +#: src/loop.cpp:581 #, fuzzy msgid "Could not save game!" msgstr "載入已儲存的éŠæˆ²" -#: src/mission.c:2067 +#: src/mission.cpp:2075 msgid "Load Transport" msgstr "é€ä¸Šé‹è¼¸è‰¦" -#: src/mission.c:2461 +#: src/mission.cpp:2462 #, fuzzy msgid "OBJECTIVE ACHIEVED by cheating!" msgstr "任務完æˆ" -#: src/mission.c:2461 +#: src/mission.cpp:2462 msgid "OBJECTIVE ACHIEVED" msgstr "任務完æˆ" -#: src/mission.c:2467 +#: src/mission.cpp:2468 #, fuzzy msgid "OBJECTIVE FAILED--and you cheated!" msgstr "任務失敗" -#: src/mission.c:2467 +#: src/mission.cpp:2468 msgid "OBJECTIVE FAILED" msgstr "任務失敗" -#: src/mission.c:2493 -#: src/mission.c:2533 -#: src/mission.c:2651 +#: src/mission.cpp:2493 +#: src/mission.cpp:2533 +#: src/mission.cpp:2647 msgid "Quit To Main Menu" msgstr "退出至主é¸å–®" -#: src/mission.c:2501 +#: src/mission.cpp:2501 msgid "Continue Game" msgstr "繼續éŠæˆ²" -#: src/mission.c:2598 +#: src/mission.cpp:2598 #, fuzzy msgid "GAME SAVED :" msgstr "éŠæˆ²å·²å„²å­˜" -#: src/move.c:2320 +#: src/move.cpp:2264 #, c-format msgid "You found %u power in an oil drum." msgstr "" -#: src/multigifts.c:172 +#: src/multigifts.cpp:172 #, c-format msgid "%s Gives You A Visibility Report" msgstr "%s 給你一個å¯æª¢è¦–的報告" -#: src/multigifts.c:194 +#: src/multigifts.cpp:194 #, c-format msgid "%s Gives you a %s" msgstr "%s 給你一個 %s" -#: src/multigifts.c:242 +#: src/multigifts.cpp:242 #, c-format msgid "Tried to give away a non-empty %s - but this is not allowed." msgstr "試圖放棄一個éžç©ºçš„ %s,但是這是ä¸è¢«å…許的" -#: src/multigifts.c:285 +#: src/multigifts.cpp:285 #, c-format msgid "%s Gives You Technology Documents" msgstr "%s 給你一個技術文件" -#: src/multigifts.c:339 +#: src/multigifts.cpp:339 #, fuzzy, c-format msgid "%s Gives You %u Power" msgstr "%s 給你能æº" -#: src/multigifts.c:366 +#: src/multigifts.cpp:366 #, c-format msgid "%s Requests An Alliance With You" msgstr "%s è¦æ±‚與你åŒç›Ÿ" -#: src/multigifts.c:375 +#: src/multigifts.cpp:375 #, c-format msgid "You Invite %s To Form An Alliance" msgstr "你邀請 %s 加入åŒç›Ÿ" -#: src/multigifts.c:396 +#: src/multigifts.cpp:396 #, c-format msgid "%s Breaks The Alliance With %s" msgstr "%s å–消了與 %s çš„åŒç›Ÿå”定" -#: src/multigifts.c:425 +#: src/multigifts.cpp:425 #, c-format msgid "%s Forms An Alliance With %s" msgstr "%s 與 %s çµç›Ÿ" -#: src/multigifts.c:756 +#: src/multigifts.cpp:756 #, c-format msgid "You Discover Blueprints For %s" msgstr "你發ç¾ä¸€å€‹ç”¨ä½œæ–¼ %s çš„è—圖" -#: src/multiint.c:429 -#: src/multilimit.c:192 +#: src/multiint.cpp:425 +#: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "接å—設定" -#: src/multiint.c:431 -#: src/multiint.c:975 +#: src/multiint.cpp:427 +#: src/multiint.cpp:942 #, fuzzy msgid "Cancel" msgstr "æ§é¨Žå…µç«ç®­" -#: src/multiint.c:442 +#: src/multiint.cpp:438 msgid "IP Address or Machine Name" msgstr "IP ä½ç½®æˆ–電腦å稱" -#: src/multiint.c:492 +#: src/multiint.cpp:484 msgid "CONNECTION" msgstr "連接" -#: src/multiint.c:497 +#: src/multiint.cpp:489 msgid "Lobby" msgstr "éŠæˆ²å¤§å»³" -#: src/multiint.c:498 +#: src/multiint.cpp:490 msgid "IP" msgstr "IP" -#: src/multiint.c:691 +#: src/multiint.cpp:679 #, fuzzy msgid "No games are available" msgstr "å¯ä½¿ç”¨æ–°çš„科技" -#: src/multiint.c:694 +#: src/multiint.cpp:682 msgid "Game is full" msgstr "" -#: src/multiint.c:698 +#: src/multiint.cpp:686 msgid "You were kicked!" msgstr "" -#: src/multiint.c:701 +#: src/multiint.cpp:689 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.c:704 +#: src/multiint.cpp:692 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.c:708 +#: src/multiint.cpp:696 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.c:712 +#: src/multiint.cpp:700 msgid "Incorrect Password!" msgstr "" -#: src/multiint.c:715 +#: src/multiint.cpp:703 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.c:719 +#: src/multiint.cpp:707 msgid "Connection Error" msgstr "" -#: src/multiint.c:863 +#: src/multiint.cpp:837 msgid "Searching" msgstr "æœå°‹" -#: src/multiint.c:924 +#: src/multiint.cpp:894 msgid "GAMES" msgstr "éŠæˆ²" -#: src/multiint.c:932 +#: src/multiint.cpp:902 msgid "Refresh Games List" msgstr "é‡æ–°æ•´ç†éŠæˆ²æ¸…å–®" -#: src/multiint.c:952 +#: src/multiint.cpp:922 #, fuzzy msgid "Enter Password:" msgstr "按一下看地圖" -#: src/multiint.c:973 +#: src/multiint.cpp:940 msgid "OK" msgstr "" -#: src/multiint.c:1095 +#: src/multiint.cpp:1057 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.c:1096 +#: src/multiint.cpp:1058 #, fuzzy msgid "Cyborgs disabled." msgstr "å¯ç”Ÿç”¢æ–°çš„生化人步兵" -#: src/multiint.c:1097 +#: src/multiint.cpp:1059 msgid "VTOLs disabled." msgstr "" -#: src/multiint.c:1147 -#: src/multiint.c:1154 +#: src/multiint.cpp:1106 +#: src/multiint.cpp:1113 msgid "Select Game Name" msgstr "é¸æ“‡éŠæˆ²å稱" -#: src/multiint.c:1147 +#: src/multiint.cpp:1106 #, fuzzy msgid "One-Player Skirmish" msgstr "單人戰役模å¼" -#: src/multiint.c:1157 +#: src/multiint.cpp:1116 msgid "Select Map" msgstr "é¸æ“‡åœ°åœ–" -#: src/multiint.c:1165 +#: src/multiint.cpp:1124 #, fuzzy msgid "Click to set Password" msgstr "按一下看地圖" -#: src/multiint.c:1175 -#: src/multiint.c:1176 +#: src/multiint.cpp:1134 +#: src/multiint.cpp:1135 #, fuzzy msgid "Scavengers" msgstr "拾è’者" -#: src/multiint.c:1178 +#: src/multiint.cpp:1137 #, fuzzy msgid "No Scavengers" msgstr "拾è’者" -#: src/multiint.c:1208 +#: src/multiint.cpp:1167 msgid "Select Player Name" msgstr "é¸æ“‡çŽ©å®¶å稱" -#: src/multiint.c:1214 +#: src/multiint.cpp:1173 msgid "Distance Fog" msgstr "迷霧(看得見地形)" -#: src/multiint.c:1225 -#: src/multimenu.c:801 +#: src/multiint.cpp:1184 +#: src/multimenu.cpp:794 msgid "Alliances" msgstr "åŒç›Ÿ" -#: src/multiint.c:1228 +#: src/multiint.cpp:1187 msgid "No Alliances" msgstr "ä¸å…許åŒç›Ÿ" -#: src/multiint.c:1230 +#: src/multiint.cpp:1189 msgid "Allow Alliances" msgstr "å…許åŒç›Ÿ" -#: src/multiint.c:1234 +#: src/multiint.cpp:1193 msgid "Locked Teams" msgstr "鎖定åŒç›Ÿæ¨¡å¼" -#: src/multiint.c:1260 +#: src/multiint.cpp:1219 msgid "Low Power Levels" msgstr "生產能æºé€Ÿåº¦ï¼šæ…¢" -#: src/multiint.c:1262 +#: src/multiint.cpp:1221 msgid "Medium Power Levels" msgstr "生產能æºé€Ÿåº¦ï¼šä¸­" -#: src/multiint.c:1264 +#: src/multiint.cpp:1223 msgid "High Power Levels" msgstr "生產能æºé€Ÿåº¦ï¼šå¿«" -#: src/multiint.c:1296 +#: src/multiint.cpp:1255 msgid "Base" msgstr "基地" -#: src/multiint.c:1298 +#: src/multiint.cpp:1257 msgid "Start with No Bases" msgstr "開始時無基地" -#: src/multiint.c:1300 +#: src/multiint.cpp:1259 msgid "Start with Bases" msgstr "開始時有基地" -#: src/multiint.c:1302 +#: src/multiint.cpp:1261 msgid "Start with Advanced Bases" msgstr "開始時具è¦æ¨¡åŸºåœ°" -#: src/multiint.c:1334 +#: src/multiint.cpp:1293 msgid "Map Preview" msgstr "é è¦½åœ°åœ–" -#: src/multiint.c:1336 +#: src/multiint.cpp:1295 msgid "Click to see Map" msgstr "按一下看地圖" -#: src/multiint.c:1350 +#: src/multiint.cpp:1309 msgid "Start Hosting Game" msgstr "開始éŠæˆ²" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 #, fuzzy msgid "Show Structure Limits" msgstr "設定建築物數é‡é™åˆ¶" -#: src/multiint.c:1358 +#: src/multiint.cpp:1317 msgid "Set Structure Limits" msgstr "設定建築物數é‡é™åˆ¶" -#: src/multiint.c:1444 +#: src/multiint.cpp:1426 #, fuzzy msgid "Player colour" msgstr "玩家" -#: src/multiint.c:1460 +#: src/multiint.cpp:1769 +msgid "Team" +msgstr "隊ä¼" + +#: src/multiint.cpp:1781 #, fuzzy msgid "Kick player" msgstr "2 玩家" -#: src/multiint.c:1471 -#, fuzzy -msgid "Player position" -msgstr "ä¿æŒæˆ’å‚™" - -#: src/multiint.c:1831 -msgid "Team" -msgstr "隊ä¼" - -#: src/multiint.c:1870 +#: src/multiint.cpp:1818 msgid "Click when ready" msgstr "按一下開始" -#: src/multiint.c:1874 +#: src/multiint.cpp:1822 msgid "READY?" msgstr "" -#: src/multiint.c:1911 +#: src/multiint.cpp:1855 msgid "PLAYERS" msgstr "玩家" -#: src/multiint.c:1965 +#: src/multiint.cpp:1905 +#, fuzzy +msgid "Click to change to this slot" +msgstr "按一下看地圖" + +#: src/multiint.cpp:1933 #, fuzzy msgid "Choose Team" msgstr "鎖定åŒç›Ÿæ¨¡å¼" -#: src/multiint.c:2005 -msgid "Click to change player settings" -msgstr "" +#: src/multiint.cpp:1963 +#, fuzzy +msgid "Click to change player colour" +msgstr "é›·é”顯示玩家é¡è‰²" -#: src/multiint.c:2036 +#: src/multiint.cpp:1991 +#, fuzzy +msgid "Click to change player position" +msgstr "ä¿æŒæˆ’å‚™" + +#: src/multiint.cpp:2013 msgid "Click to adjust AI difficulty" msgstr "" -#: src/multiint.c:2115 +#: src/multiint.cpp:2088 msgid "CHAT" msgstr "èŠå¤©" -#: src/multiint.c:2149 +#: src/multiint.cpp:2120 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.c:2310 +#: src/multiint.cpp:2279 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.c:2318 +#: src/multiint.cpp:2287 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.c:2561 +#: src/multiint.cpp:2528 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.c:2646 +#: src/multiint.cpp:2613 msgid "'Locked Teams' mode enabled" msgstr "鎖定åŒç›Ÿæ¨¡å¼" -#: src/multiint.c:2685 -#: src/multiint.c:2735 +#: src/multiint.cpp:2699 #, c-format msgid "The host has kicked %s from the game!" msgstr "主玩家將 %s 踢出éŠæˆ²ï¼" -#: src/multiint.c:2815 +#: src/multiint.cpp:2769 msgid "Host is Starting Game" msgstr "主玩家已開始éŠæˆ²" -#: src/multiint.c:3399 +#: src/multiint.cpp:3347 msgid "Players" msgstr "玩家" -#: src/multiint.c:3517 +#: src/multiint.cpp:3439 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.c:3525 +#: src/multiint.cpp:3447 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.c:3551 +#: src/multiint.cpp:3470 msgid "HOST" msgstr "" -#: src/multijoin.c:100 -#: src/multijoin.c:101 +#: src/multijoin.cpp:100 +#: src/multijoin.cpp:101 msgid "Players Still Joining" msgstr "玩家加入中" -#: src/multijoin.c:236 +#: src/multijoin.cpp:236 #, c-format msgid "%s has Left the Game" msgstr "%s 已離開éŠæˆ²" -#: src/multijoin.c:254 +#: src/multijoin.cpp:254 #, c-format msgid "File transfer has been aborted for %d." msgstr "" -#: src/multijoin.c:376 +#: src/multijoin.cpp:376 #, c-format msgid "%s (%u) has an incompatible mod, and has been kicked." msgstr "" -#: src/multijoin.c:415 +#: src/multijoin.cpp:415 #, c-format msgid "%s is Joining the Game" msgstr "%s 加入éŠæˆ²" -#: src/multijoin.c:425 +#: src/multijoin.cpp:425 #, fuzzy msgid "System message:" msgstr "系統語系" -#: src/multilimit.c:185 +#: src/multilimit.cpp:183 #, fuzzy msgid "Apply Defaults and Return To Previous Screen" msgstr "回到å‰ä¸€å€‹ç•«é¢" -#: src/multilimit.c:316 +#: src/multilimit.cpp:314 msgid "Limits reset to default values" msgstr "" -#: src/multimenu.c:614 +#: src/multimenu.cpp:607 msgid "Technology level 1" msgstr "第一階科技" -#: src/multimenu.c:622 +#: src/multimenu.cpp:615 msgid "Technology level 2" msgstr "第二階科技" -#: src/multimenu.c:628 +#: src/multimenu.cpp:621 msgid "Technology level 3" msgstr "第三階科技" -#: src/multimenu.c:634 +#: src/multimenu.cpp:627 msgid "Any number of players" msgstr "任何數é‡çš„玩家" -#: src/multimenu.c:641 +#: src/multimenu.cpp:634 msgid "2 players" msgstr "2 玩家" -#: src/multimenu.c:647 +#: src/multimenu.cpp:640 #, fuzzy msgid "3 players" msgstr "2 玩家" -#: src/multimenu.c:653 +#: src/multimenu.cpp:646 msgid "4 players" msgstr "4 玩家" -#: src/multimenu.c:659 +#: src/multimenu.cpp:652 #, fuzzy msgid "5 players" msgstr "2 玩家" -#: src/multimenu.c:665 +#: src/multimenu.cpp:658 #, fuzzy msgid "6 players" msgstr "2 玩家" -#: src/multimenu.c:671 +#: src/multimenu.cpp:664 #, fuzzy msgid "7 players" msgstr "2 玩家" -#: src/multimenu.c:677 +#: src/multimenu.cpp:670 msgid "8 players" msgstr "8 玩家" -#: src/multimenu.c:802 +#: src/multimenu.cpp:795 msgid "Score" msgstr "分數" -#: src/multimenu.c:803 +#: src/multimenu.cpp:796 msgid "Kills" msgstr "殺敵數" -#: src/multimenu.c:807 -#: src/multimenu.c:812 +#: src/multimenu.cpp:800 +#: src/multimenu.cpp:805 msgid "Units" msgstr "å–®ä½" -#: src/multimenu.c:817 +#: src/multimenu.cpp:810 msgid "Ping" msgstr "Ping" -#: src/multimenu.c:821 +#: src/multimenu.cpp:814 msgid "Structs" msgstr "建築" -#: src/multimenu.c:1184 +#: src/multimenu.cpp:1174 msgid "Channel" msgstr "" -#: src/multimenu.c:1199 +#: src/multimenu.cpp:1188 msgid "Toggle Alliance State" msgstr "開啟或關閉åŒç›Ÿç‹€æ…‹" -#: src/multimenu.c:1218 +#: src/multimenu.cpp:1207 msgid "Give Visibility Report" msgstr "æä¾›å¯æª¢è¦–的報告" -#: src/multimenu.c:1224 +#: src/multimenu.cpp:1213 msgid "Leak Technology Documents" msgstr "æ´©æ¼ç§‘技技術文件" -#: src/multimenu.c:1231 +#: src/multimenu.cpp:1220 msgid "Hand Over Selected Units" msgstr "交出é¸æ“‡çš„å–®ä½" -#: src/multimenu.c:1237 +#: src/multimenu.cpp:1226 msgid "Give Power To Player" msgstr "æ供玩家能æº" -#: src/multiplay.c:264 +#: src/multiplay.cpp:264 #, c-format msgid "Kicking player %s, because they tried to bypass data integrity check!" msgstr "" -#: src/multiplay.c:1138 +#: src/multiplay.cpp:1134 #, fuzzy msgid "(allies" msgstr "åŒç›Ÿ" -#: src/multiplay.c:1146 +#: src/multiplay.cpp:1142 msgid "(private to " msgstr "" -#: src/multiplay.c:1159 +#: src/multiplay.cpp:1155 msgid "[invalid]" msgstr "" -#: src/multiplay.c:2050 +#: src/multiplay.cpp:2044 msgid "Green" msgstr "綠色" -#: src/multiplay.c:2051 +#: src/multiplay.cpp:2045 msgid "Orange" msgstr "橙色" -#: src/multiplay.c:2052 +#: src/multiplay.cpp:2046 msgid "Grey" msgstr "ç°è‰²" -#: src/multiplay.c:2053 +#: src/multiplay.cpp:2047 msgid "Black" msgstr "黑色" -#: src/multiplay.c:2054 +#: src/multiplay.cpp:2048 msgid "Red" msgstr "紅色" -#: src/multiplay.c:2055 +#: src/multiplay.cpp:2049 msgid "Blue" msgstr "è—色" -#: src/multiplay.c:2056 +#: src/multiplay.cpp:2050 msgid "Pink" msgstr "粉紅色" -#: src/multiplay.c:2057 +#: src/multiplay.cpp:2051 msgid "Cyan" msgstr "é’綠色" -#: src/order.c:841 +#: src/order.cpp:841 msgid "We can't do that! We must be a Cyborg unit to use a Cyborg Transport!" msgstr "" -#: src/research.c:1737 +#: src/research.cpp:1737 #, c-format msgid "Research completed: %s" msgstr "已研發完æˆï¼š %s" -#: src/research.c:1742 +#: src/research.cpp:1742 msgid "Research Completed" msgstr "已研發完æˆ" -#: src/research.c:2563 +#: src/research.cpp:2563 msgid "Research Award" msgstr "研發中心çŽå‹µ" -#: src/scores.c:99 +#: src/scores.cpp:99 #, c-format msgid "Own Units: %u" msgstr "我方單ä½ï¼š %u" -#: src/scores.c:100 +#: src/scores.cpp:100 #, c-format msgid "Enemy Units: %u" msgstr "敵方單ä½ï¼š %u" -#: src/scores.c:101 +#: src/scores.cpp:101 #, c-format msgid "Own Structures: %u" msgstr "我方建築物: %u" -#: src/scores.c:102 +#: src/scores.cpp:102 #, c-format msgid "Enemy Structures: %u" msgstr "敵方建築物: %u" -#: src/scores.c:103 +#: src/scores.cpp:103 #, c-format msgid "Units Manufactured: %u" msgstr "生產單ä½ç¸½æ•¸ï¼š %u" -#: src/scores.c:104 +#: src/scores.cpp:104 #, c-format msgid "Total Units: %u" msgstr "全部單ä½ï¼š %u" -#: src/scores.c:105 +#: src/scores.cpp:105 #, c-format msgid "Structures Built: %u" msgstr "建築物總數: %u" -#: src/scores.c:106 +#: src/scores.cpp:106 #, c-format msgid "Total Structures: %u" msgstr "全部建築物: %u" -#: src/scores.c:108 +#: src/scores.cpp:108 #, c-format msgid "Rookie: %u" msgstr "èœé³¥ï¼š %u" -#: src/scores.c:109 +#: src/scores.cpp:109 #, c-format msgctxt "rank" msgid "Green: %u" msgstr "é’æ¾€: %u" -#: src/scores.c:110 +#: src/scores.cpp:110 #, c-format msgid "Trained: %u" msgstr "訓練有素: %u" -#: src/scores.c:111 +#: src/scores.cpp:111 #, c-format msgid "Regular: %u" msgstr "好樣的: %u" -#: src/scores.c:112 +#: src/scores.cpp:112 #, c-format msgid "Professional: %u" msgstr "專家: %u" -#: src/scores.c:113 +#: src/scores.cpp:113 #, c-format msgid "Veteran: %u" msgstr "è€æ‰‹ï¼š%u" -#: src/scores.c:114 +#: src/scores.cpp:114 #, c-format msgid "Elite: %u" msgstr "è英:%u" -#: src/scores.c:115 +#: src/scores.cpp:115 #, c-format msgid "Special: %u" msgstr "特務:%u" -#: src/scores.c:116 +#: src/scores.cpp:116 #, c-format msgid "Hero: %u" msgstr "英雄:%u" -#: src/scores.c:350 +#: src/scores.cpp:350 msgid "Unit Losses" msgstr "æ失單ä½" -#: src/scores.c:351 +#: src/scores.cpp:351 msgid "Structure Losses" msgstr "æ失建築物" -#: src/scores.c:352 +#: src/scores.cpp:352 msgid "Force Information" msgstr "武力資訊" -#: src/scores.c:432 +#: src/scores.cpp:432 #, c-format msgid "ARTIFACTS RECOVERED: %d" msgstr "å°‹ç²éºç•™ç§‘技: %d" -#: src/scores.c:437 +#: src/scores.cpp:437 #, c-format msgid "Mission Time - %s" msgstr "任務進行時間 - %s" -#: src/scores.c:442 +#: src/scores.cpp:442 #, c-format msgid "Total Game Time - %s" msgstr "全部éŠæˆ²æ™‚é–“ - %s" -#: src/scores.c:448 +#: src/scores.cpp:448 #, c-format msgid "You cheated!" msgstr "" -#: src/scriptfuncs.c:3200 +#: src/scriptfuncs.cpp:3232 msgid "YOU ARE VICTORIOUS!" msgstr "ä½ ç²å‹äº†ï¼" -#: src/scriptfuncs.c:3204 +#: src/scriptfuncs.cpp:3236 msgid "YOU WERE DEFEATED!" msgstr "你被打敗了ï¼" -#: src/scriptfuncs.c:10119 +#: src/scriptfuncs.cpp:9630 #, c-format msgid "Beacon received from %s!" msgstr "ç”± %s ç²å¾—引導指標" -#: src/scriptfuncs.c:10165 +#: src/scriptfuncs.cpp:9676 #, c-format msgid "Beacon %d" msgstr "引導指標 %d" -#: src/selection.c:116 +#: src/selection.cpp:116 #, c-format msgid "%u unit selected" msgid_plural "%u units selected" msgstr[0] "å·²é¸å– %u å–®ä½" -#: src/selection.c:433 -#: src/selection.c:520 +#: src/selection.cpp:433 +#: src/selection.cpp:520 msgid "Unable to locate any repair units!" msgstr "找ä¸åˆ°ä»»ä½•ä¿®ç†å–®ä½ï¼" -#: src/selection.c:436 +#: src/selection.cpp:436 msgid "Unable to locate any Trucks!" msgstr "找ä¸åˆ°ä»»ä½•å·¥ç¨‹è»Šå–®ä½ï¼" -#: src/selection.c:439 +#: src/selection.cpp:439 msgid "Unable to locate any Sensor Units!" msgstr "找ä¸åˆ°ä»»ä½•é›·é”å–®ä½ï¼" -#: src/selection.c:442 +#: src/selection.cpp:442 msgid "Unable to locate any Commanders!" msgstr "找ä¸åˆ°ä»»ä½•æŒ‡æ®å®˜è»Šï¼" -#: src/structure.c:2912 +#: src/structure.cpp:2603 msgid "Command Control Limit Reached - Production Halted" msgstr "å·²é”到å¯æŽ§åˆ¶å–®ä½ç¸½æ•¸ä¸Šé™ï¼Œåœæ­¢ç”Ÿç”¢æ–°å–®ä½" -#: src/structure.c:6149 -#: src/structure.c:6174 +#: src/structure.cpp:5759 +#: src/structure.cpp:5784 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - 已指派 %u å–®ä½" -#: src/structure.c:6179 -#: src/structure.c:6247 -#: src/structure.c:6263 -#: src/structure.c:6277 +#: src/structure.cpp:5789 +#: src/structure.cpp:5857 +#: src/structure.cpp:5873 +#: src/structure.cpp:5887 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - æå‚· %3.0f%%" -#: src/structure.c:6229 +#: src/structure.cpp:5839 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - é€£æŽ¥é‘½æ²¹äº•æ•¸é‡ %u of %u" -#: src/structure.c:6393 -#: src/structure.c:6438 +#: src/structure.cpp:6003 +#: src/structure.cpp:6048 #, c-format msgid "%s - Electronically Damaged" msgstr "%s -é›»å­å‚·å®³" -#: src/structure.c:6675 +#: src/structure.cpp:6285 msgid "Electronic Reward - Visibility Report" msgstr "é›»å­å›žé¥‹â€”å¯æª¢è¦–報告" -#: src/structure.c:6715 +#: src/structure.cpp:6325 msgid "Factory Reward - Propulsion" msgstr "工廠çŽå‹µâ€”推進動力" -#: src/structure.c:6739 +#: src/structure.cpp:6349 msgid "Factory Reward - Body" msgstr "工廠çŽå‹µâ€”車身" -#: src/structure.c:6763 +#: src/structure.cpp:6373 msgid "Factory Reward - Weapon" msgstr "工廠çŽå‹µâ€”武器" -#: src/structure.c:6772 +#: src/structure.cpp:6382 msgid "Factory Reward - Nothing" msgstr "工廠çŽå‹µâ€”ç„¡" -#: src/structure.c:6800 +#: src/structure.cpp:6410 msgid "Repair Facility Award - Repair" msgstr "ä¿®ç†ä¸­å¿ƒçŽå‹µâ€”ä¿®ç†" -#: src/structure.c:6807 +#: src/structure.cpp:6417 msgid "Repair Facility Award - Nothing" msgstr "ä¿®ç†å·¥å» å›žé¥‹â€”ç„¡" -#: src/transporter.c:413 -#: src/transporter.c:467 +#: src/transporter.cpp:395 +#: src/transporter.cpp:444 msgid "Launch Transport" msgstr "發射é‹è¼¸è‰¦" -#: src/transporter.c:1462 +#: src/transporter.cpp:1420 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.c:1720 +#: src/transporter.cpp:1678 msgid "Reinforcements landing" msgstr "æ´è»å·²é™è½" -#: src/version.c:143 +#: src/version.cpp:143 msgid " (modified and switched locally)" msgstr " (modified and switched locally)" -#: src/version.c:145 +#: src/version.cpp:145 msgid " (modified locally)" msgstr " (modified locally)" -#: src/version.c:147 +#: src/version.cpp:147 msgid " (switched locally)" msgstr " (switched locally)" -#: src/version.c:154 +#: src/version.cpp:154 msgid " - DEBUG" msgstr " - DEBUG" -#: src/version.c:163 +#: src/version.cpp:163 #, c-format msgid " - Built %s" msgstr " - Built %s" #. TRANSLATORS: This string looks as follows when expanded. #. "Version " -#: src/version.c:173 +#: src/version.cpp:173 #, c-format msgid "Version %s%s%s%s" msgstr "版本 %s%s%s%s" +#, fuzzy +#~ msgid "Infinite Production" +#~ msgstr "循環生產" + #~ msgid "Plascrete MK3" #~ msgstr "超åˆé‡‘鋼筋牆三型" From b143d53ae1003906140cd8c0bf8ae9300ea117b5 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 9 Jan 2011 04:47:20 +0100 Subject: [PATCH 105/142] Fix newly built human-player droids being partially unassigned from commanders by AI scripts. And make all factory attributes be written to the new droids. --- data/base/multiplay/skirmish/ai.slo | 2 ++ src/cmddroid.cpp | 1 + src/group.cpp | 11 +++++++++++ src/order.cpp | 4 ++++ src/structure.cpp | 16 ++++++++++++++-- 5 files changed, 32 insertions(+), 2 deletions(-) diff --git a/data/base/multiplay/skirmish/ai.slo b/data/base/multiplay/skirmish/ai.slo index 48dd76db9..8243d5de7 100644 --- a/data/base/multiplay/skirmish/ai.slo +++ b/data/base/multiplay/skirmish/ai.slo @@ -2986,6 +2986,7 @@ function void shutDownAI() setEventTrigger(upgradeStructures,inactive); setEventTrigger(finishStructs, inactive); setEventTrigger(newfortify, inactive); + setEventTrigger(droidBuiltAssign, inactive); setEventTrigger(droidBuilt, inactive); setEventTrigger(structBuilt,inactive); setEventTrigger(droidDestroyed,inactive); @@ -3041,6 +3042,7 @@ function void reassignAI() setEventTrigger(upgradeStructures,upgradeStructuresTr ); setEventTrigger(finishStructs,finishStructsTr ); setEventTrigger(newfortify,fortifyTr ); + setEventTrigger(droidBuiltAssign,droidBuiltTr); setEventTrigger(droidBuilt,droidBuiltTr); setEventTrigger(droidDestroyed,droidDestroyedTr); setEventTrigger(conDroids,conDroidsTr); diff --git a/src/cmddroid.cpp b/src/cmddroid.cpp index 74cb23245..f954571c0 100644 --- a/src/cmddroid.cpp +++ b/src/cmddroid.cpp @@ -28,6 +28,7 @@ #include "objects.h" #include "cmddroiddef.h" #include "cmddroid.h" +#include "lib/netplay/netplay.h" #include "lib/gamelib/gtime.h" #include "group.h" #include "order.h" diff --git a/src/group.cpp b/src/group.cpp index 1c3b3b4bc..71254823b 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -25,6 +25,7 @@ */ #include "lib/framework/frame.h" +#include "lib/netplay/netplay.h" #include "multiplay.h" @@ -136,6 +137,11 @@ void grpJoin(DROID_GROUP *psGroup, DROID *psDroid) psDroid->psGrpNext = psGroup->psList; psGroup->psList = psDroid; } + + if (psGroup->type == GT_COMMAND) + { + syncDebug("Droid %d joining command group %d", psDroid->id, psGroup->psCommander != NULL? psGroup->psCommander->id : 0); + } } } @@ -154,6 +160,11 @@ void grpLeave(DROID_GROUP *psGroup, DROID *psDroid) return; } + if (psDroid != NULL && psGroup->type == GT_COMMAND) + { + syncDebug("Droid %d leaving command group %d", psDroid->id, psGroup->psCommander != NULL? psGroup->psCommander->id : 0); + } + psGroup->refCount -= 1; // if psDroid == NULL just decrease the refcount don't remove anything from the list if (psDroid != NULL && diff --git a/src/order.cpp b/src/order.cpp index 0c7213886..5480d5a71 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -1291,6 +1291,8 @@ static void orderCmdGroupBase(DROID_GROUP *psGroup, DROID_ORDER_DATA *psData) ASSERT( psGroup != NULL, "cmdUnitOrderGroupBase: invalid unit group" ); + syncDebug("Commander group order"); + if (psData->order == DORDER_RECOVER) { // picking up an artifact - only need to send one unit @@ -1304,6 +1306,7 @@ static void orderCmdGroupBase(DROID_GROUP *psGroup, DROID_ORDER_DATA *psData) psChosen = psCurr; mindist = currdist; } + syncDebug("command %d,%d", psCurr->id, currdist); } if (psChosen != NULL) { @@ -1314,6 +1317,7 @@ static void orderCmdGroupBase(DROID_GROUP *psGroup, DROID_ORDER_DATA *psData) { for (psCurr = psGroup->psList; psCurr; psCurr=psCurr->psGrpNext) { + syncDebug("command %d", psCurr->id); if (!orderState(psCurr, DORDER_RTR)) // if you change this, youll need to change sendcmdgroup() { orderDroidBase(psCurr, psData); diff --git a/src/structure.cpp b/src/structure.cpp index 237a6fbf5..903c6108a 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -2380,9 +2380,21 @@ static BOOL structPlaceDroid(STRUCTURE *psStructure, DROID_TEMPLATE *psTempl, uint32_t newState = psStructure->pFunctionality->factory.secondaryOrder; uint32_t diff = newState ^ psNewDroid->secondaryOrder; if ((diff & DSS_ARANGE_MASK) != 0) - { // TODO Should either do this for all states, or synchronise factory.secondaryOrder. + { // TODO Should synchronise factory.secondaryOrder and flag positions. secondarySetState(psNewDroid, DSO_ATTACK_RANGE, (SECONDARY_STATE)(newState & DSS_ARANGE_MASK)); } + if ((diff & DSS_REPLEV_MASK) != 0) + { + secondarySetState(psNewDroid, DSO_REPAIR_LEVEL, (SECONDARY_STATE)(newState & DSS_REPLEV_MASK)); + } + if ((diff & DSS_ALEV_MASK) != 0) + { + secondarySetState(psNewDroid, DSO_ATTACK_LEVEL, (SECONDARY_STATE)(newState & DSS_ALEV_MASK)); + } + if ((diff & DSS_CIRCLE_MASK) != 0) + { + secondarySetState(psNewDroid, DSO_CIRCLE, (SECONDARY_STATE)(newState & DSS_CIRCLE_MASK)); + } } if(psStructure->visible[selectedPlayer]) @@ -2448,7 +2460,7 @@ static BOOL structPlaceDroid(STRUCTURE *psStructure, DROID_TEMPLATE *psTempl, } else { - cmdDroidAddDroid(psFact->psCommander, psNewDroid); + orderDroidObj(psNewDroid, DORDER_COMMANDERSUPPORT, psFact->psCommander, ModeImmediate); } } else From b4c9ca5f102c23bbbd6bacffce6634d404bd6530 Mon Sep 17 00:00:00 2001 From: Cyp Date: Sun, 9 Jan 2011 05:21:32 +0100 Subject: [PATCH 106/142] Fix desynch on unassigning droids from commander. --- src/order.cpp | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/order.cpp b/src/order.cpp index 5480d5a71..9f46962f9 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -2146,7 +2146,7 @@ void orderDroidLoc(DROID *psDroid, DROID_ORDER order, UDWORD x, UDWORD y, QUEUE_ ASSERT_OR_RETURN(, psDroid != NULL, "Invalid unit pointer"); ASSERT_OR_RETURN(, validOrderForLoc(order), "Invalid order for location"); - if (mode == ModeQueue && bMultiPlayer) //ajl + if (mode == ModeQueue) //ajl { sendDroidInfo(psDroid, order, x, y, NULL, NULL, 0, 0, 0, false); return; // Wait to receive our order before changing the droid. @@ -2206,7 +2206,7 @@ void orderDroidObj(DROID *psDroid, DROID_ORDER order, BASE_OBJECT *psObj, QUEUE_ ASSERT(validOrderForObj(order), "Invalid order for object"); ASSERT(!isBlueprint(psObj), "Target is a blueprint"); - if (mode == ModeQueue && bMultiPlayer) //ajl + if (mode == ModeQueue) //ajl { sendDroidInfo(psDroid, order, 0, 0, psObj, NULL, 0, 0, 0, false); return; // Wait for the order to be received before changing the droid. @@ -2733,15 +2733,6 @@ void orderSelectedLoc(uint32_t player, uint32_t x, uint32_t y, bool add) return; } - // remove any units from their command group - for(psCurr = apsDroidLists[player]; psCurr; psCurr=psCurr->psNext) - { - if (psCurr->selected && hasCommander(psCurr)) - { - grpLeave(psCurr->psGroup, psCurr); - } - } - // note that an order list graphic needs to be displayed bOrderEffectDisplayed = false; @@ -3067,15 +3058,6 @@ void orderSelectedObjAdd(UDWORD player, BASE_OBJECT *psObj, BOOL add) DROID *psCurr; DROID_ORDER order; - // remove any units from their command group - for(psCurr = apsDroidLists[player]; psCurr; psCurr=psCurr->psNext) - { - if (psCurr->selected && hasCommander(psCurr)) - { - grpLeave(psCurr->psGroup, psCurr); - } - } - // note that an order list graphic needs to be displayed bOrderEffectDisplayed = false; From 9e9fc1ba5b400a8970cd41f7b4c13dcb8de0885e Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sun, 9 Jan 2011 14:46:18 +0100 Subject: [PATCH 107/142] Misc fixes for ticket:2435 (cleanup, cosmetic) to reduce diffcount --- lib/framework/frame.cpp | 2 +- lib/framework/frameresource.cpp | 16 ++++++----- lib/framework/frameresource.h | 4 +-- lib/script/eventsave.cpp | 47 +++++---------------------------- lib/script/eventsave.h | 2 +- src/game.cpp | 8 +----- src/scriptextern.cpp | 1 - src/scripttabs.cpp | 16 ----------- 8 files changed, 19 insertions(+), 77 deletions(-) diff --git a/lib/framework/frame.cpp b/lib/framework/frame.cpp index 62c65bb98..8191aad57 100644 --- a/lib/framework/frame.cpp +++ b/lib/framework/frame.cpp @@ -316,7 +316,7 @@ void frameShutDown(void) PHYSFS_file* openLoadFile(const char* fileName, bool hard_fail) { PHYSFS_file* fileHandle = PHYSFS_openRead(fileName); - debug(LOG_WZ, "Reading...[directory: %s] %s", PHYSFS_getRealDir(fileName), fileName); + debug(LOG_NEVER, "Reading...[directory: %s] %s", PHYSFS_getRealDir(fileName), fileName); if (!fileHandle) { if (hard_fail) diff --git a/lib/framework/frameresource.cpp b/lib/framework/frameresource.cpp index 02cd18e77..3cbafe90b 100644 --- a/lib/framework/frameresource.cpp +++ b/lib/framework/frameresource.cpp @@ -88,6 +88,12 @@ void resShutDown(void) } } +// force set the base resource directory +void resForceBaseDir(const char* pResDir) +{ + sstrcpy(aResDir, pResDir); + sstrcpy(aCurrResDir, pResDir); +} // set the base resource directory void resSetBaseDir(const char* pResDir) @@ -465,7 +471,7 @@ bool resLoadFile(const char *pType, const char *pFile) // Now process the buffer data if (!psT->buffLoad(Resource->pBuffer, Resource->size, &pData)) { - debug(LOG_ERROR, "resLoadFile: The load function for resource type \"%s\" failed for file \"%s\"", pType, pFile); + ASSERT(false, "The load function for resource type \"%s\" failed for file \"%s\"", pType, pFile); FreeResourceFile(Resource); if (psT->release != NULL) { @@ -481,7 +487,7 @@ bool resLoadFile(const char *pType, const char *pFile) // Process data directly from file if (!psT->fileLoad(aFileName, &pData)) { - debug(LOG_ERROR, "resLoadFile: The load function for resource type \"%s\" failed for file \"%s\"", pType, pFile); + ASSERT(false, "The load function for resource type \"%s\" failed for file \"%s\"", pType, pFile); if (psT->release != NULL) { psT->release(pData); @@ -491,7 +497,7 @@ bool resLoadFile(const char *pType, const char *pFile) } else { - debug(LOG_ERROR, "resLoadFile: No load functions for this type (%s)", pType); + ASSERT(false, "No load functions for this type (%s)", pType); return false; } @@ -778,10 +784,6 @@ void resReleaseBlockData(SDWORD blockID) { psT->release( psRes->pData ); } - else - { - ASSERT( false,"resReleaseAllData: NULL release function" ); - } psNRes = psRes->psNext; free(psRes); diff --git a/lib/framework/frameresource.h b/lib/framework/frameresource.h index bd9a01bff..afb3f014c 100644 --- a/lib/framework/frameresource.h +++ b/lib/framework/frameresource.h @@ -88,6 +88,7 @@ extern void resShutDown(void); /** Set the base resource directory. */ extern void resSetBaseDir(const char* pResDir); +extern void resForceBaseDir(const char* pResDir); /** Parse the res file. */ bool resLoad(const char *pResFile, SDWORD blockID); @@ -112,9 +113,6 @@ extern bool resAddFileLoad(const char *pType, RES_FILELOAD fileLoad, /** Call the load function for a file. */ extern bool resLoadFile(const char *pType, const char *pFile); -/** Add data to the resource system. */ -extern bool resAddData(char *pType, char *pID, void *pData); - /** Return the resource for a type and ID */ extern void *resGetDataFromHash(const char *pType, UDWORD HashedID); extern void *resGetData(const char *pType, const char *pID); diff --git a/lib/script/eventsave.cpp b/lib/script/eventsave.cpp index 9f66c0406..6dae03d16 100644 --- a/lib/script/eventsave.cpp +++ b/lib/script/eventsave.cpp @@ -33,7 +33,6 @@ #include "eventsave.h" - // the event save file header typedef struct _event_save_header { @@ -52,11 +51,9 @@ static BOOL eventSaveContext(char *pBuffer, UDWORD *pSize) INTERP_VAL *psVal; SCR_VAL_SAVE saveFunc; char *pPos; -//not hashed char *pScriptID; UDWORD hashedName; UWORD *pValSize = NULL; - size = 0; numContext = 0; pPos = pBuffer; @@ -74,7 +71,6 @@ static BOOL eventSaveContext(char *pBuffer, UDWORD *pSize) numContext += 1; // save the context info -//nothashed if (!resGetIDfromData("SCRIPT", psCCont->psCode, &hashedName)) if (!resGetHashfromData("SCRIPT", psCCont->psCode, &hashedName)) { debug( LOG_FATAL, "eventSaveContext: couldn't find script resource id" ); @@ -85,8 +81,6 @@ static BOOL eventSaveContext(char *pBuffer, UDWORD *pSize) if (pBuffer != NULL) { -//not hashed strcpy(pPos, pScriptID); -//not hashed pPos += strlen(pScriptID) + 1; *((UDWORD*)pPos) = (UDWORD)hashedName; endian_udword((UDWORD*)pPos); pPos += sizeof(UDWORD); @@ -99,7 +93,6 @@ static BOOL eventSaveContext(char *pBuffer, UDWORD *pSize) pPos += sizeof(UBYTE); } -//not hashed size += strlen(pScriptID) + 1 + sizeof(SWORD) + sizeof(UBYTE); size += sizeof(UDWORD) + sizeof(SWORD) + sizeof(UBYTE); // save the context variables @@ -220,7 +213,7 @@ static BOOL eventSaveContext(char *pBuffer, UDWORD *pSize) } // load the context information for the script system -static BOOL eventLoadContext(const SDWORD version, char *pBuffer, UDWORD *pSize, BOOL bHashed) +static BOOL eventLoadContext(const SDWORD version, char *pBuffer, UDWORD *pSize) { UDWORD size, valSize,stringLen; SDWORD numVars, i, numContext, context; @@ -228,7 +221,6 @@ static BOOL eventLoadContext(const SDWORD version, char *pBuffer, UDWORD *pSize, INTERP_TYPE type; SCR_VAL_LOAD loadFunc; char *pPos; - char *pScriptID = NULL; UDWORD hashedName; SCRIPT_CODE *psCode; CONTEXT_RELEASE release; @@ -246,17 +238,11 @@ static BOOL eventLoadContext(const SDWORD version, char *pBuffer, UDWORD *pSize, // go through the contexts for(context=0; context < numContext; context += 1) { - if(bHashed) { endian_udword((UDWORD*)pPos); hashedName = *((UDWORD*)pPos); psCode = (SCRIPT_CODE*)resGetDataFromHash("SCRIPT", hashedName); pPos += sizeof(UDWORD); - } else { - // get the script code - pScriptID = (char *)pPos; - psCode = (SCRIPT_CODE*)resGetData("SCRIPT", pScriptID); - pPos += strlen(pScriptID) + 1; - } + // check the number of variables endian_sword((SWORD*)pPos); numVars = psCode->numGlobals + psCode->arraySize; @@ -281,11 +267,7 @@ static BOOL eventLoadContext(const SDWORD version, char *pBuffer, UDWORD *pSize, // bit of a hack this - note the id of the context to link it to the triggers psContList->id = (SWORD)context; - if(bHashed) { - size += sizeof(UDWORD) + sizeof(SWORD) + sizeof(UBYTE); - } else { - size += strlen(pScriptID) + 1 + sizeof(SWORD) + sizeof(UBYTE); - } + size += sizeof(UDWORD) + sizeof(SWORD) + sizeof(UBYTE); // set the context variables for(i=0; i < numVars; i+= 1) @@ -601,8 +583,6 @@ BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize) } totalSize += size; - - // Allocate the buffer to save to pBuffer = (char*)malloc(totalSize); if (pBuffer == NULL) @@ -613,7 +593,6 @@ BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize) } pPos = pBuffer; - // set the header psHdr = (EVENT_SAVE_HDR *)pPos; psHdr->aFileType[0] = 'e'; @@ -625,7 +604,6 @@ BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize) pPos += sizeof(EVENT_SAVE_HDR); - // save the contexts if (!eventSaveContext(pPos, &size)) { @@ -655,38 +633,25 @@ BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize) // Load the state of the event system -BOOL eventLoadState(char *pBuffer, UDWORD fileSize, BOOL bHashed) +BOOL eventLoadState(char *pBuffer, UDWORD fileSize) { UDWORD size, totalSize, version; char *pPos; EVENT_SAVE_HDR *psHdr; - pPos = pBuffer; totalSize = 0; // Get the header psHdr = (EVENT_SAVE_HDR *)pPos; endian_udword(&psHdr->version); - if (strncmp(psHdr->aFileType, "evnt", 4) != 0) - { - debug( LOG_FATAL, "eventLoadState: invalid file header" ); - abort(); - return false; - } -/* if ((psHdr->version != 1) && - (psHdr->version != 2)) - { - DBERROR(("eventLoadState: invalid file version")); - return false; - }*/ + ASSERT_OR_RETURN(false, strncmp(psHdr->aFileType, "evnt", 4) == 0, "Invalid file header"); version = psHdr->version; pPos += sizeof(EVENT_SAVE_HDR); totalSize += sizeof(EVENT_SAVE_HDR); - // load the event contexts - if (!eventLoadContext(version, pPos, &size, bHashed)) + if (!eventLoadContext(version, pPos, &size)) { return false; } diff --git a/lib/script/eventsave.h b/lib/script/eventsave.h index bf1d9a069..ea5998520 100644 --- a/lib/script/eventsave.h +++ b/lib/script/eventsave.h @@ -31,6 +31,6 @@ extern BOOL eventSaveState(SDWORD version, char **ppBuffer, UDWORD *pFileSize); // Load the state of the event system -extern BOOL eventLoadState(char *pBuffer, UDWORD fileSize, BOOL bHashed); +extern BOOL eventLoadState(char *pBuffer, UDWORD fileSize); #endif diff --git a/src/game.cpp b/src/game.cpp index c8d558324..46c0f0135 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -11347,7 +11347,6 @@ BOOL loadScriptState(char *pFileName) { char *pFileData; UDWORD fileSize; - BOOL bHashed = false; // change the file extension pFileName[strlen(pFileName)-4] = (char)0; @@ -11361,12 +11360,7 @@ BOOL loadScriptState(char *pFileName) return false; } - if (saveGameVersion > VERSION_12) - { - bHashed = true; - } - - if (!eventLoadState(pFileData, fileSize, bHashed)) + if (!eventLoadState(pFileData, fileSize)) { return false; } diff --git a/src/scriptextern.cpp b/src/scriptextern.cpp index 7962aba80..89f0a13f9 100644 --- a/src/scriptextern.cpp +++ b/src/scriptextern.cpp @@ -198,7 +198,6 @@ BOOL scrGenExternSet(UDWORD index) { // Since tutorial is skirmish NetPlay.players[0].allocated = true; -debug(LOG_ERROR, "tutorial turned %s", val ? "on" : "off"); } break; case EXTID_EXTRAVICTORYFLAG: diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index 743097e8b..338984678 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -1677,9 +1677,6 @@ VAR_SYMBOL asObjTable[] = */ CONST_SYMBOL asConstantTable[] = { -/* { "TEST_BOOL_CONST", VAL_BOOL, true, 0, 0 }, - { "TEST_INT_CONST", VAL_INT, 0, 10, 0 },*/ - //reticule button IDs - for scrFlashOn & Off // original annette styley { "OPTIONS", VAL_INT, false, IDRET_OPTIONS, NULL, NULL, 0.0f }, @@ -1691,7 +1688,6 @@ CONST_SYMBOL asConstantTable[] = { "DESIGN", VAL_INT, false, IDRET_DESIGN, NULL, NULL, 0.0f }, { "COMMAND", VAL_INT, false, IDRET_COMMAND, NULL, NULL, 0.0f }, - // new styley that supports many other buttons { "IDRET_OPTIONS", VAL_INT, false, IDRET_OPTIONS, NULL, NULL, 0.0f }, { "IDRET_CANCEL", VAL_INT, false, IDRET_CANCEL, NULL, NULL, 0.0f }, @@ -1719,13 +1715,11 @@ CONST_SYMBOL asConstantTable[] = // the first (top-left) button on the list window (up from the reticule) { "IDSTAT_START", VAL_INT, false, IDSTAT_START, NULL, NULL, 0.0f }, - //message Types { "RES_MSG", VAL_INT, false, MSG_RESEARCH, NULL, NULL, 0.0f }, { "CAMP_MSG", VAL_INT, false, MSG_CAMPAIGN, NULL, NULL, 0.0f }, { "MISS_MSG", VAL_INT, false, MSG_MISSION, NULL, NULL, 0.0f }, { "PROX_MSG", VAL_INT, false, MSG_PROXIMITY, NULL, NULL, 0.0f }, - //{ "TUT_MSG", VAL_INT, false, MSG_TUTORIAL, NULL, NULL, 0.0f }, NOT NEEDED //used for null pointers { "NULLTEMPLATE", (INTERP_TYPE)ST_POINTER_T, false, 0, NULL, NULL, 0.0f }, @@ -1941,7 +1935,6 @@ CONST_SYMBOL asConstantTable[] = { "STATUS_BattleMapViewEnabled",VAL_INT, false, STATUS_BattleMapViewEnabled, NULL, NULL, 0.0f }, // Are we currently in the battlemap view (tactical display) true=yes { "STATUS_DeliveryReposInProgress",VAL_INT,false, STATUS_DeliveryReposInProgress, NULL, NULL, 0.0f }, // Are we currently in the delivery repos mode - //possible values for externed targetedObjectType { "MT_TERRAIN", VAL_INT, false, MT_TERRAIN, NULL, NULL, 0.0f }, { "MT_RESOURCE", VAL_INT, false, MT_RESOURCE, NULL, NULL, 0.0f }, @@ -2291,16 +2284,12 @@ BOOL scrTabInitialise(void) // Set the object variable table scriptSetObjectTab(asObjTable); - - - // Set the callback table scriptSetCallbackTab(asCallbackTable); // Set the type equivalence table scriptSetTypeEquiv(asEquivTable); - // Set the create and release functions if (!eventAddValueCreate((INTERP_TYPE)ST_BASEOBJECT, scrvAddBasePointer)) { @@ -2362,14 +2351,9 @@ BOOL scrTabInitialise(void) return true; } - // Shut down the script system void scrShutDown(void) { scrvShutDown(); scriptShutDown(); } - - - - From f263cf5103bbb283049eced6ec6b982c5b515ceb Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sun, 9 Jan 2011 16:35:49 +0100 Subject: [PATCH 108/142] Add GUI dialog for choosing which AI you want to play against. Move semperfi and dydo into main. Change difficulty slider into four separate steps (Easy, Medium, Hard, Insane). Thanks to Cyp for review. For more info, see ticket:2435 --- data/base/challenges/b2basics.ini | 2 +- data/base/challenges/hidebehind.ini | 14 +- data/base/challenges/noplace.ini | 14 +- data/base/images/frontend.img | 78 +-- data/base/images/frontend1.png | Bin 5813 -> 16273 bytes .../multiplay/skirmish/dydo.slo} | 2 +- .../multiplay/skirmish/dydo.txt} | 0 .../multiplay/skirmish/dydo.vlo} | 2 +- data/base/multiplay/skirmish/nexus.ai | 4 + .../multiplay/skirmish/{ai.slo => nexus.slo} | 2 +- .../multiplay/skirmish/{ai.vlo => nexus.vlo} | 2 +- data/base/multiplay/skirmish/semperfi.ai | 4 + .../multiplay/skirmish/semperfi.slo} | 4 +- .../multiplay/skirmish/semperfi.vlo} | 2 +- data/mods/multiplay/Makefile.am | 20 +- data/mp/wrf/multi/skirmish2.wrf | 3 - data/mp/wrf/multi/skirmish3.wrf | 4 - data/mp/wrf/multi/skirmish4.wrf | 5 - data/mp/wrf/multi/skirmish5.wrf | 6 - data/mp/wrf/multi/skirmish6.wrf | 7 - data/mp/wrf/multi/skirmish7.wrf | 8 - data/mp/wrf/multi/skirmish8.wrf | 9 - data/mp/wrf/multi/t2-skirmish2.wrf | 3 - data/mp/wrf/multi/t2-skirmish3.wrf | 6 - data/mp/wrf/multi/t2-skirmish4.wrf | 5 - data/mp/wrf/multi/t2-skirmish5.wrf | 11 - data/mp/wrf/multi/t2-skirmish6.wrf | 12 - data/mp/wrf/multi/t2-skirmish7.wrf | 14 - data/mp/wrf/multi/t2-skirmish8.wrf | 9 - data/mp/wrf/multi/t3-skirmish2.wrf | 3 - data/mp/wrf/multi/t3-skirmish3.wrf | 6 - data/mp/wrf/multi/t3-skirmish4.wrf | 5 - data/mp/wrf/multi/t3-skirmish5.wrf | 10 - data/mp/wrf/multi/t3-skirmish6.wrf | 12 - data/mp/wrf/multi/t3-skirmish7.wrf | 15 - data/mp/wrf/multi/t3-skirmish8.wrf | 9 - lib/netplay/netplay.cpp | 11 +- lib/netplay/netplay.h | 4 +- src/frend.h | 78 +-- src/game.cpp | 24 +- src/init.cpp | 12 +- src/multiint.cpp | 473 ++++++++++++++---- src/multiint.h | 30 +- src/scriptfuncs.cpp | 15 +- src/scripttabs.cpp | 2 +- 45 files changed, 501 insertions(+), 460 deletions(-) rename data/{mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo => base/multiplay/skirmish/dydo.slo} (97%) rename data/{mods/multiplay/dydo-ai/multiplay/skirmish/readme.txt => base/multiplay/skirmish/dydo.txt} (100%) rename data/{mods/multiplay/dydo-ai/multiplay/skirmish/ai.vlo => base/multiplay/skirmish/dydo.vlo} (99%) create mode 100644 data/base/multiplay/skirmish/nexus.ai rename data/base/multiplay/skirmish/{ai.slo => nexus.slo} (99%) rename data/base/multiplay/skirmish/{ai.vlo => nexus.vlo} (99%) create mode 100644 data/base/multiplay/skirmish/semperfi.ai rename data/{mods/multiplay/semperfi/multiplay/skirmish/ai.slo => base/multiplay/skirmish/semperfi.slo} (99%) rename data/{mods/multiplay/semperfi/multiplay/skirmish/ai.vlo => base/multiplay/skirmish/semperfi.vlo} (99%) diff --git a/data/base/challenges/b2basics.ini b/data/base/challenges/b2basics.ini index ebc4a6756..d09d9766f 100644 --- a/data/base/challenges/b2basics.ini +++ b/data/base/challenges/b2basics.ini @@ -13,4 +13,4 @@ team = 1 [player_2] team = 2 -difficulty = 10 +difficulty = "Medium" diff --git a/data/base/challenges/hidebehind.ini b/data/base/challenges/hidebehind.ini index 7ffc87981..3a801c038 100644 --- a/data/base/challenges/hidebehind.ini +++ b/data/base/challenges/hidebehind.ini @@ -13,30 +13,30 @@ team = 1 [player_2] team = 1 -difficulty = 5 +difficulty = "Medium" position = 4 [player_3] team = 1 -difficulty = 5 +difficulty = "Medium" position = 6 [player_4] team = 2 -difficulty = 10 +difficulty = "Hard" [player_5] team = 2 -difficulty = 10 +difficulty = "Hard" [player_6] team = 2 -difficulty = 10 +difficulty = "Hard" [player_7] team = 2 -difficulty = 10 +difficulty = "Hard" [player_8] team = 2 -difficulty = 10 +difficulty = "Hard" diff --git a/data/base/challenges/noplace.ini b/data/base/challenges/noplace.ini index af15ca29c..25ac29a22 100644 --- a/data/base/challenges/noplace.ini +++ b/data/base/challenges/noplace.ini @@ -14,28 +14,28 @@ team = 1 [player_2] team = 2 -difficulty = 10 +difficulty = "Hard" [player_3] team = 2 -difficulty = 10 +difficulty = "Hard" [player_4] team = 2 -difficulty = 10 +difficulty = "Hard" [player_5] team = 2 -difficulty = 10 +difficulty = "Hard" [player_6] team = 2 -difficulty = 10 +difficulty = "Hard" [player_7] team = 2 -difficulty = 10 +difficulty = "Hard" [player_8] team = 2 -difficulty = 10 +difficulty = "Hard" diff --git a/data/base/images/frontend.img b/data/base/images/frontend.img index 38f9260ae..ee090452a 100644 --- a/data/base/images/frontend.img +++ b/data/base/images/frontend.img @@ -109,84 +109,10 @@ 3,72,75,35,24,0,0,"IMAGE FOG OFF HI" 3,108,75,35,24,0,0,"IMAGE FOG ON HI" 2,79,4,11,11,0,0,"IMAGE WEE GUY" -1,137,75,21,22,0,-21,"IMAGE TFONT 189" -1,14,109,13,21,0,-20,"IMAGE TFONT 225" -1,0,109,13,21,0,-20,"IMAGE TFONT 224" -1,159,75,21,22,0,-21,"IMAGE TFONT 188" -1,28,109,13,21,0,-20,"IMAGE TFONT 226" -1,42,110,13,20,0,-19,"IMAGE TFONT 227" -1,56,110,13,20,0,-19,"IMAGE TFONT 228" -1,70,110,13,20,0,-19,"IMAGE TFONT 229" -1,84,114,23,16,0,-15,"IMAGE TFONT 230" -1,108,114,13,21,0,-15,"IMAGE TFONT 199" -1,122,109,13,21,0,-20,"IMAGE TFONT 232" -1,136,109,13,21,0,-20,"IMAGE TFONT 233" -1,150,109,13,21,0,-20,"IMAGE TFONT 234" -1,164,110,13,20,0,-19,"IMAGE TFONT 235" -1,178,109,8,21,0,-20,"IMAGE TFONT 236" -1,187,109,8,21,0,-20,"IMAGE TFONT 237" -1,196,109,13,21,0,-20,"IMAGE TFONT 238" -1,210,110,7,20,0,-19,"IMAGE TFONT 239" -1,218,110,13,20,0,-19,"IMAGE TFONT 241" -1,232,108,16,25,0,-24,"IMAGE TFONT 209" -1,0,136,13,21,0,-20,"IMAGE TFONT 242" -1,14,136,13,21,0,-20,"IMAGE TFONT 243" -1,28,136,13,21,0,-20,"IMAGE TFONT 244" -1,56,137,13,20,0,-19,"IMAGE TFONT 246" -1,70,141,13,16,0,-15,"IMAGE TFONT 248" -1,84,136,13,21,0,-20,"IMAGE TFONT 249" -1,98,136,13,21,0,-20,"IMAGE TFONT 250" -1,112,136,13,21,0,-20,"IMAGE TFONT 251" -1,126,137,13,20,0,-19,"IMAGE TFONT 252" -1,140,136,15,27,0,-20,"IMAGE TFONT 253" -1,190,135,19,27,0,-20,"IMAGE TFONT 128" -1,210,135,24,22,0,-21,"IMAGE TFONT 198" -1,235,135,19,25,0,-24,"IMAGE TFONT 196" -1,0,164,18,25,0,-24,"IMAGE TFONT 197" -1,20,163,14,26,0,-25,"IMAGE TFONT 201" -1,50,164,18,25,0,-24,"IMAGE TFONT 214" -1,69,164,16,25,0,-24,"IMAGE TFONT 220" -1,87,164,18,22,0,-21,"IMAGE TFONT 216" -1,106,171,13,13,0,-12,"IMAGE TFONT 215" -1,120,168,15,21,0,-13,"IMAGE TFONT 131" -1,148,168,11,11,0,-10,"IMAGE TFONT 176" -1,160,168,15,21,0,-20,"IMAGE TFONT 191" -1,176,168,4,21,0,-20,"IMAGE TFONT 161" -1,181,165,21,21,0,-20,"IMAGE TFONT 174" -1,203,168,13,9,0,-8,"IMAGE TFONT 172" -1,217,173,17,13,0,-12,"IMAGE TFONT 171" -1,235,173,17,13,0,-12,"IMAGE TFONT 187" -1,0,190,19,25,0,-24,"IMAGE TFONT 193" -1,20,190,19,25,0,-24,"IMAGE TFONT 194" -1,40,190,19,25,0,-24,"IMAGE TFONT 192" -1,60,190,19,25,0,-24,"IMAGE TFONT 195" -1,80,190,13,22,0,-21,"IMAGE TFONT 240" -1,94,190,19,22,0,-21,"IMAGE TFONT 208" -1,129,190,14,25,0,-24,"IMAGE TFONT 203" -1,144,190,14,25,0,-24,"IMAGE TFONT 200" -1,237,217,18,25,0,-24,"IMAGE TFONT 212" -1,0,216,18,26,0,-25,"IMAGE TFONT 210" -1,33,217,18,25,0,-24,"IMAGE TFONT 213" -1,52,216,16,26,0,-25,"IMAGE TFONT 218" -1,69,217,16,25,0,-24,"IMAGE TFONT 219" -1,87,216,16,26,0,-25,"IMAGE TFONT 217" -1,105,216,19,26,0,-25,"IMAGE TFONT 221" -1,42,137,13,20,0,-19,"IMAGE TFONT 245" 3,223,239,12,12,0,0,"IMAGE PENCIL" 3,239,239,13,14,0,0,"IMAGE NOPENCIL" 3,150,78,29,31,0,0,"IMAGE KEYMAP DEFAULT" 2,237,62,9,10,0,0,"IMAGE MULTIRANK3" -1,170,135,19,22,0,-21,"IMAGE TFONT 223" -1,35,164,14,22,0,-21,"IMAGE TFONT 163" -1,136,168,11,11,0,-10,"IMAGE TFONT 170" -1,114,190,14,25,0,-24,"IMAGE TFONT 202" -1,203,190,19,25,0,-24,"IMAGE TFONT 211" -1,174,190,13,25,0,-24,"IMAGE TFONT 206" -1,188,190,7,25,0,-24,"IMAGE TFONT 207" -1,196,190,7,25,0,-24,"IMAGE TFONT 204" -1,165,190,8,25,0,-24,"IMAGE TFONT 205" -1,172,222,15,21,0,-20,"IMAGE TFONT 63" -1,138,224,13,4,0,-11,"IMAGE TFONT 45" 2,121,3,19,19,0,0,"IMAGE NOJOIN" 4,0,0,35,24,0,0,"IMAGE ALLI TEAMS HI" 4,36,0,35,24,0,0,"IMAGE ALLI TEAMS" @@ -243,3 +169,7 @@ 4,36,232,35,24,0,0,"IMAGE_NO_VTOL" 4,72,232,35,24,0,0,"IMAGE_NO_CYBORG" 4,108,232,35,24,0,0,"IMAGE_NO_TANK" +1,0,0,25,25,0,0,"IMAGE EASY" +1,26,0,26,26,0,0,"IMAGE MEDIUM" +1,52,0,26,26,0,0,"IMAGE HARD" +1,78,0,26,26,0,0,"IMAGE INSANE" diff --git a/data/base/images/frontend1.png b/data/base/images/frontend1.png index 6471f13ab5760e040361c1d6b1a45c1e67d6a46b..6c50e4040b380e8baadb640e8f319d99f80a1749 100644 GIT binary patch literal 16273 zcmb8WWmFtp&@J4!h2R$42`&k4!JPnuJ-Cx#0R|W#xJz&+K!RIvcXuava0u=i^lRSx zen0Pz+pJzpH?x{^PFL-!+PhBJM-^F2^f%}L0AR|?NvQ(>9QY9qKt%?B={pr#zFax0 z%Sr%cV`O{a1+uB4tQ7G4^7Es$ARfGf_C-$D82~WwUQRe5?K?4e69p=-ERC`Rhm6b5 zA4wvq2LM!nywnE>Z1Kp;6PnoXa&p2{#WmNET}E!ZC96Saq9uicDwcL&m@_LwOr3XA zmLQkSusdt7uw43P;cq@s%&UYMM6xgYf^=N@K~A2*(_UL6e%F@jVCXr%;(2{Y9)OtcMj;{X;(qFB zrAPGUAbBwShZWsx0_3}KaDMk8oD(LfR7Mi#zI+5+37$2 zYtQsN?4~Q{%r(acT`Q9povW1do=OW88Qy1K9%&WNW;d7RpNlJCu1dG1d7ezf2(J1z z$%NM95xb<>Zp!nRBLn(vTZVx6oOZi^#=mJeK()M0vRNd5z`-3S!m2-J^*o#RY?x4gT<&}G z?f~pEvS)HiBv2_Z^mZ_K@Sp3gxY7OL-~h({8rSCOBYPZ}WRf z&EV9EQKPc1jRh{&OmayJ3wjTk4dSv^#u$KUk813G&b%Jyn{+-G9Ld?R>)eEr@spj5 z57E!;rax(}S~GSZq?LcoJ`fR%zkIl^cgjBIkG|b|b}MUv3(z};2mTm{_>VheMOQT) zRQ?{Ls?m&89+b-4Biz@YS9xKYE+$ zSZP2_P(!)!Br9SuXJ9td9~BiPUURU!iyi)qH}&DGgkWg<70fNt5}UW@#A$BObt756 zm3Qh3I2cV*Xjqm7{7+)v;V2Z|z(l^aT0fJK*5}XQxxaQ&kH4+GqMl&nzMbvVvh4Nd zaaj!6R{=OXsUMBv$ag6+LCM7jYiTC7qxKNTTtmV5m^6I8I&FGZZtcv$Ps6D~47 z*>!(7Z4|jZ^t#zxLon*uZ%NGqJci1e^SKXcXr!J&OPzn%F23DZsC+qL;Nk*3!8Ru! zyoVzy(HLTCZk5BbGFgal_3CiN>>Q>Zn|~=#AG9CULwSA4G#>l%@ubKYZcmjsM1`j# zSkA{bld>O%(ERPiT6bE9lG}ZX&JRxs9D$<*sgH||=fStZ$c9HV@6L*Q^2I(Q0C0 zHu2OTlR_W#;+meM(H_-$$!pI9bzkczH@o>aBada6dW{$5)w(;oq5tvb3SP`Z+O<89Fw!-_J)6$5%=IsJA1*Nk@q?X#qjW4ijKk|7toN#$ z$P_4MVgP_|K!+Lp>&QSqM9#DF1f2NZ@&7zQ?4V=y_j}@rCF!pUyLAu5mqF)M8#TXB z&4Rq=drvpoer%ahvVZDdUf!8$_1a{;sNV1S>eaEB7wc1r&p+NL#Ez#HU6}D@M#>&l z!XFQM`={>Ju0fv@3_5tAfyRMB!M+u@nlPiEz?pEp;Q5sHRrCYd`1KR|E)w#%0n%FS z=1J?#MQ?Uf*u3hO?90APq$Rgx+>Mv_6sd&;tWCuR{2=LU+1@6<5qyW@8a8y#Xc zHqzb$u~7sFTqQ4SMX`y>RH8EWe@Y9org+oG;!%I>CfgL*J4&4ZEc;NQo`XBkK z-m3P@RmSilng$iD`Tmlz2Ma>*=iit9;qP!lY96!`4*(|u?0TF+VsxnZ45dFy0)+h` zq@}DiT(MYem4p=?mwjUqp1iw6b~T=V%i?mc zTls~bj*I=jZr@H62Yq}v@RZhx{`{e+O^84om1|qc*gr`*v-m2DL|@S; zF#p;f@r&#V>(|qeXM&Tcwg9u=o}_Spetvpr&a?gw{9W;RuW|xsFLTl}ZNBjgx*z-F z#x$(%Mg%DI*x&v4I@YWQgs4JY-KgQ@KM_cPp+P&Z@hisuzHdQNhm1YXYW)WtQeGI* z?UQg+uHYLDyUAbA`)dV1xc1xcx>y5camhwY%j9HwyuN%aox~G5Sqn~zP&h&)!t=Zw z$@exbhmostlW{GzSz*J+{h;7%<5U-nAc<4I%~_vn;$E?$^#{Fq2_PCqDWgJI^7QXl z>dn0z>_2xj*`-JRPSl@~Eh%pyaeG!I^}ga*?aT7M(ESt3hXHKNKhTeir3abioLJ*L z|G6*k3$gNW^cd&IyIr|kM>}|C#D$}Nik2CNzkLT7|0^XK>J)bQL4LvM{knB>iI6M;ola%Oql+YM6EH{6FY^659DGYc;8#oABXXAY!O8{$M26DR zC6&dF-6eTK_b|~hNwdeQ8llv|*s$l-Rk6UwO&T9~9-Z@nxr(jWauZtLCl-gK2!Z<* zMBuA~7bO^_FeD!Qq&{Bby<8rbQFMm++^gE&@9U}g}<+jvRqq_aR* zINQIgg}FTb_mb2$n zcf0)RFGx-M^azR_buAJIXx8?h#lcC<5n{gw)6GCc8^wW^ zwgEcq_iUAqTXTfAYs6x8UhCCY$lx&daGU zt%%rhTe)_#WVzWPWCncHyd|w{j3$F&GG3GQqqG_TzULgz>H~<^QJMXc-45$N*X#W; zM8W*Pp9}J9EPX*u>?_<$3<41WC%uBG2TUR&!TVt|?mR*Oq*5Jj)VlC4!I(Hu9i7Vh zUwX&}Gp$_{&dJ}5knfytufKa%Xus**l^j{kgh^DlAt|>)xYkkRTnrskd(jCd_oMhgD4Blu0Vp=4AnQFWG5wL+u|%8P5Z3{&j6X{paC+95g>)w<%UlQ_BlXbP z^{WUoGUSF_6b=CKw9d@`6W#BEPSo!v&rgr?LX;=_JbV4-#}DQdFuo}mX(XES2HO@y z4vq$%d*<0r6E1VB+wdQ~c96Sa0CSHV61R={-kw=UoOtxN=i7df5gSO8vz{}S5`N->b-Psc!`6Fm4psz;X!+)f*(7SPY zF{RU~4q~u$THDZ00@Js4t4XWVg(#oyY?5iSRx=_1h_F=ZUwvMYVA-U^xO?a83qud@ zOQ`3ECGGUxS;QhEPBs>tWZSizRFrk{jwu)apksBMTz!SNCH2n!vboAF;W7`WgHg68 z<5MfQ*0oSatXb!{mFNYD@gO0j99#07o;Cw!% z0&#L3%ul3n3$t_mU4i*jF%grSC&;#PVpeg>TSM+mQ~EIcOK<{ge`__=Kg>8=Y$85W zYG#>*iEUHCsn3hQWp^v)r1^DFr<{b}5q@vdr!o5Sg58DnH=w#omw- z*=1poGSa2ybo`C-qt(2xwoW$i#B5otsZm{L(Q{ zbe^_pAfpymmv4thGLc<}RBo_y}Ew3LYO1df;~{8PP9xBPR}(C}r9s=CK}^yv*JKnoV<6=xo9Q1(xgA;5?HmQlM`nxh(DqpxNRtc9Cc{aqRL$}-9Yy|27#HyQswo{7)9f3AC;fo&@o+#6f^BMkBhtK(2Sv$+ zr53z(sjjY}f`l)Qj5wFCI5U-ynD1yyjwGN{X)4`;h-%odAAC!+;)5rsBrfxS7kFae zFG3@&)W@aV?H19H!0yH!OVRev_|xRT{n<37K0LY)ZBots#p1=~zEA~-U|7CWX^Gnn zwv#)j&rka$a0t71``QyN_X6sdU?P3q3q^ITx}T=nxqL?p2KU6*P^fp>t#+x7Uw_-u zPqxJ~*1p`x!_;Dm<(qjoX<3b)VO2Lb#^$oIx4vOD##Mi9bGM3o^%o@X7$7E&aN&Pf z8T5Ut2J&o)zbwE{d{8?h6Lz_L=m>Bd{f+@3xrqv&o*M_uZi&5nnB8DJFE4Mo+1pw2 zJ0tbp8WaCFmq}Ny`4TZe8&;INg+oZ8n&?4tBAIRjGhY(a-W`9URpwuo-@!(>)#%IRzQ{3Cj9tM@zcVK8Q|B$|AJ*$2#{!UVh%XZdR>e)s; zYfQiRm8HIzw@T=tri)&~&T=!at>zpfKhoOc^6YKO)hl01_!hq?X4}fw^GJE5b)Wnj zN|L@)UezGv)L5yZjXu+t35PFzx;&m%V>Pzo;keN1JI%O_@xh zD0oO3nGsM_6Y?32@as~>G#G}g@^h-sBiUMbCtbo8rAQ;@1zj&QG243YE$3Tcyusrj z02dZU=^bpA&X;Q#5jXqF)!Tzf$>hUQoYceF>c6rwZdpQgN*fF+>N?n~pdG91v~EZN zO*%gEkN)zy_Jp-~nCz1Wk+C7~+G10enOv(ixIPquA2F9}4M9>BBw>7o6eh-Ls@ zw?c|(NkCetbhK=KVbP!F8@5gpVqZx#i?R-O>41#1(br)e0&${J;&~oiKEfghUx|6( zhj!Jhqq5?qE`!}I{;CStKpIYiC1G~VS{0XBDr+>A#m&6*e*7_4&H#p55SX##bR zf=gs$)eUqz2gE9J&qib4Iot;1Dg=prq8c>G>wfPfl@Ol;J?|E6Brt(KK zWI+ivP^3-Kw2$z$Y1O8LK`2=)_p%#Rf5NU(BlTnvtPYVpSRxy@(lm4Qj9?TM);tbT z$W#7PWv8LJSB%EHA6OJRTFsM-E8LE2DmDNe?I(Fi+fEzs~R6nFSDt)=A07N+T$DHz{&oMF2HTsY#OU$H(}z^ChCLc zYEYb64S(zW&KV?4#4~XA-)6fg+j6WDQArejM@f8rb%94c)>1I!;HXM3Fn@LPs0#W@ zE;B%f8NxkzTd?$2dyyMh7=x%8L}fA>#q96%>TA&>g_`zV{SWVn{~*=q8QvFYAFvy$ zIg6Zp*Kp{Sp%>V+il_Ui`&!L>_u7uA3c``T`{xS z17|9A-}<^4KthQ1NxZVrw-5JW9Fd5Y>X~j^j6(7oMX)k6Ss1@1V7>uSG6u7WFRmQ4 zhD#X{iSSA(>i9C0@gG+hOj-=AO18u9TWoroK7Z&sc5vj9#TV*Ogqx(A+x9ootVas? zkGcf!S2@AV_SBMBi^G{|_hhm;zJNq<_2cyBFMKVMf7#n zZfPs$9}GMi0$ma!3Td`-Z9J{Zg*4$q3YTp0y8T-4T)$7*t%yuXAq|)Z4o>W^$Bqr0 zNv?&hcJlyOa8v)heM3UD;TYiJe_iZjVHhND{-ZHY9F1(3!x>Y;++eu}vo3xv=0Lb6W5$el6DY`RV z(&i=fx6P zAcm`x61&uC%O6PJ`$Q0IlS989-u?)+1aeaL-hS&efv_EV1Qe%X5iqIk=9@*N@xIdfgf+U(v~gT8-2D21+0z z$M+-n*c3w&KVK+Hal?(gTfCkuS~r~c4S_R#Y(zsP9plj1(D2a0bz<@b_U#t@_cA&h zPQas{k-7twdR~79b9ey^-6m&;I=Jie;abJHBw*@$FN_vC+rMkYu8N);!6wa!TNY|0 z4b*wfyzNhS^T=^*tz5AG$UT^pCr`1NgZBq}5l8;?KU^S8OGC|IEF-XDkZ$@>$F6FL zNXF?)5Jdh%otJV5S2%9|2a{bT?fe0PJ-@(dr7PzzhJ+bP=z9q&cQ+8rt-YGcqJS>4 z4Vgd&n8Q|KkRw$p#u+ek3S(TJ&a>cwgxM?Q!X0xNHw7m}b?IykF(rQ5d^f`( zZqeN`Ozd~f^+TyY+*AU>b-{Ncj4w6*?K6=nCOu7nVoEQq;&P%rcJEGf7wY$-NM~*m zIkQJ@dorb8X5xv{erQm_R@O{PQfPqdR0Tb^<~0owb(Z@o)fl^m2_yZhRq2*KsGseM zyH^^zI!CjLUQ-CX7-HtK_yO_9YwGD<7QM?VIEFrq$w5hCnoXn{x@{@@l!a2g#Y37; zjXch*dsSC7)h!2{uQh@Kgbqh;#IE(HZL6_GI*tZ z7AmmYy&epfw|3R!cQu7v-x3=T(AGw(Q&mc#Nq${A>q~m@FJs?X}b0u(N*(a*4NkAjbg{AN@7}b%+`cF5Ln{8aqf} z;Ezqzp0T+Xwrw>Z4Qzd_v{YdJ^Ut0`teeHbw53<&s_~pt!p~z7I^KA^JiZN3{kq*= z74eHUT8zfx6Cr*$+DyLAIc%~432PaB4^tk|KbKT#e+hqpx4z3GBqk=JJ)e+-nKfKz zt{GuDOQy3FR6<8Nb|w7kbhP0z%ha+>UnT>ytZm9x_o+yE1sKj zlWc+ZKb-BR5SRN;5>PucK7BHN#{L}L&SlRb?n#9PbY!tVvjH7M&&Tl^(W7pE8Q%nW zb4G%-O~u#QS7b0N)`<%=!&2SQ_p+)Cp{c1`%X{l2;)_2%*~1aq`p|^k>P9LeO~;jv zfdo)&2V$Gon(XcLc6-py^NtNu%4)~b= zd_x~wVD^+QEm0tG3Nvt8?~6)yePE5B9Wk^-^v8I^d4g}K?gUhVBK+;FNztr(LdYW$}{yV~ht z{xJNPs_x8tkj*{zx^q7q$)b38yn5#K^1mheU+v<1cXew!Jn%66>-^N1b+TN*V@fqG zL=*v(Nzdo}2(o=fhn)UL8|^4Lm}3aN;*B&1*+!u62J1d=GJ`8S_r*&_G|3KAIF#2;1lVE8BeOO0MyXu(RJsp zli|=TMkMS~oyx8~cKd2YSH(`ySzN%%_Lu|Fd|=+al^*3$kAw5mXCx}k1-MRO-lujzpdx)gI$TL;TC`{Xl*G&a@mme8TxJYc6E$MOwY;?i_p8Uy%4(x4HV!h@0p1l;z)OD_-AF>Y;O%`waF1jm&TQ-B0W#Sp(S;B%zJbt+Oixs?YlZnz%Zju5 z5z!+s;?5`V{(exT7iQo*;TXmp0_}bUF~xQ2tyws&b+CAC@$dQPm z;%R|A8vGebz~08DpZU9OM0M&o82c2+m(8c)=g; zF+mTBcdb?`sPtaAEfaajKeaUqxg9({NrS`2$)F&ewH6%vII2IQncY5a{7#w0+SdCgSui`I+zn3oF~ji0CB@ec2oM@NnH%PTx`u2BepDo(;Qy-VA&$ zgJe)2ErXmf$nGG6Dy5d(T9p-hs8NDTl1MsZ&$wk10TS`duVhAYm=X>$m123Rhw8N( z-e#7a2*YE#4-6al0wUn%ajg&BTD&jSwvi_;Xy;}irPjd`!{D8{t6HB764dj1l!+^p zLA&EikMgI=%K~%1lD&>qk@B$-z+5_i@D)Vhuxr*~NJ;AG<(VM;vEkR+{}MA_ByqPx zc(9!Bjl1$0cOk|NdlG(p1o;kBV!xp^BKot4SJ0|=HiDC3kSM9GMlk}^PY7~XD7xfJ zP{-W_ERA+1I^JLE19Ygdm?ndJH@Uc>Ma2@Ky3$jDr#V#KgJ zL%*g}<8uP!*>&>%Z>!Hk*v5x#bM)G+i7ca$HE-rDR&nSBFw?Uiw>#BZg!$8|g3O$F zRq@)xbz?j<`A}PTv*3|C7$%_>UnXnMmy+s>jQ$>3rM=g_CRdBo@IUB3?gqOSj1NOl zo>0X%xa8k7YGU6pb4w@dPYa*?KF#WIgymfLXjd(Kn^xR$dClAL-=;pB?=%Ju>T=&LVKE&aGB z1NzF{c~t8x_*u7(X7mtaz}8g{=QAkKx5#p%raRdsmix?~GhAJ$V8Y4RiF2}E13J72iN2&fe40m`<;Zbd*B zUG;%t1vw^2N^D*%(63E<;?M6jl%DSY%OU9pQdkpHBKZ2n*&MlcEA9ig8#-NFR7E4b zXEVi3Y)ollnd62oj)5%)(WB}J+84Im{c7XYc3IH781{qsHnW%FzH0*>>?q2qfc+VM z2TggGRtB%EoJ2j^^aF`#}G=|y6J-RASaQjIF znag&Yh1um+X&Lon`bRAmqLim}IG%=xCN8!xG_GBpHM_91;0xVP zacV@b_}eOvCL<@_y8K-*k1`l>PWgvB^J^Mq$@QRa2KpGTz9>5e2n!1{PzqaTktHh8y3?LO_Xo^rwu3DBuX`s1wNR|(pSm)@B5xrmDpkVMXY=?#6bFClI$8y z0F^3wg$W=4vg6jhb+koQc&?O2Dmp5Jc+m-JY)*F~cpHosEXBikth2>VRVPJ#+1X8B zr-qf^7sf3r+>25F3z8lKh4r`wERGH4r3xjE{?`=;POO`#tixc&|3TaRr1F*JkLOpe zcJpcYuBFw#SWJ@Fwkdx9%Ty7PZ)T|0XZVolrw}4<%>`tlS}#^8vG(IC;BUu;R@Nec z{8bjOl!PwTc*^9b!w_{tX+jy{3*o*-Oe(2tGkP}KZ2 z#WqiiOSC;89y$azsC>!bhivQD^VkXiXw5Fp8j}8(5<|sKL{WI*6p}Un44abD!;Pa~ z*@1>ZIwZuEY^ABSmqcR&#osocJ;~k>kf&+0Z-gEj@zSREg{zorsFBxGaA@{@rbk#~ zgZ#(%j+)76tc+|hGl%At9=yr$f;Y#$Q{86VDA*;}FP@db9K-ToX|Wlq(U_e878c%& zpC*YC-8v#Im8z5lCL7Iice1m#3X&j!Udp+e4~K1I;eF!U;(!wGo#IF}hSTlC;e}u< z4(3ceV#zSXD*Gjd?QM#s6KR7em#8z7863Ash_yd2f!s&Z|7nnM=V%-9M@F`86*xo!H%SAn1)`_uJPXMA)|8r%ly=63xR_a`(mNSAyLJju>DO%F+dhq@oB-N8ougKY9-sm`Nq6P@B3=$ zZ3})(2ClChK}xZojmSG`pQ?ipG|Z#e)`2TYP8Y6uv4jfA6e+&z(^F<&S(y%AYZi>z z__#s{P~&74y05>}VWG`16oTfKg-<{{P@13?-^gSTnKzoE@)wpi){4=U?B2CU;jj;* z+-De!-P=;*1c=Za{QFdbz^|shVbwJI#FKBL{-qX*MIVXr=!x%qVyXhWfrp7zwVn1U zX(kWq@6VRpg?)aNk&CQoF;qCHf=L*Bk$y;3q);nUpZMEuLz@c2JKOnW*TZOtg4zvMxZabIvx6WHn=E&J5^8n+ddUXDx?65$arhXL`05 zci%ZwApNTaFM~j4a2crV0|wR4z^vWNNMby^uVYgXy zNBrm;v2?MVao_e&^pQJAFF~LC5KNMa9<#Ttqsa4?D0BwTHN+O+@MmkDfMKYDkCXjc zE1+il&A3LP+a^b8n`GA$32a|o_VcgUG|*Uoo=W%*6M`|8x2OO3Pcb5$Nmv}?)4@ENQZ%3|A56}Y_$H>? z^FxA7R2e7f&>10axjx8Jvw5*-bkO4K?sL1Ig|Io$azTFo&X1Ij=y_)9;O5r)rY3LJ z*g_OaoeQo>7{Z`BzlEYeCPlJcKfCRv;qq_8vLU@9OuRsnTDL9pu;-U{LY?+kLA{b_ z{aMi8)@7I--QDxAI}V4;f9?s+1hSQzsz{_O_r#@z-BPAaa(dzXa~Qb$ZYH=^_qLcj z@4Fo1a2>v83%PWzy|kL)ONXEYfhrwyL}+qB@xTfX!SmklvusL(vnMQ8B&ZXko1NB78t zIm@UQgC6-a&lB~a&JH)K-}w0>JRV-q_Uzmr6Nlk0)w#|D zGX}RqdyVL`tJd>jaREsULefKfZ4T-o^6u9P<@O$&Nov(LlG+A1z3Fm^a6FOah^m+a zc_^ko#vht&^OJIDH&XOzU(>;j-GiYsQ1(NW6DSp+mdEBdeaD#Ts1we(7vFiqM@|N* z<%QocRnH0|_99-AAwKPaEyMg;&PACkWSK(k|J#4l(v=jAzL#RJoZzfJE6Te?;>k6% zgLKLnJoHn#_CAO$3w@$fi1$P|fpD(Xy2xXtl^-YDOtJ`Q3=rr zoT#FlLVXC#Hbe^O**V}~{Jmh*_}Euov276gRI7;B`k>KoC(?lOz}CIah7tMyqf_|+>q5v81*YI*olvMIVti5d2gK zBl*N|uOu9AoK8xkLH!=y6%1E9gG3TY9h}OPy%>FiUaFhq$weJqvw7(O?3!m=RcdM5 z0+SPs)Xbkhe-nA))`I_mmQ4Kl&GXf#HOgl-&w_Vw3)@oi@1=XFtKURy+?C{_XwH&N zyLIP=jzL+V%;KI`VSh6WS@yOb`99$Sd<@=?V)-q8=2I}C+|WYE=N`sXui(gw)}=$? zx*m>jQT#+XR&^1WDbE7F6fU`5`Mwu{*^EU8&EFE5&)j2MUK?20uFi^XS8Uo1O#Fjy z%-4eq{C4)`7-U0IpmwO8^)#;uMlWd09xIg>57TZnSGVOkplgsRF^>nSI3jnWL~?=f zjCN2U$Az1YjI0S!i5@e9PYouErLaH0Vfw(401C82s4V$`QgJd;bICzKLs0ivzhfo+oIYA8RW>noQvI_gJE6r~NbJ}1bb$bvxWV81 zmf%&qrH2cY=jC4rrbstPP^vjFkY|L;V|FmXVJz?hy93Y-R9B$f03w)O^C4CB z1vnO{I70NAI^V4dEtNAdEcP_Wq!0)>hVAv^p=I>s?}VLa_d1X%C*khtibaL*H#n}k zw5vu(5BaMS6E6JJv`MHB8;H^~D0fe+Ven*+hj+;Yi#D~Y4{0__hY2QAlp%|b^qn*= z2=X#;6lVwe0^6fO$}ym0r5!FrBy9fWdb6qqsDF@W>53a5tY&~{(2>D#_V1Oit7G!(@Xj> z=#R@~FF4O6pg>FWwlyaLwG7;FGRX9KXaXWNoJljN;;)n%7Jh3nm9{Uy(ZH7RQ|?NC z5YVS1eT9(GD=_o8v1brN?@c}!o(K<>e&$riSDxrmq1xAek-fXIG=dqt4WWja=H@KF zQaN8WWza})6{*%}Nw?wT+Rr#A;>+>CEjUvnd`YyOKuR9L59J=882{wIje~SD|1sa_ zATn$4Pb^)!?XK;tv3z||rMIpG$@w%`YL3kkvd81%v@;*_vA|EilC)yA4&ZFAth@?Z z{wEENwehoZg;bfx*n9YWI#Q)C-QVOe2XdX~z&be4>Y-&h&8jhvh;rP@H-jkSj3+~g zltVtAn?_+qST~YMC^nC$UbXHah+@{`=OlNvP zdl1>BhbA?}+>>++w1tz@gL#J*#DrW`=$axfqu-pH$5|Me+kA#j?Zw%CDr-e%05l!? z=Zkd2_mR9~M`HJ^NXoZ6rpgu0J!A3vjZv`)ymTd*j9ftSAhN;9lL>=(-L!H(bv)gV zck5y!R3bWj*rzX+&sP75M+{}sU&qCRiTwPMXg|(<=PA6yT&qD^tDy39roA(72 zAB5k=lp@VIvm<;-wVik$IvEy)C?z|BrVbzVAncjhWZ@!{-ACK=NcFXkA}WYy$e0o6JHr)fWT{ zP0Q%t^V}_8PpVQ77`)y)Zr0+ETDTv={$W`(9+)c$WzejLI>A@`T!%i&>M;B`FN@%& z@KyLvLnK+=PjK8l^cT26%7yy8;|PQw6SyEWR8vy^fKZp>i1$-LvN%zt6lz~^4Ml7( z^$Fsq*XK=)aWZkT*M}J+ji}H&AJGG&=uQ&B(nt!?p92?r8$GR3z? zfy0!yYNv<3rJ_MxN9$Tx9)4oIgE>lhwGM+6cZA-pcHz-rj%Oie6h+7_9xmOO3EJ#J z4`7Kp*~Vcq?EU?;^=8C5q=x!GZTHP-0`BM*i2oJYcjlup{2p8WLRRd*=8C}O7)?{R zJFR~%c@W3x%VI0Gs9zt$mJQ1j1Ul?$r4&8otD z!VkS>n)6rdM#U`@9@IGf$R-g4C6vJ}WnjyJdFgP4G25PrK^RCDSJ*G*BhIaH2H@6t znXkWuH&hvg5}cw2;qBP}(uu>2>4pwIsu`5!wO^$4g8}eZt!DTSy1-P1W(@g&N5Rgf9eWyHkNA~AB>U-|Iy~s#8rl*da%+Qho}9wu74I;BK4o`|JkA=Z_}YEK?(v{ z200VyzS*x1u$kqLFF`&Pj%$Mw73L<7C4#=?k11WEmIw*<7#n88rZ$0;w^wKSA<_a@ zw&K};VDF93W7$ax^*Irbwtke(e=@}$xx7<4#>}PZERI@dHW*exY8VsGGiAuu;2?4& ztBDH;9(|oKcm;ZpDfAOlUKe9{!iiEAO%4<9E|e$G+tS}isXzeP~UR> zY{O@Nof|<@aKuJM=WKSB#Mc$yRI}IyPpOuvhol#gW<=bgO1|L>%2+Kyh;AkS+c%1Y zGqQ191N#03IHmHOsN@Bt@jpn4n9`3y+GLI49UEACXWOMG=+@20{4JG?K4w^F7WOEU zE5(c_XIk2)1zT@8(n@*u$i{^9W&k3R!hxnK14gyd0DZyBYr-N{%6^0PnvI^98@EU!u{6fhDgX@!wKD0aB@%1?ZP4VOMz= zUq4O^qM`3IBP51|gvjpG11pqa2#Wbm>|M2COv%i-ruvK}4iqGToO`kQ?B?kZ0|uA0 zKSi#wi>yPAnA3dGBlEwd-tLk2KaUKGyy*JR2VioV6lWDt{PvNCCxIe$2FZEA_*HyY3Q{@;FM4<)m@N?ML75ZN+8 zt3_m@*|iFnhO!VM7oFPfi(JeT(eM98IuZ<>U><=H5LpwK)InRxCckfLa($g!`Ltm! zyRoTF?QE@E#ZY+)aO*07=N4}e{(WyE7%B~JbqFUGy8xZfe%1Y^&wbK7|E{Y*TF>y! znUZ#d{)D0u19veMo}?}c8hHUKk==k4fjF-y$l)4(K3C#F9fHq2os}*AJqzhZYTb%~ z!;Ie#<@;beYbZEeQ5ZSQYhH}sQ4D`*KmMdr+HUd_{VJpQboGT&#S_z|EaTqGC&hz) z;1KZTpP2+V`vpw=E|wyKc0-csn2U$wLuV~Wxd}iv?vE!L6p>~{Bt!|<&t2OQL1u22 zUa27ClN+D@q~Zv~91`}E;d@qs^Fpwa7M%Ix2`F@lzU52=lyG_t&|*1|mQ=4>!M<<( zDaEK^h^(-heiB1Of}%@Pp3+Aon0n%vr-mW?1Qa&Z(>6TY#Mb(y8lgm;JWT4VS{f@& zTUB$Y613h78!bG+Q17=?k5|XR9VwcJ8kQe5}qSLnr-w!Ht=`c!uFmr2LR@Ocwy&!4p4n%$M(Vl>H-;NO2iQ-b>UN+Kxipma^8n+3{4HR9%yajnekJ)@9|Ys;P)8Ic{4@fAMF&Is8vn+k=@A|nzZTUO>J zWbgR-{d1o4I_LT0`Qv$=*Lgiry4tE_qzt4005WwooIU{1WeWiU0kYLp#gS}J z6s-e*xv7p*F!Y<;uvCxxBa#>!g4>76(d=`2D#C=iI~k5^+|InMKLU|~p`ZPPZCNEJ zwO3deju1Z!vl()vJ9=5KB`B%l2tZI)RB3w11#7-WFvLPbi!(&#M8YYh2tGJ6+8J?_ zi+k!oRX6 zcm(i7vR(>T0^iQn30NsP^9Y5m=8^1h+@ho)1MDpBJ9zX*>8|46WhgB+oL zuy|qx5mYDzYyZTMwpK!Tl3fTU*yDs#vrN__5gZz5)@fQ!08Ls7>aRwi*b6 z+vVUBbG3Ge&<*WKbR^FGCGjY>g`kyNLO#v`>K{gctE5oN4(gGUz~XqFv5G!as=Gef3D2V4eoy_7vQ@Q$ zX!9om+y77o($#K%bqkI3Q;W=s+xbi|ccvv}r@|@hNHvRanr>+0>hf38)%LO=7Gj z+QnfJu$PPVZ)i_=PPmwQD7k;rB&3i$4y#|0VHAZ1Y<$_+^VK=HK_;zBRJMgY1y zk)`P#9Ir^DPOgW0T6wlRFnl#5a&{B$uxpV5)YxIIR_UQ!&olw;TrO#i3F#S;3ARVYmpd$Z+>|dow?-oK219f>Wzl1dx>*ejmv>6NB z1XzeY`MIJ@d=&NYfD)!MDzFPrJSw>14F7;=^SSa$;6Dc79x0xuRn-m{B0n|j znB!r68lwXH9OfN=5(+`?*Wy0hwkIU8hM9GrEkD)nJ+%&IIAuq*`@gic7@XwGz4uZ@ zjSqoXym9%c4A%=8u)f5b=QS7pH@Vufv@CP>xUnoe~$%1!6Cc z38M>i8!8g4BM+KP-iuOU6z+#89EKAeF-+6AfzhPv@Uz)k+!H=S$5uzuU{Et_|pk zzu$7>4n((az0dy}5Dh?|qN!5FV|6310?D!CR-0 zY3)5U{yqVar-4zfkRvfm6pwWbE@?bCBtzHy@s}5(Trn?%t~kKyPYa{^h=wSlGQI^@ zrLSw?a-ZF`PvxbUe%_*glPa#z@Fqmp89FFdU1UMb$6C5xLBtw)@OPqTm1GMpnSX4d ze7rbx1era(8KAMqtr|pUzHi#@Zn-MaKn+6D7OhnU9*xq7rP7;dQjsjgzqRNf4N~Ne zHu^sHa`K^_KCmR38{x}GWJRHDdP_L{LrlKB~4vgSw>$s43CG#*jDqz73Q6bK` zj#RAKm2ll{-JohlMY{SrCZ#5XLquA-BKtPUAWfadIN4jVOrhI*cUTO&S12~ZFG zMT#ia6e8a)#FP(4Py+d{FXSw{E06Wjps-U!s63sT_~^LeRh5xfK*`TI9RxOQFrH9+ z%}|uot`?Q|1D(zZC(_5}`_+U+4>C$sgr+li6*oP6)E)YM?%)&@+V}!GnVhfbc&|tz z>~oxzG@lV;8HLd=TKjC@#S}7_v;~7D(*PgI}d0_%wQ{}60$$gU6 zFy*alMx2@#G$3exuq7Ck!}P>uWGyUn^skhrpwP7a{=|)Da%_!n%iBA#=WgH$%B?5= zME0Z(GMw5rvM_9^NC|pE5pKa`wUfmV@8!zA-tpynnW9M)t@iZ?mSJ+tfc^1CpoM#7o25x;!T7JbGXr7^KLS?Q@=D}D-HO!T$c=>{TTAon z;jerk$LfVzW>dt#d8JnWjeNLu@alZDx6OA#1w-Wwm9hhz(P@u>E|6?KY6~PQd+~s~ zWr=QF5@s!a>Oo#840*tz1gr{c&M4otEX`A)$T-D9?Q+}^C7`_ff(~mcE!RQcG=|hV zZPuM@pvF0owPaznDuu8MkW= zQIyiaXzAAoOZwG#+Vl6hT2BQOsIA!@x!s^)!D|h&Xe;RDxO)Wa zgGwnA-IsZ!Q4}_hhVQ_98G4pH>SNv+bGTq zxUF>uS50m~W27@oU=dYH!o6=(#`2uDBL&4F1p8RA9-DE5{ ziCFPKbi(b&kvcW7g>0;s=X;A0tpdh7>nqerGg6hOr*5uG`oQBk%Y9y=St`AD`EPYb z*EptJu7R$Dh?Gx%?jSw7&v%HG!BZ`N!d5kj?YakV7`)z-x4tNOdK1*Osqf-MQ#Ru# z!eXk-X->g#(+nfn&0(Q^%_DmjKUWsgQc#f5GO{I)FzytE?;ttYt#}6IE$1|((0Hwc z#GqfianN|9Jku+xf!%Uq-h27W_bpt{yU3aVJl6Wgc%Y(Vj1X*`A zPn7o!{lmT1`8=?p(WyI5y#m~cTANqyo!M=>8F;vG9C5L7S@7gd3;uxW^9jKVBftEr z140om4%Zg*EMzzISQtTf{O!Z55HiMH_ifNhmQH&VdeDH#zCEn8EHfRn4PZj`Mv)HE z4FkgPQuO`>g%@YA3zyaHue0@j0B*}fsBg?(Q+qHyE2Fxw5CEo{*e4i!{wNB40H=N&Pd_#$Zgi)HD-ZM6-(uR%0>t&@{ zAIC{>g6eOZE+#G`TDP5S{}md}7ZPT5{BuD8xoKq;me8m%6qV0WnTk}`pGvv9zuD$_ zA^pIWGbL0;PGD_Fq%#yH`Qhr=YMWrlihb^@3Rw~%daTt&b&2u2Xp$|q9H{i@%SUv) zNt`Dva&7wIwa;Q;zi<7G(HnL(zim;#O+KoRDY(x|^F8L$3sp-n<({wcl-GRv4G`P> zDP=u;*NdKcaB&}xdqv^>E~RCca#^*L9#{qYvI%yQ`w2qBW>S}@sZh-InuousVbhl~ zLYP%yP@fdY3#V`$UCnz|+2EUl-0D{a?)8yro_actWULtAev228ptQ2XP~7#p)z5>} z2>*cIB0?-M{AwF{fYG1$l%43e5#Z_J6)YKfZ($Kv2)+~gD>xP_sj4YUma~S~!;)Jt zpwY7!t(D{%10vSYD+P}cUYLW9p}AW?Hlj&qRG?1T#|Q&9o6`<7a_6My5!k9ixw4oO zIYDcFYQ!5}l&4jmB`kTgo1`YU=DOD+*EONk*=;$0GTKN|NfAEom*ThDzbL}H7T4kgb(Z-Ihe<$EckFf8{PrEIoJfzQ8)Yz9jm`a>A1)TQ^3|A^5sz8PF*E_7KG4hLY3mrBCfI=x;aLJ)jClsL2T< zNw%-UBdjLac{%gVZXQ?QHE&#IQZManX=-QCMk^KCBOMkUbPgwDBMOCo!3U`@FhL+CUh>onQXW+>&&W z3|8WByJMeN%$4HLYEIdA{*gepT{X_*>W6V7hL(_6s4HLHeE)6ky{VQ$+Jt3(F_ox{ zdISYWM5u5VHY`CR+pWgu?s*HyB)l4Hp2xYTjH-ucJUhgaCG)BXdt)D08Vbfgv$lf+Ydq&eTkrG`^fWMfnz` zQH|{5l>gom+i-PCRwm58*!`SokgR{d7FSjcXHR3goo#moRjnS~6X5zF}G- zE8X$NK-!nfFL8wO4%assduLlB__r!PmcopgJvB*|ipG56vSyUU6_Gt&gK2nb-%9HKrh_ zNa!r7?#_|Vq>(m)Bb<{j29GlSxhD6xV7hEOIydN!zVK@K+P4V`cRSDDex%Je#{RcB zWP&eR>kcnl2k-b@b5M#*F_2hjF)-3 z*pEELs6v-%ma0eGXbi(!+FdAY@JjukE4W~&zKUL#&#CFR(wRPH$&^U`W~=6#>6`oZ8FTIB#EhD)lS>UI6 z`KN`+yEA!e+!qLtIq_?)=*fa1n<+BTv@YXBw=* z!85l!4=XD2$qb4>B>44z7GnID#nPYv5Ao|V9ea=dv%F$dCCXv1(+O|#ebf~hwtFv` z*Cs*wf9O_;k8_KBP>WMiQ1|pJgJn(~U5#JPexFsb?uDgENlMwGge-fJum$g2R_9TQR;8LZvOB`0sr`z0wMIcIP0Ls z)%n;Yt>40Kwwc+x7_h@k&uQdZ_whq@B)JXR%t@n1xRX5)Vf|k9D>F9vWd0& zZCi}|-(pXqyr~;@zK%*b zJiCqjzup1vK!D9jfTbD_k`DuF|gU{Tygc`=Poh zSuBO5i(+A>W7<&pxblK1eB%8Q6UxJXSG{f^A$BD+<*yn=9d{6H=eTZFgr6TjXM>F%r7dqS9*eI8m;9i?u_`7|06mTYY d&YZb$0Sa})4RK*RVZ4A{13Kcar*!O diff --git a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo b/data/base/multiplay/skirmish/dydo.slo similarity index 97% rename from data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo rename to data/base/multiplay/skirmish/dydo.slo index 1655f750c..1b6917a93 100644 --- a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo +++ b/data/base/multiplay/skirmish/dydo.slo @@ -730,7 +730,7 @@ event initialisedEvent(CALL_GAMEINIT) { - player = getPlayer();//trunk + player = getPlayer("Dydo");//trunk lassatTarget = NULLOBJECT; defSpotY = 0 ; defSpotX = 0 ; maxy = 0 ; maxx = 0; miny = 0 ; minx = 0 ; baseY = 0 ; baseX = 0 ; diff --git a/data/mods/multiplay/dydo-ai/multiplay/skirmish/readme.txt b/data/base/multiplay/skirmish/dydo.txt similarity index 100% rename from data/mods/multiplay/dydo-ai/multiplay/skirmish/readme.txt rename to data/base/multiplay/skirmish/dydo.txt diff --git a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.vlo b/data/base/multiplay/skirmish/dydo.vlo similarity index 99% rename from data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.vlo rename to data/base/multiplay/skirmish/dydo.vlo index b1a1a8f43..9547e922a 100644 --- a/data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.vlo +++ b/data/base/multiplay/skirmish/dydo.vlo @@ -3,7 +3,7 @@ // Generic vlo for each computer player - skirmish games ///////////////////////////////////////////////////////////////////// -script "ai.slo" +script "dydo.slo" run { player INT 0 diff --git a/data/base/multiplay/skirmish/nexus.ai b/data/base/multiplay/skirmish/nexus.ai new file mode 100644 index 000000000..06995e000 --- /dev/null +++ b/data/base/multiplay/skirmish/nexus.ai @@ -0,0 +1,4 @@ +[AI] +name = "Nexus" +vlo = nexus.vlo +slo = nexus.slo diff --git a/data/base/multiplay/skirmish/ai.slo b/data/base/multiplay/skirmish/nexus.slo similarity index 99% rename from data/base/multiplay/skirmish/ai.slo rename to data/base/multiplay/skirmish/nexus.slo index 8243d5de7..6ea63144b 100644 --- a/data/base/multiplay/skirmish/ai.slo +++ b/data/base/multiplay/skirmish/nexus.slo @@ -305,7 +305,7 @@ function STRUCTURE findIdleStructure(STRUCTURESTAT _structType, bool _bIdleOnly) event initialisedEvent(CALL_GAMEINIT) { // initialise - me = getPlayer(); + me = getPlayer("Nexus"); _DEBUG = FALSE; dbgMsgOn(me, _DEBUG); diff --git a/data/base/multiplay/skirmish/ai.vlo b/data/base/multiplay/skirmish/nexus.vlo similarity index 99% rename from data/base/multiplay/skirmish/ai.vlo rename to data/base/multiplay/skirmish/nexus.vlo index f70ee6eb8..3611427ed 100644 --- a/data/base/multiplay/skirmish/ai.vlo +++ b/data/base/multiplay/skirmish/nexus.vlo @@ -2,7 +2,7 @@ // ai for skirmish game ///////////////////////////////////////////////////////////////////// -script "ai.slo" +script "nexus.slo" run { // research branches diff --git a/data/base/multiplay/skirmish/semperfi.ai b/data/base/multiplay/skirmish/semperfi.ai new file mode 100644 index 000000000..fd1799155 --- /dev/null +++ b/data/base/multiplay/skirmish/semperfi.ai @@ -0,0 +1,4 @@ +[AI] +name = "Semperfi" +vlo = semperfi.vlo +slo = semperfi.slo diff --git a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo b/data/base/multiplay/skirmish/semperfi.slo similarity index 99% rename from data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo rename to data/base/multiplay/skirmish/semperfi.slo index 462325f99..29916222f 100644 --- a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo +++ b/data/base/multiplay/skirmish/semperfi.slo @@ -303,7 +303,7 @@ function STRUCTURE findIdleStructure(STRUCTURESTAT _structType, bool _bIdleOnly) event initialisedEvent(CALL_GAMEINIT) { // initialise - me = getPlayer(); + me = getPlayer("Semperfi"); _DEBUG = FALSE; dbgMsgOn(me, _DEBUG); @@ -3389,6 +3389,7 @@ function void shutDownAI() setEventTrigger(buildPowerGenerators, inactive); setEventTrigger(buildExpand,inactive); setEventTrigger(newfortify, inactive); + setEventTrigger(droidBuiltAssign, inactive); setEventTrigger(droidBuilt, inactive); setEventTrigger(structBuilt,inactive); setEventTrigger(droidDestroyed,inactive); @@ -3441,6 +3442,7 @@ function void reassignAI() setEventTrigger(buildPowerGenerators, inactive); setEventTrigger(buildExpand, inactive); setEventTrigger(newfortify, inactive); + setEventTrigger(droidBuiltAssign,droidBuiltTr); setEventTrigger(droidBuilt,droidBuiltTr); setEventTrigger(droidDestroyed,droidDestroyedTr); setEventTrigger(conDroids,conDroidsTr); diff --git a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.vlo b/data/base/multiplay/skirmish/semperfi.vlo similarity index 99% rename from data/mods/multiplay/semperfi/multiplay/skirmish/ai.vlo rename to data/base/multiplay/skirmish/semperfi.vlo index a70262808..be68adcf9 100644 --- a/data/mods/multiplay/semperfi/multiplay/skirmish/ai.vlo +++ b/data/base/multiplay/skirmish/semperfi.vlo @@ -2,7 +2,7 @@ // ai for skirmish game ///////////////////////////////////////////////////////////////////// -script "ai.slo" +script "semperfi.slo" run { // general constants diff --git a/data/mods/multiplay/Makefile.am b/data/mods/multiplay/Makefile.am index d2226041c..6b58bf07f 100644 --- a/data/mods/multiplay/Makefile.am +++ b/data/mods/multiplay/Makefile.am @@ -6,12 +6,6 @@ stamp: $(ZIP) -T $@ rm -f stamp -DYDOAILIST = \ - multiplay \ - images - -DYDOAIARCHIVE = dydo-ai.wz - OLD110LIST = \ doc \ images \ @@ -21,20 +15,12 @@ OLD110LIST = \ OLD110ARCHIVE = old-1.10-balance.wz +CLEANFILES = $(OLD110ARCHIVE) -SEMPERFILIST = multiplay -SEMPERFIARCHIVE = semperfi.wz - -CLEANFILES = $(DYDOAIARCHIVE) $(OLD110ARCHIVE) $(SEMPERFIARCHIVE) - -$(DYDOAIARCHIVE): $(DYDOAILIST:%=$(basename $(DYDOAIARCHIVE))/%) $(OLD110ARCHIVE): $(OLD110LIST:%=$(basename $(OLD110ARCHIVE))/%) -$(SEMPERFIARCHIVE): $(SEMPERFILIST:%=$(basename $(SEMPERFIARCHIVE))/%) multiplaymodsdir = $(pkgdatadir)/mods/multiplay -nodist_multiplaymods_DATA = $(DYDOAIARCHIVE) $(OLD110ARCHIVE) $(SEMPERFIARCHIVE) +nodist_multiplaymods_DATA = $(OLD110ARCHIVE) -dist-hook: $(DYDOAIARCHIVE) $(OLD110ARCHIVE) $(SEMPERFIARCHIVE) - $(UNZIP) -u $(DYDOAIARCHIVE) -d $(DESTDIR)$(distdir)/$(basename $(DYDOAIARCHIVE)) +dist-hook: $(OLD110ARCHIVE) $(UNZIP) -u $(OLD110ARCHIVE) -d $(DESTDIR)$(distdir)/$(basename $(OLD110ARCHIVE)) - $(UNZIP) -u $(SEMPERFIARCHIVE) -d $(DESTDIR)$(distdir)/$(basename $(SEMPERFIARCHIVE)) diff --git a/data/mp/wrf/multi/skirmish2.wrf b/data/mp/wrf/multi/skirmish2.wrf index 21554610d..fce6afeb6 100644 --- a/data/mp/wrf/multi/skirmish2.wrf +++ b/data/mp/wrf/multi/skirmish2.wrf @@ -8,12 +8,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/skirmish3.wrf b/data/mp/wrf/multi/skirmish3.wrf index 30cf80497..2b101e150 100644 --- a/data/mp/wrf/multi/skirmish3.wrf +++ b/data/mp/wrf/multi/skirmish3.wrf @@ -8,13 +8,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/skirmish4.wrf b/data/mp/wrf/multi/skirmish4.wrf index b5b4d2dbc..9e62d6bf6 100644 --- a/data/mp/wrf/multi/skirmish4.wrf +++ b/data/mp/wrf/multi/skirmish4.wrf @@ -8,14 +8,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/skirmish5.wrf b/data/mp/wrf/multi/skirmish5.wrf index 0b8576674..f8b21fe25 100644 --- a/data/mp/wrf/multi/skirmish5.wrf +++ b/data/mp/wrf/multi/skirmish5.wrf @@ -8,15 +8,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/skirmish6.wrf b/data/mp/wrf/multi/skirmish6.wrf index 22cab1f13..c8cb69103 100644 --- a/data/mp/wrf/multi/skirmish6.wrf +++ b/data/mp/wrf/multi/skirmish6.wrf @@ -8,16 +8,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/skirmish7.wrf b/data/mp/wrf/multi/skirmish7.wrf index 204dc3cde..6a1d3806f 100644 --- a/data/mp/wrf/multi/skirmish7.wrf +++ b/data/mp/wrf/multi/skirmish7.wrf @@ -8,17 +8,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/skirmish8.wrf b/data/mp/wrf/multi/skirmish8.wrf index 9446599a2..f06ce78cc 100644 --- a/data/mp/wrf/multi/skirmish8.wrf +++ b/data/mp/wrf/multi/skirmish8.wrf @@ -8,15 +8,6 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish2.wrf b/data/mp/wrf/multi/t2-skirmish2.wrf index e676ce3f4..3ae839e18 100644 --- a/data/mp/wrf/multi/t2-skirmish2.wrf +++ b/data/mp/wrf/multi/t2-skirmish2.wrf @@ -9,13 +9,10 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/t2-skirmish3.wrf b/data/mp/wrf/multi/t2-skirmish3.wrf index d54c7479f..0a63385eb 100644 --- a/data/mp/wrf/multi/t2-skirmish3.wrf +++ b/data/mp/wrf/multi/t2-skirmish3.wrf @@ -4,16 +4,10 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/t2-skirmish4.wrf b/data/mp/wrf/multi/t2-skirmish4.wrf index cd8868a0c..efaada3c3 100644 --- a/data/mp/wrf/multi/t2-skirmish4.wrf +++ b/data/mp/wrf/multi/t2-skirmish4.wrf @@ -9,15 +9,10 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/t2-skirmish5.wrf b/data/mp/wrf/multi/t2-skirmish5.wrf index d8d070d9d..92c105911 100644 --- a/data/mp/wrf/multi/t2-skirmish5.wrf +++ b/data/mp/wrf/multi/t2-skirmish5.wrf @@ -4,19 +4,8 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" - directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish6.wrf b/data/mp/wrf/multi/t2-skirmish6.wrf index 2c718283e..113b1c4ad 100644 --- a/data/mp/wrf/multi/t2-skirmish6.wrf +++ b/data/mp/wrf/multi/t2-skirmish6.wrf @@ -4,21 +4,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" -file SCRIPT "player5.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" -file SCRIPTVAL "player5.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish7.wrf b/data/mp/wrf/multi/t2-skirmish7.wrf index 42d9fa076..113b1c4ad 100644 --- a/data/mp/wrf/multi/t2-skirmish7.wrf +++ b/data/mp/wrf/multi/t2-skirmish7.wrf @@ -4,23 +4,9 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" -file SCRIPT "player5.slo" -file SCRIPT "player6.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" -file SCRIPTVAL "player5.vlo" -file SCRIPTVAL "player6.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish8.wrf b/data/mp/wrf/multi/t2-skirmish8.wrf index d9dc77c55..3e6706bb1 100644 --- a/data/mp/wrf/multi/t2-skirmish8.wrf +++ b/data/mp/wrf/multi/t2-skirmish8.wrf @@ -9,16 +9,7 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish2.wrf b/data/mp/wrf/multi/t3-skirmish2.wrf index 1d13dac3d..ac9d40feb 100644 --- a/data/mp/wrf/multi/t3-skirmish2.wrf +++ b/data/mp/wrf/multi/t3-skirmish2.wrf @@ -9,13 +9,10 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/t3-skirmish3.wrf b/data/mp/wrf/multi/t3-skirmish3.wrf index 98aa8614b..65b02db2f 100644 --- a/data/mp/wrf/multi/t3-skirmish3.wrf +++ b/data/mp/wrf/multi/t3-skirmish3.wrf @@ -4,17 +4,11 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" directory "multiplay/script" diff --git a/data/mp/wrf/multi/t3-skirmish4.wrf b/data/mp/wrf/multi/t3-skirmish4.wrf index 73f3fbe34..e5fa181c6 100644 --- a/data/mp/wrf/multi/t3-skirmish4.wrf +++ b/data/mp/wrf/multi/t3-skirmish4.wrf @@ -9,15 +9,10 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" directory "multiplay/script" file SCRIPT "scavfact.slo" diff --git a/data/mp/wrf/multi/t3-skirmish5.wrf b/data/mp/wrf/multi/t3-skirmish5.wrf index e60707c95..c6807b07d 100644 --- a/data/mp/wrf/multi/t3-skirmish5.wrf +++ b/data/mp/wrf/multi/t3-skirmish5.wrf @@ -4,18 +4,8 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish6.wrf b/data/mp/wrf/multi/t3-skirmish6.wrf index 5cad67425..c6807b07d 100644 --- a/data/mp/wrf/multi/t3-skirmish6.wrf +++ b/data/mp/wrf/multi/t3-skirmish6.wrf @@ -4,20 +4,8 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" -file SCRIPT "player5.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" -file SCRIPTVAL "player5.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish7.wrf b/data/mp/wrf/multi/t3-skirmish7.wrf index 57b995f9b..19c5a77e8 100644 --- a/data/mp/wrf/multi/t3-skirmish7.wrf +++ b/data/mp/wrf/multi/t3-skirmish7.wrf @@ -4,22 +4,7 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "player0.slo" -file SCRIPT "player1.slo" -file SCRIPT "player2.slo" -file SCRIPT "player3.slo" -file SCRIPT "player4.slo" -file SCRIPT "player5.slo" -file SCRIPT "player6.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "player0.vlo" -file SCRIPTVAL "player1.vlo" -file SCRIPTVAL "player2.vlo" -file SCRIPTVAL "player3.vlo" -file SCRIPTVAL "player4.vlo" -file SCRIPTVAL "player5.vlo" -file SCRIPTVAL "player6.vlo" - diff --git a/data/mp/wrf/multi/t3-skirmish8.wrf b/data/mp/wrf/multi/t3-skirmish8.wrf index ca4061805..c606a06d7 100644 --- a/data/mp/wrf/multi/t3-skirmish8.wrf +++ b/data/mp/wrf/multi/t3-skirmish8.wrf @@ -9,16 +9,7 @@ file SMSG "multiplay.txt" directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" -file SCRIPT "ai.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" -file SCRIPTVAL "ai.vlo" diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index 7798ac834..e1850ce9c 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -286,6 +286,8 @@ void NET_InitPlayer(int i, bool initPosition) } NetPlay.players[i].ready = false; NetPlay.players[i].needFile = false; + NetPlay.players[i].ai = 0; // default + NetPlay.players[i].difficulty = 1; // normal NetPlay.players[i].wzFile.isCancelled = false; NetPlay.players[i].wzFile.isSending = false; } @@ -327,6 +329,8 @@ static void NETSendNPlayerInfoTo(uint32_t *index, uint32_t indexLen, unsigned to NETint32_t(&NetPlay.players[index[n]].position); NETint32_t(&NetPlay.players[index[n]].team); NETbool(&NetPlay.players[index[n]].ready); + NETint8_t(&NetPlay.players[index[n]].ai); + NETint8_t(&NetPlay.players[index[n]].difficulty); } NETuint32_t(&NetPlay.hostPlayer); NETend(); @@ -1428,6 +1432,8 @@ static BOOL NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) int32_t position = 0; int32_t team = 0; uint32_t hostPlayer = 0; + int8_t ai = 0; + int8_t difficulty = 0; bool error = false; NETbeginDecode(playerQueue, NET_PLAYER_INFO); @@ -1468,6 +1474,8 @@ static BOOL NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) NETint32_t(&position); NETint32_t(&team); NETbool(&NetPlay.players[index].ready); + NETint8_t(&ai); + NETint8_t(&difficulty); // Don't let anyone except the host change these, otherwise it will end up inconsistent at some point, and the game gets really messed up. if (playerQueue.index == NetPlay.hostPlayer) @@ -1475,7 +1483,8 @@ static BOOL NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) NetPlay.players[index].colour = colour; NetPlay.players[index].position = position; NetPlay.players[index].team = team; - //NetPlay.hostPlayer = hostPlayer; // Huh? + NetPlay.players[index].ai = ai; + NetPlay.players[index].difficulty = difficulty; } debug(LOG_NET, "%s for player %u (%s)", n == 0? "Receiving MSG_PLAYER_INFO" : " and", (unsigned int)index, NetPlay.players[index].allocated ? "human" : "AI"); diff --git a/lib/netplay/netplay.h b/lib/netplay/netplay.h index ae9be9e4e..b969afdaf 100644 --- a/lib/netplay/netplay.h +++ b/lib/netplay/netplay.h @@ -245,8 +245,8 @@ typedef struct int32_t connection; ///< Index into connection list int32_t team; ///< Which team we are on BOOL ready; ///< player ready to start? - uint32_t unused_1; ///< for future usage - BOOL unused_2; ///< for future usage + int8_t ai; ///< index into sorted list of AIs, zero is always default AI + int8_t difficulty; ///< difficulty level of AI BOOL needFile; ///< if We need a file sent to us WZFile wzFile; ///< for each player, we keep track of map progress char IPtextAddress[40]; ///< IP of this player diff --git a/src/frend.h b/src/frend.h index 683443793..64233dab9 100644 --- a/src/frend.h +++ b/src/frend.h @@ -136,84 +136,10 @@ enum { IMAGE_FOG_OFF_HI, IMAGE_FOG_ON_HI, IMAGE_WEE_GUY, - IMAGE_TFONT_189, - IMAGE_TFONT_225, - IMAGE_TFONT_224, - IMAGE_TFONT_188, - IMAGE_TFONT_226, - IMAGE_TFONT_227, - IMAGE_TFONT_228, - IMAGE_TFONT_229, - IMAGE_TFONT_230, - IMAGE_TFONT_199, - IMAGE_TFONT_232, - IMAGE_TFONT_233, - IMAGE_TFONT_234, - IMAGE_TFONT_235, - IMAGE_TFONT_236, - IMAGE_TFONT_237, - IMAGE_TFONT_238, - IMAGE_TFONT_239, - IMAGE_TFONT_241, - IMAGE_TFONT_209, - IMAGE_TFONT_242, - IMAGE_TFONT_243, - IMAGE_TFONT_244, - IMAGE_TFONT_246, - IMAGE_TFONT_248, - IMAGE_TFONT_249, - IMAGE_TFONT_250, - IMAGE_TFONT_251, - IMAGE_TFONT_252, - IMAGE_TFONT_253, - IMAGE_TFONT_128, - IMAGE_TFONT_198, - IMAGE_TFONT_196, - IMAGE_TFONT_197, - IMAGE_TFONT_201, - IMAGE_TFONT_214, - IMAGE_TFONT_220, - IMAGE_TFONT_216, - IMAGE_TFONT_215, - IMAGE_TFONT_131, - IMAGE_TFONT_176, - IMAGE_TFONT_191, - IMAGE_TFONT_161, - IMAGE_TFONT_174, - IMAGE_TFONT_172, - IMAGE_TFONT_171, - IMAGE_TFONT_187, - IMAGE_TFONT_193, - IMAGE_TFONT_194, - IMAGE_TFONT_192, - IMAGE_TFONT_195, - IMAGE_TFONT_240, - IMAGE_TFONT_208, - IMAGE_TFONT_203, - IMAGE_TFONT_200, - IMAGE_TFONT_212, - IMAGE_TFONT_210, - IMAGE_TFONT_213, - IMAGE_TFONT_218, - IMAGE_TFONT_219, - IMAGE_TFONT_217, - IMAGE_TFONT_221, - IMAGE_TFONT_245, IMAGE_PENCIL, IMAGE_NOPENCIL, IMAGE_KEYMAP_DEFAULT, IMAGE_MULTIRANK3, - IMAGE_TFONT_223, - IMAGE_TFONT_163, - IMAGE_TFONT_170, - IMAGE_TFONT_202, - IMAGE_TFONT_211, - IMAGE_TFONT_206, - IMAGE_TFONT_207, - IMAGE_TFONT_204, - IMAGE_TFONT_205, - IMAGE_TFONT_63, - IMAGE_TFONT_45, IMAGE_NOJOIN, IMAGE_ALLI_TEAMS_HI, IMAGE_ALLI_TEAMS, @@ -270,6 +196,10 @@ enum { IMAGE_NO_VTOL, IMAGE_NO_CYBORG, IMAGE_NO_TANK, + IMAGE_EASY, + IMAGE_MEDIUM, + IMAGE_HARD, + IMAGE_INSANE, }; #endif // __INCLUDED_SRC_FREND_H__ diff --git a/src/game.cpp b/src/game.cpp index 46c0f0135..452d4f3f3 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -78,6 +78,7 @@ #include "scripttabs.h" #include "scriptextern.h" #include "multistat.h" +#include "multiint.h" #include "wrappers.h" #include "scriptfuncs.h" #include "challenge.h" @@ -540,24 +541,37 @@ static bool deserializeGameStruct(PHYSFS_file* fileHandle, GAMESTRUCT* serialize && deserializeSessionDesc(fileHandle, &serializeGame->desc)); } -static bool serializePlayer(PHYSFS_file* fileHandle, const PLAYER* serializePlayer) +static bool serializePlayer(PHYSFS_file* fileHandle, const PLAYER* serializePlayer, int player) { return (PHYSFS_writeUBE32(fileHandle, serializePlayer->position) && PHYSFS_write(fileHandle, serializePlayer->name, StringSize, 1) == 1 + && PHYSFS_write(fileHandle, getAIName(player), MAX_LEN_AI_NAME, 1) == 1 + && PHYSFS_writeSBE8(fileHandle, serializePlayer->difficulty) && PHYSFS_writeUBE32(fileHandle, serializePlayer->colour) && PHYSFS_writeUBE32(fileHandle, serializePlayer->team)); } -static bool deserializePlayer(PHYSFS_file* fileHandle, PLAYER* serializePlayer) +static bool deserializePlayer(PHYSFS_file* fileHandle, PLAYER* serializePlayer, int player) { + char aiName[MAX_LEN_AI_NAME]; uint32_t position, colour, team; bool retval; retval = (PHYSFS_readUBE32(fileHandle, &position) && PHYSFS_read(fileHandle, serializePlayer->name, StringSize, 1) == 1 + && PHYSFS_read(fileHandle, aiName, MAX_LEN_AI_NAME, 1) == 1 + && PHYSFS_readSBE8(fileHandle, &serializePlayer->difficulty) && PHYSFS_readUBE32(fileHandle, &colour) && PHYSFS_readUBE32(fileHandle, &team)); + if (player < game.maxPlayers) + { + serializePlayer->ai = matchAIbyName(aiName); + if (serializePlayer->ai == AI_NOT_FOUND) + { + debug(LOG_ERROR, "AI %s not found -- script loading will fail (player %d / %d)", aiName, player, game.maxPlayers); + } + } serializePlayer->position = position; serializePlayer->colour = colour; serializePlayer->team = team; @@ -576,7 +590,7 @@ static bool serializeNetPlay(PHYSFS_file* fileHandle, const NETPLAY* serializeNe for (i = 0; i < MAX_PLAYERS; ++i) { - if (!serializePlayer(fileHandle, &serializeNetPlay->players[i])) + if (!serializePlayer(fileHandle, &serializeNetPlay->players[i], i)) return false; } @@ -602,7 +616,7 @@ static bool deserializeNetPlay(PHYSFS_file* fileHandle, NETPLAY* serializeNetPla for (i = 0; i < MAX_PLAYERS; ++i) { - if (!deserializePlayer(fileHandle, &serializeNetPlay->players[i])) + if (!deserializePlayer(fileHandle, &serializeNetPlay->players[i], i)) return false; } @@ -11348,6 +11362,8 @@ BOOL loadScriptState(char *pFileName) char *pFileData; UDWORD fileSize; + loadAIs(); + // change the file extension pFileName[strlen(pFileName)-4] = (char)0; strcat(pFileName, ".es"); diff --git a/src/init.cpp b/src/init.cpp index a152a072d..e250fd98e 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -74,6 +74,7 @@ #include "miscimd.h" #include "mission.h" #include "modding.h" +#include "multiint.h" #include "multigifts.h" #include "multiplay.h" #include "projectile.h" @@ -493,6 +494,8 @@ BOOL systemInitialise(void) iV_Reset(); // Reset the IV library. initLoadingScreen(true); + readAIs(); + return true; } @@ -806,12 +809,11 @@ BOOL stageOneInitialise(void) initTransporters(); scriptInit(); - //do this here so that the very first mission has it initialised - initRunData(); + // do this here so that the very first mission has it initialised + initRunData(); gameTimeInit(); - //need to reset the event timer too - AB 14/01/99 - eventTimeReset(gameTime/SCR_TICKRATE); + eventTimeReset(gameTime / SCR_TICKRATE); return true; } @@ -1113,6 +1115,8 @@ BOOL stageThreeInitialise(void) } } + loadAIs(); + // ffs JS (and its a global!) if (getLevelLoadType() != GTYPE_SAVE_MIDMISSION) { diff --git a/src/multiint.cpp b/src/multiint.cpp index 427515060..40a05dd88 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -137,6 +137,8 @@ BOOL bHosted = false; //we have set up a game char sPlayer[128]; // player name (to be used) static int colourChooserUp = -1; static int teamChooserUp = -1; +static int aiChooserUp = -1; +static int difficultyChooserUp = -1; static int positionChooserUp = -1; static BOOL SettingsUp = false; static UBYTE InitialProto = 0; @@ -169,6 +171,8 @@ static void displayPlayer (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffse static void displayPosition (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayColour (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayTeamChooser (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); +static void displayAi (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); +static void displayDifficulty (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void displayMultiEditBox (WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours); static void setLockedTeamsMode (void); @@ -192,14 +196,85 @@ static void decideWRF (void); static void closeColourChooser (void); static void closeTeamChooser (void); static void closePositionChooser (void); +static void closeAiChooser (void); +static void closeDifficultyChooser (void); static BOOL SendColourRequest (UBYTE player, UBYTE col); static BOOL SendPositionRequest (UBYTE player, UBYTE chosenPlayer); static BOOL safeToUseColour (UDWORD player,UDWORD col); static BOOL changeReadyStatus (UBYTE player, BOOL bReady); static void stopJoining(void); +static int difficultyIcon(int difficulty); // //////////////////////////////////////////////////////////////////////////// // map previews.. +static const char *difficultyList[] = { "Easy", "Medium", "Hard", "Insane" }; +static const int difficultyValue[] = { 1, 10, 15, 20 }; + +struct AIDATA +{ + char name[MAX_LEN_AI_NAME]; + char slo[MAX_LEN_AI_NAME]; + char vlo[MAX_LEN_AI_NAME]; + char tip[255]; + int assigned; ///< How many AIs have we assigned of this type +}; +static std::vector aidata; + +const char *getAIName(int player) +{ + return aidata[NetPlay.players[player].ai].name; +} + +int getNextAIAssignment(const char *name) +{ + int ai = matchAIbyName(name); + int match = aidata[ai].assigned; + + for (int i = 0; i < game.maxPlayers; i++) + { + if (ai == NetPlay.players[i].ai) + { + if (match == 0) + { + aidata[ai].assigned++; + return i; // found right player + } + match--; // find next of this type + } + } + return AI_NOT_FOUND; +} + +void loadAIs() +{ + // TODO: Only load AI scripts (not vals) once. + + // Reset assigned counter + std::vector::iterator it; + for (it = aidata.begin(); it < aidata.end(); it++) + { + (*it).assigned = 0; + } + + // Load AI players + resForceBaseDir("multiplay/skirmish/"); + for (int i = 0; i < game.maxPlayers; i++) + { + if (bMultiPlayer && game.type == SKIRMISH && !NetPlay.players[i].allocated && NetPlay.players[i].ai >= 0) + { + resLoadFile("SCRIPT", aidata[NetPlay.players[i].ai].slo); + resLoadFile("SCRIPTVAL", aidata[NetPlay.players[i].ai].vlo); + } + else if (bMultiPlayer && game.type == SKIRMISH) + { + // Load default scripts for non-AI players (useful for autogames) + resLoadFile("SCRIPT", "nexus.slo"); + resLoadFile("SCRIPTVAL", "nexus.vlo"); + } + } + resForceBaseDir(""); +} + static int guessMapTilesetType(LEVEL_DATASET *psLevel) { unsigned t = 0, c = 0; @@ -385,6 +460,69 @@ void loadMapPreview(bool hideInterface) // //////////////////////////////////////////////////////////////////////////// // helper func +int matchAIbyName(const char *name) +{ + std::vector::iterator it; + int i = 0; + + for (it = aidata.begin(); it < aidata.end(); it++, i++) + { + if (strncasecmp(name, (*it).name, MAX_LEN_AI_NAME) == 0) + { + return i; + } + } + return AI_NOT_FOUND; +} + +void readAIs() +{ + char basepath[PATH_MAX]; + const char *sSearchPath = "multiplay/skirmish/"; + char **i, **files; + + aidata.clear(); + + strcpy(basepath, sSearchPath); + files = PHYSFS_enumerateFiles(basepath); + for (i = files; *i != NULL; ++i) + { + char path[PATH_MAX]; + // See if this filename contains the extension we're looking for + if (!strstr(*i, ".ai")) + { + continue; + } + + sstrcpy(path, basepath); + sstrcat(path, *i); + inifile *inif = inifile_load(path); + if (!inif) + { + debug(LOG_ERROR, "Failed to open AI %s", path); + continue; + } + AIDATA ai; + inifile_set_current_section(inif, "AI"); + sstrcpy(ai.name, inifile_get(inif, "name", "error")); + sstrcpy(ai.slo, inifile_get(inif, "slo", "error")); + sstrcpy(ai.vlo, inifile_get(inif, "vlo", "error")); + sstrcpy(ai.tip, inifile_get(inif, "tip", "Click to choose this AI")); + if (strcmp(ai.name, "Nexus") == 0) + { + std::vector::iterator it; + it = aidata.begin(); + aidata.insert(it, ai); + } + else + { + aidata.push_back(ai); + } + inifile_delete(inif); + } + PHYSFS_freeList(files); +} + //sets sWRFILE form game.map static void decideWRF(void) { @@ -1389,6 +1527,105 @@ static void initChooser(int player) closeTeamChooser(); } +static void addDifficultyChooser(int player) +{ + closeColourChooser(); + closeTeamChooser(); + widgDelete(psWScreen, MULTIOP_AI_FORM); + widgDelete(psWScreen, MULTIOP_PLAYERS); + widgDelete(psWScreen, FRONTEND_SIDETEXT2); + difficultyChooserUp = player; + + W_FORMINIT sFormInit; + sFormInit.formID = FRONTEND_BACKDROP; + sFormInit.id = MULTIOP_AI_FORM; // reuse + sFormInit.x = MULTIOP_PLAYERSX; + sFormInit.y = MULTIOP_PLAYERSY; + sFormInit.style = WFORM_PLAIN; + sFormInit.width = MULTIOP_PLAYERSW; + sFormInit.height = MULTIOP_PLAYERSH; + sFormInit.pDisplay = intDisplayPlainForm; + widgAddForm(psWScreen, &sFormInit); + + addSideText(FRONTEND_SIDETEXT2, MULTIOP_PLAYERSX - 3, MULTIOP_PLAYERSY, _("DIFFICULTY")); + + for (int i = 0; i < 4; i++) + { + W_BUTINIT sButInit; + sButInit.formID = MULTIOP_AI_FORM; + sButInit.id = MULTIOP_DIFFICULTY_CHOOSE_START + i; + sButInit.x = 7; + sButInit.y = (MULTIOP_PLAYERHEIGHT + 5) * i + 4; + sButInit.width = MULTIOP_PLAYERWIDTH + 1; + sButInit.height = MULTIOP_PLAYERHEIGHT; + sButInit.pTip = NULL; + switch (i) + { + case 0: sButInit.pTip = _("Less aggressive and starts with less units"); break; + case 1: sButInit.pTip = _("Plays nice"); break; + case 2: sButInit.pTip = _("No holds barred"); break; + case 3: sButInit.pTip = _("Starts with advantages and gets twice as much oil from derricks"); break; + } + sButInit.pDisplay = displayDifficulty; + sButInit.UserData = i; + widgAddButton(psWScreen, &sButInit); + } +} + +static void addAiChooser(int player) +{ + closeColourChooser(); + closeTeamChooser(); + widgDelete(psWScreen, MULTIOP_AI_FORM); + widgDelete(psWScreen, MULTIOP_PLAYERS); + widgDelete(psWScreen, FRONTEND_SIDETEXT2); + aiChooserUp = player; + + W_FORMINIT sFormInit; + sFormInit.formID = FRONTEND_BACKDROP; + sFormInit.id = MULTIOP_AI_FORM; + sFormInit.x = MULTIOP_PLAYERSX; + sFormInit.y = MULTIOP_PLAYERSY; + sFormInit.style = WFORM_PLAIN; + sFormInit.width = MULTIOP_PLAYERSW; + sFormInit.height = MULTIOP_PLAYERSH; + sFormInit.pDisplay = intDisplayPlainForm; + widgAddForm(psWScreen, &sFormInit); + + addSideText(FRONTEND_SIDETEXT2, MULTIOP_PLAYERSX - 3, MULTIOP_PLAYERSY, _("CHOOSE AI")); + + int num = aidata.size(); + + for (int i = 0; i < num; i++) + { + W_BUTINIT sButInit; + sButInit.formID = MULTIOP_AI_FORM; + sButInit.id = MULTIOP_AI_START + i; + sButInit.x = 7; + sButInit.y = (MULTIOP_PLAYERHEIGHT + 5) * i + 4; + sButInit.width = MULTIOP_PLAYERWIDTH + 1; + sButInit.height = MULTIOP_PLAYERHEIGHT; + sButInit.pTip = aidata[i].tip; + sButInit.pDisplay = displayAi; + sButInit.UserData = i; + widgAddButton(psWScreen, &sButInit); + } +} + +static void closeAiChooser() +{ + widgDelete(psWScreen, MULTIOP_AI_FORM); + widgDelete(psWScreen, FRONTEND_SIDETEXT2); + aiChooserUp = -1; +} + +static void closeDifficultyChooser() +{ + widgDelete(psWScreen, MULTIOP_AI_FORM); + widgDelete(psWScreen, FRONTEND_SIDETEXT2); + difficultyChooserUp = -1; +} + static void closePositionChooser() { positionChooserUp = -1; @@ -1399,6 +1636,8 @@ static void addPositionChooser(int player) closeColourChooser(); closeTeamChooser(); closePositionChooser(); + closeAiChooser(); + closeDifficultyChooser(); positionChooserUp = player; addPlayerBox(true); } @@ -1804,18 +2043,28 @@ static void drawReadyButton(UDWORD player) (UWORD)(( (MULTIOP_PLAYERHEIGHT+5)*NetPlay.players[player].position)+4), MULTIOP_READY_WIDTH,MULTIOP_READY_HEIGHT); + if (!NetPlay.players[player].allocated && NetPlay.players[player].ai >= 0) + { + int icon = difficultyIcon(NetPlay.players[player].difficulty); + addMultiBut(psWScreen, MULTIOP_READY_FORM_ID + player, MULTIOP_DIFFICULTY_INIT_START + player, 6, 4, MULTIOP_READY_WIDTH, MULTIOP_READY_HEIGHT, + challengeActive ? _("You cannot change difficulty in a challenge") : _("Click to change difficulty"), icon, icon, icon); + return; + } + else if (!NetPlay.players[player].allocated) + { + return; // closed or open + } + // draw 'ready' button if (NetPlay.players[player].ready) { - addMultiBut(psWScreen, MULTIOP_READY_FORM_ID+player,MULTIOP_READY_START+player,3, - 8,MULTIOP_READY_WIDTH,MULTIOP_READY_HEIGHT, - _("Waiting for other players"),IMAGE_CHECK_ON,IMAGE_CHECK_ON,IMAGE_CHECK_ON_HI); + addMultiBut(psWScreen, MULTIOP_READY_FORM_ID + player, MULTIOP_READY_START + player, 3, 8, MULTIOP_READY_WIDTH, MULTIOP_READY_HEIGHT, + _("Waiting for other players"), IMAGE_CHECK_ON, IMAGE_CHECK_ON, IMAGE_CHECK_ON_HI); } else { - addMultiBut(psWScreen, MULTIOP_READY_FORM_ID+player,MULTIOP_READY_START+player,3, - 8,MULTIOP_READY_WIDTH,MULTIOP_READY_HEIGHT, - _("Click when ready"),IMAGE_CHECK_OFF,IMAGE_CHECK_OFF,IMAGE_CHECK_OFF_HI); + addMultiBut(psWScreen, MULTIOP_READY_FORM_ID + player, MULTIOP_READY_START + player, 3, 8, MULTIOP_READY_WIDTH, MULTIOP_READY_HEIGHT, + _("Click when ready"), IMAGE_CHECK_OFF, IMAGE_CHECK_OFF, IMAGE_CHECK_OFF_HI); } addText(MULTIOP_READY_START+MAX_PLAYERS+player, 0,10, @@ -1841,6 +2090,17 @@ void addPlayerBox(BOOL players) widgDelete(psWScreen,MULTIOP_PLAYERS); // del player window widgDelete(psWScreen,FRONTEND_SIDETEXT2); // del text too, + if (aiChooserUp >= 0) + { + addAiChooser(aiChooserUp); + return; + } + else if (difficultyChooserUp >= 0) + { + addDifficultyChooser(difficultyChooserUp); + return; + } + W_FORMINIT sFormInit; // draw player window sFormInit.formID = FRONTEND_BACKDROP; sFormInit.id = MULTIOP_PLAYERS; @@ -1970,13 +2230,9 @@ void addPlayerBox(BOOL players) sColInit.UserData = i; widgAddButton(psWScreen, &sColInit); - if (ingame.localOptionsReceived && NetPlay.players[i].allocated) // only draw if real player! + if (ingame.localOptionsReceived) { - // add a 'ready' button - if (numPlayers > 1 && !allOnSameTeam) // only if we have enough players to start - { - drawReadyButton(i); - } + drawReadyButton(i); // draw player info box W_BUTINIT sButInit; @@ -1986,51 +2242,28 @@ void addPlayerBox(BOOL players) sButInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; sButInit.width = MULTIOP_PLAYERWIDTH - MULTIOP_TEAMSWIDTH - MULTIOP_READY_WIDTH - MULTIOP_COLOUR_WIDTH; sButInit.height = MULTIOP_PLAYERHEIGHT; - if (selectedPlayer == i) + sButInit.pTip = NULL; + if ((selectedPlayer == i || NetPlay.isHost) && NetPlay.players[i].allocated) { sButInit.pTip = _("Click to change player position"); } - else + else if (!NetPlay.players[i].allocated) { - sButInit.pTip = NULL; + if (!challengeActive) + { + sButInit.pTip = _("Click to change AI"); + } + else + { + sButInit.pTip = _("You cannot change AI in a challenge"); + } } sButInit.pDisplay = displayPlayer; sButInit.UserData = i; widgAddButton(psWScreen, &sButInit); } - else // AI player - { - sFormInit = W_FORMINIT(); - sFormInit.formID = MULTIOP_PLAYERS; - sFormInit.id = MULTIOP_PLAYER_START+i; - sFormInit.style = WBUT_PLAIN; - sFormInit.x = 7 + MULTIOP_TEAMSWIDTH; - sFormInit.y = (UWORD)(( (MULTIOP_PLAYERHEIGHT+5)*NetPlay.players[i].position)+4); - sFormInit.width = MULTIOP_PLAYERWIDTH - MULTIOP_TEAMSWIDTH + 1; - sFormInit.height = MULTIOP_PLAYERHEIGHT; - if (NetPlay.isHost && !challengeActive) - { - sFormInit.pTip = _("Click to adjust AI difficulty"); - } - else - { - sFormInit.pTip = NULL; - } - sFormInit.pDisplay = displayPlayer; - sFormInit.UserData = i; - widgAddForm(psWScreen, &sFormInit); - addFEAISlider(MULTIOP_SKSLIDE+i,sFormInit.id, 35,9, DIFF_SLIDER_STOPS, - (game.skDiff[i] <= DIFF_SLIDER_STOPS ? game.skDiff[i] : DIFF_SLIDER_STOPS / 2)); //set to 50% (value of UBYTE_MAX == human player) - } } } - - if (ingame.bHostSetup && !challengeActive) // if hosting. - { - sliderEnableDrag(true); - }else{ - sliderEnableDrag(false); - } } /* @@ -2046,7 +2279,6 @@ static void SendFireUp(void) // host kicks a player from a game. void kickPlayer(uint32_t player_id, const char *reason, LOBBY_ERROR_TYPES type) { -debug(LOG_ERROR, "kicking %u: %s", player_id, reason); // send a kick msg NETbeginEncode(NETbroadcastQueue(), NET_KICK); NETuint32_t(&player_id); @@ -2162,7 +2394,6 @@ static void disableMultiButs(void) } } - //////////////////////////////////////////////////////////////////////////// static void stopJoining(void) { @@ -2576,6 +2807,23 @@ static void processMultiopWidgets(UDWORD id) break; } + if (id >= MULTIOP_DIFFICULTY_CHOOSE_START && id <= MULTIOP_DIFFICULTY_CHOOSE_END) + { + int idx = id - MULTIOP_DIFFICULTY_CHOOSE_START; + NetPlay.players[difficultyChooserUp].difficulty = idx; + game.skDiff[difficultyChooserUp] = difficultyValue[idx]; + closeDifficultyChooser(); + addPlayerBox(!ingame.bHostSetup || bHosted); + } + + if (id >= MULTIOP_AI_START && id <= MULTIOP_AI_END) + { + int idx = id - MULTIOP_AI_START; + NetPlay.players[aiChooserUp].ai = idx; + closeAiChooser(); + addPlayerBox(!ingame.bHostSetup || bHosted); + } + if (id >= MULTIOP_TEAMS_START && id <= MULTIOP_TEAMS_END && !challengeActive) // Clicked on a team chooser { int clickedMenuID = id - MULTIOP_TEAMS_START; @@ -2663,25 +2911,37 @@ static void processMultiopWidgets(UDWORD id) } } - if((id >= MULTIOP_SKSLIDE) && (id <=MULTIOP_SKSLIDE_END) && !challengeActive) // choseskirmish difficulty. + if (id >= MULTIOP_DIFFICULTY_INIT_START && id <= MULTIOP_DIFFICULTY_INIT_END && !challengeActive) { - UDWORD newValue, oldValue; + addDifficultyChooser(id - MULTIOP_DIFFICULTY_INIT_START); + addPlayerBox(!ingame.bHostSetup || bHosted); + } - newValue = widgGetSliderPos(psWScreen,id); - oldValue = (UDWORD)game.skDiff[id-MULTIOP_SKSLIDE]; + if((id >= MULTIOP_PLAYER_START) && (id <= MULTIOP_PLAYER_END)) // clicked on a player + { + int player = id - MULTIOP_PLAYER_START; - game.skDiff[id-MULTIOP_SKSLIDE] = (UBYTE)newValue; - - //Show/hide team chooser if player was enabled/disabled - if((oldValue == 0 && newValue > 0) || (oldValue > 0 && newValue == 0) ) + if (player == selectedPlayer && positionChooserUp < 0) { - closeTeamChooser(); - addPlayerBox( !ingame.bHostSetup || bHosted); //restore initial options screen + addPositionChooser(player); + } + else if (positionChooserUp == player) + { + closePositionChooser(); // changed his mind + addPlayerBox(!ingame.bHostSetup || bHosted); + } + else if (positionChooserUp >= 0) + { + // Switch player + resetReadyStatus(false); // will reset only locally if not a host + SendPositionRequest(positionChooserUp, NetPlay.players[player].position); + closePositionChooser(); + addPlayerBox(!ingame.bHostSetup || bHosted); + } + else if (!NetPlay.players[id - MULTIOP_PLAYER_START].allocated && !challengeActive) + { + addAiChooser(player); } - - resetReadyStatus(false); - - sendOptions(); } if((id >= MULTIOP_COLCHOOSER) && (id <= MULTIOP_COLCHOOSER_END)) // chose a new colour. @@ -3020,26 +3280,6 @@ void runMultiOptions(void) lastrefresh= gameTime; if (!multiRequestUp && (bHosted || ingame.localJoiningInProgress)) { - - // store the slider settings if they are up, - for(id=0;id= 0 && NetPlay.players[i].team < MAX_PLAYERS, "Team index out of bounds" ); - //bluboxes. drawBlueBox(x,y,psWidget->width,psWidget->height); // right iV_DrawImage(FrontImages, IMAGE_TEAM0 + NetPlay.players[i].team, x + 2, y + 8); @@ -3421,6 +3668,44 @@ void displayPosition(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT iV_DrawText("Click here to select this slot", x + 10, y + 22); } +static void displayAi(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) +{ + const int x = xOffset + psWidget->x; + const int y = yOffset + psWidget->y; + const int j = psWidget->UserData; + + drawBlueBox(x, y, psWidget->width, psWidget->height); + iV_SetFont(font_regular); + iV_SetTextColour(WZCOL_TEXT_BRIGHT); + iV_DrawText(aidata[j].name, x + 10, y + 22); +} + +static int difficultyIcon(int difficulty) +{ + switch (difficulty) + { + case 0: return IMAGE_EASY; + case 1: return IMAGE_MEDIUM; + case 2: return IMAGE_HARD; + case 3: return IMAGE_INSANE; + default: return IMAGE_NO; /// what?? + } +} + +static void displayDifficulty(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) +{ + const int x = xOffset + psWidget->x; + const int y = yOffset + psWidget->y; + const int j = psWidget->UserData; + + ASSERT_OR_RETURN(, j < ARRAY_SIZE(difficultyList), "Bad difficulty found: %d", j); + drawBlueBox(x, y, psWidget->width, psWidget->height); + iV_SetFont(font_regular); + iV_SetTextColour(WZCOL_TEXT_BRIGHT); + iV_DrawImage(FrontImages, difficultyIcon(j), x + 5, y + 5); + iV_DrawText(difficultyList[j], x + 42, y + 22); +} + // //////////////////////////////////////////////////////////////////////////// void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *pColours) { @@ -3566,7 +3851,17 @@ void displayPlayer(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGHT *p } else // AI { - drawBlueBox(x,y,31,psWidget->height); // left. + char aitext[80]; + + if (NetPlay.players[j].ai >= 0) + { + iV_DrawImage(FrontImages, IMAGE_PLAYER_PC, x, y + 11); + } + iV_SetFont(font_regular); + iV_SetTextColour(WZCOL_TEXT_BRIGHT); + ASSERT_OR_RETURN(, NetPlay.players[j].ai < aidata.size(), "Uh-oh, AI index out of bounds"); + sstrcpy(aitext, aidata[NetPlay.players[j].ai].name); + iV_DrawText(aitext, x + 32, y + 22); } } diff --git a/src/multiint.h b/src/multiint.h index ea9e16163..ef1100f0b 100644 --- a/src/multiint.h +++ b/src/multiint.h @@ -27,6 +27,17 @@ #include "lib/netplay/netplay.h" #include "lib/widget/widgbase.h" +#define MAX_LEN_AI_NAME 40 +#define AI_OPEN -2 +#define AI_CLOSED -1 +#define AI_NOT_FOUND -99 + +void readAIs(); ///< step 1, load AI definition files +void loadAIs(); ///< step 2, actually load AI scripts +const char *getAIName(int player); ///< only run this -after- readAIs() is called +int matchAIbyName(const char *name); ///< only run this -after- readAIs() is called +int getNextAIAssignment(const char *name); + extern LOBBY_ERROR_TYPES getLobbyError(void); extern void setLobbyError(LOBBY_ERROR_TYPES error_type); @@ -133,8 +144,8 @@ void loadMapPreview(bool hideInterface); // 'Ready' button #define MULTIOP_READY_FORM_ID 102900 -#define MULTIOP_READY_START (MULTIOP_READY_FORM_ID + MAX_PLAYERS + 1) -#define MULTIOP_READY_END (MULTIOP_READY_START + 7) +#define MULTIOP_READY_START (MULTIOP_READY_FORM_ID + MAX_PLAYERS + 1) +#define MULTIOP_READY_END (MULTIOP_READY_START + MAX_PLAYERS) #define MULTIOP_READY_WIDTH 41 #define MULTIOP_READY_HEIGHT 36 #define MULTIOP_READY_IMG_OFFSET_X 3 @@ -231,9 +242,9 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_CHATEDITW MULTIOP_CHATBOXW-8 #define MULTIOP_CHATEDITH 9 -#define MULTIOP_COLCHOOSER_FORM 10280 +#define MULTIOP_COLCHOOSER_FORM 10280 #define MULTIOP_COLCHOOSER 10281 -#define MULTIOP_COLCHOOSER_END 10288 +#define MULTIOP_COLCHOOSER_END 10288 #define MULTIOP_LIMIT 10292 // 2 for this (+label) #define MULTIOP_GAMETYPE 10294 @@ -271,6 +282,17 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_COLOUR_END (MULTIOP_COLOUR_START + MAX_PLAYERS) #define MULTIOP_COLOUR_WIDTH 31 +#define MULTIOP_AI_FORM (MULTIOP_COLOUR_END + 1) +#define MULTIOP_AI_START (MULTIOP_AI_FORM + 1) +#define MULTIOP_AI_END (MULTIOP_AI_START + MAX_PLAYERS) + +#define MULTIOP_DIFFICULTY_INIT_START (MULTIOP_AI_END + 1) +#define MULTIOP_DIFFICULTY_INIT_END (MULTIOP_DIFFICULTY_INIT_START + MAX_PLAYERS) + +#define MULTIOP_DIFFICULTY_CHOOSE_START (MULTIOP_DIFFICULTY_INIT_END + 1) +#define MULTIOP_DIFFICULTY_CHOOSE_END (MULTIOP_DIFFICULTY_CHOOSE_START + MAX_PLAYERS) + + // /////////////////////////////// // Many Button Variations.. diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 9cce80fae..3ea13eda9 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -72,6 +72,7 @@ #include "multiplay.h" #include "multigifts.h" #include "multilimit.h" +#include "multiint.h" #include "advvis.h" #include "mapgrid.h" #include "lib/ivis_opengl/piestate.h" @@ -110,7 +111,6 @@ static BOOL structHasModule(STRUCTURE *psStruct); static DROID_TEMPLATE* scrCheckTemplateExists(SDWORD player, DROID_TEMPLATE *psTempl); /// Hold the previously assigned player -static int nextPlayer = 0; static Vector2i positions[MAX_PLAYERS]; void scriptSetStartPos(int position, int x, int y) @@ -128,7 +128,6 @@ BOOL scriptInit() { scriptSetStartPos(i, 0, 0); } - nextPlayer = 0; return true; } @@ -144,11 +143,13 @@ BOOL scrScavengersActive() BOOL scrGetPlayer() { - ASSERT_OR_RETURN(false, nextPlayer < MAX_PLAYERS, "Invalid player"); - - scrFunctionResult.v.ival = nextPlayer; - debug(LOG_SCRIPT, "Initialized player %d, starts at position (%d, %d), max %d players", nextPlayer, positions[nextPlayer].x, positions[nextPlayer].y, game.maxPlayers); - nextPlayer++; + if (!stackPopParams(1, VAL_STRING, &strParam1)) + { + debug(LOG_ERROR, "stack failed"); + return false; + } + int i = scrFunctionResult.v.ival = getNextAIAssignment(strParam1); + debug(LOG_SCRIPT, "Initialized player %d, starts at position (%d, %d), max %d players", i, positions[i].x, positions[i].y, game.maxPlayers); if (!stackPushResult(VAL_INT, &scrFunctionResult)) { ASSERT(false, "Failed to initialize player"); diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index 338984678..330926bea 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -1424,7 +1424,7 @@ FUNC_SYMBOL asFuncTable[] = false, 0, NULL, 0, 0, NULL, NULL }, { "getPlayer", scrGetPlayer, VAL_INT, - 0, { VAL_VOID }, + 1, { VAL_STRING }, false, 0, NULL, 0, 0, NULL, NULL }, { "getPlayerStartPosition", scrGetPlayerStartPosition, VAL_BOOL, From 02ca800a92e6adc290588ae5ae547526192cc9f0 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sun, 9 Jan 2011 18:22:21 +0100 Subject: [PATCH 109/142] Insane AI now always starts with defenses. Lets see if people like this. --- lib/netplay/netplay.h | 6 ++++++ src/multiopt.cpp | 29 ++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lib/netplay/netplay.h b/lib/netplay/netplay.h index b969afdaf..7463f65cc 100644 --- a/lib/netplay/netplay.h +++ b/lib/netplay/netplay.h @@ -230,6 +230,12 @@ typedef enum ALREADY_HAVE_FILE, STUCK_IN_FILE_LOOP } wzFileEnum; + +enum +{ + DIFFICULTY_EASY, DIFFICULTY_MEDIUM, DIFFICULTY_HARD, DIFFICULTY_INSANE +}; + // //////////////////////////////////////////////////////////////////////// // Player information. Filled when players join, never re-ordered. selectedPlayer global points to // currently controlled player. diff --git a/src/multiopt.cpp b/src/multiopt.cpp index a850b8ecc..0f28fbcbc 100644 --- a/src/multiopt.cpp +++ b/src/multiopt.cpp @@ -399,9 +399,21 @@ static BOOL cleanMap(UDWORD player) switch(game.base) { case CAMP_CLEAN: //clean map - while(apsStructLists[player]) //strip away structures. + psStruct = apsStructLists[player]; + while (psStruct) //strip away structures. { - removeStruct(apsStructLists[player], true); + if ((psStruct->pStructureType->type != REF_WALL && psStruct->pStructureType->type != REF_WALLCORNER + && psStruct->pStructureType->type != REF_DEFENSE && psStruct->pStructureType->type != REF_GATE + && psStruct->pStructureType->type != REF_RESOURCE_EXTRACTOR) + || NetPlay.players[player].difficulty != DIFFICULTY_INSANE || NetPlay.players[player].allocated) + { + removeStruct(psStruct, true); + psStruct = apsStructLists[player]; //restart,(list may have changed). + } + else + { + psStruct = psStruct->psNext; + } } psD = apsDroidLists[player]; // remove all but construction droids. while(psD) @@ -419,13 +431,12 @@ static BOOL cleanMap(UDWORD player) psStruct = apsStructLists[player]; while(psStruct) { - if ( (psStruct->pStructureType->type == REF_WALL) - ||(psStruct->pStructureType->type == REF_WALLCORNER) - ||(psStruct->pStructureType->type == REF_DEFENSE) - ||(psStruct->pStructureType->type == REF_BLASTDOOR) - ||(psStruct->pStructureType->type == REF_GATE) - ||(psStruct->pStructureType->type == REF_CYBORG_FACTORY) - ||(psStruct->pStructureType->type == REF_COMMAND_CONTROL)) + if (((psStruct->pStructureType->type == REF_WALL || psStruct->pStructureType->type == REF_WALLCORNER + || psStruct->pStructureType->type == REF_DEFENSE || psStruct->pStructureType->type == REF_GATE) + && (NetPlay.players[player].difficulty != DIFFICULTY_INSANE || NetPlay.players[player].allocated)) + || psStruct->pStructureType->type == REF_BLASTDOOR + || psStruct->pStructureType->type == REF_CYBORG_FACTORY + || psStruct->pStructureType->type == REF_COMMAND_CONTROL) { removeStruct(psStruct, true); psStruct= apsStructLists[player]; //restart,(list may have changed). From d6ee18c895e16af98dd5310350f53d4903db4b46 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Sun, 9 Jan 2011 22:24:09 +0100 Subject: [PATCH 110/142] New script function getDifficulty(int) to find which difficulty level a given player has. Also added four new constants to check against: EASY, MEDIUM, HARD and INSANE. Semperfi modified to be less nasty in easy and medium difficulty levels. --- data/base/multiplay/skirmish/semperfi.slo | 4 ++-- src/scriptfuncs.cpp | 17 +++++++++++++++++ src/scriptfuncs.h | 1 + src/scripttabs.cpp | 14 ++++++++++---- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/data/base/multiplay/skirmish/semperfi.slo b/data/base/multiplay/skirmish/semperfi.slo index 29916222f..85c6e7744 100644 --- a/data/base/multiplay/skirmish/semperfi.slo +++ b/data/base/multiplay/skirmish/semperfi.slo @@ -625,7 +625,7 @@ event arrived(reachedTr) exit; } - if (droid.droidType == DROID_CONSTRUCT or droid.droidType == DROID_CYBORG_CONSTRUCT) + if (droid.droidType == DROID_CONSTRUCT or droid.droidType == DROID_CYBORG_CONSTRUCT && getDifficulty(me) > EASY) { dbgObj(droid, "Failed to build where we should - attempt to screw up enemy oil derrick"); @@ -1006,7 +1006,7 @@ event startLevel(startLevelTr) { setEventTrigger(conDroids, chainloadTr); setEventTrigger(doResearch, chainloadTr); - if ((numFactories() > 1) and (isStructureAvailable(defStructs[0], me))) + if (numFactories() > 1 and isStructureAvailable(defStructs[0], me) and getDifficulty(me) > MEDIUM) { dbgPlr("TRUCK RUSH!"); setEventTrigger(truckRush, chainloadTr); diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 3ea13eda9..214854dd3 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -141,6 +141,23 @@ BOOL scrScavengersActive() return true; } +BOOL scrGetDifficulty() +{ + int player; + if (!stackPopParams(1, VAL_INT, &player)) + { + return false; + } + ASSERT_OR_RETURN(false, player < MAX_PLAYERS, "Bad player index"); + scrFunctionResult.v.ival = NetPlay.players[player].difficulty; + if (!stackPushResult(VAL_INT, &scrFunctionResult)) + { + ASSERT(false, "Failed to initialize player"); + return false; + } + return true; +} + BOOL scrGetPlayer() { if (!stackPopParams(1, VAL_STRING, &strParam1)) diff --git a/src/scriptfuncs.h b/src/scriptfuncs.h index 5c8885983..bb1f28db5 100644 --- a/src/scriptfuncs.h +++ b/src/scriptfuncs.h @@ -37,6 +37,7 @@ struct DROID; extern BOOL scriptInit(void); extern void scriptSetStartPos(int position, int x, int y); extern BOOL scrGetPlayer(void); +extern BOOL scrGetDifficulty(void); extern BOOL scrScavengersActive(void); extern BOOL scrGetPlayerStartPosition(void); extern BOOL scrSafeDest(void); diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index 330926bea..ad9c96ff0 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -56,6 +56,7 @@ #include "intfac.h" #include "multimenu.h" #include "lib/framework/input.h" //for key constants +#include "lib/netplay/netplay.h" #include "lib/script/chat_processing.h" @@ -294,10 +295,6 @@ FUNC_SYMBOL asFuncTable[] = 3, { (INTERP_TYPE)ST_INTMESSAGE, VAL_INT, VAL_INT }, 0, 0, NULL, 0, 0, NULL, NULL }, -/* { "addTutorialMessage", scrAddTutorialMessage, VAL_VOID, - 2, { (INTERP_TYPE)ST_INTMESSAGE, VAL_INT }, - 0, 0, NULL, 0, 0, NULL, NULL },*/ - { "selectDroidByID", scrSelectDroidByID, VAL_BOOL, 2, { (INTERP_TYPE)ST_DROIDID, VAL_INT }, 0, 0, NULL, 0, 0, NULL, NULL }, @@ -1458,6 +1455,10 @@ FUNC_SYMBOL asFuncTable[] = 9, { VAL_FLOAT, VAL_FLOAT, VAL_FLOAT, VAL_FLOAT, VAL_FLOAT, VAL_FLOAT, VAL_FLOAT, VAL_FLOAT, VAL_FLOAT }, false, 0, NULL, 0, 0, NULL, NULL }, + { "getDifficulty", scrGetDifficulty, VAL_INT, + 1, { VAL_INT }, + false, 0, NULL, 0, 0, NULL, NULL }, + /* This final entry marks the end of the function list */ { "FUNCTION LIST END", NULL, VAL_VOID, 0, { VAL_VOID }, 0, 0, NULL, 0, 0, NULL, NULL } }; @@ -2063,6 +2064,11 @@ CONST_SYMBOL asConstantTable[] = { "KEY_KP_8", VAL_INT, false, KEY_KP_8, NULL, NULL, 0.0f }, { "KEY_KP_9", VAL_INT, false, KEY_KP_9, NULL, NULL, 0.0f }, + { "EASY", VAL_INT, false, DIFFICULTY_EASY, NULL, NULL, 0.0f }, + { "MEDIUM", VAL_INT, false, DIFFICULTY_MEDIUM, NULL, NULL, 0.0f }, + { "HARD", VAL_INT, false, DIFFICULTY_HARD, NULL, NULL, 0.0f }, + { "INSANE", VAL_INT, false, DIFFICULTY_INSANE, NULL, NULL, 0.0f }, + /* This entry marks the end of the constant list */ { "CONSTANT LIST END",VAL_VOID, false, 0, NULL, NULL, 0.0f } }; From 023c8afaa9c7f7f1163a15515b9aaa2bb0daecd4 Mon Sep 17 00:00:00 2001 From: Cyp Date: Mon, 10 Jan 2011 14:17:09 +0100 Subject: [PATCH 111/142] Fix biffer baker in skirmish. Broke in 92cd24faaa0cef0b1413fb8fefeeb4b281144844, since biffer baker is a hack that changes the game difficulty level. Refs ticket:2441. --- src/combat.cpp | 28 ++-------------------------- src/difficulty.cpp | 39 ++++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 43 deletions(-) diff --git a/src/combat.cpp b/src/combat.cpp index 700881ede..180681b64 100644 --- a/src/combat.cpp +++ b/src/combat.cpp @@ -439,19 +439,7 @@ int32_t objDamage(BASE_OBJECT *psObj, UDWORD damage, UDWORD originalhp, WEAPON_C // apply game difficulty setting - if (!bMultiPlayer) // ignore multiplayer or skirmish games - { - if (psObj->player != selectedPlayer) - { - // Player inflicting damage on enemy. - damage = (UDWORD) modifyForDifficultyLevel(damage,true); - } - else - { - // Enemy inflicting damage on player. - damage = (UDWORD) modifyForDifficultyLevel(damage,false); - } - } + damage = modifyForDifficultyLevel(damage, psObj->player != selectedPlayer); armour = psObj->armour[impactSide][weaponClass]; @@ -534,19 +522,7 @@ unsigned int objGuessFutureDamage(WEAPON_STATS *psStats, unsigned int player, BA // apply game difficulty setting - if (!bMultiPlayer) // ignore multiplayer games - { - if (psTarget->player != selectedPlayer) - { - // Player inflicting damage on enemy. - damage = (UDWORD) modifyForDifficultyLevel(damage,true); - } - else - { - // Enemy inflicting damage on player. - damage = (UDWORD) modifyForDifficultyLevel(damage,false); - } - } + damage = modifyForDifficultyLevel(damage, psTarget->player != selectedPlayer); for (impactSide = 0; impactSide != NUM_HIT_SIDES; ++impactSide) armour = MAX(armour, psTarget->armour[impactSide][psStats->weaponClass]); diff --git a/src/difficulty.cpp b/src/difficulty.cpp index 4d165706c..4edbfce1e 100644 --- a/src/difficulty.cpp +++ b/src/difficulty.cpp @@ -30,13 +30,14 @@ #include "lib/framework/frame.h" #include "difficulty.h" -#include "lib/framework/math_ext.h" +#include "src/multiplay.h" + // ------------------------------------------------------------------------------------ static DIFFICULTY_LEVEL presDifLevel = DL_NORMAL; -static float fDifPlayerModifier; -static float fDifEnemyModifier; +static int fDifPlayerModifier; +static int fDifEnemyModifier; // ------------------------------------------------------------------------------------ @@ -47,29 +48,29 @@ void setDifficultyLevel(DIFFICULTY_LEVEL lev) switch(lev) { case DL_EASY: - fDifPlayerModifier = 120.f / 100.f; - fDifEnemyModifier = 100.f / 100.f; + fDifPlayerModifier = 120; + fDifEnemyModifier = 100; break; case DL_NORMAL: - fDifPlayerModifier = 100.f / 100.f; - fDifEnemyModifier = 100.f / 100.f; + fDifPlayerModifier = 100; + fDifEnemyModifier = 100; break; case DL_HARD: - fDifPlayerModifier = 80.f / 100.f; - fDifEnemyModifier = 100.f / 100.f; + fDifPlayerModifier = 80; + fDifEnemyModifier = 100; break; case DL_KILLER: - fDifPlayerModifier = 999.f / 100.f; // 10 times - fDifEnemyModifier = 1.f / 100.f; // almost nothing + fDifPlayerModifier = 999; // 10 times + fDifEnemyModifier = 1; // almost nothing break; case DL_TOUGH: - fDifPlayerModifier = 100.f / 100.f; - fDifEnemyModifier = 50.f / 100.f; // they do less damage! + fDifPlayerModifier = 100; + fDifEnemyModifier = 50; // they do less damage! break; default: debug( LOG_ERROR, "Invalid difficulty level selected - forcing NORMAL" ); - fDifPlayerModifier = 100.f / 100.f; - fDifEnemyModifier = 100.f / 100.f; + fDifPlayerModifier = 100; + fDifEnemyModifier = 100; lev = DL_NORMAL; break; } @@ -87,9 +88,13 @@ DIFFICULTY_LEVEL getDifficultyLevel( void ) // ------------------------------------------------------------------------------------ int modifyForDifficultyLevel(int basicVal, bool IsPlayer) { + if (bMultiPlayer && presDifLevel != DL_KILLER && presDifLevel != DL_TOUGH) // ignore multiplayer or skirmish (unless using biffer baker) games + { + return basicVal; + } if (IsPlayer) - return roundf(basicVal * fDifPlayerModifier); + return basicVal * fDifPlayerModifier / 100; else - return roundf(basicVal * fDifEnemyModifier); + return basicVal * fDifEnemyModifier / 100; } // ------------------------------------------------------------------------------------ From 1f806b3f1d37e1f68bff7ae939336c3e2840de6b Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Mon, 10 Jan 2011 14:59:13 +0100 Subject: [PATCH 112/142] Update translations. --- po/POTFILES.in | 6 +- po/cs.po | 309 +++++++++++++++++++++++++++--------------------- po/da.po | 309 +++++++++++++++++++++++++++--------------------- po/de.po | 309 +++++++++++++++++++++++++++--------------------- po/en_GB.po | 309 +++++++++++++++++++++++++++--------------------- po/es.po | 311 ++++++++++++++++++++++++++++--------------------- po/et_EE.po | 309 +++++++++++++++++++++++++++--------------------- po/fi.po | 309 +++++++++++++++++++++++++++--------------------- po/fr.po | 309 +++++++++++++++++++++++++++--------------------- po/fy.po | 309 +++++++++++++++++++++++++++--------------------- po/ga.po | 309 +++++++++++++++++++++++++++--------------------- po/hr.po | 309 +++++++++++++++++++++++++++--------------------- po/it.po | 311 ++++++++++++++++++++++++++++--------------------- po/ko.po | 311 ++++++++++++++++++++++++++++--------------------- po/la.po | 306 +++++++++++++++++++++++++++--------------------- po/lt.po | 309 +++++++++++++++++++++++++++--------------------- po/nb.po | 309 +++++++++++++++++++++++++++--------------------- po/nl.po | 309 +++++++++++++++++++++++++++--------------------- po/pl.po | 311 ++++++++++++++++++++++++++++--------------------- po/pt.po | 309 +++++++++++++++++++++++++++--------------------- po/pt_BR.po | 311 ++++++++++++++++++++++++++++--------------------- po/ro.po | 311 ++++++++++++++++++++++++++++--------------------- po/ru.po | 309 +++++++++++++++++++++++++++--------------------- po/sk.po | 309 +++++++++++++++++++++++++++--------------------- po/sl.po | 309 +++++++++++++++++++++++++++--------------------- po/tr.po | 311 ++++++++++++++++++++++++++++--------------------- po/uk_UA.po | 309 +++++++++++++++++++++++++++--------------------- po/zh_CN.po | 309 +++++++++++++++++++++++++++--------------------- po/zh_TW.po | 309 +++++++++++++++++++++++++++--------------------- 29 files changed, 4879 insertions(+), 3790 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index 8b97fa186..5dde2f41b 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -16,8 +16,10 @@ data/base/messages/strings/scrstrings.txt data/base/multiplay/script/multilim.slo data/base/multiplay/script/multiplay.slo data/base/multiplay/script/scavfact.slo -data/base/multiplay/skirmish/ai.slo +data/base/multiplay/skirmish/dydo.slo +data/base/multiplay/skirmish/nexus.slo data/base/multiplay/skirmish/rules.slo +data/base/multiplay/skirmish/semperfi.slo data/base/multiplay/skirmish/sktech.slo data/base/script/demo/demo_global.slo data/base/script/demo/demo_p0.slo @@ -137,9 +139,7 @@ data/base/sequenceaudio/cam3/cam3_cn.txt data/base/sequenceaudio/devastation.txa data/base/sequenceaudio/devastation.txt data/base/sequenceaudio/outro.txt -data/mods/multiplay/dydo-ai/multiplay/skirmish/ai.slo data/mods/multiplay/old-1.10-balance/messages/strings/names.txt -data/mods/multiplay/semperfi/multiplay/skirmish/ai.slo data/mp/messages/resmessages12.rmsg data/mp/messages/resmessages1.rmsg data/mp/messages/resmessages23.rmsg diff --git a/po/cs.po b/po/cs.po index dcee24eec..9786b6618 100644 --- a/po/cs.po +++ b/po/cs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-09 16:05+0000\n" "Last-Translator: Lubos \n" "Language-Team: Czech \n" @@ -12043,16 +12043,16 @@ msgid "System locale" msgstr "Systémové místo" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12064,7 +12064,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12374,7 +12374,7 @@ msgid "Player dropped" msgstr "HráÄ" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12598,7 +12598,7 @@ msgid "Join Game" msgstr "PÅ™ipojit se ke hÅ™e" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "NASTAVENÃ" @@ -12695,7 +12695,7 @@ msgid "Off" msgstr "Vypnuto" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Mlha" @@ -12706,7 +12706,7 @@ msgstr "Mlha" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "VáleÄná mlha" @@ -12874,7 +12874,7 @@ msgid "GAME OPTIONS" msgstr "HERNà NASTAVENÃ" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12939,7 +12939,7 @@ msgid "Build (F3)" msgstr "Stavba (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" @@ -13112,7 +13112,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13154,111 +13154,111 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 #, fuzzy msgid "Short Range" msgstr "Krátký dostÅ™el" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Dlouhý dostÅ™el" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "optimální dostÅ™el" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Ustup pÅ™i stÅ™edním poÅ¡kození" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ustup pÅ™i těžkém poÅ¡kození" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Bojuj až do konce!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "OpÄ›tuj palbu" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Nestřílej" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Braň pozici" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Drž pozici" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Nastup do Transportu" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Recyklovat" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 #, fuzzy msgid "Circle" msgstr "soubor" @@ -13549,9 +13549,9 @@ msgid "KEY MAPPING" msgstr "MAPOVÃNà KLÃVES" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "ZpÄ›t na PÅ™edchozí Obrazovku" @@ -14058,306 +14058,345 @@ msgstr "%s uzavÅ™el spojenectví s %s" msgid "You Discover Blueprints For %s" msgstr "Nalezl jsi plány na %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "PotvrÄ nastavení" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Azurová" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP Adresa nebo Jméno Stroje" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "SPOJENÃ" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "Posily jsou k dispozici." -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Hledám" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "HRY" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Aktualizuj Seznam Her" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Vyber jméno hry" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Vyber Mapu" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Vyber jméno hráÄe" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 #, fuzzy msgid "Distance Fog" msgstr "vzdálená mlha" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Spojenectví" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Bez Spojenectví" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Povolená Spojenectví" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Pevné Týmy" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 #, fuzzy msgid "Low Power Levels" msgstr "Nízkoenergetické úrovnÄ›" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 #, fuzzy msgid "Medium Power Levels" msgstr "StÅ™ednÄ› energetické úrovnÄ›" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 #, fuzzy msgid "High Power Levels" msgstr "Vysokoenergetické úrovnÄ›" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Základna" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "ZaÄni bez Základen" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "ZaÄni se Základnami" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "ZaÄni s Rozvinutými Základnami" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 #, fuzzy msgid "Start Hosting Game" msgstr "ZaÄni hostovat hru" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Nastavení limitu budov" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Nastavení limitu budov" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "HráÄ" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "HráÄ" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 hráÄi" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Radar ukazuje barvy hráÄů" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "HRÃÄŒI" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Pevné Týmy" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar ukazuje barvy hráÄů" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Braň pozici" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Radar ukazuje barvy hráÄů" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "Pevné Týmy" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Hostitel vyhodil %s ze hry!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Host zaÄíná hru" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "HráÄi" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14680,20 +14719,20 @@ msgstr "Celkový ÄŒas Hry - %s" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14723,62 +14762,62 @@ msgstr "Nemohu nalézt žádnou senzorovou jednotku!" msgid "Unable to locate any Commanders!" msgstr "Nemohu nalézt žádného velitele!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, fuzzy, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "Jednotka pÅ™iÅ™azena" msgstr[1] "Jednotky pÅ™iÅ™azeny" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - PoÅ¡kození %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, fuzzy, c-format msgid "%s - Connected %u of %u" msgstr "%s - PÅ™ipojeno %u z %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14787,11 +14826,11 @@ msgstr "" msgid "Launch Transport" msgstr "Spustit transport" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Posily pÅ™istály" diff --git a/po/da.po b/po/da.po index 3b2bc0a53..e8c598c44 100644 --- a/po/da.po +++ b/po/da.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-09 16:08+0000\n" "Last-Translator: carson \n" "Language-Team: Dansk \n" @@ -12301,16 +12301,16 @@ msgid "System locale" msgstr "Elektronik" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12322,7 +12322,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12631,7 +12631,7 @@ msgid "Player dropped" msgstr "Spiller" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12849,7 +12849,7 @@ msgid "Join Game" msgstr "Forbind til vært" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "TILVALG" @@ -12946,7 +12946,7 @@ msgid "Off" msgstr "Fra" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "TÃ¥ge" @@ -12957,7 +12957,7 @@ msgstr "AfstandstÃ¥ge" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "KrigstÃ¥ge" @@ -13127,7 +13127,7 @@ msgid "GAME OPTIONS" msgstr "SPIL INDSTILLINGER" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13194,7 +13194,7 @@ msgid "Build (F3)" msgstr "Konstruktion (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Kraft" @@ -13367,7 +13367,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13410,113 +13410,113 @@ msgstr "Denne mission" msgid "New Intelligence Report" msgstr "Kommando Pult" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Kort rækkevide" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Lang rækkevide" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimal rækkevide" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Tilbagetræk ved mellem skade" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Tilbagetræk ved sværd skade" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Kæmp til døden!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 #, fuzzy msgid "Fire-At-Will" msgstr "Angrib alt" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Besvar ild" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Indstil skydning" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrolje" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Forfølg" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Bevogt position" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hold position" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Tilbagetrækning for reperation" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Tilbagetrækning til HQ" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "GÃ¥ til transport" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Retur til genbrug" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Genbrug" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 #, fuzzy msgid "Assign Factory Production" msgstr "Gentag produktion" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 #, fuzzy msgid "Assign Fire Support" msgstr "Tildel gruppe 1" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 #, fuzzy msgid "Circle" msgstr "fil" @@ -13802,9 +13802,9 @@ msgid "KEY MAPPING" msgstr "TASTATUR MAPPING" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Tilbage" @@ -14306,307 +14306,346 @@ msgstr "%s Danner aliance med %s" msgid "You Discover Blueprints For %s" msgstr "Du opdager plantegninger for %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Akceptér opsætning" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Turkis" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP adressse eller computernavn" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "FORBINDELSE" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "Forstærkninger er tilgængelige." -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Søger" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "SPIL" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Opdatér spilliste" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Vælg spilnavn" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "Spil mod computeren" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Vælg kort" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 #, fuzzy msgid "Scavengers" msgstr "Hestekrafter" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 #, fuzzy msgid "No Scavengers" msgstr "Hestekrafter" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 #, fuzzy msgid "Select Player Name" msgstr "Flerbruger spil" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "AfstandstÃ¥ge" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Aliancer" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Uden alliancer" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Med alliancer" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "LÃ¥ste hold" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Sparsom energi" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Medium energi" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Meget energi" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Start uden baser" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Start med baser" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Start med advancerede baser" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 #, fuzzy msgid "Start Hosting Game" msgstr "Værten starter spillet" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Tabte bygninger" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Set Structure Limits" msgstr "Tabte bygninger" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Spiller" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Spiller" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 #, fuzzy msgid "Team" msgstr "Hurtgigt spil" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 spillere" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Bevogt position" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "SPILLERE" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "LÃ¥ste hold" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 msgid "Click to change player colour" msgstr "" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Bevogt position" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Bevogt position" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "BESKEDER" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "LÃ¥ste hold" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, fuzzy, c-format msgid "The host has kicked %s from the game!" msgstr "%s har forladt spillet" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Værten starter spillet" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Spillere" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14929,20 +14968,20 @@ msgstr "Total anvendt tid: %s" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14971,62 +15010,62 @@ msgstr "Kan ikke finde nogle rekonniseringsenheder!" msgid "Unable to locate any Commanders!" msgstr "Kan ikke finde nogle kommandører!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Kommandobegrænsning nÃ¥et - indstiller produktion" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Skade %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Forbundet %u af %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronisk beskadiget" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektronisk gevinst - Rekonniseringsrapport" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Fabriksgevinst - Fremdrift" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Fabriksgevinst - Skrog" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Frabriskgevinst - VÃ¥ben" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Fabriksgevinst - Ingen" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Reperationsgevinst - Reperation" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Reperationsgevinst - Ingen" @@ -15035,11 +15074,11 @@ msgstr "Reperationsgevinst - Ingen" msgid "Launch Transport" msgstr "Afsend transportskib" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Forstærkninger er ankommet" diff --git a/po/de.po b/po/de.po index 79a4e1348..f83b3e38f 100644 --- a/po/de.po +++ b/po/de.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-06-05 07:09+0100\n" "Last-Translator: Steven 'Kreuvf' Koenig \n" "Language-Team: Deutsch \n" @@ -12040,16 +12040,16 @@ msgid "System locale" msgstr "Systemsprache" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Passwort hier eingeben" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Konnte Lobbyserver-Namen nicht auflösen (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Konnte nicht mit Lobbyserver kommunizieren! Ist der TCP-Port %u für ausgehenden Verkehr geöffnet?" @@ -12061,7 +12061,7 @@ msgstr "Konnte nicht mit Lobbyserver kommunizieren! Ist der TCP-Port %u für aus #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12367,7 +12367,7 @@ msgid "Player dropped" msgstr "Spieler ausgefallen" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Warte auf andere Spieler" @@ -12579,7 +12579,7 @@ msgid "Join Game" msgstr "Spiel beitreten" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPTIONEN" @@ -12674,7 +12674,7 @@ msgid "Off" msgstr "Aus" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Nebel" @@ -12685,7 +12685,7 @@ msgstr "Dunst" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Nebel des Krieges" @@ -12847,7 +12847,7 @@ msgid "GAME OPTIONS" msgstr "SPIELOPTIONEN" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod: " @@ -12911,7 +12911,7 @@ msgid "Build (F3)" msgstr "Konstruktionsmenü" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" @@ -13078,7 +13078,7 @@ msgstr "Das Spiel kann ohne Spielleiter nicht weitergehen." msgid "--> QUIT <--" msgstr "--> BEENDEN <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13122,110 +13122,110 @@ msgstr "Aktuelles Missionsziel" msgid "New Intelligence Report" msgstr "Neuer Aufklärungsbericht" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Kurze Reichweite" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Hohe Reichweite" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimale Reichweite" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Rückzug bei mittlerem Schaden" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Rückzug bei schwerem Schaden" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Sieg oder Tod!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Feuer nach eigenem Ermessen" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Feuer erwidern" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Feuer einstellen" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrouillieren" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Verfolgen" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Position bewachen" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Position halten" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Rückkehr zwecks Reparatur" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Rückkehr zur Kommandozentrale" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Zum Transporter" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Rückkehr zwecks Recycling" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Wirklich recyclen" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Fabrikproduktion zuweisen" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Cyborg-Fabrikproduktion zuweisen" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Unterstützungsfeuer zuweisen" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "VTOL-Fabrikproduktion zuweisen" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Kreis" @@ -13510,9 +13510,9 @@ msgid "KEY MAPPING" msgstr "TASTENZUORDNUNG" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Zurück zum vorherigen Bildschirm" @@ -14007,300 +14007,339 @@ msgstr "%s geht ein Bündnis mit %s ein" msgid "You Discover Blueprints For %s" msgstr "Sie haben Entwürfe für %s entdeckt" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Einstellungen annehmen" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Abbrechen" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP-Adresse oder Hostname" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "VERBINDUNG" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Eingangshalle" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Es sind keine Spiele verfügbar" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Spiel ist voll" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Sie wurden rausgeschmissen!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Falsche Spielversion!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Sie haben einen inkompatiblen Mod." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Spielleiter konnte Datei nicht senden?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Falsches Passwort!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Spielleiter hat die Verbindung gekappt!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Verbindungsfehler" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Suche..." -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "SPIELE" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Spieleliste aktualisieren" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Passwort eingeben:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Neuer Cyborg verfügbar" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Spielname auswählen" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Einzelspieler-Geplänkel" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Karte auswählen" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Klicken zum Setzen eines Passworts" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Scavenger" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Keine Scavenger" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Spielernamen auswählen" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Entfernungsnebel" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Bündnisse" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Keine Bündnisse" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Bündnisse erlauben" # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Feste Teams" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Niedriges Energieniveau" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Mittleres Energieniveau" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Hohes Energieniveau" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Basis" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Ohne Basen starten" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Mit Basen starten" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Mit fortschrittlichen Basen starten" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Kartenvorschau" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Klicken für Kartenansicht" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Spiel eröffnen" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Zeige Gebäudebeschränkungen" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Gebäudebeschränkungen einstellen" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Spieler" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Spielerfarbe" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Gruppe" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Spieler rauswerfen" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Klicken zum Setzen eines Passworts" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Klicken, wenn bereit" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "BEREIT?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "SPIELER" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Klicken zum Setzen eines Passworts" # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Feste Teams" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar zeigt Spielerfarben" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Position bewachen" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Klicken zum Setzen eines Passworts" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Alle Spieler benötigen dieselben Mods, um Ihrem Spiel beitreten zu können." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** Jetzt wird ein Passwort benötigt! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** Passwort wird nicht benötigt! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Tut mir leid! Spieleröffnung fehlgeschlagen." # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "\"Feste Teams\"-Modus aktiviert" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Der Spielleiter hat %s aus dem Spiel geworfen!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Der Spielleiter startet das Spiel" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Spieler" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Sende Karte: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Karte: %d%% heruntergeladen" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "SPIELLEITER" @@ -14618,20 +14657,20 @@ msgstr "Gesamte Spielzeit - %s" msgid "You cheated!" msgstr "Sie haben geschummelt!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "SIE HABEN GEWONNEN!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "SIE WURDEN BESIEGT!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Signal von %s erhalten!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Signal %d" @@ -14660,64 +14699,64 @@ msgstr "Kann keine Sensoreinheit finden!" msgid "Unable to locate any Commanders!" msgstr "Kann keine Commander finden!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Commandereinheit hat Kontrollgrenze erreicht - Produktion angehalten" # nix Gruppe! -Kreuvf -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Einheit hinzugefügt" msgstr[1] "%s - %u Einheiten hinzugefügt" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Schaden %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u von %u verbunden" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronisch beschädigt" # Reward ist zwar nicht Beute, aber im Krieg erbeutet man eben Dinge -Kreuvf -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektronische Beute - Sichtbarkeitsbericht" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Fabrikbeute - Antrieb" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Fabrikbeute - Rumpf" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Fabrikbeute - Waffe" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Fabrikbeute - Nichts" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Beute aus Reparatureinrichtung - Reparatur" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Beute aus Reparatureinrichtung - Nichts" @@ -14726,11 +14765,11 @@ msgstr "Beute aus Reparatureinrichtung - Nichts" msgid "Launch Transport" msgstr "Transporter starten" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Verstärkung landet" diff --git a/po/en_GB.po b/po/en_GB.po index 44a013654..34795b86a 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-05 12:29+0000\n" "Last-Translator: Jen Ockwell \n" "Language-Team: English (United Kingdom) \n" @@ -12317,16 +12317,16 @@ msgid "System locale" msgstr "System locale" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12338,7 +12338,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12646,7 +12646,7 @@ msgid "Player dropped" msgstr "Player" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12864,7 +12864,7 @@ msgid "Join Game" msgstr "Join Game" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPTIONS" @@ -12961,7 +12961,7 @@ msgid "Off" msgstr "Off" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Fog" @@ -12972,7 +12972,7 @@ msgstr "Mist" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Fog Of War" @@ -13140,7 +13140,7 @@ msgid "GAME OPTIONS" msgstr "GAME OPTIONS" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13205,7 +13205,7 @@ msgid "Build (F3)" msgstr "Build (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Power" @@ -13375,7 +13375,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13419,110 +13419,110 @@ msgstr "Current Objective" msgid "New Intelligence Report" msgstr "Incoming intelligence report." -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Short Range" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Long Range" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimum Range" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Retreat at Medium Damage" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Retreat at Heavy Damage" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Do or Die!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Fire-At-Will" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Return Fire" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Hold Fire" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrol" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Pursue" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Guard Position" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hold Position" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Return For Repair" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Return To HQ" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Go to Transport" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Return for Recycling" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Recycle" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Assign Factory Production" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Assign Cyborg Factory Production" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Assign Fire Support" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Assign VTOL Factory Production" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 #, fuzzy msgid "Circle" msgstr "file" @@ -13811,9 +13811,9 @@ msgid "KEY MAPPING" msgstr "KEY MAPPING" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Return To Previous Screen" @@ -14314,305 +14314,344 @@ msgstr "%s Forms An Alliance With %s" msgid "You Discover Blueprints For %s" msgstr "You Discover Blueprints For %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accept Settings" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Lancer" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP Address or Machine Name" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONNECTION" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "New technologies are available." -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Searching" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "GAMES" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Refresh Games List" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "New Cyborg Available" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Select Game Name" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "One Player Skirmish" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Select Map" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 #, fuzzy msgid "Scavengers" msgstr "Scavenger" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 #, fuzzy msgid "No Scavengers" msgstr "Scavenger" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Select Player Name" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Distance Fog" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alliances" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "No Alliances" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Allow Alliances" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Locked Teams" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Low Power Levels" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Medium Power Levels" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "High Power Levels" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Start with No Bases" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Start with Bases" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Start with Advanced Bases" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Start Hosting Game" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Set Structure Limits" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Set Structure Limits" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Player" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Player" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 players" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Radar showing player colours" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "PLAYERS" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Locked Teams" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar showing player colours" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Guard Position" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Radar showing player colours" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "Locked Teams" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "The host has kicked %s from the game!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Host is Starting Game" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Players" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14935,21 +14974,21 @@ msgstr "Total Game Time - %s" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 #, fuzzy msgid "YOU WERE DEFEATED!" msgstr "NEXUS DEFEATED" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14978,62 +15017,62 @@ msgstr "Unable to locate any Sensor Units!" msgid "Unable to locate any Commanders!" msgstr "Unable to locate any Commanders!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Command Control Limit Reached - Production Halted" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unit assigned" msgstr[1] "%s - %u Units assigned" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Damage %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Connected %u of %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Electronically Damaged" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Electronic Reward - Visibility Report" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Factory Reward - Propulsion" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Factory Reward - Body" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Factory Reward - Weapon" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Factory Reward - Nothing" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Repair Facility Award - Repair" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Repair Facility Award - Nothing" @@ -15042,11 +15081,11 @@ msgstr "Repair Facility Award - Nothing" msgid "Launch Transport" msgstr "Launch Transport" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Reinforcements landing" diff --git a/po/es.po b/po/es.po index c06f8dfb3..15865ecbe 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-11-16 11:19+0100\n" "Last-Translator: Saber Nyoki \n" "Language-Team: Spanish \n" @@ -11996,16 +11996,16 @@ msgid "System locale" msgstr "Idioma del sistema" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Introducir contraseña aquí" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "¡No se pudo resolver el nombre del servidor maestro (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "¡No se pudo comunicar con el servidor! ¿Está el puerto TCP %u abierto para tráfico saliente?" @@ -12017,7 +12017,7 @@ msgstr "¡No se pudo comunicar con el servidor! ¿Está el puerto TCP %u abierto #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12322,7 +12322,7 @@ msgid "Player dropped" msgstr "Jugador Desconectado" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Esperando a otros jugadores" @@ -12534,7 +12534,7 @@ msgid "Join Game" msgstr "Unirse a una Partida" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPCIONES" @@ -12629,7 +12629,7 @@ msgid "Off" msgstr "Desactivado" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Niebla" @@ -12640,7 +12640,7 @@ msgstr "Neblina" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Niebla de Guerra" @@ -12800,7 +12800,7 @@ msgid "GAME OPTIONS" msgstr "OPCIONES DE JUEGO" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod:" @@ -12863,7 +12863,7 @@ msgid "Build (F3)" msgstr "Construcción (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energía" @@ -13023,7 +13023,7 @@ msgstr "La partida no puede continuar sin el anfitrión" msgid "--> QUIT <--" msgstr "--> SALIR <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13067,110 +13067,110 @@ msgstr "Objetivo Actual" msgid "New Intelligence Report" msgstr "Nuevo Informe de Inteligencia" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Rango Corto" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Rango Largo" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Rango Óptimo" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Retirarse con Daños Medios" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Retirarse con Daños Graves" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "¡Hazlo o Muere!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Fuego a discreción" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Devolver el fuego" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Alto el fuego" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrullar" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Perseguir" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Guardar Posición" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Mantener Posición" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Regresar para Reparar" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Regresar al CG" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ir al Transporte" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Regresar para Reciclaje" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Reciclar" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Asignar Producción de Fábrica" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Asignar Producción de Fábrica de Cyborgs" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Asignar Fuego de Apoyo" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Asignar Producción de fábrica de ADV" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "círculo" @@ -13450,9 +13450,9 @@ msgid "KEY MAPPING" msgstr "MAPEO DE TECLAS" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Volver a la Pantalla Anterior" @@ -13942,295 +13942,334 @@ msgstr "%s forma una Alianza con %s" msgid "You Discover Blueprints For %s" msgstr "Descubres los planos de %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aceptar Configuración" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Cancelar" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Dirección IP o Nombre de la Máquina" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONEXIÓN" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Vestíbulo" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "No hay partidas disponibles" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Partida llena" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "¡Has sido expulsado!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "¡Versión del juego errónea!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Tienes un mod incompatible" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "¿El host no pudo envar archivo?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "¡Contraseña incorrecta!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "¡El Host cerró la conexión!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Error de conexión" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Buscando" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "PARTIDAS" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Actualizar Lista de Partidas" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Introducir Contraseña:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "¡¡Tanques deshabilitados!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "Cyborgs deshabilitados." -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "VTOLS deshabilitados." -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Elegir Nombre de la Partida" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Escaramuza Un Jugador" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Elegir Mapa" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Click para fijar contraseña" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Carroñeros" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Sin Carroñeros" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Elejir Nombre del Jugador" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Niebla de Distancia" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alianzas" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Sin Alianzas" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Permitir Alianzas" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Equipos Fijos" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Niveles de Energía Bajos" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Niveles de Energía Medios" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Niveles de Energía Altos" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Comenzar sin Bases" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Comenzar con Bases" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Comenzar con Bases Avanzadas" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Previsualizar Mapa" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Click para ver Mapa" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Comenzar Hospedando un Juego" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Fijar Límites de Estructuras" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Fijar Límites de Estructuras" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Jugador" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Color del Jugador" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Equipo" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Expulsar jugador" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Click para ajustar dificultad de la IA" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Click cuando esté listo" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "¿LISTO?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "JUGADORES" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Click para cambiar la configuración de jugador." -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Elegir equipo" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Click para cambiar la configuración de jugador." -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Click para cambiar la configuración de jugador." -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "Click para ajustar dificultad de la IA" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Click para cambiar la configuración de jugador." -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Todos los jugadores necesitan tener los mismos mods para unirse" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** ¡contraseña [%s] requerida! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** ¡contraseña no requerida! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "¡Lo sentimos! No se pudo hospedar la partida" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Modo de Equipos Fijos Activado" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "¡El anfitrión ha expulsado a %s de la partida!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Anfitrión Comenzando Partida" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Jugadores" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Enviando Mapa: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% descargado" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "ANFITRIÓN" @@ -14544,20 +14583,20 @@ msgstr "Tiempo Jugado Total: %s" msgid "You cheated!" msgstr "¡Hiciste trampa!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "¡ERES EL GANADOR!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "¡HAS SIDO DERROTADO!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "¡Baliza recibida de %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Baliza %d" @@ -14586,62 +14625,62 @@ msgstr "¡Imposible localizar ninguna unidad de sensores!" msgid "Unable to locate any Commanders!" msgstr "¡Imposible localizar ningún Comandante!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Alcanzado Límite de Control de Unidades - Producción Detenida" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unidad asignada" msgstr[1] "%s - %u Unidades asignadas" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Daño %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Conectado %u de %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Dañado Electrónicamente" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Recompensa de Electrónica - Informe de Visibilidad" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Recompensa de Fábrica - Propulsión" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Recompensa de Fábrica - Carrocería" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Recompensa de Fábrica - Arma" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Recompensa de Fábrica - Nada" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Premio de Instalación de Reparación - Reparación" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Premio de Instalación de Reparación - Nada" @@ -14650,11 +14689,11 @@ msgstr "Premio de Instalación de Reparación - Nada" msgid "Launch Transport" msgstr "Lanzar Transporte" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "¡No hay espacio suficiente en el transporte!" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Refuerzos aterrizando" diff --git a/po/et_EE.po b/po/et_EE.po index c9404b4e3..ac3527551 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-05-10 16:59+0200\n" "Last-Translator: erlando \n" "Language-Team: Estonian \n" @@ -12012,16 +12012,16 @@ msgid "System locale" msgstr "Süsteemi Asukoht" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Sisesta salasõna siia" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ei suuda peaserveri nime lahendada (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ei suuda lobby serveriga suhelda! Kas port %u on väljaminevale liiklusele avatud?" @@ -12033,7 +12033,7 @@ msgstr "Ei suuda lobby serveriga suhelda! Kas port %u on väljaminevale liikluse #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12338,7 +12338,7 @@ msgid "Player dropped" msgstr "Mängija Väjavisatud" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Teiste mängijate ootamine" @@ -12551,7 +12551,7 @@ msgid "Join Game" msgstr "Liitu Mängu" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "SEADED" @@ -12646,7 +12646,7 @@ msgid "Off" msgstr "Väljas" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Udu" @@ -12657,7 +12657,7 @@ msgstr "Udu" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Sõjaudu" @@ -12819,7 +12819,7 @@ msgid "GAME OPTIONS" msgstr "MÄNGU SEADED" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod:" @@ -12883,7 +12883,7 @@ msgid "Build (F3)" msgstr "Ehitamine (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" @@ -13049,7 +13049,7 @@ msgstr "Mäng ei saa ilma võõrustajata jätkuda." msgid "--> QUIT <--" msgstr "--> LOOBU <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13092,110 +13092,110 @@ msgstr "Hetke Eesmärgid" msgid "New Intelligence Report" msgstr "Uus Intelligentsus Raport." -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Lühike Ulatus" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Kauge Ulatus" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimaalne Ulatus" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Tagane Keskmise Kahjuga" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Tagane Raske Kahjuga" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Tee või Sure!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Vaba Tuli" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Vastu Tuli" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Hoidke Tuld" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrull" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Jälita" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Kaitse Positsiooni" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hoia Positsiooni" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Tagane Remontimisele" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Tagane HQ Juurde" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Mine Transporti" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Tagane Taaskäitluseks" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Taaskäitle" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Määra Tehase Tootmine" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Määra Küborgi Tehase Tootmine" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Määra Tuletoetus" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Määra VTOL Tehase Tootmine" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Ring" @@ -13476,9 +13476,9 @@ msgid "KEY MAPPING" msgstr "NUPPUDE VASTAD" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Naase Eelmisele Ekraanile" @@ -13973,297 +13973,336 @@ msgstr "%s Moodustab %s -ga Liitluse" msgid "You Discover Blueprints For %s" msgstr "Sa Avastasid %s joonised" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Seaded Aksepteeritud" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Tühista" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP Address Või Masina Nimi" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONNECTION" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Pole ühtki mängu." -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Mäng on Täis" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Sind löödi välja" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Vale Mängu versioon" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Sul on vastuolus mod." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Võõrustaja ei suutnud faili saata?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Vale Salasõna" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Võõrustaja lõpetas ühenduse" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Ãœhendus Error" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Otsimine" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "MÄNGUD" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Värskenda Mängulisti" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Sisesta Salasõna:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Uus Küborg Kasutatv" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Sisesta Mängu Nimi" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Ãœhe Mängja Lahing" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Vali Kaart" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Vajuta, et Salasõna sisestada" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Mässajad" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Mässajateta" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Sisesta Mängija nimi" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Vahemaa Udu" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Liitlus" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Liitluseta" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Luba Liitlus" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Lukustatud Tiimid" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Madal Energia Level" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Keskmine Energia Level" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Kõrge Energia Level" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Baas" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Alusta Baasideta" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Alusta Baasidega" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Alusta Arenenud Baasidega" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Kaarti Esitus" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Vajuta, et Kaarti näha" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Alusta Mängu Võõrustamist" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Näita Ehitiste Limiite" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Sea Ehitiste Limiidid" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Mägija" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Mängija värv" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Tiim" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Löö mängija välja" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Vajuta, et Salasõna sisestada" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Vajuta kui valmis" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "VALMIS?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "MÄNGIJAD" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Vajuta, et Salasõna sisestada" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Lukustatud Tiimid" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar showing player colours" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Kaitse Positsiooni" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Vajuta, et Salasõna sisestada" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "VESTLUS" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Kõigil mängijatel peab olema sama mod, et sinu mänguga liituda" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** salasõna on vajalik! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** salasõna pole vaja! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Kahju! Ebaõnnestusid mängu võõrustamisel." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Lukustatud Tiimid, mode lubatud" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Võõrustaja lõi %s mängust välja!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Võõrustaja Alustab Mängu" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Mängijad" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Kaarti Saatmine: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Kaart: %d%% allalaaditud" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "VÕÕRUSTJA" @@ -14581,20 +14620,20 @@ msgstr "Totaalne Mänguaeg - %s" msgid "You cheated!" msgstr "Sa Tegid Sohki!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "SA OLED VÕIDUKAS" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "SIND VÕIDETI!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Signaal saadud %s -lt!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Signaal %d" @@ -14623,63 +14662,63 @@ msgstr "Võimetu leidma Sensorüksusi!" msgid "Unable to locate any Commanders!" msgstr "Võimetu leidma Komandöre!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Kontroll Limiit Saavutatud - Tootmine Peatatud" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Ãœksus määratud" msgstr[1] "%s - %u Ãœksused määratud" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Kahju %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u Ãœhendatud %u -st" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektrooniliselt Kahjustatud" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektrooniline Autasu - Nägemis Raport" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Tehase Auhind - Liikumissüsteem" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Tehase Autasu - Kere" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Tehase Autasu - Relv" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Tehase Autasu - Midagi" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Remontimiskeskuse Autasu - Remont" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Remontimiskeskuse Autasu - Midagi" @@ -14688,11 +14727,11 @@ msgstr "Remontimiskeskuse Autasu - Midagi" msgid "Launch Transport" msgstr "Saada Transport Teele" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Abiväed Maanduvad" diff --git a/po/fi.po b/po/fi.po index b1fb2fdc8..865a51a2e 100644 --- a/po/fi.po +++ b/po/fi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-09 10:33+0000\n" "Last-Translator: Lartza \n" "Language-Team: Finnish \n" @@ -12002,16 +12002,16 @@ msgid "System locale" msgstr "" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12023,7 +12023,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12332,7 +12332,7 @@ msgid "Player dropped" msgstr "Pelaaja" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12549,7 +12549,7 @@ msgid "Join Game" msgstr "Liity peliin" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "ASETUKSET" @@ -12646,7 +12646,7 @@ msgid "Off" msgstr "Pois päältä" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Sumu" @@ -12657,7 +12657,7 @@ msgstr "" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "" @@ -12823,7 +12823,7 @@ msgid "GAME OPTIONS" msgstr "PELIASETUKSET" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12888,7 +12888,7 @@ msgid "Build (F3)" msgstr "Rakenna (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "" @@ -13056,7 +13056,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13098,110 +13098,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Palaa korjaukseen" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Palaa tukikohtaan" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Palaa kierrätykseen" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Kierrätä" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13482,9 +13482,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "" @@ -13976,298 +13976,337 @@ msgstr "" msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Hyväksy asetukset" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Syaani" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "YHTEYS" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Aula" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Etsitään" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Valitse kartta" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 #, fuzzy msgid "Select Player Name" msgstr "Valitse pelaajan nimi" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Liittoumat" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Ei liittoumia" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Salli liittoumat" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Tukikohta" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Aloita ilman tukikohtaa" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Omat rakennukset: %u" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Pelaaja" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Pelaaja" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "Moninpelikampanja" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Pelaaja" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "PELAAJAT" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 msgid "Click to change player colour" msgstr "" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Pelaaja" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Pelaaja" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Pelaajat" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14587,20 +14626,20 @@ msgstr "" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14629,62 +14668,62 @@ msgstr "" msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14693,11 +14732,11 @@ msgstr "" msgid "Launch Transport" msgstr "Laukaise kuljetus" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Lisäjoukot laskeutuvat" diff --git a/po/fr.po b/po/fr.po index fa4b86582..e11dd7b53 100644 --- a/po/fr.po +++ b/po/fr.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-04-21 08:32-0500\n" "Last-Translator: Gilles J. Séguin \n" "Language-Team: French \n" @@ -12113,17 +12113,17 @@ msgid "System locale" msgstr "Langage du système" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 #, fuzzy msgid "Enter password here" msgstr "Entrez le mot de passe " -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Impossible de résourdre le DNS du serveur maître (%s) !" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Impossible de communiquer avec le serveur maître ! Le port TCP %u est-il ouvert en sortie ?" @@ -12135,7 +12135,7 @@ msgstr "Impossible de communiquer avec le serveur maître ! Le port TCP %u est- #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12440,7 +12440,7 @@ msgid "Player dropped" msgstr "Joueur échapper" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Attente des autres joueurs" @@ -12653,7 +12653,7 @@ msgid "Join Game" msgstr "Joindre une Partie" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "" @@ -12748,7 +12748,7 @@ msgid "Off" msgstr "Désactivé" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Brouillard" @@ -12759,7 +12759,7 @@ msgstr "Brume" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Brouillard de guerre" @@ -12924,7 +12924,7 @@ msgid "GAME OPTIONS" msgstr "OPTIONS" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod: " @@ -12988,7 +12988,7 @@ msgid "Build (F3)" msgstr "Construction (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Énergie" @@ -13155,7 +13155,7 @@ msgstr "La partie ne peux continuer sans l'hôte." msgid "--> QUIT <--" msgstr "--> QUITTER <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13201,110 +13201,110 @@ msgstr "Objectif Actuel" msgid "New Intelligence Report" msgstr "Nouveau rapport de transmission" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Courte portée" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Longue Portée" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Portée Optimale" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Fuir à Dégâts Moyens" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Fuir à Dégâts Élevés" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Jusqu'à la Mort!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Feu à Volonté" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Riposter" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ne pas Tirer" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrouiller" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Poursuivre l'ennemi" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Défendre sa position" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Rester en position" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Retour pour Réparation" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Retour au QG" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Aller au Transporteur" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Retour pour Recyclage" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Lancer le Recyclage" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Lui Assigner la production d'une Usine" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Lui Assigner la production d'une Usine de Cyborgs" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Lui Assigner un support de Feu" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Lui assigner la production d'une usine de VTOLs" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Cercle" @@ -13590,9 +13590,9 @@ msgid "KEY MAPPING" msgstr "RACOURCIS CLAVIERS" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Revenir à l'écran précédent" @@ -14089,300 +14089,339 @@ msgstr "%s S'allie avec %s" msgid "You Discover Blueprints For %s" msgstr "Vous avez trouvé des plans pour %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accepter les Réglages" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Annuler" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Adresse IP ou Nom du Serveur" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONNEXION" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Antichambre" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Aucune partie disponible" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "La partie est pleine" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Vous avez été kické !" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Mauvaise version du Jeu !" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Vous avez un mod incompatible." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "L'hôte ne peut envoyer le fichier?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Mot de passe incorrect !" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "L'hôte a fermé la connexion!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Erreur de connexios" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Recherche" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "PARTIES" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Rafraîchir la Liste des Parties" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Entrez le mot de passe:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Nouveau Cyborg Disponible" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Nom de la partie" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "Escarmouche" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Carte à utiliser" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Cliquer pour choisir un mot de passe" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 #, fuzzy msgid "Scavengers" msgstr "Pillard" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Aucun Pillard" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Choisir Nom du Joueur" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Brouillard de distance" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Pas d'Alliances" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Autoriser les Alliances" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Verrouiller les Équipes" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Niveau d'énergie Faible" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Niveau d'énergie Moyen" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Niveau d'énergie Élevé" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Commencer sans Base" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Commencer avec une base" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Commencer avec une Base Avancée" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Prévisualisation de la carte" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Cliquer pour voir la carte" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Démarrer le Serveur" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Fixer des limites de Construction" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Fixer des limites de Construction" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Joueur" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Couleur du Joueur" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Équipe" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "chasser le joueur" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Cliquer pour choisir un mot de passe" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Cliquer une fois prêt" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "PRÊT?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "JOUEURS" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Cliquer pour choisir un mot de passe" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Verrouiller les Équipes" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar montrant les couleurs des joueurs" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Défendre sa position" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Cliquer pour choisir un mot de passe" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "Clavardage" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Tout les joueurs doivent avoir les mêmes mods pour jouer une partie." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** un mot de passe est désormais requis ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** mot de passe non requis ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Désolé ! Impossible d'héberger la partie." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Verrouiller les équipes" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "L'hôte a banni %s de la partie" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "L'hôte démarre la partie" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Joueurs" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Carte envoyé: %d%% " -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Carte: %d%% téléchargé" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "HOTE" @@ -14700,20 +14739,20 @@ msgstr "Temps de Jeu Total - %s" msgid "You cheated!" msgstr "Vous avez triché !" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "VOUS ÊTES VICTORIEUX !" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "VOUS AVEZ PERDU !" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Signal émis par %s !" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Signal %d" @@ -14742,63 +14781,63 @@ msgstr "Impossible de localiser la moindre unité radar !" msgid "Unable to locate any Commanders!" msgstr "Impossible de localiser le moindre Commandant !" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limite du Control Atteinte - Arrêt de la Production" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unité assignée" msgstr[1] "%s - %u Unités assignées" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Endommagé à %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u connexions établies sur %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Électroniquement endommagé" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Récompense électronique - Rapport de visibilité" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Récompense d'usine - Propulsion" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Récompense d'usine - Corps" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Récompense d'usine - Armes" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Récompense d'usine - Rien" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Récompense Atelier de réparation - Réparation" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Récompense Atelier de réparation - Rien" @@ -14807,11 +14846,11 @@ msgstr "Récompense Atelier de réparation - Rien" msgid "Launch Transport" msgstr "Envoyer le Transporteur" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Les renforts sont arrivés !" diff --git a/po/fy.po b/po/fy.po index 0f7d2e009..cc33465ec 100644 --- a/po/fy.po +++ b/po/fy.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-04-21 08:59+0000\n" "Last-Translator: Wander Nauta \n" "Language-Team: Frisian \n" @@ -11998,16 +11998,16 @@ msgid "System locale" msgstr "Systeemlocale" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12019,7 +12019,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12326,7 +12326,7 @@ msgid "Player dropped" msgstr "Spiler" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12542,7 +12542,7 @@ msgid "Join Game" msgstr "" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "YNSTELLINGS" @@ -12637,7 +12637,7 @@ msgid "Off" msgstr "" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Dize" @@ -12648,7 +12648,7 @@ msgstr "" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Kriigsdize" @@ -12813,7 +12813,7 @@ msgid "GAME OPTIONS" msgstr "" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12878,7 +12878,7 @@ msgid "Build (F3)" msgstr "Bouwe (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Krêft" @@ -13045,7 +13045,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13087,110 +13087,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13476,9 +13476,9 @@ msgid "KEY MAPPING" msgstr "KEY MAPPING" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Werom Nei Foarige Skerm" @@ -13971,301 +13971,340 @@ msgstr "%s Foarmet In Freonskip Mei %s" msgid "You Discover Blueprints For %s" msgstr "Do Fynst Blaudrukken Foar %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Ynstellings akspeteare" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Lochtblau" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP-adres as Machinenamme" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "FERBINING" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "Alle items binne beskikber makke" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Siekjen" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "SPULLEN" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Spullist fernije" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Spulnamme Selekteare" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Omjouwing Selekteare" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Spilernamme Selekteare" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Ôfstansdize" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Freonskippen" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Gjin Freonskippen" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Freonskippen Tastean" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Teams fêststelle" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Lege krêftniveaus" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Normale krêftniveaus" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Hege krêftniveaus" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Basis" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Begjinne mei gjin basis" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Begjinne mei basis" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Begjinne mei avanseare basis" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Tsjinnen Spul Starte" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Struktuurlimyten ynstelle" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Struktuurlimyten ynstelle" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Spiler" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Spiler" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "Spiler" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Radar lit spilerkleuren sjen" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "SPILERS" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Teams fêststelle" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar lit spilerkleuren sjen" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Spiler" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Radar lit spilerkleuren sjen" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "Teams fêststelle" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "De tsjinner hat %s fan it spul skopt!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Tsjinner is spul oan it starten" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Spilers" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14588,20 +14627,20 @@ msgstr "" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14630,62 +14669,62 @@ msgstr "Koe gjin Sensorienheden fine!" msgid "Unable to locate any Commanders!" msgstr "Koe gjin Kommandanten fine!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Kommandolimyt helle - Produksje stopt" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Ienheid tawezen" msgstr[1] "%s - %u Ienheden tawezen" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Skea %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u fan %u ferbûn" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronysk skea tabrocht" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektronyske priis - Sichtberhydsrapport" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Fabrykspriis - Oandriuwing" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Fabrykspriis - Lichem" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Fabrykspriis - Wapen" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Fabrykspriis - Niks" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Reparaasjefasiliteit Priis - Reparaasje" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Reparaasjefasiliteit Priis - Niks" @@ -14694,11 +14733,11 @@ msgstr "Reparaasjefasiliteit Priis - Niks" msgid "Launch Transport" msgstr "Transport starte" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Fersterking oan it landen" diff --git a/po/ga.po b/po/ga.po index ffbeebb3f..2ef9780da 100644 --- a/po/ga.po +++ b/po/ga.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-08 17:14+0000\n" "Last-Translator: Seanan \n" "Language-Team: Irish \n" @@ -11996,16 +11996,16 @@ msgid "System locale" msgstr "" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12017,7 +12017,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12324,7 +12324,7 @@ msgid "Player dropped" msgstr "Imreoir" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12539,7 +12539,7 @@ msgid "Join Game" msgstr "" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "ROGHANNA" @@ -12634,7 +12634,7 @@ msgid "Off" msgstr "" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Ceo" @@ -12645,7 +12645,7 @@ msgstr "" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "" @@ -12810,7 +12810,7 @@ msgid "GAME OPTIONS" msgstr "" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12873,7 +12873,7 @@ msgid "Build (F3)" msgstr "Tógáil (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Cumhacht" @@ -13037,7 +13037,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13079,110 +13079,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13464,9 +13464,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Fill Chuig An Scáileán Roimhe" @@ -13956,296 +13956,335 @@ msgstr "" msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Glac Leis Na Socruithe" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Cian" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "NASC" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Brústocaireacht" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "à Chuardach" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "CLUICHÃ" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Roghnaigh Ainm don Cluiche" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Roghnaigh Léarscáil" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Roghnaigh Ainm Imreora" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Comhbhánna" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Gan Comhbhánna" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Ceadaigh Comhbhánna" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Bunáit" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Tosaigh Gan Bunáiteanna" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Tosaigh le Bunáiteanna" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Imreoir" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Imreoir" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "Imreoir" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Imreoir" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "IMREOIRÃ" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 msgid "Click to change player colour" msgstr "" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Imreoir" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Imreoir" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "DÉAN COMHRÃ" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Imreoirí" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14566,20 +14605,20 @@ msgstr "" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14608,62 +14647,62 @@ msgstr "" msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14672,11 +14711,11 @@ msgstr "" msgid "Launch Transport" msgstr "" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "" diff --git a/po/hr.po b/po/hr.po index 6603497c7..036ad26d9 100644 --- a/po/hr.po +++ b/po/hr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: WZ2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: metalwarrior95 \n" "Language-Team: \n" @@ -12023,16 +12023,16 @@ msgid "System locale" msgstr "Lokalni" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "UpiÅ¡ite siÅ¡fru ovdje" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12044,7 +12044,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12349,7 +12349,7 @@ msgid "Player dropped" msgstr "IgraÄ Pao" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "ÄŒekanje na ostale igraÄe" @@ -12562,7 +12562,7 @@ msgid "Join Game" msgstr "Pridruži se Igri" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "POSTAVKE" @@ -12657,7 +12657,7 @@ msgid "Off" msgstr "IskljuÄeno" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Magla" @@ -12668,7 +12668,7 @@ msgstr "Misterija" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Magla Rata" @@ -12830,7 +12830,7 @@ msgid "GAME OPTIONS" msgstr "OPCIJE IGRE" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Modifikacija:" @@ -12894,7 +12894,7 @@ msgid "Build (F3)" msgstr "Gradi (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Resursi" @@ -13060,7 +13060,7 @@ msgstr "Igra se ne može nastaviti ako nema hosta." msgid "--> QUIT <--" msgstr "---> IZLAZ <---" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13102,110 +13102,110 @@ msgstr "Trenutni zadatak" msgid "New Intelligence Report" msgstr "Novo izvjeÅ¡Äe" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Kratka udaljenost" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Duga udaljenost" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Srednja udaljenost" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "PovlaÄenje kod srednje Å¡tete" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "PovlaÄenje kod visoke Å¡tete" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Napravi ili crkni!!!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Slobodno pucaj!" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "UzvraÄaj paljbu" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ne pucaj" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patroliraj" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Sljedi neprijatelja" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Obrambeni položaj" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Ne miÄi se" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Vrati se u Servis" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Vrati se do SjediÅ¡ta" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "OtiÄ‘i u Transporter" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Recikliraj" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Recikliraj" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Dodijeli proizvodnju Tvornice" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Dodijeli proizvodnju Robotske Tvornice" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Dodijeli artiljerijsku podrÅ¡ku" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Dodijeli proizvodnju Avionske Tvornice" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Kruži" @@ -13486,9 +13486,9 @@ msgid "KEY MAPPING" msgstr "TipkovniÄke kratice" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Nazad" @@ -13983,297 +13983,336 @@ msgstr "%s sklapa savez s %s" msgid "You Discover Blueprints For %s" msgstr "NaÅ¡ao si nacrte za %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Prihvati postavke" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "PoniÅ¡ti" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "VEZA" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Predvorje" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Nema dostupnih igara." -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Igra je popunjena!" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "IzbaÄen si!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Kriva verzija igre!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "ImaÅ¡ nedozvoljeni mod." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Host ne može poslati datoteku." -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "NetoÄna lozinka." -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Host je prekinuo igru." -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "GreÅ¡ka u povezivanju" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Traženje" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "Igre" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Osvježi popis igara" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Unesi lozinku:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Novi Kiborgi su dostupni" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Odaberi naziv igre" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "OkrÅ¡aj za 1 igraÄa" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Odaberi kartu" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Odaberi lozinku" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Sa stanovnicima" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Bez stanovnika" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Odaberi ime igraÄa" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Magla udaljenosti" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Savezi" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Opći rat" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Slobodno" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Timovi" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Niska razina resursa" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Srednja razina resursa" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Visoka razina resursa" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Baza" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "ZapoÄni bez baza" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "ZapoÄni sa bazama" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "ZapoÄni sa naprednim bazama" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Predprikaz karte" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Klikni za predprikaz karte" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "ZapoÄni hostanje igre" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Pokaži limite" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Postavi limite" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "IgraÄ" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Boja igraÄa" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Savez" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Izbaci igraÄa" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Odaberi lozinku" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "OznaÄi kada si spreman" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "SPREMAN?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "IgraÄi" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Odaberi lozinku" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Timovi" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Karta prikazuje boje igraÄa" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Obrambeni položaj" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Odaberi lozinku" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "ÄŒavrljanje" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Svi igraÄi moraju imati iste modove." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "Lozinka je potrebna." -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "Lozinka nije potrebna." -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Ne možeÅ¡ hostati igru." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Model saveza: Timovi" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Host je izbacio %s iz igre." -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Host zapoÄinje igru" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "IgraÄi" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Slanje karte: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Karta: %d%% downloadana" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "HOST" @@ -14591,20 +14630,20 @@ msgstr "Trajanje igre - %s" msgid "You cheated!" msgstr "Koristio si Å¡ifre!!!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "POBJEDIO SI!!!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "IZGUBIO SI!!!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "%s je postavio zastavicu." -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Zastavica %d" @@ -14633,63 +14672,63 @@ msgstr "NemaÅ¡ ni jedan mobilni radar." msgid "Unable to locate any Commanders!" msgstr "NemaÅ¡ ni jednog kapetana." -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limit prijeÄ‘en - Proizvodnja prekinuta" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, fuzzy, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u jedinica dodjeljena" msgstr[1] "%s - %u jedinica dodjeljena" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - OÅ¡teÄen %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Povezan s %u od %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Hakirano" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Nagrada hakirane graÄ‘evine - Vizualno izvjeÅ¡Äe" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Nagrada hakirane Tvornice - Vozni sustav" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Nagrada hakirane Tvornice - Trup" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Nagrada hakirane Tvornice - Oružje" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Nagrada hakirane Tvornice - NiÅ¡ta" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Nagrada hakiranog Servisa - Poravak" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Nagrada hakiranog Servisa - NiÅ¡ta" @@ -14698,11 +14737,11 @@ msgstr "Nagrada hakiranog Servisa - NiÅ¡ta" msgid "Launch Transport" msgstr "PoÅ¡alji transport" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "PojaÄanja dolaze" diff --git a/po/it.po b/po/it.po index 55d79a2fd..3092a4487 100644 --- a/po/it.po +++ b/po/it.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-12-14 22:19+0100\n" "Last-Translator: Cristian Odorico \n" "Language-Team: Italian \n" @@ -11999,16 +11999,16 @@ msgid "System locale" msgstr "System locale" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Inserisci qua la password" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Non posso decidere il nome del server master (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Non posso comunicare con il server della Lobby! La porta TCP %u è aperta?" @@ -12020,7 +12020,7 @@ msgstr "Non posso comunicare con il server della Lobby! La porta TCP %u è apert #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12325,7 +12325,7 @@ msgid "Player dropped" msgstr "Giocatore" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "In attesa degli altri giocatori" @@ -12537,7 +12537,7 @@ msgid "Join Game" msgstr "Unisciti a una partita" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPZIONI" @@ -12632,7 +12632,7 @@ msgid "Off" msgstr "Off" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Nebbia" @@ -12643,7 +12643,7 @@ msgstr "Nebbia" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Nebbia di Guerra" @@ -12805,7 +12805,7 @@ msgid "GAME OPTIONS" msgstr "OPZIONI DI GIOCO" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod:" @@ -12868,7 +12868,7 @@ msgid "Build (F3)" msgstr "Costruzione (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" @@ -13028,7 +13028,7 @@ msgstr "Il gioco non può continuare senza l'host." msgid "--> QUIT <--" msgstr "--> ABBANDONA <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13072,110 +13072,110 @@ msgstr "Obiettivo Corrente" msgid "New Intelligence Report" msgstr "Nuovo rapporto dell'Intelligence." -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Corto Raggio" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Lungo Raggio" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Raggio Ottimale" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Ritirata quando i danni sono medi" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ritirata quando i danni sono gravi" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Nessuna Ritirata" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Fuoco a volontà" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Rispondere al fuoco" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Cessare il fuoco" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Pattugliare" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Inseguire" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Vigliare la Posizione" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Tenere al posizione" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Rientrare per riparazioni" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Rientrare al QG" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Salire sul Trasporto" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Rientrare per il riciclo" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Ricicla" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Assegna la produzione della fabbrica" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Assegna produzione della fabbrica di Cyborg" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Assegna Fuoco di Supporto" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Assegna produzione della fabbrica di VTOL" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Circola" @@ -13455,9 +13455,9 @@ msgid "KEY MAPPING" msgstr "ASSEGNAZIONE TASTI" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Ritorna alla Schermata Precedente" @@ -13947,295 +13947,334 @@ msgstr "%s forma un'alleanza con %s" msgid "You Discover Blueprints For %s" msgstr "Hai scoperto i progetti per %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accetta le Impostazioni" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Cancella" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Indirizzo IP o Nome Computer" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONNESSIONE" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Non ci sono partite disponibili." -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "La partita è piena" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Sei stato kickato!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Versione del Gioco sbagliata!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Hai un mod incompatibile." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "L'Host non può mandare il file?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Password non corretta!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "L'host ha terminato la connessione!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Errore di connessione" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Ricerca in corso..." -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "PARTITE" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Aggiorna la Lista Partite" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Inserisci la password:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "Carri disabilitati!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "Cyborg disabilitati." -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "VTOL disabilitati." -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Seleziona il Nome della Partita" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Schermaglia a Un Giocatore" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Seleziona la Mappa" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Clicca per settare la Password" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Sciacalli" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "No Sciacalli" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Seleziona il Nome del Giocatore" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Nebbia sulla Distanza" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alleanze" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Nessuna Alleanza" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Concedi Alleanze" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Squadre Bloccate" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Livelli Energetici Bassi" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Livelli Energetici Medi" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Livelli Energetici Alti" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Inizia senza Basi" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Inizia con Basi" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Inizia con Basi Avanzate" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Anteprima mappa" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Clicca per visualizzare la mappa" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Inizia ad ospitare la Partita" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Mostra i limiti di strutture" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Imposta i limiti di strutture" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Giocatore" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Colore Giocatore" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Squadra" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Espelli giocatore" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Clicca per modificare la difficoltà dell'AI" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Clicca quando sei pronto" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "PRONTO?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "GIOCATORI" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Clicca per cambiare le impostazione del giocatore" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Scegli la squadra" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Clicca per cambiare le impostazione del giocatore" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Clicca per cambiare le impostazione del giocatore" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "Clicca per modificare la difficoltà dell'AI" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Clicca per cambiare le impostazione del giocatore" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Tutti i giocatori devono avere gli stessi mod per entrare nella tua partita." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "***La password [%s] ora è richiesta! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** La password non è richiesta! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Spiacente! Host della partita fallito." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Squadre Bloccate" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "L'host ha espulso %s dalla partita!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "L'host sta avviando la partita" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Giocatori" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Invio mappa: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Mappa: %d%% scaricata" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "HOST" @@ -14549,20 +14588,20 @@ msgstr "Tempo di Gioco Totale - %s" msgid "You cheated!" msgstr "Hai barato!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "VITTORIA!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "SEI STATO SCONFITTO" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Segnale ricevuto da %s" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Segnale %d" @@ -14591,63 +14630,63 @@ msgstr "Impossibile localizzare alcuna Unità Sensoria!" msgid "Unable to locate any Commanders!" msgstr "Impossibile localizzare alcun Comandante!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limite di Controllo Raggiunto - Produzione Arrestata" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unità Assegnata" msgstr[1] "%s - %u Unità Assegnate" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Danno %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Collegati %u di %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danneggiato Elettronicamente" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Premio Elettronico - Rapporto di Visibilità" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Premio della Fabbrica - Propulsione" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Premio della Fabbrica - Corpo" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Premio della Fabbrica - Arma" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Premio della Fabbrica - Niente" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Premio della Struttura di Riparazione - Ripara" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Premio della Struttura di Riparazione - Niente" @@ -14656,11 +14695,11 @@ msgstr "Premio della Struttura di Riparazione - Niente" msgid "Launch Transport" msgstr "Lancia il Trasporto" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "Non c'è abbastanza spazio nel Trasporto!" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "I rinforzi stanno atterrando" diff --git a/po/ko.po b/po/ko.po index 1efc57c61..9a0d6200b 100644 --- a/po/ko.po +++ b/po/ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100 2.3_branch\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-11-23 21:01+0900\n" "Last-Translator: Joshua Shin \n" "Language-Team: Korean Translation Team \n" @@ -12043,16 +12043,16 @@ msgid "System locale" msgstr "ì‚¬ìš©ìž ì‹œìŠ¤í…œ 언어" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "ì—¬ê¸°ì— ë¹„ë°€ë²ˆí˜¸ë¥¼ 입력하십시오" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "마스터서버 ì´ë¦„ì„ í™•ì¸í•  수 없습니다 (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "로비 서버와 통신할 수 없습니다! TCP í¬íŠ¸ %u ê°€ 보내는 íŠ¸ëž˜í”½ì— ëŒ€í•´ ì—´ë ¤ 있습니까?" @@ -12064,7 +12064,7 @@ msgstr "로비 서버와 통신할 수 없습니다! TCP í¬íŠ¸ %u ê°€ 보내는 #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12375,7 +12375,7 @@ msgid "Player dropped" msgstr "플레ì´ì–´ê°€ ì¸í„°ë„· ì—°ê²° 문제 ë˜ëŠ” 게임 버그 ë•Œë¬¸ì— í‡´ìž¥í•˜ì˜€ìŠµë‹ˆë‹¤" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "다른 플레ì´ì–´ë¥¼ ë” ê¸°ë‹¤ë¦¬ê³  있습니다" @@ -12588,7 +12588,7 @@ msgid "Join Game" msgstr "ë„¤íŠ¸ì›Œí¬ ê²Œìž„ 참여하기" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "옵션" @@ -12683,7 +12683,7 @@ msgid "Off" msgstr "꺼ì§" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "안개" @@ -12694,7 +12694,7 @@ msgstr "í림(Mist)" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "ì „ìŸì˜ 안개" @@ -12857,7 +12857,7 @@ msgid "GAME OPTIONS" msgstr "게임 옵션" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod (Modification):" @@ -12921,7 +12921,7 @@ msgid "Build (F3)" msgstr "건축 (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "ì „ë ¥" @@ -13081,7 +13081,7 @@ msgstr "ì´ ê²Œìž„ì€ í˜¸ìŠ¤íŠ¸ ì—†ì´ ê³„ì†í•  수 없습니다." msgid "--> QUIT <--" msgstr "--> 종료 <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13130,110 +13130,110 @@ msgstr "현재 목표" msgid "New Intelligence Report" msgstr "새로운 ë³´ë„" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "단거리" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "장거리" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "ìµœì  ê±°ë¦¬" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "중급 ì†ìƒì‹œ 후퇴" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "심한 ì†ìƒì‹œ 후퇴" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "후퇴 금지" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "ìžìœ  ì˜ì‚¬ë¡œ 사격" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "ì‘사(Return Fire)" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "사격 중지" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "순찰" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "추ì " -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "ìžì‹ ì˜ 위치 경호" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "ìžì‹ ì˜ 위치ì—ì„œ ì´ë™ 금지" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "수리하기 위해 ëŒì•„ê°€ë¼" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "본부로 ëŒì•„ê°€ë¼" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "수송선 탑승" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "재활용ë˜ê¸° 위해 ëŒì•„ê°€ë¼" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "재활용하기" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "공장 ìƒì‚° 할당하기" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "사ì´ë³´ê·¸ 공장 ìƒì‚° 할당하기" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "사격 ì§€ì› í• ë‹¹í•˜ê¸°" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "VTOL 공장 ìƒì‚° 할당하기" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "빙빙 ëŒì•„ë¼ " @@ -13514,9 +13514,9 @@ msgid "KEY MAPPING" msgstr "키보드 매핑" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "ì´ì „ 화면으로 ëŒì•„가기" @@ -14008,295 +14008,334 @@ msgstr "%sê°€ %s와(ê³¼) ë™ë§¹ì„ 맺었습니다" msgid "You Discover Blueprints For %s" msgstr "ë‹¹ì‹ ì´ %sì˜ ì²­ì‚¬ì§„ì„ ë°œê²¬í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "설정 ì ìš©" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "취소" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP 주소 ë˜ëŠ” 컴퓨터 ì´ë¦„" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "ì—°ê²°" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "로비" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "참여 가능한 ê²Œìž„ì´ ì—†ìŠµë‹ˆë‹¤" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "ê²Œìž„ì´ ë§Œì›ìž…니다" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "ë‹¹ì‹ ì´ í‡´ìž¥ë‹¹í•˜ì˜€ìŠµë‹ˆë‹¤!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "ìž˜ëª»ëœ ê²Œìž„ 버젼입니다!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "ë‹¹ì‹ ì€ í˜¸í™˜ë˜ì§€ 않는 mod를 사용 중입니다." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "호스트가 파ì¼ì„ 보내지 못했습니다." -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "비밀번호가 틀립니다!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "í˜¸ìŠ¤íŠ¸ì˜ ì—°ê²°ì´ ëŠì–´ì¡ŒìŠµë‹ˆë‹¤!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "ì—°ê²° ì—러(Error)" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "찾는 중" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "게임" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "게임 ëª©ë¡ ìƒˆë¡œê³ ì¹¨" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "비밀번호를 입력하십시오:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "확ì¸" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "탱í¬ê°€ 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "사ì´ë³´ê·¸ê°€ 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤." -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "VTOLì´ ë¹„í™œì„±í™”ë˜ì—ˆìŠµë‹ˆë‹¤." -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "게임 ì´ë¦„ ì„ íƒ" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "싱글플레ì´ì–´ 스커미쉬" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "맵 ì„ íƒ" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "í´ë¦­í•˜ì—¬ 비밀번호를 설정하십시오" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "스ìºë¹ˆì €" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "스ìºë¹ˆì € ì—†ìŒ" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "플레ì´ì–´ ì´ë¦„ ì„ íƒ" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "디스턴스(거리) 안개" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "ë™ë§¹" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "ë™ë§¹ ì—†ìŒ" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "ë™ë§¹ 있ìŒ" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "팀 잠금" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "ë‚®ì€ ì „ë ¥ 수준" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "중급 ì „ë ¥ 수준" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "ë†’ì€ ì „ë ¥ 수준" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "기지" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "기지 ì—†ì´ ì‹œìž‘í•˜ê¸°" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "기지를 갖추고 시작하기" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "고급 기지를 갖추고 시작하기" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "맵 미리보기" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "ë§µì„ ë³´ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "게임 í˜¸ìŠ¤íŒ…ì„ ì‹œìž‘í•˜ê¸°" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "구조물 제한 보기" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "구조물 제한 설정하기" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "플레ì´ì–´" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "플레ì´ì–´ 색" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "팀" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "플레ì´ì–´ 퇴장시키기" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "ì¸ê³µ 지능 ë‚œì´ë„를 변경하려면 í´ë¦­í•˜ì‹­ì‹œì˜¤" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "준비ë˜ì—ˆì„ ë•Œ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "시작" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "플레ì´ì–´" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "팀 ì„ íƒ" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "ì¸ê³µ 지능 ë‚œì´ë„를 변경하려면 í´ë¦­í•˜ì‹­ì‹œì˜¤" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "ì‚¬ìš©ìž ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ í´ë¦­í•˜ì‹­ì‹œì˜¤" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "채팅" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "모든 플레ì´ì–´ëŠ” 당신과 ê°™ì€ mod를 사용해야만 ê²Œìž„ì— ì°¸ì—¬í•  수 있습니다" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** ì´ì œ 비밀번호 [%s] ê°€ 요구ë©ë‹ˆë‹¤! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** 비밀번호가 요구ë˜ì§€ 않습니다! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "죄송합니다! 게임 í˜¸ìŠ¤íŒ…ì´ ì‹¤íŒ¨í•˜ì˜€ìŠµë‹ˆë‹¤" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "'팀 잠금' 모드가 켜졌습니다" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "호스트가 %s를 게임ì—ì„œ 퇴장시켰습니다!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "호스트가 ê²Œìž„ì„ ì‹œìž‘í•˜ê³  있습니다" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "플레ì´ì–´" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "ë§µì„ ë³´ë‚´ëŠ” 중: %d%% " -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "맵: %d%% 다운로드 완료" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "호스트" @@ -14614,20 +14653,20 @@ msgstr "ì´ ê²Œìž„ 시간소요 - %s" msgid "You cheated!" msgstr "ë‹¹ì‹ ì´ ì¹˜íŠ¸í–ˆìŠµë‹ˆë‹¤!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ë‹¹ì‹ ì´ ìŠ¹ë¦¬í–ˆìŠµë‹ˆë‹¤!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "ë‹¹ì‹ ì´ íŒ¨ë°°í–ˆìŠµë‹ˆë‹¤!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "%sì´ í‘œì§€ë¥¼ 보냈습니다!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "표지 %d" @@ -14655,62 +14694,62 @@ msgstr "센서 ìœ ë‹›ì„ ì°¾ì„ ìˆ˜ 없습니다!" msgid "Unable to locate any Commanders!" msgstr "ì‚¬ë ¹ê´€ì„ ì°¾ì„ ìˆ˜ 없습니다!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "제어 í•œê³„ì— ë„달하였습니다 - ìƒì‚°ì´ 중단ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - 유닛 %uê°œ 할당ë˜ì—ˆìŠµë‹ˆë‹¤" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - ë°ë¯¸ì§€ %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %uê°œ ì—°ê²° ë˜ì—ˆìŠµë‹ˆë‹¤ (ì „ì²´ %uê°œ)" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - ì „ìžì ìœ¼ë¡œ ì†ìƒë¨" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "ì „ìžì  ë³´ìƒ - 시계보고" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "공장 ë³´ìƒ - 추진력" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "공장 ë³´ìƒ - 차체" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "공장 ë³´ìƒ - 무기" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "공장 ë³´ìƒ - ì—†ìŒ" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "수리 시설 ìƒ - 수리" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "수리 시설 ìƒ - ì—†ìŒ" @@ -14719,11 +14758,11 @@ msgstr "수리 시설 ìƒ - ì—†ìŒ" msgid "Launch Transport" msgstr "수송선 출발" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "지ì›êµ°ì´ 착륙하고 있습니다" diff --git a/po/la.po b/po/la.po index e2d2d34cb..550cd3313 100644 --- a/po/la.po +++ b/po/la.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-09 16:39+0000\n" "Last-Translator: Giel van Schijndel \n" "Language-Team: Latin\n" @@ -12024,16 +12024,16 @@ msgid "System locale" msgstr "" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12045,7 +12045,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12350,7 +12350,7 @@ msgid "Player dropped" msgstr "" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12565,7 +12565,7 @@ msgid "Join Game" msgstr "" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "" @@ -12660,7 +12660,7 @@ msgid "Off" msgstr "" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "" @@ -12671,7 +12671,7 @@ msgstr "" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "" @@ -12831,7 +12831,7 @@ msgid "GAME OPTIONS" msgstr "" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12896,7 +12896,7 @@ msgid "Build (F3)" msgstr "Construo" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 #, fuzzy msgid "Power" @@ -13058,7 +13058,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13100,110 +13100,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 #, fuzzy msgid "Circle" msgstr "Exercitum" @@ -13485,9 +13485,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "" @@ -13979,292 +13979,328 @@ msgstr "" msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +msgid "Plays nice" +msgstr "" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +msgid "Click to change difficulty" +msgstr "" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 msgid "Click to change player colour" msgstr "" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 msgid "Click to change player position" msgstr "" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +msgid "Click to change AI" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14580,20 +14616,20 @@ msgstr "" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14622,62 +14658,62 @@ msgstr "" msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14686,11 +14722,11 @@ msgstr "" msgid "Launch Transport" msgstr "" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "" diff --git a/po/lt.po b/po/lt.po index d24a0afab..9dee35265 100644 --- a/po/lt.po +++ b/po/lt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-09 16:42+0000\n" "Last-Translator: Roman \n" "Language-Team: Lithuanian \n" @@ -11998,16 +11998,16 @@ msgid "System locale" msgstr "VietinÄ— sistema" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12019,7 +12019,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12326,7 +12326,7 @@ msgid "Player dropped" msgstr "ŽaidÄ—jas" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12543,7 +12543,7 @@ msgid "Join Game" msgstr "" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "" @@ -12638,7 +12638,7 @@ msgid "Off" msgstr "" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "" @@ -12649,7 +12649,7 @@ msgstr "" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "" @@ -12810,7 +12810,7 @@ msgid "GAME OPTIONS" msgstr "" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12875,7 +12875,7 @@ msgid "Build (F3)" msgstr "Pastatyti (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energija" @@ -13040,7 +13040,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13082,110 +13082,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13466,9 +13466,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "" @@ -13961,296 +13961,335 @@ msgstr "%s sukuria sÄ…jungÄ… su %s" msgid "You Discover Blueprints For %s" msgstr "Tu iÅ¡radai mÄ—lynus pÄ—dsakus skirtus %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Žydra" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "ŽaidÄ—jas" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "ŽaidÄ—jas" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "ŽaidÄ—jas" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "ŽaidÄ—jas" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 msgid "Click to change player colour" msgstr "" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "ŽaidÄ—jas" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "ŽaidÄ—jas" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14571,20 +14610,20 @@ msgstr "" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14613,62 +14652,62 @@ msgstr "" msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14677,11 +14716,11 @@ msgstr "" msgid "Launch Transport" msgstr "IÅ¡leisti transportÄ…" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Pastiprinimas leidžiasi" diff --git a/po/nb.po b/po/nb.po index 0fbefc171..5c99261b3 100644 --- a/po/nb.po +++ b/po/nb.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2008-05-09 16:54+0000\n" "Last-Translator: Olav Andreas Lindekleiv \n" "Language-Team: none\n" @@ -12029,16 +12029,16 @@ msgid "System locale" msgstr "SystemsprÃ¥k" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12050,7 +12050,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12360,7 +12360,7 @@ msgid "Player dropped" msgstr "Spiller" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12575,7 +12575,7 @@ msgid "Join Game" msgstr "Bli med i spill" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "ALTERNATIVER" @@ -12672,7 +12672,7 @@ msgid "Off" msgstr "Av" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "TÃ¥ke" @@ -12683,7 +12683,7 @@ msgstr "" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "KrigstÃ¥ke" @@ -12850,7 +12850,7 @@ msgid "GAME OPTIONS" msgstr "SPILLALTERNATIVER" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12918,7 +12918,7 @@ msgid "Build (F3)" msgstr "Bygg (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energi" @@ -13092,7 +13092,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13134,110 +13134,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13522,9 +13522,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "" @@ -14020,304 +14020,343 @@ msgstr "%s gÃ¥r inn i alianse med %s" msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aksepter instillinger" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "CyanblÃ¥" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP-adresse eller maskinnavn" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "TILKOBLING" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Entré" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "Alle gjenstander er nÃ¥ tilgjengelige" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Søker" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "SPILL" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Oppdater Spilliste" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 #, fuzzy msgid "Enter Password:" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Velg spillnavn" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Velg kart" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 #, fuzzy msgid "Click to set Password" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Velg spillernavn" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Allianser" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Ingen allianser" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Aktiver allianser" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "LÃ¥ste lag" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Lavt energinivÃ¥" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Middels energinivÃ¥" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Høyt energinivÃ¥" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Start uten baser" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Start med baser" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Start med avanserte baser" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "ForhÃ¥ndsvisning av kart" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Sett strukturbegrensninger" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Sett strukturbegrensninger" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Spiller" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Spiller" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "Samspill" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Trykk for Ã¥ se kartet" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "SPILLERE" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Trykk for Ã¥ se kartet" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "LÃ¥ste lag" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar viser spillernes farger" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Spiller" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Trykk for Ã¥ se kartet" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "PRAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "LÃ¥ste lag" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Verten har kastet ut %s fra spillet!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Vert starter spill" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Spillere" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14638,20 +14677,20 @@ msgstr "" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "DU HAR VUNNET!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "DU HAR TAPT!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14680,62 +14719,62 @@ msgstr "" msgid "Unable to locate any Commanders!" msgstr "" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "" msgstr[1] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, fuzzy, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Skade %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Forbundet med %u av %u mulige" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektrisk skadet" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14744,11 +14783,11 @@ msgstr "" msgid "Launch Transport" msgstr "Send transport" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Forsterkninger lander" diff --git a/po/nl.po b/po/nl.po index b016ca5f4..4b58ef27b 100644 --- a/po/nl.po +++ b/po/nl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2009-10-31 12:10+0100\n" "Last-Translator: \n" "Language-Team: Dutch \n" @@ -12206,17 +12206,17 @@ msgid "System locale" msgstr "Systeemtaal" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 #, fuzzy msgid "Enter password here" msgstr "Vul eerst het wachtwoord in" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, fuzzy, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Kan niet communiceren met de lobby server! is TCP port 9990 open?" @@ -12228,7 +12228,7 @@ msgstr "Kan niet communiceren met de lobby server! is TCP port 9990 open?" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12534,7 +12534,7 @@ msgid "Player dropped" msgstr "Speler gevallen" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Op andere spelers wachten" @@ -12747,7 +12747,7 @@ msgid "Join Game" msgstr "Deelnemen aan spel" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPTIES" @@ -12842,7 +12842,7 @@ msgid "Off" msgstr "Uit" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Mist" @@ -12853,7 +12853,7 @@ msgstr "Nevel" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Oorlogsmist" @@ -13021,7 +13021,7 @@ msgid "GAME OPTIONS" msgstr "SPELINSTELLINGEN" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13085,7 +13085,7 @@ msgid "Build (F3)" msgstr "Bouw (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" @@ -13252,7 +13252,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13295,110 +13295,110 @@ msgstr "Huidig doel" msgid "New Intelligence Report" msgstr "Nieuwe inlichtingen" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Kort bereik" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Groot bereik" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optimaal bereik" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Terugkeren bij gemiddelde schade" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Terugkeren bij zware schade" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "De dood of de gladiolen!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Vuur vrij" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Terugschieten" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Niet schieten" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrouilleren" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Achtervolgen" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Bewaak positie" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Hou positie" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Keer terug voor reparatie" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Keer terug naar HK" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ga naar vervoer" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Keer terug voor hergebruik" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Hergebruiken" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Fabrieksproductie toewijzen" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Cyborg-fabrieksproductie toewijzen" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Vuursteun toewijzen" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "VTOL-fabrieksproductie toewijzen" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Cirkel" @@ -13683,9 +13683,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Terug naar vorig scherm" @@ -14183,306 +14183,345 @@ msgstr "%s vormt een bondgenootschap met %s" msgid "You Discover Blueprints For %s" msgstr "Je ontdekt blauwdrukken voor %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Accepteer instellingen" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Lansier" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP-adres of computernaam" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "VERBINDING" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "Nieuwe technologieën zijn beschikbaar" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Spel is vol" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "jij bent eruit geschopt!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Verkeerde spel versie!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Incorrect wachtwoord!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Gastheer heeft de connectie verbroken!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Connectie fout" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Zoeken" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "SPELLEN" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Ververs lijst met spellen" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 #, fuzzy msgid "Enter Password:" msgstr "Vul eerst het wachtwoord in" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Nieuwe cyborg beschikbaar" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Kies spelnaam" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "Schermutseling voor 1 speler" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Kies kaart" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Klik om wachtwoord intevullen" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 #, fuzzy msgid "Scavengers" msgstr "Aaseter" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 #, fuzzy msgid "No Scavengers" msgstr "Aaseter" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Kies spelernaam" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Afstandsmist" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Bondgenootschappen toestaan" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Geen bondgenootschappen toestaan" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Bondgenootschappen toestaan" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Vergrendelde ploegen" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Lage energieniveaus" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Normale energieniveaus" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Hoge energieniveaus" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Basis" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Start zonder basis" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Start met basis" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Start met gevanceerde basis" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Kaartvoorbeeld" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Klik om kaart te zien" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Optreden als gastheer" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Gebouwlimiet instellen" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Gebouwlimiet instellen" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Speler" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Speler verliet het spel" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Ploeg" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 spelers" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Klik om wachtwoord intevullen" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Klik zodra klaar" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "SPELERS" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Klik om wachtwoord intevullen" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Vergrendelde ploegen" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar toont spelerskleuren" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Bewaak positie" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Klik om wachtwoord intevullen" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "BABBEL" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** wachtwoord is NU nodig! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** Er is GEEN wachtwoord nodig! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Vergrendelde ploegen" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "De gastheer heeft %s uit het spel verwijderd!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Gastheer start spel" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Spelers" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14802,20 +14841,20 @@ msgstr "Totale speeltijd - %s" msgid "You cheated!" msgstr "Je hebt valsgespeeld!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "JE HEBT GEWONNEN!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "JE BENT VERSLAGEN!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Baken ontvangen van %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Baken %d" @@ -14844,63 +14883,63 @@ msgstr "Kon geen sensoreenheden vinden!" msgid "Unable to locate any Commanders!" msgstr "Kon geen commandanten vinden!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Commando controlelimiet bereikt - Productie gestopt" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Eenheid toegewezen" msgstr[1] "%s - %u Eenheden toegewezen" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Schade %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Verbonden met %u van %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronisch beschadigd" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektronische onderscheiding - Zichtbaarheidsverslag" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Fabrieksonderscheiding - Aandrijving" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Fabrieksonderscheiding - Carrosserie" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Fabrieksonderscheiding - Wapen" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Fabrieksonderscheiding - Niets" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Reparatie-onderscheiding - Reparatie" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Reparatie-onderscheiding - Niets" @@ -14909,11 +14948,11 @@ msgstr "Reparatie-onderscheiding - Niets" msgid "Launch Transport" msgstr "Vervoer wegsturen" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Versterkingen landen" diff --git a/po/pl.po b/po/pl.po index 7c1a05cda..c2dccf15a 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-12-11 17:00+0100\n" "Last-Translator: MichaÅ‚ D. aka Emdek \n" "Language-Team: Polish \n" @@ -12008,16 +12008,16 @@ msgid "System locale" msgstr "JÄ™zyk systemu" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Wpisz hasÅ‚o tutaj" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Nie można rozwinąć nazwy głównego serwera (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Nie można skomunikować siÄ™ z serwerem lobby! Czy port %u TCP jest otwarty dla ruchu wychodzÄ…cego?" @@ -12029,7 +12029,7 @@ msgstr "Nie można skomunikować siÄ™ z serwerem lobby! Czy port %u TCP jest otw #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12334,7 +12334,7 @@ msgid "Player dropped" msgstr "Gracz odrzucony" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Oczekiwanie na graczy" @@ -12552,7 +12552,7 @@ msgid "Join Game" msgstr "DoÅ‚Ä…cz do gry" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPCJE" @@ -12647,7 +12647,7 @@ msgid "Off" msgstr "WyÅ‚Ä…cz" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "MgÅ‚a" @@ -12658,7 +12658,7 @@ msgstr "MgieÅ‚ka" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "MgÅ‚a wojny" @@ -12820,7 +12820,7 @@ msgid "GAME OPTIONS" msgstr "USTAWIENIA GRY" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod: " @@ -12884,7 +12884,7 @@ msgid "Build (F3)" msgstr "Buduj (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" @@ -13044,7 +13044,7 @@ msgstr "Gra nie może być kontynuowana bez hosta." msgid "--> QUIT <--" msgstr "--> WYJÅšCIE <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13090,110 +13090,110 @@ msgstr "Obecny cel" msgid "New Intelligence Report" msgstr "Nowy raport wywiadu" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Krótki zasiÄ™g" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Daleki zasiÄ™g" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Optymalny zasiÄ™g" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Wycofaj siÄ™ przy Å›rednich obrażeniach" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Wycofaj siÄ™ przy ciężkich obrażeniach" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Wykonaj lub giÅ„!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Strzelaj bez rozkazu" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Odpowiadaj ogniem" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Wstrzymaj ogieÅ„" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patroluj" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Åšcigaj" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "ChroÅ„ pozycjÄ™" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Trzymaj pozycjÄ™" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Wróć do naprawy" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Wróć do kwatery głównej" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Idź do transportu" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Wróć na przetworzenie" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Przetwórz" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Przypisz produkcjÄ™ Fabryki" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Przypisz produkcjÄ™ Fabryki Cyborgów" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Przypisz wsparcie ogniowe" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Przypisz produkcjÄ™ Fabryki VTOL" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Krąż" @@ -13473,9 +13473,9 @@ msgid "KEY MAPPING" msgstr "SKRÓTY KLAWISZOWE" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Wstecz" @@ -13965,295 +13965,334 @@ msgstr "%s tworzy sojusz z %s" msgid "You Discover Blueprints For %s" msgstr "Odkrywasz plany: %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Zapisz ustawienia" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Anuluj" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Adres IP lub nazwa komputera" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "POÅÄ„CZENIE" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Brak dostÄ™pnych gier" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Brak miejsc" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "ZostaÅ‚eÅ› wyrzucony!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "NiewÅ‚aÅ›ciwa wersja gry!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Masz niekompatybilny mod." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Host nie mógÅ‚ przesÅ‚ać pliku?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "NiewÅ‚aÅ›ciwe hasÅ‚o!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Host zerwaÅ‚ poÅ‚Ä…czenie!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "BÅ‚Ä…d poÅ‚Ä…czenia" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Wyszukiwanie" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "GRY" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "OdÅ›wież listÄ™ gier" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Wpisz hasÅ‚o:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "CzoÅ‚gi wyÅ‚Ä…czone!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "Cyborgi wyÅ‚Ä…czone." -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "Jednostki VTOL wyÅ‚Ä…czone." -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Wybierz nazwÄ™ gry" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Potyczka" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Wybór mapy" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Kliknij by ustawić hasÅ‚o" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Åšmieciarze" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Brak Åšmieciarzy" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Wybierz nazwÄ™ gracza" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "MgÅ‚a dystansowa" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Sojusze" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Brak sojuszy" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Pozwól na sojusze" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Zablokowane drużyny" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Niskie poziomy energii" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Åšrednie poziomy energii" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Wysokie poziomy energii" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Baza" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Rozpocznij bez baz" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Rozpocznij z bazami" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Rozpocznij z zaawansowanymi bazami" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "PodglÄ…d mapy" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Kliknij by obejrzeć mapÄ™" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Rozpocznij grÄ™ jako Host" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Pokaż limit struktur" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Ustaw limit struktur" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Gracz" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Kolor gracza" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Drużyna" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Wyrzuć gracza" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Kliknij aby dostosować poziom sztucznej inteligencji" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Kliknij kiedy jesteÅ› gotowy" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "GOTOWY?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "GRACZE" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Kliknij aby zmienić ustawienia gracza" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Wybierz drużynÄ™" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Kliknij aby zmienić ustawienia gracza" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Kliknij aby zmienić ustawienia gracza" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "Kliknij aby dostosować poziom sztucznej inteligencji" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Kliknij aby zmienić ustawienia gracza" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Wszyscy gracze muszÄ… mieć takie same mody aby przyÅ‚Ä…czyć siÄ™ do twojej gry." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** hasÅ‚o [%s] jest teraz wymagane! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** hasÅ‚o jest teraz niewymagane! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Przepraszamy! Nie udaÅ‚o siÄ™ utworzyć serwera gry." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "WÅ‚Ä…czono 'zablokowane drużyny'" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Host wyrzuciÅ‚ %s z gry!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Host rozpoczyna grÄ™" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Gracze" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "PrzesyÅ‚anie mapy: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% pobrane" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "HOST" @@ -14567,20 +14606,20 @@ msgstr "CaÅ‚kowity czas gry - %s" msgid "You cheated!" msgstr "OszukiwaÅ‚eÅ›!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ZWYCIĘŻYÅEÅš!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "ZOSTAÅEÅš POKONANY!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "SygnaÅ‚ otrzymany od %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "SygnaÅ‚ %d" @@ -14610,13 +14649,13 @@ msgstr "Niemożna odnaleźć jednostek z radarami!" msgid "Unable to locate any Commanders!" msgstr "Niemożna odnaleźć dowódców!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limit kontrolny osiÄ…gniÄ™ty - produkcja wstrzymana" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14624,51 +14663,51 @@ msgstr[0] "%s - %u Jednostka przydzielona" msgstr[1] "%s - %u Jednostki przydzielone" msgstr[2] "%s - %u Jednostek przydzielonych" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Uszkodzenia %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - PoÅ‚Ä…czony %u z %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Uszkodzony elektronicznie" # This maybe sound weird, but I translated this as 'stolen technology' -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Technologia skradziona - raport widocznoÅ›ci" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Technologia skradziona - NapÄ™d" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Technologia skradziona - KadÅ‚ub" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Technologia skradziona - BroÅ„" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Technologia skradziona - Brak" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Technologia skradziona - Naprawa" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Technologia skradziona - Brak" @@ -14677,11 +14716,11 @@ msgstr "Technologia skradziona - Brak" msgid "Launch Transport" msgstr "Uruchom transport" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "Nie ma dość miejsca w Transportowcu!" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "PosiÅ‚ki lÄ…dujÄ…" diff --git a/po/pt.po b/po/pt.po index 22fdc16d4..1cbf1e097 100644 --- a/po/pt.po +++ b/po/pt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2009-08-04 22:59+0100\n" "Last-Translator: Pedro Miguel Martins da Silva Caetano \n" "Language-Team: Portugese \n" @@ -12154,17 +12154,17 @@ msgid "System locale" msgstr "Linguagem do sistema" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 #, fuzzy msgid "Enter password here" msgstr "Insere Primeiro a Palavra-passe" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Não pode ser obtido o nome do masterserver (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Não foi possível comunicar com o servidor de lobby! A porta TCP %u está aberta para tráfego outgoing?" @@ -12176,7 +12176,7 @@ msgstr "Não foi possível comunicar com o servidor de lobby! A porta TCP %u est #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12483,7 +12483,7 @@ msgid "Player dropped" msgstr "Jogador caiu" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "À espera dos outros jogadores" @@ -12697,7 +12697,7 @@ msgid "Join Game" msgstr "Juntar-se a Jogo" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPÇÕES" @@ -12792,7 +12792,7 @@ msgid "Off" msgstr "Desligado" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Nevoeiro" @@ -12803,7 +12803,7 @@ msgstr "Nevoeiro" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Nevoeiro de guerra" @@ -12970,7 +12970,7 @@ msgid "GAME OPTIONS" msgstr "OPÇÕES DE JOGO" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13033,7 +13033,7 @@ msgid "Build (F3)" msgstr "Construir (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" @@ -13201,7 +13201,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13242,110 +13242,110 @@ msgstr "Objectivo Actual" msgid "New Intelligence Report" msgstr "Novo relatório de informação." -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Curta Distância" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Longa Distância" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Distância Apropriada" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Recuar com Danos Médios" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Recuar com Danos Graves" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Vence ou Morre!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Disparar à Vontade" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Responder a Fogo" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Não disparar" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrulhar" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Perseguir" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Defender Posição" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Manter posição" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Voltar para Reparações" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Voltar para o QG" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ir para o Transporte" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Voltar para Reciclagem" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Reciclar" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Designar Produção de Fábrica" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Designar produção de fábrica de Cyborgs" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Designar Apoio de Fogo" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Designar produção de Fábrica de VTOLs" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 #, fuzzy msgid "Circle" msgstr "Círculo" @@ -13630,9 +13630,9 @@ msgid "KEY MAPPING" msgstr "DEFINIÇÃO DE TECLAS" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Voltar ao ecrâ anterior" @@ -14129,303 +14129,342 @@ msgstr "%s forma uma Aliança com %s" msgid "You Discover Blueprints For %s" msgstr "Descobriste esquemas para %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aceitar definições" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "Lancer" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Endereço IP ou nome do Computador" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "Conexão" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Não há jogos disponíveis" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Jogo cheio" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Foste expulso!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Versão Errada do Jogo!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Palavra-passe incorrecta!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Erro de conexão" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "A Procurar" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "JOGOS" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Actualizar Lista de Jogos" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 #, fuzzy msgid "Enter Password:" msgstr "Insere Primeiro a Palavra-passe" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Novo Cyborg Disponível" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Seleccionar Nome do Jogo" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "Skirmish de Um Jogador" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Seleccionar Mapa" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Clica para definir Palavra-passe" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Saqueadores" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Sem Saqueadores" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Seleccionar Nome de Jogador" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Nevoeiro de distância" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alianças" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Sem Alianças" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Permitir Alianças" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Equipas Fixas" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Níveis de Energia Baixos" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Níveis de Energia Médios" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Níveis de Energia Altos" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Base" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Começar sem Bases" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Começar com Bases" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Começar com Bases Avançadas" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Pré-visualizar o mapa" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Clica para ver o mapa" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Iniciar Servidor de Jogo" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Ajustar Limites de Estrutura" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Ajustar Limites de Estrutura" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Jogador" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Jogador Saiu" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Equipa" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 jogadores" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Clica para definir Palavra-passe" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Clica quando estiveres pronto" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "JOGADORES" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Clica para definir Palavra-passe" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Equipas Fixas" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar a mostrar cores de jogador" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Defender Posição" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Clica para definir Palavra-passe" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** É agora necessária uma Palavra-passe! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** NÃO é necessária Palavra-passe ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Desculpa! Não foi possível criar o jogo." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Modo \"Equipas Fixas\" activado" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "O servidor kickou %s do jogo!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "O servidor está a começar o jogo" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Jogadores" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14746,20 +14785,20 @@ msgstr "Tempo de Jogo Total - %s" msgid "You cheated!" msgstr "Fizeste batota!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "FOSTE VITORIOSO!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "FOSTE DERROTADO" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Sinalizador recebido de %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Sinalizador %d" @@ -14788,62 +14827,62 @@ msgstr "Incapaz de localizar qualquer unidade de Sensor" msgid "Unable to locate any Commanders!" msgstr "Incapaz de localizar qualquer Comandante!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Limite de Controlo de Comando Alcançado - Produção Parada" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u unidade atribuída" msgstr[1] "%s - %u unidades atribuídas" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Dano %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Ligado a %u de %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danificado Electronicamente" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Recompensa Electrónica - Relatório de Visibilidade" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Recompensa de Fábrica - Propulsão" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Recompensa de Fábrica - Corpo" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Recompensa de Fábrica - Arma" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Recompensa de Fábrica - Nada" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Recompensa de Posto de Reparação - Reparações" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Recompensa de Posto de Reparação - Nada" @@ -14852,11 +14891,11 @@ msgstr "Recompensa de Posto de Reparação - Nada" msgid "Launch Transport" msgstr "Descolar Transporte" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Reforços a aterrar" diff --git a/po/pt_BR.po b/po/pt_BR.po index bd9d1319a..d2e4a5f11 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-12-05 23:47-0300\n" "Last-Translator: Artur Filipe \n" "Language-Team: Brazilian Portugese \n" @@ -11989,16 +11989,16 @@ msgid "System locale" msgstr "Localização do Sistema" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Entre a senha aqui" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Não foi possível resolver o nome do servidor mestre (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Não foi possível communicar com o servidor de lobby! A porta TCP %u está aberta para tráfego saindo?" @@ -12010,7 +12010,7 @@ msgstr "Não foi possível communicar com o servidor de lobby! A porta TCP %u es #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12315,7 +12315,7 @@ msgid "Player dropped" msgstr "Jogador desconectou-se" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Aguardando outros jogadores" @@ -12527,7 +12527,7 @@ msgid "Join Game" msgstr "Conectar-se a um jogo" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPÇÕES" @@ -12622,7 +12622,7 @@ msgid "Off" msgstr "Desligado" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Nevoeiro" @@ -12633,7 +12633,7 @@ msgstr "Misto" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Nevoeiro da Guerra" @@ -12793,7 +12793,7 @@ msgid "GAME OPTIONS" msgstr "OPÇÕES DE JOGO" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod:" @@ -12856,7 +12856,7 @@ msgid "Build (F3)" msgstr "Construir (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" @@ -13016,7 +13016,7 @@ msgstr "O jogo não pode continuar sem o hosp." msgid "--> QUIT <--" msgstr "--> SAIR <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13060,110 +13060,110 @@ msgstr "Objetivo Atual" msgid "New Intelligence Report" msgstr "Chegando relatório de inteligência." -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Curto Alcance" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Longo Alcance" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Medio Alcance" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Recuar Com Danos Médios" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Recuar Com Danos Pesados" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Não Recuar!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Atire A Vontade" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Retornar Fogo" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Não Atirar" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrulhar" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Seguir" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Defender Posição" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Manter Posição" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Retornar para Reparos" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Retornar para QG" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Ir para Transporte" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Retornar para Reciclagem" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Reciclar" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Designar Produção de Fabrica" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Designar Produção de Ciborgues" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Designar Suporte de Artilharia" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Designar Produção de VTOL" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Circular" @@ -13443,9 +13443,9 @@ msgid "KEY MAPPING" msgstr "CONFIGURAÇÃO DAS TECLAS" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Return a Tela Anterior" @@ -13935,295 +13935,334 @@ msgstr "%s Formar uma alliança com %s" msgid "You Discover Blueprints For %s" msgstr "Você descobre projetos para %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Aceitar Configurações" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Cancelar" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Endereço IP ou Nome da Máquina" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONEXÃO" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Não há jogos disponíveis" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "A sessão está cheia" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Você foi expulso!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Versão do Jogo Errada!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Você tem um mod incompatível" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Hosp. não pôde enviar arquvo?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Senha Incorreta!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "O Hospedeiro terminou a conexão!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Erro de conexão" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Pesquisando" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "JOGOS" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Atualizar Lista de Jogos" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Entre a Senha:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "OK" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "Tanques desativados!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "Ciborgues desativados." -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "VTOLs desativados." -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Selecionar Nome do Jogo" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Jogador vs. Computador" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Selecionar o Mapa" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Clique para requered uma senha" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Com Catadores" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Sem Catadores" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Selecionar o Nome do Jogador" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Distância do Nevoeiro" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Alianças" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Sem Alianças" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Permitir Alianças" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Trancar Times" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Nível de Energia Baixo" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Nível de Energia Médio" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Nível de Energia Alto" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Bases" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Iniciar sem Bases" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Iniciar com Bases" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Iniciar com Bases Avançadas" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Previsualização do Mapa" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Clique para ver o Mapa" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Iniciar Hospedagem de Jogo" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Exibir Limites da Estrutura" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Definir Limites da Estrutura" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Jogador" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Cor do jogador" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Time" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Expulsar jogador" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Clique para ajustar a dificuldade da IA" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Clique quando estiver pronto" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "PRONTO?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "JOGADORES" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Clique para alterar as configs. de jogador" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Escolher Time" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Clique para alterar as configs. de jogador" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Clique para alterar as configs. de jogador" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "Clique para ajustar a dificuldade da IA" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Clique para alterar as configs. de jogador" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "BATE-PAPO" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Todos os jogadores devem ter os mesmos mods para entrar no seu jogo." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** senha [%s] agora é necessária! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** a sessão NÃO está protegida por senha ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Desculpe! Falha ao hospedar uma sessão." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Modo 'Times Fixos' ativado" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "O Host chutou %s do jogo!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "O Host iniciou o Jogo" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Jogadores" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Enviando mapa: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Mapa: %d%% baixado" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "HOSPEDEIRO" @@ -14537,20 +14576,20 @@ msgstr "Tempo Total de Jogo - %s" msgid "You cheated!" msgstr "Você trapaceou!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "VOCÊ FOI VITORIOSO" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "VOCÊ FOI DERROTADO" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Sinal recebido de %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Sinal %d" @@ -14579,62 +14618,62 @@ msgstr "Impossível localizar Unidades de Sensor!" msgid "Unable to locate any Commanders!" msgstr "Impossível localizar Comandantes!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Limite de Unidade Alcançado - Produção Interrompida" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Unidade designada" msgstr[1] "%s - %u Unidades designadas" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Dano %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u de %u conectados" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Danificado Eletronicamente" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Prêmio - Relatório de Visibilidade" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Prêmio - Propulsão" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Prêmio - Chassis" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Prêmio - Arma" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Prêmio - Nada" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Prêmio - Centro de Reparos" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Prêmio - Nada" @@ -14643,11 +14682,11 @@ msgstr "Prêmio - Nada" msgid "Launch Transport" msgstr "Lançar Transportes" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "Não há espaço o bastante no Transporte!" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Reforços de aterragem" diff --git a/po/ro.po b/po/ro.po index b71ff5213..04194e6d8 100644 --- a/po/ro.po +++ b/po/ro.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-10-24 13:31+0200\n" "Last-Translator: Adrian Mos \n" "Language-Team: Romanian \n" @@ -11996,16 +11996,16 @@ msgid "System locale" msgstr "Limba sistemului" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Introdu parola aici" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12017,7 +12017,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12322,7 +12322,7 @@ msgid "Player dropped" msgstr "Jucătorul s-a deconectat" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "AÈ™teptare pentru alÈ›i jucători" @@ -12535,7 +12535,7 @@ msgid "Join Game" msgstr "Alătură-te unui joc" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "OPÈšIUNI" @@ -12630,7 +12630,7 @@ msgid "Off" msgstr "Dezactivat" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Ceață" @@ -12641,7 +12641,7 @@ msgstr "Negură" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "CeaÈ›a bătăliei" @@ -12803,7 +12803,7 @@ msgid "GAME OPTIONS" msgstr "OPÈšIUNI DE JOC" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Modificare:" @@ -12867,7 +12867,7 @@ msgid "Build (F3)" msgstr "ConstrucÈ›ie (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energie" @@ -13027,7 +13027,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13069,110 +13069,110 @@ msgstr "Obiectivul curent" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Rază scurtă" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Rază lungă" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Rază optimă" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Retragere la avarii serioase" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Retragere la avarii grave" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Fă sau mori!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Foc de voie" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Foc de răspuns" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Foc oprit" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patrulează" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "UrmăreÈ™te" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "PăzeÈ™te poziÈ›ia" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "MenÈ›ine poziÈ›ia" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "ÃŽntoarcere pentru reparaÈ›ii" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "ÃŽntoarcere la bază" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Spre transportor" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "ÃŽntoarcere pentru reciclare" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Reciclează" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13452,9 +13452,9 @@ msgid "KEY MAPPING" msgstr "" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "" @@ -13944,295 +13944,334 @@ msgstr "%s a format o alianță cu %s" msgid "You Discover Blueprints For %s" msgstr "Ai descoperit scheme pentru %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Acceptă Setările" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Anulare" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "Adresă IP sau numele calculatorului" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "CONEXIUNE" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Arenă" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Nici un joc disponibil" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Jocul este plin" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Ai fost eliminat!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Versiune de joc greÈ™ită!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Ai o modificare incomkpatibilă." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Gazda nu a putut transmite fiÈ™ierul?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Parolă incorectă!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Gazda a întrerupt conexiunea!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Eroare de conexiune" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Căutare" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "JOCURI" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Reîmprospătează lista de jocuri" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Introdu parola:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "Acceptă" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "Tancurile dezactivate!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "Cyborgii dezactivaÈ›i." -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "DAV-urile dezactivate." -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Selectează numele jocului" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Luptă individuală" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Alege harta" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Click pentru a seta o parolă" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "BandiÈ›i" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Fără bandiÈ›i" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Selectează numele jucătorului" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Ceață la distanță" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "AlianÈ›e" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Fără alianÈ›e" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Permite alianÈ›ele" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Echipe blocate" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Nivel mic de energie" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Nivel mediu de energie" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Nivel mare de energie" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Bază" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Pornire fără baze" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Pornire cu baze" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Pornire cu baze avansate" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Vizionare Hartă" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Click pentru a vedea Harta" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "ÃŽncepe găzduirea jocului" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Arată limitele pentru clădiri" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Setează limitele pentru clădiri" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Jucător" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Culoarea jucătorului" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Echipă" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Eliminare jucător" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Click pentru a ajusta dificultatea IA" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Click când eÈ™ti pregătit" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "PREGÄ‚TIT?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "JUCÄ‚TORI" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Click pentru a schimba setările jucătorului" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Alege Echipa" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Click pentru a schimba setările jucătorului" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Click pentru a schimba setările jucătorului" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "Click pentru a ajusta dificultatea IA" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Click pentru a schimba setările jucătorului" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CONVERSAÈšIE" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "ToÈ›i jucătorii trebuie să aibă aceleaÈ™i modificări pentru a putea juca." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** parola [%s] este de acum necesară! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** parola NU este necesară! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Scuze! Jocul nu s-a putut găzdui." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Modul „Echipe Blocate†activat" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Gazda l-a eliminat pe %s din joc!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Gazda ÃŽncepe Jocul" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Jucători" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Trimitere de hartă: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Harta: %d%% descărcată" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "GAZDÄ‚" @@ -14550,20 +14589,20 @@ msgstr "Timp total de joc - %s" msgid "You cheated!" msgstr "Ai triÈ™at!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "AI OBÈšINUT VICTORIA!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "AI FOST ÃŽNFRÂNT!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Baliză recepÈ›ionată de la %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Baliză %d" @@ -14593,13 +14632,13 @@ msgstr "Imposibil de localizat Senzori!" msgid "Unable to locate any Commanders!" msgstr "Imposibil de localizat ComandanÈ›i!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "Limita de control atinsă - ProducÈ›ia oprită" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14607,50 +14646,50 @@ msgstr[0] "%s - %u unitate asociată" msgstr[1] "%s - %u unități asociate" msgstr[2] "%s - %u unități asociate" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Avarii %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Conectate %u din %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Avariat electronic" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Răsplată Electronică - Raport de Vizibilitate" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Răsplată de Fabrică - Propulsie" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Răsplată de Fabrică - Șasiu" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Răsplată de Fabrică - Armă" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Răsplată de Fabrică - Nimic" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Răsplată de ReparaÈ›ii - ReparaÈ›ie" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Răsplată de ReparaÈ›ii - Nimic" @@ -14659,11 +14698,11 @@ msgstr "Răsplată de ReparaÈ›ii - Nimic" msgid "Launch Transport" msgstr "Lansează transportorul" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "ÃŽntăririle aterizează" diff --git a/po/ru.po b/po/ru.po index 260c08a17..231573181 100644 --- a/po/ru.po +++ b/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-06-10 02:04+0300\n" "Last-Translator: Filipp Chertiev \n" "Language-Team: Russian <>\n" @@ -12022,16 +12022,16 @@ msgid "System locale" msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Введите пароль" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ðе могу получить Ð¸Ð¼Ñ Ð¾Ñновного Ñервера (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ðе удалоÑÑŒ ÑоединитьÑÑ Ñ Ð»Ð¾Ð±Ð±Ð¸-Ñервером. проверьте, открыт-ли TCP-порт %u Ð´Ð»Ñ Ð¸ÑходÑщего траффика." @@ -12043,7 +12043,7 @@ msgstr "Ðе удалоÑÑŒ ÑоединитьÑÑ Ñ Ð»Ð¾Ð±Ð±Ð¸-Ñерверо #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12348,7 +12348,7 @@ msgid "Player dropped" msgstr "Игрок иÑчез" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Ожидание других игроков" @@ -12565,7 +12565,7 @@ msgid "Join Game" msgstr "ПриÑоединитьÑÑ" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "ПÐРÐМЕТРЫ" @@ -12660,7 +12660,7 @@ msgid "Off" msgstr "Выкл." #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Туман" @@ -12671,7 +12671,7 @@ msgstr "Мгла" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Туман войны" @@ -12833,7 +12833,7 @@ msgid "GAME OPTIONS" msgstr "ÐÐСТРОЙКИ ИГРЫ" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Мод:" @@ -12897,7 +12897,7 @@ msgid "Build (F3)" msgstr "Строить (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "ЭнергиÑ" @@ -13063,7 +13063,7 @@ msgstr "Игра не может продолжатьÑÑ Ð±ÐµÐ· хоÑта." msgid "--> QUIT <--" msgstr "--> ВЫХОД <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13107,110 +13107,110 @@ msgstr "Текущие задачи" msgid "New Intelligence Report" msgstr "ПоÑтупил доклад разведки" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Малый Ñ€Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑтвиÑ" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Дальний Ñ€Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑтвиÑ" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Оптимальный Ñ€Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑтвиÑ" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "ОтÑтупление при Ñреднем уроне" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "ОтÑтупление при Ñ‚Ñжелом уроне" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Сделай или умри!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Произвольный огонь" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Ответный огонь" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ðе ÑтрелÑÑ‚ÑŒ" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Патрулировать" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "ПреÑледовать" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "ОхранÑÑ‚ÑŒ позиции" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Держать позицию" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "ВернутьÑÑ Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ð¸Ð½ÐºÐ¸" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "ВернутьÑÑ Ðº штабу" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Идти к транÑпорту" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "ВернутьÑÑ Ð´Ð»Ñ ÑƒÑ‚Ð¸Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Утилизировать" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Ðазначить производÑтво на заводе" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Ðазначить производÑтво на киберзаводе" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Ðазначить огневую поддержку" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Ðазначить производÑтво ВВП" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Круг" @@ -13491,9 +13491,9 @@ msgid "KEY MAPPING" msgstr "РÐСКЛÐДКРКЛÐВИÐТУРЫ" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Ðазад" @@ -13988,297 +13988,336 @@ msgstr "%s вÑтупил в Ñоюз Ñ %s" msgid "You Discover Blueprints For %s" msgstr "Ð’Ñ‹ открыли чертежи: %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "ПринÑÑ‚ÑŒ наÑтройки" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Отмена" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP-Ð°Ð´Ñ€ÐµÑ Ð¸Ð»Ð¸ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "СОЕДИÐЕÐИЕ" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Холл" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Ðет доÑтупных игр" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Игра заполнена" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Ð’Ð°Ñ Ð²Ñ‹ÐºÐ¸Ð½ÑƒÐ»Ð¸!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "ÐеÑовмеÑтимый мод" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "ХоÑÑ‚ не может отправить файл?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Ðеверный пароль!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "ХоÑÑ‚ разорвал Ñоединение!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Ошибка ÑоединениÑ" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "ПоиÑк" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "ИГРЫ" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Обновить ÑпиÑок игр" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Введите пароль:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "ОК" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "ДоÑтупен новый тип киборгов" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Выбрать название игры" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Сражение" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Выбрать карту" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Щелкни чтобы задать пароль" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "МуÑорщики" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Ðет МуÑорщиков" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Выбор Ð˜Ð¼Ñ Ð˜Ð³Ñ€Ð¾ÐºÐ°" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Туман на раÑтоÑнии" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Союзники" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Без Союзов" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Позволить Союзы" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Закрытые Команды" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Ðизкий уровень Ñнергии" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Средний уровень Ñнергии" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Ð’Ñ‹Ñокий уровень Ñнергии" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "База" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Ðачать без Базы" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Ðачать Ñ Ð‘Ð°Ð·Ð¾Ð¹" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Ðачать Ñ ÐŸÑ€Ð¾Ð´Ð²Ð¸Ð½ÑƒÑ‚Ð¾Ð¹ Базой" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "ПроÑмотр карты" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "щелкни чтобы поÑмотреть карту" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Ðачать хоÑтинг игры" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Показать лимиты Ñооружений" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "УÑтановить лимиты Ñооружений" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Игрок" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Цвет игрока" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Команда" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Выкинуть игрока" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Щелкни чтобы задать пароль" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Щелкни когда будешь готов" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "ГОТОВ?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "ИГРОКИ" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Щелкни чтобы задать пароль" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Закрытые Команды" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Радар отображает цвета игрока" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "ОхранÑÑ‚ÑŒ позиции" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Щелкни чтобы задать пароль" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "ЧÐТ" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Ð’Ñем игрокам нужен такой же мод, что и у ваÑ." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** требуетÑÑ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** пароль не требуетÑÑ! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Извините! Ðе удалоÑÑŒ Ñоздать игру." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Закрытые Команды" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "ХоÑÑ‚ выкинул %s из игры!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "ХоÑÑ‚ Ñтартует" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Игроки" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Отправка карты: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "карта: %d%% загружена" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "ХОСТ" @@ -14596,20 +14635,20 @@ msgstr "Общее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ñ‹: %s" msgid "You cheated!" msgstr "Ты читер!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ПОБЕДÐ!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "ВЫ ПРОИГРÐЛИ!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "МаÑк получен от %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "МаÑк %d" @@ -14639,13 +14678,13 @@ msgstr "Ðе найдено ни одного ÑенÑорного юнита!" msgid "Unable to locate any Commanders!" msgstr "Ðе найдено ни одного командира!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "ДоÑтигнут Предел - ПроизводÑтво ОÑтановлено" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14653,50 +14692,50 @@ msgstr[0] "%s - %u Юнит назначен" msgstr[1] "%s - %u Юнитов назначено" msgstr[2] "%s - %u Юнита назначено" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - повреждение %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - подключено %u из %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Электронные повреждениÑ" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "награда - доклад о меÑтоположении" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "награда завода - движитель" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "награда завода - рама" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "награда завода - оружие" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "награда завода - ничего" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "награда маÑтерÑкой - ремонт" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "награда маÑтерÑкой - ничего" @@ -14705,11 +14744,11 @@ msgstr "награда маÑтерÑкой - ничего" msgid "Launch Transport" msgstr "ЗапуÑтить ТранÑпорт" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Ð’Ñ‹Ñадка подкреплениÑ" diff --git a/po/sk.po b/po/sk.po index 9a31ac7f0..dc71e048b 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100 2.3.2\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-07-30 08:44+0100\n" "Last-Translator: Marian Zsemlye \n" "Language-Team: Koapa - Marian Zsemlye \n" @@ -12002,16 +12002,16 @@ msgid "System locale" msgstr "Systémové údaje" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12023,7 +12023,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12328,7 +12328,7 @@ msgid "Player dropped" msgstr "HrÃ¡Ä spadol" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "" @@ -12545,7 +12545,7 @@ msgid "Join Game" msgstr "PripojiÅ¥ sa ku hre" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "NASTAVENIA" @@ -12640,7 +12640,7 @@ msgid "Off" msgstr "Vypnuté" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Hmla" @@ -12651,7 +12651,7 @@ msgstr "Hmla" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Vojnová hmla" @@ -12811,7 +12811,7 @@ msgid "GAME OPTIONS" msgstr "NASTAVENIA HRY" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -12875,7 +12875,7 @@ msgid "Build (F3)" msgstr "Stavba (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Energia" @@ -13041,7 +13041,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "--> KONIEC <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13083,110 +13083,110 @@ msgstr "" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Krátky dostrel" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Dlhý dostrel" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Oprimálny dostrel" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Ústup pri strednom poÅ¡kodení" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ústup pri Å¥ažkom poÅ¡kodení" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Bojuj až do konca!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Opätuj paľbu" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Nestrieľaj" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Bráň pozíciu" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Drž pozíciu" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Nastúp do transportu" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "RecyklovaÅ¥" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Kruh" @@ -13467,9 +13467,9 @@ msgid "KEY MAPPING" msgstr "MAPOVANIE KLÃVES" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Návrat na predchádzajúcu obrazovku" @@ -13961,296 +13961,335 @@ msgstr "%s uzavrel spojenectvo s %s" msgid "You Discover Blueprints For %s" msgstr "NaÅ¡iel si plány na %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "PotvrÄ nastavenia" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "ZruÅ¡iÅ¥" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP adresa alebo meno stroja" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "SPOJENIE" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Lobby" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Žiadne hry k dispozícii" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Hľadám" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "HRY" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Aktualizuj zoznam hier" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Dostupný novy kyborg" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Vyber meno hry" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Vyber Mapu" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Vyber meno hráÄa" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Vzdialenostná hmla" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Spojenectvá" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Bez spojenectiev" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Povoľ spojenectvá" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Pevné týmy" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Nízke energetické úrovne" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Stredné energetické úrovne" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Vysoké energetické úrovne" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Základňa" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "ZaÄni bez základní" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "ZaÄni so základňami" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "ZaÄni s rozvinutými základňami" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "ZaÄni hosÅ¥ovaÅ¥ hru" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Zobraz limity budovy" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Nastavenie limitu budov" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "HráÄ" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Farba hráÄa" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "ProtihráÄ" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Radar ukazuje farby hráÄov" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "HRÃÄŒI" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 msgid "Click to change to this slot" msgstr "" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Pevné týmy" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar ukazuje farby hráÄov" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Bráň pozíciu" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Radar ukazuje farby hráÄov" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "CHAT" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "Zapnutý mód 'Pevných týmov'" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Hostiteľ vyhodil %s z hry!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Hostiteľ zaÄíná hru" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "HráÄi" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14568,20 +14607,20 @@ msgstr "Celkový Äas hry - %s" msgid "You cheated!" msgstr "Podvádzali ste!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "STE VÃŤAZ!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "BOLI STE PORAZENÃ!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14611,12 +14650,12 @@ msgstr "Nemožno nájsÅ¥ žiadnu senzorovú jednotku!" msgid "Unable to locate any Commanders!" msgstr "Nemožno nájsÅ¥ žiadneho velitela!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14624,50 +14663,50 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - PoÅ¡kodenie %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Pripojených %u z %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14676,11 +14715,11 @@ msgstr "" msgid "Launch Transport" msgstr "SpustiÅ¥ transport" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Pristály posily" diff --git a/po/sl.po b/po/sl.po index 2697c7f36..08419a453 100644 --- a/po/sl.po +++ b/po/sl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2009-06-10 14:43+0100\n" "Last-Translator: Tomaž PovÅ¡in \n" "Language-Team: Slovenian \n" @@ -12142,17 +12142,17 @@ msgid "System locale" msgstr "Lokalni sistem" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 #, fuzzy msgid "Enter password here" msgstr "Najprej vnesite geslo" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ni bilo mogoÄe razreÅ¡iti imena glavnega strežnika (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ni bilo mogoÄe komunicirati z vežnim strežnikom! Je TCP prehod %u odprt za izhodni promet?" @@ -12164,7 +12164,7 @@ msgstr "Ni bilo mogoÄe komunicirati z vežnim strežnikom! Je TCP prehod %u odp #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12469,7 +12469,7 @@ msgid "Player dropped" msgstr "Igralec izpadel" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "ÄŒakanje ostalih igralcev" @@ -12691,7 +12691,7 @@ msgid "Join Game" msgstr "Pridružite se igri" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "MOŽNOSTI" @@ -12786,7 +12786,7 @@ msgid "Off" msgstr "Izklopljeno" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Megla" @@ -12797,7 +12797,7 @@ msgstr "Meglica" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Megla vojne" @@ -12965,7 +12965,7 @@ msgid "GAME OPTIONS" msgstr "MOŽNOSTI IGRE" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13029,7 +13029,7 @@ msgid "Build (F3)" msgstr "Gradnja (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "MoÄ" @@ -13196,7 +13196,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13237,110 +13237,110 @@ msgstr "Trenutni cilj" msgid "New Intelligence Report" msgstr "Novo obveÅ¡Äevalno poroÄilo" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Kratki domet" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Dolgi domet" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "NajugodnejÅ¡i domet" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Umik pri srednje težki poÅ¡kodbi" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Umik pri težki poÅ¡kodbi" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Stori ali umri!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "Streljaj-po-želji" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "VraÄaj streljanje" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ustavi streljanje" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Patruliraj" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Zasleduj" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Straži položaj" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Drži položaj" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Vrni se na popravilo" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Vrni se v GS" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Pojdi do prevoza" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Vrni se za reciklažo" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Recikliraj" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Dodeli tovarniÅ¡ko izdelavo" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Dodeli izdelavo tovarn kiborgov" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Dodeli strelno podporo" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Dodeli NVP tovarniÅ¡ko izdelavo" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Kroži" @@ -13623,9 +13623,9 @@ msgid "KEY MAPPING" msgstr "VNAÅ ANJE TIPK" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Vrni se na prejÅ¡nji zaslon" @@ -14122,305 +14122,344 @@ msgstr "%s je sklenil zavezniÅ¡tvo z %s" msgid "You Discover Blueprints For %s" msgstr "Odkrijete naÄrte za %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Sprejmi nastavitve" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "SuliÄar" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP naslov ali ime raÄunalnika" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "POVEZAVA" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Veža" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Nobenih iger ni na voljo" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Igra je polna" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Bili ste brcnjeni!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "NapaÄna verzija igre!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "NapaÄno geslo!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Napaka v povezavi" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Iskanje" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "IGRE" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Osveži spisek iger" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 #, fuzzy msgid "Enter Password:" msgstr "Najprej vnesite geslo" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "Nov kiborg na voljo" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Izberite ime igre" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "Enoigralski spopad" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Izberite mapo" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Kliknite za nastavitev gesla" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 #, fuzzy msgid "Scavengers" msgstr "Plenilec" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 #, fuzzy msgid "No Scavengers" msgstr "Plenilec" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Izberite ime igralca" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Daljna megla" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "ZavezniÅ¡tva" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Nobenih zavezniÅ¡tev" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Dovoli zavezniÅ¡tva" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Zaklenjene skupine" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Nizke stopnje moÄi" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Srednje velike stopnje moÄi" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Visoke stopnje moÄi" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Baza" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "ZaÄnite brez baz" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "ZaÄnite z bazami" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "ZaÄnite z naprednimi bazami" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Predogled mape" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Kliknite za ogled mape" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "ZaÄnite gostiti igro" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "Nastavite gradbene omejitve" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Nastavite gradbene omejitve" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Igralec" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "Igralec odÅ¡el" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Skupina" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 igralca" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Kliknite za nastavitev gesla" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Kliknite, ko boste pripravljeni" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "IGRALCI" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Kliknite za nastavitev gesla" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Zaklenjene skupine" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Radar kaže barve igralca" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Straži položaj" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Kliknite za nastavitev gesla" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "POGOVOR" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** geslo je sedaj potrebno! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** geslo NI potrebno! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "OmogoÄen naÄin 'zaklenjene skupine'" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Gostitelj je brcnil %s iz igre!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Gostitelj zaÄenja igro" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Igralci" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14740,20 +14779,20 @@ msgstr "Celotni Äas igranja - %s" msgid "You cheated!" msgstr "Goljufali ste!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ZMAGALI STE!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "BILI STE PREMAGANI!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Prejet poziv od %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Poziv %d" @@ -14784,12 +14823,12 @@ msgstr "Ni mogoÄe najti nobenih senzorskih enot!" msgid "Unable to locate any Commanders!" msgstr "Ni mogoÄe najti nobenih poveljnikov!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Meja poveljniÅ¡kega nadzora dosežena - izdelava ustavljena" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" @@ -14798,50 +14837,50 @@ msgstr[1] "%s - %u enota dodeljena" msgstr[2] "%s - %u enoti dodeljeni" msgstr[3] "%s - %u enote dodeljene" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - PoÅ¡kodbe %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - povezane %u od %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - elektronsko poÅ¡kodovan" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektronska nagrada - poroÄilo o vidljivosti" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Nagrada tovarne - pogon" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Nagrada tovarne - telo" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Nagrada tovarne - orožje" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Nagrada tovarne - niÄ" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Nagrada stavbe za popravila - popravilo" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Nagrada stavbe za popravila - niÄ" @@ -14850,11 +14889,11 @@ msgstr "Nagrada stavbe za popravila - niÄ" msgid "Launch Transport" msgstr "OdpoÅ¡lji prevoz" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Okrepitve pristajajo" diff --git a/po/tr.po b/po/tr.po index 425f52d3c..6f695fba8 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2010-12-17 20:51+0200\n" "Last-Translator: Ayhan GORGULU \n" "Language-Team: Turkey \n" @@ -12018,16 +12018,16 @@ msgid "System locale" msgstr "Yerel Sistem" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Parolayı buraya gir" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Konnte Lobbyserver-Namen nicht auflösen (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Lobi Sunucusu ile iletiÅŸim kurulamadı! TCP-Port %u u açıkmı?" @@ -12039,7 +12039,7 @@ msgstr "Lobi Sunucusu ile iletiÅŸim kurulamadı! TCP-Port %u u açıkmı?" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12345,7 +12345,7 @@ msgid "Player dropped" msgstr "Oyuncu Düştü" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "DiÄŸer oyuncular bekleniyor" @@ -12557,7 +12557,7 @@ msgid "Join Game" msgstr "Oyuna Katıl" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "AYARLAR" @@ -12652,7 +12652,7 @@ msgid "Off" msgstr "Kapalı" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Sis" @@ -12663,7 +12663,7 @@ msgstr "Duman" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Siste SavaÅŸ" @@ -12823,7 +12823,7 @@ msgid "GAME OPTIONS" msgstr "OYUN AYARLARI" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "Mod: " @@ -12887,7 +12887,7 @@ msgid "Build (F3)" msgstr "Ä°nÅŸa (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "Güç" @@ -13048,7 +13048,7 @@ msgstr "Oyun Kurucu olmadan devam edemez." msgid "--> QUIT <--" msgstr "--> ÇIKIÅž <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13092,110 +13092,110 @@ msgstr "Geçerli Görev" msgid "New Intelligence Report" msgstr "Yeni Ä°stihbarat Raporu" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Kısa Menzil" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Uzun Menzil" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Uygun Menzil" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "Orta hasarda geri dön" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "Ağır hasarda geri dön" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Yap veya Öl!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "AteÅŸ Edecek" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Karşı Saldırı" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Koruma AteÅŸi" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "Devriye" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "Saldırgan" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "Koruma DuruÅŸu" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Durumunu Koru" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "Tamir için Geri Dön" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "Genel Merkeze Dön" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "Taşıma Gemisine git" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "Geri Dönüşüme Git" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Geri Dönüşüm" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Fabrika Ãœretimine Ata" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Cyborg Fabrikası Ãœretimine Ata" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "AteÅŸ DesteÄŸine Ata" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "VTOL Fabrikası Ãœretimine Ata" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Daire Çiz" @@ -13479,9 +13479,9 @@ msgid "KEY MAPPING" msgstr "KLAVYE KISAYOLLARI" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "Bir Önceki Ekrana Dön" @@ -13971,297 +13971,336 @@ msgstr "%s Ä°simli Oyuncu %s ile AnlaÅŸma Ä°mzaladı." msgid "You Discover Blueprints For %s" msgstr "Sen %s 'in kalıntılarını keÅŸfettin" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "Ayarları Kabul et" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Ä°ptal" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP-Adresi yada Makine Ä°smi" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "BAÄžLANTI" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Bekleme Odası" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Geçerli oyun yok" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Oyun Dolu" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Oyundan Atıldın!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Yanlış Oyun Sürümü!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "Uyumsuz bir mod." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "Kurucu dosya gönderebilir mi?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Geçersiz Åžifre!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "Kurucu BaÄŸlantıyı Kesti" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "BaÄŸlantı Hatası" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "AraÅŸtırılıyor..." -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "OYUNLAR" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Oyun Listesini Yenile" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Åžifreyi gir:" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "TAMAM" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "Tanklar Devre Dışı!!" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "Cyborg'lar Devre Dışı" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "VTOL'lar Devre Dışı" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Oyun Ä°smi Seç" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Tek KiÅŸilik Çatışma" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Harita Seç" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "Parolayı kurmak için tıkla" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Çöpçüler var" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Çöpçüler yok" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Oyuncu Ä°smi Seç" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "YoÄŸun Sis" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Müttefiklikler" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Müttefiklik yok" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Müttefiklikleri Göster" # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Takım Kilidi" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Düşük güç seviyesi" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Orta güç seviyesi" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "Yüksek güç seviyesi" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "Ãœs" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Ãœs olmadan baÅŸla." -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Ãœsler ile baÅŸla." -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "GeliÅŸmiÅŸ üsler ile baÅŸla." -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "Haritayı Gör" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "Haritayı görmek için tıkla" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Oyunu kurulumunu baÅŸlat" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Bina limitlerini göster" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Bina limitlerini ayarla" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Oyuncu" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Oyuncu rengi" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Takım" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Oyundan at" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "Y.Z zorluÄŸunu ayarlamak için tıkla" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "Hazırsan tıkla" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "HAZIR?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "OYUNCULAR" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "Oyuncu ayarları için tıkla" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Takım seç" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Oyuncu ayarları için tıkla" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "Oyuncu ayarları için tıkla" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" -msgstr "Y.Z zorluÄŸunu ayarlamak için tıkla" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "Oyuncu ayarları için tıkla" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" +msgstr "" + +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "SOHBET" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "TÃœm oyuncular oyununa girebilmek için aynı moda ihtiyaç duyar." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "*** Åžifre [%s] ÅŸimdi isteniyor ! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** Åžifreye gerek yok! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Ãœzgünüm! Oyun kurulurken bir hata oldu." # festgelegt ungleich fest -Kreuvf -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "\"Takım Kilidi\"-Modu Aktif" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "Kurucu %s isimli oyuncuyu oyundan attı!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "Kurucu oyunu baÅŸlatıyor" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Oyuncular" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "Harita Gönderiliyor: %d%%" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Harita: %d%% indirildi" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "KURUCU" @@ -14575,20 +14614,20 @@ msgstr "Toplam Oyun Zamanı - %s" msgid "You cheated!" msgstr "Hile Yaptın!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "KAZANDIN!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "YENÄ°LDÄ°N!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Sinyal alındı: %s !" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Sinyal %d" @@ -14617,64 +14656,64 @@ msgstr "Hiç Algılayıcı birimi bulunamadı!" msgid "Unable to locate any Commanders!" msgstr "Hiç Komutan birimi bulunamadı!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "Komuta Kontrol Limitine UlaÅŸtın - Ãœretim Durduruldu" # nix Gruppe! -Kreuvf -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Birim Atandı" msgstr[1] "%s - %u Birimler Atandı" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Hasar %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - %u de %u 'e BaÄŸlandı" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Elektronik Hasar Aldı" # Reward ist zwar nicht Beute, aber im Krieg erbeutet man eben Dinge -Kreuvf -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Elektronik Ödül - Görünebilirlik Raporu" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Fabrika Ödülü - Yürütücü" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Fabrika Ödülü - Beden" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Fabrika Ödülü - Silah" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Fabrika Ödülü - Sıfır" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Tamir Tesisi Ödülü - Tamir" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Tamir Tesisi Ödülü - Sıfır" @@ -14683,11 +14722,11 @@ msgstr "Tamir Tesisi Ödülü - Sıfır" msgid "Launch Transport" msgstr "Taşımayı BaÅŸlat" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "Taşıma Gemisinde yeterince yer yok!" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "Destek kuvvetler iniyor" diff --git a/po/uk_UA.po b/po/uk_UA.po index fa001a2e6..e08c3a744 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Warzone 2100 version 2.2.3\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: \n" "Last-Translator: Меденцій ОлекÑандр \n" "Language-Team: \n" @@ -12031,16 +12031,16 @@ msgid "System locale" msgstr "Мова локалізації ÑиÑтеми" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "Визначте Пароль" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "Ðеможливо отримати ім'Ñ Ð¾Ñновного Ñервера (%s)!" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "Ðеможливо зв'ÑзатиÑÑŒ з Ñервером лоббі! Чи відкритий TCP порт %u Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ трафіку?" @@ -12052,7 +12052,7 @@ msgstr "Ðеможливо зв'ÑзатиÑÑŒ з Ñервером лоббі! #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12357,7 +12357,7 @@ msgid "Player dropped" msgstr "Гравець здавÑÑ" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "Чекаємо інших гравців" @@ -12570,7 +12570,7 @@ msgid "Join Game" msgstr "ПриєднатиÑÑŒ до Гри" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "ОПЦІЇ" @@ -12665,7 +12665,7 @@ msgid "Off" msgstr "Вимкнено" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "Туман" @@ -12676,7 +12676,7 @@ msgstr "Імла" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "Туман Війни" @@ -12838,7 +12838,7 @@ msgid "GAME OPTIONS" msgstr "ІГРОВІ ОПЦІЇ" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr ", моди: " @@ -12901,7 +12901,7 @@ msgid "Build (F3)" msgstr "Будівництво (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "ЕнергіÑ" @@ -13069,7 +13069,7 @@ msgstr "Гра не може продовжуватиÑÑŒ без хоÑту." msgid "--> QUIT <--" msgstr "--> ВИХІД <--" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13115,110 +13115,110 @@ msgstr "Поточне ЗавданнÑ" msgid "New Intelligence Report" msgstr "Ðові Дані Розвідки" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "Малий радіуÑ" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "Великий радіуÑ" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "Оптимальний радіуÑ" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "ВідÑтуп при Середніх УшкодженнÑÑ…" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "ВідÑтуп при Сильних УшкодженнÑÑ…" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "Бій на Смерть!" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "СтрілÑти Одразу" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "Вогонь у Відповідь" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "Ðе ÑтрілÑти" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "ПатрулюваннÑ" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "ПереÑлідувати" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "ОхоронÑти Позицію" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "Зберігати позицію" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "ПовернутиÑÑ Ð´Ð»Ñ Ð ÐµÐ¼Ð¾Ð½Ñ‚Ñƒ" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "ПовернутиÑÑ Ð´Ð¾ Штабу" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "До ТранÑпорту" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "ПовернутиÑÑ Ð½Ð° Переробку" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "Переробка" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "Призначити Виробництво на Фабриці" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "Призначити Виробництво на Фабриці Кіборгів" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "Ðадати Вогневу Підтримку" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "Призначити Виробництво на ВЗІП Фабриці" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "Коло" @@ -13499,9 +13499,9 @@ msgid "KEY MAPPING" msgstr "ПРИЗÐÐЧЕÐÐЯ КЛÐВІШ" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "ПовернутиÑÑ Ð”Ð¾ Попереднього Екрану" @@ -13996,297 +13996,336 @@ msgstr "%s Сформував Союз З %s" msgid "You Discover Blueprints For %s" msgstr "Ви Знайшли КреÑÐ»ÐµÐ½Ð½Ñ Ð”Ð»Ñ %s" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "ПрийнÑти ÐалаштуваннÑ" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 msgid "Cancel" msgstr "Відмінити" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP ÐдреÑа або Ð†Ð¼â€™Ñ ÐœÐ°ÑˆÐ¸Ð½Ð¸" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "З’ЄДÐÐÐÐЯ" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "Лоббі" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "Ðемає доÑтупних ігор" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "Гра повна" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "Ð’Ð°Ñ Ð²Ð¸ÐºÐ¸Ð½ÑƒÑ‚Ð¾!" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "Ðевірна ВерÑÑ–Ñ Ð“Ñ€Ð¸!" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "У Ð²Ð°Ñ Ð½ÐµÑуміÑний мод." -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "ХоÑÑ‚ не зміг відправити файл?" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "Ðевірний Пароль!" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "ХоÑÑ‚ обірвав з'єднаннÑ!" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "Помилка З’єднаннÑ" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "Пошук" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "ІГРИ" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "Оновити СпиÑок Ігор" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 msgid "Enter Password:" msgstr "Введіть Пароль" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "ОК" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "ДоÑтупний Ðовий Кіборг" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "Виберіть Ð†Ð¼â€™Ñ Ð“Ñ€Ð¸" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 msgid "One-Player Skirmish" msgstr "Сутичка Ð´Ð»Ñ ÐžÐ´Ð½Ð¾Ð³Ð¾ ГравцÑ" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "Оберіть Мапу" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 msgid "Click to set Password" msgstr "ÐатиÑніть аби вÑтановити Пароль" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "Звалищники" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "Без Звалищників" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "Виберіть Ð†Ð¼â€™Ñ Ð“Ñ€Ð°Ð²Ñ†Ñ" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "Дальній Туман" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "Союзи" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "Без Союзів" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "Союзи Дозволені" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "Закріплені Команди" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "Ðизькі Рівні Енергії" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "Середні Рівні Енергії" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "ВиÑокі Рівні Енергії" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "База" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "Старт без Баз" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "Старт з Базами" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "Старт з Розвиненими Базами" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "ВиглÑд Мапи" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "ÐатиÑни, щоб побачити Мапу" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "Створити Гру" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Show Structure Limits" msgstr "Показати Межу КількоÑÑ‚Ñ– Будівель" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "Ð’Ñтановити Межу КількоÑÑ‚Ñ– Будівель" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "Гравець" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 msgid "Player colour" msgstr "Колір гравцÑ" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "Команда" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 msgid "Kick player" msgstr "Викинути гравцÑ" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "ÐатиÑніть аби вÑтановити Пароль" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "ÐатиÑни, коли готовий" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "ГОТОВІ?" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "ГРÐВЦІ" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "ÐатиÑніть аби вÑтановити Пароль" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "Закріплені Команди" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "Радар показує кольори гравців" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "ОхоронÑти Позицію" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "ÐатиÑніть аби вÑтановити Пароль" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "ЧÐТ" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "Ð’ÑÑ– гравці повинні мати однакові моди щоб приєднатиÑÑŒ до гри." -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, fuzzy, c-format msgid "*** password [%s] is now required! ***" msgstr "*** зараз потрібен пароль! ***" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "*** пароль ÐЕ потрібен! ***" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "Вибачте! Ðе далоÑÑ Ñтворити гру." -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "'Закріплені Команди' режим активовано" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "ХоÑÑ‚ викинув %s з гри!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "ХоÑÑ‚ Починає Гру" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "Гравці" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "ВідправлÑєтьÑÑ ÐšÐ°Ñ€Ñ‚Ð°: %d%% " -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "Мапа: %d%% завантажена" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "ХОСТ" @@ -14604,20 +14643,20 @@ msgstr "Повний Ð§Ð°Ñ Ð“Ñ€Ð¸ - %s" msgid "You cheated!" msgstr "Ви заÑтоÑували шахрайÑтво!" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ВИ ПЕРЕМОГЛИ!" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "ВИ ЗÐЗÐÐЛИ ПОРÐЗКИ!" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "Отримано Сигнал від %s!" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "Сигнал %d" @@ -14646,63 +14685,63 @@ msgstr "Ðе можу знайти жодного СенÑорного Підр msgid "Unable to locate any Commanders!" msgstr "Ðе можу знайти жодного Командира!" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 #, fuzzy msgid "Command Control Limit Reached - Production Halted" msgstr "ДоÑÑгнуто Межі Контролю - Виробництво Призупинене" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - %u Підрозділ закріплено" msgstr[1] "%s - %u Підрозділи закріплено" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - Пошкоджено %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - Під'єднано %u з %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - Електронних Ушкоджень" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "Електронна Винагорода - Звіт про Зону ВидимоÑÑ‚Ñ–" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "Винагорода Фабрики - Ходова" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "Винагорода Фабрики - КорпуÑ" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "Винагорода Фабрики - ОзброєннÑ" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "Винагорода Фабрики - Ðічого" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "Винагорода Ремонтної МайÑтерні - Ремонт" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "Винагорода Ремонтної МайÑтерні - Ðічого" @@ -14711,11 +14750,11 @@ msgstr "Винагорода Ремонтної МайÑтерні - Ðічог msgid "Launch Transport" msgstr "ЗапуÑтити ТранÑпорт" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "ВиÑаджуєтьÑÑ ÐŸÑ–Ð´ÐºÑ€Ñ–Ð¿Ð»ÐµÐ½Ð½Ñ." diff --git a/po/zh_CN.po b/po/zh_CN.po index f960f0ca8..16c01741c 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2009-05-13 16:12+0800\n" "Last-Translator: Terra \n" "Language-Team: Simplified Chinese \n" @@ -12135,16 +12135,16 @@ msgid "System locale" msgstr "系统语言" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12156,7 +12156,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12464,7 +12464,7 @@ msgid "Player dropped" msgstr "玩家" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "等待其他玩家" @@ -12679,7 +12679,7 @@ msgid "Join Game" msgstr "加入游æˆ" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "选项" @@ -12775,7 +12775,7 @@ msgid "Off" msgstr "å…³" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "迷雾" @@ -12786,7 +12786,7 @@ msgstr "薄雾(å¯ä»¥çœ‹è§åœ°å½¢ï¼‰" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "战争迷雾" @@ -12952,7 +12952,7 @@ msgid "GAME OPTIONS" msgstr "游æˆé€‰é¡¹" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13017,7 +13017,7 @@ msgid "Build (F3)" msgstr "建造建筑 (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "能æº" @@ -13185,7 +13185,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13227,111 +13227,111 @@ msgstr "当å‰ç›®æ ‡" msgid "New Intelligence Report" msgstr "" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "短è·ç¦»" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "é•¿è·ç¦»" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "最佳攻击范围" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "åŠä¼¤æ—¶æ’¤é€€" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "é‡ä¼¤æ—¶æ’¤é€€" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "ä¸æ­»ä¸ä¼‘" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "自由开ç«" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "还击" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "åœç«" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "巡逻" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "追击" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "ä¿æŠ¤" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "驻留" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "返回维修点" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 #, fuzzy msgid "Return To HQ" msgstr "返回" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "å‰å¾€è¿é€ç‚¹" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "循环利用" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "指派ç«åŠ›æ”¯æ´" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "" @@ -13614,9 +13614,9 @@ msgid "KEY MAPPING" msgstr "按键设置" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "返回到å‰ä¸€ä¸ªå±å¹•" @@ -14113,303 +14113,342 @@ msgstr "" msgid "You Discover Blueprints For %s" msgstr "" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "确认设置" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "é’绿色" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP地å€æˆ–计算机å称" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "连接" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "游æˆå¤§åŽ…" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IPç›´è¿ž" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 msgid "No games are available" msgstr "" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "正在æœç´¢" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "游æˆ" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "刷新游æˆåˆ—表" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 #, fuzzy msgid "Enter Password:" msgstr "点击查看地图" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 msgid "Cyborgs disabled." msgstr "" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "选择游æˆå称" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "å•äººçš„人机对战" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "选择地图" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 #, fuzzy msgid "Click to set Password" msgstr "点击查看地图" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 msgid "Scavengers" msgstr "" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 msgid "No Scavengers" msgstr "" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "选择玩家åå­—" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "薄雾(å¯ä»¥çœ‹è§åœ°å½¢ï¼‰" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "åŒç›Ÿ" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "æ— åŒç›Ÿ" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "å…许åŒç›Ÿ" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "å·²é”定团队" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "低能æºæ°´å¹³" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "中等能æºæ°´å¹³" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "高能æºæ°´å¹³" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "基地" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "开始时没有基地" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "开始时有基地" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "开始时有高级基地" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "地图预览" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "点击查看地图" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "开始建立游æˆ" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "设置建筑数é‡é™åˆ¶" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "设置建筑数é‡é™åˆ¶" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "玩家" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "玩家" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "团队" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2个玩家" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "点击查看地图" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "点击准备开始游æˆ" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "玩家" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "点击查看地图" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "å·²é”定团队" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 msgid "Click to change player colour" msgstr "" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "ä¿æŠ¤" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "点击查看地图" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "èŠå¤©" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 #, fuzzy msgid "'Locked Teams' mode enabled" msgstr "å·²é”定团队" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "主玩家将 %s 踢出游æˆ!" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "主玩家正在开始游æˆ" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "玩家" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14732,20 +14771,20 @@ msgstr "总游æˆæ—¶é—´ - %s" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ä½ å–得了胜利! " -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "你被击败了! " -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "" @@ -14773,61 +14812,61 @@ msgstr "" msgid "Unable to locate any Commanders!" msgstr "未能定ä½ä»»ä½•æŒ‡æŒ¥å®˜" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "已达到å¯æŽ§åˆ¶å•ä½æ€»æ•°ä¸Šé™ - åœæ­¢ç”Ÿäº§æ–°å•ä½" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - 已指派 %u å•ä½" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - æŸä¼¤ %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s - 电å­ä¼¤å®³" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "" @@ -14836,11 +14875,11 @@ msgstr "" msgid "Launch Transport" msgstr "å‘å°„è¿è¾“飞船" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po index a38f232e0..9b3f2d734 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-09 02:24+0100\n" +"POT-Creation-Date: 2011-01-10 14:56+0100\n" "PO-Revision-Date: 2009-05-11 00:21+0800\n" "Last-Translator: \n" "Language-Team: zh_TW\n" @@ -12187,16 +12187,16 @@ msgid "System locale" msgstr "系統語系" #: lib/netplay/netplay.cpp:203 -#: lib/netplay/netplay.cpp:1029 +#: lib/netplay/netplay.cpp:1033 msgid "Enter password here" msgstr "" -#: lib/netplay/netplay.cpp:2023 +#: lib/netplay/netplay.cpp:2032 #, c-format msgid "Could not resolve masterserver name (%s)!" msgstr "" -#: lib/netplay/netplay.cpp:2037 +#: lib/netplay/netplay.cpp:2046 #, c-format msgid "Could not communicate with lobby server! Is TCP port %u open for outgoing traffic?" msgstr "" @@ -12208,7 +12208,7 @@ msgstr "" #: src/hci.cpp:3913 #: src/hci.cpp:4931 #: src/intelmap.cpp:534 -#: src/intorder.cpp:779 +#: src/intorder.cpp:727 #: src/loadsave.cpp:253 #: src/multimenu.cpp:482 #: src/multimenu.cpp:1401 @@ -12515,7 +12515,7 @@ msgid "Player dropped" msgstr "玩家" #: src/display3d.cpp:598 -#: src/multiint.cpp:1812 +#: src/multiint.cpp:2062 msgid "Waiting for other players" msgstr "等待其他玩家" @@ -12725,7 +12725,7 @@ msgid "Join Game" msgstr "加入éŠæˆ²" #: src/frontend.cpp:422 -#: src/multiint.cpp:1101 +#: src/multiint.cpp:1239 msgid "OPTIONS" msgstr "é¸é …" @@ -12820,7 +12820,7 @@ msgid "Off" msgstr "關閉" #: src/frontend.cpp:523 -#: src/multiint.cpp:1170 +#: src/multiint.cpp:1308 msgid "Fog" msgstr "迷霧" @@ -12831,7 +12831,7 @@ msgstr "迷霧" #: src/frontend.cpp:530 #: src/frontend.cpp:595 -#: src/multiint.cpp:1172 +#: src/multiint.cpp:1310 msgid "Fog Of War" msgstr "完全迷霧" @@ -12999,7 +12999,7 @@ msgid "GAME OPTIONS" msgstr "éŠæˆ²é¸é …" #: src/frontend.cpp:1340 -#: src/multiint.cpp:2115 +#: src/multiint.cpp:2344 msgid "Mod: " msgstr "" @@ -13064,7 +13064,7 @@ msgid "Build (F3)" msgstr "建造新的建築物 (F3)" #: src/hci.cpp:3438 -#: src/multiint.cpp:1217 +#: src/multiint.cpp:1355 #: src/multimenu.cpp:801 msgid "Power" msgstr "能æº" @@ -13231,7 +13231,7 @@ msgstr "" msgid "--> QUIT <--" msgstr "" -#: src/init.cpp:389 +#: src/init.cpp:390 #, c-format msgid "" "The required mod could not be loaded: %s\n" @@ -13274,110 +13274,110 @@ msgstr "ç›®å‰ç›®æ¨™" msgid "New Intelligence Report" msgstr "新的智能情報" -#: src/intorder.cpp:161 +#: src/intorder.cpp:166 #: src/keymap.cpp:390 msgid "Short Range" msgstr "短è·é›¢" -#: src/intorder.cpp:162 +#: src/intorder.cpp:167 #: src/keymap.cpp:397 msgid "Long Range" msgstr "é•·è·é›¢" -#: src/intorder.cpp:163 +#: src/intorder.cpp:168 #: src/keymap.cpp:389 msgid "Optimum Range" msgstr "最é©è·é›¢" -#: src/intorder.cpp:164 +#: src/intorder.cpp:169 #: src/keymap.cpp:409 msgid "Retreat at Medium Damage" msgstr "中度æ傷時撤退" -#: src/intorder.cpp:165 +#: src/intorder.cpp:170 #: src/keymap.cpp:410 msgid "Retreat at Heavy Damage" msgstr "é‡åº¦æ傷時撤退" -#: src/intorder.cpp:166 +#: src/intorder.cpp:171 #: src/keymap.cpp:411 msgid "Do or Die!" msgstr "奮戰到底ï¼" -#: src/intorder.cpp:167 +#: src/intorder.cpp:172 msgid "Fire-At-Will" msgstr "接觸時開ç«" -#: src/intorder.cpp:168 +#: src/intorder.cpp:173 #: src/keymap.cpp:385 msgid "Return Fire" msgstr "é­å—攻擊時還擊" -#: src/intorder.cpp:169 +#: src/intorder.cpp:174 #: src/keymap.cpp:383 msgid "Hold Fire" msgstr "åœç«" -#: src/intorder.cpp:170 +#: src/intorder.cpp:175 #: src/keymap.cpp:392 msgid "Patrol" msgstr "å·¡é‚模å¼" -#: src/intorder.cpp:171 +#: src/intorder.cpp:176 #: src/keymap.cpp:391 msgid "Pursue" msgstr "追蹤模å¼" -#: src/intorder.cpp:172 +#: src/intorder.cpp:177 #: src/keymap.cpp:387 msgid "Guard Position" msgstr "ä¿æŒæˆ’å‚™" -#: src/intorder.cpp:173 +#: src/intorder.cpp:178 #: src/keymap.cpp:394 msgid "Hold Position" msgstr "ä¿æŒåŽŸä½" -#: src/intorder.cpp:174 +#: src/intorder.cpp:179 #: src/keymap.cpp:393 msgid "Return For Repair" msgstr "返回修ç†" -#: src/intorder.cpp:175 +#: src/intorder.cpp:180 msgid "Return To HQ" msgstr "回到主基地" -#: src/intorder.cpp:176 +#: src/intorder.cpp:181 #: src/keymap.cpp:395 msgid "Go to Transport" msgstr "å‰å¾€é‹è¼¸è‰¦ä½ç½®" -#: src/intorder.cpp:177 +#: src/intorder.cpp:182 #: src/keymap.cpp:419 msgid "Return for Recycling" msgstr "返回回收" -#: src/intorder.cpp:178 +#: src/intorder.cpp:183 msgid "Recycle" msgstr "回收" -#: src/intorder.cpp:179 +#: src/intorder.cpp:184 msgid "Assign Factory Production" msgstr "指定工廠生產" -#: src/intorder.cpp:180 +#: src/intorder.cpp:185 msgid "Assign Cyborg Factory Production" msgstr "指定生化人工廠生產" -#: src/intorder.cpp:181 +#: src/intorder.cpp:186 msgid "Assign Fire Support" msgstr "指定ç«åŠ›æ”¯æ´" -#: src/intorder.cpp:182 +#: src/intorder.cpp:187 msgid "Assign VTOL Factory Production" msgstr "指定VTOL工廠生產" -#: src/intorder.cpp:183 +#: src/intorder.cpp:188 msgid "Circle" msgstr "圓(循環)" @@ -13664,9 +13664,9 @@ msgid "KEY MAPPING" msgstr "éµç›¤é…ç½®" #: src/keyedit.cpp:372 -#: src/multiint.cpp:487 -#: src/multiint.cpp:897 -#: src/multiint.cpp:1303 +#: src/multiint.cpp:625 +#: src/multiint.cpp:1035 +#: src/multiint.cpp:1441 msgid "Return To Previous Screen" msgstr "回到å‰ä¸€å€‹ç•«é¢" @@ -14167,307 +14167,346 @@ msgstr "%s 與 %s çµç›Ÿ" msgid "You Discover Blueprints For %s" msgstr "你發ç¾ä¸€å€‹ç”¨ä½œæ–¼ %s çš„è—圖" -#: src/multiint.cpp:425 +#: src/multiint.cpp:563 #: src/multilimit.cpp:190 msgid "Accept Settings" msgstr "接å—設定" -#: src/multiint.cpp:427 -#: src/multiint.cpp:942 +#: src/multiint.cpp:565 +#: src/multiint.cpp:1080 #, fuzzy msgid "Cancel" msgstr "æ§é¨Žå…µç«ç®­" -#: src/multiint.cpp:438 +#: src/multiint.cpp:576 msgid "IP Address or Machine Name" msgstr "IP ä½ç½®æˆ–電腦å稱" -#: src/multiint.cpp:484 +#: src/multiint.cpp:622 msgid "CONNECTION" msgstr "連接" -#: src/multiint.cpp:489 +#: src/multiint.cpp:627 msgid "Lobby" msgstr "éŠæˆ²å¤§å»³" -#: src/multiint.cpp:490 +#: src/multiint.cpp:628 msgid "IP" msgstr "IP" -#: src/multiint.cpp:679 +#: src/multiint.cpp:817 #, fuzzy msgid "No games are available" msgstr "å¯ä½¿ç”¨æ–°çš„科技" -#: src/multiint.cpp:682 +#: src/multiint.cpp:820 msgid "Game is full" msgstr "" -#: src/multiint.cpp:686 +#: src/multiint.cpp:824 msgid "You were kicked!" msgstr "" -#: src/multiint.cpp:689 +#: src/multiint.cpp:827 msgid "Wrong Game Version!" msgstr "" -#: src/multiint.cpp:692 +#: src/multiint.cpp:830 msgid "You have an incompatible mod." msgstr "" -#: src/multiint.cpp:696 +#: src/multiint.cpp:834 msgid "Host couldn't send file?" msgstr "" -#: src/multiint.cpp:700 +#: src/multiint.cpp:838 msgid "Incorrect Password!" msgstr "" -#: src/multiint.cpp:703 +#: src/multiint.cpp:841 msgid "Host has dropped connection!" msgstr "" -#: src/multiint.cpp:707 +#: src/multiint.cpp:845 msgid "Connection Error" msgstr "" -#: src/multiint.cpp:837 +#: src/multiint.cpp:975 msgid "Searching" msgstr "æœå°‹" -#: src/multiint.cpp:894 +#: src/multiint.cpp:1032 msgid "GAMES" msgstr "éŠæˆ²" -#: src/multiint.cpp:902 +#: src/multiint.cpp:1040 msgid "Refresh Games List" msgstr "é‡æ–°æ•´ç†éŠæˆ²æ¸…å–®" -#: src/multiint.cpp:922 +#: src/multiint.cpp:1060 #, fuzzy msgid "Enter Password:" msgstr "按一下看地圖" -#: src/multiint.cpp:940 +#: src/multiint.cpp:1078 msgid "OK" msgstr "" -#: src/multiint.cpp:1057 +#: src/multiint.cpp:1195 msgid "Tanks disabled!!" msgstr "" -#: src/multiint.cpp:1058 +#: src/multiint.cpp:1196 #, fuzzy msgid "Cyborgs disabled." msgstr "å¯ç”Ÿç”¢æ–°çš„生化人步兵" -#: src/multiint.cpp:1059 +#: src/multiint.cpp:1197 msgid "VTOLs disabled." msgstr "" -#: src/multiint.cpp:1106 -#: src/multiint.cpp:1113 +#: src/multiint.cpp:1244 +#: src/multiint.cpp:1251 msgid "Select Game Name" msgstr "é¸æ“‡éŠæˆ²å稱" -#: src/multiint.cpp:1106 +#: src/multiint.cpp:1244 #, fuzzy msgid "One-Player Skirmish" msgstr "單人戰役模å¼" -#: src/multiint.cpp:1116 +#: src/multiint.cpp:1254 msgid "Select Map" msgstr "é¸æ“‡åœ°åœ–" -#: src/multiint.cpp:1124 +#: src/multiint.cpp:1262 #, fuzzy msgid "Click to set Password" msgstr "按一下看地圖" -#: src/multiint.cpp:1134 -#: src/multiint.cpp:1135 +#: src/multiint.cpp:1272 +#: src/multiint.cpp:1273 #, fuzzy msgid "Scavengers" msgstr "拾è’者" -#: src/multiint.cpp:1137 +#: src/multiint.cpp:1275 #, fuzzy msgid "No Scavengers" msgstr "拾è’者" -#: src/multiint.cpp:1167 +#: src/multiint.cpp:1305 msgid "Select Player Name" msgstr "é¸æ“‡çŽ©å®¶å稱" -#: src/multiint.cpp:1173 +#: src/multiint.cpp:1311 msgid "Distance Fog" msgstr "迷霧(看得見地形)" -#: src/multiint.cpp:1184 +#: src/multiint.cpp:1322 #: src/multimenu.cpp:794 msgid "Alliances" msgstr "åŒç›Ÿ" -#: src/multiint.cpp:1187 +#: src/multiint.cpp:1325 msgid "No Alliances" msgstr "ä¸å…許åŒç›Ÿ" -#: src/multiint.cpp:1189 +#: src/multiint.cpp:1327 msgid "Allow Alliances" msgstr "å…許åŒç›Ÿ" -#: src/multiint.cpp:1193 +#: src/multiint.cpp:1331 msgid "Locked Teams" msgstr "鎖定åŒç›Ÿæ¨¡å¼" -#: src/multiint.cpp:1219 +#: src/multiint.cpp:1357 msgid "Low Power Levels" msgstr "生產能æºé€Ÿåº¦ï¼šæ…¢" -#: src/multiint.cpp:1221 +#: src/multiint.cpp:1359 msgid "Medium Power Levels" msgstr "生產能æºé€Ÿåº¦ï¼šä¸­" -#: src/multiint.cpp:1223 +#: src/multiint.cpp:1361 msgid "High Power Levels" msgstr "生產能æºé€Ÿåº¦ï¼šå¿«" -#: src/multiint.cpp:1255 +#: src/multiint.cpp:1393 msgid "Base" msgstr "基地" -#: src/multiint.cpp:1257 +#: src/multiint.cpp:1395 msgid "Start with No Bases" msgstr "開始時無基地" -#: src/multiint.cpp:1259 +#: src/multiint.cpp:1397 msgid "Start with Bases" msgstr "開始時有基地" -#: src/multiint.cpp:1261 +#: src/multiint.cpp:1399 msgid "Start with Advanced Bases" msgstr "開始時具è¦æ¨¡åŸºåœ°" -#: src/multiint.cpp:1293 +#: src/multiint.cpp:1431 msgid "Map Preview" msgstr "é è¦½åœ°åœ–" -#: src/multiint.cpp:1295 +#: src/multiint.cpp:1433 msgid "Click to see Map" msgstr "按一下看地圖" -#: src/multiint.cpp:1309 +#: src/multiint.cpp:1447 msgid "Start Hosting Game" msgstr "開始éŠæˆ²" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 #, fuzzy msgid "Show Structure Limits" msgstr "設定建築物數é‡é™åˆ¶" -#: src/multiint.cpp:1317 +#: src/multiint.cpp:1455 msgid "Set Structure Limits" msgstr "設定建築物數é‡é™åˆ¶" -#: src/multiint.cpp:1426 +#: src/multiint.cpp:1550 +msgid "DIFFICULTY" +msgstr "" + +#: src/multiint.cpp:1564 +msgid "Less aggressive and starts with less units" +msgstr "" + +#: src/multiint.cpp:1565 +#, fuzzy +msgid "Plays nice" +msgstr "玩家" + +#: src/multiint.cpp:1566 +msgid "No holds barred" +msgstr "" + +#: src/multiint.cpp:1567 +msgid "Starts with advantages and gets twice as much oil from derricks" +msgstr "" + +#: src/multiint.cpp:1595 +msgid "CHOOSE AI" +msgstr "" + +#: src/multiint.cpp:1665 #, fuzzy msgid "Player colour" msgstr "玩家" -#: src/multiint.cpp:1769 +#: src/multiint.cpp:2008 msgid "Team" msgstr "隊ä¼" -#: src/multiint.cpp:1781 +#: src/multiint.cpp:2020 #, fuzzy msgid "Kick player" msgstr "2 玩家" -#: src/multiint.cpp:1818 +#: src/multiint.cpp:2050 +msgid "You cannot change difficulty in a challenge" +msgstr "" + +#: src/multiint.cpp:2050 +#, fuzzy +msgid "Click to change difficulty" +msgstr "按一下看地圖" + +#: src/multiint.cpp:2067 msgid "Click when ready" msgstr "按一下開始" -#: src/multiint.cpp:1822 +#: src/multiint.cpp:2071 msgid "READY?" msgstr "" -#: src/multiint.cpp:1855 +#: src/multiint.cpp:2115 msgid "PLAYERS" msgstr "玩家" -#: src/multiint.cpp:1905 +#: src/multiint.cpp:2162 #, fuzzy msgid "Click to change to this slot" msgstr "按一下看地圖" -#: src/multiint.cpp:1933 +#: src/multiint.cpp:2190 #, fuzzy msgid "Choose Team" msgstr "鎖定åŒç›Ÿæ¨¡å¼" -#: src/multiint.cpp:1963 +#: src/multiint.cpp:2220 #, fuzzy msgid "Click to change player colour" msgstr "é›·é”顯示玩家é¡è‰²" -#: src/multiint.cpp:1991 +#: src/multiint.cpp:2245 #, fuzzy msgid "Click to change player position" msgstr "ä¿æŒæˆ’å‚™" -#: src/multiint.cpp:2013 -msgid "Click to adjust AI difficulty" +#: src/multiint.cpp:2251 +#, fuzzy +msgid "Click to change AI" +msgstr "按一下看地圖" + +#: src/multiint.cpp:2255 +msgid "You cannot change AI in a challenge" msgstr "" -#: src/multiint.cpp:2088 +#: src/multiint.cpp:2317 msgid "CHAT" msgstr "èŠå¤©" -#: src/multiint.cpp:2120 +#: src/multiint.cpp:2349 msgid "All players need to have the same mods to join your game." msgstr "" -#: src/multiint.cpp:2279 +#: src/multiint.cpp:2507 #, c-format msgid "*** password [%s] is now required! ***" msgstr "" -#: src/multiint.cpp:2287 +#: src/multiint.cpp:2515 msgid "*** password is NOT required! ***" msgstr "" -#: src/multiint.cpp:2528 +#: src/multiint.cpp:2756 msgid "Sorry! Failed to host the game." msgstr "" -#: src/multiint.cpp:2613 +#: src/multiint.cpp:2858 msgid "'Locked Teams' mode enabled" msgstr "鎖定åŒç›Ÿæ¨¡å¼" -#: src/multiint.cpp:2699 +#: src/multiint.cpp:2956 #, c-format msgid "The host has kicked %s from the game!" msgstr "主玩家將 %s 踢出éŠæˆ²ï¼" -#: src/multiint.cpp:2769 +#: src/multiint.cpp:3026 msgid "Host is Starting Game" msgstr "主玩家已開始éŠæˆ²" -#: src/multiint.cpp:3347 +#: src/multiint.cpp:3592 msgid "Players" msgstr "玩家" -#: src/multiint.cpp:3439 +#: src/multiint.cpp:3721 #, c-format msgid "Sending Map: %d%% " msgstr "" -#: src/multiint.cpp:3447 +#: src/multiint.cpp:3729 #, c-format msgid "Map: %d%% downloaded" msgstr "" -#: src/multiint.cpp:3470 +#: src/multiint.cpp:3752 msgid "HOST" msgstr "" @@ -14788,20 +14827,20 @@ msgstr "全部éŠæˆ²æ™‚é–“ - %s" msgid "You cheated!" msgstr "" -#: src/scriptfuncs.cpp:3232 +#: src/scriptfuncs.cpp:3250 msgid "YOU ARE VICTORIOUS!" msgstr "ä½ ç²å‹äº†ï¼" -#: src/scriptfuncs.cpp:3236 +#: src/scriptfuncs.cpp:3254 msgid "YOU WERE DEFEATED!" msgstr "你被打敗了ï¼" -#: src/scriptfuncs.cpp:9630 +#: src/scriptfuncs.cpp:9648 #, c-format msgid "Beacon received from %s!" msgstr "ç”± %s ç²å¾—引導指標" -#: src/scriptfuncs.cpp:9676 +#: src/scriptfuncs.cpp:9694 #, c-format msgid "Beacon %d" msgstr "引導指標 %d" @@ -14829,61 +14868,61 @@ msgstr "找ä¸åˆ°ä»»ä½•é›·é”å–®ä½ï¼" msgid "Unable to locate any Commanders!" msgstr "找ä¸åˆ°ä»»ä½•æŒ‡æ®å®˜è»Šï¼" -#: src/structure.cpp:2603 +#: src/structure.cpp:2615 msgid "Command Control Limit Reached - Production Halted" msgstr "å·²é”到å¯æŽ§åˆ¶å–®ä½ç¸½æ•¸ä¸Šé™ï¼Œåœæ­¢ç”Ÿç”¢æ–°å–®ä½" -#: src/structure.cpp:5759 -#: src/structure.cpp:5784 +#: src/structure.cpp:5771 +#: src/structure.cpp:5796 #, c-format msgid "%s - %u Unit assigned" msgid_plural "%s - %u Units assigned" msgstr[0] "%s - 已指派 %u å–®ä½" -#: src/structure.cpp:5789 -#: src/structure.cpp:5857 -#: src/structure.cpp:5873 -#: src/structure.cpp:5887 +#: src/structure.cpp:5801 +#: src/structure.cpp:5869 +#: src/structure.cpp:5885 +#: src/structure.cpp:5899 #, c-format msgid "%s - Damage %3.0f%%" msgstr "%s - æå‚· %3.0f%%" -#: src/structure.cpp:5839 +#: src/structure.cpp:5851 #, c-format msgid "%s - Connected %u of %u" msgstr "%s - é€£æŽ¥é‘½æ²¹äº•æ•¸é‡ %u of %u" -#: src/structure.cpp:6003 -#: src/structure.cpp:6048 +#: src/structure.cpp:6015 +#: src/structure.cpp:6060 #, c-format msgid "%s - Electronically Damaged" msgstr "%s -é›»å­å‚·å®³" -#: src/structure.cpp:6285 +#: src/structure.cpp:6297 msgid "Electronic Reward - Visibility Report" msgstr "é›»å­å›žé¥‹â€”å¯æª¢è¦–報告" -#: src/structure.cpp:6325 +#: src/structure.cpp:6337 msgid "Factory Reward - Propulsion" msgstr "工廠çŽå‹µâ€”推進動力" -#: src/structure.cpp:6349 +#: src/structure.cpp:6361 msgid "Factory Reward - Body" msgstr "工廠çŽå‹µâ€”車身" -#: src/structure.cpp:6373 +#: src/structure.cpp:6385 msgid "Factory Reward - Weapon" msgstr "工廠çŽå‹µâ€”武器" -#: src/structure.cpp:6382 +#: src/structure.cpp:6394 msgid "Factory Reward - Nothing" msgstr "工廠çŽå‹µâ€”ç„¡" -#: src/structure.cpp:6410 +#: src/structure.cpp:6422 msgid "Repair Facility Award - Repair" msgstr "ä¿®ç†ä¸­å¿ƒçŽå‹µâ€”ä¿®ç†" -#: src/structure.cpp:6417 +#: src/structure.cpp:6429 msgid "Repair Facility Award - Nothing" msgstr "ä¿®ç†å·¥å» å›žé¥‹â€”ç„¡" @@ -14892,11 +14931,11 @@ msgstr "ä¿®ç†å·¥å» å›žé¥‹â€”ç„¡" msgid "Launch Transport" msgstr "發射é‹è¼¸è‰¦" -#: src/transporter.cpp:1420 +#: src/transporter.cpp:1422 msgid "There is not enough room in the Transport!" msgstr "" -#: src/transporter.cpp:1678 +#: src/transporter.cpp:1681 msgid "Reinforcements landing" msgstr "æ´è»å·²é™è½" From c6c556e9439d01073a497221cb2057afc462bebe Mon Sep 17 00:00:00 2001 From: cybersphinx Date: Mon, 10 Jan 2011 15:33:23 +0100 Subject: [PATCH 113/142] Spanish translation update by Daniel Vijande. Closes #2442. --- po/es.po | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/po/es.po b/po/es.po index 15865ecbe..ddc54c562 100644 --- a/po/es.po +++ b/po/es.po @@ -8,15 +8,15 @@ msgid "" msgstr "" "Project-Id-Version: warzone2100\n" "Report-Msgid-Bugs-To: warzone-dev@gna.org\n" -"POT-Creation-Date: 2011-01-10 14:56+0100\n" -"PO-Revision-Date: 2010-11-16 11:19+0100\n" -"Last-Translator: Saber Nyoki \n" +"POT-Creation-Date: 2011-01-10 15:32+0100\n" +"PO-Revision-Date: 2011-01-10 15:11+0100\n" +"Last-Translator: Daniel Vijande \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Revised-by: Saberuneko \n" +"Revised-by: Daniel Vijande \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Launchpad-Export-Date: 2008-05-10 13:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" @@ -12437,9 +12437,9 @@ msgid "%s wanted to give you a %s but you have too many!" msgstr "¡%s quiso darte un %s pero tienes demasiados!" #: src/droid.cpp:4068 -#, fuzzy, c-format +#, c-format msgid "You wanted to give %s a %s but they have too many!" -msgstr "¡%s quiso darte un %s pero tienes demasiados!" +msgstr "¡Intentaste dar a %s un %s pero tiene demasiados!" #: src/frontend.cpp:97 msgid "Single Player" @@ -14194,28 +14194,25 @@ msgid "PLAYERS" msgstr "JUGADORES" #: src/multiint.cpp:2162 -#, fuzzy msgid "Click to change to this slot" -msgstr "Click para cambiar la configuración de jugador." +msgstr "Click para cambiar a esta ranura." #: src/multiint.cpp:2190 msgid "Choose Team" msgstr "Elegir equipo" #: src/multiint.cpp:2220 -#, fuzzy msgid "Click to change player colour" -msgstr "Click para cambiar la configuración de jugador." +msgstr "Click para cambiar el color de jugador." #: src/multiint.cpp:2245 -#, fuzzy msgid "Click to change player position" -msgstr "Click para cambiar la configuración de jugador." +msgstr "Click para cambiar la posición de jugador." #: src/multiint.cpp:2251 #, fuzzy msgid "Click to change AI" -msgstr "Click para cambiar la configuración de jugador." +msgstr "Click para cambiar a esta ranura." #: src/multiint.cpp:2255 msgid "You cannot change AI in a challenge" From 4024548fcd3a046191f300a9a5378328adcc5113 Mon Sep 17 00:00:00 2001 From: Cyp Date: Mon, 10 Jan 2011 15:57:21 +0100 Subject: [PATCH 114/142] Disable spammy TODO. LOG_ERROR is apparently now spammed to the in-game console, making it less practical to put TODO comments in LOG_ERROR. --- src/multiplay.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/multiplay.cpp b/src/multiplay.cpp index f59c1f3ac..f83b0dbfd 100644 --- a/src/multiplay.cpp +++ b/src/multiplay.cpp @@ -1593,7 +1593,8 @@ static BOOL recvDestroyTemplate(NETQUEUE queue) DROID_TEMPLATE aaargh; aaargh.multiPlayerID = templateID; deleteTemplateFromProduction(&aaargh, player, ModeImmediate); - debug(LOG_ERROR, "TODO: Rewrite the whole interface, so it's possible to change the code without spaghetti dependencies causing problems everywhere, and without resorting to ugly hacks."); + // TODO Memory leak, need to actually delete the template somehow. + //debug(LOG_ERROR, "TODO: Rewrite the whole interface, so it's possible to change the code without spaghetti dependencies causing problems everywhere, and without resorting to ugly hacks."); } return true; From b2afaee931dbed590828126b33d88775ef93a82a Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 17:59:21 +0100 Subject: [PATCH 115/142] Now that we are breaking savegames anyway, reset the MOVE_STATUS enum. --- src/movedef.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/movedef.h b/src/movedef.h index 04b972371..405c13e79 100644 --- a/src/movedef.h +++ b/src/movedef.h @@ -31,16 +31,16 @@ enum MOVE_STATUS { -MOVEINACTIVE, -MOVENAVIGATE, -MOVETURN, -MOVEPAUSE, -MOVEPOINTTOPOINT, -MOVETURNTOTARGET = 6, // = 6 for savegame compatibility. -MOVEHOVER = 8, // = 8 for savegame compatibility. -MOVEDRIVE, -MOVEWAITROUTE, -MOVESHUFFLE, + MOVEINACTIVE, + MOVENAVIGATE, + MOVETURN, + MOVEPAUSE, + MOVEPOINTTOPOINT, + MOVETURNTOTARGET, + MOVEHOVER, + MOVEDRIVE, + MOVEWAITROUTE, + MOVESHUFFLE, }; /// Extra precision added to movement calculations, stored in ebitX, ebitY. From 87c358545d1142b97e5129b9d9be4dc8acb49117 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 17:59:44 +0100 Subject: [PATCH 116/142] Make sure we save and load all the relevant skirmish info for AIs. Move .es files into the savegame dir. Breaks savegames again. --- src/game.cpp | 101 ++++++++++++++++++--------------------------------- 1 file changed, 36 insertions(+), 65 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 452d4f3f3..a90204577 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -547,6 +547,7 @@ static bool serializePlayer(PHYSFS_file* fileHandle, const PLAYER* serializePlay && PHYSFS_write(fileHandle, serializePlayer->name, StringSize, 1) == 1 && PHYSFS_write(fileHandle, getAIName(player), MAX_LEN_AI_NAME, 1) == 1 && PHYSFS_writeSBE8(fileHandle, serializePlayer->difficulty) + && PHYSFS_writeUBE8(fileHandle, (uint8_t)serializePlayer->allocated) && PHYSFS_writeUBE32(fileHandle, serializePlayer->colour) && PHYSFS_writeUBE32(fileHandle, serializePlayer->team)); } @@ -556,17 +557,21 @@ static bool deserializePlayer(PHYSFS_file* fileHandle, PLAYER* serializePlayer, char aiName[MAX_LEN_AI_NAME]; uint32_t position, colour, team; bool retval; + uint8_t allocated; retval = (PHYSFS_readUBE32(fileHandle, &position) && PHYSFS_read(fileHandle, serializePlayer->name, StringSize, 1) == 1 && PHYSFS_read(fileHandle, aiName, MAX_LEN_AI_NAME, 1) == 1 && PHYSFS_readSBE8(fileHandle, &serializePlayer->difficulty) + && PHYSFS_readUBE8(fileHandle, &allocated) && PHYSFS_readUBE32(fileHandle, &colour) && PHYSFS_readUBE32(fileHandle, &team)); + serializePlayer->allocated = allocated; if (player < game.maxPlayers) { serializePlayer->ai = matchAIbyName(aiName); +debug(LOG_ERROR, "Matched AI: %s == %d for player %d", aiName, serializePlayer->ai, player); if (serializePlayer->ai == AI_NOT_FOUND) { debug(LOG_ERROR, "AI %s not found -- script loading will fail (player %d / %d)", aiName, player, game.maxPlayers); @@ -598,7 +603,7 @@ static bool serializeNetPlay(PHYSFS_file* fileHandle, const NETPLAY* serializeNe && PHYSFS_writeUBE32(fileHandle, serializeNetPlay->playercount) && PHYSFS_writeUBE32(fileHandle, serializeNetPlay->hostPlayer) && PHYSFS_writeUBE32(fileHandle, selectedPlayer) - && PHYSFS_writeUBE32(fileHandle, 0) + && PHYSFS_writeUBE32(fileHandle, (uint32_t)game.scavengers) && PHYSFS_writeUBE32(fileHandle, 0) && PHYSFS_writeUBE32(fileHandle, 0)); } @@ -606,7 +611,8 @@ static bool serializeNetPlay(PHYSFS_file* fileHandle, const NETPLAY* serializeNe static bool deserializeNetPlay(PHYSFS_file* fileHandle, NETPLAY* serializeNetPlay) { unsigned int i; - uint32_t dummy; + uint32_t dummy, scavs = game.scavengers; + bool retv; for (i = 0; i < MaxGames; ++i) { @@ -621,13 +627,15 @@ static bool deserializeNetPlay(PHYSFS_file* fileHandle, NETPLAY* serializeNetPla } serializeNetPlay->isHost = true; // only host can load - return (PHYSFS_readUBE32(fileHandle, &serializeNetPlay->bComms) + retv = (PHYSFS_readUBE32(fileHandle, &serializeNetPlay->bComms) && PHYSFS_readUBE32(fileHandle, &serializeNetPlay->playercount) && PHYSFS_readUBE32(fileHandle, &serializeNetPlay->hostPlayer) && PHYSFS_readUBE32(fileHandle, &selectedPlayer) - && PHYSFS_readUBE32(fileHandle, &dummy) + && PHYSFS_readUBE32(fileHandle, &scavs) && PHYSFS_readUBE32(fileHandle, &dummy) && PHYSFS_readUBE32(fileHandle, &dummy)); + game.scavengers = scavs; + return retv; } #define GAME_SAVE_V7 \ @@ -2594,9 +2602,6 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User { setPlayerHasLost(saveGameData.bPlayerHasLost); } -/* setPlayCountDown(saveGameData.bPlayCountDown); - setPlayerHasWon(saveGameData.bPlayerHasWon); - setPlayerHasLost(saveGameData.bPlayerHasLost);*/ } if (saveGameVersion >= VERSION_27)//V27 @@ -2648,14 +2653,16 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User NetPlay.bComms = (saveGameData.sNetPlay).bComms; for (i = 0; i < MAX_PLAYERS; i++) { - strcpy((NetPlay.players[i]).name, ((saveGameData.sNetPlay).players[i]).name); - if ((saveGameData.sGame).skDiff[i] == UBYTE_MAX || (game.type == CAMPAIGN && i == 0)) + NetPlay.players[i].ai = saveGameData.sNetPlay.players[i].ai; + NetPlay.players[i].difficulty = saveGameData.sNetPlay.players[i].difficulty; + strcpy(NetPlay.players[i].name, saveGameData.sNetPlay.players[i].name); + if (saveGameData.sGame.skDiff[i] == UBYTE_MAX || (game.type == CAMPAIGN && i == 0)) { - (NetPlay.players[i]).allocated = true; + NetPlay.players[i].allocated = true; } else { - (NetPlay.players[i]).allocated = false; + NetPlay.players[i].allocated = false; } } @@ -2666,8 +2673,6 @@ BOOL loadGame(const char *pGameToLoad, BOOL keepObjects, BOOL freeMem, BOOL User setMultiStats(selectedPlayer, playerStats, true); } } - - } /* Get human and AI players names */ @@ -3734,8 +3739,8 @@ BOOL saveGame(char *aFileName, GAME_TYPE saveType) // save the script state if necessary if (saveType == GTYPE_SAVE_MIDMISSION) { - CurrentFileName[fileExtension-1] = '\0'; - strcat(CurrentFileName, ".es"); + CurrentFileName[fileExtension] = '\0'; + strcat(CurrentFileName, "scriptstate.es"); /*Write the data to the file*/ if (!writeScriptState(CurrentFileName)) { @@ -3745,8 +3750,8 @@ BOOL saveGame(char *aFileName, GAME_TYPE saveType) } //create the droids filename - CurrentFileName[fileExtension-1] = '\0'; - strcat(CurrentFileName, "/munit.bjo"); + CurrentFileName[fileExtension] = '\0'; + strcat(CurrentFileName, "munit.bjo"); /*Write the swapped droid lists to the file*/ if (!writeDroidFile(CurrentFileName, mission.apsDroidLists)) { @@ -3754,7 +3759,6 @@ BOOL saveGame(char *aFileName, GAME_TYPE saveType) goto error; } - //21feb now done always //create the limbo filename //clear the list if (saveGameVersion < VERSION_25) @@ -4127,8 +4131,6 @@ static UDWORD getCampaignV(PHYSFS_file* fileHandle, unsigned int version) return 0; } -// savedGameTime = saveGame.gameTime; - return saveGame.saveKey & (SAVEKEY_ONMISSION - 1); } @@ -4636,7 +4638,6 @@ bool gameLoadV(PHYSFS_file* fileHandle, unsigned int version) ASSERT( strlen(date)aName, psSaveDroid->name); //ignore the first comp - COMP_UNKNOWN found = true; @@ -5304,9 +5297,6 @@ static DROID* buildDroidFromSaveDroidV11(SAVE_DROID_V11* psSaveDroid) } //copy the values across psDroid->id = psSaveDroid->id; - //are these going to ever change from the values set up with? -// psDroid->pos.z = psSaveDroid->pos.z; // use the correct map height value - psDroid->rot.direction = DEG(psSaveDroid->direction); psDroid->body = psSaveDroid->body; if (psDroid->body > psDroid->originalBody) @@ -5395,11 +5385,6 @@ static DROID* buildDroidFromSaveDroidV19(SAVE_DROID_V18* psSaveDroid, UDWORD ver /*create the Droid */ - - // ignore brains for now - // not any *$&!!! more - JOHN -// psTemplate->asParts[COMP_BRAIN] = 0; - if(psSaveDroid->x == INVALID_XY) { psDroid = reallyBuildDroid(psTemplate, psSaveDroid->x, psSaveDroid->y, psSaveDroid->player, true); @@ -5426,11 +5411,8 @@ static DROID* buildDroidFromSaveDroidV19(SAVE_DROID_V18* psSaveDroid, UDWORD ver } //copy the values across psDroid->id = psSaveDroid->id; - //are these going to ever change from the values set up with? -// psDroid->pos.z = psSaveDroid->pos.z; // use the correct map height value - psDroid->rot.direction = DEG(psSaveDroid->direction); - psDroid->body = psSaveDroid->body; + psDroid->body = psSaveDroid->body; if (psDroid->body > psDroid->originalBody) { psDroid->body = psDroid->originalBody; @@ -5761,7 +5743,6 @@ static DROID* buildDroidFromSaveDroid(SAVE_DROID* psSaveDroid, UDWORD version) turnOffMultiMsg(false); - //copy the droid's weapon stats for (i=0; i < psDroid->numWeaps; i++) { @@ -5773,9 +5754,6 @@ static DROID* buildDroidFromSaveDroid(SAVE_DROID* psSaveDroid, UDWORD version) } //copy the values across psDroid->id = psSaveDroid->id; - //are these going to ever change from the values set up with? -// psDroid->pos.z = psSaveDroid->pos.z; // use the correct map height value - psDroid->rot.direction = DEG(psSaveDroid->direction); psDroid->body = psSaveDroid->body; if (psDroid->body > psDroid->originalBody) @@ -5826,7 +5804,6 @@ static DROID* buildDroidFromSaveDroid(SAVE_DROID* psSaveDroid, UDWORD version) psDroid->actionPoints = psSaveDroid->actionPoints; //added for V14 - //version 18 if (psSaveDroid->tarStatName[0] == 0) { @@ -6021,7 +5998,6 @@ static BOOL loadDroidSetPointers(void) BOOL loadSaveDroidV11(char *pFileData, UDWORD filesize, UDWORD numDroids, UDWORD version, DROID **ppsCurrentDroidLists) { SAVE_DROID_V11 *psSaveDroid, sSaveDroid; -// DROID_TEMPLATE *psTemplate, sTemplate; DROID *psDroid; DROID_GROUP *psCurrentTransGroup; UDWORD count; @@ -6146,7 +6122,6 @@ BOOL loadSaveDroidV11(char *pFileData, UDWORD filesize, UDWORD numDroids, UDWORD BOOL loadSaveDroidV19(char *pFileData, UDWORD filesize, UDWORD numDroids, UDWORD version, DROID **ppsCurrentDroidLists) { SAVE_DROID_V18 *psSaveDroid, sSaveDroid; -// DROID_TEMPLATE *psTemplate, sTemplate; DROID *psDroid; DROID_GROUP *psCurrentTransGroup; UDWORD count; @@ -6302,13 +6277,11 @@ BOOL loadSaveDroidV19(char *pFileData, UDWORD filesize, UDWORD numDroids, UDWORD BOOL loadSaveDroidV(char *pFileData, UDWORD filesize, UDWORD numDroids, UDWORD version, DROID **ppsCurrentDroidLists) { SAVE_DROID sSaveDroid, *psSaveDroid = &sSaveDroid; -// DROID_TEMPLATE *psTemplate, sTemplate; DROID *psDroid; DROID_GROUP *psCurrentTransGroup = NULL; UDWORD count; UDWORD NumberOfSkippedDroids=0; UDWORD sizeOfSaveDroid = 0; -// DROID_GROUP *psGrp; UBYTE i; debug(LOG_SAVE, "fileversion is %u ", version); @@ -8473,8 +8446,6 @@ BOOL loadSaveFeatureV(char *pFileData, UDWORD filesize, UDWORD numFeatures, UDWO BOOL found; UDWORD sizeOfSaveFeature; -// version; - sizeOfSaveFeature = sizeof(SAVE_FEATURE); if ((sizeOfSaveFeature * numFeatures + FEATURE_HEADER_SIZE) > @@ -11365,8 +11336,8 @@ BOOL loadScriptState(char *pFileName) loadAIs(); // change the file extension - pFileName[strlen(pFileName)-4] = (char)0; - strcat(pFileName, ".es"); + pFileName[strlen(pFileName) - 4] = '\0'; + strcat(pFileName, "/scriptstate.es"); pFileData = fileLoadBuffer; if (!loadFileToBuffer(pFileName, pFileData, FILE_LOAD_BUFFER_SIZE, &fileSize)) From 992844f3b58726385b7dbb64a70d98740dec9407 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 18:39:44 +0100 Subject: [PATCH 117/142] Remove a ton of unused, script-related code, and lift the needless limit on 2000 globals for all scripts combined. --- src/objmem.cpp | 6 ---- src/scripttabs.cpp | 36 ------------------- src/scriptvals.cpp | 88 +++------------------------------------------- src/scriptvals.h | 12 ------- 4 files changed, 4 insertions(+), 138 deletions(-) diff --git a/src/objmem.cpp b/src/objmem.cpp index 29f810f94..2f6e4d5c5 100644 --- a/src/objmem.cpp +++ b/src/objmem.cpp @@ -136,12 +136,6 @@ void objmemUpdate(void) objListIntegCheck(); #endif - // tell the script system about any destroyed objects - if (psDestroyedObj != NULL) - { - scrvUpdateBasePointers(); - } - /* Go through the destroyed objects list looking for objects that were destroyed before this turn */ diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index ad9c96ff0..67df3adb4 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -2297,42 +2297,6 @@ BOOL scrTabInitialise(void) scriptSetTypeEquiv(asEquivTable); // Set the create and release functions - if (!eventAddValueCreate((INTERP_TYPE)ST_BASEOBJECT, scrvAddBasePointer)) - { - return false; - } - if (!eventAddValueRelease((INTERP_TYPE)ST_BASEOBJECT, scrvReleaseBasePointer)) - { - return false; - } - - if (!eventAddValueCreate((INTERP_TYPE)ST_DROID, scrvAddBasePointer)) - { - return false; - } - if (!eventAddValueRelease((INTERP_TYPE)ST_DROID, scrvReleaseBasePointer)) - { - return false; - } - - if (!eventAddValueCreate((INTERP_TYPE)ST_STRUCTURE, scrvAddBasePointer)) - { - return false; - } - if (!eventAddValueRelease((INTERP_TYPE)ST_STRUCTURE, scrvReleaseBasePointer)) - { - return false; - } - - if (!eventAddValueCreate((INTERP_TYPE)ST_FEATURE, scrvAddBasePointer)) - { - return false; - } - if (!eventAddValueRelease((INTERP_TYPE)ST_FEATURE, scrvReleaseBasePointer)) - { - return false; - } - if (!eventAddValueCreate((INTERP_TYPE)ST_GROUP, scrvNewGroup)) { return false; diff --git a/src/scriptvals.cpp b/src/scriptvals.cpp index 3cedc73dc..4db150aed 100644 --- a/src/scriptvals.cpp +++ b/src/scriptvals.cpp @@ -48,16 +48,10 @@ typedef struct _scrv_store // The list of script contexts static SCRV_STORE *psContextStore=NULL; -// keep a note of all base object pointers -#define MAX_BASEPOINTER 2000 //200 - local variables require more of these ("run" error) -static INTERP_VAL *asBasePointers[MAX_BASEPOINTER]; - // Initialise the script value module BOOL scrvInitialise(void) { psContextStore = NULL; - memset(asBasePointers, 0, sizeof(asBasePointers)); - return true; } @@ -75,7 +69,6 @@ void scrvShutDown(void) } } - // reset the script value module void scrvReset(void) { @@ -88,31 +81,18 @@ void scrvReset(void) free(psCurr->pIDString); free(psCurr); } - psContextStore = NULL; - memset(asBasePointers, 0, sizeof(asBasePointers)); } - // Add a new context to the list BOOL scrvAddContext(char *pID, SCRIPT_CONTEXT *psContext, SCRV_TYPE type) { SCRV_STORE *psNew; psNew = (SCRV_STORE*)malloc(sizeof(SCRV_STORE)); - if (!psNew) - { - debug( LOG_FATAL, "scrvAddContext: Out of memory" ); - abort(); - return false; - } + ASSERT_OR_RETURN(false, psNew, "Out of memory"); psNew->pIDString = (char*)malloc(strlen(pID) + 1); - if (!psNew->pIDString) - { - debug( LOG_FATAL, "scrvAddContext: Out of memory" ); - abort(); - return false; - } + ASSERT_OR_RETURN(false, psNew->pIDString, "Out of memory"); strcpy(psNew->pIDString, pID); psNew->type = type; psNew->psContext = psContext; @@ -123,63 +103,6 @@ BOOL scrvAddContext(char *pID, SCRIPT_CONTEXT *psContext, SCRV_TYPE type) return true; } - -// Add a new base pointer variable -BOOL scrvAddBasePointer(INTERP_VAL *psVal) -{ - SDWORD i; - - for(i=0; iv.oval; - - if (psObj && isDead(psObj)) - { - psVal->v.oval = NULL; - } - } - } -} - - // create a group structure for a ST_GROUP variable BOOL scrvNewGroup(INTERP_VAL *psVal) { @@ -198,7 +121,6 @@ BOOL scrvNewGroup(INTERP_VAL *psVal) return true; } - // release a ST_GROUP variable void scrvReleaseGroup(INTERP_VAL *psVal) { @@ -207,8 +129,7 @@ void scrvReleaseGroup(INTERP_VAL *psVal) psGroup = (DROID_GROUP*)psVal->v.oval; grpReset(psGroup); - ASSERT( psGroup->refCount == 1, - "scrvReleaseGroup: ref count is wrong" ); + ASSERT(psGroup->refCount == 1, "Reference count is wrong"); // do a final grpLeave to free the group grpLeave(psGroup, NULL); @@ -229,7 +150,6 @@ BOOL scrvGetContext(char *pID, SCRIPT_CONTEXT **ppsContext) } } - debug( LOG_FATAL, "scrvGetContext: couldn't find context for id: %s", pID ); - abort(); + ASSERT(false, "Could not find context for id: %s", pID); return false; } diff --git a/src/scriptvals.h b/src/scriptvals.h index b2c2d9579..23a317cd4 100644 --- a/src/scriptvals.h +++ b/src/scriptvals.h @@ -80,15 +80,6 @@ extern BOOL scrvAddContext(char *pID, SCRIPT_CONTEXT *psContext, SCRV_TYPE type) // Get a context from the list extern BOOL scrvGetContext(char *pID, SCRIPT_CONTEXT **ppsContext); -// Add a new base pointer variable -extern BOOL scrvAddBasePointer(INTERP_VAL *psVal); - -// Check all the base pointers to see if they have died -extern void scrvUpdateBasePointers(void); - -// remove a base pointer from the list -extern void scrvReleaseBasePointer(INTERP_VAL *psVal); - // create a group structure for a ST_GROUP variable extern BOOL scrvNewGroup(INTERP_VAL *psVal); @@ -107,7 +98,4 @@ extern void scrvReset(void); // Load a script value file extern BOOL scrvLoad(PHYSFS_file* fileHandle); -// Link any object types to the actual pointer values -//extern BOOL scrvLinkValues(void); - #endif // __INCLUDED_SRC_SCRIPTVALS_H__ From 93cda2e331ea91272e7ae76fae9b62d75d717884 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 19:15:27 +0100 Subject: [PATCH 118/142] Fix position changer, broken by a bad git stash merge (presumably). --- src/multiint.cpp | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index 40a05dd88..5595a0f8b 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2917,33 +2917,6 @@ static void processMultiopWidgets(UDWORD id) addPlayerBox(!ingame.bHostSetup || bHosted); } - if((id >= MULTIOP_PLAYER_START) && (id <= MULTIOP_PLAYER_END)) // clicked on a player - { - int player = id - MULTIOP_PLAYER_START; - - if (player == selectedPlayer && positionChooserUp < 0) - { - addPositionChooser(player); - } - else if (positionChooserUp == player) - { - closePositionChooser(); // changed his mind - addPlayerBox(!ingame.bHostSetup || bHosted); - } - else if (positionChooserUp >= 0) - { - // Switch player - resetReadyStatus(false); // will reset only locally if not a host - SendPositionRequest(positionChooserUp, NetPlay.players[player].position); - closePositionChooser(); - addPlayerBox(!ingame.bHostSetup || bHosted); - } - else if (!NetPlay.players[id - MULTIOP_PLAYER_START].allocated && !challengeActive) - { - addAiChooser(player); - } - } - if((id >= MULTIOP_COLCHOOSER) && (id <= MULTIOP_COLCHOOSER_END)) // chose a new colour. { resetReadyStatus(false); // will reset only locally if not a host From 0aa784b612d7b7f7d4095adfee7897287cd9c5b2 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 19:26:01 +0100 Subject: [PATCH 119/142] Forgot to commit the .ai file for Dydo. --- data/base/multiplay/skirmish/dydo.ai | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/base/multiplay/skirmish/dydo.ai diff --git a/data/base/multiplay/skirmish/dydo.ai b/data/base/multiplay/skirmish/dydo.ai new file mode 100644 index 000000000..efc0d510d --- /dev/null +++ b/data/base/multiplay/skirmish/dydo.ai @@ -0,0 +1,4 @@ +[AI] +name = "Dydo" +vlo = dydo.vlo +slo = dydo.slo From 2e27958efabe4769f30e0c00527e8ee0b8c6d68b Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 19:40:29 +0100 Subject: [PATCH 120/142] Disable ready button if for some reason all players end up on the same team. --- src/multiint.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index 5595a0f8b..89f1e70aa 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2232,7 +2232,10 @@ void addPlayerBox(BOOL players) if (ingame.localOptionsReceived) { - drawReadyButton(i); + if (!allOnSameTeam) + { + drawReadyButton(i); + } // draw player info box W_BUTINIT sButInit; From d1c5a649974dc114d2b11a99611d91d24d33a9a5 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 19:26:30 +0100 Subject: [PATCH 121/142] Fix AI chooser, broken by last fix --- src/multiint.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/multiint.cpp b/src/multiint.cpp index 89f1e70aa..65770c871 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2912,6 +2912,10 @@ static void processMultiopWidgets(UDWORD id) closePositionChooser(); addPlayerBox(!ingame.bHostSetup || bHosted); } + else if (!NetPlay.players[id - MULTIOP_PLAYER_START].allocated && !challengeActive) + { + addAiChooser(player); + } } if (id >= MULTIOP_DIFFICULTY_INIT_START && id <= MULTIOP_DIFFICULTY_INIT_END && !challengeActive) From 26305c02e1f1d342b0ba2b44f19da93184238c8a Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 19:58:00 +0100 Subject: [PATCH 122/142] Disable other GUI elements when in a team or colour chooser. --- src/multiint.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index 65770c871..eeb1c1e42 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2886,7 +2886,7 @@ static void processMultiopWidgets(UDWORD id) if (id >= MULTIOP_COLOUR_START && id <= MULTIOP_COLOUR_END && (id - MULTIOP_COLOUR_START == selectedPlayer || NetPlay.isHost)) { - if (teamChooserUp < 0 && positionChooserUp < 0) // not choosing something else already + if (teamChooserUp < 0 && positionChooserUp < 0 && colourChooserUp < 0) // not choosing something else already { addColourChooser(id - MULTIOP_COLOUR_START); } @@ -2895,7 +2895,7 @@ static void processMultiopWidgets(UDWORD id) if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_END) // clicked on a player { int player = id - MULTIOP_PLAYER_START; - if (player == selectedPlayer && positionChooserUp < 0) + if (player == selectedPlayer && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) { addPositionChooser(player); } @@ -2912,13 +2912,15 @@ static void processMultiopWidgets(UDWORD id) closePositionChooser(); addPlayerBox(!ingame.bHostSetup || bHosted); } - else if (!NetPlay.players[id - MULTIOP_PLAYER_START].allocated && !challengeActive) + else if (!NetPlay.players[id - MULTIOP_PLAYER_START].allocated && !challengeActive + && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) { addAiChooser(player); } } - if (id >= MULTIOP_DIFFICULTY_INIT_START && id <= MULTIOP_DIFFICULTY_INIT_END && !challengeActive) + if (id >= MULTIOP_DIFFICULTY_INIT_START && id <= MULTIOP_DIFFICULTY_INIT_END + && !challengeActive && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) { addDifficultyChooser(id - MULTIOP_DIFFICULTY_INIT_START); addPlayerBox(!ingame.bHostSetup || bHosted); From a37b819a8dae9ba9d744f09f520ff2604b90284b Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Mon, 10 Jan 2011 21:29:53 +0100 Subject: [PATCH 123/142] New difficulty icons by flail13 --- data/base/images/frontend1.png | Bin 16273 -> 15888 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/base/images/frontend1.png b/data/base/images/frontend1.png index 6c50e4040b380e8baadb640e8f319d99f80a1749..1cd78e734243f5f0c13c6b6f5c34364c0ca79ac6 100644 GIT binary patch literal 15888 zcmbW8WmFtZ(5QED2oNktfZ$GW2ofZ?>k`~8K|*j_V38!aySqCt5}e>3+}$CtxXT^B z@83P={<+KH?9A>?Pfc}qb=6bV!K%tKSQu|HKp+s7oUEie2m}TW!5}mg;7#AL$nxdP zNnJ)9R541n51gQwD#%EJo?rg5S_@-=Ptd>1>NtTwukc^~!Jw2hV&FqmXE`M))I~4` z0r~3~%*)>(5G6=X@)N{;;mF(9d3rh?&cLa05cFezt!S-MGX_>_BH2MvdMUgnOefoM zwsP>7mXXeWYNpyiV`7H){Kf%}tTPFIm2N>&CWzk?L%BIDK_zS2jCLqsFq7@qmZzd9 zo~avPhfAc*I{o?lNp>{RX>56S_Zn*d?N~Uou7>i~XY4k^$Sbq;dfp1o#TYg32y(fs z8;2h?3r1NR7BTyGG5pMuFoHXP#C+kPJ5R&j(FB*l>%7thI?t9^B$$6|}e*#G#Q1n=&Jg$yU^`|^wk*q(b4S}s+sM%x94llAGnXBGr- z!u|Lw!e23m?@C=^%{TM8&}vpT()U~&EXu}fgcn-B>lWERs6O)5RI(U#BYD5Kry=?K zfQp8H9$o?5G~^(qxTv&J%0PmKOAnhd`EN()s-vESjN&Q z_(d$D=To6Zo33Xh5Y%?%2n360zh$mh{EY)TnF~n`Uo;D4DrYwy-QrUG>fM=iqxtIi zB$&!^y!wst8ACzgw*rsN{{bne2X6OUmz(>`~ZUYVAB)86qG6(U16j0rl zBeJOa`4F%wIRq;RE28o@df)64!L*L1M)2@^jT#@&T0seVNBd*`DW%plgt~Sc6fxX} z_abA;eS5?qpIslS!C3AtTtf#AUwR^l$RPjqUW2Xs{2B@tJ}*5P(MepZe)A#MW-`5+ zp7lImh{MW}WJi&$D~3+t`%O0v3aNc4Eyz$X>#1(u&fHARR#8mqp=6nt4?oEvcY4(V zP?$?W`nJ-c+U(yiJkQg-8ZQSAYc~f&JQD6r?rLeWX{(Fob8(M&)HK01KOdBO_5&L$KjIA0@ifR=Z~7@+-o(OU#r+~TxXV7?Mld5o#Qq%! z_DCv&^~J~)IpPw_bYVHO`@d#Ul1FdPO9I8p4F6Ee>5atn%AAJtXQ?rtDjP0B13?k$ zhbs%MFYR4H&+(6AV35etJ&I+7F9j%1y)%Nl@I}(TLUh~v3Nu9^s! zX0PGh!EiJ-$hhj1uQ&vlFC8g2w*nVb)$z=y=U4QT?ad_wB~Q&hLy{ry6NAZ`eJ>sf zK#G|{L=Ww3>Bg@z*4_G=Pn$QFZ*Br7lMIFF?(Rz?+XE<`*AUal9^C)C_x(1BIc(oV zb~IGck)zPJIdg}vmJZCunv3>V3HtF;53|o(M2$}j?H$Mp6(Pi3zn&{8M7`HUT56sJ zfDT~us!DvYu%6$~&c1uaM&en&K1!8=4t1KLoA5amP4qPb10$r%c+<}PWL(kutDx}3 zT5j^*uK#@PuY`h035Ch8SI<+A)0sUJ&Vr^0587&&4VBmY3vMpv-iZ?dr8Wh+p(TDd z`>sVk4a*~&@|51Kebp|PKffF|RIG@NwhveuP~ksEw%n_G-nDq}yY8vhn;b0+siu2Q z6rUFpp+^6v%XD;&4n1VnY=RZTg@0U&9+)SASukBX0gpN%i z_&zYe*G7&>|N0)xefOr>u(KQj>tD83u7y4)DLsIyc+%euR-rt=yE>2)K?`H~)*N7m)s09=A&~}GU76~O$aVBL`L7CKf{OVQV)|P_L zLV7bMRzpo>n$dPM%$ix^GwU>>p6HXiqdgglC?9DWy~f@>n2gah5_PnpCvIeLx7WN2 zO#YxBSo*x70X)2Lv?K^bk;xHF^Q7bcXyg;oi4WfxI2Hvhi#->Ig2}ps;4LiWslksQ z0hzF_O}19^i){la4{2y175YskI(8_3s;Pc-_AXYP{T&awk@}PAJi?nK;`Xf@X|DaD zVQ#@FMcGV6Q0aK(vDIA=Y?~X7jHVTBJcWloh5VaZ_UYVJ8yco7QkJlXU+|Mf8e*Uy@!xX(4;QLRpw7Yhx zV)Ti8Um;L#RzJYZz<_^dnwOO~PrXZWVfqI!Zsm?Pl0fXpWFnk#7QcN>j}@23a77pQ z84R4TR(y`?_MQtAVFb^fh6xe1<$eRx4JJI>~v zxWS_uZCi~&rWT^%TdJ!Ak`Ja>uvDyY-^tR#tfLYsnl$4rRM0o_igh#)n#@)UzsN*I znD+H}?dIRAGD3<}H=zo|lS$O$P|0U2EY$U*S;L{bgbvDyOCtRk>8|u7P@d@Q)gz`E z!bbIS|8b@!Jg>Ae!Utsjn8^uV>2)kCWfAsXX~8s;b_i~nTa)J(nSue>3nQiY|Up^IGj0db*0lR%8qQ#i86}Pu@ao; zZz4yFOj&y`v)Y%E0{LgK)T>wd*Cc25PTUB7Dw|gUET&H+A1s6C9?tnoI=z&O#=~FvNzJRx#$UcNONHDJ&=~vr-q+36EO7m)8U%*6 z$w(^`9cL;RtZ~Dq&A`t?qM(=xa*35#Uk5+v$19fdC(1m$qxCZ4TZw!ARl&aD<{~|b zVSQ~Xl#5<4mY!!@HQ9;Sf&u#@ z*LtEKsk6AK>vTtrXfdrdBD$TKE6Ce#0%E34d`w@hPU87qR{H9-NQxY%CQS5M)ba2( z-Kcgkl~Q#eq19alct znvd+>_a+T3R<=hFWx7-UIz90=9X@~k>owx_#LON)^QV}8TLEL|uF1d~NMMqR9xQx( zBu^3W5zEUjYi>VyTjn8<9Ug?ZW&{Nh2sw{(&h*1+n(Y(DBRIi0R$I1iE)RO1D~PLO zWj8BYRS#{=C%_8KZu9QruQ&Mg^3!0AUWuS5P?X4v#&G^&f5gWLk01U33w~4-To3l% z?-UkrDgWq9(CCIf5qZp8e{i=@tRLK7(Z**@qmt%e5L3L&L7@)1G>A=~{>3a-Ok8r? zAj~&v3K|k|vMOk@wEo!+GH1y+XFw(J%QqzJp3r+#Q8(~@@7ab5bv~GF{5I)od@B!( zaw~ZY2oHqYQSv$9wcY6OTi^Adk@Yl<)?sO5fA9M%3ljM`CDDW9hB2Grif)SiK^nHo zFtOt0fu90u-BGWZ#0qu~(S{P4Dc`=Ee>i83`B$GcaPzqeLwlX~x_}Glrr>UEq7AkE zxR)Mt!e-z4W_$jjx6G34pUmO|GY=@~WV_N`gIjXkcjo5Rxc3!V(^y7V*(s6r(0PVm zOI@a%TnV>tanT1nqU;h&%3ZjK8#B?yn6-k0+1CBL20O0tc}a}F#Zt^eg84odm+!7~ zHUKkph3)db-E&j7{BC?zD9g?YxhGwUzJs(cDT2&n2-g~64IOaxxij z4U4u~Jx!!l>k9gQeJf_U1^Ho)L@%U05f%I&J@vPxWqt~ESP{yNX$gG^EYvM?1W*f( z#7B2t7?Iz+&O`t6WX|3groVy))4u`poK3M1^dL_zp{sQUF2IGpvVTTUey~J~WoPRO zUd1$d%yDS6J?r~^o3s8(a_q@?ZocT-b!zZIGb+VG+U;~neB)zvp_8jygh0Xk%?V~~ zc;=S}GsOT=kGa?Zv7*<^^jQSlZZ2CRvh;@1T)1|2i-a;5C&ef?<|Trf9n)XF2wuN2 zg>p(iOsP?}f3Zlo_;UT$1R=^D9vte2r=>pf$|ZEL|AS|B-MJdy|xAJqjBoHk*XA1v%=CKzsB!=P_N#7;Jvy2&C;nK#L z{lY#)5mogejIH=hf4H>{d{NC1+xebFYXdku-N0ALv)B2}bq*X5du9CY{dL}nWX^fW zXbD$fP|?M}DSs4cHxpm$I(P3#LQm>GHfPMepkc!+=fEKhOW`alT z>@n$y*>ZD4CTA?aO$)tQbc^=6V+F1CJz9-&Q=ao#-+$kUhFgACObQ~mQkEg|o498C z)RQJ45!Xeakt|vG&ahQgK<`wY2>zy#A$=4*iaDf&?~_t21_rZDZkc!eidS4-Ct>Rl zXOZ0M+y|*KK_f7vM`XWOlaOHQ3e8nfAb1tROLZq|hTzL{?EUc}poR>k<1be^p3rDo z1ocBzs6@wYsKl(@Ld0_ul?~F9!Zdx;+0#TsfGI_@_ zHVN-=_?Ab4~JQadozRy@8pfv`O0?OuHH+SzeaJ4cW>yp4l-@^xNU^=?f|U}&&`WFzOc%2! z8-0&YDhxe_W=}VtT%=>4>pB}w(wPz?iO(~76PSoL0xEXFpt@C0eoy7%TzQE z=XafGewOS(xg8rlHxKqJ5WHrrQ$$Y&N<9XuNmwGEAEyT*i3PEF!+|+wn67A82UF>9 z`R7EbDW;!d#citJB%E3Q)nlD%T+Ri)|7-#XG3UC+vu`er`@C};dtG=wIT`NJ zBF1f#eYn3misdpV?;7Q$9LM$FFqF?83=Nbexi7+*2g2)E>5B5w4||8P-SfFm$JS6* z50nmWuyvMQ7vUm`4CIr(YJo{AvBQ{`3qK*18B%JqinM5T*)JL)ewy#|V;eo8V9H-N z#b!#HIT*ZFh=4eZBhEk`jbla6$1g&Scca7?Q znm4<6>Dgf8|K*J1mx+|JLz*JtXH-kcgzC(hK9T9V^4aFps`nC>C_xQs_)dGNt0MsA z<=U&QhLK`+^_(PI8wNGqQCWHG6Wl8ugqjgW?a!#AX58uak2YvVu*QY5QkaICGIBL& zPm}Eky_qlK04-C`NSW{kPcYYFGz)(3|Mq1br_j!MUcCD5P7xA4=E&8cMdG)Q=>qZQ z`nh3x6FW~EG7_O`Qd2wd2Q!$=5nvt`SrX*q$#^;?9#rZh)*A^HUM`nWwb3Bkq#wry zv-eLm1|etkkfXF3@)-*)o>s7xyfMT(k7r%1ii>o5W|}l)FhUi#u!<3-M&F%}`VD)^ zV%k8+%IAmqF_&e*K+7eIU_L*WxU1AC10G1|4_7iJ#X?;8K{ z|LsmH^&E5l=F(h!^zEowBzeVt(@1oO1SB+>u$?p3_eP^sO6>a%;GfaquaSJp<^-p^ zmp8kX;`b??_xE_H)Y&w^4^Ha!N)Kw6t1UcztMS^Sk=D#&VrVg^xAIbma)8ipblfPS zO>0fD91E#_Q*f?dirR<7z3&Xn zt|I8qN!oRU_HZLuUy~>l|Cg*+Z&Sjo!P_a7UiGG$Nk~G3>XkX(^{BiW2Z-L%-k_Cg zmpGEz(C1872(<=5Dn`cXr>Sm$K%ntJmC+a)as*N0aq`_9Dm2^0L#S22dMj1UZLx&16u{ST*TwdC6oG z@=l|qo?p;joI?EtD{NM${eT}&G$Y7y`>EI7cvXXg1PSZ7t2gVW+C>YNqHT#vg9*f@ z<&OT{t{iRFQ>}V79}s3AT^AYDS6;jS=ckHodaF8MzG?KOP#<{+1QF5z94>6phcI<5 zxAhu9CRobH0-yg}u_Z<2jx%aF*B2>;Of~B|3q>kCSGNeW_pi-A`>M4QRzB`Xyoo9w z0fMNVqG-Xo8gmjcqp_jUL>lv-pBBk~85!3c7LHeNok_g6G)gnljQn>`Z{fYa*>tV+ z4L1dCbruTzh}oyzj@DpjzE7R$a4^K@wxu?T73XJ?`xJfmhfCp-mci9j z;amiFb-UWSwDU_4p*pRpZ1lofsy__bFa8+IX9>3xhK3J;Y}s;7&0bh(g0-WQ!#f?RpimH7rq@!EmtuR`DIZAP5USU*tt z^jhd+nVJp@$6^P8g*LS}l?Ho*U+taeiSZH1t%f-*-x}OgH)9P97VrG|Pe0~dd0DM$ zBzix`HKl@AgXrGTdg2yF$roP_KcMV#QwzxGQbKR{NcU~ozg8qkWWkM{HNaZ5tmD9I zqR2!#?fY?P*)^CPNKtE2F|~~P6yeWGRSxGd-Du?STyF9VQ0p$6lNQs=FQLRMBkK{< zo}v;l%#?j7nY(7Dr$Wg!9+oDw`Kxt7ISG4P5c(clZSI&~BzV;g6LHd!pf=8qM{sA5 znkc%OR%TFbTXS3gUVi%{(x?%PJD!#rr2~G&ibPC zzLQiA#HyT%vUk_omRmpmtKJXzLqUR!5}znY^j{Qv-dnQ1fvj;3ynz5NM!k|xOy zd=nrKOzooV{8$dcTQ2!Gi~Ql2uT=9n;LOs-P|Tu<>X;-PgW-qa1Vpuqr94-vaaC&W z#%`UDB~u1JP;{VAv|$}RgZwhFet?CJao`A#0J|uo@^R=~l(_qt{>566>x%Dpo)3iv zLJQhD(+qn5C=U|1MY@OoK$vdP@P7MBy|PhRPY9J-6lw6Au`_1TUDVNr=6la+5clSf ze_K@8(Q4rLIs(b0mQ05UY|XNtj)w#34C)La32ykkCPUw$MZCkL(d6^ZdBH4Wv;Mo0 z-xSGdZqVu+Os^KdyCtS~6sVZl?K)#Ei!4;3k5s(s8x6CLLuJuRg!o|U2xJ~6$qiQc znGU%me}S^vR%7G)e_fr9o(9iq-}528W%$@gjM8G|qj}-f8B?lS`^d7FZ1lr^v{kOh>uAPq49zARll!69;~_qBdLNrR-n*TOC&Lnm7sNO^V95z#t$yT>jVQtLMe;s za;{U)!oi{)$H%00hkR=qo5ehORQ#lsD{;rK9;(JU?)sho{W;fJmRl*X?>52yKT&euf_v0bUHwq!4xeZyg}+2WsYo*iSNVP+Y>1V6KOcgonOp~MLoz1!O9mCpn0HAx*b_r4MA>~{niPZS?E zv{#KUR?06KzK@sbw%iXc>i8}`zs}@{Q4P7=(HAoYA%p3!G)|XZQXIe{wTad9wW~_- zJF4r)E1rVoN4b`}8zB(v1xzbgrT6v~&b%Z`HvTUHe`5bZv14%cT~FK$k>kNXyT*4y zs3@m@)&@8}foc6U`*Hsjy(Z@S$ID78!gqi3(@xpNpm`5_>1l3qj%)kR9^C$6_mxbL zFQMUcVy4+iH`B-YM^sQp`*IfcYkIs#;HkUvkdwG!Goyar$+cuD9v{c zmlDnb0*wUhp17qBovtUx@?Z8AR-gJlQvbT?Gw|gGtv%APlPG{IVqlF-NflVjZ0V3z zFgBjp-0hLW#lOZq8CstLY>xP>{b?{yt6_H2UHcg_DX6Wc?@G9o~)iV zSh7e|E?EINL69~gWgalYqC7TsKFuTVXhulPcHFD!&|_iFda+SI@s73s%J}g?2frOt zWjH-J{{D)j9WI_%mUeI^uYQTbUj(Z7y(O=M41yikb|rc?6?o$T;)gAJa5pG+UK}tb zxn46=AGA~ShM?nDZw~JlwdriKciXc+3E!z;ncPq8H*UM(r!5{RV6Dvtf3urAKIXgp zxxAW-WE_JOs}y!P!g}CJ!aHv2vBP7gZV3I=w8Kke8R2ajQ9w)&7#u{Ix8x zbzLm-AA2)G-#g+k*QdfAqevC_BW{Y7a@fa*lBfSLSLb{&*&h>AdxvvO2ehH~lycLg zwjgwggl(-$A*0c}7UJL14+fg;jLPcQt38+!(BF~DkAgKD8mpp!%~`5G&)EB;dhtj! z=5@ylj3)!sNDzqa_Z`he=G#9&_Oklu?^ne(ciZ^)sTcFjUB6B{6bS7g*y#xjA_6@ngAZxg0-?A%aaDBP;|F~0Ws zgO?86R>*l_K9zmd5GEJA_vwOS6H_d)L6Im$Uo&GNy~jXbOSA_G2=SfH{&MehD$o(& zH(uF?H25`wK;(fhwE(+T@wam=i?v}tfs8M;RZe|0OXmnT!^S|O?<>&FA#Zc-;Ou|o zr+h>#ugU8Kk2THel(APq>s8wF&djE`$QkGy1`$*4Ft zdwvx`w^VUGjP{sil9B+?8unpsda8#s3 zYJg62!dRcYwTkU zdgg+~J3qRbuhvp0YQ6C{teV^HQ92}@eQYIj_c*%UL^$zP83W<8Vk5!ME;d=0U8_+JI|CG<62~fE3!Ym?M5Ii;tC4Jjk!_ZH0uzSUZWl|k=Q!6>zM7ESzwlwxSQJ<^yMe+7aUj?Il9zp9 zdq9lO3HO7?VoPw1XHKlXV51=1Jxm`ty!K(SLit)tymZ-J+3t*A8h%N9FsQHURJ9$^ zFS%R(%OP>obLJoN{!#NdJFRyS>Il`En#7!kvMIPec-{7&ch7+G;l$$=q{01esr zNHZ}=JgN302M9mMRnEV-=B)3%ibXwVxl#SAP?>|LM}^PsEbXz{Q-w1?&N##qq0kEeem!_M(erzyIetE`6UXHlXN(F#OSY zH62tF`SlgmKw$Bny~G3kC6~0^rSJ_xw=sx5R%bXnU$YRoUdKr@=PPGWc|nfo;)qhP zXybhZH6jPqG5d1D=Fr?T5yssp8!`HfL8h*HByWizmaTnUXp4?^>6N}qXMC3$g(z_>HOFW*1hkAA z3T<}ZldJ9{u@Qz8K_&m1z~CQ&QN-Q&&ZeFx+OHVDyrHDj30#7LKOr-!p;HD{Vx!@S z1yker0|r6yJ{N0I`2n%U5q(?EH`nnl_s|11+}xj8l{0?lVEC_oXF}M-8m3T={58BDUmF zpS;O`Zp&>{@6ELzpww))aM0vad^dMrf0&f5NG8b~^36-HG~xWcy>28>Z&A~-htAM8 zL}qnU)K~*o*N5LT?|_oUZPJ2m=T(jHABsF9R==xzLEYvJ1b#!9 z{&56re?Wsk(EcIBu20><>PRFz?Y}f;`gbh3dRq@(eBEP%Gt;w{I%O`~kk!d>DFg4L zqC`@gzjSq)SH6;Gp`m9loZ>qL^G3;Bl_@&|b`{)_dNYW12&nMzuTX~vV-^7Q7WEY? zQTVQ9-dZvO0tWN=>}CN5q@S?#n3y{5T#t>iL)ryL z6NOZce+W%BxF{!Es=zDI@o8|sqtG-|Lu4P`^FGnJJw(doWEzf<&N+yZo#rJld$JA` z2GN)?#)^Hm(=TmZ+PrJc8wwufq$+EY#Q0((RkvA@Ne3=+W}L=Vz}wajm$?0ArM`Vb zL(ZAXra@k0Cbi>5*@RNL(8za3AHSURoZ)_?dDSZZUdwt8(8kL0Gj5#PETc;j_ixPX zw06gOp`wu-E4JKv2E2b>X8CEh`WTOFu!^#Zv~R6n4g3N)cm<7D?D(iN%U2d>y*{dg zUF*wg2UYspK71aGuVKbfKvvbv(#^}(|8*YtGOsuN2TjKK5a}tKF8J7rrntaYSmW+n zXRX!hY()sz%%Dl7o_^Ygat<|26H_V1LUxAZg@T5A$cJ;{wl+_0%dtm$omEb(ZyRUA zE4gZ{R&Oc0cf9Ji<<*e?79&tm%A&)Re5#U&C=>xY`iRa4!<$76y>wI*<0=u00)^NX z0!ZqsJcvuvxD2HNi-X{CzJh{*$60JYhZ?hUPRbW9HiK<~zsyfbSp))0foHSIsU=n9 z3)I0JgW*)APVuOT2Jws(3`^e15aX;yb?NY(oD0qbHZ#GL&96e&B4|e2=vJOBUpKtJ zq|nOb$1-$+ptLQ)Z-oefpITa1LBsQhl6vJjrxygGc-bD{a>K2W0@=sNs-h)rs%8bH zLzZkxhtrR=ygv=q1Gc#>roI%Sgm&H9xkf?rbvG9W59&`@RFOqF1;W3l<1eOb&iE#h zFVGugygpqu_YN`XQ9SyjBQ56h$Gx%=uxpU9MzvI~5^t?vnuCl7-pg)G%e_3j#IN!? zP)E0XuhA2$ok=DeHwT<8rrSjpm;w&d_K0))lYlf#j;|!|`eNl^shBszUFs)Rk=Vb> zZG7(xXm??-9Im_Mpnf1@u^R*zd?QY9YB0?#|DbZfTsx<7Wj4`^F$kk6V4iTeQfKe$ zmc?JS)5?U4Gs#F*y{Vm2&8cKYsF2UeUEy3_?ne6~;AEX;cm!030PH)5Z$9W*U?QTB z@|^%)Fy;K-lQI{``Y!;|q)99x%wpAv`0q!`^l3jw&XLQ5AxL@-*=ny;-hgK%p)LYy zIN`=E@)C7w`DYiGEny`o@@AyibWf$kF)F94(pZd%xH8JWFeoo4zr;=EPneF$4}fLN zUF+|x^ev0I7dX{YGtb*rHunxabnKQiK3WB9DcX_6IY%Qg%KfwtP{!gI#p(|V)YQh< zcD5RR*y)pq#L6>e>n=1C`Xh1y-3?zL;r9aYfjs!(O>E>_ zr3DZILfH}MPsK1{O0kC0(wX26ZQVRAYcZhPYLf83M9I%TOUAbA5sy=HO0)+DoNLq- z)TE9Wxm;L+&zO1GisDM#xzu!|TjEM`JjXsi>}vE4`6%}IKIQd51hMd7$VoJE#bmeh z$Nx=?bO3DMCq&-@hvtHF{_7`4)#3gnBw*QFCKc z)1%JD=0N{7Y!iMp)TWfaqgv6y#ZXg{GFaxO1bz1YWd4~oloA1y3z4`i zbz;t#BQyCjqn!LOplO>@l#|V@x35m05Tx|!F^B2i!4Bn6G%J?q(>OAN^9cr%J;7%} zeut)HEZer-?)bQ(-#o~vhKTEq7F2QD6@fW)Gd8^&$gG8(ly90NXfV8;)MLbu6S7{w zIM6A(L{771S9Fw@>fS>zVX{TtZrx1E8D&a z;^&(UqLG8Si%z$wdJ^O@&(5CLT)h3-Hgv0sr9X83`?X?)!+GZ?7aJOCHmb|yu<^cX zyKXRDZ))$Wyun{Z9pGxp=C5C^PeSxWmBV?J!Qa(Dzm;4;n6)oM3W74m#%GjT}2*~eochHxNOvyRJ7aD z{e~6>ss!qc-VNQnX=r&p4pbl3CuUaS$2NY~425hXAflbfKR8@$i~nsFo z15VQ2Dn2Xtd(oQ6qevF?O9j(pR7*6n>$NEUp+28-3QK%jk<;i&GRCls0sYsaqA;FZZ+b(;?;}`h zWvXw%i*7D!CtYLR7%-Dmkr0etxi+hlh%tzSb!8stw;;gG+C;YJ z#Dm=bSo}-@l0qmChwX3SaeT(jX{^NsVf>KKW;*)5=@(f;DQ5TI(g?dBO`E?Trl36D`Mh_a_rqBYXW%Vl{fD=oql~JTq-7dPFPW0sK>M(<%;mC1@Pxy z3bcVNX-&mgNOpZsnEXGC_s?y_@+@)#3U%k_ccQ*2lZ{ziHLq_3!K4~^Vrk|9xpsRF z^HTGY_bc&=c&Z0ygrD&Rj!LbW2c(u41dJ`Z@pfY;qNV5+IJMi}WfTW>_ql#P6_<~R zA>vhrW+oBvd_+a9q4fib_d`V16@Cmt9AoMJx5`scB=yYJts9&&YCrFL5}- zSQlIrq32!ck^WzSXGIKxQU(hhNT=pghE4OoIEM*}z6FOjozzN*a`fPk8>Nagb*FVa z+CP%&*@V6&9@(ECH{0KHaX-0fl5Ucv*Em#%%Q5P`HpSDR=&p>J*^u?*i=i9<92Ziu z_j8u<`5Cu67jY?6$No9%O1tPu+(duw1^cMx_tAZ8{=n<0Kh+}BnJq!9)Li3wCDnao z5^?nbyb_@{m5{w3^!cNddOFfP7e4uEX&&#g6LaJH%xu|f{h^oU!w_S81ZEyLZVgmv zeeeh5;}8_3p83@YRQ?VtQy$I&&UzQNs5nW+P4Qk!ocR`W`8)?^TRN9`b+JnQXNxx6 zvTw^y=>+}U;Atl&#FKd2zo?0{>xN#WUY^yq${U6MiQ7&vg2s)(_}PJ52)VHt#_(B~2U=5)pFD22;>{08 zm5@j)!p@#bODiw&aui)Deq1VDr^O(YTBGEBJ8jy{Lt0~*&kEMg!;96o@0#E7D$KZz zc$B8gGWXsh z!P%8fV_0^=r(v>}oe>^00g1$7-K{)sD#EM_NtGn%6~w;A_Q#|^3dDoV@@k*%M0kUE z2?K>{A{X5ii7cC&279|#tj2B?R77lB)q!_0<*Vu##o+4#=N`CmX>f zL1MSWUdhBNoVL^F{1!}*8)d#dL>)P1x=v=suAhSk6_4}`D5VGEcpOy9=b}m)U~Sh!WBa%=4BM!jI1AIXy_?xCx(*34+NahD@%&w5;TR!qCtxMRS{56pi{!6e=F2L^GYC($Kn@bH(#kKe#rtk z?F%n}K^?xjV#C!F2G2G(6uTGJCUNC#GxyBcVr{!wMIiMQSNe4dr9SQyXp&OC8aK zy^N>UU-cyt+?}a^wp*^}D>_3HbNNW? z-qV*O1&=kHL_=qG^#($GPVjW_T;7Gci)=xAuxIAiU444FLWaeRhJ#+Ei*lStI(-t@ zp!>c}i;i%M7t?cdsiD2D;cO(ocin!f+*u!`nuvt`pBW-zzG0*>-HOXy0s^RYUhgn=JCgr+o@u6si9Xpb8vhn(gTzsD1`Uf2C5G6i3Xq3$V?I zcVd-khZESHO-{J}FHpraJxbWRj zP&42r3u?tV#LI;O?D&hmYH}?Kl?~m1eYH|*qAoP zNwVLdxq&Lt4`|k(&n*|;PF30mx%$5>1TOVEa+Z*IjW5&~Ns6ExNSj+(Idfmla9FSI zY>%8Bo!XH#&MSfn47&vk?apt*16XDdA6rDGHv@NhKWe z>o5Hi>oKJ0A)EUqmVSRf%#|yV7N(f1>B>qyfC;IY%xsi7Q%6}75>hRmw#sEF^@k8D zP{*nNeU2R#lPbpjh#%yIsb699zs(qlxLp{ZvMT|x2(6|(MK%AR3kr7px13Fp{Le;W zV(P{uDNuWi!L2NaDZwN$`*ges31yV`^V+XqxAQ`n&8M57x3x25aJtl zx&`ydkRFhKr0>IkrSW_iBPvy?=c+I zIQ@{gRp)K-M3($m^m|OySVx0<)x|HX%`ur1jg63O@G<{%@AuMwkro*w6a**<4Sve! zSw*SK-ns==JyThy@$5e5*poN!TE*#SdIzu})|Z_0e`jMAXOhLScMVFcVUd^+TZ80^ zSlXFS$P{-&5Jg<4lIlHL0D@&t9pJm65+T{QS2H0unn!HR1`V_@wDJuaob?pfAja!@ zgY(giNQ$IME$YEInw}YKf6X{&v>4GoeUf2dEULtWfPvR-BB)4|3pK%XTR+T(TaC@A zzppXk^D06Jn!^Omt$sgSag*)Af4?=3XzFxgHs2Q7gL|rr2h^vEXLOQnv*}5G_L~>R z+kK{DWC~;Ay!RmYG-MM>^aL}0FcZtx_LlEYE=A-M0QSV`I~9~ zOb=im<-FU$3jZ4=%QAMT;eYuPK}5~ETLFfH5b9iPW=@E66o*5|$@ouG2pF%E$N!SY8GM zobCiSsK^VuhZaFY%YjC^p;RJ8xq0sR+f7a)mtM3Q!_S59KA%UeNJDgxRWI8CuyZNr zSB_*HN_#Bd4`u5134yj1b_EWsGGogzxOxCTZb5)esiW&11c9XK(WEud%$mu+&H;gU#c2#vf4fCwwVvN{8$IBFuM)7h5 z2do1Gom3c=eIs5%V`PWZB^}IB39QY9qKt%?B={pr#zFax0 z%Sr%cV`O{a1+uB4tQ7G4^7Es$ARfGf_C-$D82~WwUQRe5?K?4e69p=-ERC`Rhm6b5 zA4wvq2LM!nywnE>Z1Kp;6PnoXa&p2{#WmNET}E!ZC96Saq9uicDwcL&m@_LwOr3XA zmLQkSusdt7uw43P;cq@s%&UYMM6xgYf^=N@K~A2*(_UL6e%F@jVCXr%;(2{Y9)OtcMj;{X;(qFB zrAPGUAbBwShZWsx0_3}KaDMk8oD(LfR7Mi#zI+5+37$2 zYtQsN?4~Q{%r(acT`Q9povW1do=OW88Qy1K9%&WNW;d7RpNlJCu1dG1d7ezf2(J1z z$%NM95xb<>Zp!nRBLn(vTZVx6oOZi^#=mJeK()M0vRNd5z`-3S!m2-J^*o#RY?x4gT<&}G z?f~pEvS)HiBv2_Z^mZ_K@Sp3gxY7OL-~h({8rSCOBYPZ}WRf z&EV9EQKPc1jRh{&OmayJ3wjTk4dSv^#u$KUk813G&b%Jyn{+-G9Ld?R>)eEr@spj5 z57E!;rax(}S~GSZq?LcoJ`fR%zkIl^cgjBIkG|b|b}MUv3(z};2mTm{_>VheMOQT) zRQ?{Ls?m&89+b-4Biz@YS9xKYE+$ zSZP2_P(!)!Br9SuXJ9td9~BiPUURU!iyi)qH}&DGgkWg<70fNt5}UW@#A$BObt756 zm3Qh3I2cV*Xjqm7{7+)v;V2Z|z(l^aT0fJK*5}XQxxaQ&kH4+GqMl&nzMbvVvh4Nd zaaj!6R{=OXsUMBv$ag6+LCM7jYiTC7qxKNTTtmV5m^6I8I&FGZZtcv$Ps6D~47 z*>!(7Z4|jZ^t#zxLon*uZ%NGqJci1e^SKXcXr!J&OPzn%F23DZsC+qL;Nk*3!8Ru! zyoVzy(HLTCZk5BbGFgal_3CiN>>Q>Zn|~=#AG9CULwSA4G#>l%@ubKYZcmjsM1`j# zSkA{bld>O%(ERPiT6bE9lG}ZX&JRxs9D$<*sgH||=fStZ$c9HV@6L*Q^2I(Q0C0 zHu2OTlR_W#;+meM(H_-$$!pI9bzkczH@o>aBada6dW{$5)w(;oq5tvb3SP`Z+O<89Fw!-_J)6$5%=IsJA1*Nk@q?X#qjW4ijKk|7toN#$ z$P_4MVgP_|K!+Lp>&QSqM9#DF1f2NZ@&7zQ?4V=y_j}@rCF!pUyLAu5mqF)M8#TXB z&4Rq=drvpoer%ahvVZDdUf!8$_1a{;sNV1S>eaEB7wc1r&p+NL#Ez#HU6}D@M#>&l z!XFQM`={>Ju0fv@3_5tAfyRMB!M+u@nlPiEz?pEp;Q5sHRrCYd`1KR|E)w#%0n%FS z=1J?#MQ?Uf*u3hO?90APq$Rgx+>Mv_6sd&;tWCuR{2=LU+1@6<5qyW@8a8y#Xc zHqzb$u~7sFTqQ4SMX`y>RH8EWe@Y9org+oG;!%I>CfgL*J4&4ZEc;NQo`XBkK z-m3P@RmSilng$iD`Tmlz2Ma>*=iit9;qP!lY96!`4*(|u?0TF+VsxnZ45dFy0)+h` zq@}DiT(MYem4p=?mwjUqp1iw6b~T=V%i?mc zTls~bj*I=jZr@H62Yq}v@RZhx{`{e+O^84om1|qc*gr`*v-m2DL|@S; zF#p;f@r&#V>(|qeXM&Tcwg9u=o}_Spetvpr&a?gw{9W;RuW|xsFLTl}ZNBjgx*z-F z#x$(%Mg%DI*x&v4I@YWQgs4JY-KgQ@KM_cPp+P&Z@hisuzHdQNhm1YXYW)WtQeGI* z?UQg+uHYLDyUAbA`)dV1xc1xcx>y5camhwY%j9HwyuN%aox~G5Sqn~zP&h&)!t=Zw z$@exbhmostlW{GzSz*J+{h;7%<5U-nAc<4I%~_vn;$E?$^#{Fq2_PCqDWgJI^7QXl z>dn0z>_2xj*`-JRPSl@~Eh%pyaeG!I^}ga*?aT7M(ESt3hXHKNKhTeir3abioLJ*L z|G6*k3$gNW^cd&IyIr|kM>}|C#D$}Nik2CNzkLT7|0^XK>J)bQL4LvM{knB>iI6M;ola%Oql+YM6EH{6FY^659DGYc;8#oABXXAY!O8{$M26DR zC6&dF-6eTK_b|~hNwdeQ8llv|*s$l-Rk6UwO&T9~9-Z@nxr(jWauZtLCl-gK2!Z<* zMBuA~7bO^_FeD!Qq&{Bby<8rbQFMm++^gE&@9U}g}<+jvRqq_aR* zINQIgg}FTb_mb2$n zcf0)RFGx-M^azR_buAJIXx8?h#lcC<5n{gw)6GCc8^wW^ zwgEcq_iUAqTXTfAYs6x8UhCCY$lx&daGU zt%%rhTe)_#WVzWPWCncHyd|w{j3$F&GG3GQqqG_TzULgz>H~<^QJMXc-45$N*X#W; zM8W*Pp9}J9EPX*u>?_<$3<41WC%uBG2TUR&!TVt|?mR*Oq*5Jj)VlC4!I(Hu9i7Vh zUwX&}Gp$_{&dJ}5knfytufKa%Xus**l^j{kgh^DlAt|>)xYkkRTnrskd(jCd_oMhgD4Blu0Vp=4AnQFWG5wL+u|%8P5Z3{&j6X{paC+95g>)w<%UlQ_BlXbP z^{WUoGUSF_6b=CKw9d@`6W#BEPSo!v&rgr?LX;=_JbV4-#}DQdFuo}mX(XES2HO@y z4vq$%d*<0r6E1VB+wdQ~c96Sa0CSHV61R={-kw=UoOtxN=i7df5gSO8vz{}S5`N->b-Psc!`6Fm4psz;X!+)f*(7SPY zF{RU~4q~u$THDZ00@Js4t4XWVg(#oyY?5iSRx=_1h_F=ZUwvMYVA-U^xO?a83qud@ zOQ`3ECGGUxS;QhEPBs>tWZSizRFrk{jwu)apksBMTz!SNCH2n!vboAF;W7`WgHg68 z<5MfQ*0oSatXb!{mFNYD@gO0j99#07o;Cw!% z0&#L3%ul3n3$t_mU4i*jF%grSC&;#PVpeg>TSM+mQ~EIcOK<{ge`__=Kg>8=Y$85W zYG#>*iEUHCsn3hQWp^v)r1^DFr<{b}5q@vdr!o5Sg58DnH=w#omw- z*=1poGSa2ybo`C-qt(2xwoW$i#B5otsZm{L(Q{ zbe^_pAfpymmv4thGLc<}RBo_y}Ew3LYO1df;~{8PP9xBPR}(C}r9s=CK}^yv*JKnoV<6=xo9Q1(xgA;5?HmQlM`nxh(DqpxNRtc9Cc{aqRL$}-9Yy|27#HyQswo{7)9f3AC;fo&@o+#6f^BMkBhtK(2Sv$+ zr53z(sjjY}f`l)Qj5wFCI5U-ynD1yyjwGN{X)4`;h-%odAAC!+;)5rsBrfxS7kFae zFG3@&)W@aV?H19H!0yH!OVRev_|xRT{n<37K0LY)ZBots#p1=~zEA~-U|7CWX^Gnn zwv#)j&rka$a0t71``QyN_X6sdU?P3q3q^ITx}T=nxqL?p2KU6*P^fp>t#+x7Uw_-u zPqxJ~*1p`x!_;Dm<(qjoX<3b)VO2Lb#^$oIx4vOD##Mi9bGM3o^%o@X7$7E&aN&Pf z8T5Ut2J&o)zbwE{d{8?h6Lz_L=m>Bd{f+@3xrqv&o*M_uZi&5nnB8DJFE4Mo+1pw2 zJ0tbp8WaCFmq}Ny`4TZe8&;INg+oZ8n&?4tBAIRjGhY(a-W`9URpwuo-@!(>)#%IRzQ{3Cj9tM@zcVK8Q|B$|AJ*$2#{!UVh%XZdR>e)s; zYfQiRm8HIzw@T=tri)&~&T=!at>zpfKhoOc^6YKO)hl01_!hq?X4}fw^GJE5b)Wnj zN|L@)UezGv)L5yZjXu+t35PFzx;&m%V>Pzo;keN1JI%O_@xh zD0oO3nGsM_6Y?32@as~>G#G}g@^h-sBiUMbCtbo8rAQ;@1zj&QG243YE$3Tcyusrj z02dZU=^bpA&X;Q#5jXqF)!Tzf$>hUQoYceF>c6rwZdpQgN*fF+>N?n~pdG91v~EZN zO*%gEkN)zy_Jp-~nCz1Wk+C7~+G10enOv(ixIPquA2F9}4M9>BBw>7o6eh-Ls@ zw?c|(NkCetbhK=KVbP!F8@5gpVqZx#i?R-O>41#1(br)e0&${J;&~oiKEfghUx|6( zhj!Jhqq5?qE`!}I{;CStKpIYiC1G~VS{0XBDr+>A#m&6*e*7_4&H#p55SX##bR zf=gs$)eUqz2gE9J&qib4Iot;1Dg=prq8c>G>wfPfl@Ol;J?|E6Brt(KK zWI+ivP^3-Kw2$z$Y1O8LK`2=)_p%#Rf5NU(BlTnvtPYVpSRxy@(lm4Qj9?TM);tbT z$W#7PWv8LJSB%EHA6OJRTFsM-E8LE2DmDNe?I(Fi+fEzs~R6nFSDt)=A07N+T$DHz{&oMF2HTsY#OU$H(}z^ChCLc zYEYb64S(zW&KV?4#4~XA-)6fg+j6WDQArejM@f8rb%94c)>1I!;HXM3Fn@LPs0#W@ zE;B%f8NxkzTd?$2dyyMh7=x%8L}fA>#q96%>TA&>g_`zV{SWVn{~*=q8QvFYAFvy$ zIg6Zp*Kp{Sp%>V+il_Ui`&!L>_u7uA3c``T`{xS z17|9A-}<^4KthQ1NxZVrw-5JW9Fd5Y>X~j^j6(7oMX)k6Ss1@1V7>uSG6u7WFRmQ4 zhD#X{iSSA(>i9C0@gG+hOj-=AO18u9TWoroK7Z&sc5vj9#TV*Ogqx(A+x9ootVas? zkGcf!S2@AV_SBMBi^G{|_hhm;zJNq<_2cyBFMKVMf7#n zZfPs$9}GMi0$ma!3Td`-Z9J{Zg*4$q3YTp0y8T-4T)$7*t%yuXAq|)Z4o>W^$Bqr0 zNv?&hcJlyOa8v)heM3UD;TYiJe_iZjVHhND{-ZHY9F1(3!x>Y;++eu}vo3xv=0Lb6W5$el6DY`RV z(&i=fx6P zAcm`x61&uC%O6PJ`$Q0IlS989-u?)+1aeaL-hS&efv_EV1Qe%X5iqIk=9@*N@xIdfgf+U(v~gT8-2D21+0z z$M+-n*c3w&KVK+Hal?(gTfCkuS~r~c4S_R#Y(zsP9plj1(D2a0bz<@b_U#t@_cA&h zPQas{k-7twdR~79b9ey^-6m&;I=Jie;abJHBw*@$FN_vC+rMkYu8N);!6wa!TNY|0 z4b*wfyzNhS^T=^*tz5AG$UT^pCr`1NgZBq}5l8;?KU^S8OGC|IEF-XDkZ$@>$F6FL zNXF?)5Jdh%otJV5S2%9|2a{bT?fe0PJ-@(dr7PzzhJ+bP=z9q&cQ+8rt-YGcqJS>4 z4Vgd&n8Q|KkRw$p#u+ek3S(TJ&a>cwgxM?Q!X0xNHw7m}b?IykF(rQ5d^f`( zZqeN`Ozd~f^+TyY+*AU>b-{Ncj4w6*?K6=nCOu7nVoEQq;&P%rcJEGf7wY$-NM~*m zIkQJ@dorb8X5xv{erQm_R@O{PQfPqdR0Tb^<~0owb(Z@o)fl^m2_yZhRq2*KsGseM zyH^^zI!CjLUQ-CX7-HtK_yO_9YwGD<7QM?VIEFrq$w5hCnoXn{x@{@@l!a2g#Y37; zjXch*dsSC7)h!2{uQh@Kgbqh;#IE(HZL6_GI*tZ z7AmmYy&epfw|3R!cQu7v-x3=T(AGw(Q&mc#Nq${A>q~m@FJs?X}b0u(N*(a*4NkAjbg{AN@7}b%+`cF5Ln{8aqf} z;Ezqzp0T+Xwrw>Z4Qzd_v{YdJ^Ut0`teeHbw53<&s_~pt!p~z7I^KA^JiZN3{kq*= z74eHUT8zfx6Cr*$+DyLAIc%~432PaB4^tk|KbKT#e+hqpx4z3GBqk=JJ)e+-nKfKz zt{GuDOQy3FR6<8Nb|w7kbhP0z%ha+>UnT>ytZm9x_o+yE1sKj zlWc+ZKb-BR5SRN;5>PucK7BHN#{L}L&SlRb?n#9PbY!tVvjH7M&&Tl^(W7pE8Q%nW zb4G%-O~u#QS7b0N)`<%=!&2SQ_p+)Cp{c1`%X{l2;)_2%*~1aq`p|^k>P9LeO~;jv zfdo)&2V$Gon(XcLc6-py^NtNu%4)~b= zd_x~wVD^+QEm0tG3Nvt8?~6)yePE5B9Wk^-^v8I^d4g}K?gUhVBK+;FNztr(LdYW$}{yV~ht z{xJNPs_x8tkj*{zx^q7q$)b38yn5#K^1mheU+v<1cXew!Jn%66>-^N1b+TN*V@fqG zL=*v(Nzdo}2(o=fhn)UL8|^4Lm}3aN;*B&1*+!u62J1d=GJ`8S_r*&_G|3KAIF#2;1lVE8BeOO0MyXu(RJsp zli|=TMkMS~oyx8~cKd2YSH(`ySzN%%_Lu|Fd|=+al^*3$kAw5mXCx}k1-MRO-lujzpdx)gI$TL;TC`{Xl*G&a@mme8TxJYc6E$MOwY;?i_p8Uy%4(x4HV!h@0p1l;z)OD_-AF>Y;O%`waF1jm&TQ-B0W#Sp(S;B%zJbt+Oixs?YlZnz%Zju5 z5z!+s;?5`V{(exT7iQo*;TXmp0_}bUF~xQ2tyws&b+CAC@$dQPm z;%R|A8vGebz~08DpZU9OM0M&o82c2+m(8c)=g; zF+mTBcdb?`sPtaAEfaajKeaUqxg9({NrS`2$)F&ewH6%vII2IQncY5a{7#w0+SdCgSui`I+zn3oF~ji0CB@ec2oM@NnH%PTx`u2BepDo(;Qy-VA&$ zgJe)2ErXmf$nGG6Dy5d(T9p-hs8NDTl1MsZ&$wk10TS`duVhAYm=X>$m123Rhw8N( z-e#7a2*YE#4-6al0wUn%ajg&BTD&jSwvi_;Xy;}irPjd`!{D8{t6HB764dj1l!+^p zLA&EikMgI=%K~%1lD&>qk@B$-z+5_i@D)Vhuxr*~NJ;AG<(VM;vEkR+{}MA_ByqPx zc(9!Bjl1$0cOk|NdlG(p1o;kBV!xp^BKot4SJ0|=HiDC3kSM9GMlk}^PY7~XD7xfJ zP{-W_ERA+1I^JLE19Ygdm?ndJH@Uc>Ma2@Ky3$jDr#V#KgJ zL%*g}<8uP!*>&>%Z>!Hk*v5x#bM)G+i7ca$HE-rDR&nSBFw?Uiw>#BZg!$8|g3O$F zRq@)xbz?j<`A}PTv*3|C7$%_>UnXnMmy+s>jQ$>3rM=g_CRdBo@IUB3?gqOSj1NOl zo>0X%xa8k7YGU6pb4w@dPYa*?KF#WIgymfLXjd(Kn^xR$dClAL-=;pB?=%Ju>T=&LVKE&aGB z1NzF{c~t8x_*u7(X7mtaz}8g{=QAkKx5#p%raRdsmix?~GhAJ$V8Y4RiF2}E13J72iN2&fe40m`<;Zbd*B zUG;%t1vw^2N^D*%(63E<;?M6jl%DSY%OU9pQdkpHBKZ2n*&MlcEA9ig8#-NFR7E4b zXEVi3Y)ollnd62oj)5%)(WB}J+84Im{c7XYc3IH781{qsHnW%FzH0*>>?q2qfc+VM z2TggGRtB%EoJ2j^^aF`#}G=|y6J-RASaQjIF znag&Yh1um+X&Lon`bRAmqLim}IG%=xCN8!xG_GBpHM_91;0xVP zacV@b_}eOvCL<@_y8K-*k1`l>PWgvB^J^Mq$@QRa2KpGTz9>5e2n!1{PzqaTktHh8y3?LO_Xo^rwu3DBuX`s1wNR|(pSm)@B5xrmDpkVMXY=?#6bFClI$8y z0F^3wg$W=4vg6jhb+koQc&?O2Dmp5Jc+m-JY)*F~cpHosEXBikth2>VRVPJ#+1X8B zr-qf^7sf3r+>25F3z8lKh4r`wERGH4r3xjE{?`=;POO`#tixc&|3TaRr1F*JkLOpe zcJpcYuBFw#SWJ@Fwkdx9%Ty7PZ)T|0XZVolrw}4<%>`tlS}#^8vG(IC;BUu;R@Nec z{8bjOl!PwTc*^9b!w_{tX+jy{3*o*-Oe(2tGkP}KZ2 z#WqiiOSC;89y$azsC>!bhivQD^VkXiXw5Fp8j}8(5<|sKL{WI*6p}Un44abD!;Pa~ z*@1>ZIwZuEY^ABSmqcR&#osocJ;~k>kf&+0Z-gEj@zSREg{zorsFBxGaA@{@rbk#~ zgZ#(%j+)76tc+|hGl%At9=yr$f;Y#$Q{86VDA*;}FP@db9K-ToX|Wlq(U_e878c%& zpC*YC-8v#Im8z5lCL7Iice1m#3X&j!Udp+e4~K1I;eF!U;(!wGo#IF}hSTlC;e}u< z4(3ceV#zSXD*Gjd?QM#s6KR7em#8z7863Ash_yd2f!s&Z|7nnM=V%-9M@F`86*xo!H%SAn1)`_uJPXMA)|8r%ly=63xR_a`(mNSAyLJju>DO%F+dhq@oB-N8ougKY9-sm`Nq6P@B3=$ zZ3})(2ClChK}xZojmSG`pQ?ipG|Z#e)`2TYP8Y6uv4jfA6e+&z(^F<&S(y%AYZi>z z__#s{P~&74y05>}VWG`16oTfKg-<{{P@13?-^gSTnKzoE@)wpi){4=U?B2CU;jj;* z+-De!-P=;*1c=Za{QFdbz^|shVbwJI#FKBL{-qX*MIVXr=!x%qVyXhWfrp7zwVn1U zX(kWq@6VRpg?)aNk&CQoF;qCHf=L*Bk$y;3q);nUpZMEuLz@c2JKOnW*TZOtg4zvMxZabIvx6WHn=E&J5^8n+ddUXDx?65$arhXL`05 zci%ZwApNTaFM~j4a2crV0|wR4z^vWNNMby^uVYgXy zNBrm;v2?MVao_e&^pQJAFF~LC5KNMa9<#Ttqsa4?D0BwTHN+O+@MmkDfMKYDkCXjc zE1+il&A3LP+a^b8n`GA$32a|o_VcgUG|*Uoo=W%*6M`|8x2OO3Pcb5$Nmv}?)4@ENQZ%3|A56}Y_$H>? z^FxA7R2e7f&>10axjx8Jvw5*-bkO4K?sL1Ig|Io$azTFo&X1Ij=y_)9;O5r)rY3LJ z*g_OaoeQo>7{Z`BzlEYeCPlJcKfCRv;qq_8vLU@9OuRsnTDL9pu;-U{LY?+kLA{b_ z{aMi8)@7I--QDxAI}V4;f9?s+1hSQzsz{_O_r#@z-BPAaa(dzXa~Qb$ZYH=^_qLcj z@4Fo1a2>v83%PWzy|kL)ONXEYfhrwyL}+qB@xTfX!SmklvusL(vnMQ8B&ZXko1NB78t zIm@UQgC6-a&lB~a&JH)K-}w0>JRV-q_Uzmr6Nlk0)w#|D zGX}RqdyVL`tJd>jaREsULefKfZ4T-o^6u9P<@O$&Nov(LlG+A1z3Fm^a6FOah^m+a zc_^ko#vht&^OJIDH&XOzU(>;j-GiYsQ1(NW6DSp+mdEBdeaD#Ts1we(7vFiqM@|N* z<%QocRnH0|_99-AAwKPaEyMg;&PACkWSK(k|J#4l(v=jAzL#RJoZzfJE6Te?;>k6% zgLKLnJoHn#_CAO$3w@$fi1$P|fpD(Xy2xXtl^-YDOtJ`Q3=rr zoT#FlLVXC#Hbe^O**V}~{Jmh*_}Euov276gRI7;B`k>KoC(?lOz}CIah7tMyqf_|+>q5v81*YI*olvMIVti5d2gK zBl*N|uOu9AoK8xkLH!=y6%1E9gG3TY9h}OPy%>FiUaFhq$weJqvw7(O?3!m=RcdM5 z0+SPs)Xbkhe-nA))`I_mmQ4Kl&GXf#HOgl-&w_Vw3)@oi@1=XFtKURy+?C{_XwH&N zyLIP=jzL+V%;KI`VSh6WS@yOb`99$Sd<@=?V)-q8=2I}C+|WYE=N`sXui(gw)}=$? zx*m>jQT#+XR&^1WDbE7F6fU`5`Mwu{*^EU8&EFE5&)j2MUK?20uFi^XS8Uo1O#Fjy z%-4eq{C4)`7-U0IpmwO8^)#;uMlWd09xIg>57TZnSGVOkplgsRF^>nSI3jnWL~?=f zjCN2U$Az1YjI0S!i5@e9PYouErLaH0Vfw(401C82s4V$`QgJd;bICzKLs0ivzhfo+oIYA8RW>noQvI_gJE6r~NbJ}1bb$bvxWV81 zmf%&qrH2cY=jC4rrbstPP^vjFkY|L;V|FmXVJz?hy93Y-R9B$f03w)O^C4CB z1vnO{I70NAI^V4dEtNAdEcP_Wq!0)>hVAv^p=I>s?}VLa_d1X%C*khtibaL*H#n}k zw5vu(5BaMS6E6JJv`MHB8;H^~D0fe+Ven*+hj+;Yi#D~Y4{0__hY2QAlp%|b^qn*= z2=X#;6lVwe0^6fO$}ym0r5!FrBy9fWdb6qqsDF@W>53a5tY&~{(2>D#_V1Oit7G!(@Xj> z=#R@~FF4O6pg>FWwlyaLwG7;FGRX9KXaXWNoJljN;;)n%7Jh3nm9{Uy(ZH7RQ|?NC z5YVS1eT9(GD=_o8v1brN?@c}!o(K<>e&$riSDxrmq1xAek-fXIG=dqt4WWja=H@KF zQaN8WWza})6{*%}Nw?wT+Rr#A;>+>CEjUvnd`YyOKuR9L59J=882{wIje~SD|1sa_ zATn$4Pb^)!?XK;tv3z||rMIpG$@w%`YL3kkvd81%v@;*_vA|EilC)yA4&ZFAth@?Z z{wEENwehoZg;bfx*n9YWI#Q)C-QVOe2XdX~z&be4>Y-&h&8jhvh;rP@H-jkSj3+~g zltVtAn?_+qST~YMC^nC$UbXHah+@{`=OlNvP zdl1>BhbA?}+>>++w1tz@gL#J*#DrW`=$axfqu-pH$5|Me+kA#j?Zw%CDr-e%05l!? z=Zkd2_mR9~M`HJ^NXoZ6rpgu0J!A3vjZv`)ymTd*j9ftSAhN;9lL>=(-L!H(bv)gV zck5y!R3bWj*rzX+&sP75M+{}sU&qCRiTwPMXg|(<=PA6yT&qD^tDy39roA(72 zAB5k=lp@VIvm<;-wVik$IvEy)C?z|BrVbzVAncjhWZ@!{-ACK=NcFXkA}WYy$e0o6JHr)fWT{ zP0Q%t^V}_8PpVQ77`)y)Zr0+ETDTv={$W`(9+)c$WzejLI>A@`T!%i&>M;B`FN@%& z@KyLvLnK+=PjK8l^cT26%7yy8;|PQw6SyEWR8vy^fKZp>i1$-LvN%zt6lz~^4Ml7( z^$Fsq*XK=)aWZkT*M}J+ji}H&AJGG&=uQ&B(nt!?p92?r8$GR3z? zfy0!yYNv<3rJ_MxN9$Tx9)4oIgE>lhwGM+6cZA-pcHz-rj%Oie6h+7_9xmOO3EJ#J z4`7Kp*~Vcq?EU?;^=8C5q=x!GZTHP-0`BM*i2oJYcjlup{2p8WLRRd*=8C}O7)?{R zJFR~%c@W3x%VI0Gs9zt$mJQ1j1Ul?$r4&8otD z!VkS>n)6rdM#U`@9@IGf$R-g4C6vJ}WnjyJdFgP4G25PrK^RCDSJ*G*BhIaH2H@6t znXkWuH&hvg5}cw2;qBP}(uu>2>4pwIsu`5!wO^$4g8}eZt!DTSy1-P1W(@g&N5Rgf9eWyHkNA~AB>U-|Iy~s#8rl*da%+Qho}9wu74I;BK4o`|JkA=Z_}YEK?(v{ z200VyzS*x1u$kqLFF`&Pj%$Mw73L<7C4#=?k11WEmIw*<7#n88rZ$0;w^wKSA<_a@ zw&K};VDF93W7$ax^*Irbwtke(e=@}$xx7<4#>}PZERI@dHW*exY8VsGGiAuu;2?4& ztBDH;9(|oKcm;ZpDfAOlUKe9{!iiEAO%4<9E|e$G+tS}isXzeP~UR> zY{O@Nof|<@aKuJM=WKSB#Mc$yRI}IyPpOuvhol#gW<=bgO1|L>%2+Kyh;AkS+c%1Y zGqQ191N#03IHmHOsN@Bt@jpn4n9`3y+GLI49UEACXWOMG=+@20{4JG?K4w^F7WOEU zE5(c_XIk2)1zT@8(n@*u$i{^9W&k3R!hxnK14gyd0DZyBYr-N{%6^0PnvI^98@EU!u{6fhDgX@!wKD0aB@%1?ZP4VOMz= zUq4O^qM`3IBP51|gvjpG11pqa2#Wbm>|M2COv%i-ruvK}4iqGToO`kQ?B?kZ0|uA0 zKSi#wi>yPAnA3dGBlEwd-tLk2KaUKGyy*JR2VioV6lWDt{PvNCCxIe$2FZEA_*HyY3Q{@;FM4<)m@N?ML75ZN+8 zt3_m@*|iFnhO!VM7oFPfi(JeT(eM98IuZ<>U><=H5LpwK)InRxCckfLa($g!`Ltm! zyRoTF?QE@E#ZY+)aO*07=N4}e{(WyE7%B~JbqFUGy8xZfe%1Y^&wbK7|E{Y*TF>y! znUZ#d{)D0u19veMo}?}c8hHUKk==k4fjF-y$l)4(K3C#F9fHq2os}*AJqzhZYTb%~ z!;Ie#<@;beYbZEeQ5ZSQYhH}sQ4D`*KmMdr+HUd_{VJpQboGT&#S_z|EaTqGC&hz) z;1KZTpP2+V`vpw=E|wyKc0-csn2U$wLuV~Wxd}iv?vE!L6p>~{Bt!|<&t2OQL1u22 zUa27ClN+D@q~Zv~91`}E;d@qs^Fpwa7M%Ix2`F@lzU52=lyG_t&|*1|mQ=4>!M<<( zDaEK^h^(-heiB1Of}%@Pp3+Aon0n%vr-mW?1Qa&Z(>6TY#Mb(y8lgm;JWT4VS{f@& zTUB$Y613h78!bG+Q17=?k5|XR9VwcJ8kQe5}qSLnr-w!Ht=`c!uFmr2LR@Ocwy&!4p4n%$M(Vl>H-;NO2iQ-b>UN+Kxipma^8n+3{ Date: Wed, 12 Jan 2011 19:16:42 +0100 Subject: [PATCH 124/142] Fix assert failure and droid paralysis when multiweapons droids are set to pursue. --- src/action.cpp | 37 ++++++------------------------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index 7b67725f7..e2b6e7eb5 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -928,16 +928,12 @@ void actionUpdateDroid(DROID *psDroid) && psWeapStats->rotate && aiBestNearestTarget(psDroid, &psTemp, i, NULL) >= 0) { - if (secondaryGetState(psDroid, DSO_ATTACK_LEVEL) != DSS_ALEV_ALWAYS) - { - psTemp = NULL; - } - else + if (secondaryGetState(psDroid, DSO_ATTACK_LEVEL) == DSS_ALEV_ALWAYS) { psDroid->action = DACTION_ATTACK; + setDroidActionTarget(psDroid, psTemp, 0); } } - setDroidActionTarget(psDroid, psTemp, 0); } } } @@ -947,7 +943,6 @@ void actionUpdateDroid(DROID *psDroid) { droidSelfRepair(psDroid); } - break; case DACTION_WAITDURINGREPAIR: // Check that repair facility still exists @@ -1036,9 +1031,9 @@ void actionUpdateDroid(DROID *psDroid) if (secondaryGetState(psDroid, DSO_ATTACK_LEVEL) == DSS_ALEV_ALWAYS) { psDroid->action = DACTION_MOVEFIRE; + setDroidActionTarget(psDroid, psTemp, 0); } } - setDroidActionTarget(psDroid, psTemp, 0); } } } @@ -1234,19 +1229,6 @@ void actionUpdateDroid(DROID *psDroid) } } } - // If main turret lost its target, but we're not ordered to attack any specific - // target, try to find a new one. - else if (psDroid->psActionTarget[0] == NULL && - psDroid->order != DORDER_ATTACK && - aiChooseTarget((BASE_OBJECT*)psDroid, &psTargets[i], i, false, NULL)) - { - // FIXME What is this code path for? - // FIXME If psDroid->psActionTarget[0] == NULL, then actionVisibleTarget(psDroid, psActionTarget, i) crashes. - // FIXME And if aiChooseTarget above fails, psActionTarget stays NULL. - // FIXME So, assuming the game can't crash, psDroid->psActionTarget[0] is never NULL. - debug(LOG_NEVER, "Can this happen?"); - setDroidActionTarget(psDroid, psTargets[i], i); - } if (psDroid->psActionTarget[i]) { @@ -2200,16 +2182,9 @@ void actionUpdateDroid(DROID *psDroid) BASE_OBJECT *psTemp = NULL; WEAPON_STATS* const psWeapStats = &asWeaponStats[psDroid->asWeaps[i].nStat]; - if (psDroid->asWeaps[i].nStat > 0 - && psWeapStats->rotate - && aiBestNearestTarget(psDroid, &psTemp, i, NULL) >= 0) - { - if (secondaryGetState(psDroid, DSO_ATTACK_LEVEL) != DSS_ALEV_ALWAYS) - { - psTemp = NULL; - } - } - if (psTemp) + if (psDroid->asWeaps[i].nStat > 0 && psWeapStats->rotate + && secondaryGetState(psDroid, DSO_ATTACK_LEVEL) == DSS_ALEV_ALWAYS + && aiBestNearestTarget(psDroid, &psTemp, i, NULL) >= 0 && psTemp) { psDroid->action = DACTION_ATTACK; setDroidActionTarget(psDroid, psTemp, 0); From a7292473b6fed5220d3d244bafa3e13d7eb359ba Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 12 Jan 2011 19:33:14 +0100 Subject: [PATCH 125/142] Remove unused or duplicate data files. --- data/base/multiplay/script/cam2tech.vlo | 129 --------- data/base/multiplay/script/cam3tech.vlo | 175 ------------ data/base/multiplay/script/multiplay.slo | 346 ----------------------- data/base/multiplay/script/multiplay.vlo | 171 ----------- 4 files changed, 821 deletions(-) delete mode 100644 data/base/multiplay/script/cam2tech.vlo delete mode 100644 data/base/multiplay/script/cam3tech.vlo delete mode 100644 data/base/multiplay/script/multiplay.slo delete mode 100644 data/base/multiplay/script/multiplay.vlo diff --git a/data/base/multiplay/script/cam2tech.vlo b/data/base/multiplay/script/cam2tech.vlo deleted file mode 100644 index 07a27603c..000000000 --- a/data/base/multiplay/script/cam2tech.vlo +++ /dev/null @@ -1,129 +0,0 @@ -// cam2tech.vlo -//set up starting technology, templates etc. for player at the start of a campaign - -script "tech.slo" -run -{ -numTechs int 26 -player int 0 -startTech [0] RESEARCHSTAT "R-Cyborg-Legs01" -startTech [1] RESEARCHSTAT "R-Cyborg-Metals03" -startTech [2] RESEARCHSTAT "R-Defense-WallUpgrade03" -startTech [3] RESEARCHSTAT "R-Struc-Factory-Upgrade03" -startTech [4] RESEARCHSTAT "R-Struc-Factory-Cyborg-Upgrade03" -startTech [5] RESEARCHSTAT "R-Struc-Materials03" -startTech [6] RESEARCHSTAT "R-Struc-Research-Upgrade03" -startTech [7] RESEARCHSTAT "R-Struc-RprFac-Upgrade03" -startTech [8] RESEARCHSTAT "R-Sys-Engineering01" -startTech [9] RESEARCHSTAT "R-Sys-MobileRepairTurret01" -startTech [10] RESEARCHSTAT "R-Wpn-Cannon-Damage03" -startTech [11] RESEARCHSTAT "R-Wpn-Flamer-Damage03" -startTech [12] RESEARCHSTAT "R-Wpn-Flamer-ROF01" -startTech [13] RESEARCHSTAT "R-Wpn-MG-Damage04" -startTech [14] RESEARCHSTAT "R-Wpn-MG-ROF01" -startTech [15] RESEARCHSTAT "R-Wpn-Mortar-Damage03" -startTech [16] RESEARCHSTAT "R-Wpn-Rocket-Accuracy02" -startTech [17] RESEARCHSTAT "R-Wpn-Rocket-ROF03" -startTech [18] RESEARCHSTAT "R-Wpn-RocketSlow-Accuracy02" -startTech [19] RESEARCHSTAT "R-Wpn-RocketSlow-Damage03" -startTech [20] RESEARCHSTAT "R-Vehicle-Engine03" -startTech [21] RESEARCHSTAT "R-Vehicle-Metals03" -startTech [22] RESEARCHSTAT "R-Wpn-AAGun03" -startTech [23] RESEARCHSTAT "R-Defense-AASite-QuadMg1" -startTech [24] RESEARCHSTAT "R-Sys-Sensor-Tower02" -// needs to be researced to allow Ripple Rocket Emplacement -startTech [25] RESEARCHSTAT "R-Defense-MRL" - - -numStructs int 26 -startStruct [0] STRUCTURESTAT "A0ComDroidControl" -startStruct [1] STRUCTURESTAT "A0CommandCentre" -startStruct [2] STRUCTURESTAT "A0CyborgFactory" -startStruct [3] STRUCTURESTAT "A0FacMod1" -startStruct [4] STRUCTURESTAT "A0HardcreteMk1CWall" -startStruct [5] STRUCTURESTAT "A0HardcreteMk1Wall" -startStruct [6] STRUCTURESTAT "A0LightFactory" -startStruct [7] STRUCTURESTAT "A0PowerGenerator" -startStruct [8] STRUCTURESTAT "A0PowMod1" -startStruct [9] STRUCTURESTAT "A0RepairCentre3" -startStruct [10] STRUCTURESTAT "A0ResearchFacility" -startStruct [11] STRUCTURESTAT "A0ResearchModule1" -startStruct [12] STRUCTURESTAT "A0ResourceExtractor" -startStruct [13] STRUCTURESTAT "A0TankTrap" -startStruct [14] STRUCTURESTAT "PillBox1" -startStruct [15] STRUCTURESTAT "PillBox4" -startStruct [16] STRUCTURESTAT "PillBox5" -startStruct [17] STRUCTURESTAT "PillBox6" -startStruct [18] STRUCTURESTAT "TankTrapC" -startStruct [19] STRUCTURESTAT "WallTower01" -startStruct [20] STRUCTURESTAT "WallTower03" -startStruct [21] STRUCTURESTAT "WallTower04" -startStruct [22] STRUCTURESTAT "WallTower06" -startStruct [23] STRUCTURESTAT "AASite-QuadMg1" -startStruct [24] STRUCTURESTAT "Emplacement-MortarPit01" -startStruct [25] STRUCTURESTAT "Emplacement-MRL-pit" -//startStruct [23] STRUCTURESTAT "A0RepairCentre" -//startStruct [27] STRUCTURESTAT "GuardTower4" -//startStruct [28] STRUCTURESTAT "GuardTower5" -//startStruct [29] STRUCTURESTAT "GuardTower6" - -numWeapons int 20 -startWeapon [0] WEAPON "Cannon1Mk1" -startWeapon [1] WEAPON "Cannon2A-TMk1" -startWeapon [2] WEAPON "Cannon375mmMk1" -startWeapon [3] WEAPON "Flame1Mk1" -startWeapon [4] WEAPON "MG1Mk1" -startWeapon [5] WEAPON "MG2Mk1" -startWeapon [6] WEAPON "MG3Mk1" -startWeapon [7] WEAPON "Mortar1Mk1" -startWeapon [8] WEAPON "Mortar2Mk1" -startWeapon [9] WEAPON "Rocket-BB" -startWeapon [10] WEAPON "Rocket-LtA-T" -startWeapon [11] WEAPON "Rocket-MRL" -startWeapon [12] WEAPON "Rocket-Pod" -startWeapon [13] WEAPON "Cannon1-VTOL" -startWeapon [14] WEAPON "MG1-VTOL" -startWeapon [15] WEAPON "MG2-VTOL" -startWeapon [16] WEAPON "MG3-VTOL" -startWeapon [17] WEAPON "Rocket-VTOL-LtA-T" -startWeapon [18] WEAPON "Rocket-VTOL-Pod" -startWeapon [19] WEAPON "Rocket-VTOL-BB" - - -numBodies int 10 -startBody [0] BODY "Body1REC" -startBody [1] BODY "Body5REC" -startBody [2] BODY "Body11ABT" -startBody [3] BODY "Body4ABT" -startBody [4] BODY "Body8MBT" -startBody [5] BODY "Body12SUP" -startBody [6] BODY "CyborgCannonGrd" -startBody [7] BODY "CyborgFlamerGrd" -startBody [8] BODY "CyborgChain1Ground" -startBody [9] BODY "CyborgRkt1Ground" - -numProps int 4 -startProp [0] PROPULSION "HalfTrack" -startProp [1] PROPULSION "hover01" -startProp [2] PROPULSION "tracked01" -startProp [3] PROPULSION "wheeled01" - -numConstructs int 1 -startConstruct [0] CONSTRUCT "Spade1Mk1" - -numSensors int 1 -startSensor [0] SENSOR "SensorTurret1Mk1" - -numECMs int 0 -//startECM [0] ECM "" - -numRepairs int 0 -//startRepair [0] REPAIR "" - -numBrains int 1 -startBrain [0] BRAIN "CommandBrain01" - -numResearch int 1 -startResearch [0] RESEARCHSTAT "R-Wpn-Cannon-Accuracy02" - -} diff --git a/data/base/multiplay/script/cam3tech.vlo b/data/base/multiplay/script/cam3tech.vlo deleted file mode 100644 index 2496fe3a2..000000000 --- a/data/base/multiplay/script/cam3tech.vlo +++ /dev/null @@ -1,175 +0,0 @@ -// cam3tech.vlo -//set up starting technology, templates etc. for player at the start of a campaign - -script "tech.slo" -run -{ -player int 0 -numTechs int 39 -startTech [0] RESEARCHSTAT "R-Wpn-Cannon-Accuracy02" -startTech [1] RESEARCHSTAT "R-Wpn-Cannon-Damage06" -startTech [2] RESEARCHSTAT "R-Wpn-Cannon-ROF03" -startTech [3] RESEARCHSTAT "R-Wpn-Flamer-Damage06" -startTech [4] RESEARCHSTAT "R-Wpn-Flamer-ROF03" -startTech [5] RESEARCHSTAT "R-Wpn-Howitzer-Accuracy02" -startTech [6] RESEARCHSTAT "R-Wpn-Howitzer-Damage03" -startTech [7] RESEARCHSTAT "R-Wpn-MG-Damage07" -startTech [8] RESEARCHSTAT "R-Wpn-MG-ROF03" -startTech [9] RESEARCHSTAT "R-Wpn-Mortar-Acc02" -startTech [10] RESEARCHSTAT "R-Wpn-Mortar-Damage06" -startTech [11] RESEARCHSTAT "R-Wpn-Mortar-ROF03" -startTech [12] RESEARCHSTAT "R-Wpn-Rocket-Accuracy02" -startTech [13] RESEARCHSTAT "R-Wpn-Rocket-Damage06" -startTech [14] RESEARCHSTAT "R-Wpn-Rocket-ROF03" -startTech [15] RESEARCHSTAT "R-Wpn-RocketSlow-Accuracy03" -startTech [16] RESEARCHSTAT "R-Wpn-RocketSlow-Damage06" -startTech [17] RESEARCHSTAT "R-Wpn-RocketSlow-ROF03" -startTech [18] RESEARCHSTAT "R-Vehicle-Armor-Heat02" -startTech [19] RESEARCHSTAT "R-Vehicle-Engine06" -startTech [20] RESEARCHSTAT "R-Vehicle-Metals06" -startTech [21] RESEARCHSTAT "R-Cyborg-Metals06" -startTech [22] RESEARCHSTAT "R-Cyborg-Armor-Heat02" -startTech [23] RESEARCHSTAT "R-Defense-WallUpgrade06" -startTech [24] RESEARCHSTAT "R-Struc-Factory-Upgrade06" -startTech [25] RESEARCHSTAT "R-Struc-Factory-Cyborg-Upgrade06" -startTech [26] RESEARCHSTAT "R-Struc-VTOLFactory-Upgrade03" -startTech [27] RESEARCHSTAT "R-Struc-VTOLPad-Upgrade03" -startTech [28] RESEARCHSTAT "R-Struc-Materials06" -startTech [29] RESEARCHSTAT "R-Struc-Power-Upgrade01" -startTech [30] RESEARCHSTAT "R-Struc-Research-Upgrade06" -startTech [31] RESEARCHSTAT "R-Struc-RprFac-Upgrade06" -startTech [32] RESEARCHSTAT "R-Sys-Engineering02" -startTech [33] RESEARCHSTAT "R-Sys-MobileRepairTurret01" -startTech [34] RESEARCHSTAT "R-Sys-Sensor-Upgrade01" -startTech [35] RESEARCHSTAT "R-Wpn-AAGun-Accuracy02" -startTech [36] RESEARCHSTAT "R-Wpn-AAGun-Damage03" -startTech [37] RESEARCHSTAT "R-Wpn-AAGun-ROF03" -startTech [38] RESEARCHSTAT "R-Wpn-Bomb-Accuracy02" - - -numStructs int 40 -startStruct [0] STRUCTURESTAT "A0ComDroidControl" -startStruct [1] STRUCTURESTAT "A0CommandCentre" -startStruct [2] STRUCTURESTAT "A0CyborgFactory" -startStruct [3] STRUCTURESTAT "A0FacMod1" -startStruct [4] STRUCTURESTAT "A0HardcreteMk1CWall" -startStruct [5] STRUCTURESTAT "A0HardcreteMk1Wall" -startStruct [6] STRUCTURESTAT "A0LightFactory" -startStruct [7] STRUCTURESTAT "A0PowerGenerator" -startStruct [8] STRUCTURESTAT "A0PowMod1" -startStruct [9] STRUCTURESTAT "A0RepairCentre3" -startStruct [10] STRUCTURESTAT "A0ResearchFacility" -startStruct [11] STRUCTURESTAT "A0ResearchModule1" -startStruct [12] STRUCTURESTAT "A0ResourceExtractor" -startStruct [13] STRUCTURESTAT "A0TankTrap" -startStruct [14] STRUCTURESTAT "TankTrapC" -startStruct [15] STRUCTURESTAT "A0VTolFactory1" -startStruct [16] STRUCTURESTAT "A0VtolPad" -startStruct [17] STRUCTURESTAT "Sys-CB-Tower01" -startStruct [18] STRUCTURESTAT "Sys-SensoTower02" -startStruct [19] STRUCTURESTAT "Sys-VTOL-CB-Tower01" -startStruct [20] STRUCTURESTAT "Sys-VTOL-RadarTower01" -startStruct [21] STRUCTURESTAT "AASite-QuadBof" -startStruct [22] STRUCTURESTAT "AASite-QuadRotMg" -startStruct [23] STRUCTURESTAT "Emplacement-HPVcannon" -startStruct [24] STRUCTURESTAT "Emplacement-Howitzer105" -startStruct [25] STRUCTURESTAT "Emplacement-Howitzer150" -startStruct [26] STRUCTURESTAT "Emplacement-Rocket06-IDF" -startStruct [27] STRUCTURESTAT "Emplacement-MortarPit02" -startStruct [28] STRUCTURESTAT "Emplacement-RotMor" -startStruct [29] STRUCTURESTAT "Emplacement-MRL-pit" -startStruct [30] STRUCTURESTAT "Emplacement-Rocket06-IDF" -startStruct [31] STRUCTURESTAT "Emplacement-HvyATrocket" -startStruct [32] STRUCTURESTAT "PillBox6" -startStruct [33] STRUCTURESTAT "Wall-RotMg" -startStruct [34] STRUCTURESTAT "Wall-VulcanCan" -startStruct [35] STRUCTURESTAT "WallTower04" -startStruct [36] STRUCTURESTAT "WallTower-HvATrocket" -startStruct [37] STRUCTURESTAT "WallTower-HPVcannon" -startStruct [38] STRUCTURESTAT "Tower-Projector" //Inferno Emplacement -startStruct [39] STRUCTURESTAT "Pillbox-RotMG" - - -numWeapons int 36 -startWeapon [0] WEAPON "AAGun2Mk1" -startWeapon [1] WEAPON "Bomb1-VTOL-LtHE" -startWeapon [2] WEAPON "Bomb2-VTOL-HvHE" -startWeapon [3] WEAPON "Bomb3-VTOL-LtINC" -startWeapon [4] WEAPON "Bomb4-VTOL-HvyINC" -startWeapon [5] WEAPON "Cannon1-VTOL" -startWeapon [6] WEAPON "Cannon1Mk1" -startWeapon [7] WEAPON "Cannon375mmMk1" -startWeapon [8] WEAPON "Cannon4AUTO-VTOL" -startWeapon [9] WEAPON "Cannon4AUTOMk1" -startWeapon [10] WEAPON "Cannon5Vulcan-VTOL" -startWeapon [11] WEAPON "Cannon5VulcanMk1" -startWeapon [12] WEAPON "Flame2" -startWeapon [13] WEAPON "Howitzer105Mk1" -startWeapon [14] WEAPON "Howitzer150Mk1" -startWeapon [15] WEAPON "MG4ROTARY-VTOL" -startWeapon [16] WEAPON "MG4ROTARYMk1" -startWeapon [17] WEAPON "Mortar3ROTARYMk1" -startWeapon [18] WEAPON "Rocket-BB" -startWeapon [19] WEAPON "Rocket-HvyA-T" -startWeapon [20] WEAPON "Rocket-IDF" -startWeapon [21] WEAPON "Rocket-LtA-T" -startWeapon [22] WEAPON "Rocket-VTOL-BB" -startWeapon [23] WEAPON "Rocket-VTOL-HvyA-T" -startWeapon [24] WEAPON "Rocket-VTOL-LtA-T" -startWeapon [25] WEAPON "Rocket-VTOL-Pod" -startWeapon [26] WEAPON "Cannon4AUTO-VTOL" -startWeapon [27] WEAPON "Cannon5Vulcan-VTOL" -startWeapon [28] WEAPON "MG4ROTARY-VTOL" -startWeapon [29] WEAPON "Rocket-VTOL-BB" -startWeapon [30] WEAPON "Rocket-VTOL-HvyA-T" -startWeapon [31] WEAPON "QuadRotAAGun" -startWeapon [32] WEAPON "Rocket-MRL" -startWeapon [33] WEAPON "Rocket-Pod" -startWeapon [34] WEAPON "Rocket-VTOL-Pod" -startWeapon [35] WEAPON "Mortar2Mk1" - -numBodies int 13 -startBody [0] BODY "Body11ABT" -startBody [1] BODY "Body12SUP" -startBody [2] BODY "Body1REC" -startBody [3] BODY "Body2SUP" -startBody [4] BODY "Body4ABT" -startBody [5] BODY "Body5REC" -startBody [6] BODY "Body6SUPP" -startBody [7] BODY "Body8MBT" -startBody [8] BODY "Body9REC" -startBody [9] BODY "CyborgCannonGrd" -startBody [10] BODY "CyborgFlamerGrd" -startBody [11] BODY "CybRotMgGrd" -startBody [12] BODY "CyborgRkt1Ground" - -numProps int 5 -startProp [0] PROPULSION "HalfTrack" -startProp [1] PROPULSION "hover01" -startProp [2] PROPULSION "tracked01" -startProp [3] PROPULSION "V-Tol" -startProp [4] PROPULSION "wheeled01" - -numConstructs int 1 -startConstruct [0] CONSTRUCT "Spade1Mk1" - -numSensors int 4 -startSensor [0] SENSOR "SensorTurret1Mk1" -startSensor [1] SENSOR "Sys-CBTurret01" -startSensor [2] SENSOR "Sys-VstrikeTurret01" -startSensor [3] SENSOR "Sys-VTOLCBTurret01" - -numECMs int 0 -//startECM [0] ECM "" - -numRepairs int 1 -startRepair [0] REPAIR "LightRepair1" - -numBrains int 1 -startBrain [0] BRAIN "CommandBrain01" - -numResearch int 2 -startResearch [0] RESEARCHSTAT "R-Wpn-Howitzer03-Rot" -startResearch [1] RESEARCHSTAT "R-Wpn-MG-Damage08" - -} diff --git a/data/base/multiplay/script/multiplay.slo b/data/base/multiplay/script/multiplay.slo deleted file mode 100644 index 8fe9e6e96..000000000 --- a/data/base/multiplay/script/multiplay.slo +++ /dev/null @@ -1,346 +0,0 @@ -// -// Multi-player script for upto 8 players. -// - -public STRUCTURESTAT command; -public STRUCTURESTAT factory; -public STRUCTURESTAT wall; -public STRUCTURESTAT cornerWall; -public STRUCTURESTAT oilDerrick; -public STRUCTURESTAT powerGen; -public STRUCTURESTAT research; -public STRUCTURESTAT commandrelay; -public STRUCTURESTAT cybfac; -public STRUCTURESTAT vtolfac; - -// starting technologies. -public int numtecP0, numtecP1, numtecP2, numtecP3,numtecP4, numtecP5, numtecP6, numtecP7; -public RESEARCHSTAT tecP0[5], tecP1[5], tecP2[5], tecP3[5], tecP4[5], tecP5[5], tecP6[5], tecP7[5]; - -public int numCleanTech, numBaseTech, numDefTech; -public RESEARCHSTAT cleanTech[32], baseTech[32], defTech[64]; - -// research topics -public int numResP0, numResP1, numResP2, numResP3, numResP4, numResP5, numResP6, numResP7; -public RESEARCHSTAT resP0[5], resP1[5], resP2[5], resP3[5], resP4[5], resP5[5], resP6[5], resP7[5]; - -public int numCleanRes, numBaseRes, numDefRes; -public RESEARCHSTAT cleanRes[10], baseRes[10], defRes[10]; - -// Other Stuff -private INT count; -private INT playnum; -private BOOL gamenotwon; - -// Base Under Attack Stuff -private STRUCTURE hitStruc; -private BASEOBJ attackerObj; -private int t; -public SOUND attackSnd1; - -public INTMESSAGE endMsg, winMsg; - -// ///////////////////////////////////////////////////////////////// - -trigger endConditions(every, 100); - -// ///////////////////////////////////////////////////////////////// -//this event is called once the game has initialised itself - -event initialisedEvent(CALL_GAMEINIT) -{ - playnum=0; - while (playnum < 8) - { - if(multiPlayerBaseType == CAMP_CLEAN) - { - setPowerLevel(750,playnum); - count = 0; - while (count < numCleanTech) - { - completeResearch(cleanTech[count], playnum); - count = count +1; - } - - count = 0; - while (count < numCleanRes) - { - enableResearch(cleanRes[count], playnum); - count = count +1; - } - } - else if(multiPlayerBaseType == CAMP_BASE) - { - setPowerLevel(1000,playnum); - count = 0; - while (count < numBaseTech) - { - completeResearch(baseTech[count], playnum); - count = count +1; - } - count = 0; - while (count < numBaseRes) - { - enableResearch(baseRes[count], playnum); - count = count +1; - } - } - else - { - setPowerLevel(2000,playnum); - count = 0; - while (count < numDefTech) - { - completeResearch(defTech[count], playnum); - count = count +1; - } - count = 0; - while (count < numDefRes) - { - enableResearch(defRes[count], playnum); - count = count +1; - } - } - - playnum = playnum + 1; - } - -} - - -event initialisedEvent2(CALL_GAMEINIT) -{ - - //set up the reticule buttons - addReticuleButton(OPTIONS); - addReticuleButton(CANCEL); - addReticuleButton(BUILD); - addReticuleButton(MANUFACTURE); - addReticuleButton(RESEARCH); - addReticuleButton(INTELMAP); - addReticuleButton(DESIGN); - - playnum=0; - while (playnum < 8) - { - enableStructure(command , playnum); //make structures available to build - enableStructure(factory, playnum); - //enableStructure(wall, playnum); - //enableStructure(cornerWall, playnum); - enableStructure(oilDerrick, playnum); - enableStructure(powerGen, playnum); - enableStructure(research, playnum); - - setStructureLimits(factory, 5, playnum); // set structure limits - setStructureLimits(powerGen, 5, playnum); - setStructureLimits(research, 5, playnum); - setStructureLimits(command, 1, playnum); - setStructureLimits(commandrelay,1, playnum); - setStructureLimits(cybfac, 5, playnum); - setStructureLimits(vtolfac, 5, playnum); - - playnum = playnum+1; - } - applyLimitSet(); // set limit options - - // player specific technology startups - count = 0; - while (count < numtecP0) - { - completeResearch(tecP0[count], 0); - count = count +1; - } - count = 0; - while (count < numtecP1) - { - completeResearch(tecP1[count], 1); - count = count +1; - } - count = 0; - while (count < numtecP2) - { - completeResearch(tecP2[count], 2); - count = count +1; - } - count = 0; - while (count < numtecP3) - { - completeResearch(tecP3[count], 3); - count = count +1; - } - count = 0; - while (count < numtecP4) - { - completeResearch(tecP4[count], 4); - count = count +1; - } - count = 0; - while (count < numtecP5) - { - completeResearch(tecP5[count], 5); - count = count +1; - } - count = 0; - while (count < numtecP6) - { - completeResearch(tecP6[count], 6); - count = count +1; - } - count = 0; - while (count < numtecP7) - { - completeResearch(tecP7[count], 7); - count = count +1; - } - - - // player specific research startups - count = 0; - while (count < numResP0) - { - enableResearch(resP0[count], 0); - count = count +1; - } - count = 0; - while (count < numResP1) - { - enableResearch(resP1[count], 1); - count = count +1; - } - count = 0; - while (count < numResP2) - { - enableResearch(resP2[count], 2); - count = count +1; - } - count = 0; - while (count < numResP3) - { - enableResearch(resP3[count], 3); - count = count +1; - } - count = 0; - while (count < numResP4) - { - enableResearch(resP4[count], 4); - count = count +1; - } - count = 0; - while (count < numResP5) - { - enableResearch(resP5[count], 5); - count = count +1; - } - count = 0; - while (count < numResP6) - { - enableResearch(resP6[count], 6); - count = count +1; - } - count = 0; - while (count < numResP7) - { - enableResearch(resP7[count], 7); - count = count +1; - } -} - - - -// ///////////////////////////////////////////////////////////////// -event checkEndConditions (endConditions) -{ - // Losing Conditions -// if( ( not (multiPlayerGameType == DMATCH)) - if( ( not anyDroidsLeft(selectedPlayer)) - and ( not anyFactoriesLeft(selectedPlayer)) -// and ( not playerInAlliance(selectedPlayer)) - ) - { -// addMessage(endMsg, MISS_MSG, 0, true); -// pause(10); -// gameOver(FALSE); - gameOverMessage(endMsg, MISS_MSG, 0, FALSE); - setEventTrigger(checkEndConditions, inactive); - exit; - } - - - // Winning Conditions - playnum=0; - gamenotwon = FALSE; - - //////////////// - // Campaign Game - if(multiPlayerGameType == CAMPAIGN) - { - // check humans are still about - while (playnum < multiPlayerMaxPlayers) - { - if (playnum != selectedPlayer) - { - if(anyDroidsLeft(playnum) or anyFactoriesLeft(playnum) ) - { - gamenotwon = TRUE; - } - } - playnum = playnum + 1; - } - - //check computer/babas are wiped out completely - while(playnum<8) - { - if(not isHumanPlayer(playnum)) - { - if(anyDroidsLeft(playnum) or anyStructButWallsLeft(playnum)) - { - gamenotwon = TRUE; - } - } - playnum = playnum + 1; - } - } - - if(gamenotwon == FALSE) - { -// addMessage(winMsg, MISS_MSG, 0, true); -// pause(10); -// gameOver(TRUE); - gameOverMessage(winMsg, MISS_MSG, 0, TRUE); - setEventTrigger(checkEndConditions, inactive); - } -} - -// ///////////////////////////////////////////////////////////////// -/* Base Under Attack */ -event baseHit(CALL_STRUCT_ATTACKED, selectedPlayer, ref hitStruc, ref attackerObj) -{ - if (t >= 10) - { - t=0; - if (hitStruc != NULLOBJECT) - { - playSoundPos(attackSnd1, selectedPlayer, hitStruc.x, hitStruc.y, hitStruc.z); //show position if still alive - } - else - { - playSound(attackSnd1, selectedPlayer); - } - } -} - -event everySec(every, 10) -{ - t=t+1; -} - -//go to where the structure being attacked is on CTRL B -event seeBaseHit(CALL_MISSION_END) -{ - if (hitStruc!=NULLOBJECT) - { - centreView(hitStruc); - t=0; //flag known about! - } -} - diff --git a/data/base/multiplay/script/multiplay.vlo b/data/base/multiplay/script/multiplay.vlo deleted file mode 100644 index 54676e190..000000000 --- a/data/base/multiplay/script/multiplay.vlo +++ /dev/null @@ -1,171 +0,0 @@ -// -// variable value file for multiplayer games. -// - -script "multiplay.slo" -run -{ - -endMsg INTMESSAGE "END" -winMsg INTMESSAGE "WIN" - -// structures -command STRUCTURESTAT "A0CommandCentre" -factory STRUCTURESTAT "A0LightFactory" -wall STRUCTURESTAT "A0HardcreteMk1Wall" -cornerWall STRUCTURESTAT "A0HardcreteMk1CWall" -oilDerrick STRUCTURESTAT "A0ResourceExtractor" -powerGen STRUCTURESTAT "A0PowerGenerator" -research STRUCTURESTAT "A0ResearchFacility" -commandrelay STRUCTURESTAT "A0ComDroidControl" -cybfac STRUCTURESTAT "A0CyborgFactory" -vtolfac STRUCTURESTAT "A0VTolFactory1" - -///////////////////////////////////////////////////////////////////////// -// Starting Technologies. -// MAX of 64 starting Techs. See alexl for more. - -// JIM/KEITH KEEP YOUR FILTHY MITS OFF THESE.. - -// CLEAN MAP -numCleanTech int 4 - -cleanTech[0] RESEARCHSTAT "R-Vehicle-Prop-Wheels" -cleanTech[1] RESEARCHSTAT "R-Sys-Spade1Mk1" -cleanTech[2] RESEARCHSTAT "R-Vehicle-Body01" -cleanTech[3] RESEARCHSTAT "R-Comp-SynapticLink" -//cleanTech[0] RESEARCHSTAT "R-Wpn-MG1Mk1" -//cleanTech[1] RESEARCHSTAT "R-Defense-HardcreteWall" -//cleanTech[4] RESEARCHSTAT "R-Struc-Factory-Cyborg" -//cleanTech[5] RESEARCHSTAT "R-Cyborg-Wpn-MG" -//cleanTech[6] RESEARCHSTAT "R-Defense-Pillbox01" -//cleanTech[7] RESEARCHSTAT "R-Defense-Tower01" -//cleanTech[9] RESEARCHSTAT "R-Sys-Engineering01" - -// BASE MAP -numBaseTech int 19 -baseTech[0] RESEARCHSTAT "R-Vehicle-Prop-Wheels" -baseTech[1] RESEARCHSTAT "R-Sys-Spade1Mk1" -baseTech[2] RESEARCHSTAT "R-Vehicle-Body01" -baseTech[3] RESEARCHSTAT "R-Comp-SynapticLink" - -baseTech[4] RESEARCHSTAT "R-Wpn-MG1Mk1" -baseTech[5] RESEARCHSTAT "R-Defense-HardcreteWall" -baseTech[6] RESEARCHSTAT "R-Vehicle-Prop-Wheels" -baseTech[7] RESEARCHSTAT "R-Sys-Spade1Mk1" -baseTech[8] RESEARCHSTAT "R-Struc-Factory-Cyborg" -baseTech[9] RESEARCHSTAT "R-Cyborg-Wpn-MG" -baseTech[10] RESEARCHSTAT "R-Defense-Pillbox01" -baseTech[11] RESEARCHSTAT "R-Defense-Tower01" -baseTech[12] RESEARCHSTAT "R-Vehicle-Body01" -baseTech[13] RESEARCHSTAT "R-Sys-Engineering01" -baseTech[14] RESEARCHSTAT "R-Struc-CommandRelay" -baseTech[15] RESEARCHSTAT "R-Vehicle-Prop-Halftracks" -baseTech[16] RESEARCHSTAT "R-Comp-CommandTurret01" -baseTech[17] RESEARCHSTAT "R-Sys-Sensor-Turret01" -baseTech[18] RESEARCHSTAT "R-Wpn-Flamer01Mk1" - - -// DEFENSIVE MAP -numDefTech int 42 - -defTech[0] RESEARCHSTAT "R-Vehicle-Prop-Wheels" -defTech[1] RESEARCHSTAT "R-Sys-Spade1Mk1" -defTech[2] RESEARCHSTAT "R-Vehicle-Body01" -defTech[3] RESEARCHSTAT "R-Comp-SynapticLink" - -defTech[4] RESEARCHSTAT "R-Wpn-MG1Mk1" -defTech[5] RESEARCHSTAT "R-Defense-HardcreteWall" -defTech[6] RESEARCHSTAT "R-Vehicle-Prop-Wheels" -defTech[7] RESEARCHSTAT "R-Sys-Spade1Mk1" -defTech[8] RESEARCHSTAT "R-Struc-Factory-Cyborg" -defTech[9] RESEARCHSTAT "R-Cyborg-Wpn-MG" -defTech[10] RESEARCHSTAT "R-Defense-Pillbox01" -defTech[11] RESEARCHSTAT "R-Defense-Tower01" -defTech[12] RESEARCHSTAT "R-Vehicle-Body01" -defTech[13] RESEARCHSTAT "R-Sys-Engineering01" -defTech[14] RESEARCHSTAT "R-Struc-CommandRelay" -defTech[15] RESEARCHSTAT "R-Vehicle-Prop-Halftracks" -defTech[16] RESEARCHSTAT "R-Comp-CommandTurret01" -defTech[17] RESEARCHSTAT "R-Sys-Sensor-Turret01" -defTech[18] RESEARCHSTAT "R-Wpn-Flamer01Mk1" - -defTech[19] RESEARCHSTAT "R-Vehicle-Body05" -defTech[20] RESEARCHSTAT "R-Struc-Research-Module" -defTech[21] RESEARCHSTAT "R-Struc-PowerModuleMk1" -defTech[22] RESEARCHSTAT "R-Struc-Factory-Module" -defTech[23] RESEARCHSTAT "R-Struc-RepairFacility" -defTech[24] RESEARCHSTAT "R-Sys-MobileRepairTurret01" -defTech[25] RESEARCHSTAT "R-Vehicle-Engine01" -defTech[26] RESEARCHSTAT "R-Vehicle-Prop-Tracks" -defTech[27] RESEARCHSTAT "R-Cyborg-Wpn-Cannon" -defTech[28] RESEARCHSTAT "R-Cyborg-Wpn-Flamer" -defTech[29] RESEARCHSTAT "R-Wpn-MG3Mk1" -defTech[30] RESEARCHSTAT "R-Wpn-Cannon1Mk1" -defTech[31] RESEARCHSTAT "R-Wpn-Mortar01Lt" -defTech[32] RESEARCHSTAT "R-Defense-Pillbox05" -defTech[33] RESEARCHSTAT "R-Defense-TankTrap01" -defTech[34] RESEARCHSTAT "R-Defense-WallTower02" -defTech[35] RESEARCHSTAT "R-Sys-Sensor-Tower01" -defTech[36] RESEARCHSTAT "R-Defense-Pillbox04" -defTech[37] RESEARCHSTAT "R-Wpn-MG2Mk1" -defTech[38] RESEARCHSTAT "R-Wpn-Rocket05-MiniPod" -defTech[39] RESEARCHSTAT "R-Wpn-MG-Damage01" -defTech[40] RESEARCHSTAT "R-Wpn-Rocket-Damage01" -defTech[41] RESEARCHSTAT "R-Defense-WallTower01" - - -// player specific. eg. -//numtecP0 int 1 //Player0 -//tecP0[0] RESEARCHSTAT "R-Vehicle-Body01" -numtecP0 int 0 //Player0 -numtecP1 int 0 //Player1 -numtecP2 int 0 //Player2 -numtecP3 int 0 //Player3 -numtecP4 int 0 //Player4 -numtecP5 int 0 //Player5 -numtecP6 int 0 //Player6 -numtecP7 int 0 //Player7 - - -///////////////////////////////////////////////////////////////////////// -// Available Research Topics. -// Maximum of TEN topics, see alexl for more. - -// CLEAN MAP -numCleanRes int 3 -cleanRes[0] RESEARCHSTAT "R-Sys-Sensor-Turret01" -cleanRes[1] RESEARCHSTAT "R-Wpn-MG1Mk1" -//cleanRes[2] RESEARCHSTAT "R-Struc-Factory-Cyborg" -cleanRes[2] RESEARCHSTAT "R-Sys-Engineering01" -//cleanRes[1] RESEARCHSTAT "R-Struc-CommandRelay" - -// BASE MAP -numBaseRes int 0 -//baseRes[0] RESEARCHSTAT "R-Sys-Engineering01" - - -// DEFENSE MAP -numDefRes int 0 -//defRes[0] RESEARCHSTAT "R-Sys-Engineering01" - - - -// Player Specific. eg. -// numResP0 int 1 //number of topics to enable -// resP0[0] RESEARCHSTAT "R-Lab-Electronics" -numResP0 int 0 -numResP1 int 0 -numResP2 int 0 -numResP3 int 0 -numResP4 int 0 -numResP5 int 0 -numResP6 int 0 -numResP7 int 0 - -///////////////////////////////////////////////////////////////////////// -// Other Guff. - -/* Base Under Attack */ -attackSnd1 SOUND "pcv337.ogg" -} From e021afe37a312135cb91978ee5d2456604754d0f Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 12 Jan 2011 19:35:35 +0100 Subject: [PATCH 126/142] Load scavenger script depending on scavenger button settings, not on wrf file settings. --- data/mp/wrf/multi/skirmish2.wrf | 4 ---- data/mp/wrf/multi/skirmish3.wrf | 4 ---- data/mp/wrf/multi/skirmish4.wrf | 4 ---- data/mp/wrf/multi/skirmish5.wrf | 4 ---- data/mp/wrf/multi/skirmish6.wrf | 4 ---- data/mp/wrf/multi/skirmish7.wrf | 4 ---- data/mp/wrf/multi/t2-skirmish2.wrf | 4 ---- data/mp/wrf/multi/t2-skirmish3.wrf | 5 ----- data/mp/wrf/multi/t2-skirmish4.wrf | 4 ---- data/mp/wrf/multi/t2-skirmish6.wrf | 1 - data/mp/wrf/multi/t2-skirmish7.wrf | 1 - data/mp/wrf/multi/t3-skirmish2.wrf | 4 ---- data/mp/wrf/multi/t3-skirmish3.wrf | 5 ----- data/mp/wrf/multi/t3-skirmish4.wrf | 3 --- src/multiint.cpp | 10 ++++++++++ 15 files changed, 10 insertions(+), 51 deletions(-) diff --git a/data/mp/wrf/multi/skirmish2.wrf b/data/mp/wrf/multi/skirmish2.wrf index fce6afeb6..e2125ba5c 100644 --- a/data/mp/wrf/multi/skirmish2.wrf +++ b/data/mp/wrf/multi/skirmish2.wrf @@ -11,7 +11,3 @@ file SCRIPT "rules.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/skirmish3.wrf b/data/mp/wrf/multi/skirmish3.wrf index 2b101e150..1937f3e1f 100644 --- a/data/mp/wrf/multi/skirmish3.wrf +++ b/data/mp/wrf/multi/skirmish3.wrf @@ -11,7 +11,3 @@ file SCRIPT "rules.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/skirmish4.wrf b/data/mp/wrf/multi/skirmish4.wrf index 9e62d6bf6..be3586283 100644 --- a/data/mp/wrf/multi/skirmish4.wrf +++ b/data/mp/wrf/multi/skirmish4.wrf @@ -11,7 +11,3 @@ file SCRIPT "rules.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/skirmish5.wrf b/data/mp/wrf/multi/skirmish5.wrf index f8b21fe25..2e502208e 100644 --- a/data/mp/wrf/multi/skirmish5.wrf +++ b/data/mp/wrf/multi/skirmish5.wrf @@ -11,7 +11,3 @@ file SCRIPT "rules.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/skirmish6.wrf b/data/mp/wrf/multi/skirmish6.wrf index c8cb69103..735f09fa4 100644 --- a/data/mp/wrf/multi/skirmish6.wrf +++ b/data/mp/wrf/multi/skirmish6.wrf @@ -11,7 +11,3 @@ file SCRIPT "rules.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/skirmish7.wrf b/data/mp/wrf/multi/skirmish7.wrf index 6a1d3806f..6b2fc1957 100644 --- a/data/mp/wrf/multi/skirmish7.wrf +++ b/data/mp/wrf/multi/skirmish7.wrf @@ -11,7 +11,3 @@ file SCRIPT "rules.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish2.wrf b/data/mp/wrf/multi/t2-skirmish2.wrf index 3ae839e18..f27ac837e 100644 --- a/data/mp/wrf/multi/t2-skirmish2.wrf +++ b/data/mp/wrf/multi/t2-skirmish2.wrf @@ -13,7 +13,3 @@ file SCRIPT "sktech.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish3.wrf b/data/mp/wrf/multi/t2-skirmish3.wrf index 0a63385eb..50d8a2101 100644 --- a/data/mp/wrf/multi/t2-skirmish3.wrf +++ b/data/mp/wrf/multi/t2-skirmish3.wrf @@ -8,8 +8,3 @@ file SCRIPT "sktech.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" - diff --git a/data/mp/wrf/multi/t2-skirmish4.wrf b/data/mp/wrf/multi/t2-skirmish4.wrf index efaada3c3..1b1fd4ea0 100644 --- a/data/mp/wrf/multi/t2-skirmish4.wrf +++ b/data/mp/wrf/multi/t2-skirmish4.wrf @@ -13,7 +13,3 @@ file SCRIPT "sktech.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish6.wrf b/data/mp/wrf/multi/t2-skirmish6.wrf index 113b1c4ad..92c105911 100644 --- a/data/mp/wrf/multi/t2-skirmish6.wrf +++ b/data/mp/wrf/multi/t2-skirmish6.wrf @@ -5,7 +5,6 @@ directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" - directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish7.wrf b/data/mp/wrf/multi/t2-skirmish7.wrf index 113b1c4ad..92c105911 100644 --- a/data/mp/wrf/multi/t2-skirmish7.wrf +++ b/data/mp/wrf/multi/t2-skirmish7.wrf @@ -5,7 +5,6 @@ directory "multiplay/skirmish" file SCRIPT "rules.slo" file SCRIPT "sktech.slo" - directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk2tech.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish2.wrf b/data/mp/wrf/multi/t3-skirmish2.wrf index ac9d40feb..3c543a3ff 100644 --- a/data/mp/wrf/multi/t3-skirmish2.wrf +++ b/data/mp/wrf/multi/t3-skirmish2.wrf @@ -13,7 +13,3 @@ file SCRIPT "sktech.slo" directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish3.wrf b/data/mp/wrf/multi/t3-skirmish3.wrf index 65b02db2f..5e09153bf 100644 --- a/data/mp/wrf/multi/t3-skirmish3.wrf +++ b/data/mp/wrf/multi/t3-skirmish3.wrf @@ -10,8 +10,3 @@ directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" - -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" - diff --git a/data/mp/wrf/multi/t3-skirmish4.wrf b/data/mp/wrf/multi/t3-skirmish4.wrf index e5fa181c6..648ae4839 100644 --- a/data/mp/wrf/multi/t3-skirmish4.wrf +++ b/data/mp/wrf/multi/t3-skirmish4.wrf @@ -14,6 +14,3 @@ directory "multiplay/skirmish" file SCRIPTVAL "rules.vlo" file SCRIPTVAL "sk3tech.vlo" -directory "multiplay/script" -file SCRIPT "scavfact.slo" -file SCRIPTVAL "scavfact.vlo" diff --git a/src/multiint.cpp b/src/multiint.cpp index eeb1c1e42..84ad96789 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -272,6 +272,16 @@ void loadAIs() resLoadFile("SCRIPTVAL", "nexus.vlo"); } } + + // Load scavengers + resForceBaseDir("multiplay/script/"); + if (game.scavengers) + { + resLoadFile("SCRIPT", "scavfact.slo"); + resLoadFile("SCRIPTVAL", "scavfact.vlo"); + } + + // Reset resource path, otherwise things break down the line resForceBaseDir(""); } From 3d001b650577fe78fc2faf242c0481c9f127f5d6 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 12 Jan 2011 19:43:53 +0100 Subject: [PATCH 127/142] Remove some dead code --- src/scriptfuncs.cpp | 152 +------------------------------------------- 1 file changed, 2 insertions(+), 150 deletions(-) diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index 214854dd3..f72996c2d 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -3743,15 +3743,6 @@ BOOL scrStartMission(void) return false; } - // check the last mission got finished - /*if (mission.type != MISSION_NONE) - { - DBMB(("scrStartMission: old mission incomplete\n ending mission with success")); - endMission(true); - }*/ - - // tell the loop that a new level has to be loaded up - not yet! - //loopNewLevel = true; sstrcpy(aLevelName, pGame); // find the level dataset @@ -3766,31 +3757,11 @@ BOOL scrStartMission(void) //set the mission rolling... //nextMissionType = missionType; nextMissionType = psNewLevel->type; -// loopMissionState = LMS_SETUPMISSION; loopMissionState = LMS_CLEAROBJECTS; -/* if (!setUpMission(missionType)) - { - ASSERT( false, "Unable to start mission - %s", pGame ); - return false; - }*/ - return true; } -//end a mission - NO LONGER CALLED FROM SCRIPT -/*BOOL scrEndMission(void) -{ - BOOL status; - - if (!stackPopParams(1, VAL_BOOL, &status)) - { - return false; - } - - endMission(status); - return true; -}*/ // ----------------------------------------------------------------------------------------- //set Snow (enable disable snow) BOOL scrSetSnow(void) @@ -3871,42 +3842,6 @@ BOOL scrSetBackgroundFog(void) } } -/* jps 17 feb 99 - if(getRevealStatus()) // fog'o war enabled - { - pie_SetFogStatus(false); - pie_EnableFog(false); -// fogStatus = 0; - return true; - } - - if (bState)//true, so go to false - { - if (war_GetFog()) - { - //restart fog if it was off - if (fogStatus == 0) - { - pie_EnableFog(true); - } - fogStatus |= FOG_BACKGROUND;//set lowest bit of 3 - } - } - else - { - if (war_GetFog()) - { - fogStatus &= FOG_FLAGS-FOG_BACKGROUND;//clear middle bit of 3 - //disable fog if it longer used - if (fogStatus == 0) - { - pie_SetFogStatus(false); - pie_EnableFog(false); - } - } - } -*/ - return true; } @@ -3920,8 +3855,6 @@ BOOL scrSetDepthFog(void) { return false; } - // ffs am -//jps 17 feb 99 just set the status let other code worry about fogEnable/reveal if (bState)//true, so go to false { //restart fog if it was off @@ -3942,41 +3875,6 @@ BOOL scrSetDepthFog(void) } } -/* jps 17 feb 99 if(getRevealStatus()) // fog'o war enabled - { - pie_SetFogStatus(false); - pie_EnableFog(false); -// fogStatus = 0; - return true; - } - - if (bState)//true, so go to false - { - if (war_GetFog()) - { - //restart fog if it was off - if (fogStatus == 0) - { - pie_EnableFog(true); - } - fogStatus |= FOG_DISTANCE;//set lowest bit of 3 - } - } - else - { - if (war_GetFog()) - { - fogStatus &= FOG_FLAGS-FOG_DISTANCE;//clear middle bit of 3 - //disable fog if it longer used - if (fogStatus == 0) - { - pie_SetFogStatus(false); - pie_EnableFog(false); - } - } - } -*/ - return true; } @@ -4023,7 +3921,6 @@ BOOL scrRefTest(void) // ----------------------------------------------------------------------------------------- // is player a human or computer player? (multiplayer only) - BOOL scrIsHumanPlayer(void) { SDWORD player; @@ -4042,7 +3939,6 @@ BOOL scrIsHumanPlayer(void) return true; } - // ----------------------------------------------------------------------------------------- // Set an alliance between two players BOOL scrCreateAlliance(void) @@ -4072,32 +3968,9 @@ BOOL scrCreateAlliance(void) formAlliance((UBYTE)player1, (UBYTE)player2,true,false,true); -/* - if(bMultiPlayer) - { - - if(game.alliance==NO_ALLIANCES || player1 >= game.maxPlayers || player2>=game.maxPlayers) - { - return true; - } - - if(alliances[player1][player2] != ALLIANCE_FORMED) - { -#ifdef DEBUG - CONPRINTF(ConsoleString,(ConsoleString,"%d and %d form an alliance.",player1,player2)); -#endif - sendAlliance((UBYTE)player1,(UBYTE)player2,ALLIANCE_FORMED,0); - } - } - - alliances[player1][player2] = ALLIANCE_FORMED; - alliances[player2][player1] = ALLIANCE_FORMED; -*/ return true; } - - // ----------------------------------------------------------------------------------------- // offer an alliance BOOL scrOfferAlliance(void) @@ -4120,7 +3993,6 @@ BOOL scrOfferAlliance(void) return true; } - // ----------------------------------------------------------------------------------------- // Break an alliance between two players BOOL scrBreakAlliance(void) @@ -4132,26 +4004,11 @@ BOOL scrBreakAlliance(void) return false; } - if ( - player1 < 0 || player1 >= MAX_PLAYERS || - player2 < 0 || player2 >= MAX_PLAYERS) + if (player1 < 0 || player1 >= MAX_PLAYERS || player2 < 0 || player2 >= MAX_PLAYERS) { ASSERT( false, "scrBreakAlliance: player out of range p1=%d p2=%d", player1, player2 ); return false; } -/* -if(bMultiPlayer) - { - - - if(alliances[player1][player2] != ALLIANCE_BROKEN) - { - CONPRINTF(ConsoleString,(ConsoleString,"%d and %d break alliance.",player1,player2)); - sendAlliance((UBYTE)player1,(UBYTE)player2,ALLIANCE_BROKEN,0); - } -} -*/ - if(bMultiPlayer) { @@ -4166,14 +4023,10 @@ if(bMultiPlayer) { breakAlliance(player1,player2,false,true); } -/* - alliances[player1][player2] = ALLIANCE_BROKEN; - alliances[player2][player1] = ALLIANCE_BROKEN; -*/ + return true; } - // ----------------------------------------------------------------------------------------- // Multiplayer relevant scriptfuncs // returns true if 2 or more players are in alliance. @@ -4289,7 +4142,6 @@ BOOL scrDominatingAlliance(void) return true; } } -// ----------------------------------------------------------------------------------------- } From 05a8e6ecd119e4334560e891b498deb139ffe01c Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 12 Jan 2011 21:15:25 +0100 Subject: [PATCH 128/142] No longer read wrf files specified directly from map files. Instead, call them directly from the code. This saves us a lot of duplicate data, and reduces the amount of weird things a map can do. Reviewed by Cyp. --- data/mp/addon.lev | 180 ----------------------------- data/mp/wrf/multi/skirmish2.wrf | 13 --- data/mp/wrf/multi/skirmish3.wrf | 13 --- data/mp/wrf/multi/skirmish4.wrf | 13 --- data/mp/wrf/multi/skirmish5.wrf | 13 --- data/mp/wrf/multi/skirmish6.wrf | 13 --- data/mp/wrf/multi/skirmish7.wrf | 13 --- data/mp/wrf/multi/skirmish8.wrf | 13 --- data/mp/wrf/multi/t2-skirmish2.wrf | 15 --- data/mp/wrf/multi/t2-skirmish3.wrf | 10 -- data/mp/wrf/multi/t2-skirmish4.wrf | 15 --- data/mp/wrf/multi/t2-skirmish5.wrf | 11 -- data/mp/wrf/multi/t2-skirmish6.wrf | 11 -- data/mp/wrf/multi/t2-skirmish7.wrf | 11 -- data/mp/wrf/multi/t2-skirmish8.wrf | 15 --- data/mp/wrf/multi/t3-skirmish2.wrf | 15 --- data/mp/wrf/multi/t3-skirmish3.wrf | 12 -- data/mp/wrf/multi/t3-skirmish4.wrf | 16 --- data/mp/wrf/multi/t3-skirmish5.wrf | 11 -- data/mp/wrf/multi/t3-skirmish6.wrf | 11 -- data/mp/wrf/multi/t3-skirmish7.wrf | 10 -- data/mp/wrf/multi/t3-skirmish8.wrf | 15 --- src/game.cpp | 5 +- src/init.cpp | 22 ++-- src/levels.cpp | 9 +- src/levels.h | 2 +- src/multiint.cpp | 21 +++- src/multiint.h | 2 +- src/parsetest.cpp | 2 +- 29 files changed, 48 insertions(+), 464 deletions(-) delete mode 100644 data/mp/wrf/multi/skirmish2.wrf delete mode 100644 data/mp/wrf/multi/skirmish3.wrf delete mode 100644 data/mp/wrf/multi/skirmish4.wrf delete mode 100644 data/mp/wrf/multi/skirmish5.wrf delete mode 100644 data/mp/wrf/multi/skirmish6.wrf delete mode 100644 data/mp/wrf/multi/skirmish7.wrf delete mode 100644 data/mp/wrf/multi/skirmish8.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish2.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish3.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish4.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish5.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish6.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish7.wrf delete mode 100644 data/mp/wrf/multi/t2-skirmish8.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish2.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish3.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish4.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish5.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish6.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish7.wrf delete mode 100644 data/mp/wrf/multi/t3-skirmish8.wrf diff --git a/data/mp/addon.lev b/data/mp/addon.lev index aafd8a369..1565f2d43 100644 --- a/data/mp/addon.lev +++ b/data/mp/addon.lev @@ -67,40 +67,30 @@ players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-rush.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-Rush2 players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-rush2.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-Startup players 2 type 14 dataset MULTI_CAM_1 game "multiplay/maps/2c-startup.gam" -data "wrf/multi/skirmish2.wrf" -data "wrf/multi/fog1.wrf" level Sk-Clover players 8 type 14 dataset MULTI_CAM_1 game "multiplay/maps/8c-clover.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-MizaMaze players 8 type 14 dataset MULTI_CAM_1 game "multiplay/maps/8c-mizamaze.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog1.wrf" /*cam2*/ level Sk-UrbanChasm @@ -108,24 +98,18 @@ players 2 type 14 dataset MULTI_CAM_2 game "multiplay/maps/2c-urbanchasm.gam" -data "wrf/multi/skirmish2.wrf" -data "wrf/multi/fog2.wrf" level Sk-UrbanDuel players 4 type 14 dataset MULTI_CAM_2 game "multiplay/maps/4c-urbanduel.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog2.wrf" level Sk-Manhattan players 8 type 14 dataset MULTI_CAM_2 game "multiplay/maps/8c-manhattan.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog2.wrf" /*cam3*/ level Sk-HighGround @@ -133,24 +117,18 @@ players 2 type 14 dataset MULTI_CAM_3 game "multiplay/maps/2c-highground.gam" -data "wrf/multi/skirmish2.wrf" -data "wrf/multi/fog3.wrf" level Sk-Mountain players 4 type 14 dataset MULTI_CAM_3 game "multiplay/maps/4c-mountain.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-Bananas players 8 type 14 dataset MULTI_CAM_3 game "multiplay/maps/8c-bananas.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog3.wrf" /********************************************************/ /* tech level 2 */ @@ -186,56 +164,42 @@ players 4 type 14 dataset MULTI_CAM_3 game "multiplay/maps/4c-valleyofdeath.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-Wheel players 8 type 14 dataset MULTI_CAM_3 game "multiplay/maps/8c-wheeloffortune.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-Ziggurat players 8 type 14 dataset MULTI_CAM_1 game "multiplay/maps/8c-ziggurat.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-Concrete players 8 type 14 dataset MULTI_CAM_2 game "multiplay/maps/8c-concreteplayground.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-FishNets players 4 type 14 dataset MULTI_CAM_3 game "multiplay/maps/4c-fishnet.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-GreatRift-T1 players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-greatrift.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-ThePit-T1 players 8 type 14 dataset MULTI_CAM_3 game "multiplay/maps/8c-thepit.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog3.wrf" /********************************************************/ /********************************************************/ @@ -313,144 +277,108 @@ players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-rush2.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-Rush-T2 players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-rush.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-StartUp-T2 players 2 type 18 dataset MULTI_T2_C1 game "multiplay/maps/2c-startup.gam" -data "wrf/multi/t2-skirmish2.wrf" -data "wrf/multi/fog1.wrf" level Sk-MizaMaze-T2 players 8 type 18 dataset MULTI_T2_C1 game "multiplay/maps/8c-mizamaze.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-Clover-T2 players 8 type 18 dataset MULTI_T2_C1 game "multiplay/maps/8c-clover.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-UrbanChasm-T2 players 2 type 18 dataset MULTI_T2_C2 game "multiplay/maps/2c-urbanchasm.gam" -data "wrf/multi/t2-skirmish2.wrf" -data "wrf/multi/fog2.wrf" level Sk-UrbanDuel-T2 players 4 type 18 dataset MULTI_T2_C2 game "multiplay/maps/4c-urbanduel.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog2.wrf" level Sk-Manhattan-T2 players 8 type 18 dataset MULTI_T2_C2 game "multiplay/maps/8c-manhattan.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-HighGround-T2 players 2 type 18 dataset MULTI_T2_C3 game "multiplay/maps/2c-highground.gam" -data "wrf/multi/t2-skirmish2.wrf" -data "wrf/multi/fog3.wrf" level Sk-Mountain-T2 players 4 type 18 dataset MULTI_T2_C3 game "multiplay/maps/4c-mountain.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-Bananas-T2 players 8 type 18 dataset MULTI_T2_C3 game "multiplay/maps/8c-bananas.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-Wheel-T2 players 8 type 18 dataset MULTI_T2_C3 game "multiplay/maps/8c-wheeloffortune.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-Ziggurat-T2 players 8 type 18 dataset MULTI_T2_C1 game "multiplay/maps/8c-ziggurat.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-Valley-T2 players 4 type 18 dataset MULTI_T2_C3 game "multiplay/maps/4c-valleyofdeath.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-Concrete-T2 players 8 type 18 dataset MULTI_T2_C2 game "multiplay/maps/8c-concreteplayground.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-FishNets-T2 players 4 type 18 dataset MULTI_T2_C3 game "multiplay/maps/4c-fishnet.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-GreatRift-T2 players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-greatrift.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-ThePit-T2 players 8 type 18 dataset MULTI_T2_C3 game "multiplay/maps/8c-thepit.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog3.wrf" // Tech 3 @@ -459,144 +387,108 @@ players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-rush2.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-Rush-T3 players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-rush.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-StartUp-T3 players 2 type 19 dataset MULTI_T3_C1 game "multiplay/maps/2c-startup.gam" -data "wrf/multi/t3-skirmish2.wrf" -data "wrf/multi/fog1.wrf" level Sk-MizaMaze-T3 players 8 type 19 dataset MULTI_T3_C1 game "multiplay/maps/8c-mizamaze.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-Clover-T3 players 8 type 19 dataset MULTI_T3_C1 game "multiplay/maps/8c-clover.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-UrbanChasm-T3 players 2 type 19 dataset MULTI_T3_C2 game "multiplay/maps/2c-urbanchasm.gam" -data "wrf/multi/t3-skirmish2.wrf" -data "wrf/multi/fog2.wrf" level Sk-UrbanDuel-T3 players 4 type 19 dataset MULTI_T3_C2 game "multiplay/maps/4c-urbanduel.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog2.wrf" level Sk-Manhattan-T3 players 8 type 19 dataset MULTI_T3_C2 game "multiplay/maps/8c-manhattan.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-Mountain-T3 players 4 type 19 dataset MULTI_T3_C3 game "multiplay/maps/4c-mountain.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-HighGround-T3 players 2 type 19 dataset MULTI_T3_C3 game "multiplay/maps/2c-highground.gam" -data "wrf/multi/t3-skirmish2.wrf" -data "wrf/multi/fog3.wrf" level Sk-Bananas-T3 players 8 type 19 dataset MULTI_T3_C3 game "multiplay/maps/8c-bananas.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-Wheel-T3 players 8 type 19 dataset MULTI_T3_C3 game "multiplay/maps/8c-wheeloffortune.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-Ziggurat-T3 players 8 type 19 dataset MULTI_T3_C1 game "multiplay/maps/8c-ziggurat.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-Valley-T3 players 4 type 19 dataset MULTI_T3_C3 game "multiplay/maps/4c-valleyofdeath.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-Concrete-T3 players 8 type 19 dataset MULTI_T3_C2 game "multiplay/maps/8c-concreteplayground.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-FishNets-T3 players 4 type 19 dataset MULTI_T3_C3 game "multiplay/maps/4c-fishnet.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog3.wrf" level Sk-GreatRift-T3 players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-greatrift.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-ThePit-T3 players 8 type 19 dataset MULTI_T2_C3 game "multiplay/maps/8c-thepit.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog3.wrf" // hidensneak level Sk-HideNSneak-T1 @@ -604,24 +496,18 @@ players 8 type 14 dataset MULTI_CAM_2 game "multiplay/maps/8c-hidensneak.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-HideNSneak-T2 players 8 type 18 dataset MULTI_T2_C2 game "multiplay/maps/8c-hidensneak.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-HideNSneak-T3 players 8 type 19 dataset MULTI_T3_C2 game "multiplay/maps/8c-hidensneak.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog2.wrf" // RollingHills level Sk-RollingHills-T1 @@ -629,24 +515,18 @@ players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-rollinghills.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-RollingHills-T2 players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-rollinghills.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-RollingHills-T3 players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-rollinghills.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" // YinYang level Sk-YinYang-T1 @@ -654,24 +534,18 @@ players 8 type 14 dataset MULTI_CAM_3 game "multiplay/maps/8c-yinyang.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-YinYang-T2 players 8 type 18 dataset MULTI_T2_C3 game "multiplay/maps/8c-yinyang.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog3.wrf" level Sk-YinYang-T3 players 8 type 19 dataset MULTI_T3_C3 game "multiplay/maps/8c-yinyang.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog3.wrf" // SandCastles level Sk-SandCastles-T1 @@ -679,24 +553,18 @@ players 8 type 14 dataset MULTI_CAM_2 game "multiplay/maps/8c-sandcastles.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-SandCastles-T2 players 8 type 18 dataset MULTI_T2_C2 game "multiplay/maps/8c-sandcastles.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-SandCastles-T3 players 8 type 19 dataset MULTI_T3_C2 game "multiplay/maps/8c-sandcastles.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog2.wrf" // Basingstoke level Sk-Basingstoke-T1 @@ -704,24 +572,18 @@ players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-basingstoke.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-Basingstoke-T2 players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-basingstoke.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-Basingstoke-T3 players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-basingstoke.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" // LittleEgypt level Sk-LittleEgypt-T1 @@ -729,24 +591,18 @@ players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-littleegypt.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-LittleEgypt-T2 players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-littleegypt.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" level Sk-LittleEgypt-T3 players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-littleegypt.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" // BeggarsKanyon - 8 player desert level Sk-BeggarsKanyon-T1 @@ -754,24 +610,18 @@ players 8 type 14 dataset MULTI_CAM_1 game "multiplay/maps/8c-beggarskanyon.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-BeggarsKanyon-T2 players 8 type 18 dataset MULTI_T2_C1 game "multiplay/maps/8c-beggarskanyon.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog1.wrf" level Sk-BeggarsKanyon-T3 players 8 type 19 dataset MULTI_T3_C1 game "multiplay/maps/8c-beggarskanyon.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog1.wrf" // Gridlock level Sk-Gridlock-T1 @@ -779,24 +629,18 @@ players 8 type 14 dataset MULTI_CAM_2 game "multiplay/maps/8c-gridlock.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-Gridlock-T2 players 8 type 18 dataset MULTI_T2_C2 game "multiplay/maps/8c-gridlock.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog2.wrf" level Sk-Gridlock-T3 players 8 type 19 dataset MULTI_T3_C2 game "multiplay/maps/8c-gridlock.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog2.wrf" /// New maps added by Warzone2100 Resurrection Team @@ -808,8 +652,6 @@ players 8 type 14 dataset MULTI_CAM_1 game "multiplay/maps/8c-cockate.gam" -data "wrf/multi/skirmish8.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 2 @@ -818,8 +660,6 @@ players 8 type 18 dataset MULTI_T2_C1 game "multiplay/maps/8c-cockate.gam" -data "wrf/multi/t2-skirmish8.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 3 @@ -828,8 +668,6 @@ players 8 type 19 dataset MULTI_T3_C1 game "multiplay/maps/8c-cockate.gam" -data "wrf/multi/t3-skirmish8.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 1 @@ -838,8 +676,6 @@ players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-cockpit.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 2 @@ -848,8 +684,6 @@ players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-cockpit.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 3 @@ -858,8 +692,6 @@ players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-cockpit.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 1 @@ -868,8 +700,6 @@ players 4 type 14 dataset MULTI_CAM_2 game "multiplay/maps/4c-urban-chaos.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog2.wrf" // Skirmish Tech Level 2 @@ -878,8 +708,6 @@ players 4 type 18 dataset MULTI_T2_C2 game "multiplay/maps/4c-urban-chaos.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog2.wrf" // Skirmish Tech Level 3 @@ -888,8 +716,6 @@ players 4 type 19 dataset MULTI_T3_C2 game "multiplay/maps/4c-urban-chaos.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog2.wrf" // Skirmish Tech Level 1 @@ -898,8 +724,6 @@ players 4 type 14 dataset MULTI_CAM_1 game "multiplay/maps/4c-pyramidal.gam" -data "wrf/multi/skirmish4.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 2 @@ -908,8 +732,6 @@ players 4 type 18 dataset MULTI_T2_C1 game "multiplay/maps/4c-pyramidal.gam" -data "wrf/multi/t2-skirmish4.wrf" -data "wrf/multi/fog1.wrf" // Skirmish Tech Level 3 @@ -918,5 +740,3 @@ players 4 type 19 dataset MULTI_T3_C1 game "multiplay/maps/4c-pyramidal.gam" -data "wrf/multi/t3-skirmish4.wrf" -data "wrf/multi/fog1.wrf" diff --git a/data/mp/wrf/multi/skirmish2.wrf b/data/mp/wrf/multi/skirmish2.wrf deleted file mode 100644 index e2125ba5c..000000000 --- a/data/mp/wrf/multi/skirmish2.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* WRF\Multi\skirmish2.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/skirmish3.wrf b/data/mp/wrf/multi/skirmish3.wrf deleted file mode 100644 index 1937f3e1f..000000000 --- a/data/mp/wrf/multi/skirmish3.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* WRF\Multi\skirmish3.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/skirmish4.wrf b/data/mp/wrf/multi/skirmish4.wrf deleted file mode 100644 index be3586283..000000000 --- a/data/mp/wrf/multi/skirmish4.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* WRF\Multi\skirmish4.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/skirmish5.wrf b/data/mp/wrf/multi/skirmish5.wrf deleted file mode 100644 index 2e502208e..000000000 --- a/data/mp/wrf/multi/skirmish5.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* WRF\Multi\skirmish5.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/skirmish6.wrf b/data/mp/wrf/multi/skirmish6.wrf deleted file mode 100644 index 735f09fa4..000000000 --- a/data/mp/wrf/multi/skirmish6.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* WRF\Multi\skirmish6.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/skirmish7.wrf b/data/mp/wrf/multi/skirmish7.wrf deleted file mode 100644 index 6b2fc1957..000000000 --- a/data/mp/wrf/multi/skirmish7.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* WRF\Multi\skirmish7.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/skirmish8.wrf b/data/mp/wrf/multi/skirmish8.wrf deleted file mode 100644 index f06ce78cc..000000000 --- a/data/mp/wrf/multi/skirmish8.wrf +++ /dev/null @@ -1,13 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\skirmish8.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish2.wrf b/data/mp/wrf/multi/t2-skirmish2.wrf deleted file mode 100644 index f27ac837e..000000000 --- a/data/mp/wrf/multi/t2-skirmish2.wrf +++ /dev/null @@ -1,15 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\t2-skirmish2.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish3.wrf b/data/mp/wrf/multi/t2-skirmish3.wrf deleted file mode 100644 index 50d8a2101..000000000 --- a/data/mp/wrf/multi/t2-skirmish3.wrf +++ /dev/null @@ -1,10 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish4.wrf b/data/mp/wrf/multi/t2-skirmish4.wrf deleted file mode 100644 index 1b1fd4ea0..000000000 --- a/data/mp/wrf/multi/t2-skirmish4.wrf +++ /dev/null @@ -1,15 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\t2-skirmish4.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" diff --git a/data/mp/wrf/multi/t2-skirmish5.wrf b/data/mp/wrf/multi/t2-skirmish5.wrf deleted file mode 100644 index 92c105911..000000000 --- a/data/mp/wrf/multi/t2-skirmish5.wrf +++ /dev/null @@ -1,11 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" - diff --git a/data/mp/wrf/multi/t2-skirmish6.wrf b/data/mp/wrf/multi/t2-skirmish6.wrf deleted file mode 100644 index 92c105911..000000000 --- a/data/mp/wrf/multi/t2-skirmish6.wrf +++ /dev/null @@ -1,11 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" - diff --git a/data/mp/wrf/multi/t2-skirmish7.wrf b/data/mp/wrf/multi/t2-skirmish7.wrf deleted file mode 100644 index 92c105911..000000000 --- a/data/mp/wrf/multi/t2-skirmish7.wrf +++ /dev/null @@ -1,11 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" - diff --git a/data/mp/wrf/multi/t2-skirmish8.wrf b/data/mp/wrf/multi/t2-skirmish8.wrf deleted file mode 100644 index 3e6706bb1..000000000 --- a/data/mp/wrf/multi/t2-skirmish8.wrf +++ /dev/null @@ -1,15 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\t2-skirmish8.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk2tech.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish2.wrf b/data/mp/wrf/multi/t3-skirmish2.wrf deleted file mode 100644 index 3c543a3ff..000000000 --- a/data/mp/wrf/multi/t3-skirmish2.wrf +++ /dev/null @@ -1,15 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\t3-skirmish2.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish3.wrf b/data/mp/wrf/multi/t3-skirmish3.wrf deleted file mode 100644 index 5e09153bf..000000000 --- a/data/mp/wrf/multi/t3-skirmish3.wrf +++ /dev/null @@ -1,12 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" - diff --git a/data/mp/wrf/multi/t3-skirmish4.wrf b/data/mp/wrf/multi/t3-skirmish4.wrf deleted file mode 100644 index 648ae4839..000000000 --- a/data/mp/wrf/multi/t3-skirmish4.wrf +++ /dev/null @@ -1,16 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\t3-skirmish4.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" - diff --git a/data/mp/wrf/multi/t3-skirmish5.wrf b/data/mp/wrf/multi/t3-skirmish5.wrf deleted file mode 100644 index c6807b07d..000000000 --- a/data/mp/wrf/multi/t3-skirmish5.wrf +++ /dev/null @@ -1,11 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" - diff --git a/data/mp/wrf/multi/t3-skirmish6.wrf b/data/mp/wrf/multi/t3-skirmish6.wrf deleted file mode 100644 index c6807b07d..000000000 --- a/data/mp/wrf/multi/t3-skirmish6.wrf +++ /dev/null @@ -1,11 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" - diff --git a/data/mp/wrf/multi/t3-skirmish7.wrf b/data/mp/wrf/multi/t3-skirmish7.wrf deleted file mode 100644 index 19c5a77e8..000000000 --- a/data/mp/wrf/multi/t3-skirmish7.wrf +++ /dev/null @@ -1,10 +0,0 @@ -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" diff --git a/data/mp/wrf/multi/t3-skirmish8.wrf b/data/mp/wrf/multi/t3-skirmish8.wrf deleted file mode 100644 index c606a06d7..000000000 --- a/data/mp/wrf/multi/t3-skirmish8.wrf +++ /dev/null @@ -1,15 +0,0 @@ -/***********************************************************/ -/* You may have to modify this file for it to be correct! */ -/******************* wrf\multi\t3-skirmish8.wrf *******************/ - - -directory "messages" -file SMSG "multiplay.txt" - -directory "multiplay/skirmish" -file SCRIPT "rules.slo" -file SCRIPT "sktech.slo" - -directory "multiplay/skirmish" -file SCRIPTVAL "rules.vlo" -file SCRIPTVAL "sk3tech.vlo" diff --git a/src/game.cpp b/src/game.cpp index a90204577..08fe70ef0 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -11333,7 +11333,10 @@ BOOL loadScriptState(char *pFileName) char *pFileData; UDWORD fileSize; - loadAIs(); + if (bMultiPlayer) + { + loadMultiScripts(); + } // change the file extension pFileName[strlen(pFileName) - 4] = '\0'; diff --git a/src/init.cpp b/src/init.cpp index e250fd98e..ac3203705 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -135,19 +135,20 @@ static BOOL InitialiseGlobals(void) } -static BOOL loadLevFile(const char* filename, searchPathMode datadir) +static BOOL loadLevFile(const char* filename, searchPathMode datadir, bool ignoreWrf) { char *pBuffer; UDWORD size; debug( LOG_WZ, "Loading lev file: %s\n", filename ); - if ( !PHYSFS_exists(filename) - || !loadFile(filename, &pBuffer, &size)) { + if (!PHYSFS_exists(filename) || !loadFile(filename, &pBuffer, &size)) + { debug(LOG_ERROR, "loadLevFile: File not found: %s\n", filename); return false; // only in NDEBUG case } - if (!levParse(pBuffer, size, datadir)) { + if (!levParse(pBuffer, size, datadir, ignoreWrf)) + { debug(LOG_ERROR, "loadLevFile: Parse error in %s\n", filename); return false; } @@ -415,11 +416,11 @@ BOOL buildMapList(void) char ** filelist, ** file; size_t len; - if ( !loadLevFile( "gamedesc.lev", mod_campaign ) ) + if (!loadLevFile("gamedesc.lev", mod_campaign, false)) { return false; } - loadLevFile( "addon.lev", mod_multiplay ); + loadLevFile("addon.lev", mod_multiplay, false); filelist = PHYSFS_enumerateFiles(""); for ( file = filelist; *file != NULL; ++file ) @@ -428,12 +429,12 @@ BOOL buildMapList(void) if ( len > 10 // Do not add addon.lev again && !strcasecmp( *file+(len-10), ".addon.lev") ) { - loadLevFile( *file, mod_multiplay ); + loadLevFile(*file, mod_multiplay, true); } // add support for X player maps using a new name to prevent conflicts. if ( len > 13 && !strcasecmp( *file+(len-13), ".xplayers.lev") ) { - loadLevFile( *file, mod_multiplay ); + loadLevFile(*file, mod_multiplay, true); } } @@ -1115,7 +1116,10 @@ BOOL stageThreeInitialise(void) } } - loadAIs(); + if (bMultiPlayer) + { + loadMultiScripts(); + } // ffs JS (and its a global!) if (getLevelLoadType() != GTYPE_SAVE_MIDMISSION) diff --git a/src/levels.cpp b/src/levels.cpp index 619f63650..1b6b2510d 100644 --- a/src/levels.cpp +++ b/src/levels.cpp @@ -156,7 +156,9 @@ LEVEL_DATASET* levFindDataSet(const char* name) } // parse a level description data file -BOOL levParse(const char* buffer, size_t size, searchPathMode datadir) +// the ignoreWrf hack is for compatibility with old maps that try to link in various +// data files that we have removed +BOOL levParse(const char* buffer, size_t size, searchPathMode datadir, bool ignoreWrf) { lexerinput_t input; LEVELPARSER_STATE state; @@ -405,6 +407,11 @@ BOOL levParse(const char* buffer, size_t size, searchPathMode datadir) { psDataSet->game = (SWORD)currData; } + else if (ignoreWrf) + { + state = LP_WAITDATA; + break; // ignore this wrf line + } // store the data name psDataSet->apDataFiles[currData] = strdup(pLevToken); diff --git a/src/levels.h b/src/levels.h index f4574ab0e..5aa63b624 100644 --- a/src/levels.h +++ b/src/levels.h @@ -75,7 +75,7 @@ typedef struct _level_dataset extern LEVEL_DATASET *psLevels; // parse a level description data file -extern BOOL levParse(const char* buffer, size_t size, searchPathMode datadir); +extern BOOL levParse(const char* buffer, size_t size, searchPathMode datadir, bool ignoreWrf); // shutdown the level system extern void levShutDown(void); diff --git a/src/multiint.cpp b/src/multiint.cpp index 84ad96789..c2356527d 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -245,7 +245,7 @@ int getNextAIAssignment(const char *name) return AI_NOT_FOUND; } -void loadAIs() +void loadMultiScripts() { // TODO: Only load AI scripts (not vals) once. @@ -256,6 +256,25 @@ void loadAIs() (*it).assigned = 0; } + // Load multiplayer rules + resForceBaseDir("messages/"); + resLoadFile("SMSG", "multiplay.txt"); + resForceBaseDir("multiplay/skirmish/"); + resLoadFile("SCRIPT", "rules.slo"); + resLoadFile("SCRIPTVAL", "rules.vlo"); + + // Load extra tech levels + if (current_tech == 2) + { + resLoadFile("SCRIPT", "sktech.slo"); + resLoadFile("SCRIPTVAL", "sk2tech.vlo"); + } + else if (current_tech == 3) + { + resLoadFile("SCRIPT", "sktech.slo"); + resLoadFile("SCRIPTVAL", "sk3tech.vlo"); + } + // Load AI players resForceBaseDir("multiplay/skirmish/"); for (int i = 0; i < game.maxPlayers; i++) diff --git a/src/multiint.h b/src/multiint.h index ef1100f0b..2c1edab2f 100644 --- a/src/multiint.h +++ b/src/multiint.h @@ -33,7 +33,7 @@ #define AI_NOT_FOUND -99 void readAIs(); ///< step 1, load AI definition files -void loadAIs(); ///< step 2, actually load AI scripts +void loadMultiScripts(); ///< step 2, load the actual AI scripts const char *getAIName(int player); ///< only run this -after- readAIs() is called int matchAIbyName(const char *name); ///< only run this -after- readAIs() is called int getNextAIAssignment(const char *name); diff --git a/src/parsetest.cpp b/src/parsetest.cpp index a465abe43..f776a10a3 100644 --- a/src/parsetest.cpp +++ b/src/parsetest.cpp @@ -67,7 +67,7 @@ static inline bool TEST_NAME(void) \ static inline bool level_parse_test(const char* content, size_t size) { - bool retval = levParse(content, size, mod_clean); + bool retval = levParse(content, size, mod_clean, false); return retval; } From a3b36f965b9f8e5ef0f69759892d5c0e7984770f Mon Sep 17 00:00:00 2001 From: Cyp Date: Tue, 11 Jan 2011 00:18:18 +0100 Subject: [PATCH 129/142] Clean up a couple of loops very slightly. --- src/multiint.cpp | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index c2356527d..83f424037 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2145,37 +2145,22 @@ void addPlayerBox(BOOL players) if(players) { - int numPlayers = 0, team = -1; + int team = -1; bool allOnSameTeam = true; for (int i = 0; i < game.maxPlayers; i++) { if (game.skDiff[i] || isHumanPlayer(i)) { - numPlayers++; - if (numPlayers > 2) - { - break; // We just need to know if we have enough to start a game - } - } - } - - if (game.alliance != ALLIANCES_TEAMS) - { - allOnSameTeam = false; - } - else for (int i = 0; i < game.maxPlayers; i++) - { - if (game.skDiff[i] || isHumanPlayer(i)) - { + int myTeam = game.alliance != ALLIANCES_TEAMS? NetPlay.players[i].team : i; if (team == -1) { - team = NetPlay.players[i].team; + team = myTeam; } - else if (NetPlay.players[i].team != team) + else if (myTeam != team) { allOnSameTeam = false; - break; + break; // We just need to know if we have enough to start a game } } } From e823dc2fd4a2c409f2c0001c136e64136084a7d1 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 12 Jan 2011 21:47:03 +0100 Subject: [PATCH 130/142] Remove removed file from POTFILES.in --- po/POTFILES.in | 1 - 1 file changed, 1 deletion(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index 5dde2f41b..882025431 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -14,7 +14,6 @@ data/base/messages/strings/names.txt data/base/messages/strings/resstrings.txt data/base/messages/strings/scrstrings.txt data/base/multiplay/script/multilim.slo -data/base/multiplay/script/multiplay.slo data/base/multiplay/script/scavfact.slo data/base/multiplay/skirmish/dydo.slo data/base/multiplay/skirmish/nexus.slo From 9b6ee7f3c5382119608f87907d511584ee7ffab4 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Wed, 12 Jan 2011 22:44:14 +0100 Subject: [PATCH 131/142] Send AI and difficulty changes to other players. Allow host and only host to change the position of other players and set AIs. --- src/multiint.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index 83f424037..8d92383f1 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2829,6 +2829,7 @@ static void processMultiopWidgets(UDWORD id) int idx = id - MULTIOP_DIFFICULTY_CHOOSE_START; NetPlay.players[difficultyChooserUp].difficulty = idx; game.skDiff[difficultyChooserUp] = difficultyValue[idx]; + NETBroadcastPlayerInfo(difficultyChooserUp); closeDifficultyChooser(); addPlayerBox(!ingame.bHostSetup || bHosted); } @@ -2837,6 +2838,7 @@ static void processMultiopWidgets(UDWORD id) { int idx = id - MULTIOP_AI_START; NetPlay.players[aiChooserUp].ai = idx; + NETBroadcastPlayerInfo(aiChooserUp); closeAiChooser(); addPlayerBox(!ingame.bHostSetup || bHosted); } @@ -2906,10 +2908,12 @@ static void processMultiopWidgets(UDWORD id) } } - if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_END) // clicked on a player + // clicked on a player + if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_END && (id - MULTIOP_PLAYER_START == selectedPlayer || NetPlay.isHost)) { int player = id - MULTIOP_PLAYER_START; - if (player == selectedPlayer && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) + if ((player == selectedPlayer || (NetPlay.players[player].allocated && NetPlay.isHost)) + && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) { addPositionChooser(player); } @@ -2926,7 +2930,7 @@ static void processMultiopWidgets(UDWORD id) closePositionChooser(); addPlayerBox(!ingame.bHostSetup || bHosted); } - else if (!NetPlay.players[id - MULTIOP_PLAYER_START].allocated && !challengeActive + else if (!NetPlay.players[player].allocated && !challengeActive && NetPlay.isHost && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) { addAiChooser(player); From 53aa5e55dca5fd99e475c3420cecc7928f419644 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Thu, 13 Jan 2011 14:53:26 +0100 Subject: [PATCH 132/142] Remove some dead code --- lib/script/interpreter.cpp | 28 ++---- lib/script/script_parser.y | 181 ------------------------------------- 2 files changed, 6 insertions(+), 203 deletions(-) diff --git a/lib/script/interpreter.cpp b/lib/script/interpreter.cpp index 1fcac0a31..d347c4679 100644 --- a/lib/script/interpreter.cpp +++ b/lib/script/interpreter.cpp @@ -204,14 +204,12 @@ static inline INTERP_VAL *interpGetVarData(VAL_CHUNK *psGlobals, UDWORD index) return psChunk->asVals + index; } - // get the array data for an array operation static BOOL interpGetArrayVarData(INTERP_VAL **pip, VAL_CHUNK *psGlobals, SCRIPT_CODE *psProg, INTERP_VAL **ppsVal) { SDWORD i, dimensions, vals[VAR_MAX_DIMENSIONS]; - UBYTE *elements; //[VAR_MAX_DIMENSIONS] - SDWORD size, val;//, elementDWords; -// UBYTE *pElem; + UBYTE *elements; + SDWORD size, val; INTERP_VAL *InstrPointer = *pip; UDWORD base, index; @@ -221,18 +219,8 @@ static BOOL interpGetArrayVarData(INTERP_VAL **pip, VAL_CHUNK *psGlobals, SCRIPT // get the number of dimensions dimensions = (InstrPointer->v.ival & ARRAY_DIMENSION_MASK) >> ARRAY_DIMENSION_SHIFT; - if (base >= psProg->numArrays) - { - debug( LOG_ERROR, - "interpGetArrayVarData: array base index out of range" ); - return false; - } - if (dimensions != psProg->psArrayInfo[base].dimensions) - { - debug( LOG_ERROR, - "interpGetArrayVarData: dimensions do not match" ); - return false; - } + ASSERT_OR_RETURN(false, base < psProg->numArrays, "Arrray base index out of range (%d should be less than %d)", base, psProg->numArrays); + ASSERT_OR_RETURN(false, dimensions == psProg->psArrayInfo[base].dimensions, "Array dimensions do not match (%d vs %d)", dimensions, psProg->psArrayInfo[base].dimensions); // get the number of elements for each dimension elements = psProg->psArrayInfo[base].elements; @@ -270,17 +258,13 @@ static BOOL interpGetArrayVarData(INTERP_VAL **pip, VAL_CHUNK *psGlobals, SCRIPT } // check the index is valid - if (index > psProg->arraySize) - { - debug( LOG_ERROR, "interpGetArrayVarData: Array indexes out of variable space" ); - return false; - } + ASSERT_OR_RETURN(false, index <= psProg->arraySize, "Array indexes out of variable space (%d)", index); // get the variable data *ppsVal = interpGetVarData(psGlobals, psProg->psArrayInfo[base].base + index); // update the instruction pointer - *pip += 1;// + elementDWords; + *pip += 1; return true; } diff --git a/lib/script/script_parser.y b/lib/script/script_parser.y index 43a62f7f6..89ba1ebb1 100644 --- a/lib/script/script_parser.y +++ b/lib/script/script_parser.y @@ -843,49 +843,6 @@ static UDWORD checkFuncParamTypes(EVENT_SYMBOL *psFSymbol, // The function bei return 0; //all ok } -#ifdef UNUSED -/* - * function call - */ -static CODE_ERROR scriptCodeCallFunction(FUNC_SYMBOL *psFSymbol, // The function being called - PARAM_BLOCK *psPBlock, // The functions parameters - CODE_BLOCK **ppsCBlock) // The generated code block -{ - UDWORD size; - INTERP_VAL *ip; - - //debug(LOG_SCRIPT, "scriptCodeCallFunction"); - - ASSERT( psFSymbol != NULL, "scriptCodeCallFunction: Invalid function symbol pointer" ); - ASSERT( psPBlock != NULL, - "scriptCodeCallFunction: Invalid param block pointer" ); - ASSERT( (psPBlock->size == 0) || psPBlock->pCode != NULL, - "scriptCodeCallFunction: Invalid parameter code pointer" ); - ASSERT( ppsCBlock != NULL, - "scriptCodeCallFunction: Invalid generated code block pointer" ); - - - //size = psPBlock->size + sizeof(OPCODE) + sizeof(SCRIPT_FUNC); - size = psPBlock->size + 1 + 1; //size + opcode + SCRIPT_FUNC - - ALLOC_BLOCK(*ppsCBlock, size); - ip = (*ppsCBlock)->pCode; - (*ppsCBlock)->type = psFSymbol->type; - - /* Copy in the code for the parameters */ - PUT_BLOCK(ip, psPBlock); - FREE_PBLOCK(psPBlock); - - /* Make the function call */ - PUT_OPCODE(ip, OP_CALL); - PUT_FUNC_EXTERN(ip, psFSymbol->pFunc); - - //debug(LOG_SCRIPT, "END scriptCodeCallFunction"); - - return CE_OK; -} -#endif - /* Generate the code for a parameter callback, checking the parameter * types match. */ @@ -1121,9 +1078,6 @@ static CODE_ERROR scriptCodeArrayAssignment(ARRAY_BLOCK *psVariable,// The varia // assign CODE_BLOCK **ppsBlock) // Generated code { -// SDWORD elementDWords, i; -// UBYTE *pElement; - ASSERT( psVariable != NULL, "scriptCodeObjAssignment: Invalid object variable block pointer" ); ASSERT( psVariable->pCode != NULL, @@ -1144,11 +1098,6 @@ static CODE_ERROR scriptCodeArrayAssignment(ARRAY_BLOCK *psVariable,// The varia return CE_PARSE; } - // calculate the number of DWORDs needed to store the number of elements for each dimension of the array -// elementDWords = (psVariable->psArrayVar->dimensions - 1)/4 + 1; - -// ALLOC_BLOCK(*ppsBlock, psVariable->size + psValue->size + sizeof(OPCODE) + elementDWords*4); - //ALLOC_BLOCK(*ppsBlock, psVariable->size + psValue->size + sizeof(OPCODE)); ALLOC_BLOCK(*ppsBlock, psVariable->size + psValue->size + 1); //size + size + opcode ip = (*ppsBlock)->pCode; @@ -1165,14 +1114,6 @@ static CODE_ERROR scriptCodeArrayAssignment(ARRAY_BLOCK *psVariable,// The varia ((psVariable->psArrayVar->dimensions << ARRAY_DIMENSION_SHIFT) & ARRAY_DIMENSION_MASK) | (psVariable->psArrayVar->index & ARRAY_BASE_MASK) ); - // store the size of each dimension -/* pElement = (UBYTE *)ip; - for(i=0; ipsArrayVar->dimensions; i++) - { - *pElement = (UBYTE)psVariable->psArrayVar->elements[i]; - pElement += 1; - }*/ - /* Free the variable block */ FREE_ARRAYBLOCK(psVariable); @@ -1184,9 +1125,6 @@ static CODE_ERROR scriptCodeArrayAssignment(ARRAY_BLOCK *psVariable,// The varia static CODE_ERROR scriptCodeArrayGet(ARRAY_BLOCK *psVariable,// The variable to get from CODE_BLOCK **ppsBlock) // Generated code { -// SDWORD elementDWords, i; -// UBYTE *pElement; - ASSERT( psVariable != NULL, "scriptCodeObjAssignment: Invalid object variable block pointer" ); ASSERT( psVariable->pCode != NULL, @@ -1203,11 +1141,6 @@ static CODE_ERROR scriptCodeArrayGet(ARRAY_BLOCK *psVariable,// The variable to return CE_PARSE; } - // calculate the number of DWORDs needed to store the number of elements for each dimension of the array -// elementDWords = (psVariable->psArrayVar->dimensions - 1)/4 + 1; - -// ALLOC_BLOCK(*ppsBlock, psVariable->size + sizeof(OPCODE) + elementDWords*4); - //ALLOC_BLOCK(*ppsBlock, psVariable->size + sizeof(OPCODE)); ALLOC_BLOCK(*ppsBlock, psVariable->size + 1); //size + opcode ip = (*ppsBlock)->pCode; @@ -1221,14 +1154,6 @@ static CODE_ERROR scriptCodeArrayGet(ARRAY_BLOCK *psVariable,// The variable to ((psVariable->psArrayVar->dimensions << ARRAY_DIMENSION_SHIFT) & ARRAY_DIMENSION_MASK) | (psVariable->psArrayVar->index & ARRAY_BASE_MASK) ); - // store the size of each dimension -/* pElement = (UBYTE *)ip; - for(i=0; ipsArrayVar->dimensions; i++) - { - *pElement = (UBYTE)psVariable->psArrayVar->elements[i]; - pElement += 1; - }*/ - /* Free the variable block */ FREE_ARRAYBLOCK(psVariable); @@ -1427,13 +1352,6 @@ static CODE_ERROR scriptCodeArrayVariable(ARRAY_BLOCK *psArrayCode, // Code for ASSERT( ppsBlock != NULL, "scriptCodeObjectVariable: Invalid generated code block pointer" ); -/* ALLOC_ARRAYBLOCK(*ppsBlock, psArrayCode->size, psVar); - ip = (*ppsBlock)->pCode; - - // Copy the already generated bit of code into the code block - PUT_BLOCK(ip, psArrayCode); - FREE_BLOCK(psArrayCode);*/ - // Check the variable is the correct type if (psVar->dimensions != psArrayCode->dimensions) { @@ -1457,7 +1375,6 @@ static CODE_ERROR scriptCodeConstant(CONST_SYMBOL *psConst, // The object variab ASSERT( ppsBlock != NULL, "scriptCodeConstant: Invalid generated code block pointer" ); - //ALLOC_BLOCK(*ppsBlock, sizeof(OPCODE) + sizeof(UDWORD)); ALLOC_BLOCK(*ppsBlock, 1 + 1); //OP_PUSH opcode + variable value ip = (*ppsBlock)->pCode; @@ -1623,104 +1540,6 @@ static CODE_ERROR scriptCodeVarRef(VAR_SYMBOL *psVariable, // The object variab return CE_OK; } -#ifdef UNUSED -/* Generate the code for a trigger and store it in the trigger list */ -static CODE_ERROR scriptCodeTrigger(char *pIdent, CODE_BLOCK *psCode) -{ - CODE_BLOCK *psNewBlock; - UDWORD line; - char *pDummy; - - // Have to add the exit code to the end of the event - //ALLOC_BLOCK(psNewBlock, psCode->size + sizeof(OPCODE)); - ALLOC_BLOCK(psNewBlock, psCode->size + 1); //size + opcode - - ip = psNewBlock->pCode; - PUT_BLOCK(ip, psCode); - PUT_OPCODE(ip, OP_EXIT); - - // Add the debug info - ALLOC_DEBUG(psNewBlock, psCode->debugEntries + 1); - PUT_DEBUG(psNewBlock, psCode); - if (genDebugInfo) - { - /* Add debugging info for the EXIT instruction */ - scriptGetErrorData((SDWORD *)&line, &pDummy); - psNewBlock->psDebug[psNewBlock->debugEntries].line = line; - psNewBlock->psDebug[psNewBlock->debugEntries].offset = - ip - psNewBlock->pCode; - psNewBlock->debugEntries ++; - } - FREE_BLOCK(psCode); - - // Create the trigger -/* if (!scriptAddTrigger(pIdent, psNewBlock)) - { - return CE_MEMORY; - }*/ - - return CE_OK; -} -#endif - -#ifdef UNUSED -/* Generate the code for an event and store it in the event list */ -static CODE_ERROR scriptCodeEvent(EVENT_SYMBOL *psEvent, TRIGGER_SYMBOL *psTrig, CODE_BLOCK *psCode) -{ - CODE_BLOCK *psNewBlock; - UDWORD line; - char *pDummy; - - // Have to add the exit code to the end of the event - //ALLOC_BLOCK(psNewBlock, psCode->size + sizeof(OPCODE)); - ALLOC_BLOCK(psNewBlock, psCode->size + 1); //size + opcode - - ip = psNewBlock->pCode; - PUT_BLOCK(ip, psCode); - PUT_OPCODE(ip, OP_EXIT); - - // Add the debug info - ALLOC_DEBUG(psNewBlock, psCode->debugEntries + 1); - PUT_DEBUG(psNewBlock, psCode); - if (genDebugInfo) - { - /* Add debugging info for the EXIT instruction */ - scriptGetErrorData((SDWORD *)&line, &pDummy); - psNewBlock->psDebug[psNewBlock->debugEntries].line = line; - psNewBlock->psDebug[psNewBlock->debugEntries].offset = - ip - psNewBlock->pCode; - psNewBlock->debugEntries ++; - } - FREE_BLOCK(psCode); - - // Create the event - if (!scriptDefineEvent(psEvent, psNewBlock, psTrig->index)) - { - return CE_MEMORY; - } - - return CE_OK; -} -#endif - -#ifdef UNUSED -/* Store the types of a list of variables into a code block. - * The order of the list is reversed so that the type of the - * first variable defined is stored first. - */ -static void scriptStoreVarTypes(VAR_SYMBOL *psVar) -{ - if (psVar != NULL) - { - /* Recurse down the list to get to the end of it */ - scriptStoreVarTypes(psVar->psNext); - - /* Now store the current variable */ - PUT_INDEX(ip, psVar->type); - } -} -#endif - /* Change the error action for the ALLOC macro's to what it * should be inside a rule body. * From a3e5ea7276211b02eb7646fc343de518c6bd0137 Mon Sep 17 00:00:00 2001 From: Cyp Date: Mon, 3 Jan 2011 14:48:41 +0100 Subject: [PATCH 133/142] Reduce dependence on MAX_PLAYERS == 8. --- data/base/multiplay/script/scavfact.slo | 14 +++- data/base/multiplay/script/scavfact.vlo | 1 - data/base/multiplay/skirmish/semperfi.slo | 24 +++--- data/base/palette.txt | 12 ++- lib/framework/frame.h | 23 +++++- lib/ivis_opengl/piepalette.cpp | 9 +++ lib/ivis_opengl/piepalette.h | 10 ++- src/ai.cpp | 12 +-- src/ai.h | 4 +- src/cluster.cpp | 2 +- src/display3d.cpp | 5 +- src/feature.cpp | 2 +- src/game.cpp | 5 ++ src/game.h | 1 + src/hci.cpp | 19 ++++- src/map.cpp | 38 ++++++--- src/map.h | 8 +- src/multiint.cpp | 99 +++++++++++------------ src/multiint.h | 22 ++--- src/multimenu.cpp | 98 +++++++--------------- src/multiopt.cpp | 4 +- src/multiplay.cpp | 29 ++++++- src/multiplay.h | 2 + src/radar.cpp | 26 +++++- src/radar.h | 2 +- src/scriptfuncs.cpp | 4 +- src/scripttabs.cpp | 6 +- src/scripttabs.h | 7 +- 28 files changed, 284 insertions(+), 204 deletions(-) diff --git a/data/base/multiplay/script/scavfact.slo b/data/base/multiplay/script/scavfact.slo index 9001c476e..8e8b2f914 100644 --- a/data/base/multiplay/script/scavfact.slo +++ b/data/base/multiplay/script/scavfact.slo @@ -13,7 +13,6 @@ x when a friendly structure is attacked send group to attack back // scavenger values -public int enemy1; public int maxDroids; public STRUCTURESTAT factory; @@ -37,6 +36,9 @@ private STRUCTURE structure; private BASEOBJ attacker; private INT lastAttack; +// Our player number +private INT enemy1; + #region triggers trigger chainloadTr(wait, 10); @@ -174,13 +176,17 @@ event structureAttacked(CALL_STRUCT_ATTACKED, enemy1, ref structure, ref attacke // Startup event startup(CALL_GAMEINIT) { - if (!scavengersActive() or !myResponsibility(enemy1)) + enemy1 = scavengersActive(); + if (enemy1 < 0 or !myResponsibility(enemy1)) { setEventTrigger(startLevel, inactive); setEventTrigger(droidbuilt, inactive); setEventTrigger(structureAttacked, inactive); } - lastAttack = 0; + else + { + lastAttack = 0; - groupAddArea(attackGroup, enemy1, 0, 0, (mapWidth * 128), (mapHeight * 128)); + groupAddArea(attackGroup, enemy1, 0, 0, (mapWidth * 128), (mapHeight * 128)); + } } diff --git a/data/base/multiplay/script/scavfact.vlo b/data/base/multiplay/script/scavfact.vlo index 2557af5ee..a3ba9e4ea 100644 --- a/data/base/multiplay/script/scavfact.vlo +++ b/data/base/multiplay/script/scavfact.vlo @@ -4,7 +4,6 @@ script "scavFact.slo" run { -enemy1 INT 7 //player number to use maxDroids INT 25 // max guys to handle. factory STRUCTURESTAT "A0BaBaFactory" diff --git a/data/base/multiplay/skirmish/semperfi.slo b/data/base/multiplay/skirmish/semperfi.slo index 85c6e7744..7c79f144a 100644 --- a/data/base/multiplay/skirmish/semperfi.slo +++ b/data/base/multiplay/skirmish/semperfi.slo @@ -155,8 +155,11 @@ private BASEOBJ baseobj,baseobj2; private int count,count2,result; private bool powerSave,_DEBUG,bRunning; -private int allianceTime[8]; -private int sender,x,y,beaconX[8],beaconY[8],tBeacon[8], +// Hopefully this will be at least as large as MAX_PLAYERS... Why can't I just use MAX_PLAYERS as the array size?! +// P.S. And why can't I put a comment on the same line as a #define??!! Gah, who cares if the lua2 branch works, lets switch to it, anyway. +#define MAX_PLAYERS_HACK 100 +private int allianceTime[MAX_PLAYERS_HACK]; +private int sender,x,y,beaconX[MAX_PLAYERS_HACK],beaconY[MAX_PLAYERS_HACK],tBeacon[MAX_PLAYERS_HACK], tLastHelpRequest,lastHelpPlayer,tHelp,tHelpTimeout,helpX,helpY; private string message; @@ -302,6 +305,7 @@ function STRUCTURE findIdleStructure(STRUCTURESTAT _structType, bool _bIdleOnly) // HouseKeeping event initialisedEvent(CALL_GAMEINIT) { + local int player; // initialise me = getPlayer("Semperfi"); _DEBUG = FALSE; @@ -361,14 +365,12 @@ event initialisedEvent(CALL_GAMEINIT) scoutY = scoutTLY; // clear the alliance array... - allianceTime[0] = 0; - allianceTime[1] = 0; - allianceTime[2] = 0; - allianceTime[3] = 0; - allianceTime[4] = 0; - allianceTime[5] = 0; - allianceTime[6] = 0; - allianceTime[7] = 0; + player = 0; + while (player != MAX_PLAYERS) + { + allianceTime[player] = 0; + player = player + 1; + } if(aiResponsibleForPlayer(me)) { @@ -3517,7 +3519,7 @@ event beaconEv(beaconTr) if(_DEBUG) debug(me & ") beaconEv: from " & sender); - ASSERT(sender >= 0 and sender < 8, + ASSERT(sender >= 0 and sender < MAX_PLAYERS, "beaconEv: sender out of bounds: " & sender , me); beaconX[sender] = x; diff --git a/data/base/palette.txt b/data/base/palette.txt index ac7415820..b650de7ef 100644 --- a/data/base/palette.txt +++ b/data/base/palette.txt @@ -55,8 +55,8 @@ A0,70,00,ff // team2 - orange 20,20,20,ff // team4 - black 80,00,00,ff // team5 - red 20,30,60,ff // team6 - blue -90,00,70,ff // team7 - purple -00,80,80,ff // team8 - teal +90,00,70,ff // team7 - pink +00,80,80,ff // team8 - cyan 7f,7f,7f,ff // default form background ff,ff,ff,ff // default form text ff,ff,ff,ff // default form light @@ -75,3 +75,11 @@ ff,ff,0,ff // production run text ff,0,ff,ff // WZCOL_MAP_PREVIEW_HQ ff,ff,00,ff // WZCOL_MAP_PREVIEW_OIL b0,08,5f,ff // fog colour +80,C0,00,ff // team9 - yellow +B0,70,70,ff // team10 - purple +E0,E0,E0,ff // team11 - white +20,20,FF,ff // team12 - bright blue +00,A0,00,ff // team13 - neon green +40,00,00,ff // team14 - infrared +10,00,40,ff // team15 - ultraviolet +40,60,00,ff // team16 - brown diff --git a/lib/framework/frame.h b/lib/framework/frame.h index 30b3ccee2..20d39d111 100644 --- a/lib/framework/frame.h +++ b/lib/framework/frame.h @@ -47,8 +47,27 @@ extern uint32_t selectedPlayer; ///< The player number corresponding to this client. extern uint32_t realSelectedPlayer; ///< The player number corresponding to this client (same as selectedPlayer, unless changing players in the debug menu). -#define MAX_PLAYERS 8 /**< Maximum number of players in the game. */ -#define MAX_PLAYER_SLOTS 10 /**< 8 players, 1 baba and 1 reserved for features. */ +#define MAX_PLAYERS 8 ///< Maximum number of players in the game. +#define MAX_PLAYERS_IN_GUI 8 ///< One player should be reserved for baba. +#define PLAYER_FEATURE (MAX_PLAYERS + 1) +#define MAX_PLAYER_SLOTS (MAX_PLAYERS + 2) ///< Max players plus 1 baba and 1 reserved for features. Actually, if baba is a regular player, then it's plus 1 unused? + +#if MAX_PLAYERS <= 8 +typedef uint8_t PlayerMask; +#elif MAX_PLAYERS <= 16 +typedef uint16_t PlayerMask; +#elif MAX_PLAYERS <= 32 +typedef uint32_t PlayerMask; +#elif MAX_PLAYERS <= 64 +typedef uint64_t PlayerMask; +#elif MAX_PLAYERS <= 128 +typedef unsigned int uint128_t __attribute__((mode(TI))); +typedef uint128_t PlayerMask; +#else +#warning Warzone 2100 is not a MMO. +#include +typedef mpz_class PlayerMask; +#endif typedef enum { diff --git a/lib/ivis_opengl/piepalette.cpp b/lib/ivis_opengl/piepalette.cpp index 086f9d804..0840dee49 100644 --- a/lib/ivis_opengl/piepalette.cpp +++ b/lib/ivis_opengl/piepalette.cpp @@ -89,7 +89,16 @@ PIELIGHT pal_GetTeamColour(int team) case 7: tcolour = WZCOL_TEAM8; //teal break; + case 8: return WZCOL_TEAM9; + case 9: return WZCOL_TEAM10; + case 10: return WZCOL_TEAM11; + case 11: return WZCOL_TEAM12; + case 12: return WZCOL_TEAM13; + case 13: return WZCOL_TEAM14; + case 14: return WZCOL_TEAM15; + case 15: return WZCOL_TEAM16; default: + STATIC_ASSERT(MAX_PLAYERS <= 16); ASSERT(false, "Attempting to get colour for non-existing team %u", (unsigned int)team); tcolour = WZCOL_WHITE; //default is white break; diff --git a/lib/ivis_opengl/piepalette.h b/lib/ivis_opengl/piepalette.h index 2667f5c26..2d8a5d5e9 100644 --- a/lib/ivis_opengl/piepalette.h +++ b/lib/ivis_opengl/piepalette.h @@ -99,8 +99,16 @@ #define WZCOL_MAP_PREVIEW_HQ psPalette[74] #define WZCOL_MAP_PREVIEW_OIL psPalette[75] #define WZCOL_FOG psPalette[76] +#define WZCOL_TEAM9 psPalette[77] +#define WZCOL_TEAM10 psPalette[78] +#define WZCOL_TEAM11 psPalette[79] +#define WZCOL_TEAM12 psPalette[80] +#define WZCOL_TEAM13 psPalette[81] +#define WZCOL_TEAM14 psPalette[82] +#define WZCOL_TEAM15 psPalette[83] +#define WZCOL_TEAM16 psPalette[84] -#define WZCOL_MAX 77 +#define WZCOL_MAX 85 //************************************************************************* diff --git a/src/ai.cpp b/src/ai.cpp index b778ee1c8..9eb2ca41e 100644 --- a/src/ai.cpp +++ b/src/ai.cpp @@ -68,13 +68,13 @@ // alliances // players are 0-7; player 8 appears to be unused; player 9 is features -UBYTE alliances[MAX_PLAYERS + 2][MAX_PLAYERS + 2]; +uint8_t alliances[MAX_PLAYER_SLOTS][MAX_PLAYER_SLOTS]; /// A bitfield of vision sharing in alliances, for quick manipulation of vision information -uint8_t alliancebits[MAX_PLAYERS + 2]; +PlayerMask alliancebits[MAX_PLAYER_SLOTS]; /// A bitfield for the satellite uplink -uint8_t satuplinkbits; +PlayerMask satuplinkbits; // see if a structure has the range to fire on a target static BOOL aiStructHasRange(STRUCTURE *psStruct, BASE_OBJECT *psTarget, int weapon_slot) @@ -152,10 +152,10 @@ BOOL aiInitialise(void) // The +1 is for features, that are owned by player 9 for hackish reasons // Yes, we do mean "player 9", as in "the players are 0-7, and we skip over player 8" - for (i = 0; i < MAX_PLAYERS + 2; i++) + for (i = 0; i < MAX_PLAYER_SLOTS; i++) { alliancebits[i] = 0; - for (j = 0; j < MAX_PLAYERS + 2; j++) + for (j = 0; j < MAX_PLAYER_SLOTS; j++) { bool valid = (i == j && i < MAX_PLAYERS); @@ -641,7 +641,7 @@ SDWORD aiBestNearestTarget(DROID *psDroid, BASE_OBJECT **ppsObj, int weapon_slot else if (targetInQuestion->type == OBJ_FEATURE && gameTime - psDroid->lastFrustratedTime < FRUSTRATED_TIME && ((FEATURE *)targetInQuestion)->psStats->damageable - && !(game.scavengers && psDroid->player == 7)) // hack to avoid scavs blowing up their nice feature walls + && psDroid->player != scavengerPlayer()) // hack to avoid scavs blowing up their nice feature walls { psTarget = targetInQuestion; } diff --git a/src/ai.h b/src/ai.h index d7482db70..277ee2bfc 100644 --- a/src/ai.h +++ b/src/ai.h @@ -38,8 +38,8 @@ // alliances extern uint8_t alliances[MAX_PLAYER_SLOTS][MAX_PLAYER_SLOTS]; -extern uint8_t alliancebits[MAX_PLAYER_SLOTS]; -extern uint8_t satuplinkbits; +extern PlayerMask alliancebits[MAX_PLAYER_SLOTS]; +extern PlayerMask satuplinkbits; /** Check no alliance has formed. This is a define to make sure we inline it. */ #define aiCheckAlliances(_s1, _s2) (alliances[_s1][_s2] == ALLIANCE_FORMED) diff --git a/src/cluster.cpp b/src/cluster.cpp index 916e29335..a1eeff6e1 100644 --- a/src/cluster.cpp +++ b/src/cluster.cpp @@ -46,7 +46,7 @@ static UBYTE aClusterEmpty[CLUSTER_MAX]; static UWORD aClusterUsage[CLUSTER_MAX]; // whether a cluster can be seen by a player -static UBYTE aClusterVisibility[CLUSTER_MAX]; +static PlayerMask aClusterVisibility[CLUSTER_MAX]; // when a cluster was last attacked static UDWORD aClusterAttacked[CLUSTER_MAX]; diff --git a/src/display3d.cpp b/src/display3d.cpp index 7da6da8b3..f338e43f0 100644 --- a/src/display3d.cpp +++ b/src/display3d.cpp @@ -481,7 +481,7 @@ static void NetworkDisplayImage(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset unsigned width, height; unsigned n, c = 0; char players[MAX_PLAYERS + 1]; - unsigned playerMaskMapped = 0; + PlayerMask playerMaskMapped = 0; for (n = 0; n < MAX_PLAYERS; ++n) { if (NETcheckPlayerConnectionStatus(status, n)) @@ -493,7 +493,8 @@ static void NetworkDisplayImage(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset { if ((playerMaskMapped & 1<> (plane*8))) + { + debug(LOG_ERROR, "writeVisibilityData: could not write to %s; PHYSFS error: %s", fileName, PHYSFS_getLastError()); + PHYSFS_close(fileHandle); + return false; + } } } @@ -1385,8 +1390,10 @@ bool readVisibilityData(const char* fileName) return false; } + int planes = (game.maxPlayers + 7)/8; + // Validate the filesize - expectedFileSize = sizeof(fileHeader.aFileType) + sizeof(fileHeader.version) + mapWidth * mapHeight * sizeof(uint8_t); + expectedFileSize = sizeof(fileHeader.aFileType) + sizeof(fileHeader.version) + mapWidth * mapHeight * planes; fileSize = PHYSFS_fileLength(fileHandle); if (fileSize != expectedFileSize) { @@ -1399,12 +1406,21 @@ bool readVisibilityData(const char* fileName) // For every tile... for(i=0; i 2 && game.maxPlayers <= 8) // 4 or 8p game + if (i != player) { - int maxslot = 0 , tmpslot =0 , range = 0; - - for(i=0; i < game.maxPlayers ; i++) + inSlot[NetPlay.players[i].team]++; + if (inSlot[NetPlay.players[i].team] >= game.maxPlayers - 1) { - if( inSlot[i] >= tmpslot ) - { - maxslot = i; - tmpslot = inSlot[i]; - } - } - range = game.maxPlayers <= 4 ? 2 : 6 ; - if ( inSlot[maxslot] <= range || NetPlay.players[player].team == maxslot) - { - disallow = ANYENTRY; // we can pick any slot - } - else - { - disallow = maxslot; // can't pick this slot + // Make sure all players can't be on same team. + disallow = NetPlay.players[i].team; } } + } + + int teamW = iV_GetImageWidth(FrontImages, IMAGE_TEAM0); + int teamH = iV_GetImageHeight(FrontImages, IMAGE_TEAM0); + int space = MULTIOP_ROW_WIDTH - 7 - teamW*(game.maxPlayers + 1); + int spaceDiv = game.maxPlayers; + space = std::min(space, 3*spaceDiv); // add the teams, skipping the one we CAN'T be on (if applicable) for (i = 0; i < game.maxPlayers; i++) { if (i != disallow) { - addMultiBut(psWScreen, MULTIOP_TEAMCHOOSER_FORM, MULTIOP_TEAMCHOOSER + i, i * (iV_GetImageWidth(FrontImages, - IMAGE_TEAM0) + 3) + 3, 6, iV_GetImageWidth(FrontImages, IMAGE_TEAM0), iV_GetImageHeight(FrontImages, - IMAGE_TEAM0), _("Team"), IMAGE_TEAM0 + i , IMAGE_TEAM0_HI + i, IMAGE_TEAM0_HI + i); + addMultiBut(psWScreen, MULTIOP_TEAMCHOOSER_FORM, MULTIOP_TEAMCHOOSER + i, i * (teamW*spaceDiv + space)/spaceDiv + 3, 6, teamW, teamH, _("Team"), IMAGE_TEAM0 + i , IMAGE_TEAM0_HI + i, IMAGE_TEAM0_HI + i); } // may want to add some kind of 'can't do' icon instead of being blank? } @@ -2043,7 +2038,7 @@ static void addTeamChooser(UDWORD player) if (player != selectedPlayer && NetPlay.bComms && NetPlay.isHost && NetPlay.players[player].allocated) { addMultiBut(psWScreen,MULTIOP_TEAMCHOOSER_FORM, MULTIOP_TEAMCHOOSER_KICK, - (8*(iV_GetImageWidth(FrontImages,IMAGE_PLAYER0) +5)+7), 8, + 8*(teamW + 5) + 7, 8, iV_GetImageWidth(FrontImages,IMAGE_NOJOIN), //w iV_GetImageHeight(FrontImages,IMAGE_NOJOIN), //h _("Kick player"), IMAGE_NOJOIN, IMAGE_NOJOIN, IMAGE_NOJOIN); @@ -2069,7 +2064,7 @@ static void drawReadyButton(UDWORD player) // add form to hold 'ready' botton addBlueForm(MULTIOP_PLAYERS,MULTIOP_READY_FORM_ID + player,"", 8 + MULTIOP_PLAYERWIDTH - MULTIOP_READY_WIDTH, - (UWORD)(( (MULTIOP_PLAYERHEIGHT+5)*NetPlay.players[player].position)+4), + playerBoxHeight(player), MULTIOP_READY_WIDTH,MULTIOP_READY_HEIGHT); if (!NetPlay.players[player].allocated && NetPlay.players[player].ai >= 0) @@ -2173,7 +2168,7 @@ void addPlayerBox(BOOL players) sButInit.formID = MULTIOP_PLAYERS; sButInit.id = MULTIOP_PLAYER_START + i; sButInit.x = 7; - sButInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; + sButInit.y = playerBoxHeight(i); sButInit.width = MULTIOP_PLAYERWIDTH + 1; sButInit.height = MULTIOP_PLAYERHEIGHT; sButInit.pTip = _("Click to change to this slot"); @@ -2199,7 +2194,7 @@ void addPlayerBox(BOOL players) sButInit.formID = MULTIOP_PLAYERS; sButInit.id = MULTIOP_TEAMS_START+i; sButInit.x = 7; - sButInit.y = (UWORD)(( (MULTIOP_TEAMSHEIGHT+5)*NetPlay.players[i].position)+4); + sButInit.y = playerBoxHeight(i); sButInit.width = MULTIOP_TEAMSWIDTH; sButInit.height = MULTIOP_TEAMSHEIGHT; if (canChooseTeamFor(i)) @@ -2229,7 +2224,7 @@ void addPlayerBox(BOOL players) sColInit.formID = MULTIOP_PLAYERS; sColInit.id = MULTIOP_COLOUR_START + i; sColInit.x = 7 + MULTIOP_TEAMSWIDTH; - sColInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; + sColInit.y = playerBoxHeight(i); sColInit.width = MULTIOP_COLOUR_WIDTH; sColInit.height = MULTIOP_PLAYERHEIGHT; if (selectedPlayer == i || !NetPlay.players[i].allocated || NetPlay.isHost) @@ -2256,7 +2251,7 @@ void addPlayerBox(BOOL players) sButInit.formID = MULTIOP_PLAYERS; sButInit.id = MULTIOP_PLAYER_START+i; sButInit.x = 7 + MULTIOP_TEAMSWIDTH + MULTIOP_COLOUR_WIDTH; - sButInit.y = ((MULTIOP_PLAYERHEIGHT + 5) * NetPlay.players[i].position) + 4; + sButInit.y = playerBoxHeight(i); sButInit.width = MULTIOP_PLAYERWIDTH - MULTIOP_TEAMSWIDTH - MULTIOP_READY_WIDTH - MULTIOP_COLOUR_WIDTH; sButInit.height = MULTIOP_PLAYERHEIGHT; sButInit.pTip = NULL; @@ -2843,7 +2838,8 @@ static void processMultiopWidgets(UDWORD id) addPlayerBox(!ingame.bHostSetup || bHosted); } - if (id >= MULTIOP_TEAMS_START && id <= MULTIOP_TEAMS_END && !challengeActive) // Clicked on a team chooser + STATIC_ASSERT(MULTIOP_TEAMS_START + MAX_PLAYERS - 1 <= MULTIOP_TEAMS_END); + if (id >= MULTIOP_TEAMS_START && id <= MULTIOP_TEAMS_START + MAX_PLAYERS - 1 && !challengeActive) // Clicked on a team chooser { int clickedMenuID = id - MULTIOP_TEAMS_START; @@ -2855,7 +2851,8 @@ static void processMultiopWidgets(UDWORD id) } //clicked on a team - if((id >= MULTIOP_TEAMCHOOSER) && (id <= MULTIOP_TEAMCHOOSER_END)) + STATIC_ASSERT(MULTIOP_TEAMCHOOSER + MAX_PLAYERS - 1 <= MULTIOP_TEAMCHOOSER_END); + if(id >= MULTIOP_TEAMCHOOSER && id <= MULTIOP_TEAMCHOOSER + MAX_PLAYERS - 1) { ASSERT(teamChooserUp >= 0, "teamChooserUp < 0"); ASSERT(id >= MULTIOP_TEAMCHOOSER @@ -2882,7 +2879,7 @@ static void processMultiopWidgets(UDWORD id) } // 'ready' button - if((id >= MULTIOP_READY_START) && (id <= MULTIOP_READY_END)) // clicked on a player + if(id >= MULTIOP_READY_START && id <= MULTIOP_READY_END) // clicked on a player { UBYTE player = (UBYTE)(id-MULTIOP_READY_START); @@ -2909,7 +2906,8 @@ static void processMultiopWidgets(UDWORD id) } // clicked on a player - if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_END && (id - MULTIOP_PLAYER_START == selectedPlayer || NetPlay.isHost)) + STATIC_ASSERT(MULTIOP_PLAYER_START + MAX_PLAYERS - 1 <= MULTIOP_PLAYER_END); + if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_START + MAX_PLAYERS - 1 && (id - MULTIOP_PLAYER_START == selectedPlayer || NetPlay.isHost)) { int player = id - MULTIOP_PLAYER_START; if ((player == selectedPlayer || (NetPlay.players[player].allocated && NetPlay.isHost)) @@ -2944,7 +2942,8 @@ static void processMultiopWidgets(UDWORD id) addPlayerBox(!ingame.bHostSetup || bHosted); } - if((id >= MULTIOP_COLCHOOSER) && (id <= MULTIOP_COLCHOOSER_END)) // chose a new colour. + STATIC_ASSERT(MULTIOP_COLCHOOSER + MAX_PLAYERS - 1 <= MULTIOP_COLCHOOSER_END); + if (id >= MULTIOP_COLCHOOSER && id < MULTIOP_COLCHOOSER + MAX_PLAYERS - 1) // chose a new colour. { resetReadyStatus(false); // will reset only locally if not a host SendColourRequest(colourChooserUp, id - MULTIOP_COLCHOOSER); @@ -3552,7 +3551,7 @@ void displayRemoteGame(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, PIELIGH UDWORD x = xOffset+psWidget->x; UDWORD y = yOffset+psWidget->y; UDWORD i = psWidget->UserData; - char tmp[8], gamename[StringSize]; + char tmp[80], gamename[StringSize]; unsigned int ping; if (LobbyError != ERROR_NOERROR) diff --git a/src/multiint.h b/src/multiint.h index 2c1edab2f..5386f9fd9 100644 --- a/src/multiint.h +++ b/src/multiint.h @@ -133,19 +133,19 @@ void loadMapPreview(bool hideInterface); //Team chooser #define MULTIOP_TEAMS_START 102310 //List of teams -#define MULTIOP_TEAMS_END 102317 +#define MULTIOP_TEAMS_END 102341 #define MULTIOP_TEAMSWIDTH 29 #define MULTIOP_TEAMSHEIGHT 36 #define MULTIOP_TEAMCHOOSER_FORM 102800 #define MULTIOP_TEAMCHOOSER 102810 -#define MULTIOP_TEAMCHOOSER_END 102817 +#define MULTIOP_TEAMCHOOSER_END 102841 #define MULTIOP_TEAMCHOOSER_KICK 10289 // 'Ready' button #define MULTIOP_READY_FORM_ID 102900 -#define MULTIOP_READY_START (MULTIOP_READY_FORM_ID + MAX_PLAYERS + 1) -#define MULTIOP_READY_END (MULTIOP_READY_START + MAX_PLAYERS) +#define MULTIOP_READY_START (MULTIOP_READY_FORM_ID + MAX_PLAYERS + 1) +#define MULTIOP_READY_END (MULTIOP_READY_START + MAX_PLAYERS - 1) #define MULTIOP_READY_WIDTH 41 #define MULTIOP_READY_HEIGHT 36 #define MULTIOP_READY_IMG_OFFSET_X 3 @@ -242,9 +242,9 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_CHATEDITW MULTIOP_CHATBOXW-8 #define MULTIOP_CHATEDITH 9 -#define MULTIOP_COLCHOOSER_FORM 10280 -#define MULTIOP_COLCHOOSER 10281 -#define MULTIOP_COLCHOOSER_END 10288 +#define MULTIOP_COLCHOOSER_FORM 10280 +#define MULTIOP_COLCHOOSER 102711 //10281 +#define MULTIOP_COLCHOOSER_END 102742 //10288 #define MULTIOP_LIMIT 10292 // 2 for this (+label) #define MULTIOP_GAMETYPE 10294 @@ -261,11 +261,11 @@ void loadMapPreview(bool hideInterface); #define MULTIOP_FOG_ON 10310 #define MULTIOP_FOG_OFF 10311 -#define MULTIOP_SKSLIDE 10313 -#define MULTIOP_SKSLIDE_END 10320 +#define MULTIOP_SKSLIDE 102842 //10313 +#define MULTIOP_SKSLIDE_END 102873 //10320 -#define MULTIOP_PLAYCHOOSER 10321 -#define MULTIOP_PLAYCHOOSER_END 10330 +//#define MULTIOP_PLAYCHOOSER 102842 //10321 +//#define MULTIOP_PLAYCHOOSER_END 102873 //10330 #define MULTIOP_MAP_PREVIEW 920000 #define MULTIOP_MAP_BUT 920002 diff --git a/src/multimenu.cpp b/src/multimenu.cpp index f5ff839a6..96cb5fc94 100644 --- a/src/multimenu.cpp +++ b/src/multimenu.cpp @@ -133,6 +133,16 @@ UDWORD current_numplayers = 4; #define M_REQUEST_6P (MULTIMENU+75) #define M_REQUEST_7P (MULTIMENU+76) #define M_REQUEST_8P (MULTIMENU+77) +#define M_REQUEST_9P (MULTIMENU+78) +#define M_REQUEST_10P (MULTIMENU+79) +#define M_REQUEST_11P (MULTIMENU+80) +#define M_REQUEST_12P (MULTIMENU+81) +#define M_REQUEST_13P (MULTIMENU+82) +#define M_REQUEST_14P (MULTIMENU+83) +#define M_REQUEST_15P (MULTIMENU+84) +#define M_REQUEST_16P (MULTIMENU+85) +static const unsigned M_REQUEST_NP[] = {M_REQUEST_2P, M_REQUEST_3P, M_REQUEST_4P, M_REQUEST_5P, M_REQUEST_6P, M_REQUEST_7P, M_REQUEST_8P, M_REQUEST_9P, M_REQUEST_10P, M_REQUEST_11P, M_REQUEST_12P, M_REQUEST_13P, M_REQUEST_14P, M_REQUEST_15P, M_REQUEST_16P}; +static char const * M_REQUEST_NP_TIPS[] = { N_("2 players"), N_("3 players"), N_("4 players"), N_("5 players"), N_("6 players"), N_("7 players"), N_("8 players"), N_("9 players"), N_("10 players"), N_("11 players"), N_("12 players"), N_("13 players"), N_("14 players"), N_("15 players"), N_("16 players")}; #define M_REQUEST_BUT (MULTIMENU+100) // allow loads of buttons. #define M_REQUEST_BUTM (MULTIMENU+1100) @@ -332,6 +342,7 @@ static void displayNumPlayersBut(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffse sprintf(buffer, " *"); } else { sprintf(buffer, "%iP", (int)(psWidget->UserData)); + buffer[2] = '\0'; // Truncate 'P' if 2 digits, since there isn't room. } iV_DrawText(buffer, x+2, y+12); @@ -628,47 +639,15 @@ void addMultiRequest(const char* searchDir, const char* fileExtension, UDWORD mo sButInit.pDisplay = displayNumPlayersBut; widgAddButton(psRScreen, &sButInit); - sButInit.id = M_REQUEST_2P; - sButInit.y += 22; - sButInit.UserData = 2; - sButInit.pTip = _("2 players"); - widgAddButton(psRScreen, &sButInit); - - sButInit.id = M_REQUEST_3P; - sButInit.y += 22; - sButInit.UserData = 3; - sButInit.pTip = _("3 players"); - widgAddButton(psRScreen, &sButInit); - - sButInit.id = M_REQUEST_4P; - sButInit.y += 22; - sButInit.UserData = 4; - sButInit.pTip = _("4 players"); - widgAddButton(psRScreen, &sButInit); - - sButInit.id = M_REQUEST_5P; - sButInit.y += 22; - sButInit.UserData = 5; - sButInit.pTip = _("5 players"); - widgAddButton(psRScreen, &sButInit); - - sButInit.id = M_REQUEST_6P; - sButInit.y += 22; - sButInit.UserData = 6; - sButInit.pTip = _("6 players"); - widgAddButton(psRScreen, &sButInit); - - sButInit.id = M_REQUEST_7P; - sButInit.y += 22; - sButInit.UserData = 7; - sButInit.pTip = _("7 players"); - widgAddButton(psRScreen, &sButInit); - - sButInit.id = M_REQUEST_8P; - sButInit.y += 22; - sButInit.UserData = 8; - sButInit.pTip = _("8 players"); - widgAddButton(psRScreen, &sButInit); + STATIC_ASSERT(MAX_PLAYERS_IN_GUI <= ARRAY_SIZE(M_REQUEST_NP) + 1 && MAX_PLAYERS <= ARRAY_SIZE(M_REQUEST_NP_TIPS) + 1); + for (unsigned numPlayers = 2; numPlayers <= MAX_PLAYERS_IN_GUI; ++numPlayers) + { + sButInit.id = M_REQUEST_NP[numPlayers - 2]; + sButInit.y += 22; + sButInit.UserData = numPlayers; + sButInit.pTip = gettext(M_REQUEST_NP_TIPS[numPlayers - 2]); + widgAddButton(psRScreen, &sButInit); + } } } @@ -719,33 +698,16 @@ BOOL runMultiRequester(UDWORD id,UDWORD *mode, char *chosen,UDWORD *chosenValue) closeMultiRequester(); addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 0); break; - case M_REQUEST_2P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 2); - break; - case M_REQUEST_3P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 3); - break; - case M_REQUEST_4P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 4); - break; - case M_REQUEST_5P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 5); - break; - case M_REQUEST_6P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 6); - break; - case M_REQUEST_7P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 7); - break; - case M_REQUEST_8P: - closeMultiRequester(); - addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, 8); + default: + for (unsigned numPlayers = 2; numPlayers <= MAX_PLAYERS_IN_GUI; ++numPlayers) + { + if (id == M_REQUEST_NP[numPlayers - 2]) + { + closeMultiRequester(); + addMultiRequest(MultiCustomMapsPath, ".wrf", MULTIOP_MAP, current_tech, numPlayers); + break; + } + } break; } diff --git a/src/multiopt.cpp b/src/multiopt.cpp index 0f28fbcbc..7a5ca3d2f 100644 --- a/src/multiopt.cpp +++ b/src/multiopt.cpp @@ -547,7 +547,7 @@ static BOOL gameInit(void) for (player = 1; player < MAX_PLAYERS; player++) { // we want to remove disabled AI & all the other players that don't belong - if ((game.skDiff[player] == 0 || player >= game.maxPlayers) && (!game.scavengers || player != 7)) + if ((game.skDiff[player] == 0 || player >= game.maxPlayers) && player != scavengerPlayer()) { clearPlayer(player, true); // do this quietly debug(LOG_NET, "removing disabled AI (%d) from map.", player); @@ -557,7 +557,7 @@ static BOOL gameInit(void) if (game.scavengers) // FIXME - not sure if we still need this hack - Per { // ugly hack for now - game.skDiff[7] = DIFF_SLIDER_STOPS / 2; + game.skDiff[scavengerPlayer()] = DIFF_SLIDER_STOPS / 2; } if (NetPlay.isHost) // add oil drums diff --git a/src/multiplay.cpp b/src/multiplay.cpp index f83b0dbfd..70d148d6c 100644 --- a/src/multiplay.cpp +++ b/src/multiplay.cpp @@ -314,7 +314,7 @@ BOOL IdToDroid(UDWORD id, UDWORD player, DROID **psDroid) if (player >= MAX_PLAYERS) { debug(LOG_FEATURE, "Feature detected"); - // feature hack, player = 9 are features + // feature hack, player = PLAYER_FEATURE are features return false; } d = apsDroidLists[player]; @@ -351,7 +351,7 @@ STRUCTURE *IdToStruct(UDWORD id,UDWORD player) if (player >= MAX_PLAYERS) { debug(LOG_FEATURE, "Feature detected"); - // feature hack, player = 9 are features + // feature hack, player = PLAYER_FEATURE are features return NULL; } for (psStr=apsStructLists[player];((psStr != NULL )&&(psStr->id != id) );psStr=psStr->psNext) {} @@ -366,6 +366,7 @@ FEATURE *IdToFeature(UDWORD id,UDWORD player) FEATURE *psF =NULL; UDWORD i; + STATIC_ASSERT(MAX_PLAYERS + 2 < ANYPLAYER); if(player == ANYPLAYER) { for(i=0;i= MAX_PLAYERS) { debug(LOG_FEATURE, "Feature detected"); - // feature hack, player = 9 are features + // feature hack, player = PLAYER_FEATURE are features - but we're in a function called IdTo **Feature**... return NULL; } for(psF=apsFeatureLists[player];((psF != NULL )&&(psF->id != id) );psF=psF->psNext) {} @@ -520,6 +521,17 @@ BOOL responsibleFor(UDWORD player, UDWORD playerinquestion) return whosResponsible(playerinquestion) == player; } +int scavengerSlot() +{ + // Scavengers used to always be in position 7, when scavengers were only supported in less than 8 player maps. + // Scavengers should be in position N in N-player maps, where N ≥ 8. + return MAX(game.maxPlayers, 7); +} + +int scavengerPlayer() +{ + return game.scavengers? scavengerSlot() : -1; +} // //////////////////////////////////////////////////////////////////////////// // probably temporary. Places the camera on the players 1st droid or struct. @@ -2049,8 +2061,17 @@ const char* getPlayerColourName(unsigned int player) N_("Red"), N_("Blue"), N_("Pink"), - N_("Cyan") + N_("Cyan"), + N_("Yellow"), + N_("Purple"), + N_("White"), + N_("Bright blue"), + N_("Neon green"), + N_("Infrared"), + N_("Ultraviolet"), + N_("Brown"), }; + STATIC_ASSERT(MAX_PLAYERS <= ARRAY_SIZE(playerColors)); ASSERT(player < ARRAY_SIZE(playerColors), "player number (%d) exceeds maximum (%lu)", player, (unsigned long) ARRAY_SIZE(playerColors)); diff --git a/src/multiplay.h b/src/multiplay.h index a2a3044ab..51fbd761a 100644 --- a/src/multiplay.h +++ b/src/multiplay.h @@ -160,6 +160,8 @@ extern BOOL isHumanPlayer (UDWORD player); //to tell if the player is a comp extern BOOL myResponsibility (UDWORD player); extern BOOL responsibleFor (UDWORD player, UDWORD playerinquestion); extern UDWORD whosResponsible (UDWORD player); +int scavengerSlot(); // Returns the player number that scavengers would have if they were enabled. +int scavengerPlayer(); // Returns the player number that the scavengers have, or -1 if disabled. extern Vector3i cameraToHome (UDWORD player,BOOL scroll); extern char playerName[MAX_PLAYERS][MAX_STR_LENGTH]; //Array to store all player names (humans and AIs) diff --git a/src/radar.cpp b/src/radar.cpp index ae89e60b0..b651af2fa 100644 --- a/src/radar.cpp +++ b/src/radar.cpp @@ -57,7 +57,7 @@ static PIELIGHT colRadarAlly, colRadarMe, colRadarEnemy; static PIELIGHT tileColours[MAX_TILES]; static UDWORD *radarBuffer = NULL; -PIELIGHT clanColours[MAX_PLAYERS]= +PIELIGHT clanColours[]= { // see frontend2.png for team color order. // [r,g,b,a] {{0,255,0,255}}, // green Player 0 @@ -66,11 +66,19 @@ PIELIGHT clanColours[MAX_PLAYERS]= {{0,0,0,255}}, // black Player 3 {{255,0,0,255}}, // red Player 4 {{20,20,255,255}}, // blue Player 5 - {{255,0,255,255}}, // pink Player 6 + {{255,0,255,255}}, // pink Player 6 (called purple in palette.txt) {{0,255,255,255}}, // cyan Player 7 + {{255,255,0,255}}, // yellow Player 8 + {{192,0,255,255}}, // pink Player 9 + {{200,255,255,255}}, // white Player A (Should be brighter than grey, but grey is already maximum.) + {{128,128,255,255}}, // bright blue Player B + {{128,255,128,255}}, // neon green Player C + {{128,0,0,255}}, // infrared Player D + {{64,0,128,255}}, // ultraviolet Player E + {{128,128,0,255}}, // brown Player F }; -static PIELIGHT flashColours[MAX_PLAYERS]= +static PIELIGHT flashColours[]= { //right now the flash color is all bright red {{254,37,37,200}}, // Player 0 {{254,37,37,200}}, // Player 1 @@ -79,7 +87,15 @@ static PIELIGHT flashColours[MAX_PLAYERS]= {{254,37,37,200}}, // Player 4 (notice, brighter red) {{254,37,37,200}}, // Player 5 {{254,37,37,200}}, // Player 6 - {{254,37,37,200}} // Player 7 + {{254,37,37,200}}, // Player 7 + {{254,37,37,200}}, // Player 8 + {{254,37,37,200}}, // Player 9 + {{254,37,37,200}}, // Player A + {{254,37,37,200}}, // Player B + {{254,37,37,200}}, // Player C + {{254,37,37,200}}, // Player D + {{254,37,37,200}}, // Player E + {{254,37,37,200}}, // Player F }; static SDWORD radarWidth, radarHeight, radarCenterX, radarCenterY, radarTexWidth, radarTexHeight; @@ -441,9 +457,11 @@ static void DrawRadarObjects(void) else { //original 8-color mode + STATIC_ASSERT(MAX_PLAYERS <= ARRAY_SIZE(clanColours)); playerCol = clanColours[getPlayerColour(clan)]; } + STATIC_ASSERT(MAX_PLAYERS <= ARRAY_SIZE(flashColours)); flashCol = flashColours[getPlayerColour(clan)]; /* Go through all droids */ diff --git a/src/radar.h b/src/radar.h index b3921743d..ce0b028b7 100644 --- a/src/radar.h +++ b/src/radar.h @@ -62,7 +62,7 @@ extern RADAR_DRAW_MODE radarDrawMode; ///< Current minimap mode extern BOOL rotateRadar; extern void radarInitVars(void); ///< Recalculate minimap variables. For initialization code only. -extern PIELIGHT clanColours[MAX_PLAYERS]; +extern PIELIGHT clanColours[]; /** @} */ diff --git a/src/scriptfuncs.cpp b/src/scriptfuncs.cpp index f72996c2d..149d5f439 100644 --- a/src/scriptfuncs.cpp +++ b/src/scriptfuncs.cpp @@ -133,8 +133,8 @@ BOOL scriptInit() BOOL scrScavengersActive() { - scrFunctionResult.v.bval = game.scavengers; - if (!stackPushResult(VAL_BOOL, &scrFunctionResult)) + scrFunctionResult.v.ival = scavengerPlayer(); + if (!stackPushResult(VAL_INT, &scrFunctionResult)) { return false; } diff --git a/src/scripttabs.cpp b/src/scripttabs.cpp index 67df3adb4..45e8eb1aa 100644 --- a/src/scripttabs.cpp +++ b/src/scripttabs.cpp @@ -1428,7 +1428,7 @@ FUNC_SYMBOL asFuncTable[] = 3, { VAL_INT, VAL_INT|VAL_REF, VAL_INT|VAL_REF }, false, 0, NULL, 0, 0, NULL, NULL }, - { "scavengersActive", scrScavengersActive, VAL_BOOL, + { "scavengersActive", scrScavengersActive, VAL_INT, 0, { VAL_VOID }, false, 0, NULL, 0, 0, NULL, NULL }, @@ -1729,10 +1729,6 @@ CONST_SYMBOL asConstantTable[] = { "NULLSTRING", (INTERP_TYPE)ST_TEXTSTRING, false, 0, NULL, NULL, 0.0f }, { "NULLSTRUCTURESTAT",(INTERP_TYPE)ST_POINTER_STRUCTSTAT, false, 0, NULL, NULL, 0.0f }, //for NULLSTRUCTURESTAT - //barbarian player ids - { "BARBARIAN1", VAL_INT, false, BARB1, NULL, NULL, 0.0f }, - { "BARBARIAN2", VAL_INT, false, BARB2, NULL, NULL, 0.0f }, - //#define used to set the reinforcement timer with { "LZ_COMPROMISED_TIME",VAL_INT, false, SCR_LZ_COMPROMISED_TIME, NULL, NULL, 0.0f }, diff --git a/src/scripttabs.h b/src/scripttabs.h index 117988f0d..86caebcfb 100644 --- a/src/scripttabs.h +++ b/src/scripttabs.h @@ -31,10 +31,7 @@ #define SCR_TICKRATE 100 -#define BARB1 6 -#define BARB2 7 - -typedef enum _scr_callback_types +enum SCR_CALLBACK_TYPES { CALL_GAMEINIT = TR_CALLBACKSTART, CALL_DELIVPOINTMOVED, @@ -98,7 +95,7 @@ typedef enum _scr_callback_types CALL_DROID_REACH_LOCATION, // Fired when droid reached the destination and stopped on its own CALL_KEY_PRESSED, // Allows to process key presses, mainly for debug purposes CALL_VTOL_RETARGET, // VTOL is out of targets -} SCR_CALLBACK_TYPES; +}; // The table of user types for the compiler extern TYPE_SYMBOL asTypeTable[]; From 6f6ec2ea866e757ef3bbea0359f98c739225bc91 Mon Sep 17 00:00:00 2001 From: Cyp Date: Mon, 3 Jan 2011 15:27:06 +0100 Subject: [PATCH 134/142] Add IMAGE_GN_N for N up to 15. --- data/base/images/intfac.img | 20 +- data/base/images/intfac2.png | Bin 12694 -> 9989 bytes src/intfac.h | 6 + src/multiint.cpp | 2 + tools/image/image.cpp | 477 +++++++++++++++++++++++++++++++++++ 5 files changed, 498 insertions(+), 7 deletions(-) create mode 100644 tools/image/image.cpp diff --git a/data/base/images/intfac.img b/data/base/images/intfac.img index ff0cf5306..a1aef55df 100644 --- a/data/base/images/intfac.img +++ b/data/base/images/intfac.img @@ -345,6 +345,12 @@ 4,231,102,23,13,0,0,"IMAGE VDP UP" 4,230,116,25,15,-1,-1,"IMAGE VDP HI" 2,49,99,4,5,0,0,"IMAGE GN STAR" +2,183,0,4,5,0,0,"IMAGE GN 15" +2,187,0,4,5,0,0,"IMAGE GN 14" +2,191,0,4,5,0,0,"IMAGE GN 13" +2,195,0,4,5,0,0,"IMAGE GN 12" +2,199,0,4,5,0,0,"IMAGE GN 11" +2,203,0,4,5,0,0,"IMAGE GN 10" 2,44,99,4,5,0,0,"IMAGE GN 9" 2,39,99,4,5,0,0,"IMAGE GN 8" 2,34,99,4,5,0,0,"IMAGE GN 7" @@ -353,7 +359,7 @@ 2,19,99,4,5,0,0,"IMAGE GN 4" 2,14,99,4,5,0,0,"IMAGE GN 3" 2,9,99,4,5,0,0,"IMAGE GN 2" -2,5,99,2,5,0,0,"IMAGE GN 1" +2,5,99,2,5,1,0,"IMAGE GN 1" 2,0,99,4,5,0,0,"IMAGE GN 0" 4,74,126,36,24,0,0,"IMAGE ORD CIRCLEUP" 4,111,126,36,24,0,0,"IMAGE ORD CIRCLEDOWN" @@ -466,12 +472,12 @@ 2,1,157,36,24,0,0,"IMAGE ORD FIREDES UP" 2,38,157,36,24,0,0,"IMAGE ORD FIREDES DOWN" 3,0,97,11,12,0,-9,"IMAGE ASCII64" -0,127,152,7,10,0,0,"IMAGE LFTTAB" -0,127,165,7,10,0,0,"IMAGE LFTTABD" -0,126,179,9,14,0,0,"IMAGE LFTTABH" -0,137,152,7,10,0,0,"IMAGE RGTTAB" -0,137,165,7,10,0,0,"IMAGE RGTTABD" -0,134,179,9,14,0,0,"IMAGE RGTTABH" +0,127,152,7,10,0,0,"IMAGE LFTTAB" +0,127,165,7,10,0,0,"IMAGE LFTTABD" +0,126,179,9,14,0,0,"IMAGE LFTTABH" +0,137,152,7,10,0,0,"IMAGE RGTTAB" +0,137,165,7,10,0,0,"IMAGE RGTTABD" +0,134,179,9,14,0,0,"IMAGE RGTTABH" 0,134,179,9,14,0,0,"IMAGE NADDA" 5,0,59,36,24,0,0,"IMAGE ORD PATROLUP" 5,37,59,36,24,0,0,"IMAGE ORD PATROLDOWN" diff --git a/data/base/images/intfac2.png b/data/base/images/intfac2.png index a1b34c05dcbffff9238a0412dfe322fcef9b0aef..6bb92f7dd171a139e808bedc16da2bc5c56ba439 100644 GIT binary patch literal 9989 zcmWkyc{tSH7rvia82i3&W8b$>gp4gzvWtW%2@y&m>xb;h9?CYhY*|9tiV;O66p|#9 zC43WO-)DY)=bv-WbMHO(dG7PxbKmzQT3$3^qUWav05F-E8d(DX9SY}ZvWejW$hgugrwXun}i43((jIqspY@3&5TlU0u z@SQz}kiD|lrAua)Qj;Bwxg8uOocP6^u0}hhWjYl;cKY(pxu(M9jDXAgCYOK2I*9)HB5R<)O!Eqxy>qb?jhexSLOOq$NpqIbj&8Iou;vC*KY~J>w-XGe0 zfAsm;(E53c`#W&lc9FcpA#_JV@y^@MfY9W-KgRBLv<6D61iDEE1xN)2bOhDa1V7EW zFDW0QBpv>#FQU6MVtzW(hbuC(C@Q5jYIHd2_gFNyK=kC7m|J48BZF}t`{TtG<0Iu0 z-gYMbnoO3aeKk6bB(aGQJkw=VyIiv-BlVZUOL@Xw!c#@q5Mo+@LBuM3SZ@licggVa@DGGwT}d9 zbNK7|1?vT+n&Rb~GUZ;$ooso`*ixa^&cxeZcjC3yiO$Z>w-u7T4XW>? zYMfae)?8g(C0A>%pVHmc*5ChXN;Q$Do;ydiwWSsrQh(`E|D2;PSWy@4scZOS3?G=< zXB?v$ao75y4FG|epEUsxUo|rEr?YgeRAQ zxF!weBIq~`>GNE^ZNjME!p_BKkC$f1e!XOiOZ0xBN=hO{D;H(Y?(+MGLl5!AX*@0i zZ{Pgn3S5XJ@8~S#M^v|0cZA$%Un%I^_`4F)rEzpnxS(@yu0ao;Cd(*83p8&>4o3@UlkWVw-QP-jh6gDq+-j{wG`h&<)7^lx9oRhE9>!h0^(e z%)NQR1_g|Lq14zNf1q&tR+LvuUa#44F*^@qu)Z{S#H~ADA7YFq0XPV+LuKQTaDuuU`ZHjZ z^)Qx)NEx_q>1gnh4K~x@>HM-w6C%$B4kQwzE&~}6&Y=r2G7e1mY<`~sh7-4SL2eKR zmnHigoyMPvj~mIuzBvKh!aiH*M#;em^g7Y=j%NB>=if5(Sl+x7@H8i@?jyu1N{l(G zN3-(HvgY#bjXMD%8@8>%4>Gb>6IolHQc7Y*?npkeTM<7~p6JY}%Tr53#2`Lm+C}O9 zf5hYT_7mVExJbE71koivd*iHR@b%bVq6<^6MY9@RoQY(DM-^B-cgHUcK_#QHxR>;T z)?|}(z={}C<|`2TMLqO7}5LK0_CC>V321`r5JbZ1qZ(4gQ7 z8@O&%T8n_M_-ygv9^(qAhLB~(99%MZ;~t3amxrlRplXwv_4O7|K@ds^WpRPT8|i7U2EK%Vs8N_{ zuz>p}(H=@zQ3CoZUq3H!qoBhUKw1fkM|VpdN8--9K@aK{-~@@BpDW@j2*Y=@3GV`2x#15?_mGTH#6y>6l>4YIY2wDh#f>bB z|AxZv16g*wvLyA*uc?0wwgSCs1N=jZhP^5gW1a8^i1;VE^CwT`FP6k};WPKZMVaiw zj}PsT*lHwfDLhsyNau zCtAiI+Mxiy<`^Hd+3mPoh5>mGI+&QZV590nA8A>OOjFP_xPY~QNQ{{^2w0O^eiU(& z72ysbf!Lr6ijWl-Zs2VCA60V`)301~pl_(H;E`sD*ds3?(8uDv`Dh&^o87dHc*O;< zX$zGUUF;$cgo@wJP6$X*{0n+LwzK;OPWN@oLzr{5w-!BjOZJDH91u7Ju1Z4xVj`z0 zEg(8MTtWa*z-y#@FQ?nsnFoCN50gL=Y6K05^bD8QG=Kz9=aDlvkrzMSwsy;>^e5$=OS~E|I%|{Jn(`Wp< zg3ix|IOzz-Gn+0G>^f`+*dGVhw7XI;_gh;JTAphHE~0XP(mmYC$N*$rw+!Y=kYy4oYMeI$rq-lh_btTdZK@+sli31wjXq0|P#-P$y9#%vX z&hHx!iM5{%`Y<@n%jR_n$zQ0)j!1l~GqEQiE>^qsej&U1_PZ68YM(->wlz0{Q{K4V z9eeA-r<6wm?1rxWXW`$!V<}96oM=Slf(IjL*E)3;N613^{(O{vj@xtRJw{FMO3+8z zy{xr%n?fng8%{vZkuWBR1HX7p9#!aQ+-|=7!mNdskdIdJ+miz>`aQBD|Gk%DpSQA; zn&5|Ta(lK24aZXd*u0knc8q=(T4)GQ(Ur14UCyWdcq`?1+P$jz?^~kJOZqG^!c;{s zFMQbohH_socNv2LT;p*O?wPoDUB{EgKf7o?xS~zJgbZ?V96(S^1FP{50icY$5YYYH z{)<6*e7VJi+QGp=Mi(!7)y8pm5@-Vnwy*36xZz3M`e94P8} z8_*nE*N6Zp_BlioJItywc;C0A0|O|h+7P?(<+Ez-LflT}X-?;YWgp$4VMxxd=21u3w6?$ zB~W`36a;B#$zFAb*#W9T z1DZ&6u~i-j#+4>1cJq!OjM9Va-5>Dv>anr#-O}DjQN&GAV?{t<f}+0ys%rVdQ_yy9<(wX_Wn3Z}Cjr2!I`iRHzB zW_TMmZSIzxb|7ELn&z!=Lct&bf(>ENtRunQ`?=!61zXEd!)xnh1T=mhMfj)xrShs} zR*1OQgtl_V;4eUE!a?AahcVH2|XmGgO7XD6KCLKK;qq z!z>lt^~(@WGS@dN$|S8Ut%G2k?Wh|lbsn(;cSDTtDZt&nbl_EG2sl{((O02gFWbq# z8M41SP7{(D`G!v9+dE)-_RRF^b9946QQV~u_hxJ6I+nIV!g{x!j!QywX=R}4iojl$f^I3(;&MJi54y_(Kzt;i57bR%0}Ds)V0-z1N!345 zaM+T<#l1B@R8s!QHtKHIgY{ENh?xz+$gtr}Z)o_d`yJ4wREXsNG#yFv{QMl8xvBnf z$1Na2czJarMDOF!Yy>0CeQJpoA!E-z`^Y_jnD?px`BgJv&;r@W0ABw}HIE$Ct56Rf znuPu>!0M;<6Ajy5fPI=88qqIESYVi$z;>8$SkWC3KmG-+LL)Gk&ftgBCe3ZefaL|% zI+U;OzoMd@bo2moGqO$)QZ*pyu*_i3_IKO^IBugZR)Lj+K}(oDb#`-39e|b;o#Bdm zKCRS_o;RBA@0Q2wckWLizw0`CqUO}&j%-#hed7V`J56{^&BWPE9O&Qw3_xE+#muE| zXk3jRWj<6#)2E1@v#T*82)sT#fw@~>dzqHJ{z(so7#9T8F3wGlC9iJt)4BPEujS7B za&?U7ub@MzbKIX@A`tc68nna+Qre@5#GNH6p)SMix-(M@$}p}a;O{rZ0bzZv;Oo+W z#8j00wy&3`bNY`s;Ph-fr~I1iha-gk{WgNd*AQ0#F+<+d^y8a`QkzG>r{h-7obl5) zWbc)g2@)Y5ekoMSbDUu9nhy@s=*Cw^vY}v@!uqp zb+L1I<^Tum@bIZi$HigBwHp5PaEA^g9!);bU)Uxb%(xxrRmRs^q8n(y0`<*%Yyj^rWo3n~&5BZA{1@`Kkb zX5?^kk_HIoHzRu`!q7>U6%CNy#t(R=bJM@oL$o)Vmt3T~)p^Phq(7A&5+FJcLl{w; z=?db2SfSOf0C5P0cOvb8=7jd2jV{8J2>tFm?I6m+LVsyYea-@XmpJ2e^b_qB9+!}% z$U|X;X?cLfAGrz<^+MKdws)w*L6K+p4)jF!&y`cY)`u@3h+!+>aIb6k$U=APXnI#! z5vCq>D_i|n6R|b9Dg;>ZR3|{5>q*tyo110P+u~Prp1^L&pC8+8$*&0kcH(426+fVnpi%fo@+aj|bM{jcu2TmP6@}uNY zxBZR|Ry2mWpn;vD!`I4(ul2|)M>}^rf<{d`|A~Z6@*KWjrEr1Z&xiFmJOHcv>mreV z=Yk>z7MWJV4|phVe0LXd`@6HSAZn$39!k}LG!cgZcL8yrAKGb>STrUtlvzT1C z|6XtFpkqpJO@y+NdbsUJT`bi*TH1l&!CAli2Vs;yEk_f2iStEA9(wl{23e@1T@CZ||wzQTurKm+`RGJXbR_az*5(v}?$cNyNIV&`%a{x@c`VjI!)Ol+Nzj zKehUE?{hun=is^>$!7YnZl`l+qHE)2)It}!^I-%iA_6)&iHZtQ^H@ZZCc%4T4Z{E=Z^a-cy5bn znNi=ET9Ah!9#p(19lsTd(+9{ZEWDWprV1R~_^X9w-h63gm~_!xKnwe=)Vp*GurEv_ zh|dVWTeMGUORcP8z^+9zV?w{{nW>tHxl3_*sfnQ-5J_}(8tJ*eb$hv9_fKWmz@RO( z<_Bd(^if-VRg>m;txgW9Ja!92gTtn9$WrF#-l3;e=SCZ+a!S>H5eKAo!{iRE`l}1D zQY}4s3@>j_xXs=sUPL)hoHD_E{X!7*pN8L2furFe}U-u)r- z-xYokJ?&*cd3VJIka)wLIeWj**K4o?>((;a!+IJb-!(qsVmk))3g9072QDil+p!gO&%OT9+S$zb^jO{t17J znKz~`Wmybl8k${WHy~!ZI2)SEj&h&2XDwe+5~* zv^cgU^4ufoH#a>@tBl^a4eRsIP`EAh^mzFabLfc4jB9(30nQp03<&3} zZKKD{OE?I#T2;3@2(j|ve63R2DE~>MMQz1w;F9KD+)XdoWj91-UTty)X?d>|fam@y z0kJ%_m|Fnw?)2c*Nrg^%VDui@%Ek^#1TchgSL=FlJ3$>D zt_g=>+mjB0s@jctYW(Bf42z*5_nL_@Ov1axNIYWef1J7(d`Z`uKDW-$MyItyxmt9JWv#yIsr>q9pgyl zSQqsN%pWEX+^<%m!-Am}fmFE$>cTj>BsTH%ToekkEbltae%^L?odcSHi8rspQHyBY8jevcG znKecM(HJn=(6Lm|ZVRQPzDT-LBqAgv;<2%h>AwQ57c+r>)iIorOu*yxhYx4MxdGyv zDQD&AS+IP7!Q@&?&}S86@CWP=CotSsiFuEK!$YEahdb}zKgZ^urLTmDlLR52|E$rL z1}Oe>YqPLB(8>!Ge;bY^KPXAE`wwAxejE!VXl3jr5bT+G0qx8fzziNmBT*@+Z~tL< zhx#^_!cGs$>|ZVXIBkNXF+_=WiKg<}aM(g8Y9E@gZcz8Q&K3LlgROEZ3+c_e9&YR z`~XS_FTeBD?9Z9OkjhLz zoK3htYuqx`RE%(vR>s(aKA8)b(e>RGNsQOG_yN)7gj9RC zLjhViIl3+Ix9hsz6P84H27~n`GXjNek#F;`Dlo!yv_ST(TPt&4T0B++&$s zv+H%y)L;K{ySZ?0yO-s*^v#;QKloPzBjLk=MnsHGe=GO^hv+W*4@0X_@7P zxkd_IHm#AI7Qq)+mVwOo#KjOu6OMsl;Cp1~Q#d_ao{beN!C=K($>-F} zUF5fa7kZn`=Hl<0Dp*=#H{NCr-`Q%?c6SkEZ-N>sX~-^#utL+=wRGhBlPurA22uVV zAgqzRN)^$?Gc!B~GZ7ALjP}i2`c|(xO*CK|m=?q)uX}(eM!-AYd`ajc9dwVT)tO+L zYta`gNYFS6?L@#T)ln^}vA=&6wo3DwgIBr=gAh>zpGyD4yIR8F)3s>#569pz5cZ>m zYXIHv-x6Rm%`+|xJ?zhSqjOVBEh+R`@hLuzpU>2f=8T02f(|rk`s$AbNr&gTc<*?~ zXg@8LTwe5-zYpP8XHTB`oxNo;RaugiD^F=cX#-GC(dx4d3}0g##uf?sUv_gaVV_(@)(kkA?!^9 zE1S}5MYQ!Qz&>ZnQ)>|0{QhA+0pjs-bHHi-s$l1iLE#ds(f6=1Z7)8!n3?2q^#?y- zexPETjN#o!k>&w@2|ja$K?n9Z9pf1rn=EevE=)cvZ{+l6^f*Wg5*(>Q;#(Q6tSyfAgU}vXY!fC`Y?8IN1xz6JEXKQ;Ylw!dFfL@{af2aRvP8}t`xT>g(yQeEo8s$izN*V2i8Mg4!5qd$J5&NJVB z4-}v;FLD%vOb@*gL=>+GSJy3X9*<@B6m@jQ;M9<`zoFWXy!?Hr7G~Ix_$_L^vSByJ>T0rkXbizSEHW1eUgIyebv%dx z*+R%>DNJ7uF>M&08s<6^ctc1>hHUJzU*@t=Ll*6%NB&ds_Kh_YQ}4)~hc(Q_{5 zK~CebLfmM1UFeFyl}6X;Dqvb~#=ff|PSIkAXj|FeN^>r>@0N;wK=9Dg-BqSp76K(!-&?=F%#dO?;c8)E!jbQ6-l zi`lJkd@ky$QUlf{0=v%q5C-?pR{m-Ol{cd3;XdD~5NfScsvYpWa}E{8s);I(PpAen zF(%Q%MgpYnSHK^mo~vvdWsR~0Bz|%)iS7z53O2y-vml>2?!ZVjZ%27I=Npa9ouF!-T!>h=}yt)8J{{)E%C| zUw@c1rsC%Y&wTw@c;R<^M`vtG-5-p9>aJXiQ&~p?<{+u;McGH!ZXtR4dS z()?g#4ttzcPrj~zB$KdSJ15^ zIeWKL=P~3C(U#B?5=Fz;+yx_(-k zoj>n2H4QNv)yOJ+OdO9H_K+mlTvvT3NMOs^R?$PSoTqd%DD)^ucQ-bRR2W)_lvT5l zf-*bU;Wh(dMFcj7qqY7^3}vevEQ*^+WHo$iG3n#x@MEl+$v7Ni8u1-}!3mhFza?Y( zZQF!MK^siwIY`23|50E^Ru*N!M$79IEi z;mea0_2+{wWnu?iE<|4#IH*XnSR!)Z3IDwX&5TU9->y7=lb7=-eZBI7xE-Jv<{|Fa z02vebn8poR&G0A&esWLyY4L21&L)y?uH@-yFf#o3$0(G${sRqp>M9+$GQgb@c7c&L z&hgnmFJxZk?i-DCrB}%BdV<+=L9-~!?6$ZxZxcm+gAFm*a>gFOQ)fXhgla>FCMH5oQGQ*!lmmoTA4})Ob21=>pZSbSOaFS2U)oH{{Wm5GoUb@V6d+ zIi|boFNNWEk0PZL^X=s@KOn(|UVx(nOQz~|a=5aO|%A{;vDAC?=-{5X^&7*d!XRE5VZo&fLN4h>(V-WyW_UbLevnBqTy@Zse( z7fjsfx6|3clZK$C2zaAfSY)-HaREmp{KzT#X?yzY8&+W8`{ouSu5_&o4a6;dTmilp zJ5mdBZEKFdi!weyU12mb_u)DR)R81n2EQgbN!q28AnPyAfdyCfsL=Y^#r&>`>QiWf znpFKb0tawUe33W@UmEi=8wrP}9X&souJ7%4IIe6{WKrKhTIpQ|@KH1^T~4-v4bXzM z%#3Li9Q4N!2L{kE127?=L1qc{L)HqNg2#KBm1I_->STzO%85Y0w5mElF*kvDO!TjI zcU^moiMfdcuXf*2-?I@KsneZ&b5e{*D_dvLBjmu>3iA7!U-(h&UDnP|KgCWhvk0r1 z#b#xbjLRaT5;5%eE!+ee9EBxS&Qd}mOH%lLTY+Rcav*eJ_sAfOcAa-G6=nJ&MdYwc z1o>QEC7Oo%9=rzJYCSPZ4H|gL-`$FTyQ%28ncYZEqC^1NxE=l+8Y&`_;z!3p)2-4_ z50msbvGad+l`*VMb;Pv%NIz_MLS*U%cG4_Pfwk(^0rdsAeVBtP`{QppPwujitp+~k z=fh)*SLaBI{5FMJqVN}wCKwS4^X-?vvV(lvr6irsDoDEbznN)~TkLQTe!|LS)FYp5 zgW#PjDng#<*K>r&K_;*Bh)-Et#;7Z{v$y1#E%pnm>z@Bb@Zd;Tw691JW*hxc-5&kp zZ1t@CkUjKXZsO=P8`J9D=q3a&ewp2nG{l2LT07nTVQZ41E&F*b9)8UGg?BOlAx1_W z-Gz#=Bl?3G1w|%LHt#2|I>Q>ud2wibQmVHkDkl0|7_RwJF|buh(nIxc=#&3L%upE+ zsk^sHJC3+Q^9O12^ubnn_#)q>8N}d%D{*U`$@PR-_vgv)1aNF-#utt14Diwa12YuD AmjD0& literal 12694 zcmd^l^;?wB_xIep%d)@%OE)atof5J%sFb82-JyhtG&h|B3Q9@yR#cD@L{L~jQWQ`W z14)sTR+|0#`467opYzL^IdRQ3bIrM4XU?27GZO=9N_I*B0JV{!?qvX=e?tghkpGxp zt*zxhhVs%f)&ih0o9e`c3;-lByJV^NPfkfmNrh!%W@cb#XJ=sK2f_e|05)D$S~X2( zQ6Xk^C3zm8$i%_V&n_>>pdikqCe0xvC?qT_!Y3sqE-uc`FOTO}oOijT z$UZ06zVx1Db)nAFstYa89iBdNYN~e2$o9OS=U!6eTa+K0TNYN7@A|OR^Kp&Wi{@L; zp5E+ebL?;S8+sYs(;3sLcV>9S)7Sy<|yP4%n&9|;g>Ar z6)zT7s%PhHr)I6^6ndz}`JaIF6IroVF{M}Mo%=D^JO zQ4us!U$9Wb=F7oVYs*A;hme;I_Tmn!=u1A<%O)hU#eJ30Cl=YIg{33J!ot;vy*m4u z&6Cc}sHNlg=N2`#2(0gp@@lH-J;TfHCY}7|n&x;bdVfc~FA`s*H`mqyiyRb~mkzkx zO51(V`MNhU_kjEU4XxRv=JVNx+2;~ehnq##Eh;5w-#SclERxR|p*JVg)PT9dhJ9tt z$WF{C#n0=9S4!nbZd5I16l|Rn}o;-Bqymv{` zZ$FE$v!d|kT6W|T{xCv=+L`0i#{X=I{YeA~34L{cjg@zHsD9T{IK`j&fQETj3j&W$ zK8j>MR79=rdmc_6Dx_Td!;Zj*zzXGP0yC{aZyR6Tf;$!1Yxp<_DyZRgi@oPxORn$( z;%Vvz8y~^}{B(iuBFS)ZHI#sk=*C1?5y!yQ{PP{6wQKJ3fbPDiW}q@i6w|1W_^b-X z1k4tZ48G|$zo4ecpLO4?fCeM8n zIjn_XnY*||H|+{0P%D(|O!;E8cLV|_r4hlSjGCi@zvU%scisQ#@L_L69@q(ns0(Z% z#YNsu9+tFNH3@OxC@_@`VzFFsY6&-tA85r>`GP$E(^PUrpx^qHL$L$}_@pd`!jvqP zz{g%Q^=g?azoCOnu^(vX)8Gj#(85*fVN^4nrFcQro$Tm*I$aJt#u*|GOEu)Q{8py` zUosya-NNIc!I7RnP6o3Ug$%IFWt`>WEl_?kFM%PPmD2zvuugsd-7~X?e&264Jwc=x z##C!F0p0SWobg}^Ry@-aMq5({U`XlAM(zM~laG0hVp`bT$y5YUPf&pe$op!}4?pADAKcm=?!2Fk5r$or1d2MvywrtL*q`P6vvS%0*HlJjdv69*u| zmD-bj@+@+#)8*H9b|Sza9t@w?5(kHa(M{vD4Q2oJ(iU+4kd^2ie_p{PBObwdBPz&WVujMNst!2wNDv|u}T-La~E@f>Qn$`W!`m+zf)$0UZ z_WWxbB_3MKl&Kh?z8M9sF60zA6Uad;xd5kD^n3C8AT!433KNtVH%>X89|=!atOcgH zY;R?{1dVfe^AjA&@%HxM>e7b~*#4&PZUBGDptCa=tK#PR({c~JviqEw>8E414{9*N zRXFruw+HI>WF`c;334(BpM3 zfG){2gC~$~|2)%?^s=d1i2=S%qJ)PH}TV}IcX=DcmYyQl}WEzh?vi9;eN4TN_2H5V5 zg*`i64Fi1wYuKVQ;o6NEK`cl?LU=@ug_MGqN5On2Db1}&D3VbRUC77T#Qq$v3H~I{i8Qo9) z!#%5aluI)Kr7~rOiKnZ^W9I0U6~Q+opEqfK91}S941DXt7NfNwYH&rc`g}mIo#h0= zSwB9$(4bk4rup9t5N3s|OS00;&1G&s0GN~DVGTXMOBr#fvxt`(U{S`viU)!Ew$Jr! zGQ{LykRJS0d#IcE(@pK1Etzxc&%D7r!4&Bi0AGP^v)81N!N-F^`3eeH0NxxZ@4E8S zO&0^r%A2ifjeDZnxI|KPdO3cEg7+SkY?kfMpwuEZoTLW=2eFPeG?g<2Km-PS`3361 z6J=Qf15ua>{g@4~Alspwzp>uHxkLv%WCudA)jZ!v=x+F~Td)I5$lJU($kG)1lM5;hF)O+k}d%F@=)E87YiJMelEk~Jo5|0ESa;SbGU zPN&`Z_-kD20f~D!yFZs(~2%ST^D4fa|P)6e`?8h+nb zUKVd|wV$SAD`j!q;xytdT4Y8wLp2~=xJ>Vzhmd3p88lAK_!VNImPq2E z<}lfK&IDfdWZ9p$eIKkd)q;#ymvX|R)V-|DbdyGX$wF7j^Gc?A?BDx>FEXzb-M(@_ z-Ua7AjZ*qAPzL;_sFZ$C-*MgNQ)>qL+=rQ`?2w}VSD9YHMS6S?K)E)Mg;N3gxT}Vp z@A=6AjUI7f7m3r4wgcyEBU;~t6a;#Ru=GdD{`SZbD~exLN`ZaKNdTwentPhzy3a2Dx7?izjaK8YJmpV6Nn5S+B4C2IF(|fA6R8 z3h(Xke<|dG__07HvMK8Urp6l9+VT4ofP|mC2d`#DRl}B0U^mZgBB&uOMd6XGK;xlh zNNUhEZ5R~P$v=3LcYAzZ%Pfk^L{xR;(T<>TAYv)h2f$EWO*|}vZD(V|>xDD6{KIdE zx9b+9g#Y>Y0UZK&*)(1gIrMYh$S)E#@C&S*Cs&R(yr&OAq({}#d^4m$u?I6`_duK7sZRQ7+J|Y^dV+AaiIpD3i}QpLIVB5w8@WY?vdm})K5wBac&`qx$iDTs zNp9&}n4|;};SGJCLu#~&R{9hW89K&;n2SmrK9uET9|zPnsk~7me2dB;l@qUL4DzJC z9hM0&X~DbNSo(PP{Tz^3Z|TW_BG)N-rftg|B;1q;nE_ecIuKxJk7NlYt_{d1eguNivUys z9k`3=piWC_-mvcvH;|UdR;#^QteLkM55*&v1LVM=hk*XpueujMz1Eo+ukHT&CJB%P zMm*KO6pC_PRpNY>YQUlMROm(4Kd}qzSyI#C`Z984IiLn1uNSvg#QKuD%htQT5L}dZ zWT57`TJ*7a!S4ZEd-V4X<2V^~1sz=Y@|%`IM4;#0j3`L@RZNnY6B){$F2^F#gS$E+ z6J*xgQ>2{`L8Uf1d9r5^CqGD7v-(#nL0tqzIz1X*S*qa6N6pB+NxSPsnp}&_r)g!} zi$RCGDyLd>08jpfb!tPH(Bx8$T#lQc=zO5zM--WE=>>>QP^4e>=oHr=v`eGzAvvS9| z@`g4mj~I*7nOehZr&u&IvK7FIqe>NhamK~e4LQr^t&NcKs4o(Y>_z*NgKtt6bfcfECSND`Yjj z-wM5GzecRHpMRN0y>&gmY1=EioDQy9H+eo?yjX19_QGJG%KLTUZBG~)Abar~vU)rD zkmS_>W$!mb6WD?n!VNEPX8mF{-t>!rxb1yEyT8gf=G_VSj^6u=YF-x6?hp8U4heES z<4AIDVo#pp*h=v!XzaKC7 zKmVFZr2IKKOxwUlXpb#U3drS2#=mcR$IchfT%n2vM9SelvU)GCR3ux^SxZYC?}UoL z)2xj|otxNDXMyZ`pIdFQZ0V_k{@&c#6WcebQ!SU$6-PNarlC7tw~~zqCKUxdvorm# znEJ7Dzw8`@$$!M-Plr&%WbQSV=umKyAcbiaAT7+i%A zx%c$lj-~--sv`w6MJpCa(nHRELTBbLkrQz?7sSN7o*y>SC3@$Pkg3Gik(&l6Lo&42 zM`&(-+M3z?+W;kEiA&TAG?>qezpTr!JGX8>wV1s`0UOMDnN3GxW6)k^5EWqh`)gN0 zWCAgJvRNQ|4X#-I?@5#gzUUh9M@J%Yca$HopFjy#Hp!WY*>zR~hSOFr$jmzX;yL@} zSAOZGlOJYYs}WG8v1ie##2cg3r8?+xN`Q1^w-pNv5C_%JtZF^?#j~Q=ol0u8y} zv&sJN>=qu^Tg?_29jGOno=VK5QF+ty#T@u2bal;*v+cycDk_}f8JmeNN9JD8>Ec+xd)%Rlx-uR9sd-<lse2b3SNU-ef$BtD`x&ZJwc#0@4A5s+xCs6BnQjhBKQU#{~D=?t!j%VSh58E~Ex zzWgVPlGUr4{#=3O;+W`t-#<&pMv`e+%n=XCF?!|x^yx*PqtNKRGRLTG&66YMqYNLs z^i>grU5qy2ttr4{r>k;2s^ogodhrhSEIgVGB}Xf?ta{%Y<$q>VY~CCwW194$tzNR}NWI(L&)!soMN|9W-JIhdZ^YTp`{Cf&)7 zS)U^*qtl`pd@cfNNZ({r^4wY=uc5 zJt`axcRjme8vQ=k<1o7Zc&UtJdiH+p{K+9t;x|%;$cZpWusVFUARN2FwJ>_1*Y)>y z*~$HxofeP7ne)2?+=tnuqx_ilJEW-P6nBkp4Q6{yr)@D-JlCp8SeEuyWd8Rh!vO-mYhh?aiGzc@%T=%2{db zAM&m>;n7!}v@vXDhn%Xvr|KI6wzh4Nb{Cp7S;ODZVH&@ElbR>3tSfCnS zk$M-OT&KTed;NYZR98)b?ODaY5M0HE&;RZddp|M3)}94w3d|lZzPLsZb+W0RTzSD@ zcJwd3ipkxSdSt1Jcs|xC@Y>c*lXe|WT`KuT1217Ox863SN)Wg3l^Dcw5c~|kD9vgQ zOSGvXho1a=zL-sYNCC^N%DOz?Rcju%A_F!{O^eF2TYJNgj~IAIk%FRy_=D_ssR9y4*)ky+;9zD)V~(*;T%UWma=+|uhrR#P z@nRB1tQONm;2g|N8#KYClTV3= zS2W!%eBa#12VJ7%oI}a=@(AR$d{PW{G!VZ3)!df- zd2{b`4dfTG`-~b6ObV*&P_hXNoR@)Y?n53Wke}lP<5#gQpV{VH&Qg~92EjxeEl}(Kw9&wLWc$`>jRuLZV!$~HnwqI-zu;PXJNx~i0TaJBneLul zcEk&AT!rYXPf2w3S0BGXw3&I)R1Ub4&svG2V6KfFzer==M&B>BHY?|B4_c*`F!qyn zaX0_;6`%;m>FM{%y}#c&8jK~~*bhh{e!WqxutG$e{Yn%ASIul+WuIjCIPVy|(3(}> zkq4i&q#|k?(9Sj*zgIufo+soEpO;y-ic}B!RV#)ky-Xtfe%GKzM(o(!h%Wu_P^JVU ze6Kr?U6F3^<$@9FmAnPveQWd5*RM}0(pe;Lj@$2a+?+GLde|&RDs~a-D_$XSPZ>1( z08nI!2B|N{=h-yso7}t`ZkZe}T@hfnPA_5eZ3+B+vFr0>%%ADVeW|maQ*zqgsLB*_ zCMGkb&d#cq*%2XPPPDS7_|vLU z>fyH{&-7TnK^V6gC3NG0AlO!Ye!KhIRg{xo=e~wQ#a5&(8M+oRI`+KBixDib?v4jw z+-cc;!0L`ykS!VB@tDaCBmGGZ$|>3mSE$Iba)u>&p8!+wJb=n@Z#4WM;J_+qB)rn2 zsw4QNu%idOX>__5i{1S1`Ah<|sr6)-XR&zXg=3n~i{UnoBI(cZcX!GjaEgNue2Y%1 z&yZ$Xco9)|3xSx+2Qdz{iFfm#I#c~ydVy-RPPqc^wYaD081T7qW=| zzg2NP)mK=kBR5mBY;(I)460w3=VJ>bga%g*a72Hg%y`J6f$Sa ztas=q9Q(14f>Zl-eO9)qi8DSu7fQkt?#Mxi3VQuNlMqhZ%~B>GCj*X*RX^~}A794- zO-nJ{&QsG6is-9_fyVP3Si?I5Ta#o6d1oz9{^#OB{$Jricma{_Oqick{8zfTfIw-l z>e^^Vb-zfEvAu$So{DjEzKYiSty~sZoHO@5e8KEHIDW^I2m?V@49u zoCQ$ECs)NQ#zYJ_HV>yGos(r?`1bVj?=L4Zk&DbA5$zV|7g{2y%@ zGj;^rrTfR!DgDHlyGRV6w&)V!#Qaf|@zu&eX9*ONaQ?uEeg`r;aT|ge`e24!Nb62R zjU9wSJ-+Ld?nEooqmIzYQdRgg}b`W$jzz9w+s~Fs|;DZ6+*N)2dUao)neo+`t zpmupiG281_RrD}3ZsNjtL$@r3nKcGbW{DA6;oouZ06YZnMwkx*jXw<*${w~Jw0R@z zyn+Lq4HARpr3uV<9j5H)=|NLX_k9dRv{?Ic`ri~N$A4m!7}NGUocs5!GKwWsr2v84 z*;#OnFwEG%=KLKroazD{=+Z(!YBm^)5V8U&>X1-Yfo?nUdMUSs(Xw)~&d|h@%o(oL z4CXtUbG?%Q2cf8}xDhWj>^(s#U}<2qk?- z2Xf?8B4De=r!zPn=Va2G%h0V$W0=$le^?xUxfzmEDaYj0CbH)+Gco})vO$A8Si_-X z(?XKb@WZjcD2BHTZbgnIUPM!^s}3XKADM12*mlx_LJw@ zu4Elc+SHVManxYKXZU=214Pw|yn3vC_PG=I5Yj1O2XZH?E_x@!ve`TTA*f4!QDM{X zE+1Dz-UtC;X1V)HtSv}}4cwzO2CWDNU%Jb32y*i3;H|V0GADAn%O9j<0NfzWg@!S&bb zl)p%{1X210 zWmCn`gbz`|_bkD+lfskd{QsFI{-;<;mk$B5mxf5)Y>@`wd>GCHwjMJXF5A?=tE^g@ zvj=z=%1g}T{c9;AyW}oTxJDeJ_^!W#7ehOj zRNa7XU%J2pMVQ+iq_4jrWseO%<6%p+Wo_#^?hj4Lcnnc}n6SYbRzosXR?w4!RX}1M zrbB>qiceiwTEfBwtl^>O*nvFdR!OwzD?zm=gWE=7Y1W~ONg9vWLIkV5~sLfNu0V;Idm_{J8b+p9tyar#!E8#XCBy*<_kpI}mWCIQuxuFx6@;iB~yXKYEB+>BlBaB1WFCf83^YZX38x zM!5kBcl`K867VPx5pNV!$x1NhRZ0UOrCX#eG2bjSq-E^)w)jhEX5T>!KGnL>!NG5M zFW?wTdPj;sM$m&Rftmm#RE@yl<6?;Jl@4>-hwXB$Id)oR1{D5Gsf`277FRhVl((~r zw02O)If|pSb&@^Tymp{MLz9zmQ{Zb0^FmoPOh;hAw2XGPnt$MH%m{c&xLGh8AuL8{ zB5#*AlL4M>oo3czGBYi8V2evoMDLX}?^&(}_T-tim`skC8JAGlcGVjhL7Zho!UYnQ zxXN;egW-&Cp995ce0zc(-w||7aoE4^E?{)co9|`ZewSqi#V<7o7Au>Fj{Q-Tbabvf zZNA9X|L$vpj)Vdh`si*VEh~DFN=&47dR8!#;SEeY-(Ak9ofHy(J16xyRKVzn5??-M z*3btcsIgaas8z*d5e*V8Qd)#|rU1vG;hWQ8o30G(Cq&muOii(nnaU z4cqxX3ALz-Ez-|JpGI;%pPYL;YVI;ej-h#O3t`qi>$Hn-X5*YO%a+6sR6_pBd8?J8 zuqysWf|!xS&!r7nXv~AGX2aY3EP@N&8JLNnh{Le3uWVnYD=$Q{Y+|gMdXo$@14F;; znGc(Y%Y^+cl^CUYqSDMf#)_hV9$WjqKycW8DOJix!<;;LU+=yJB)dB2Tgr)NG-z6R z)ad!Eby}-rMqRTIq-Ey(*82;xi-x$4b`Rf)YV9p>*6Mjn$9JvM;RO>bj-s@Vft5c- zn`*0z4u?v=BASxv3u+e%3(mKzfj!m=rJA~rZ-Zi`BUCE3k;DosG}=@S||U+MsR>RdVh2V z;28K~HXG~We8_ykiHJvQOo&-1FaDc01ZDH>`svF!%0r<=EVFNjp>w_EA+$nkBmQKa zKav%i1U@<3a;G*;;pO6h>L;nI)q9SzKQzfIS?MBHSc!yoCoU5Nu46XQS!k(_A4qE zcIP#XDVu7Yt^eMx8<|+ix=z62bfTiynm9YplW$+~av7~JH0`Kn!IR?M3{IS=@5xOC zN<235!Tw;LJD^&fa9PT=XU@9uR`QDd-A3H`dZ+X`hY=877_XrI-UD%&+>jo2>1;yB zjXK2r*li*hm_PY7t1l_WxkcnFbTl%9{xXb5GGMprB%{pA9t4-EZ|GpR+|Yw>oATpH zt{c6|ziy0yDS69UUSdh9MNBwHR|wy%k6NRM?srjpTa4PQ3PV;8PRO19lTx|t@Ph)D z>#<4D&dvpg(t5m?j4%@rXJfs9pO3t8DZ#98L~mp>N;aaROi}nEtF9?s-(5{32JRFC zBkwyt(nvq?Zw_n+bh08DP}Di&zGd(eWqC~Lp28EW$2hjbvhtId<;!zvxvbRb%*yUo z(@r58PYhyBJ`wG2Vle3u`Y=>bWmTHXln^k2lvk>N8d%G9Sds=);<7QpEV+m7Nrosn z)yz9`0{zHPsI=P40Izbz2QgvC`4K%f$o-C?cHdo)+|hZ)F(|~UafR_wuYkjyc2;6O z)mLUifOn(uYr;4A*)AUBd!G}~02(8Buah5Af!yMuiZ>xi3 z{DJt(9aQwqm!7CbI@wIT^sInjY59!YIWxxPbJI^NPOBn(Hj2ZrR*fL{#RX(ZV&xuH zF_CZ>7djX8_z9EkHfx~T>VNjob+q}>Vd4p#=8Lv)BxWs^q^4gKM!-W?*mcHhZVr!v zS)IzJW1%pWoxBvsx;8fK>fwc6+Svz>oNi+=n(zspy)`*2XR9iY|G6Aws2D&ETB|^6 z8R!089tbmdXBW8;d0xq3Fz)n}0GoY&babD|w4p}h;STB^okTa)1B|$qNyQHMkCK(i z3n4S3AN3&iDLGZ^-**~p#^_M=XB^e_F6V|;98qR}_H;w@eB!Rq@}m_Q2vM(H z!cyuG(Kqpi<-*DQ{#lVj*`W6FEfo2u_~ZkD+o&9_vtO9J-sE?A%zbOb$$k4wYl%M!yKT+cV&pk;v0j}G8vJ-qC z^064h>r?9-n4fe)kAh`KpHRXdqC+WP+@>PzVlygB8D-F2h7qVo_VJagnL05sF?k`n z#V(?W$$D1KrrMx+)Y-PF@xP<&R7Ekh-1gffExQN2GVwYWg;lE1oE7I$HOK}-iL?r< zIEe5Twp`#jN}?MES*4OogAfA{N(F{)}7K4i>R*?~{Lu$nyXVM8-;Ylkoc z=brS^yIcYpdKxbGD1f2RH!NG8#JrnpU+Vu-9$k7Nn9W~_tS%z)=~)cO%7~M-quQA> ziC_z0qr1zc#oaN4YdD|;f4Ev9elzGK^FWY0_=t6fZ@9X@dBj&OZ@F9d(rv;xIefm< z8U8WY7t@Zr!ICfy2sfltrO4}DsfujnKjU4U@$mgox%esWpCKkqJ&G!YgYuj`AMBN< zR2u@3GW(Gen&f5UeSbg3pm5u;HZSJ{OT(3AJuwtQ!Gc*gdywXh`9n4$4r8tB&BWJ~ znUkNH+ylGUoLzagYhl7~3zes+s8?iqW&L??8ZoTwL8*YinNgO}4L;2kk^J}EN{;{S z$(wdVDfXp4zU4>x%O9e_`Ypu|h?OGMXMf+0{&SH&2?cLnAih%mL}Q0BVkkr86DNjJ zqFIX|J!Jo#D$;vJ2{oH$`Mph{bfXwYrU1mLV1kr*Hs(vqyZD#M71mw%zt^{oV+yRx zi6caJNB?UOv#Up;B!r=S`~CtDN#%twBN#QjS+Qzn{JG=`)vhI7BI{KD6^0pY{BHvg zxt%(V-O8|GB&%Lr3j5ILPsa#3iZ)~~Ke=YJa#FgX&uC>D=2}NSkpjpvx)z)K+>w;Y zK&R;82_-ZxiQcBla#i*Hew#44-}JR%9?Qt58e`@!s98YlV|%k?4gcDEt<8veqpMM3 z?!sk@+0OXs+R>k^X{#VxUUrgk+MFs~+#SygZ`ZY+ARx}XL&{juFAo0rdrAbs#E3Ob z!SeUdSNV`R4={6hk7ip-_VPa0tkAU1pvtMYFCQTJmHSSn{J7sc)Dfcw=2-utg1#!5 zZAOP^{mP+_(PJ)1)_WA?P9YJ7r+}H5W({du;)KsDBVz3SAU`;yRJl9hyNB#l#xwEG z+Gh8t4C&9}v1RXq*q7C1lyYb~0Zm?~hQ9aG{MvLmZN@&=C>d(N7xBFj$7909v$njF zUixv8!;yD|uauc#Uj4#I7i#w{NJCP2KUGjk=`CbzD*gM8vS? z=bNkZ7hrJJuofkQZPG~txkIj=Z-%KD?Diw`U3!01-ekRPLN!3x_NCXdH{))7+&gG1 zQpHT^Z?z-Km!xZS1Mz?T?p(H!UnZaAh9%`1-mkpwg26$!MNBtxiv(SkZ<$xScW&W- Pedk7cCc4kGo#X!xqn6z2 diff --git a/src/intfac.h b/src/intfac.h index 3538404e3..10a11f838 100644 --- a/src/intfac.h +++ b/src/intfac.h @@ -372,6 +372,12 @@ enum { IMAGE_VDP_UP, IMAGE_VDP_HI, IMAGE_GN_STAR, + IMAGE_GN_15, + IMAGE_GN_14, + IMAGE_GN_13, + IMAGE_GN_12, + IMAGE_GN_11, + IMAGE_GN_10, IMAGE_GN_9, IMAGE_GN_8, IMAGE_GN_7, diff --git a/src/multiint.cpp b/src/multiint.cpp index bfd6e83c1..38b0ced0b 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -126,6 +126,8 @@ #define WZCOL_TERC3_GROUND_LOW pal_Colour(0x00, 0x1C, 0x0E) #define WZCOL_TERC3_GROUND_HIGH WZCOL_TERC3_CLIFF_HIGH +static const unsigned gnImage[] = {IMAGE_GN_0, IMAGE_GN_1, IMAGE_GN_2, IMAGE_GN_3, IMAGE_GN_4, IMAGE_GN_5, IMAGE_GN_6, IMAGE_GN_7, IMAGE_GN_8, IMAGE_GN_9, IMAGE_GN_10, IMAGE_GN_11, IMAGE_GN_12, IMAGE_GN_13, IMAGE_GN_14, IMAGE_GN_15}; + // //////////////////////////////////////////////////////////////////////////// // vars extern char MultiCustomMapsPath[PATH_MAX]; diff --git a/tools/image/image.cpp b/tools/image/image.cpp new file mode 100644 index 000000000..9fd476b9e --- /dev/null +++ b/tools/image/image.cpp @@ -0,0 +1,477 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +void printUsage(char const *programName) +{ + printf("Usage:\n" + "\t%s split data/base/images/intfac\n" + "\t%s join data/base/images/intfac src/intfac.h\n" + "\t%s split data/base/images/frontend\n" + "\t%s join data/base/images/frontend src/frend.h\n" + "\t\t--no-crush: Don't crush modified png files.\n" + "\n" + "The header file argument is optional. After splitting data/base/images/X,\n" + "you may edit one or more of resulting data/base/images/X/*.png files, and\n" + "then join. After splitting, you may also add files. If adding a file\n" + "called image_my_file.png, you should add a dummy entry such as\n" + "3,0,0,0,0,0,0,\"image my file\"\n" + "which will result in the file being placed on page 3 if possible, or any\n" + "page with room, if there isn't room on page 3. The last two numbers give\n" + "the offset. The remaining numbers are ignored.\n" + "\n", programName, programName, programName, programName); +} + +bool shouldCrush = true; + +void crushPng(std::string const &pngFilename) +{ + if (!shouldCrush) + { + return; + } + /* + system(("pngcrush -o9 " + pngFilename + " TEMPORARY_FILE.png > /dev/null 2> /dev/null").c_str()); + system( "advpng -z4 TEMPORARY_FILE.png > /dev/null 2> /dev/null"); + system(("mv TEMPORARY_FILE.png " + pngFilename + " > /dev/null 2> /dev/null").c_str()); + */ + system(("optipng -o7 " + pngFilename + " > /dev/null 2> /dev/null").c_str()); + system(("advpng -z4 " + pngFilename + " > /dev/null 2> /dev/null").c_str()); +} + +char upper(char ch) +{ + if (ch >= 'a' && ch <= 'z') + { + return ch + 'A' - 'a'; + } + return ch; +} + +char lower(char ch) +{ + if (ch >= 'A' && ch <= 'Z') + { + return ch + 'a' - 'A'; + } + return ch; +} + + +std::string filter(std::string const &in, bool lowerCase = false) +{ + std::string out; + for (std::string::const_iterator i = in.begin(); i != in.end(); ++i) + { + char ch = '_'; + char up = upper(*i); + if ((up >= '0' && up <= '9') || + (up >= 'A' && up <= 'Z')) + { + ch = lowerCase? lower(up) : up; + } + out.push_back(ch); + } + + return out; +} + +static const unsigned DEFAULT_PAGEX = 256, DEFAULT_PAGEY = 256; + +struct ImgEntry +{ + ImgEntry() : tPage(0), tx(0), ty(0), sx(0), sy(0), ox(0), oy(0), dirty(true) {} + + //bool isValid() const { return tx < PAGEX && sx <= PAGEX - tx && ty < PAGEY && sy <= PAGEY - ty && tPage < 1000; } + + unsigned tPage; // Page index. + unsigned tx, ty; // Location of top left corner on page. + unsigned sx, sy; // Width and height. + int ox, oy; // Offset, used when blitting. + std::string name; // Name of image. Capital letters only. + + QImage data; + + bool dirty; // If true, tPage, tx and ty are arbitrary. +}; + +struct ImgPage +{ + QImage data; // Pixel data. + + bool dirty; // If true, image data has changed, and the page file needs saving. +}; + +struct ImgFile +{ + typedef std::vector Entries; + typedef std::vector Pages; + Entries entries; + Pages pages; +}; + +void arrangeEntryOnPage(ImgFile &img, ImgEntry &entry, unsigned page) +{ + unsigned PAGEX = img.pages[page].data.width(); + unsigned PAGEY = img.pages[page].data.height(); + if ((PAGEX > DEFAULT_PAGEX || + PAGEY > DEFAULT_PAGEY) && + !(entry.sx > DEFAULT_PAGEX || + entry.sy > DEFAULT_PAGEY)) + { +//printf("Skip page %u = (%u,%u), need (%u,%u)\n", page, PAGEX, PAGEY, entry.sx, entry.sy); + return; // This page is special... + } + + std::vector pageMap(PAGEX*PAGEY, false); + for (unsigned e = 0; e < img.entries.size(); ++e) + { + if (img.entries[e].tPage == page && !img.entries[e].dirty) + { + for (unsigned y = img.entries[e].ty; y < std::min(PAGEY, img.entries[e].ty + img.entries[e].sy); ++y) + for (unsigned x = img.entries[e].tx; x < std::min(PAGEX, img.entries[e].tx + img.entries[e].sx); ++x) + { + pageMap[x + y*PAGEX] = true; + } + } + } + std::vector cy(PAGEX, entry.sy - 1); + for (unsigned y = 0; y < PAGEY; ++y) + { + int cx = entry.sx - 1; + for (unsigned x = 0; x < PAGEX; ++x) + { + if (pageMap[x + y*PAGEX]) + { + cx = entry.sx; + } + pageMap[x + y*PAGEX] = --cx >= 0 || pageMap[x + y*PAGEX]; + + if (pageMap[x + y*PAGEX]) + { + cy[x] = entry.sy; + } + pageMap[x + y*PAGEX] = --cy[x] >= 0 || pageMap[x + y*PAGEX]; + } + } + for (unsigned y = 0; y != PAGEY; ++y) + for (unsigned x = 0; x != PAGEX; ++x) + { + if (!pageMap[x + y*PAGEX]) + { + entry.tPage = page; + entry.tx = x + 1 - entry.sx; + entry.ty = y + 1 - entry.sy; + entry.dirty = false; + img.pages[entry.tPage].dirty = true; + return; + } + } +} + +void arrangeEntry(ImgFile &img, ImgEntry &entry) +{ + if (entry.tPage < img.pages.size()) + { + arrangeEntryOnPage(img, entry, entry.tPage); + } + + for (unsigned page = 0; page < img.pages.size() && entry.dirty; ++page) + { + arrangeEntryOnPage(img, entry, page); + } + + if (!entry.dirty) + { + return; // Done. + } + + ImgPage newPage; + newPage.data = QImage(DEFAULT_PAGEX, DEFAULT_PAGEY, QImage::Format_ARGB32); + img.pages.push_back(newPage); + + arrangeEntryOnPage(img, entry, img.pages.size() - 1); + if (entry.dirty) + { + printf("Couldn't find room for entry on a blank page, entry (%u, %u) too big?\n", entry.sx, entry.sy); + exit(1); + } +} + +void arrangeEntries(ImgFile &img) +{ + std::vector, unsigned> > dirtyEntries; + for (unsigned i = 0; i < img.entries.size(); ++i) + { + if (img.entries[i].dirty) + { + int sx = img.entries[i].sx; + int sy = img.entries[i].sy; + dirtyEntries.push_back(std::make_pair(std::make_pair(-std::max(sx, sy), -std::min(sx, sy)), i)); + } + } + std::sort(dirtyEntries.begin(), dirtyEntries.end()); // Sort by width and then by height. + for (unsigned i = 0; i < dirtyEntries.size(); ++i) + { + arrangeEntry(img, img.entries[dirtyEntries[i].second]); + } +} + +void writeEntry(ImgFile &img, ImgEntry const &entry) +{ + QPainter paint(&img.pages[entry.tPage].data); + paint.setCompositionMode(QPainter::CompositionMode_Source); + paint.drawImage(entry.tx, entry.ty, entry.data); +} + +void writePages(ImgFile &img) +{ + for (unsigned i = 0; i < img.pages.size(); ++i) + { + //img.pages[i].data.fill(0x80FF0080); // Make empty areas pink semitransparent. + img.pages[i].data.fill(0x00FFFFFF); // Make empty areas white transparent. + } + for (unsigned i = 0; i < img.entries.size(); ++i) + { + writeEntry(img, img.entries[i]); + } +} + +ImgFile parseImgFile(std::string const &fName) +{ + ImgFile img; + + FILE *f = fopen((fName + ".img").c_str(), "rb"); + if (f == NULL) + { + printf("Couldn't read file \"%s\".\n", (fName + ".img").c_str()); + exit(1); + } + char buf[101]; + ImgEntry e; + while (fscanf(f, "%u,%u,%u,%u,%u,%d,%d,\"%100[0-9A-Z _]\"\n", &e.tPage, &e.tx, &e.ty, &e.sx, &e.sy, &e.ox, &e.oy, buf) == 8) + { + e.name = buf; + e.dirty = false; + img.entries.push_back(e); + + if (e.tPage > 100 || img.entries.size() > 100000) + { + printf("Invalid entry \"%s\" in file \"%s\".\n", buf, (fName + ".img").c_str()); + exit(1); + } + + if (e.tPage >= img.pages.size()) + { + img.pages.resize(e.tPage + 1); + } + } + if (!feof(f)) + { + printf("Invalid entry in file \"%s\".\n", (fName + ".img").c_str()); + exit(1); + } + fclose(f); + + for (unsigned i = 0; i < img.pages.size(); ++i) + { + char index[100]; + sprintf(index, "%u.png", i); + img.pages[i].data = QImage((fName + index).c_str()).convertToFormat(QImage::Format_ARGB32); + img.pages[i].dirty = false; + if (img.pages[i].data.isNull()) + { + printf("Error loading file \"%s\".\n", (fName + index).c_str()); + exit(1); + } + } + + for (unsigned i = 0; i < img.entries.size(); ++i) + { + ImgEntry &e = img.entries[i]; + e.data = img.pages[e.tPage].data.copy(e.tx, e.ty, e.sx, e.sy); + } + + return img; +} + +void writeImgFile(std::string const &fName, ImgFile const &img) +{ + FILE *f = fopen((fName + ".img").c_str(), "wb"); + if (f == NULL) + { + printf("Couldn't write file \"%s\".\n", (fName + ".img").c_str()); + exit(1); + } + + for (ImgFile::Entries::const_iterator i = img.entries.begin(); i != img.entries.end(); ++i) + { + fprintf(f, "%u,%u,%u,%u,%u,%d,%d,\"%s\"\n", i->tPage, i->tx, i->ty, i->sx, i->sy, i->ox, i->oy, i->name.c_str()); + } + + fclose(f); + + for (unsigned i = 0; i < img.pages.size(); ++i) + { + if (!img.pages[i].dirty) + { + continue; // Image not changed, no need to resave. + } + char index[100]; + sprintf(index, "%u.png", i); + std::string pageFilename = fName + index; + if (!img.pages[i].data.save(pageFilename.c_str())) + { + printf("Error saving file \"%s\".\n", pageFilename.c_str()); + exit(1); + } + crushPng(pageFilename); + } +} + +void readSplitFiles(std::string const &fName, ImgFile &img) +{ + std::string dir = fName + "/"; + for (ImgFile::Entries::iterator i = img.entries.begin(); i != img.entries.end(); ++i) + { + std::string png = dir + filter(i->name, true) + ".png"; + QImage newData = QImage(png.c_str()).convertToFormat(QImage::Format_ARGB32); + if (newData.isNull()) + { + printf("Error loading file \"%s\".\n", png.c_str()); + exit(1); + } + if (i->data == newData) + { + continue; // Nothing changed. + } + i->data = newData; + if (i->sx != (unsigned)i->data.width() || + i->sy != (unsigned)i->data.height()) + { + // Image size changed, mark it dirty, since it probably needs to be moved. + i->sx = i->data.width(); + i->sy = i->data.height(); + i->dirty = true; + } + else + { + // Image size did not change, so can just write it where it was. + img.pages[i->tPage].dirty = true; + } + } +} + +void writeSplitFiles(std::string const &fName, ImgFile const &img) +{ + std::string dir = fName + "/"; + mkdir(dir.c_str(), 0755); + + for (ImgFile::Entries::const_iterator i = img.entries.begin(); i != img.entries.end(); ++i) + { + std::string png = dir + filter(i->name, true) + ".png"; + i->data.save(png.c_str()); + crushPng(png); + } +} + +void writeHeaderFile(std::string const &fName, ImgFile const &img) +{ + FILE *f = fopen(fName.c_str(), "wb"); + if (f == NULL) + { + printf("Couldn't write file \"%s\".\n", fName.c_str()); + exit(1); + } + + fprintf(f, "// THIS IS AN AUTOGENERATED HEADER! DO NOT EDIT (since your changes would be lost, anyway)!\n" + "\n" + "#ifndef __INCLUDED_%s__\n" + "#define __INCLUDED_%s__\n" + "\n" + "enum\n" + "{\n", filter(fName).c_str(), filter(fName).c_str()); + for (ImgFile::Entries::const_iterator i = img.entries.begin(); i != img.entries.end(); ++i) + { + fprintf(f, "\t%s,\n", filter(i->name).c_str()); + } + fprintf(f, "};\n" + "\n" + "#endif //__INCLUDED_%s__\n", filter(fName).c_str()); + + fclose(f); +} + +int main(int argc, char **argv) +{ + char const *programName = argv[0]; + + if (argc >= 2 && std::string(argv[1]) == "--no-crush") + { + --argc; + ++argv; + shouldCrush = false; + } + + if (argc != 3 && argc != 4) + { + printUsage(programName); + return 1; + } + + std::string action = argv[1]; + std::string base = argv[2]; + std::string header; + if (argc == 4) + { + header = argv[3]; + } + + if (action == "split") + { + ImgFile img = parseImgFile(base); + + writeSplitFiles(base, img); + /*for (ImgFile::Entries::const_iterator i = img.entries.begin(); i != img.entries.end(); ++i) + { + printf("%u,%u,%u,%u,%u,%d,%d,\"%s\"\n", i->tPage, i->tx, i->ty, i->sx, i->sy, i->ox, i->oy, i->name.c_str()); + }*/ + } + else if (action == "join" || action == "repack") + { + ImgFile img = parseImgFile(base); + readSplitFiles(base, img); + + if (action == "repack") + { + for (unsigned i = 0; i < img.entries.size(); ++i) + { + img.entries[i].tPage = 0; + img.entries[i].dirty = true; + } + } + + arrangeEntries(img); + + writePages(img); + + writeImgFile(base, img); + if (!header.empty()) + { + writeHeaderFile(header, img); + } + } + else + { + printUsage(programName); + return 1; + } +} From 5b9467d8d5fff58b0322d44ced76c9e032492c71 Mon Sep 17 00:00:00 2001 From: Cyp Date: Mon, 3 Jan 2011 18:16:54 +0100 Subject: [PATCH 135/142] Add IMAGE_PLAYERN and IMAGE_TEAMN for N = 8..15. --- data/base/images/frontend.img | 32 ++++++++++++++++++++++++++++++++ data/base/images/frontend4.png | Bin 13277 -> 13054 bytes src/frend.h | 32 ++++++++++++++++++++++++++++++++ src/multiint.cpp | 1 + 4 files changed, 65 insertions(+) diff --git a/data/base/images/frontend.img b/data/base/images/frontend.img index ee090452a..f55d1cdfa 100644 --- a/data/base/images/frontend.img +++ b/data/base/images/frontend.img @@ -26,6 +26,14 @@ 2,116,53,22,19,0,0,"IMAGE PLAYER5" 2,139,53,22,19,0,0,"IMAGE PLAYER6" 2,162,53,22,19,0,0,"IMAGE PLAYER7" +4,234,63,22,19,0,0,"IMAGE PLAYER8" +4,71,155,22,19,0,0,"IMAGE PLAYER9" +4,93,155,22,19,0,0,"IMAGE PLAYER10" +4,115,155,22,19,0,0,"IMAGE PLAYER11" +4,215,168,22,19,0,0,"IMAGE PLAYER12" +4,71,174,22,19,0,0,"IMAGE PLAYER13" +4,93,174,22,19,0,0,"IMAGE PLAYER14" +4,115,174,22,19,0,0,"IMAGE PLAYER15" 2,219,135,35,28,0,0,"IMAGE HOST" 2,112,25,35,24,0,0,"IMAGE NO" 2,148,25,35,24,0,0,"IMAGE OK" @@ -124,6 +132,14 @@ 4,125,27,25,21,0,0,"IMAGE TEAM5" 4,150,27,25,21,0,0,"IMAGE TEAM6" 4,175,27,25,21,0,0,"IMAGE TEAM7" +4,215,0,25,21,0,0,"IMAGE TEAM8" +4,215,21,25,21,0,0,"IMAGE TEAM9" +4,200,42,25,21,0,0,"IMAGE TEAM10" +4,225,42,25,21,0,0,"IMAGE TEAM11" +4,82,48,25,21,0,0,"IMAGE TEAM12" +4,107,48,25,21,0,0,"IMAGE TEAM13" +4,132,48,25,21,0,0,"IMAGE TEAM14" +4,157,48,25,21,0,0,"IMAGE TEAM15" 2,168,182,35,28,0,0,"IMAGE HOST HI" 3,221,54,78,29,0,0,"IMAGE KEYMAP DEFAULT HI" 4,6,56,19,24,3,0,"IMAGE EDIT MAP HI" @@ -137,6 +153,14 @@ 4,116,82,22,19,0,0,"IMAGE PLAYER5 HI" 4,139,82,22,19,0,0,"IMAGE PLAYER6 HI" 4,162,82,22,19,0,0,"IMAGE PLAYER7 HI" +4,49,180,22,19,0,0,"IMAGE PLAYER8 HI" +4,137,180,22,19,0,0,"IMAGE PLAYER9 HI" +4,159,180,22,19,0,0,"IMAGE PLAYER10 HI" +4,181,180,22,19,0,0,"IMAGE PLAYER11 HI" +4,203,187,22,19,0,0,"IMAGE PLAYER12 HI" +4,225,187,22,19,0,0,"IMAGE PLAYER13 HI" +4,143,199,22,19,0,0,"IMAGE PLAYER14 HI" +4,165,199,22,19,0,0,"IMAGE PLAYER15 HI" 4,0,103,25,21,0,0,"IMAGE TEAM0 HI" 4,25,103,25,21,0,0,"IMAGE TEAM1 HI" 4,50,103,25,21,0,0,"IMAGE TEAM2 HI" @@ -145,6 +169,14 @@ 4,125,103,25,21,0,0,"IMAGE TEAM5 HI" 4,150,103,25,21,0,0,"IMAGE TEAM6 HI" 4,175,103,25,21,0,0,"IMAGE TEAM7 HI" +4,184,63,25,21,0,0,"IMAGE TEAM8 HI" +4,209,63,25,21,0,0,"IMAGE TEAM9 HI" +4,200,84,25,21,0,0,"IMAGE TEAM10 HI" +4,225,84,25,21,0,0,"IMAGE TEAM11 HI" +4,200,105,25,21,0,0,"IMAGE TEAM12 HI" +4,225,105,25,21,0,0,"IMAGE TEAM13 HI" +4,215,126,25,21,0,0,"IMAGE TEAM14 HI" +4,215,147,25,21,0,0,"IMAGE TEAM15 HI" 4,72,0,35,24,0,0,"IMAGE CHECK OFF" 4,108,0,35,24,0,0,"IMAGE CHECK ON" 4,144,0,35,24,0,0,"IMAGE CHECK OFF HI" diff --git a/data/base/images/frontend4.png b/data/base/images/frontend4.png index 284f61da679aabe4edef7a3ae7246bf7210b3cc2..b5f4455d2abb03e525d7ca48183923012f4315d1 100644 GIT binary patch literal 13054 zcma)jXH?To6YnM@bRAgdMkmSbadEfV*b3ffLyPMgW+1Z)j%>K{rNxZ4C9via&GXQ|iKwtX`01(;` z0vPFOotyYI}Az~Uoje_c4PP6Qs*ht`FN4g zd1mR;)^9aGt@4}A7ke>Z-T#2Aer zG69{~7nMt^PMX-1?3!W$Vbmj^J_?Be`G+!k5Pe2XAPLJhml!`!I?M2Pp&w9GSh&H# z*8)@$NP$W03=6~;HPp`z+R)?zHf`R~grq@sckT&r{3N0smg`=Ulqc#fHU0+ZL*E5l z+#HE;)djy*Yx(T}>xv5(cxeyZnpi;8@hga-33mj54y?PaXDLGn1&kiic`UdW5oc|9 zAWrNCxet~w4)XMvqazUk5Vu0kHH9VZ8hpuBV44Fj^YRuu?sfZW_64L@&O*|L7=!5f z$4d{H!5M@hMxN2(+`%FgdiYTGcIr2HKzka=elF!cd53A>&S4?9B zM%$DSIOeEzbaSfcm)_YCX`r@Lv1bFrQS4K-z;(mkI;Krm)ach;Pb=0`{2inLakTdO!UJR-#rdg_(1o30}{7ISQI`Xl{#C=4|7prb5fsO4e+ z6&Sl~APwZ3@Hv|-IK!S**_Z2aG#f&%<|&G%i(te$80=$sP>rfR#LE%$ba6flB!K+%AvLcbT3KZ9x_? zWT(w^NNt&zP)&~<8%1~v_DJjrb!RW;Md*Y#*S-0S=vts8G?N==q%k%++Sl6?$tivm?O%KMjYj65of**)DSA$p23b*-==RM$) z1_n1zsl~Jg@3~Zi>YAF*o6Nufec@{3Ut3$La*ZRZHjV5zMl;cF{yLVDBOD zYpf)U)gV*{W;pHoOayUG_u=+ZiQ^ka?IdA?oXIWJg4x%USJcg+9Baka9vI4p-S*3y z+kKsFmoXc7aU2pk-Q4x zgkgk+lk@9PRHq(LhsK=*swJe;xCpbJLnz@7b*QKbcQ*M@V8RcmGa&q6vK64?&<6CP zinJmdW=$Y(vCODNeJa;PRz8+dOBKG}g884D_HGldpL=|~$>oti9tA0XuTy_g?L7$FH_O z=N6$UybZlKA?3eMrf(-_XRzQT^~f6iR`_KGOxMXse3Ef{l+UW zA4%axoukn|yRgatSo<23R)z&VZsO(YLGJQ@ekA-k0eAtHd1BTNyk^88Z4a+YWbQku z)O+u2@)h!ENabL)ipI}AR1xTe<8Ex&JQ|wR^E%`JPg>k(`6}-AI=+aS|DIYh-f&EG zn{NjVPbsa?Gf#`$-ZDxt7w>)NnRYxlfO;D<7B)^jOW)n?cp%%%gR5fSZR(oKx!)qe zLy=I*e`3OLdfy;W^GT=LeQD6^%-EOco5`29oxu1Cfs0O8nB&D^tYNr&4En(a;X)eb zKm;@+aIez`Oy{1iU%GTjNre5YK)MSP=n63u2KQKSOf6^JyF@_ZTEkI{IcvJXk?kia zg!2p4BtS^lKG8m+Z}R2Duf@evgzB4++;tQ(lH19c3mlG>!N8L%AlRW6AVjgc5XswD z{d^(T)$6%IF^o7a{3k5aoYdB7fPV{ccGWP^?4GGhA1;dmM~o^ne=H@~gY^k- z!yp?zC*^Y~rN4P1c;+~^G${tm|sv@N+= z!PR7Z2N>vb2wUFwTlm5j82=VERs}}jJSR6YbFE4Ly4#HWTcAyj8(Cy0r z6aJ`y^@0c^i)KnGqcGI%IY6*$zsbFRUv=OVm?E9N=2AsJAU)O?ieK{@t(M!9!uXYg z;eCoM?a;(^>2H>szp+ijaDnBihzFU1Fci1wwao}bc`?Y%j3rG8q#$2D@x@Mm9lrtL&Ro z7v6c|WGa;R@_zGPv_0(3|FgSL=uO(nk|o)2zi4B>Vck`t9f`=g?n=$#25_hTH>svt zz**DJc9pjX4Bn{mKR9w|WI&81T&s`b1`aYcKB{|~8FbI`e&TO^S0raR(vR{o5=P?_ zzij2Va{SzV3rC4pNl~vZ-WA%wpj?^6B_uSST!5n5kK+|k)1=^;`EU3a^x)T*9hOYv)pS(_XcaRF`IRR5Z~nWN0WlP{SQiM3j$ z49=N63SqYc^zS|{%X!q1)~Fs5?;RU|O9QEe8JWrX6j3x*qxGcL6d&-J+C+;-zGN;K zhfjQT;Q>!KT)jK1DQ)D9JAeV4Jd%0JAHrAv>qBeB$||923}J&(>*%%Luvs-UoManV!=PQlG38Sb*=AfLYR5QuUh57?N~?6hu3ufxI|P zhjJ~R{D^c3La2EQ+H{HeO?SZ|zihlryH^2Vy~YW$^WuQ_R1G!Q^pX8hUcieJhhb`I zz_cUg2a7VLl~1QXc$9bBWU|-jqbp?Z)R$lIf(_fqKn9erj~L;zas3>0!UY^Cqg1_V z(I&<+rVup2?HZ~w)0b3i+QVcMqH7I1lyP$4D5#den&0y{`e~dS_d-M7JLzo70Nja< z2~@IlK-bAO%G2|Wl&fRpA*JIfQjB+ z?}6D;53JMOxEFyU-RnP>vyqw zp99E=)Z)hQBefyegJK)f(tu-3jcYb*-P~@>U5UsmI=7awUB7w0wC9Kl^|NmcYc6AWvX zt1@t>wYAWM+cVdi$gja6aj0En&>MRav?d=r9nD5ehk8#CqW&cz{p)l}|4^=gH>(G) z7!^kynF)GhW;&(9uq(j3{-I~XDetdu3F5?jU}$J~&rkGYH5!g-s{H?HwG(-`f5HjN z6s3lct(!B63N`3t_d!cys}I}AB888or_^YbT2eIir+Xw!pz+vKG=E_cT(8^GhtaJVtb;Z3h z){z|_Q@Cco`z+eSmzu?iw|wE0F-lF1&pE+$Cxb*?{!_>C8lJ0@n6Lkf~f3OJ6{%V5V3~|sj`0iGgLF0ttJrD(lh_Gf5%F^m0~s( z1qIT;lIZG$gjt^~{7L2?w4yQM2@P<;9D^D(9qHtqha}|jx>G` z-TbD`y-V8_9Or1ww*0r6l{)3qV2FdO%+O$IIJo9DwqHcT$K*e8xz!r*XZ%yfYhYda zSAq~tv+pF}S$;*6LIu*XBrtyQs~e3LNdS^L18~&q`pwz7T6AOeg~6Itug_fpSeC$I zQby@`_2%34(KhSgd0Qe@<`0E_*^XG{G*{aQR~aG4k5vH1%@Tf^W#V%dKJSxB=WdAy zCX;N-{6@zUvZg3Em&0OXzC>uD8BJK(W$LKK_h>5rGiSMcVHNuu21xD(z#Zju8 z+`H(qwCdIRYivBZsIKu?nD13EtJnHP#WswIc>aG=St}F=$TSn~ZT%)o&ls{Z<}a^p z5LTsfl@ho-r4kg2FZrayjA6PnMqU|2HBQp(kRs}B$pL$C^xL}x@V5-&Z+@Nqfx5fu z)$&9HOr9%sWX>?V%UX>+dB>RT>;&a?sj@;FA@by%YPGoTzdem=c@$62!>!N(9pvGD z4cbh7=bCcg@lo(eC#(>6J7 z#iRs#yl4HJi&(nqm%He*7iXOkkUC+>9L&RF9-U>e1uaY8W}wDE#U2q&QF+&9KJ*&aV_(H=gx z9Siv!5n?zic?$SPmf72Z>l4*17#qNsc<$T_M<}5>VDWM36F5eOTn5j$(Cs(+^O$yC8SR3{;Pu zhop@3ZM4X3rRnWn1z|@bcnH~AIq=fCQd%_q=AlmAFS?l7kyzE~RbT!oV~q5@=KE}D;A}=+*ihK+RQ6WH_|RBg*B$#Tg8 z-kG>`5^%>L`muutu;_ktecmo~=Dq8WSV1UH$BV zB4A?+n7@3E-vbB;s7Es-+DZ=td3jY`!-R<2bUi)u{H6}eW`ejF-R`JG=bXQDp@@3P z-NGj>IxXTq2G%xM{Z+qXzXpYem+ob=6D?YXZ`Pif;hzuow`<(kXc){F`lCtru)8hu zf%S<#A4tK}!=GyE!(eoaiFdf5l}Je3&}wDk&GuElIyOBOQD#yD>B)6{5t6h%MYqm^ z^Z?TPDOdXlcALM}yoC=ElP|SO9FLshG`h9D8-Uf}6H2I)lm{XgQJcKX9S}^_{-g6A z8kajg^q0|4I(jaYLPXjIg^MF6SRU8wmmypK{z$~#q4@zB;*{s+pNdbpQ?X`NaHIhG zXOivvDZS>_Q_d0_BX?AI4^ooG}v6(a&c%XGSk@qloV#=A+ zBORE7oySo1jT_+fkz>toPsrr%zvlI6{jOI!%dXdp^=6DXaAZ4)+?Tf{FW}&OdGq9PK8P1>z@tw->dt=F6BfV<+b-^YS{X8DaGE#!+%z# zdak)n|Fo2*?}0uCa^b__M7dK1-}q%+3$X)Mp*WTsU<(<+RX!4k`ZJlBv^MYjDoMcW z>F1KN%{H%;%nZkLB~e~Yy7i_#rt<*(Ag5XptST+aLIZMhIe!WeVyq}}%|E2J4UXS? z*WZddQ^Xu^#pOJLMiY{5u<>Q8+uQ`c8xJR#t^+8isXMroeF4{S*UTqm(n8<33yE3V z`E*C}xug1n%$Ha7FLpH=+yTGw$QnpnD_#-M2RZPW3*un%M(0d#h=>(&(Q&p;em^d>l!PWddj>fpC5ri|ptBu?phg3XOQHk2mAW>|wP(7kA*OmA=T zAj#{PUXve#_f^@r=^q@t&0tThk)L1@;W;?Icc{^Edn9?y!3Tbn!Bxu*sPm!E(xv=0 zWW9D<8m9=-t-TBvRu8vM>vwfEO;kW%-T(Fxa_>xHl38?&YqqBI@Q%JAWqb^HfZJc$ zw>EMI^Q-7(14wi~LhLn$Q>B!~H{x&BgpApw?A1jR7@O&3udN8ks}l{=tG7O)g+KYG z#j&$=v6FRF55G!0X;J?Oaii;@pYWqwuN=%L(i8fX8u`H1Mj~YW7S53sw_l(L9JhHl z)&-IH#E4KYpgeOUQVz^cou+H!J2z}apQ2vdc7krbp)oFYe6K)yw~!4Zh*QKV$pV8i z6Av&9Dj>~|A#I5fi;1`ck=zEx!8~c`H{M2m@Y#eOv;G)@IJ^#ENPZxEGkQx9N#%h* zrXu1RSP%M^364+9y&I-DS2QQZIZGjl(-H;)Ru6_18!l+=$n>Y-)ehFdfz} z_Br&Tfvi2(kN%grmh&%jYb6Vy>XcK=Z@)(`eVC|~3hq9|vTDb*y)o5#O(Pvow}fV$ z4abr=*%aT=fL2C{|DuEAjE5Q^7E6HR^ix#YW{5aS@YM2{PW?i&${DMDYEIU%Xr}jhO!!!pypAA8npS>Fh zrJo>3JfY7mfdms;PZ}-MJ)&6B4K`x2RU@yrs{{zI(;FD0AoK3v zNcc-Rz#@cR%c%o5xZ5O)Fa>YZ98Ro0JQsOkT#x%Vd_5a4PaXnSu3X7IOX~~lA1`#% zV^(x;fdgqA9ddycmB4?G*hr^e*M<1i$=&u`c}P3Z=;Qu#94Pu4c%+F(V4{O*vR+dFuawtsy@}v$%=YgAtoG<@SQ6|xbz~|nFj8bOT5m8 zP0;DFvvkk;4g9klm(wmhxc&Y_855SNAe%itszEz6VDf|!Rry5<)6a#*fF(=LxBcUM z4zN^+wsPkxSNcgsEhj(IpQHB{RV=Sw$2*bls{;hRU+?3nT4r}NYU+cLhXbj93?Tgu|ac2T24{V8VW zxL+(XZyOnl(;-w@a=iqlW^wj&dUFmWo%-^5|X-@%vJ?w^zf@nXkeDq!{Mq}W; zW9-nGGX+DV(S=JHax2L{3x-OMD4bc63yi-unK*mRJmO5TpkhZaPzrGAXuWmVjJ@2G zy5mQXbohXPf91OME-(FMFveEyro*ue+$fk17fC`+a`NhEz@y7s z_biMg7r0O!a|6FnuD`gZJF-v70L?o{ zw0RA^Mi<3)BZARZE5^@+N{z5K>^Z{gkw1!U=t^5Fp0GXreG)UA-BZfgk~qgdt8U^1 zF79aypgZO=EVwFs2c+MVzq=1Q<#Nx}Lixend*VuP(=V;!`(s=2DQ`qYkHQ<%mtSBcU+9O}RIS-`yB|#jl<642C${s5}u%}BI zpi9|`{}FO|EB?`&U+-orJRZ`L)QO|kV?df*M33;Ot6cC>0K-;~Asvdas#b)Bdu#0c zSl#)}ix<5|q9l4EcR4Gv)uVE<(D-XEt-?X0NvVL$7f(srBS2l~|Q(Z;eaSVcB5OTHYB! z$`AM@=(^~&o?JfnJCA%5O%i=w)bTF_AUR5>n7>7jjGbK8biok$Rqw_9xdt98dNj|F z51x-yReW@w3R~-o+~%hpvHR94CLI#0Mh50mjET9|7uH6LrN~($N#f+k0tA<=FU4+d zm{5o8XZ2`>-*qz-k7`B#teQ{$CMuPmsK;0Ia#96xnfQQ1#=YjNmrZ#_wW#|?Rn!+z zslBz&wu3$$Bq-Aj?zcCtGvX@CT|2NYpY5|BiOK?w9R04bGwQ~-F0$k}Ciacj*ynGj zS1w&3TL=(NI7UPv1<5)hc>xy>NDkPanUH10uiczqce72ppHja@*D0#lIsp;&)UPI0 zd)1Lj@465Nx}4Fm<*N1cP6?Dl-r3W4*>F|Z>k|#hoT5rw(uCLKgLYPe8d7B=CyZd!fmH;u2xcB)Fm|D2N~Kdw*-KeQJOj}asP{Hp|h!Y4-&;R#6UR4!73()YFU z3Fi=wlzm!GUEHfah_bYwpt4O=g2S6Y^f*uE=^p>OpetA27ei!`8Pirxt%^oj_gfIJ zDrAN&JpRj}qM)K;IRKvGjW*x?IbncR1dDVsY?$lNisQ-NWo(kCP-QJ2q=H{{nYFhH z8_irYxozbMy2LR{e;9dfEp<*N8aaWtGVokihtgw9_#miT*E z$65)53!Y`F@bs{veQS)u-kZ^`p7@$W4x1mCSVbTPxk~?5TNSm;*OjQaX4n^>nH1sP zcq2>1y$ffA$|k24Pf5RS{0Xi=A@J9AN1YUKUJO@i$Nr^xepr9Z4dZx*QPKA=Ttu(IE$S?syY&mhy; zU5EbKB|jBrMfrOb@up^wD)n35b!Sei-}W)HeMsq_9v~ZUw)oUHbv(-o>#|=Ro&MexLhf1~ zB}I(acV+H5BM7_uMvk#vo1}rZgnZ@?3#=2`##o{iqL1wJfN_Ds1u|Wdugi>o@|$hj z_~;JN5^Air7Avf(;$;*d4!g_fdlZ40r+3#V-cRaCvAno1yt5bet4F!!;4L@QiRcDL ziey^&9~F~d-_5elfIjlAOLv!bi4udnDdL_lWWP*PV3lUA$9k=0YtYvgSW45^wlWmk z3&|wNt1~{MQ-J{i1|}x#IRDb>q@!;LIh`_a&* zqOjR&3Mu|U7FvdXb}FP{webLBloR|@pg3r?MWKea|6A#+XaDJ^1jZbB!PlJtsu~OL zhw!_#)Obz_zVihnJl}@+WXw@q3cKsfX&_2{JD1#MVI?u0F5{qZdI-Jk9waJKIy2U& zg@|SXOzbb;;lRAe#1f?+SzwUTM-I@esl^VzuCp6Md)QeKUG2Pxj&fUdOqzAr*2*1P zM`ha?!I?r4+kf8M!E;xp4N}m;l!>LK?WuUiJB{1M-VoHnPx9a|IH8|RyPP~Yb3$DM{!NPU_p(RlXXs%+GHwWqA*nu3UCA z-BL+kmaRqi-DZoLdvQ+khD>of&0?F;addGNX=z3!bVn%fUx*$5Hoz0q_9eq`6<=Ya zH4$R$Gf?$YVC-MSAqFh2FR~9@`o6&f7Mz-%Y%MOm{`4BI-^VQs1TS=dyIT_Yh3r=d znaCDnW_6Trkf;0?Izu$*g!)LFH-v65C6ek|kBy|TvK^%-65G7CL=ic%)r}v+g`v8{ zfec1B#R-AfY6RpVX~_sCFK9QV348Dtls$Kx>@p<3kOLqEVXunEo1Xl|{`18}Q4>f{ zJ3gXj09ZSPsvH@iCl0`I=(K84KD6hIyFZP|x*^%eXtjg|Gh9tu0gm&D_>1Btty(l3 z_iJm{y$TE_bs?rKtd60Dnx7lwSMlzXX-_%@ndW33R;io3envb*4h6DL7lXy-<&8kFuO!jSS#BkrKL&dA&GO)SnbY`xsxH?}Bz(#Pn6}-15a50lumP817GBoNjym$|Vc*8Tivgt+Ssu$ipfZEdy#a);77ISF}(}lFL zJJ2452~{_6H3HWt5$LjTHL z9q+mGOb|Q69;*w9Yh(SriuSjT_y-NQ*_;w=)tX+cQoV#06V_u&XnN;^U(irVqkA;H z*!bxrhyJrQwb*x_hn9&ZPAcTlJqw*YTC8M%P^Fs}2pjnYpu(q|rSi z_V;o%|7LhiXOd%G(=ET<K1 zo!P_g&sx7K>&{;`+;3;;z%K~}(()CW66jg~H{OJgmjSEkC|YHcv+7f@ow*eU$KlHP zsI{vV8lK0|-)WDmXtEdnW7BNu1HbQ%4 zA)Oea9tfVjIr-_gPdJm_CS8m3Ws|T(j2IKxno^1#>n5-G^jBlKKq8pdq}*y87BmMp ziUr~%CGld9;fb(eZQ`$wRFSTu!<39YtdNh<+xc@RK(WIkTNT$)sIqv zOppVds0stDzPx~_y!;Ooe5lpUwr-FftSng={iO7W2zbAXTp=SI1EKc7^HW5zkP_A* zdwDTUW!2{BMW8QEX`!-wxI3@!f+V^ilZ89oi)t~U=%IA zF?$*)UU@hO`WmKNc{#PgYW9G5~EtYsmn zX9kfLtTr|_rR*3Ru}_g%crcG)<$e%<)~ekD+I1px)2vu|*(bj08z(r*D=Jz%isI@w&hBgSGnDJzZkpm z3lhp*e#7{C9KiYelQYZHC))jAzMFOt7?`k0Q!q#3j6>fT_-2skEIBah-xOliq&F-> zpkQ)X8xZ8O-NhR1!A;pL|KAE-c4wB@g;Mj!>m(cJRY&ILWiGY0kALrWP=~t?L_NnC z2u03m>O)FDl4`ntATclR9|eKNS01q45?qFw{=1cWIKdHS%`#ELvspI)o@2LDmQ_fu zAs?1XHtT+~&zPE2Nev&Cz7O#)5jq?RL5%R@b4Zu;Avl+`AF#@RM;90dVi2HKeeyn3 zhwvyzsq9TCj35oY;N3O7W+az7UdOcF#8x-mh8|DX;;p^0W?S;Dc%Z9ob-`pue{d)&idD%~&5~#WrzOD{F zdf=1QUe(prK^~hcz1d~Cw@4@Za4;fAn)xz#30@VmA&M=iQR?it=@a_i(WDxqDAN+A zF&HZK>PM4ud^941X7`mHrj+&L)7>}3o%A85S)AI=+{jzTaNXxduva0G^TvcLO`#1W zX9*`RAj6@rMXAq*GmbIo_v~l{zS0N;w<<}gmL*JLpyQH0>LwR%PpPz=F*p@T?B2hH zp|(bm+t24B8Iqw0URdwv#h^I2%%&ZCZXeG?!H+|2NZh69$FA+CJs+k-UCVU!?(giU z=FdnFHw$|Xo9C9MUglc;c$r(g-=5(1I6FrYJjPc`1$UUNA2#PN(I1&i)DRI7c?q<& zwfS-_CFJhK`Yd+fNPim2z8%W|9LmhNi-(%JIWbKp1)7L)R(bH7l}iOu(h&l3)Z5aU zV%b|z$c;|S0*xFCIdQ;JjTP^5y#2y-hVM3nM)wgh)&8pA7P}byYkIC0a?uZ!c%H7% zebeGgM%0hPX*F)^Zj(%AyE9Or&>eNi1r)Wuk)?1ADA(U!^nF_o=Q5%U_v6{=ETU*N zFj8IdeWq=3KEww}yAljJmm-X=`NZG$h_)vha;UxUD#$2w7&RnP`4^q!&Q#Y@Cq{hJ zm3$K=xSyIX38-Fcte%1~QK-EE39;7?9;IBlqR$*aU=R)~OOskG(7`EBM1Ck^UriIq z6@(I=4L^*Me(DI#^%qI89W^+c(r;!=zeqfJcNTjbrU?+hy%R;(P8~>%s^5Qj9hL8@ z$X|e*36o^pbLl@Us-Z&xhj-6euS4G?uuk&?rLj(LcZksi^oP+D~moqYX8dS4aWzruzm=pw=+(CXMoygvHv z-1`2FtBioA;q>*~yDBlKucN#uLi}wDh2nGzsaQNsp#Bp5?e3!hMzA??J@>pczg{~g zqE}sJRg}hM@G#1}oBu2Vf&qIMMCpDq;3`Lk(rBBIFrfDhMbY)bArmHa8R?NTkcrM5 zQ95O{t#-@-bB{u>T1wRX0WdwA^1M+M{JZfv&$Fg=uu+!0U$nVRe3U%Q_!)M>CAU&C zz$d>Q^HxHKeo-&nHL?xkzduJ1faZ6i*Og1t-1=^6+J;Gqa{C&6E+(UFVmph>@D#B^ Wxx*fPiuS)2V4!2HU99O8{eJ+>!lZBj literal 13277 zcmZX41z42N7Wcc$(nxnVA}Oo1?4qQCgrIaN-O{~FNJ*oF#8L_h(v36{f`oLplytMO zeCxgU|J?h1-?Pt7oilT0elzdPIcFwP^QrPJB1R$r0B)(OC};x!2%7`}1bEoU$hFW4 z8$qn))#U-8Jk}qrm4wZ+zf#dw2Y_%g0Eou^ud$Va-~bTd0|1+E0YG*Q02un+WZ!rJ z0FjjKqeq&WHqP$OZZ^&??5d9*vAeiBTiH5T0)R?)X0n%#&IE1vV3U_`&QDRWcG!Gl zEAY!N$wbjSmBH*b4k`3rIY%y-LQ&xZr;27La#)l5xk5QPwN4p6H^J?@^olxy&PwBN zONzgp9Uh`rik){V&+5^Cng$K%fW!ikloY%tp!gqD`ysL!n-mFJ?tcIzh}8_q52!s? zYA`MHBOveX`}rn|!xd}_0qy(heFM9U3_+1k@o!N1`kVei8>s+AdZiSDAO&57B+rw0 z;hMpyRK^rRD|#NQ=G*cVeUVb;3Ag0Xf)#nGQ=esPBECx%R6d(}xl40UqsF1!8BrQR z46V-)q*$OVSBesSFR(1JJgGwp#Q~^Q9q3&2B00q=?nbgvu5vD~0gEbxrmtsT2rgO> zcc!?iJ{eqcqoTxhXGs>G8=d|jf3|Az(FFqT0C)w`daXx{e`$}TePae__pbECmZyIy zD%RYquBp0r4=Q&3Mf1kv$ocW?jG`~YdA&9H*PFLHrB}Zg0ki%{yUL@tLM24V0U@Ag z4*haO5wYIAkn! zpk^M06fR*B5aLnqDX`9m>N7Vip~BDE@G%~&c=8$Eq^J%m#n8x4(S1+ItJAxG6V=(u zN~fHmKAe+vVDi7$(?8;z% zp2W3v+s9>|ko0}20iN5T1C)nQy0gwf%4`rw1$-wS{|B6919)VHSBw;LfjG4?orjQ< z6F$eGRe^j)l2yQ2Cm}@gcP9x?k#?H+jPg($+-`Y3N!)>uCyR`AAg2(t8MPYH+Kl!a z9x*w@oI^|@XqAITh3Z#$KRccUS-pI-COI|X_lJb!WRwqmhO7$d?}U8G@hxPyWR)h& z3@?F)3>n*ydw~GKqOT;6qYZ=mq$K;vxp3*sjw4Bv`0iK36IC(My%( zdTtZ#XTMZkt1U__-mDV#ZYM&uz4?Xs>G(g5`hI5ooTSaA?e>e>_L(hWQ)iQMlk3-u z`~r(IF#|CtF^4p8T8J2(MHfGTV&?Kgb1m^_jM$1)IwZR3TZ-zrw9i`dNHwi3EiF=d z!+Ndy#(T1oSw3>y6Z$|W^yc|vnWs#jnhbNRI&BH9drx`3J_$?i?-P3O_HLzzrnkCx zF4>PyBgHF8BYA;mf&WGm^f9}DyfFS_ndwq)d%yOU_RPoPkBU#?M4Ac+1h)9`_)BzU z3nxn@3-XIsbKaHcd~}z$RZ9Exr!XVmsKj5%$KXxw%hGmT{ufe3hwp@+c;yxh32ZhU z>+34&YUt+JHEkicfoi7$WIxGv~)jn3R#sG2$Uf&Hw9xmDCRUf>-GAJO$4r@T(yG4<>Yez{~_ zK9<|P9P;r!&qBqR>-6J}JL6x*?Ly@(A)=4zQ@#$54~#PvYv{LBmse3tGS^=G93K*& zI*r&Fb=_IZSc~cF-WmOq>UrXscj}JTL*tz0k$xdn3&#uZj@^oN=;rNK}U<`iEay=4{W?Ug zNcE`pU$OIwvX}AhtH#@EnrNDe@<{TYtL$%+ugCw2N9RcAv=3#8_Lgmw{Vuz3nb@z` zA0}9d@SvFBq~WYjFxHwZEGzs}SpVKh;H)?!q9#H(n$_fE(;dID_hUpw&z_@V6Qa$# zG9nba!@5}`0|t++#YNYbzb)IXSm_HFHx*kuD0@ozeR$Q)zoOPP^F8Ie2G1nVpQou$ z-BpTJGL{-#it0rYWs|lNeBh|ch!PK%~;ouXv2ElNM>f>%IrTcO5XT%-}EEMo09U{T_? zTWhanuW#>nsBkN+W^TNxWW|`L{hauy_-;+m&hMF`8ie3WI%6Sm{*v2)rtNp?FJm?( z-Y@u1Q?$Iw9<6Y{dD{PUeqhO%w2?GLHDxV1X76-nPV1?N$Q?vApVi>|C`%d-KSIAZ ze#!y?0*znpeerzWRQj~I*?7fh$JLc2&&nLCtoQxZrmQNR5Huf_UHWG$q{>VJ@dbZnKm*V5Rgz3WHz*i*u z$ogDX+kbSwa(B=%FFCKE+o=1J4IkDF8(>77KIszK<0Hz7N9m}2Q4`llQ_uY1iE2J@ zUmJ0S@WkXti|n!8R8dwvvR=9LnW;!W zT~h+W?ObTZaiMYFD~VWtuY6Acwh_32**H3AD;U*4VQ_I$kFFXzH%71uC!vdqz8e4# zQ~v#fe$545VGHryRn-;orwOSjg+%!?D66nV4DO10?$4a9+`Y_QEdfn)TPJtnr;0l4 zo>1ZY!uM69t`-5{_PDBoypH$uj%^+NdM)8Gp!A$b%S$A`P*DI^{7ld`vtUPNuA5EoCI=UR4 zbrZ7tQoFU)=#E-A%iKHNnKAZo^0*0H*E!MV;bFLU&mlDIe$gVIX@IQ*4-lTVaH_{P zZnzA-a@?IYmV%0y(nohb;v^6Gxuh-9QMR6m#6ccBf(pQeLOwQtLamq2%b+Nuk`irGYAc z^+{WfeXlS|uXXA{1&oO0?J_9>?Xz+5#30S>QALTgtJhQ| zfx}&`$z+Jx>F^$u4QS|Nx5==AQ}k`DFr;mo)|q+*uyI+Vf-yROMgq>ZXX8d>V5lKzlNS$3i|4Qn+EM^)@lm@3{L^H52eY(YO57GjWplXPXZ&?~875 z*2ZlWxU2-cm2Y$ik%lOJo*3CwI?IJJW1t1ww{#uQP>fwAP*tMggu*iTXBx38Jj=`9 z6*GAkFb83GNZYyv|AeNk1k4x(9(b>%VOAQd2$8dL6)>lrq&uMakyldMU$lO`>C`$M zBf=u(F@aG(6*?u!#&m60-q2{cOK&#)y18cw$j>PAA`BqxjRSA*ncOmKD4mFb%l|m$ zOzUm_E(oYNoY2~|9K+PX$WGEyf14NeCqmBuX znD=JpoPk3m@VD%x5Mru>5G%lB503fbRXVu%!26$MDxIM#|-*Z4AiYBSK%7rR!qz#}a;!w0=EMLu(n~ zPiPf;V1+1ES!RGiV?8!FD%sRH>eU+kQ@DTY|x*g$3!1Qge*1i4nAH=MxhjL|zw z*o}c0&g@YJ=#c|bhmDq?8c6F`;#TmG0nj5ZA^y+^3>W|A#6(>Q6n25l*a4F{U;vQB ziQojpyFl1j9=Ls7>geF3PY}4(0FuRPeFbPi0a_%O8f4u0V&Xs-xoU!2CXZp~gp1$g z&pjU$XeKf%7ckpaSi}PLvNS}oRU60kFM#6-b`)h($bSQd1^n=!<~bJY+hNlGGeiHG zsQ*7IDb#CXernP{pyZ&>Cs^W(H;_SVe?g-3vV1uQAENq1aLzg=Upd`ngtoP!b{-kMHK?t&+C)Mg9`pXt)day-4J$* ziC6HMvqk)VHf)rJ9i;;7BaRqaRd{}+w?q!y2CGEHzFm*BynJem?6=N#!f}e@9#`~# z|L4oFa{?NJlOEI{s>k~gQ%4%poMKu|(SVYTQbZ;+7sgpACl=Y>4Je3E!sG{Y%Xj(=7tcT;G)vh+f9iCwZ0ndb1)=(2n{#;cA1=3y1!5 zBu0gZ<-&G94hv)(2@;ZR+^9{!1&HP7F8dJ%eFijB);7WjvrS^+^I$~Gu@ahiNYu^U zxSM-Y!s5||I+?8ZEWU%#HHr_6~VJ3`r^ zZc7AH`p8#oniRn#)0E{*{gS(u7|vfVYoNgZP^hrhcb|Co4sqiQDS8SX87^EVi(Vue zjgl<3#|XW+Cwj>hRPHYrQUWHw*!;zwz?QP+Adgusf<$+EfGqMzka&HojfaIY@cfuN z0QKD65x6U>$LN^>A##%*80T4NFdAQjRe&|IE}Ng?ovnFCEvp+E5)ZXLvB%Lx9FWrj zO4{tE>nR%UQSk~GhvPmYv3o2y@z0ze-&ihVKUeccU{%Hhw^eLyVaU2+Oa5WlAl?v= zJxh~Q9MSM#1BV#kQk4|^{=O0HdYpp(sSwDmHYyA#A*caLoKh#aCWv18@Hn|7`q94g z3)VTi7H78mn&fhR_qm`O$^nQA3=SvE;5Vr}FN{kH4(6g*wFy`FsDtV$+=g2BIAaeI zOyaA@p}-J5ApA^;z2L@N3~1OUdln#ZVxU=A>W`7rPb|9>hZ*P7Z2qQ{{$@znytiHQ^Y3k_*>7PEphdREfw%{7z&~ zLM8MIW^*64k_uDlTY|FX;ZdpQ>86)^e1M9iE->2wl80i2m*yKQCm6f$&3D|#X>HhS zXkoq{3xY9Tyy&LHs%Mcv=6;nw{YApvw5tH2PXd%af7@z#UOzm+W+`V?Hz7bi0^O5LYJB%@5;Y8we}WsOOOU+7`|-EW|gRH1_h>PYo}l-?rE?&(bfZh0QIvT?nR zSH?i&rlT~XFz&N$SqqE$fQ3&JLuP@xg$$k-#b~^SMRm!N0P~yyM^0zN_kCA!e z|M+b=nbAv0aO|o)msn1!W>hT7JH5o=(2r0>Q1migmbleSbT%PCE=zcC7)R<*TAyA` z;Nddo0TeP|vVA6Ykp*lOr0iQt;&qV5$J?a2>)X4I{-$vG=NRO=TZi5*HCy^&DQdQ4 zlj_x{V_wsT(LEwS8bjYq38S})O2eA`&WI|FJ#}?;PifY$)C(lXzSWowmXYuK0oBbCs*FaU#@Kk07fRxEH9*xtFvG zaABs%o5@#kgq0j%*QuXBf0jATNt@R>R61~DavG$~#T6DsTUeGwW+3ej5lAC(O12+a zwEt=$;oPuAnmbyNU3nNW@1|ju*CGhyiIjqwEUoiexPiUWl4@;nMT9=!)O=wjVEO9! z1+LkzeAVYaK5d8)x4H>wh$soC=VB{)jF{B^o704U#_^*=6s7`L^tG~O&4m%d)zxn) z2pRIg2$3-rx`#=?FKfQbTu_&oXl?NCrdv? z1SK$1(S#j4(ss&Z7zIIAB4rg3_pVso_XTW@`8xJ^Ezy7TPTJzTSnFeWzftvX@1Dg` znVF;ryJ*>x)va`z+}z`z5xLA;@=B_>&V?}sO8h%}R)|wZqUck8prwCzx=|5v|55hN zES}Y9g~a>!^-4F-86H|SW?SYtI}MxuB)7pPR|>GGSxRBq+N&ZNuT#7PJc{vW4TsrG zJ~JoM5Kar*OwsSm<+gm_81j_wn;+8r&3OG5 z^ubO=_WrdMZwTrX5ci+JwFsVxUoO*Lj|qYlIn<`^(PqEJ*wKL+Z<)`8=H6KGU7{vF z3K)&AD0o+Rc@zo$CH&yc-Nwq~S*-crzeH^3bpf>>*ah+hYkU2~ zDsdiQa_-A*Jd3Lzq>R_<{}ar+T@jYeZypT}D%=zp<+i9!$>;qyfRPa~Dj{mS^5i_; zZS3iKj{e`lv+h{Y##eljErt?&muF-w*G)fS8UG1>Z=k|A;SSxquY+JrMqnqGAO^y~E6~sql>FaY`Sy&dNq9E08{HDl}tt{GzXh;d-pX zQ3+A~Co=%AwJ0E5KN4d%C7#z}AfB+Ggk`|i=-Alf1s{Hdjck+($oScczWOx0pblAm zg7`FS`a;~8ksBI=adPA|z5E+URrfR)|uuP;S^uLm&G=D}SZ zI~svB%nB+ih3!$)1L>Y7j`t(^v{ zyPstXi`rh4j;fATSi$-Wu(lJ$**aF??Ho&BJhVj~+6-gsGBOGwQ&X@2_Q7!`}=!OvsZF*9VXpC>ucF ze(?%@k42{zoSEJqn{b*L;8U1lc6q^{JbLm=)4vTogQ#r}CCr~5V1vuMFH{h^Va7MuL*+@uFCa$ zWTI%yk}Csl9o7c3^(Z6IvxEP|dt6!%B6y!2J3Z9)ET5@CV-ENJ$xwk%3qe@ie?3>W zQ)vC^@DG5wQa~}|crmz?$=QKv zeBHC3=qDM8AdLXC1$t_hvkN{jJPIz9HI%?gQ+5LW5LtTo)%7o5T6DmMby(;VQ5+ ziv&S~I|KMZAD`5A0RuYeUbL*eREF$8JIp5 zfrW2D)0ZZxo{GvvQ~;@eS}t2bdWSl!+svH%RX39zx)i+>jdMuyoM_@MaPfB25cPdt5Pwq3vm zS8N%{vHl*KK?Ee2(gyikgYLv`i`tBQ7m=muWqbCwz5)#}v#wzWL5|Y|1M%-qzJxom zD0hTOn1p;spTg5mcXF!Mv%e7lUj^=gHYNjyGM})`kyUy*gdk)tZ8k=mhz>b`ngKQ@ zu-Va-IjAQO$o}e~-S7l)&H3*682rrSQT7YP2gJzGH&0W{4sg!o3rqr-57SL=spJBa zk_bwEV5HXAZE`VYK#eRv5?F0Vi550l-0BHINcVjtk2ZC?D>!$CEHJ+O@kCS3C$Su6 zPC&PQAVz^SI`06t{_7X72Fkuyq6uLqMdT6y9ymmbKo9C61(4p|7Y1}LY2@N&Hw3GMs^84@*v$|VP0FNdAGZ3WCaB^PxEtsHklw%h=0`W15lj5ls!TFyj^4L^1S z6|DTrgy7{2TiD=5QW;(F2 z=rT)AS5Nm@-g$AxecVem6lZeZj~0&k&%}elpqR=B&iN6pY*@(X6C76Q3qOcH)jR1t zSgza)Eg!1&EY?e|ePG#Tu>otAdk%^iVN2THeWc+Wmav{FeTb zWAq%J5_Q;|YWC9V4eZ<*{2k&PffI^)Jxe_Fu!OdPqwQ(tFu@~h^>7YoK^sz)D%*KZ zBA;pXT>Si)zdR9E40A<8_+bto=KgZuf~~8iR@h11GpVBdRMJe|C6q?S^*i8ELzwP* zNB-NvGj79C8BoV1)#{b%Y9~AAuje%i;~$_J;SH8_@arGM=I!4FmZ~g?&Hp5R*Q~t) zr@AbOZFqH&6gqt%rHQ#Ulv8zY$nl*y3Rm<%SOyr8L}w2`HEpPwqZN>lE*hx=E4=L>}SxZ;qw7h4@FY)mZ1mwFlr za*~g-8KWU5d?ZV}CS~0AF-6ZGURQh+wZBE_81tyPdfDyw_o8g4&u%0vOfBx9XnlX- zXz6taQwmWEWHx4Fny(NRNdsiY7}qm*SrSAn;EPMhpZu}a4Cp$Z#BKe_HrGbH634&f zE+&FWtVNb6F3l~WeNvll99szSo zfJMV1DUg?JH}sy8`O}9>GUwgd%0GKWozEQ0u0>F7$&dEhcL2@lQrNp&EJTf&YYb>M zaxn50@cJ8B>mYWFP^^e9K~quz7Hy$=KZz>a5jcm_;=|=YF zY8g6-Y4da0gJD28T^V@SPi1bMO7^W|uFN?ANj&myG;nn_TpbtrcM$sMT{=EA4 zwa`ME>6b!Wv9KQBbN~~f>NCEBZl_^uCaaa)c4@qP-~|bcl`aOnFY;u(KVcx>L;J)d z3maBTWXv%dPC+YZ9fAsH_a3>xC2+a_!-YF~?q``U36-R^OqJ%w4md~??Cf`sqOwEN zZ#DucbZc)m$&IeVC35UG$mwerWzRo9I<23niCWvD;98m{BWq(Bke=O*4nM_&2?Yn24Mh1BCcbxBj z?m1PMOA)k_b#w?Y_B*9c@QSJ2t-3hMakG^;2>A7bM)am;rt=^EX*sPc!bf#;3@;@F zO-R=6-{(A>-ziRaJE4^w*(Z@$l zlN@5mwX;2%Iplk?dA>ldb`Lqs`6L8>qC6p|b&c)QOf!ba$u*WPktF5rFVmCs6h%Cj zN;k~xivPmNMZvNJ=WL{|ZaE=x3yV_jWm4f?K>iZp&m-5X0&Jjf#TuV1`31Xp(=0B; zN%7X)1*Wh|uyRQwRj!u(x&uaovfu^|8+g1HI0(XDfTWX?yTtL>(Ruc4OqkG3H{xH2 zYl#C@B`|!!+2fCN0aIjXM-lMg&YhP`IPurmb#x0s$pa`fprk0yO4LSqK$91>B4+Cg zH;Kj?p>N&DN^mQ6lHHgE$)XAcO9&S0tkFku@KLbQ{|s+`qP zz1|yCFs4MxU@oO*560-GP88}S@j<=Vjc4+Z?=Bd*%F&K{SFLtNdehVB6|jo^rfb(U zG}(P3T;xecc7&fcuuRYc7b`Ruj^|YGTvS*&jmSIP8w--0y6@w`F?EW8h8XTGC3aoN zZKA&6)Shw6&Uj5{?fdlEmhWh!GCAu|WZxE4e#L3H z5Z2IY0d1mCnUJgbyC{1C_Sl%u--vRiU9k{OG#l3H;li1wUha2S?LAokQ1phPcXdyt z&WSIJejDrfJB{o>l~KJWFAqE~;`lVWgT_MW3Si=j z>@PmIOv}B#e04a^B0&-VY)6t0PiuznDT0Xg6V+=A{3ULg8s)el3#bnV0qeb~DSYH&pBoACk{qU?oNV1h4YHm!_xuc`DGheArF> z&cLgW;^1hB46EVr;Vq>Ee`3bok!8_`ni6MuQY=mcA9b>0^_j_i5o`EUAyW@AdJR|_&*D&{QHW6}#`L=+p- zZb%Q%dnNS8r`-G%LAQ=R+_zQErMVn5PSPb zb$}Q(a)=Y_t?b7&I|;%GzEZjJ{5WTD9n1MwnJ*>=5==}qII(J}*{TXK-gGYOzBM&* z;>C>_*MLPR0`4v4fGE8WBgBE`S|$UJY2N!5?cNNI<9@T--!41=myP$53SXbR<-A(W?b&g5|)sM5auKt$ZEJ)WO|7?{#3w5 z&Z|u86L@B%9B9ltG>vk(skNVYe1Ne1t!LEb@hL#<*8 z4ex<99B9R&U}jA zCnV0cnq-a>`xHhC7=JOXcolwb)Z|;uF2^X`*Yf5kkpuR6U53MSy2kOZEwZR?cM%%- z5QBYkQA`MYx+e2K_=Jziyc3&xLg2P&j-UvJ6(v4R|$8mz+k|?KcsFPxhv) z)q#k9g+P50tAPyu@tma!HD8aGLae!ISs1o$sl^VOU~p3I!UEuuO7S|OQ^8Ib;=+;% zH}BaK2EOj$N`Btcp_e>VE7Yse)JuV;FP`IC%dbU!A3AGyE}lsA8S)t?k#sWPdN+_J z6jaJucY!=Km6;k_NE9 zzE%KkA@UqU5*LgC#>zfPZ?EYpVzZxL{g$%M7T(yK`p-vh47P^h#I;!t%JOqI+P%9~ z=s6+dtWN{91h#y8D#1$rX^`dEd#RN(vV5ijRSuK^p|qeMV4E5CRkB1-zg`2Or|b>o z?CI~lC5(n#sLZ?^!MaH^L-L%o#%X2pw;_S=o+X_axe8aMiEG(+i)(}nuwmZlf?98)^K(F&+|m>( zv8O6xlpr6h{f@+5#co-)if+5V0B=ap0<^#j4)*pU+Hjz%8B%x0j|M3>#uPNL(D1~+ zyB`FT_%r1kfE6&a(#nc`_T{aas&?l}ot3WaKHj48GW+(dLJ)S#VRsQHcOM!|23FB> zz{&61oRVq&_mL#ET9HRR@h-^6h+Xi4c>O8-NFL4!onwst z{6Ki*YipgFF~mr`>1e>2T+>T`(4B=0TmjHW!u1a61}cHyAxI1AlY~EY(G~^GShO~~ z*iOP&m{LF<5;%%?n@Li^pjHh-PP2!BQ*jTy8Oy3+ZJ2N&*MpVT=!~}C#Jsn!YmVCA zUNwG*p*0w`1n4p z)bqlcB;dQG{#0|z=?p4?e5M@zB<^*vixwKmVpueU0G?sDdluzV&-C&U@GT2h)3hgT zFD=LbowSe^q;_S_4F?Vt1O2^KPPk$VKx@_uO}(h}w4h_msCM&Q z20{nq;>U*ET^(5Ohf5<4rJ(TxY*`EuxUET}Tm5i~9%n^hcAg+#rvAyH1?scAAOg9_iQ%;3)_8}99bNtKt=>%RfZP*cC@7APV&LB%u_qFo z|0G#mSAO@GAcQ5@cC)|yz_8Kt+0A^v%eWbOy&*$EO835F+hN5@2jloQqp!YrahSm(W(f_4ha;8wC+eF zRI{w`4mlCC*by27_hVA7m(qgh$8lTjt+LAkvCkRidNT*H!ZEAZ2ACnolw9=-gHW8i z6`gM{MdN4s;X!9)7ozbQB|pwi*WIkx$58%1Nfh{-WB-bJBmjuB;y=fZsnU6}JE)2E zPj7cWyg|-W4qJpaBWt1N{$6(VFn(xt(29e@gy11XjNk$kr}~ty1&Xuwi%qGV7#`G2 zNdoh+V#lJI&>_f9=Zw!e%wLrf{Nwidth, psWidget->height); int player = getPlayerColour(j); + STATIC_ASSERT(MAX_PLAYERS <= 16); iV_DrawImage(FrontImages, IMAGE_PLAYER0 + player, x + 7, y + 9); } } From f00b6149d9cf1ee658c6200543778e3bb15b06e0 Mon Sep 17 00:00:00 2001 From: Cyp Date: Wed, 5 Jan 2011 19:18:12 +0100 Subject: [PATCH 136/142] Bump MAX_PLAYERS to allow 10 normal players + 1 scavenger player. --- lib/framework/frame.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/framework/frame.h b/lib/framework/frame.h index 20d39d111..ca4c47296 100644 --- a/lib/framework/frame.h +++ b/lib/framework/frame.h @@ -47,8 +47,8 @@ extern uint32_t selectedPlayer; ///< The player number corresponding to this client. extern uint32_t realSelectedPlayer; ///< The player number corresponding to this client (same as selectedPlayer, unless changing players in the debug menu). -#define MAX_PLAYERS 8 ///< Maximum number of players in the game. -#define MAX_PLAYERS_IN_GUI 8 ///< One player should be reserved for baba. +#define MAX_PLAYERS 11 ///< Maximum number of players in the game. +#define MAX_PLAYERS_IN_GUI (MAX_PLAYERS - 1) ///< One player reserved for scavengers. #define PLAYER_FEATURE (MAX_PLAYERS + 1) #define MAX_PLAYER_SLOTS (MAX_PLAYERS + 2) ///< Max players plus 1 baba and 1 reserved for features. Actually, if baba is a regular player, then it's plus 1 unused? From 8248789dfd63450333901a8e65b3dd229c0adf21 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 13 Jan 2011 15:39:24 +0100 Subject: [PATCH 137/142] Minor changes due to review by Per. And also readded some changes that got lost from nexus.slo somehow. --- data/base/multiplay/skirmish/nexus.slo | 22 ++++++++++++---------- data/base/multiplay/skirmish/semperfi.slo | 2 +- lib/framework/frame.h | 11 +---------- src/ai.cpp | 4 ---- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/data/base/multiplay/skirmish/nexus.slo b/data/base/multiplay/skirmish/nexus.slo index 6ea63144b..01f5fe8bf 100644 --- a/data/base/multiplay/skirmish/nexus.slo +++ b/data/base/multiplay/skirmish/nexus.slo @@ -155,7 +155,10 @@ private int count,count2,result,result2,tempx,tempy; private bool boolResult,boolResult2; private bool powerSave,_DEBUG,bRunning; -private int allianceTime[8]; +// Hopefully this will be at least as large as MAX_PLAYERS... Why can't I just use MAX_PLAYERS as the array size?! +// P.S. And why can't I put a comment on the same line as a #define??!! Gah, who cares if the lua2 branch works, lets switch to it, anyway. +#define MAX_PLAYERS_HACK 17 +private int allianceTime[MAX_PLAYERS_HACK]; private int sender,x,y,beaconX[8],beaconY[8],tBeacon[8], tLastHelpRequest,lastHelpPlayer,tHelp,tHelpTimeout,helpX,helpY; private string message; @@ -304,6 +307,7 @@ function STRUCTURE findIdleStructure(STRUCTURESTAT _structType, bool _bIdleOnly) // HouseKeeping event initialisedEvent(CALL_GAMEINIT) { + local int player; // initialise me = getPlayer("Nexus"); _DEBUG = FALSE; @@ -362,14 +366,12 @@ event initialisedEvent(CALL_GAMEINIT) scoutY = scoutTLY; // clear the alliance array... - allianceTime[0] = 0; - allianceTime[1] = 0; - allianceTime[2] = 0; - allianceTime[3] = 0; - allianceTime[4] = 0; - allianceTime[5] = 0; - allianceTime[6] = 0; - allianceTime[7] = 0; + player = 0; + while (player != MAX_PLAYERS) + { + allianceTime[player] = 0; + player = player + 1; + } fundamentalBeingBuilt = derrick; // to avoid ever being null @@ -3117,7 +3119,7 @@ event beaconEv(beaconTr) if(_DEBUG) debug(me & ") beaconEv: from " & sender); - ASSERT(sender >= 0 and sender < 8, + ASSERT(sender >= 0 and sender < MAX_PLAYERS, "beaconEv: sender out of bounds: " & sender , me); beaconX[sender] = x; diff --git a/data/base/multiplay/skirmish/semperfi.slo b/data/base/multiplay/skirmish/semperfi.slo index 7c79f144a..b7f48cb78 100644 --- a/data/base/multiplay/skirmish/semperfi.slo +++ b/data/base/multiplay/skirmish/semperfi.slo @@ -157,7 +157,7 @@ private int count,count2,result; private bool powerSave,_DEBUG,bRunning; // Hopefully this will be at least as large as MAX_PLAYERS... Why can't I just use MAX_PLAYERS as the array size?! // P.S. And why can't I put a comment on the same line as a #define??!! Gah, who cares if the lua2 branch works, lets switch to it, anyway. -#define MAX_PLAYERS_HACK 100 +#define MAX_PLAYERS_HACK 17 private int allianceTime[MAX_PLAYERS_HACK]; private int sender,x,y,beaconX[MAX_PLAYERS_HACK],beaconY[MAX_PLAYERS_HACK],tBeacon[MAX_PLAYERS_HACK], tLastHelpRequest,lastHelpPlayer,tHelp,tHelpTimeout,helpX,helpY; diff --git a/lib/framework/frame.h b/lib/framework/frame.h index ca4c47296..dfa5538ea 100644 --- a/lib/framework/frame.h +++ b/lib/framework/frame.h @@ -56,17 +56,8 @@ extern uint32_t realSelectedPlayer; ///< The player number corresponding to thi typedef uint8_t PlayerMask; #elif MAX_PLAYERS <= 16 typedef uint16_t PlayerMask; -#elif MAX_PLAYERS <= 32 -typedef uint32_t PlayerMask; -#elif MAX_PLAYERS <= 64 -typedef uint64_t PlayerMask; -#elif MAX_PLAYERS <= 128 -typedef unsigned int uint128_t __attribute__((mode(TI))); -typedef uint128_t PlayerMask; #else -#warning Warzone 2100 is not a MMO. -#include -typedef mpz_class PlayerMask; +#error Warzone 2100 is not a MMO. #endif typedef enum diff --git a/src/ai.cpp b/src/ai.cpp index 9eb2ca41e..6866c9d81 100644 --- a/src/ai.cpp +++ b/src/ai.cpp @@ -66,8 +66,6 @@ #define WEIGHT_CMD_RANK (WEIGHT_DIST_TILE * 4) //A single rank is as important as 4 tiles distance #define WEIGHT_CMD_SAME_TARGET WEIGHT_DIST_TILE //Don't want this to be too high, since a commander can have many units assigned -// alliances -// players are 0-7; player 8 appears to be unused; player 9 is features uint8_t alliances[MAX_PLAYER_SLOTS][MAX_PLAYER_SLOTS]; /// A bitfield of vision sharing in alliances, for quick manipulation of vision information @@ -150,8 +148,6 @@ BOOL aiInitialise(void) { SDWORD i,j; - // The +1 is for features, that are owned by player 9 for hackish reasons - // Yes, we do mean "player 9", as in "the players are 0-7, and we skip over player 8" for (i = 0; i < MAX_PLAYER_SLOTS; i++) { alliancebits[i] = 0; From abde9ebe40f1429927de2d5b07d5fe9c87ffadab Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 13 Jan 2011 15:55:06 +0100 Subject: [PATCH 138/142] Fix crash on right-clicking or double-clicking structure blueprints. Probably fixes ticket:2441. --- src/display.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/display.cpp b/src/display.cpp index 75f5eaebf..740a3f942 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -2284,7 +2284,7 @@ static void dealWithLMBDClick(void) { /* We clicked on structure */ psStructure = (STRUCTURE *) psClickedOn; - if(psStructure->player == selectedPlayer) + if (psStructure->player == selectedPlayer && !structureIsBlueprint(psStructure)) { if (StructIsFactory(psStructure)) { @@ -2505,7 +2505,7 @@ static void dealWithRMB( void ) psStructure->selected = false; intObjectSelected(NULL); } - else + else if (!structureIsBlueprint(psStructure)) { // We don't actually wan't to select structures, just inform the interface weve clicked on it, // might wan't to do this on PC as well as it fixes the problem with the interface locking multiple From e46b08f8e1f3b7de9eb20b4a8173e0ce093986bd Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 13 Jan 2011 16:40:34 +0100 Subject: [PATCH 139/142] Fix not sending player info for players 8+. --- lib/gamelib/gtime.cpp | 35 ++++++++++++++++++++++++++--------- lib/netplay/netplay.cpp | 10 +++++----- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/lib/gamelib/gtime.cpp b/lib/gamelib/gtime.cpp index 00b9e1547..5cfe4507d 100644 --- a/lib/gamelib/gtime.cpp +++ b/lib/gamelib/gtime.cpp @@ -69,6 +69,24 @@ static uint16_t wantedLatencies[MAX_PLAYERS]; static void updateLatency(void); +static std::string listToString(char const *format, char const *separator, uint32_t const *begin, uint32_t const *end) +{ + std::string ret; + uint32_t const *i = begin; + while (i != end) + { + char tmp[100]; + ssprintf(tmp, format, *i); + ret += tmp; + + if (++i != end) + { + ret += separator; + } + } + return ret; +} + /* Initialise the game clock */ void gameTimeInit(void) { @@ -176,10 +194,10 @@ void gameTimeUpdate() baseTime = currTime; timeOffset = graphicsTime; - debug(LOG_SYNC, "Waiting for other players. gameTime = %u, player times are {%u, %u, %u, %u, %u, %u, %u, %u}", gameTime, gameQueueTime[0], gameQueueTime[1], gameQueueTime[2], gameQueueTime[3], gameQueueTime[4], gameQueueTime[5], gameQueueTime[6], gameQueueTime[7]); + debug(LOG_SYNC, "Waiting for other players. gameTime = %u, player times are {%s}", gameTime, listToString("%u", ", ", gameQueueTime, gameQueueTime + game.maxPlayers).c_str()); mayUpdate = false; - for (player = 0; player < MAX_PLAYERS; ++player) + for (player = 0; player < game.maxPlayers; ++player) { if (!checkPlayerGameTime(player)) { @@ -206,11 +224,10 @@ void gameTimeUpdate() deltaGameTime = GAME_TICKS_PER_UPDATE; updateLatency(); - if (crcError) { - debug(LOG_ERROR, "Synch error, gameTimes were: {%10u, %10u, %10u, %10u, %10u, %10u, %10u, %10u}", gameQueueCheckTime[0], gameQueueCheckTime[1], gameQueueCheckTime[2], gameQueueCheckTime[3], gameQueueCheckTime[4], gameQueueCheckTime[5], gameQueueCheckTime[6], gameQueueCheckTime[7]); - debug(LOG_ERROR, "Synch error, CRCs were: {0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X}", gameQueueCheckCrc[0], gameQueueCheckCrc[1], gameQueueCheckCrc[2], gameQueueCheckCrc[3], gameQueueCheckCrc[4], gameQueueCheckCrc[5], gameQueueCheckCrc[6], gameQueueCheckCrc[7]); + debug(LOG_ERROR, "Synch error, gameTimes were: {%s}", listToString("%10u", ", ", gameQueueCheckTime, gameQueueCheckTime + game.maxPlayers).c_str()); + debug(LOG_ERROR, "Synch error, CRCs were: {%s}", listToString("0x%08X", ", ", gameQueueCheckCrc, gameQueueCheckCrc + game.maxPlayers).c_str()); crcError = false; } } @@ -347,7 +364,7 @@ static void updateLatency() uint16_t prevDiscreteChosenLatency = discreteChosenLatency; // Find out what latency has been agreed on, next. - for (player = 0; player < MAX_PLAYERS; ++player) + for (player = 0; player < game.maxPlayers; ++player) { if (!NetPlay.players[player].kick) // .kick: Don't wait for dropped players. { @@ -380,7 +397,7 @@ void sendPlayerGameTime() uint32_t checkTime = gameTime; uint32_t checkCrc = nextDebugSync(); - for (player = 0; player < MAX_PLAYERS; ++player) + for (player = 0; player < game.maxPlayers; ++player) { if (!myResponsibility(player) && whosResponsible(player) != realSelectedPlayer) { @@ -434,7 +451,7 @@ bool checkPlayerGameTime(unsigned player) if (player == NET_ALL_PLAYERS) { begin = 0; - end = MAX_PLAYERS; + end = game.maxPlayers; } for (player = begin; player < end; ++player) @@ -452,7 +469,7 @@ void setPlayerGameTime(unsigned player, uint32_t time) { if (player == NET_ALL_PLAYERS) { - for (player = 0; player < MAX_PLAYERS; ++player) + for (player = 0; player < game.maxPlayers; ++player) { gameQueueTime[player] = time; } diff --git a/lib/netplay/netplay.cpp b/lib/netplay/netplay.cpp index e1850ce9c..f7faa98b7 100644 --- a/lib/netplay/netplay.cpp +++ b/lib/netplay/netplay.cpp @@ -332,7 +332,6 @@ static void NETSendNPlayerInfoTo(uint32_t *index, uint32_t indexLen, unsigned to NETint8_t(&NetPlay.players[index[n]].ai); NETint8_t(&NetPlay.players[index[n]].difficulty); } - NETuint32_t(&NetPlay.hostPlayer); NETend(); } @@ -343,7 +342,11 @@ static void NETSendPlayerInfoTo(uint32_t index, unsigned to) static void NETSendAllPlayerInfoTo(unsigned to) { - static uint32_t indices[MAX_PLAYERS] = {0, 1, 2, 3, 4, 5, 6, 7}; + static uint32_t indices[MAX_PLAYERS]; + for (int i = 0; i < MAX_PLAYERS; ++i) + { + indices[i] = i; + } ASSERT_OR_RETURN( , NetPlay.isHost == true, "Invalid call for non-host"); NETSendNPlayerInfoTo(indices, ARRAY_SIZE(indices), to); @@ -1431,7 +1434,6 @@ static BOOL NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) int32_t colour = 0; int32_t position = 0; int32_t team = 0; - uint32_t hostPlayer = 0; int8_t ai = 0; int8_t difficulty = 0; bool error = false; @@ -1457,7 +1459,6 @@ static BOOL NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) if (index >= MAX_CONNECTED_PLAYERS || (playerQueue.index != NetPlay.hostPlayer && (playerQueue.index != index || !NetPlay.players[index].allocated))) { debug(LOG_ERROR, "MSG_PLAYER_INFO from %u: Player ID (%u) out of range (max %u)", playerQueue.index, index, (unsigned int)MAX_CONNECTED_PLAYERS); - NETend(); error = true; break; } @@ -1496,7 +1497,6 @@ static BOOL NETprocessSystemMessage(NETQUEUE playerQueue, uint8_t type) printConsoleNameChange(oldName, NetPlay.players[index].name); } } - NETuint32_t(&hostPlayer); NETend(); // If we're the game host make sure to send the updated // data to all other clients as well. From 311cf0d2161edde3d4c8d715b2ec5c80afc36ed8 Mon Sep 17 00:00:00 2001 From: Cyp Date: Thu, 13 Jan 2011 16:58:28 +0100 Subject: [PATCH 140/142] Fix non-host not being able to change slots, and being able to try to set AI difficulty level. --- src/multiint.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/multiint.cpp b/src/multiint.cpp index 6fa4f22db..3d0542f73 100644 --- a/src/multiint.cpp +++ b/src/multiint.cpp @@ -2164,7 +2164,7 @@ void addPlayerBox(BOOL players) for (int i = 0; i < game.maxPlayers; i++) { - if (positionChooserUp >= 0 && positionChooserUp != i) + if (positionChooserUp >= 0 && positionChooserUp != i && (NetPlay.isHost || !isHumanPlayer(i))) { W_BUTINIT sButInit; sButInit.formID = MULTIOP_PLAYERS; @@ -2909,7 +2909,7 @@ static void processMultiopWidgets(UDWORD id) // clicked on a player STATIC_ASSERT(MULTIOP_PLAYER_START + MAX_PLAYERS - 1 <= MULTIOP_PLAYER_END); - if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_START + MAX_PLAYERS - 1 && (id - MULTIOP_PLAYER_START == selectedPlayer || NetPlay.isHost)) + if (id >= MULTIOP_PLAYER_START && id <= MULTIOP_PLAYER_START + MAX_PLAYERS - 1 && (id - MULTIOP_PLAYER_START == selectedPlayer || NetPlay.isHost || (positionChooserUp >= 0 && !isHumanPlayer(id - MULTIOP_PLAYER_START)))) { int player = id - MULTIOP_PLAYER_START; if ((player == selectedPlayer || (NetPlay.players[player].allocated && NetPlay.isHost)) @@ -2938,7 +2938,7 @@ static void processMultiopWidgets(UDWORD id) } if (id >= MULTIOP_DIFFICULTY_INIT_START && id <= MULTIOP_DIFFICULTY_INIT_END - && !challengeActive && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) + && !challengeActive && NetPlay.isHost && positionChooserUp < 0 && teamChooserUp < 0 && colourChooserUp < 0) { addDifficultyChooser(id - MULTIOP_DIFFICULTY_INIT_START); addPlayerBox(!ingame.bHostSetup || bHosted); From cefd17b38b61ea3c6a344d5f096281afe4e9322b Mon Sep 17 00:00:00 2001 From: littlepig Date: Thu, 13 Jan 2011 19:20:56 +0000 Subject: [PATCH 141/142] overloaded actionDroid, subtituing 3 diferent functions: actionDroidObj; actionDroidLoc and actionDriodObjLoc. All were substituted in all Src. --- src/action.cpp | 10 ++-- src/action.h | 6 +-- src/order.cpp | 128 +++++++++++++++++++++++----------------------- src/scriptai.cpp | 2 +- src/structure.cpp | 8 +-- 5 files changed, 77 insertions(+), 77 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index e2b6e7eb5..506a99dd6 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -863,7 +863,7 @@ void actionUpdateDroid(DROID *psDroid) if (psDroid->order == DORDER_PATROL) { // Back to the patrol. - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); } else { @@ -2714,7 +2714,7 @@ void actionDroid(DROID *psDroid, DROID_ACTION action) } /* Give a droid an action with a location target */ -void actionDroidLoc(DROID *psDroid, DROID_ACTION action, UDWORD x, UDWORD y) +void actionDroid(DROID *psDroid, DROID_ACTION action, UDWORD x, UDWORD y) { DROID_ACTION_DATA sAction; @@ -2726,7 +2726,7 @@ void actionDroidLoc(DROID *psDroid, DROID_ACTION action, UDWORD x, UDWORD y) } /* Give a droid an action with an object target */ -void actionDroidObj(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj) +void actionDroid(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj) { DROID_ACTION_DATA sAction; @@ -2739,7 +2739,7 @@ void actionDroidObj(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj) } /* Give a droid an action with an object target and a location */ -void actionDroidObjLoc(DROID *psDroid, DROID_ACTION action, +void actionDroid(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj, UDWORD x, UDWORD y) { DROID_ACTION_DATA sAction; @@ -2793,7 +2793,7 @@ void moveToRearm(DROID *psDroid) } else { - actionDroidObj(psDroid, DACTION_MOVETOREARM, (BASE_OBJECT *)psStruct); + actionDroid(psDroid, DACTION_MOVETOREARM, (BASE_OBJECT *)psStruct); } } else diff --git a/src/action.h b/src/action.h index 412bf12de..4a5e35732 100644 --- a/src/action.h +++ b/src/action.h @@ -62,13 +62,13 @@ void actionUpdateDroid(DROID *psDroid); void actionDroid(DROID *psDroid, DROID_ACTION action); /** Give a droid an action with a location target. */ -void actionDroidLoc(DROID *psDroid, DROID_ACTION action, UDWORD x, UDWORD y); +void actionDroid(DROID *psDroid, DROID_ACTION action, UDWORD x, UDWORD y); /** Give a droid an action with an object target. */ -void actionDroidObj(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj); +void actionDroid(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj); /** Give a droid an action with an object target and a location. */ -void actionDroidObjLoc(DROID *psDroid, DROID_ACTION action, +void actionDroid(DROID *psDroid, DROID_ACTION action, BASE_OBJECT *psObj, UDWORD x, UDWORD y); /** Rotate turret toward target return True if locked on (Droid and Structure). */ diff --git a/src/order.cpp b/src/order.cpp index 9f46962f9..79607291d 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -155,12 +155,12 @@ static void orderCheckGuardPosition(DROID *psDroid, SDWORD range) ydiff = psDroid->sMove.destination.y - psDroid->orderY; if (xdiff*xdiff + ydiff*ydiff > range*range) { - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX, psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX, psDroid->orderY); } } else { - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX, psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX, psDroid->orderY); } } } @@ -332,7 +332,7 @@ void orderUpdateDroid(DROID *psDroid) } if (psObj) { - actionDroidObj(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psObj); + actionDroid(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psObj); } } @@ -352,7 +352,7 @@ void orderUpdateDroid(DROID *psDroid) } if (psObj) { - actionDroidObj(psDroid, DACTION_REPAIR, psObj); + actionDroid(psDroid, DACTION_REPAIR, psObj); } } @@ -467,7 +467,7 @@ void orderUpdateDroid(DROID *psDroid) else if (psDroid->action == DACTION_NONE) { // stoped moving, but still havn't got the artifact - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x,psDroid->psTarget->pos.y); + actionDroid(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x,psDroid->psTarget->pos.y); } break; case DORDER_MOVE_ATTACKWALL: @@ -485,7 +485,7 @@ void orderUpdateDroid(DROID *psDroid) { psDroid->order = DORDER_SCOUT; } - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); } else if ((((psDroid->action != DACTION_ATTACK) && (psDroid->action != DACTION_MOVETOATTACK) && @@ -493,7 +493,7 @@ void orderUpdateDroid(DROID *psDroid) (psDroid->psActionTarget[0] != psDroid->psTarget)) && actionInRange(psDroid, psDroid->psTarget, 0) ) { - actionDroidObj(psDroid, DACTION_ATTACK, psDroid->psTarget); + actionDroid(psDroid, DACTION_ATTACK, psDroid->psTarget); } else if (psDroid->action == DACTION_NONE) { @@ -501,7 +501,7 @@ void orderUpdateDroid(DROID *psDroid) { psDroid->order = DORDER_SCOUT; } - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); + actionDroid(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); } } break; @@ -552,10 +552,10 @@ void orderUpdateDroid(DROID *psDroid) case DROID_CYBORG_SUPER: case DROID_PERSON: case DROID_COMMAND: - actionDroidObj(psDroid, DACTION_ATTACK, psObj); + actionDroid(psDroid, DACTION_ATTACK, psObj); break; case DROID_SENSOR: - actionDroidObj(psDroid, DACTION_OBSERVE, psObj); + actionDroid(psDroid, DACTION_OBSERVE, psObj); break; default: actionDroid(psDroid, DACTION_NONE); @@ -590,7 +590,7 @@ void orderUpdateDroid(DROID *psDroid) tempCoord = psDroid->orderY; psDroid->orderY = psDroid->orderY2; psDroid->orderY2 = tempCoord; - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); } else { @@ -599,7 +599,7 @@ void orderUpdateDroid(DROID *psDroid) } else { - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); } } else if ((psDroid->action == DACTION_ATTACK) || @@ -613,7 +613,7 @@ void orderUpdateDroid(DROID *psDroid) ydiff = (SDWORD)psDroid->pos.y - (SDWORD)psDroid->actionY; if (xdiff*xdiff + ydiff*ydiff > SCOUT_ATTACK_DIST*SCOUT_ATTACK_DIST) { - actionDroidLoc(psDroid, DACTION_RETURNTOPOS, psDroid->actionX,psDroid->actionY); + actionDroid(psDroid, DACTION_RETURNTOPOS, psDroid->actionX,psDroid->actionY); } } break; @@ -630,10 +630,10 @@ void orderUpdateDroid(DROID *psDroid) case DROID_CYBORG_SUPER: case DROID_PERSON: case DROID_COMMAND: - actionDroidObj(psDroid, DACTION_ATTACK, psObj); + actionDroid(psDroid, DACTION_ATTACK, psObj); break; case DROID_SENSOR: - actionDroidObj(psDroid, DACTION_OBSERVE, psObj); + actionDroid(psDroid, DACTION_OBSERVE, psObj); break; default: actionDroid(psDroid, DACTION_NONE); @@ -677,7 +677,7 @@ void orderUpdateDroid(DROID *psDroid) xoffset = iSinR(angle, 1500); yoffset = iCosR(angle, 1500); } - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX + xoffset, psDroid->orderY + yoffset); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX + xoffset, psDroid->orderY + yoffset); } else { @@ -698,7 +698,7 @@ void orderUpdateDroid(DROID *psDroid) if (xdiff*xdiff + ydiff*ydiff > 2000 * 2000) { // head back to the target location - actionDroidLoc(psDroid, DACTION_RETURNTOPOS, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_RETURNTOPOS, psDroid->orderX,psDroid->orderY); } } break; @@ -775,7 +775,7 @@ void orderUpdateDroid(DROID *psDroid) actionVisibleTarget(psDroid, psDroid->psTarget, 0) && !isVtolDroid(psDroid)) { // moved near enough to attack change to attack action - actionDroidObj(psDroid, DACTION_ATTACK, psDroid->psTarget); + actionDroid(psDroid, DACTION_ATTACK, psDroid->psTarget); } else if ( (psDroid->action == DACTION_MOVETOATTACK) && !isVtolDroid(psDroid) && @@ -783,7 +783,7 @@ void orderUpdateDroid(DROID *psDroid) { // lost sight of the target while chasing it - change to a move action so // that the unit will fire on other things while moving - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); + actionDroid(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); } else if (!isVtolDroid(psDroid) && psDroid->psTarget == psDroid->psActionTarget[0] @@ -792,7 +792,7 @@ void orderUpdateDroid(DROID *psDroid) && psWall->player != psDroid->player) { // there is a wall in the way - attack that - actionDroidObj(psDroid, DACTION_ATTACK, (BASE_OBJECT *)psWall); + actionDroid(psDroid, DACTION_ATTACK, (BASE_OBJECT *)psWall); } else if ((psDroid->action == DACTION_NONE) || (psDroid->action == DACTION_CLEARREARMPAD)) @@ -808,7 +808,7 @@ void orderUpdateDroid(DROID *psDroid) else if (!isVtolDroid(psDroid) || allVtolsRearmed(psDroid)) { - actionDroidObj(psDroid, DACTION_ATTACK, psDroid->psTarget); + actionDroid(psDroid, DACTION_ATTACK, psDroid->psTarget); } } break; @@ -870,7 +870,7 @@ void orderUpdateDroid(DROID *psDroid) } else if (psDroid->action == DACTION_NONE) { - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x,psDroid->psTarget->pos.y); + actionDroid(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x,psDroid->psTarget->pos.y); } } } @@ -941,7 +941,7 @@ void orderUpdateDroid(DROID *psDroid) else { // move the droid closer to the repair facility - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); + actionDroid(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); } } else if (psDroid->order == DORDER_RTR && @@ -1021,7 +1021,7 @@ void orderUpdateDroid(DROID *psDroid) // build another structure setDroidTarget(psDroid, NULL); - actionDroidLoc(psDroid, DACTION_BUILD, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_BUILD, psDroid->orderX,psDroid->orderY); //intRefreshScreen(); } break; @@ -1095,7 +1095,7 @@ void orderUpdateDroid(DROID *psDroid) psFireTarget != psDroid->psActionTarget[0])) { //get the droid to attack - actionDroidObj(psDroid, DACTION_ATTACK, psFireTarget); + actionDroid(psDroid, DACTION_ATTACK, psFireTarget); } } else if (isVtolDroid(psDroid) && @@ -1107,7 +1107,7 @@ void orderUpdateDroid(DROID *psDroid) else if ((psDroid->action != DACTION_FIRESUPPORT) && (psDroid->action != DACTION_FIRESUPPORT_RETREAT)) { - actionDroidObj(psDroid, DACTION_FIRESUPPORT, psDroid->psTarget); + actionDroid(psDroid, DACTION_FIRESUPPORT, psDroid->psTarget); } } break; @@ -1124,7 +1124,7 @@ void orderUpdateDroid(DROID *psDroid) } else if (psDroid->action == DACTION_NONE) { - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x,psDroid->psTarget->pos.y); + actionDroid(psDroid, DACTION_MOVE, psDroid->psTarget->pos.x,psDroid->psTarget->pos.y); } break; case DORDER_GUARD: @@ -1207,12 +1207,12 @@ void orderUpdateDroid(DROID *psDroid) { if (psDroid->psActionTarget[0] != psObj) { - actionDroidObj(psDroid, DACTION_ATTACK, psObj); + actionDroid(psDroid, DACTION_ATTACK, psObj); } } else if (psDroid->action != DACTION_MOVE) { - actionDroidObj(psDroid, DACTION_ATTACK, psObj); + actionDroid(psDroid, DACTION_ATTACK, psObj); } } @@ -1239,7 +1239,7 @@ void orderUpdateDroid(DROID *psDroid) } if (psObj) { - actionDroidObj(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psObj); + actionDroid(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psObj); } } //construct droids default to repairing structures within a given range @@ -1408,7 +1408,7 @@ done: { if (bRetreat) { - actionDroidLoc(psCurr, DACTION_FIRESUPPORT_RETREAT, psOrder->x, psOrder->y); + actionDroid(psCurr, DACTION_FIRESUPPORT_RETREAT, psOrder->x, psOrder->y); } else if (psCurr->action == DACTION_FIRESUPPORT_RETREAT) { @@ -1581,7 +1581,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->order = psOrder->order; psDroid->orderX = psOrder->x; psDroid->orderY = psOrder->y; - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); break; case DORDER_PATROL: psDroid->order = psOrder->order; @@ -1589,33 +1589,33 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderY = psOrder->y; psDroid->orderX2 = psDroid->pos.x; psDroid->orderY2 = psDroid->pos.y; - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); break; case DORDER_RECOVER: psDroid->order = DORDER_RECOVER; setDroidTarget(psDroid, psOrder->psObj); - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->psObj->pos.x,psOrder->psObj->pos.y); + actionDroid(psDroid, DACTION_MOVE, psOrder->psObj->pos.x,psOrder->psObj->pos.y); break; case DORDER_TRANSPORTOUT: // tell a (transporter) droid to leave home base for the offworld mission psDroid->order = DORDER_TRANSPORTOUT; psDroid->orderX = psOrder->x; psDroid->orderY = psOrder->y; - actionDroidLoc(psDroid, DACTION_TRANSPORTOUT, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_TRANSPORTOUT, psOrder->x,psOrder->y); break; case DORDER_TRANSPORTRETURN: // tell a (transporter) droid to return after unloading psDroid->order = DORDER_TRANSPORTRETURN; psDroid->orderX = psOrder->x; psDroid->orderY = psOrder->y; - actionDroidLoc(psDroid, DACTION_TRANSPORTOUT, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_TRANSPORTOUT, psOrder->x,psOrder->y); break; case DORDER_TRANSPORTIN: // tell a (transporter) droid to fly onworld psDroid->order = DORDER_TRANSPORTIN; psDroid->orderX = psOrder->x; psDroid->orderY = psOrder->y; - actionDroidLoc(psDroid, DACTION_TRANSPORTIN, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_TRANSPORTIN, psOrder->x,psOrder->y); break; case DORDER_ATTACK: case DORDER_ATTACKTARGET: @@ -1628,7 +1628,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) else if (psDroid->order == DORDER_GUARD && psOrder->order == DORDER_ATTACKTARGET) { // attacking something while guarding, don't change the order - actionDroidObj(psDroid, DACTION_ATTACK, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_ATTACK, (BASE_OBJECT *)psOrder->psObj); } else if (!psOrder->psObj->died) { @@ -1646,11 +1646,11 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) || (psOrder->order == DORDER_ATTACKTARGET && secondaryGetState(psDroid, DSO_HALTTYPE) == DSS_HALT_HOLD)) { - actionDroidObj(psDroid, DACTION_ATTACK, psOrder->psObj); + actionDroid(psDroid, DACTION_ATTACK, psOrder->psObj); } else { - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->psObj->pos.x, psOrder->psObj->pos.y); + actionDroid(psDroid, DACTION_MOVE, psOrder->psObj->pos.x, psOrder->psObj->pos.y); } } break; @@ -1669,7 +1669,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) setDroidTarget(psDroid, NULL); psDroid->psTarStats = psOrder->psStats; ASSERT((!psDroid->psTarStats || ((STRUCTURE_STATS *)psDroid->psTarStats)->type != REF_DEMOLISH), "Cannot build demolition"); - actionDroidLoc(psDroid, DACTION_BUILD, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_BUILD, psOrder->x,psOrder->y); objTrace(psDroid->id, "Starting new construction effort of %s", psOrder->psStats ? psOrder->psStats->pName : "NULL POINTER"); break; case DORDER_BUILDMODULE: @@ -1686,7 +1686,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->psTarStats = (BASE_STATS *)getModuleStat((STRUCTURE *)psOrder->psObj); ASSERT(psDroid->psTarStats != NULL, "orderUnitBase: should have found a module stats"); ASSERT((!psDroid->psTarStats || ((STRUCTURE_STATS *)psDroid->psTarStats)->type != REF_DEMOLISH), "Cannot build demolition"); - actionDroidLoc(psDroid, DACTION_BUILD, psOrder->psObj->pos.x,psOrder->psObj->pos.y); + actionDroid(psDroid, DACTION_BUILD, psOrder->psObj->pos.x,psOrder->psObj->pos.y); objTrace(psDroid->id, "Starting new upgrade of %s", psOrder->psStats ? psOrder->psStats->pName : "NULL POINTER"); break; case DORDER_LINEBUILD: @@ -1703,7 +1703,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) setDroidTarget(psDroid, NULL); psDroid->psTarStats = psOrder->psStats; ASSERT((!psDroid->psTarStats || ((STRUCTURE_STATS *)psDroid->psTarStats)->type != REF_DEMOLISH), "Cannot build demolition"); - actionDroidLoc(psDroid, DACTION_BUILD, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_BUILD, psOrder->x,psOrder->y); objTrace(psDroid->id, "Starting new line construction of %s", psOrder->psStats ? psOrder->psStats->pName : "NULL POINTER"); break; case DORDER_HELPBUILD: @@ -1716,7 +1716,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) setDroidTarget(psDroid, psOrder->psObj); psDroid->psTarStats = (BASE_STATS *)((STRUCTURE *)psOrder->psObj)->pStructureType; ASSERT((!psDroid->psTarStats || ((STRUCTURE_STATS *)psDroid->psTarStats)->type != REF_DEMOLISH), "Cannot build demolition"); - actionDroidLoc(psDroid, DACTION_BUILD, psDroid->orderX, psDroid->orderY); + actionDroid(psDroid, DACTION_BUILD, psDroid->orderX, psDroid->orderY); objTrace(psDroid->id, "Helping construction of %s", psDroid->psTarStats ? psDroid->psTarStats->pName : "NULL POINTER"); break; case DORDER_DEMOLISH: @@ -1729,7 +1729,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderY = psOrder->psObj->pos.y; psDroid->psTarStats = NULL; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid, DACTION_DEMOLISH, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_DEMOLISH, (BASE_OBJECT *)psOrder->psObj); break; case DORDER_REPAIR: if (!(psDroid->droidType == DROID_CONSTRUCT || psDroid->droidType == DROID_CYBORG_CONSTRUCT)) @@ -1740,7 +1740,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid, DACTION_REPAIR, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_REPAIR, (BASE_OBJECT *)psOrder->psObj); break; case DORDER_DROIDREPAIR: if (!(psDroid->droidType == DROID_REPAIR || psDroid->droidType == DROID_CYBORG_REPAIR)) @@ -1749,13 +1749,13 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) } psDroid->order = DORDER_DROIDREPAIR; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psOrder->psObj); break; case DORDER_OBSERVE: // keep an object within sensor view psDroid->order = DORDER_OBSERVE; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid, DACTION_OBSERVE, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_OBSERVE, (BASE_OBJECT *)psOrder->psObj); break; case DORDER_FIRESUPPORT: if (psDroid->asWeaps[0].nStat == 0) @@ -1767,7 +1767,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) // let the order update deal with vtol droids if (!isVtolDroid(psDroid)) { - actionDroidObj(psDroid, DACTION_FIRESUPPORT, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_FIRESUPPORT, (BASE_OBJECT *)psOrder->psObj); } if ( psDroid->player == selectedPlayer ) @@ -1799,7 +1799,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) objTrace(psDroid->id, "Wants to run, but has no designated retreat point - standing still."); break; } - actionDroidLoc(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psDroid->orderX,psDroid->orderY); break; case DORDER_DESTRUCT: psDroid->order = DORDER_DESTRUCT; @@ -1815,7 +1815,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) if (iDX && iDY) { psDroid->order = DORDER_LEAVEMAP; - actionDroidLoc(psDroid, DACTION_MOVE, iDX, iDY); + actionDroid(psDroid, DACTION_MOVE, iDX, iDY); break; } } @@ -1833,7 +1833,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) { actionVTOLLandingPos(psDroid, &droidX,&droidY); } - actionDroidLoc(psDroid, DACTION_MOVE, droidX,droidY); + actionDroid(psDroid, DACTION_MOVE, droidX,droidY); break; } } @@ -1847,9 +1847,9 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) if (iDX && iDY) { psDroid->order = DORDER_RTB; - //actionDroidLoc(psDroid, DACTION_MOVE, getLandingX(psDroid->player), + //actionDroid(psDroid, DACTION_MOVE, getLandingX(psDroid->player), // getLandingY(psDroid->player)); - actionDroidLoc(psDroid, DACTION_MOVE, iDX,iDY); + actionDroid(psDroid, DACTION_MOVE, iDX,iDY); } else { @@ -1929,12 +1929,12 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) objTrace(psDroid->id, "Repair transport"); actionVTOLLandingPos(psDroid, &droidX,&droidY); - actionDroidLoc(psDroid, DACTION_MOVE, droidX,droidY); + actionDroid(psDroid, DACTION_MOVE, droidX,droidY); } else { objTrace(psDroid->id, "Go to repair facility at (%d, %d) using (%d, %d)!", (int)psRepairFac->pos.x, (int)psRepairFac->pos.y, (int)psDroid->orderX, (int)psDroid->orderY); - actionDroidObjLoc(psDroid, DACTION_MOVE, (BASE_OBJECT *)psRepairFac, psDroid->orderX, psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, (BASE_OBJECT *)psRepairFac, psDroid->orderX, psDroid->orderY); } } else @@ -1957,7 +1957,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->psObj->pos.x, psOrder->psObj->pos.y); + actionDroid(psDroid, DACTION_MOVE, psOrder->psObj->pos.x, psOrder->psObj->pos.y); break; case DORDER_DISEMBARK: //only valid in multiPlayer mode @@ -1970,7 +1970,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->x; psDroid->orderY = psOrder->y; //move the Transporter to the requested location - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); //close the Transporter interface - if up if (widgGetFromID(psWScreen,IDTRANS_FORM) != NULL) { @@ -2008,7 +2008,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psFactory->pos.x; psDroid->orderY = psFactory->pos.y + world_coord(getStructureBreadth(psFactory)) / 2 + TILE_UNITS / 2; setDroidTarget(psDroid, (BASE_OBJECT *) psFactory); - actionDroidObjLoc( psDroid, DACTION_MOVE, (BASE_OBJECT *) psFactory, + actionDroid( psDroid, DACTION_MOVE, (BASE_OBJECT *) psFactory, psDroid->orderX, psDroid->orderY); } break; @@ -2041,7 +2041,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid, DACTION_RESTORE, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_RESTORE, (BASE_OBJECT *)psOrder->psObj); break; case DORDER_CLEARWRECK: if (!(psDroid->droidType == DROID_CONSTRUCT || psDroid->droidType == DROID_CYBORG_CONSTRUCT)) @@ -2052,7 +2052,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid, DACTION_CLEARWRECK, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_CLEARWRECK, (BASE_OBJECT *)psOrder->psObj); break; case DORDER_REARM: // didn't get executed before @@ -2062,7 +2062,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) } psDroid->order = DORDER_REARM; setDroidTarget(psDroid, psOrder->psObj); - actionDroidObj(psDroid,DACTION_MOVETOREARM, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid,DACTION_MOVETOREARM, (BASE_OBJECT *)psOrder->psObj); assignVTOLPad(psDroid, (STRUCTURE *)psOrder->psObj); break; case DORDER_CIRCLE: @@ -2073,7 +2073,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->order = psOrder->order; psDroid->orderX = psOrder->x; psDroid->orderY = psOrder->y; - actionDroidLoc(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); + actionDroid(psDroid, DACTION_MOVE, psOrder->x,psOrder->y); break; default: ASSERT( false, "orderUnitBase: unknown order" ); @@ -3495,7 +3495,7 @@ BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE Stat else if ( orderState(psDroid, DORDER_PATROL) ) { // send the unit back to the patrol - actionDroidLoc(psDroid, DACTION_RETURNTOPOS, psDroid->actionX, psDroid->actionY); + actionDroid(psDroid, DACTION_RETURNTOPOS, psDroid->actionX, psDroid->actionY); } } break; diff --git a/src/scriptai.cpp b/src/scriptai.cpp index fefdcc75a..dd6f30cbd 100644 --- a/src/scriptai.cpp +++ b/src/scriptai.cpp @@ -2083,7 +2083,7 @@ BOOL scrActionDroidObj(void) } syncDebug("TODO: Synchronise this!"); - actionDroidObj(psDroid, action, (BASE_OBJECT *)psObj); + actionDroid(psDroid, action, (BASE_OBJECT *)psObj); return true; } diff --git a/src/structure.cpp b/src/structure.cpp index 903c6108a..9390f3a64 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -3022,7 +3022,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) && xdiff*xdiff + ydiff*ydiff > (TILE_UNITS*5/2)*(TILE_UNITS*5/2))) { objTrace(psStructure->id, "Requesting droid %d to come to us", (int)psDroid->id); - actionDroidObjLoc(psDroid, DACTION_MOVETOREPAIRPOINT, + actionDroid(psDroid, DACTION_MOVETOREPAIRPOINT, (BASE_OBJECT *) psStructure, psStructure->pos.x, psStructure->pos.y); } /* reset repair started if we were previously repairing something else */ @@ -3090,7 +3090,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) psDroid = (DROID *)psChosenObj; if (psDroid != NULL) { - actionDroidObj( psDroid, DACTION_MOVETOREARMPOINT, (BASE_OBJECT *)psStructure); + actionDroid( psDroid, DACTION_MOVETOREARMPOINT, (BASE_OBJECT *)psStructure); } } else @@ -3100,7 +3100,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) psDroid->sMove.Status == MOVEHOVER ) && psDroid->action == DACTION_WAITFORREARM ) { - actionDroidObj( psDroid, DACTION_MOVETOREARMPOINT, (BASE_OBJECT *)psStructure); + actionDroid( psDroid, DACTION_MOVETOREARMPOINT, (BASE_OBJECT *)psStructure); } } @@ -7271,7 +7271,7 @@ void ensureRearmPadClear(STRUCTURE *psStruct, DROID *psDroid) && map_coord(psCurr->pos.y) == ty && isVtolDroid(psCurr)) { - actionDroidObj(psCurr, DACTION_CLEARREARMPAD, (BASE_OBJECT *)psStruct); + actionDroid(psCurr, DACTION_CLEARREARMPAD, (BASE_OBJECT *)psStruct); } } } From 7b969f5976ae6523681638eedf284fa0f25ef24f Mon Sep 17 00:00:00 2001 From: littlepig Date: Thu, 13 Jan 2011 21:59:07 +0000 Subject: [PATCH 142/142] (BASE_OBJECT*), (BASE_OBJECT *), (BASE_STAT*) and (BASE_STAT *) casts removed where being redundant. --- src/action.cpp | 114 ++++++++++++++++++++++----------------------- src/order.cpp | 82 ++++++++++++++++---------------- src/scriptai.cpp | 10 ++-- src/structure.cpp | 110 +++++++++++++++++++++---------------------- src/visibility.cpp | 6 +-- 5 files changed, 161 insertions(+), 161 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index 506a99dd6..baa064f43 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -493,7 +493,7 @@ BOOL actionVisibleTarget(DROID *psDroid, BASE_OBJECT *psTarget, int weapon_slot) if (psDroid->numWeaps == 0) { - if ( visibleObject((BASE_OBJECT*)psDroid, psTarget, false) ) + if ( visibleObject(psDroid, psTarget, false) ) { return true; } @@ -501,7 +501,7 @@ BOOL actionVisibleTarget(DROID *psDroid, BASE_OBJECT *psTarget, int weapon_slot) if (isVtolDroid(psDroid)) { - if ( visibleObject((BASE_OBJECT*)psDroid, psTarget, false) ) + if ( visibleObject(psDroid, psTarget, false) ) { return true; } @@ -513,7 +513,7 @@ BOOL actionVisibleTarget(DROID *psDroid, BASE_OBJECT *psTarget, int weapon_slot) if (proj_Direct(psStats)) { - if (visibleObject((BASE_OBJECT*)psDroid, psTarget, true)) + if (visibleObject(psDroid, psTarget, true)) { return true; } @@ -531,7 +531,7 @@ BOOL actionVisibleTarget(DROID *psDroid, BASE_OBJECT *psTarget, int weapon_slot) } else { - if (visibleObject((BASE_OBJECT*)psDroid, psTarget, false)) + if (visibleObject(psDroid, psTarget, false)) { return true; } @@ -955,7 +955,7 @@ void actionUpdateDroid(DROID *psDroid) if (DROID_STOPPED(psDroid) && !actionReachedBuildPos(psDroid, (SDWORD)psDroid->psTarget->pos.x,(SDWORD)psDroid->psTarget->pos.y, - (BASE_STATS *)((STRUCTURE*)psDroid->psTarget)->pStructureType ) ) + ((STRUCTURE*)psDroid->psTarget)->pStructureType ) ) { moveDroidToNoFormation(psDroid, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y); } @@ -1078,7 +1078,7 @@ void actionUpdateDroid(DROID *psDroid) } if (psDroid->psActionTarget[i] - && visibleObject((BASE_OBJECT*)psDroid, psDroid->psActionTarget[i], false)) + && visibleObject(psDroid, psDroid->psActionTarget[i], false)) { hasVisibleTarget = true; targetVisibile[i] = true; @@ -1089,7 +1089,7 @@ void actionUpdateDroid(DROID *psDroid) { //vtResult uses psActionTarget[0] for now since it's the first target if (psDroid->psActionTarget[j] != NULL && - validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[j], j)) + validTarget(psDroid, psDroid->psActionTarget[j], j)) { // firing on something while moving if (DROID_STOPPED(psDroid)) @@ -1099,7 +1099,7 @@ void actionUpdateDroid(DROID *psDroid) break; } else if (psDroid->psActionTarget[j] == NULL - || !validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[j], j) + || !validTarget(psDroid, psDroid->psActionTarget[j], j) || (secondaryGetState(psDroid, DSO_ATTACK_LEVEL) != DSS_ALEV_ALWAYS)) { if (j == (psDroid->numWeaps - 1) && !bHasTarget) @@ -1154,11 +1154,11 @@ void actionUpdateDroid(DROID *psDroid) } } - if (psActionTarget && validTarget((BASE_OBJECT *)psDroid, psActionTarget, j) - && actionTargetTurret((BASE_OBJECT*)psDroid, psActionTarget, &psDroid->asWeaps[j])) + if (psActionTarget && validTarget(psDroid, psActionTarget, j) + && actionTargetTurret(psDroid, psActionTarget, &psDroid->asWeaps[j])) { // In range - fire !!! - combFire(&psDroid->asWeaps[j], (BASE_OBJECT *)psDroid, psActionTarget, j); + combFire(&psDroid->asWeaps[j], psDroid, psActionTarget, j); } } } @@ -1214,7 +1214,7 @@ void actionUpdateDroid(DROID *psDroid) // If we're ordered to shoot something, and we can, shoot it if ((psDroid->order == DORDER_ATTACK || psDroid->order == DORDER_ATTACKTARGET) && psDroid->psActionTarget[i] != psDroid->psActionTarget[0] && - validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], i) && + validTarget(psDroid, psDroid->psActionTarget[0], i) && actionInRange(psDroid, psDroid->psActionTarget[0], i)) { setDroidActionTarget(psDroid, psDroid->psActionTarget[0], i); @@ -1223,7 +1223,7 @@ void actionUpdateDroid(DROID *psDroid) else { if (psDroid->psActionTarget[i] == NULL && - aiChooseTarget((BASE_OBJECT*)psDroid, &psTargets[i], i, false, NULL)) // Can probably just use psTarget instead of psTargets[i], and delete the psTargets variable. + aiChooseTarget(psDroid, &psTargets[i], i, false, NULL)) // Can probably just use psTarget instead of psTargets[i], and delete the psTargets variable. { setDroidActionTarget(psDroid, psTargets[i], i); } @@ -1248,7 +1248,7 @@ void actionUpdateDroid(DROID *psDroid) { WEAPON_STATS* const psWeapStats = &asWeaponStats[psDroid->asWeaps[i].nStat]; bHasTarget = true; - if (validTarget((BASE_OBJECT *)psDroid, psActionTarget, i)) + if (validTarget(psDroid, psActionTarget, i)) { int dirDiff = 0; @@ -1276,10 +1276,10 @@ void actionUpdateDroid(DROID *psDroid) } } else if (!psWeapStats->rotate || - actionTargetTurret((BASE_OBJECT*)psDroid, psActionTarget, &psDroid->asWeaps[i])) + actionTargetTurret(psDroid, psActionTarget, &psDroid->asWeaps[i])) { /* In range - fire !!! */ - combFire(&psDroid->asWeaps[i], (BASE_OBJECT *)psDroid, psActionTarget, i); + combFire(&psDroid->asWeaps[i], psDroid, psActionTarget, i); } } else if (i > 0) @@ -1324,14 +1324,14 @@ void actionUpdateDroid(DROID *psDroid) //uses vtResult if (psDroid->psActionTarget[0] != NULL && - validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], 0)) + validTarget(psDroid, psDroid->psActionTarget[0], 0)) { //check if vtol that its armed if ( (vtolEmpty(psDroid)) || (psDroid->psActionTarget[0] == NULL) || //check the target hasn't become one the same player ID - Electronic Warfare (electronicDroid(psDroid) && (psDroid->player == psDroid->psActionTarget[0]->player)) || - !validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], 0) ) + !validTarget(psDroid, psDroid->psActionTarget[0], 0) ) { moveToRearm(psDroid); break; @@ -1340,7 +1340,7 @@ void actionUpdateDroid(DROID *psDroid) for(i = 0;i numWeaps;i++) { if (nonNullWeapon[i] - && validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], i)) + && validTarget(psDroid, psDroid->psActionTarget[0], i)) { //I moved psWeapStats flag update there psWeapStats = &asWeaponStats[psDroid->asWeaps[i].nStat]; @@ -1354,16 +1354,16 @@ void actionUpdateDroid(DROID *psDroid) VTOL_ATTACK_AUDIO_DELAY ); } - if (actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[i])) + if (actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[i])) { // In range - fire !!! - combFire(&psDroid->asWeaps[i], (BASE_OBJECT *)psDroid, + combFire(&psDroid->asWeaps[i], psDroid, psDroid->psActionTarget[0], i); } } else { - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[i]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[i]); } } } @@ -1427,7 +1427,7 @@ void actionUpdateDroid(DROID *psDroid) //check the target hasn't become one the same player ID - Electronic Warfare if ((electronicDroid(psDroid) && (psDroid->player == psDroid->psActionTarget[0]->player)) || - !validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], 0) ) + !validTarget(psDroid, psDroid->psActionTarget[0], 0) ) { for (i = 0;i < psDroid->numWeaps;i++) { @@ -1442,7 +1442,7 @@ void actionUpdateDroid(DROID *psDroid) for(i = 0;i < psDroid->numWeaps;i++) { if (nonNullWeapon[i] - && validTarget((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], i) + && validTarget(psDroid, psDroid->psActionTarget[0], i) && actionVisibleTarget(psDroid, psDroid->psActionTarget[0], i)) { bool chaseBloke = false; @@ -1450,7 +1450,7 @@ void actionUpdateDroid(DROID *psDroid) if (psWeapStats->rotate) { - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[i]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[i]); } if (!isVtolDroid(psDroid) && @@ -1494,7 +1494,7 @@ void actionUpdateDroid(DROID *psDroid) else if ( actionInRange(psDroid, psDroid->psActionTarget[0], i) ) { // fire while closing range - combFire(&psDroid->asWeaps[i], (BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], i); + combFire(&psDroid->asWeaps[i], psDroid, psDroid->psActionTarget[0], i); } } } @@ -1506,7 +1506,7 @@ void actionUpdateDroid(DROID *psDroid) if ((psDroid->asWeaps[i].rot.direction != 0) || (psDroid->asWeaps[i].rot.pitch != 0)) { - actionAlignTurret((BASE_OBJECT *)psDroid, i); + actionAlignTurret(psDroid, i); } } } @@ -1530,7 +1530,7 @@ void actionUpdateDroid(DROID *psDroid) SDWORD pbx, pby; // try and extend the range - actionCalcPullBackPoint((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], &pbx,&pby); + actionCalcPullBackPoint(psDroid, psDroid->psActionTarget[0], &pbx,&pby); moveDroidTo(psDroid, (UDWORD)pbx, (UDWORD)pby); } else @@ -1616,7 +1616,7 @@ void actionUpdateDroid(DROID *psDroid) { // same type - do a help build syncDebug("Reached build target: do-help"); - setDroidTarget(psDroid, (BASE_OBJECT *)psStruct); + setDroidTarget(psDroid, psStruct); helpBuild = true; } else if ((psStruct->pStructureType->type == REF_WALL || @@ -1643,7 +1643,7 @@ void actionUpdateDroid(DROID *psDroid) cancelBuild(psDroid); } } - else if (!validLocation((BASE_STATS*)psDroid->psTarStats, + else if (!validLocation(psDroid->psTarStats, map_coord(tlx), map_coord(tly), dir, psDroid->player, @@ -1679,7 +1679,7 @@ void actionUpdateDroid(DROID *psDroid) if (psStruct->pStructureType == (STRUCTURE_STATS *)psDroid->psTarStats) { // same type - do a help build - setDroidTarget(psDroid, (BASE_OBJECT *)psStruct); + setDroidTarget(psDroid, psStruct); helpBuild = true; } else if ((psStruct->pStructureType->type == REF_WALL || psStruct->pStructureType->type == REF_WALLCORNER) && @@ -1792,7 +1792,7 @@ void actionUpdateDroid(DROID *psDroid) } if (droidUpdateBuild(psDroid)) { - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); } break; case DACTION_MOVETODEMOLISH: @@ -1914,7 +1914,7 @@ void actionUpdateDroid(DROID *psDroid) else if ( actionUpdateFunc(psDroid) ) { //use 0 for non-combat(only 1 'weapon') - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); } else if (psDroid->action == DACTION_CLEARWRECK) { @@ -1923,7 +1923,7 @@ void actionUpdateDroid(DROID *psDroid) psDroid->action = DACTION_NONE; if (psNextWreck) { - orderDroidObj(psDroid, DORDER_CLEARWRECK, (BASE_OBJECT *)psNextWreck, ModeImmediate); + orderDroidObj(psDroid, DORDER_CLEARWRECK, psNextWreck, ModeImmediate); } } else @@ -1942,7 +1942,7 @@ void actionUpdateDroid(DROID *psDroid) case DACTION_MOVETOREPAIRPOINT: /* moving from front to rear of repair facility or rearm pad */ if (actionReachedBuildPos(psDroid, psDroid->psActionTarget[0]->pos.x,psDroid->psActionTarget[0]->pos.y, - (BASE_STATS *)((STRUCTURE *)psDroid->psActionTarget[0])->pStructureType)) + ((STRUCTURE *)psDroid->psActionTarget[0])->pStructureType)) { objTrace(psDroid->id, "Arrived at repair point - waiting for our turn"); moveStopDroid(psDroid); @@ -1978,14 +1978,14 @@ void actionUpdateDroid(DROID *psDroid) if (psStruct->pStructureType == (STRUCTURE_STATS *)psDroid->psTarStats) { // same type - do a help build - setDroidTarget(psDroid, (BASE_OBJECT *)psStruct); + setDroidTarget(psDroid, psStruct); } else { psDroid->action = DACTION_NONE; } } - else if (!validLocation((BASE_STATS*)psDroid->psTarStats, + else if (!validLocation(psDroid->psTarStats, map_coord(tlx), map_coord(tly), dir, psDroid->player, @@ -2011,11 +2011,11 @@ void actionUpdateDroid(DROID *psDroid) break; case DACTION_OBSERVE: // align the turret - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); // WSS shouldn't get a free pass to hit anything on map if ((cbSensorDroid(psDroid) && asSensorStats[psDroid->asBits[COMP_SENSOR].nStat].type != SUPER_SENSOR) - || objRadarDetector((BASE_OBJECT *)psDroid)) + || objRadarDetector(psDroid)) { // don't move to the target, just make sure it is visible // Anyone commenting this out will get a knee capping from John. @@ -2029,7 +2029,7 @@ void actionUpdateDroid(DROID *psDroid) const int ydiff = (SDWORD)psDroid->pos.y - (SDWORD)psDroid->psActionTarget[0]->pos.y; int rangeSq = droidSensorRange(psDroid); rangeSq = rangeSq * rangeSq; - if (!visibleObject((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], false) + if (!visibleObject(psDroid, psDroid->psActionTarget[0], false) || xdiff * xdiff + ydiff * ydiff >= rangeSq) { if (secondaryGetState(psDroid, DSO_HALTTYPE) == DSS_HALT_HOLD && @@ -2047,9 +2047,9 @@ void actionUpdateDroid(DROID *psDroid) break; case DACTION_MOVETOOBSERVE: // align the turret - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); - if (visibleObject((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], false)) + if (visibleObject(psDroid, psDroid->psActionTarget[0], false)) { // make sure the target is within sensor range const int xdiff = (SDWORD)psDroid->pos.x - (SDWORD)psDroid->psActionTarget[0]->pos.x; @@ -2142,7 +2142,7 @@ void actionUpdateDroid(DROID *psDroid) // Got to destination - start repair //rotate turret to point at droid being repaired //use 0 for repair droid - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); if (droidStartDroidRepair(psDroid)) { psDroid->action = DACTION_DROIDREPAIR; @@ -2166,9 +2166,9 @@ void actionUpdateDroid(DROID *psDroid) int xdiff, ydiff; // If not doing self-repair (psActionTarget[0] is repair target) - if (psDroid->psActionTarget[0] != (BASE_OBJECT *)psDroid) + if (psDroid->psActionTarget[0] != psDroid) { - actionTargetTurret((BASE_OBJECT*)psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); + actionTargetTurret(psDroid, psDroid->psActionTarget[0], &psDroid->asWeaps[0]); } // Just self-repairing. // See if there's anything to shoot. @@ -2280,7 +2280,7 @@ void actionUpdateDroid(DROID *psDroid) break; } - if (visibleObject((BASE_OBJECT *)psDroid, psDroid->psActionTarget[0], false)) + if (visibleObject(psDroid, psDroid->psActionTarget[0], false)) { STRUCTURE* const psStruct = findNearestReArmPad(psDroid, (STRUCTURE *)psDroid->psActionTarget[0], true); // got close to the rearm pad - now find a clear one @@ -2290,7 +2290,7 @@ void actionUpdateDroid(DROID *psDroid) { // found a clear landing pad - go for it objTrace(psDroid->id, "Found clear rearm pad"); - setDroidActionTarget(psDroid, (BASE_OBJECT *)psStruct, 0); + setDroidActionTarget(psDroid, psStruct, 0); } psDroid->action = DACTION_WAITFORREARM; @@ -2331,7 +2331,7 @@ void actionUpdateDroid(DROID *psDroid) { if (psDroid->asWeaps[0].rot.direction != 0 || psDroid->asWeaps[0].rot.pitch != 0) { - actionAlignTurret((BASE_OBJECT *)psDroid, 0); + actionAlignTurret(psDroid, 0); } } else @@ -2340,7 +2340,7 @@ void actionUpdateDroid(DROID *psDroid) { if (psDroid->asWeaps[i].rot.direction != 0 || psDroid->asWeaps[i].rot.pitch != 0) { - actionAlignTurret((BASE_OBJECT *)psDroid, i); + actionAlignTurret(psDroid, i); } } } @@ -2399,7 +2399,7 @@ static void actionDroidBase(DROID *psDroid, DROID_ACTION_DATA *psAction) // or yourself if ((psDroid->asWeaps[0].nStat == 0) || (psDroid->droidType == DROID_TRANSPORTER) || - (psAction->psObj == (BASE_OBJECT *)psDroid)) + (psAction->psObj == psDroid)) { break; } @@ -2462,7 +2462,7 @@ static void actionDroidBase(DROID *psDroid, DROID_ACTION_DATA *psAction) { /* direct fire - try and extend the range */ psDroid->action = DACTION_MOVETOATTACK; - actionCalcPullBackPoint((BASE_OBJECT *)psDroid, psAction->psObj, &pbx,&pby); + actionCalcPullBackPoint(psDroid, psAction->psObj, &pbx,&pby); turnOffMultiMsg(true); moveDroidTo(psDroid, (UDWORD)pbx, (UDWORD)pby); @@ -2558,7 +2558,7 @@ static void actionDroidBase(DROID *psDroid, DROID_ACTION_DATA *psAction) psDroid->actionY = psAction->y; ASSERT((psDroid->psTarget != NULL) && (psDroid->psTarget->type == OBJ_STRUCTURE), "invalid target for demolish order" ); - psDroid->psTarStats = (BASE_STATS *)((STRUCTURE *)psDroid->psTarget)->pStructureType; + psDroid->psTarStats = ((STRUCTURE *)psDroid->psTarget)->pStructureType; setDroidActionTarget(psDroid, psAction->psObj, 0); moveDroidTo(psDroid, psAction->x, psAction->y); break; @@ -2572,7 +2572,7 @@ static void actionDroidBase(DROID *psDroid, DROID_ACTION_DATA *psAction) setDroidActionTarget(psDroid, psAction->psObj, 0); ASSERT((psDroid->psActionTarget[0] != NULL) && (psDroid->psActionTarget[0]->type == OBJ_STRUCTURE), "invalid target for demolish order" ); - psDroid->psTarStats = (BASE_STATS *)((STRUCTURE *)psDroid->psActionTarget[0])->pStructureType; + psDroid->psTarStats = ((STRUCTURE *)psDroid->psActionTarget[0])->pStructureType; if (secondaryGetState(psDroid, DSO_HALTTYPE) == DSS_HALT_HOLD && (psDroid->order == DORDER_NONE || psDroid->order == DORDER_TEMP_HOLD)) { @@ -2590,7 +2590,7 @@ static void actionDroidBase(DROID *psDroid, DROID_ACTION_DATA *psAction) psDroid->actionY = psDroid->pos.y; if ((secondaryGetState(psDroid, DSO_HALTTYPE) == DSS_HALT_HOLD && (psDroid->order == DORDER_NONE || psDroid->order == DORDER_TEMP_HOLD)) || - cbSensorDroid(psDroid) || objRadarDetector((BASE_OBJECT *)psDroid)) + cbSensorDroid(psDroid) || objRadarDetector(psDroid)) { psDroid->action = DACTION_OBSERVE; } @@ -2677,7 +2677,7 @@ static void actionDroidBase(DROID *psDroid, DROID_ACTION_DATA *psAction) psDroid->actionY = psAction->y; ASSERT( (psDroid->psTarget != NULL) && (psDroid->psTarget->type == OBJ_STRUCTURE), "invalid target for restore order" ); - psDroid->psTarStats = (BASE_STATS *)((STRUCTURE *)psDroid->psTarget)->pStructureType; + psDroid->psTarStats = ((STRUCTURE *)psDroid->psTarget)->pStructureType; setDroidActionTarget(psDroid, psAction->psObj, 0); moveDroidTo(psDroid, psAction->x, psAction->y); break; @@ -2789,11 +2789,11 @@ void moveToRearm(DROID *psDroid) { // no order set - use the rearm order to ensure the unit goes back // to the landing pad - orderDroidObj(psDroid, DORDER_REARM, (BASE_OBJECT *)psStruct, ModeImmediate); + orderDroidObj(psDroid, DORDER_REARM, psStruct, ModeImmediate); } else { - actionDroid(psDroid, DACTION_MOVETOREARM, (BASE_OBJECT *)psStruct); + actionDroid(psDroid, DACTION_MOVETOREARM, psStruct); } } else diff --git a/src/order.cpp b/src/order.cpp index 79607291d..b77f11459 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -186,7 +186,7 @@ BASE_OBJECT * checkForRepairRange(DROID *psDroid,DROID *psTarget) && psCurr->type == OBJ_DROID && droidIsDamaged(psCurr)) { - return (BASE_OBJECT *)psCurr; + return psCurr; } if ((psTarget != NULL) && @@ -202,13 +202,13 @@ BASE_OBJECT * checkForRepairRange(DROID *psDroid,DROID *psTarget) for (; psCurr != NULL; psCurr = psCurr->psNext) { //check for damage - if (droidIsDamaged(psCurr) && visibleObject((BASE_OBJECT *)psDroid, (BASE_OBJECT *)psCurr, false) - && droidSqDist(psDroid, (BASE_OBJECT *)psCurr) < + if (droidIsDamaged(psCurr) && visibleObject(psDroid, psCurr, false) + && droidSqDist(psDroid, psCurr) < // Hold position? Repair range, else repair max dist ((psDroid->order==DORDER_NONE && secondaryGetState(psDroid, DSO_HALTTYPE)==DSS_HALT_HOLD) ? REPAIR_RANGE : REPAIR_MAXDIST*REPAIR_MAXDIST) ) { - return (BASE_OBJECT *)psCurr; + return psCurr; } } return NULL; @@ -242,13 +242,13 @@ BASE_OBJECT * checkForDamagedStruct(DROID *psDroid, STRUCTURE *psTarget) { //check for damage if (psCurr->status == SS_BUILT && structIsDamaged(psCurr) && !checkDroidsDemolishing(psCurr) - && visibleObject((BASE_OBJECT *)psDroid, (BASE_OBJECT *)psCurr, false) - && droidSqDist(psDroid, (BASE_OBJECT *)psCurr) < + && visibleObject(psDroid, psCurr, false) + && droidSqDist(psDroid, psCurr) < // Hold position? Repair range, else repair max dist ((psDroid->order==DORDER_NONE && secondaryGetState(psDroid, DSO_HALTTYPE)==DSS_HALT_HOLD) ? REPAIR_RANGE : REPAIR_MAXDIST*REPAIR_MAXDIST) ) { - return (BASE_OBJECT *)psCurr; + return psCurr; } } return NULL; @@ -280,7 +280,7 @@ void orderUpdateDroid(DROID *psDroid) // check for died objects in the list orderCheckList(psDroid); - if (isDead((BASE_OBJECT *)psDroid)) + if (isDead(psDroid)) { return; } @@ -298,9 +298,9 @@ void orderUpdateDroid(DROID *psDroid) } // if you are in a command group, default to guarding the commander else if (hasCommander(psDroid) && - (psDroid->psTarStats != (BASE_STATS *) structGetDemolishStat())) // stop the constructor auto repairing when it is about to demolish + (psDroid->psTarStats != structGetDemolishStat())) // stop the constructor auto repairing when it is about to demolish { - orderDroidObj(psDroid, DORDER_GUARD, (BASE_OBJECT *)psDroid->psGroup->psCommander, ModeImmediate); + orderDroidObj(psDroid, DORDER_GUARD, psDroid->psGroup->psCommander, ModeImmediate); } else if (psDroid->droidType == DROID_TRANSPORTER && !bMultiPlayer) { @@ -332,14 +332,14 @@ void orderUpdateDroid(DROID *psDroid) } if (psObj) { - actionDroid(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psObj); + actionDroid(psDroid, DACTION_DROIDREPAIR, psObj); } } //construct droids default to repairing structures within a given range else if ((psDroid->droidType == DROID_CONSTRUCT || psDroid->droidType == DROID_CYBORG_CONSTRUCT) && !orderState(psDroid, DORDER_GUARD) && - (psDroid->psTarStats != (BASE_STATS *) structGetDemolishStat())) + (psDroid->psTarStats != structGetDemolishStat())) { psObj = NULL; if (psDroid->action == DACTION_NONE) @@ -357,7 +357,7 @@ void orderUpdateDroid(DROID *psDroid) } // default to guarding if the correct secondary order is set - else if (psDroid->psTarStats != (BASE_STATS *)structGetDemolishStat() && // stop the constructor auto repairing when it is about to demolish + else if (psDroid->psTarStats != structGetDemolishStat() && // stop the constructor auto repairing when it is about to demolish secondaryGetState(psDroid, DSO_HALTTYPE) == DSS_HALT_GUARD && !isVtolDroid(psDroid)) { @@ -788,11 +788,11 @@ void orderUpdateDroid(DROID *psDroid) else if (!isVtolDroid(psDroid) && psDroid->psTarget == psDroid->psActionTarget[0] && actionInRange(psDroid, psDroid->psTarget, 0) - && (psWall = visGetBlockingWall((BASE_OBJECT *)psDroid, psDroid->psTarget)) + && (psWall = visGetBlockingWall(psDroid, psDroid->psTarget)) && psWall->player != psDroid->player) { // there is a wall in the way - attack that - actionDroid(psDroid, DACTION_ATTACK, (BASE_OBJECT *)psWall); + actionDroid(psDroid, DACTION_ATTACK, psWall); } else if ((psDroid->action == DACTION_NONE) || (psDroid->action == DACTION_CLEARREARMPAD)) @@ -1118,7 +1118,7 @@ void orderUpdateDroid(DROID *psDroid) actionDroid(psDroid, DACTION_NONE); } else if (actionReachedBuildPos(psDroid, psDroid->psTarget->pos.x, psDroid->psTarget->pos.y, - (BASE_STATS *)((STRUCTURE *)psDroid->psTarget)->pStructureType)) + ((STRUCTURE *)psDroid->psTarget)->pStructureType)) { recycleDroid(psDroid); } @@ -1219,9 +1219,9 @@ void orderUpdateDroid(DROID *psDroid) // make sure units in a command group are actually guarding the commander psObj = orderStateObj(psDroid, DORDER_GUARD); // find out who is being guarded by the droid if (psObj == NULL - || psObj != (BASE_OBJECT *)psDroid->psGroup->psCommander) + || psObj != psDroid->psGroup->psCommander) { - orderDroidObj(psDroid, DORDER_GUARD, (BASE_OBJECT *)psDroid->psGroup->psCommander, ModeImmediate); + orderDroidObj(psDroid, DORDER_GUARD, psDroid->psGroup->psCommander, ModeImmediate); } } @@ -1239,7 +1239,7 @@ void orderUpdateDroid(DROID *psDroid) } if (psObj) { - actionDroid(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psObj); + actionDroid(psDroid, DACTION_DROIDREPAIR, psObj); } } //construct droids default to repairing structures within a given range @@ -1344,7 +1344,7 @@ WZ_DECL_UNUSED static void orderCheckFireSupportPos(DROID *psSensor, DROID_ORDER { if (!isVtolDroid(psCurr) && (psTarget = orderStateObj(psCurr, DORDER_FIRESUPPORT)) - && psTarget == (BASE_OBJECT *)psSensor + && psTarget == psSensor && secondaryGetState(psCurr, DSO_HALTTYPE) != DSS_HALT_HOLD) { // got a unit doing fire support @@ -1403,7 +1403,7 @@ done: { if (!isVtolDroid(psCurr) && (psTarget = orderStateObj(psCurr, DORDER_FIRESUPPORT)) - && psTarget == (BASE_OBJECT *)psSensor + && psTarget == psSensor && secondaryGetState(psCurr, DSO_HALTTYPE) != DSS_HALT_HOLD) { if (bRetreat) @@ -1628,7 +1628,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) else if (psDroid->order == DORDER_GUARD && psOrder->order == DORDER_ATTACKTARGET) { // attacking something while guarding, don't change the order - actionDroid(psDroid, DACTION_ATTACK, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_ATTACK, psOrder->psObj); } else if (!psOrder->psObj->died) { @@ -1683,7 +1683,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderY = psOrder->psObj->pos.y; psDroid->orderDirection = 0; setDroidTarget(psDroid, NULL); - psDroid->psTarStats = (BASE_STATS *)getModuleStat((STRUCTURE *)psOrder->psObj); + psDroid->psTarStats = getModuleStat((STRUCTURE *)psOrder->psObj); ASSERT(psDroid->psTarStats != NULL, "orderUnitBase: should have found a module stats"); ASSERT((!psDroid->psTarStats || ((STRUCTURE_STATS *)psDroid->psTarStats)->type != REF_DEMOLISH), "Cannot build demolition"); actionDroid(psDroid, DACTION_BUILD, psOrder->psObj->pos.x,psOrder->psObj->pos.y); @@ -1714,7 +1714,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - psDroid->psTarStats = (BASE_STATS *)((STRUCTURE *)psOrder->psObj)->pStructureType; + psDroid->psTarStats = ((STRUCTURE *)psOrder->psObj)->pStructureType; ASSERT((!psDroid->psTarStats || ((STRUCTURE_STATS *)psDroid->psTarStats)->type != REF_DEMOLISH), "Cannot build demolition"); actionDroid(psDroid, DACTION_BUILD, psDroid->orderX, psDroid->orderY); objTrace(psDroid->id, "Helping construction of %s", psDroid->psTarStats ? psDroid->psTarStats->pName : "NULL POINTER"); @@ -1729,7 +1729,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderY = psOrder->psObj->pos.y; psDroid->psTarStats = NULL; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid, DACTION_DEMOLISH, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_DEMOLISH, psOrder->psObj); break; case DORDER_REPAIR: if (!(psDroid->droidType == DROID_CONSTRUCT || psDroid->droidType == DROID_CYBORG_CONSTRUCT)) @@ -1740,7 +1740,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid, DACTION_REPAIR, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_REPAIR, psOrder->psObj); break; case DORDER_DROIDREPAIR: if (!(psDroid->droidType == DROID_REPAIR || psDroid->droidType == DROID_CYBORG_REPAIR)) @@ -1749,13 +1749,13 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) } psDroid->order = DORDER_DROIDREPAIR; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid, DACTION_DROIDREPAIR, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_DROIDREPAIR, psOrder->psObj); break; case DORDER_OBSERVE: // keep an object within sensor view psDroid->order = DORDER_OBSERVE; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid, DACTION_OBSERVE, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_OBSERVE, psOrder->psObj); break; case DORDER_FIRESUPPORT: if (psDroid->asWeaps[0].nStat == 0) @@ -1767,7 +1767,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) // let the order update deal with vtol droids if (!isVtolDroid(psDroid)) { - actionDroid(psDroid, DACTION_FIRESUPPORT, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_FIRESUPPORT, psOrder->psObj); } if ( psDroid->player == selectedPlayer ) @@ -1878,7 +1878,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) if ((psStruct->pStructureType->type == REF_REPAIR_FACILITY) || ((psStruct->pStructureType->type == REF_HQ) && (psRepairFac == NULL))) { - int iStructDistSq = droidSqDist(psDroid, (BASE_OBJECT *)psStruct); + int iStructDistSq = droidSqDist(psDroid, psStruct); if (iStructDistSq <= 0) { @@ -1903,7 +1903,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) // droids doing a DORDER_RTR periodically give themselves a DORDER_RTR so that // they always go to the nearest repair facility // this stops the unit doing anything more if the same repair facility gets chosen - if (psDroid->order == DORDER_RTR && psDroid->psTarget == (BASE_OBJECT *)psRepairFac) + if (psDroid->order == DORDER_RTR && psDroid->psTarget == psRepairFac) { objTrace(psDroid->id, "DONE FOR NOW"); break; @@ -1918,7 +1918,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->order = psOrder->order; psDroid->orderX = psRepairFac->pos.x; psDroid->orderY = psRepairFac->pos.y; - setDroidTarget(psDroid, (BASE_OBJECT *) psRepairFac); + setDroidTarget(psDroid, psRepairFac); /* If in multiPlayer, and the Transporter has been sent to be * repaired, need to find a suitable location to drop down. */ if (game.type == SKIRMISH && psDroid->droidType == DROID_TRANSPORTER) @@ -1934,7 +1934,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) else { objTrace(psDroid->id, "Go to repair facility at (%d, %d) using (%d, %d)!", (int)psRepairFac->pos.x, (int)psRepairFac->pos.y, (int)psDroid->orderX, (int)psDroid->orderY); - actionDroid(psDroid, DACTION_MOVE, (BASE_OBJECT *)psRepairFac, psDroid->orderX, psDroid->orderY); + actionDroid(psDroid, DACTION_MOVE, psRepairFac, psDroid->orderX, psDroid->orderY); } } else @@ -1989,7 +1989,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) || psStruct->pStructureType->type == REF_VTOL_FACTORY || psStruct->pStructureType->type == REF_REPAIR_FACILITY) { /* get droid->facility distance squared */ - int iStructDistSq = droidSqDist(psDroid, (BASE_OBJECT *)psStruct); + int iStructDistSq = droidSqDist(psDroid, psStruct); /* Choose current structure if first facility found or nearer than previously chosen facility */ if (psStruct->status == SS_BUILT && iStructDistSq > 0 && (psFactory == NULL || iFactoryDistSq > iStructDistSq)) @@ -2007,8 +2007,8 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->order = DORDER_RECYCLE; psDroid->orderX = psFactory->pos.x; psDroid->orderY = psFactory->pos.y + world_coord(getStructureBreadth(psFactory)) / 2 + TILE_UNITS / 2; - setDroidTarget(psDroid, (BASE_OBJECT *) psFactory); - actionDroid( psDroid, DACTION_MOVE, (BASE_OBJECT *) psFactory, + setDroidTarget(psDroid, psFactory); + actionDroid( psDroid, DACTION_MOVE, psFactory, psDroid->orderX, psDroid->orderY); } break; @@ -2041,7 +2041,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid, DACTION_RESTORE, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_RESTORE, psOrder->psObj); break; case DORDER_CLEARWRECK: if (!(psDroid->droidType == DROID_CONSTRUCT || psDroid->droidType == DROID_CYBORG_CONSTRUCT)) @@ -2052,7 +2052,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) psDroid->orderX = psOrder->psObj->pos.x; psDroid->orderY = psOrder->psObj->pos.y; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid, DACTION_CLEARWRECK, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid, DACTION_CLEARWRECK, psOrder->psObj); break; case DORDER_REARM: // didn't get executed before @@ -2062,7 +2062,7 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder) } psDroid->order = DORDER_REARM; setDroidTarget(psDroid, psOrder->psObj); - actionDroid(psDroid,DACTION_MOVETOREARM, (BASE_OBJECT *)psOrder->psObj); + actionDroid(psDroid,DACTION_MOVETOREARM, psOrder->psObj); assignVTOLPad(psDroid, (STRUCTURE *)psOrder->psObj); break; case DORDER_CIRCLE: @@ -2830,7 +2830,7 @@ DROID_ORDER chooseOrderObj(DROID *psDroid, BASE_OBJECT *psObj, BOOL altOrder) && !aiCheckAlliances(psObj->player , psDroid->player) ) { // check valid weapon/prop combination - if (!validTarget((BASE_OBJECT *)psDroid, psObj, 0)) + if (!validTarget(psDroid, psObj, 0)) { order = DORDER_NONE; } @@ -3715,7 +3715,7 @@ BOOL secondarySetState(DROID *psDroid, SECONDARY_ORDER sec, SECONDARY_STATE Stat CurrState |= DSS_RTL_TRANSPORT; if (!orderState(psDroid, DORDER_EMBARK)) { - orderDroidObj(psDroid, DORDER_EMBARK, (BASE_OBJECT *)psTransport, ModeImmediate); + orderDroidObj(psDroid, DORDER_EMBARK, psTransport, ModeImmediate); } } } diff --git a/src/scriptai.cpp b/src/scriptai.cpp index dd6f30cbd..9b58aa071 100644 --- a/src/scriptai.cpp +++ b/src/scriptai.cpp @@ -623,7 +623,7 @@ BOOL scrOrderDroidStatsLoc(void) } ASSERT_OR_RETURN( false, statIndex < numStructureStats, "Invalid range referenced for numStructureStats, %d > %d", statIndex, numStructureStats); - psStats = (BASE_STATS *)(asStructureStats + statIndex); + psStats = (asStructureStats + statIndex); ASSERT_OR_RETURN( false, psDroid != NULL, "Invalid Unit pointer" ); ASSERT_OR_RETURN( false, psStats != NULL, "Invalid object pointer" ); @@ -1214,14 +1214,14 @@ static BASE_OBJECT *scrTargetInArea(SDWORD tarPlayer, SDWORD visPlayer, SDWORD t targetPriority = (TARGET_PREF)scrStructTargetPriority; prefer = scrStructPref; ignore = scrStructIgnore; - psCurr = (BASE_OBJECT *)apsStructLists[tarPlayer]; + psCurr = apsStructLists[tarPlayer]; break; case SCR_TAR_DROID: getTargetMask = (TARGET_MASK)scrDroidTargetMask; targetPriority = (TARGET_PREF)scrDroidTargetPriority; prefer = scrDroidPref; ignore = scrDroidIgnore; - psCurr = (BASE_OBJECT *)apsDroidLists[tarPlayer]; + psCurr = apsDroidLists[tarPlayer]; break; default: ASSERT( false, "scrTargetInArea: invalid target type" ); @@ -1819,7 +1819,7 @@ static BOOL defenseLocation(BOOL variantB) ASSERT_OR_RETURN( false, statIndex < numStructureStats, "Invalid range referenced for numStructureStats, %d > %d", statIndex, numStructureStats); ASSERT_OR_RETURN( false, statIndex2 < numStructureStats, "Invalid range referenced for numStructureStats, %d > %d", statIndex2, numStructureStats); - psWStats = (BASE_STATS *)(asStructureStats + statIndex2); + psWStats = (asStructureStats + statIndex2); // check for wacky coords. if( *pX < 0 @@ -2083,7 +2083,7 @@ BOOL scrActionDroidObj(void) } syncDebug("TODO: Synchronise this!"); - actionDroid(psDroid, action, (BASE_OBJECT *)psObj); + actionDroid(psDroid, action, psObj); return true; } diff --git a/src/structure.cpp b/src/structure.cpp index 9390f3a64..725cc5351 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -808,7 +808,7 @@ int32_t structureDamage(STRUCTURE *psStructure, UDWORD damage, WEAPON_CLASS weap debug(LOG_ATTACK, "structure id %d, body %d, armour %d, damage: %d", psStructure->id, psStructure->body, psStructure->armour[impactSide][weaponClass], damage); - relativeDamage = objDamage((BASE_OBJECT *)psStructure, damage, structureBody(psStructure), weaponClass, weaponSubClass, impactSide); + relativeDamage = objDamage(psStructure, damage, structureBody(psStructure), weaponClass, weaponSubClass, impactSide); // If the shell did sufficient damage to destroy the structure if (relativeDamage < 0) @@ -945,7 +945,7 @@ void structureBuild(STRUCTURE *psStruct, DROID *psDroid, int buildPoints) for (psIter = apsDroidLists[psDroid->player]; psIter; psIter = psIter->psNext) { if ((psIter->order == DORDER_BUILD || psIter->order == DORDER_HELPBUILD || psIter->order == DORDER_LINEBUILD) - && psIter->psTarget == (BASE_OBJECT *)psStruct + && psIter->psTarget == psStruct && (psIter->order != DORDER_LINEBUILD || (map_coord(psIter->orderX) == map_coord(psIter->orderX2) && map_coord(psIter->orderY) == map_coord(psIter->orderY2)))) { @@ -1495,7 +1495,7 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y return NULL; } - psTile->psObject = (BASE_OBJECT*)psBuilding; + psTile->psObject = psBuilding; // if it's a tall structure then flag it in the map. if (psBuilding->sDisplay.imd->max.y > TALLOBJECT_YMAX) @@ -1538,8 +1538,8 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y } //set up the sensor stats - objSensorCache((BASE_OBJECT *)psBuilding, psBuilding->pStructureType->pSensor); - objEcmCache((BASE_OBJECT *)psBuilding, psBuilding->pStructureType->pECM); + objSensorCache(psBuilding, psBuilding->pStructureType->pSensor); + objEcmCache(psBuilding, psBuilding->pStructureType->pECM); /* Store the weapons */ memset(psBuilding->asWeaps, 0, sizeof(WEAPON)); @@ -1604,7 +1604,7 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y psBuilding->visible[player] = UBYTE_MAX; // Reveal any tiles that can be seen by the structure - visTilesUpdate((BASE_OBJECT *)psBuilding); + visTilesUpdate(psBuilding); /*if we're coming from a SAVEGAME and we're on an Expand_Limbo mission, any factories that were built previously for the selectedPlayer will @@ -1842,7 +1842,7 @@ STRUCTURE* buildStructureDir(STRUCTURE_STATS *pStructureType, UDWORD x, UDWORD y } /* why is this necessary - it makes tiles under the structure visible */ - setUnderTilesVis((BASE_OBJECT*)psBuilding,player); + setUnderTilesVis(psBuilding,player); psBuilding->prevTime = gameTime - deltaGameTime; // Structure hasn't been updated this tick, yet. psBuilding->time = psBuilding->prevTime - 1; // -1, so the times are different, even before updating. @@ -2455,7 +2455,7 @@ static BOOL structPlaceDroid(STRUCTURE *psStructure, DROID_TEMPLATE *psTempl, if (idfDroid(psNewDroid) || isVtolDroid(psNewDroid)) { - orderDroidObj(psNewDroid, DORDER_FIRESUPPORT, (BASE_OBJECT *)psFact->psCommander, ModeImmediate); + orderDroidObj(psNewDroid, DORDER_FIRESUPPORT, psFact->psCommander, ModeImmediate); moveToRearm(psNewDroid); } else @@ -2703,7 +2703,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (psStructure->asWeaps[i].nStat > 0 && asWeaponStats[psStructure->asWeaps[i].nStat].weaponSubClass != WSC_LAS_SAT) { - if (aiChooseTarget((BASE_OBJECT *)psStructure, &psChosenObjs[i], i, true, &tmpOrigin) ) + if (aiChooseTarget(psStructure, &psChosenObjs[i], i, true, &tmpOrigin) ) { objTrace(psStructure->id, "Weapon %d is targeting %d at (%d, %d)", i, psChosenObjs[i]->id, psChosenObjs[i]->pos.x, psChosenObjs[i]->pos.y); @@ -2711,7 +2711,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) } else { - if ( aiChooseTarget((BASE_OBJECT *)psStructure, &psChosenObjs[0], 0, true, &tmpOrigin) ) + if ( aiChooseTarget(psStructure, &psChosenObjs[0], 0, true, &tmpOrigin) ) { if (psChosenObjs[0]) { @@ -2742,11 +2742,11 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (psWStats->pMountGraphic == NULL)//no turret so lock on whatever { psStructure->asWeaps[i].rot.direction = calcDirection(psStructure->pos.x, psStructure->pos.y, psChosenObjs[i]->pos.x, psChosenObjs[i]->pos.y); - combFire(&psStructure->asWeaps[i], (BASE_OBJECT *)psStructure, psChosenObjs[i], i); + combFire(&psStructure->asWeaps[i], psStructure, psChosenObjs[i], i); } - else if (actionTargetTurret((BASE_OBJECT*)psStructure, psChosenObjs[i], &psStructure->asWeaps[i])) + else if (actionTargetTurret(psStructure, psChosenObjs[i], &psStructure->asWeaps[i])) { - combFire(&psStructure->asWeaps[i], (BASE_OBJECT *)psStructure, psChosenObjs[i], i); + combFire(&psStructure->asWeaps[i], psStructure, psChosenObjs[i], i); } } else @@ -2754,7 +2754,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // realign the turret if ((psStructure->asWeaps[i].rot.direction % DEG(90)) != 0 || psStructure->asWeaps[i].rot.pitch != 0) { - actionAlignTurret((BASE_OBJECT *)psStructure, i); + actionAlignTurret(psStructure, i); } } } @@ -2764,12 +2764,12 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) /* See if there is an enemy to attack for Sensor Towers that have weapon droids attached*/ else if (psStructure->pStructureType->pSensor) { - if (structStandardSensor(psStructure) || structVTOLSensor(psStructure) || objRadarDetector((BASE_OBJECT *)psStructure)) + if (structStandardSensor(psStructure) || structVTOLSensor(psStructure) || objRadarDetector(psStructure)) { - if (aiChooseSensorTarget((BASE_OBJECT *)psStructure, &psChosenObj)) + if (aiChooseSensorTarget(psStructure, &psChosenObj)) { objTrace(psStructure->id, "Sensing (%d)", psChosenObj->id); - if (objRadarDetector((BASE_OBJECT *)psStructure)) + if (objRadarDetector(psStructure)) { setStructureTarget(psStructure, psChosenObj, 0, ORIGIN_RADAR_DETECTOR); } @@ -2792,7 +2792,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // you can always see anything that a CB sensor is targeting // Anyone commenting this out again will get a knee capping from John. // You have been warned!! - if ((structCBSensor(psStructure) || structVTOLCBSensor(psStructure) || objRadarDetector((BASE_OBJECT *)psStructure)) && + if ((structCBSensor(psStructure) || structVTOLCBSensor(psStructure) || objRadarDetector(psStructure)) && psStructure->psTarget[0] != NULL) { psStructure->psTarget[0]->visible[psStructure->player] = UBYTE_MAX; @@ -2848,7 +2848,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // skip droids that are trying to get to other repair factories if (psDroid != NULL && (!orderState(psDroid, DORDER_RTR) - || psDroid->psTarget != (BASE_OBJECT *)psStructure)) + || psDroid->psTarget != psStructure)) { psDroid = (DROID *)psChosenObj; xdiff = (SDWORD)psDroid->pos.x - (SDWORD)psStructure->pos.x; @@ -2890,10 +2890,10 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // or that have been ordered to this repair facility (DORDER_RTR_SPECIFIED), // or any "lost" unit with one of those two orders. if (((psDroid->order == DORDER_RTR || (psDroid->order == DORDER_RTR_SPECIFIED - && (!psTarget || psTarget == (BASE_OBJECT *)psStructure))) + && (!psTarget || psTarget == psStructure))) && psDroid->action != DACTION_WAITFORREPAIR && psDroid->action != DACTION_MOVETOREPAIRPOINT && psDroid->action != DACTION_WAITDURINGREPAIR) - || (psTarget && psTarget == (BASE_OBJECT *)psStructure)) + || (psTarget && psTarget == psStructure)) { if (psDroid->body >= psDroid->originalBody) { @@ -2910,7 +2910,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // return a droid to it's command group DROID *psCommander = psDroid->psGroup->psCommander; - orderDroidObj(psDroid, DORDER_GUARD, (BASE_OBJECT *)psCommander, ModeImmediate); + orderDroidObj(psDroid, DORDER_GUARD, psCommander, ModeImmediate); } else if (psRepairFac->psDeliveryPoint != NULL) { @@ -2928,9 +2928,9 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (currdist < mindist && currdist < (TILE_UNITS*8)*(TILE_UNITS*8)) { mindist = currdist; - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; } - if (psTarget && psTarget == (BASE_OBJECT *)psStructure) + if (psTarget && psTarget == psStructure) { psRepairFac->droidQueue++; } @@ -2938,7 +2938,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // Second highest priority: // Help out another nearby repair facility else if (psTarget && mindist > (TILE_UNITS*8)*(TILE_UNITS*8) - && psTarget != (BASE_OBJECT *)psStructure && psDroid->action == DACTION_WAITFORREPAIR) + && psTarget != psStructure && psDroid->action == DACTION_WAITFORREPAIR) { REPAIR_FACILITY *stealFrom = &((STRUCTURE *)psTarget)->pFunctionality->repairFacility; // make a wild guess about what is a good distance @@ -2950,7 +2950,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (currdist < mindist && currdist - (TILE_UNITS*8)*(TILE_UNITS*8) < distLimit) { mindist = currdist; - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; psRepairFac->droidQueue++; // shared queue objTrace(psChosenObj->id, "Stolen by another repair facility, currdist=%d, mindist=%d, distLimit=%d", (int)currdist, (int)mindist, distLimit); } @@ -2965,7 +2965,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (currdist < mindist && currdist < (TILE_UNITS*5/2)*(TILE_UNITS*5/2) + (TILE_UNITS*8)*(TILE_UNITS*8)*2) { mindist = currdist; - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; } } } @@ -2987,7 +2987,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (currdist < mindist) { mindist = currdist; - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; } } } @@ -3001,7 +3001,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) { // Hey, droid, it's your turn! Stop what you're doing and get ready to get repaired! psDroid->action = DACTION_WAITFORREPAIR; - psDroid->psTarget = (BASE_OBJECT *)psStructure; + psDroid->psTarget = psStructure; } objTrace(psStructure->id, "Chose to repair droid %d", (int)psDroid->id); objTrace(psDroid->id, "Chosen to be repaired by repair structure %d", (int)psStructure->id); @@ -3012,7 +3012,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (psDroid) { /* set chosen object */ - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; /* move droid to repair point at rear of facility */ xdiff = (SDWORD)psDroid->pos.x - (SDWORD)psStructure->pos.x; @@ -3023,27 +3023,27 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) { objTrace(psStructure->id, "Requesting droid %d to come to us", (int)psDroid->id); actionDroid(psDroid, DACTION_MOVETOREPAIRPOINT, - (BASE_OBJECT *) psStructure, psStructure->pos.x, psStructure->pos.y); + psStructure, psStructure->pos.x, psStructure->pos.y); } /* reset repair started if we were previously repairing something else */ - if (psRepairFac->psObj != (BASE_OBJECT *)psDroid) + if (psRepairFac->psObj != psDroid) { psRepairFac->timeStarted = ACTION_START_TIME; psRepairFac->currentPtsAdded = 0; - psRepairFac->psObj = (BASE_OBJECT *)psDroid; + psRepairFac->psObj = psDroid; } } // update repair arm position if (psChosenObj) { - actionTargetTurret((BASE_OBJECT*)psStructure, psChosenObj, &psStructure->asWeaps[0]); + actionTargetTurret(psStructure, psChosenObj, &psStructure->asWeaps[0]); } else if ((psStructure->asWeaps[0].rot.direction % DEG(90)) != 0 || psStructure->asWeaps[0].rot.pitch != 0) { // realign the turret - actionAlignTurret((BASE_OBJECT *)psStructure, 0); + actionAlignTurret(psStructure, 0); } break; @@ -3066,7 +3066,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (vtolReadyToRearm(psDroid, psStructure) && (psChosenObj == NULL || (((DROID *)psChosenObj)->actionStarted > psDroid->actionStarted)) ) { - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; } } if (!psChosenObj) // None available? Try allies. @@ -3080,7 +3080,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) // move next droid waiting on ground to rearm pad if (vtolReadyToRearm(psDroid, psStructure)) { - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; break; } } @@ -3090,7 +3090,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) psDroid = (DROID *)psChosenObj; if (psDroid != NULL) { - actionDroid( psDroid, DACTION_MOVETOREARMPOINT, (BASE_OBJECT *)psStructure); + actionDroid( psDroid, DACTION_MOVETOREARMPOINT, psStructure); } } else @@ -3100,7 +3100,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) psDroid->sMove.Status == MOVEHOVER ) && psDroid->action == DACTION_WAITFORREARM ) { - actionDroid( psDroid, DACTION_MOVETOREARMPOINT, (BASE_OBJECT *)psStructure); + actionDroid( psDroid, DACTION_MOVETOREARMPOINT, psStructure); } } @@ -3108,7 +3108,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) if (psDroid != NULL) { /* set chosen object */ - psChosenObj = (BASE_OBJECT *)psDroid; + psChosenObj = psDroid; psReArmPad->psObj = psChosenObj; if ( psDroid->action == DACTION_MOVETOREARMPOINT ) { @@ -3384,7 +3384,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) psDroid->body = psDroid->originalBody; if ((psDroid->order == DORDER_RTR || psDroid->order == DORDER_RTR_SPECIFIED) - && psDroid->psTarget == (BASE_OBJECT *)psStructure) + && psDroid->psTarget == psStructure) { // if completely repaired reset order secondarySetState(psDroid, DSO_RETURN_TO_LOC, DSS_NONE); @@ -3395,7 +3395,7 @@ static void aiUpdateStructure(STRUCTURE *psStructure, bool isMission) DROID *psCommander = psDroid->psGroup->psCommander; objTrace(psDroid->id, "Repair complete - move to commander"); - orderDroidObj(psDroid, DORDER_GUARD, (BASE_OBJECT *)psCommander, ModeImmediate); + orderDroidObj(psDroid, DORDER_GUARD, psCommander, ModeImmediate); } else if (psRepairFac->psDeliveryPoint != NULL) { @@ -3698,7 +3698,7 @@ void structureUpdate(STRUCTURE *psBuilding, bool mission) if (!mission) { - processVisibilityLevel((BASE_OBJECT*)psBuilding); + processVisibilityLevel(psBuilding); } /* Update the fire damage data */ @@ -4768,7 +4768,7 @@ BOOL removeStruct(STRUCTURE *psDel, BOOL bDestroy) // remove the structure from the cluster cluster = psDel->cluster; - clustRemoveObject((BASE_OBJECT *)psDel); + clustRemoveObject(psDel); if (bDestroy) { @@ -4782,7 +4782,7 @@ BOOL removeStruct(STRUCTURE *psDel, BOOL bDestroy) psDel->psCurAnim = NULL; } - clustUpdateCluster((BASE_OBJECT *)apsStructLists[psDel->player], cluster); + clustUpdateCluster(apsStructLists[psDel->player], cluster); if(psDel->player==selectedPlayer) { @@ -5100,7 +5100,7 @@ void findAssemblyPointPosition(UDWORD *pX, UDWORD *pY, UDWORD player) passes = 0; //if the value passed in is not a valid location - find one! - if (!validLocation((BASE_STATS *)&sStats, *pX, *pY, 0, player, false)) + if (!validLocation(&sStats, *pX, *pY, 0, player, false)) { /* Keep going until we get a tile or we exceed distance */ while(passes < LOOK_FOR_EMPTY_TILE) @@ -5114,7 +5114,7 @@ void findAssemblyPointPosition(UDWORD *pX, UDWORD *pY, UDWORD player) if(i==startX || i==endX || j==startY || j==endY) { /* Good enough? */ - if(validLocation((BASE_STATS *)&sStats, i, j, 0, player, false)) + if(validLocation(&sStats, i, j, 0, player, false)) { /* Set exit conditions and get out NOW */ *pX = i; @@ -5640,7 +5640,7 @@ void buildingComplete(STRUCTURE *psBuilding) psBuilding->currentBuildPts = (SWORD)psBuilding->pStructureType->buildPoints; psBuilding->status = SS_BUILT; - visTilesUpdate((BASE_OBJECT *)psBuilding); + visTilesUpdate(psBuilding); switch (psBuilding->pStructureType->type) { @@ -6002,7 +6002,7 @@ BOOL electronicDamage(BASE_OBJECT *psTarget, UDWORD damage, UBYTE attackPlayer) psStructure->lastHitWeapon = WSC_ELECTRONIC; // tell the cluster system it has been attacked - clustObjectAttacked((BASE_OBJECT *)psStructure); + clustObjectAttacked(psStructure); psStructure->resistance = (SWORD)(psStructure->resistance - damage); @@ -6048,7 +6048,7 @@ BOOL electronicDamage(BASE_OBJECT *psTarget, UDWORD damage, UBYTE attackPlayer) else { // tell the cluster system it has been attacked - clustObjectAttacked((BASE_OBJECT *)psDroid); + clustObjectAttacked(psDroid); psDroid->resistance = (SWORD)(psDroid->resistance - damage); @@ -7271,7 +7271,7 @@ void ensureRearmPadClear(STRUCTURE *psStruct, DROID *psDroid) && map_coord(psCurr->pos.y) == ty && isVtolDroid(psCurr)) { - actionDroid(psCurr, DACTION_CLEARREARMPAD, (BASE_OBJECT *)psStruct); + actionDroid(psCurr, DACTION_CLEARREARMPAD, psStruct); } } } @@ -7372,28 +7372,28 @@ STRUCTURE * giftSingleStructure(STRUCTURE *psStructure, UBYTE attackPlayer, BOOL //check through the 'attackPlayer' players list of droids to see if any are targetting it for (psCurr = apsDroidLists[attackPlayer]; psCurr != NULL; psCurr = psCurr->psNext) { - if (psCurr->psTarget == (BASE_OBJECT *)psStructure) + if (psCurr->psTarget == psStructure) { orderDroid(psCurr, DORDER_STOP, ModeImmediate); break; } for (i = 0;i < psCurr->numWeaps;i++) { - if (psCurr->psActionTarget[i] == (BASE_OBJECT *)psStructure) + if (psCurr->psActionTarget[i] == psStructure) { orderDroid(psCurr, DORDER_STOP, ModeImmediate); break; } } //check through order list - orderClearTargetFromDroidList(psCurr, (BASE_OBJECT *)psStructure); + orderClearTargetFromDroidList(psCurr, psStructure); } //check through the 'attackPlayer' players list of structures to see if any are targetting it for (psStruct = apsStructLists[attackPlayer]; psStruct != NULL; psStruct = psStruct->psNext) { - if (psStruct->psTarget[0] == (BASE_OBJECT *)psStructure) + if (psStruct->psTarget[0] == psStructure) { setStructureTarget(psStruct, NULL, 0, ORIGIN_UNKNOWN); } diff --git a/src/visibility.cpp b/src/visibility.cpp index bbbcd4fc1..d4e4c6d15 100644 --- a/src/visibility.cpp +++ b/src/visibility.cpp @@ -395,7 +395,7 @@ int visibleObject(const BASE_OBJECT* psViewer, const BASE_OBJECT* psTarget, bool range = 3 * range / 2; } if (psDroid->psTarget == psTarget - && (cbSensorDroid(psDroid) || objRadarDetector((BASE_OBJECT *)psDroid))) + && (cbSensorDroid(psDroid) || objRadarDetector(psDroid))) { // if it is targetted by a counter battery sensor, it is seen return UBYTE_MAX; @@ -700,7 +700,7 @@ void processVisibility() int player; for (player = 0; player < MAX_PLAYERS; ++player) { - BASE_OBJECT *lists[] = {(BASE_OBJECT *)apsDroidLists[player], (BASE_OBJECT *)apsStructLists[player], (BASE_OBJECT *)apsFeatureLists[player]}; + BASE_OBJECT *lists[] = {apsDroidLists[player], apsStructLists[player], apsFeatureLists[player]}; unsigned list; for (list = 0; list < sizeof(lists)/sizeof(*lists); ++list) { @@ -713,7 +713,7 @@ void processVisibility() } for (player = 0; player < MAX_PLAYERS; ++player) { - BASE_OBJECT *lists[] = {(BASE_OBJECT *)apsDroidLists[player], (BASE_OBJECT *)apsStructLists[player]}; + BASE_OBJECT *lists[] = {apsDroidLists[player], apsStructLists[player]}; unsigned list; for (list = 0; list < sizeof(lists)/sizeof(*lists); ++list) {