本文整理汇总了C++中Message函数的典型用法代码示例。如果您正苦于以下问题:C++ Message函数的具体用法?C++ Message怎么用?C++ Message使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Message函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: IPAddress
//TODO: Needs header, comments
Message Connection::receiveMessage() {
std::fstream bufferFileStream;
mutexForBufferFile->lock();//Make sure to lock the mutexForBufferFile so others can't write to it while we're looking at it
bufferFileStream.open(IPAddress, std::ios::in | std::ios::out);//Open the file with the filename = IPAddress (the IP address of the connection). If it does not exist yet, create it.
//Create some buffers to hold the data
unsigned char source[constants::VID_SIZE];//This will hold the source VID
unsigned char dest[constants::VID_SIZE];//This will hold the destination VID
bool flag;//This will hold the broadcast flag
char m[constants::MAX_MESSAGE_SIZE];//This will hold the message's content
//Grab the first byte from the file
unsigned char x;
bufferFileStream >> x;
int i = 0;
while (!((x == EOF) || (x == '\0'))) {//While there are still bytes to be read from the file, and we do not encounter a '\0' (used to deliniate the messages in the file)...
if (i < constants::VID_SIZE)
source[i] = x;//Put this byte in the source
else if (i < (2 * constants::VID_SIZE))
dest[i] = x;//Put this byte in the destination
else if (i == (2 * constants::VID_SIZE))
flag = (x != 0);//This byte is the broadcast flag
else
m[i] = x;//Put this byte in the message's content
i++;
bufferFileStream >> x;
}
Message toReturn = Message(source, dest, flag, m);//Use the now filled buffers to create a message
//Find the length of the buffer file
int endOfMessage = bufferFileStream.tellg();
bufferFileStream.seekg(0, bufferFileStream.end);
int lengthOfFile = bufferFileStream.tellg();
//Find the length of the file after the first message (now read into "toReturn")
int lengthOfRemaining = lengthOfFile - endOfMessage;
//Grab the file's contents *after* the message we've already read in
unsigned char remainingBuffer[lengthOfRemaining];
bufferFileStream.seekg(lengthOfFile);
char y;
bufferFileStream >> y;
int j = 0;
while (!(j == EOF)) {
remainingBuffer[j] = y;
j++;
bufferFileStream >> y;
}
bufferFileStream.close();//Close the file so we can open it again in truncuate (over -write) mode
bufferFileStream.open(IPAddress, std::ios::out | std::ios::trunc);//Open the file with the filename = IPAddress (the IP address of the connection) in overwrite mode
for (j = 0; j < lengthOfRemaining; j++)
bufferFileStream << remainingBuffer[j];//Write only the contents of the file *after* the message we converted to overwrite the message we converted
bufferFileStream.close(); //Close the file so others can use it
mutexForBufferFile->unlock();//Unlock the mutexForBufferFile so that others know the file is availible
return toReturn;//Return the newly created message
}
开发者ID:PaulaRudy,项目名称:AnonyChat,代码行数:69,代码来源:Connection.cpp
示例2: ClearTerm
//*****************************************************************************
//
//! Clear the console window
//!
//! This function
//! 1. clears the console window.
//!
//! \return none
//
//*****************************************************************************
void
ClearTerm()
{
Message("\33[2J\r");
}
开发者ID:cocorock,项目名称:3200ExositeDemo,代码行数:15,代码来源:uart_if.c
示例3: sendRequest
std::shared_ptr<Notifications> ClientImpl::PING(in_addr_t ip, uint16_t port) {
ILOG << "Sending ping request to the server\n";
return sendRequest(ip, port, Message(Type::Confirmable, messageId_++, Code::Empty, newToken(), ""));
}
开发者ID:zerom0,项目名称:CoaPP,代码行数:4,代码来源:ClientImpl.cpp
示例4: GeneralTab_OnApply
BOOL GeneralTab_OnApply (HWND hDlg, BOOL fForce, BOOL fComplainIfInvalid)
{
if (!fForce)
{
// Don't try to do anything if we've already failed the apply
if (GetWindowLongPtr (hDlg, DWLP_MSGRESULT))
return FALSE;
}
// If the user has changed CellServDB, configuration parameters for
// the driver or anything else, we want to commit those changes first.
// We *won't* commit server prefs changes yet, because we haven't yet
// checked to see if the service is running.
//
if (!HostsTab_CommitChanges (fForce))
return FALSE;
if (!AdvancedTab_CommitChanges (fForce))
return FALSE;
if (!GeneralTab_VerifyOK (hDlg, fComplainIfInvalid))
return FALSE;
TCHAR szText[ MAX_PATH ];
if (g.fIsWinNT)
{
GetDlgItemText (hDlg, IDC_CELL, szText, MAX_PATH);
if (lstrcmpi (szText, g.Configuration.szCell))
{
if (!Config_SetCellName (szText))
return FALSE;
lstrcpy (g.Configuration.szCell, szText);
}
}
BOOL fLogonAuthent = IsDlgButtonChecked (hDlg, IDC_LOGON);
if (fLogonAuthent != g.Configuration.fLogonAuthent)
{
SetBitLogonOption(fLogonAuthent,LOGON_OPTION_INTEGRATED);
g.Configuration.fLogonAuthent = fLogonAuthent;
}
Config_SetTrayIconFlag (IsDlgButtonChecked (hDlg, IDC_TRAYICON));
if (g.fIsWinNT)
{
BOOL fBeGateway = IsDlgButtonChecked (hDlg, IDC_GATEWAY);
if (fBeGateway != g.Configuration.fBeGateway)
{
if (!Config_SetGatewayFlag (fBeGateway))
return FALSE;
g.fNeedRestart = TRUE;
g.Configuration.fBeGateway = fBeGateway;
}
}
else // (!g.fIsWinNT)
{
GetDlgItemText (hDlg, IDC_GATEWAY, szText, MAX_PATH);
if (lstrcmpi (szText, g.Configuration.szGateway))
{
TCHAR szNewCell[ MAX_PATH ];
if (!Config_ContactGateway (szText, szNewCell))
{
Message (MB_ICONASTERISK | MB_OK, GetErrorTitle(), IDS_BADGATEWAY_DESC);
return FALSE;
}
if (!GeneralTab_VerifyCell (hDlg, fComplainIfInvalid, szNewCell))
return FALSE;
if (!Config_SetGatewayName (szText))
return FALSE;
if (!Config_SetCellName (szNewCell))
return FALSE;
Config_FixGatewayDrives();
SetDlgItemText (hDlg, IDC_CELL, szNewCell);
lstrcpy (g.Configuration.szGateway, szText);
lstrcpy (g.Configuration.szCell, szNewCell);
GeneralTab_OnGateway (hDlg);
}
}
return TRUE;
}
开发者ID:snktagarwal,项目名称:openafs,代码行数:89,代码来源:tab_general.cpp
示例5: exit
void exit(status_t result) {
this->result = result;
exitPending = true;
looper->sendMessage(this, Message(MSG_EXIT));
}
开发者ID:ajkerrigan,项目名称:gecko-dev,代码行数:5,代码来源:FakeSurfaceComposer.cpp
示例6: vendorDrillMap
/* for a given drill size, find the closest vendor drill size */
int
vendorDrillMap (int in)
{
int i, min, max;
if (in == cached_drill)
return cached_map;
cached_drill = in;
/* skip the mapping if we don't have a vendor drill table */
if ((n_vendor_drills == 0) || (vendor_drills == NULL)
|| (vendorMapEnable == false))
{
cached_map = in;
return in;
}
/* are we smaller than the smallest drill? */
if (in <= vendor_drills[0])
{
cached_map = vendor_drills[0];
return vendor_drills[0];
}
/* are we larger than the largest drill? */
if (in > vendor_drills[n_vendor_drills - 1])
{
Message (_("Vendor drill list does not contain a drill >= %6.2f mil\n"
"Using %6.2f mil instead.\n"),
0.01 * in, 0.01 * vendor_drills[n_vendor_drills - 1]);
cached_map = vendor_drills[n_vendor_drills - 1];
return vendor_drills[n_vendor_drills - 1];
}
/* figure out which 2 drills are closest in size */
min = 0;
max = n_vendor_drills - 1;
while (max - min > 1)
{
i = (max+min) / 2;
if (in > vendor_drills[i])
min = i;
else
max = i;
}
i = max;
/* now round per the rounding mode */
if (rounding_method == CLOSEST)
{
/* find the closest drill size */
if ((in - vendor_drills[i - 1]) > (vendor_drills[i] - in))
{
cached_map = vendor_drills[i];
return vendor_drills[i];
}
else
{
cached_map = vendor_drills[i - 1];
return vendor_drills[i - 1];
}
}
else
{
/* always round up */
cached_map = vendor_drills[i];
return vendor_drills[i];
}
}
开发者ID:jpmatsci,项目名称:pcb,代码行数:71,代码来源:vendor.c
示例7: vendorIsElementMappable
bool
vendorIsElementMappable (ElementType *element)
{
int i;
int noskip;
if (vendorMapEnable == false)
return false;
noskip = 1;
for (i = 0; i < n_refdes; i++)
{
if ((NSTRCMP (UNKNOWN (NAMEONPCB_NAME (element)), ignore_refdes[i]) ==
0)
|| rematch (ignore_refdes[i], UNKNOWN (NAMEONPCB_NAME (element))))
{
Message (_
("Vendor mapping skipped because refdes = %s matches %s\n"),
UNKNOWN (NAMEONPCB_NAME (element)), ignore_refdes[i]);
noskip = 0;
}
}
if (noskip)
for (i = 0; i < n_value; i++)
{
if ((NSTRCMP (UNKNOWN (VALUE_NAME (element)), ignore_value[i]) == 0)
|| rematch (ignore_value[i], UNKNOWN (VALUE_NAME (element))))
{
Message (_
("Vendor mapping skipped because value = %s matches %s\n"),
UNKNOWN (VALUE_NAME (element)), ignore_value[i]);
noskip = 0;
}
}
if (noskip)
for (i = 0; i < n_descr; i++)
{
if ((NSTRCMP (UNKNOWN (DESCRIPTION_NAME (element)), ignore_descr[i])
== 0)
|| rematch (ignore_descr[i],
UNKNOWN (DESCRIPTION_NAME (element))))
{
Message (_
("Vendor mapping skipped because descr = %s matches %s\n"),
UNKNOWN (DESCRIPTION_NAME (element)), ignore_descr[i]);
noskip = 0;
}
}
if (noskip && TEST_FLAG (LOCKFLAG, element))
{
Message (_("Vendor mapping skipped because element %s is locked\n"),
UNKNOWN (NAMEONPCB_NAME (element)));
noskip = 0;
}
if (noskip)
return true;
else
return false;
}
开发者ID:jpmatsci,项目名称:pcb,代码行数:62,代码来源:vendor.c
示例8: Main
Int2 Main (void)
{
Char app [64], type;
CSpeedFlagData cfd;
CharPtr directory, filter, infile, logfile, outfile, str, suffix;
Boolean remote;
time_t runtime, starttime, stoptime;
/* standard setup */
ErrSetFatalLevel (SEV_MAX);
ErrClearOptFlags (EO_SHOW_USERSTR);
UseLocalAsnloadDataAndErrMsg ();
ErrPathReset ();
/* finish resolving internal connections in ASN.1 parse tables */
if (! AllObjLoad ()) {
Message (MSG_FATAL, "AllObjLoad failed");
return 1;
}
if (! SubmitAsnLoad ()) {
Message (MSG_FATAL, "SubmitAsnLoad failed");
return 1;
}
if (! FeatDefSetLoad ()) {
Message (MSG_FATAL, "FeatDefSetLoad failed");
return 1;
}
if (! SeqCodeSetLoad ()) {
Message (MSG_FATAL, "SeqCodeSetLoad failed");
return 1;
}
if (! GeneticCodeTableLoad ()) {
Message (MSG_FATAL, "GeneticCodeTableLoad failed");
return 1;
}
/* process command line arguments */
sprintf (app, "cspeedtest %s", CSPEEDTEST_APPLICATION);
if (! GetArgs (app, sizeof (myargs) / sizeof (Args), myargs)) {
return 0;
}
MemSet ((Pointer) &cfd, 0, sizeof (CSpeedFlagData));
directory = (CharPtr) myargs [p_argInputPath].strvalue;
infile = (CharPtr) myargs [i_argInputFile].strvalue;
outfile = (CharPtr) myargs [o_argOutputFile].strvalue;
filter = (CharPtr) myargs [f_argFilter].strvalue;
suffix = (CharPtr) myargs [x_argSuffix].strvalue;
cfd.batch = FALSE;
cfd.binary = (Boolean) myargs [b_argBinary].intvalue;
cfd.compressed = (Boolean) myargs [c_argCompressed].intvalue;
cfd.lock = (Boolean) myargs [l_argLockFar].intvalue;
cfd.type = 1;
str = myargs [a_argType].strvalue;
TrimSpacesAroundString (str);
if (StringDoesHaveText (str)) {
type = str [0];
} else {
type = 'a';
}
type = TO_LOWER (type);
switch (type) {
case 'a' :
cfd.type = 1;
break;
case 'e' :
cfd.type = 2;
break;
case 'b' :
cfd.type = 3;
break;
case 's' :
cfd.type = 4;
break;
case 'm' :
cfd.type = 5;
break;
case 't' :
cfd.type = 1;
cfd.batch = TRUE;
break;
case 'f' :
cfd.type = 6;
break;
case 'l' :
cfd.type = 7;
break;
default :
cfd.type = 1;
break;
}
//.........这里部分代码省略.........
开发者ID:jbreitbart,项目名称:mpifast,代码行数:101,代码来源:cspeedtest.c
示例9: ProcessSingleRecord
static void ProcessSingleRecord (
CharPtr filename,
CSpeedFlagPtr cfp
)
{
AsnIoPtr aip;
BioseqPtr bsp;
ValNodePtr bsplist = NULL;
BioseqSetPtr bssp;
Pointer dataptr = NULL;
Uint2 datatype, entityID = 0;
FileCache fc;
FILE *fp;
Int1 iotype;
Char line [512];
Int4 maxio = 1;
SeqEntryPtr sep;
time_t starttime, stoptime, worsttime;
CharPtr str;
Int4 x;
if (cfp == NULL) return;
if (StringHasNoText (filename)) return;
if (StringChr (cfp->io, 'r') != NULL) {
maxio = cfp->maxcount;
}
starttime = GetSecs ();
for (x = 0; x < maxio; x++) {
if (entityID != 0) {
ObjMgrFreeByEntityID (entityID);
entityID = 0;
dataptr = NULL;
}
if (cfp->type == 1) {
fp = FileOpen (filename, "r");
if (fp == NULL) {
Message (MSG_POSTERR, "Failed to open '%s'", filename);
return;
}
dataptr = ReadAsnFastaOrFlatFile (fp, &datatype, NULL, FALSE, FALSE, FALSE, FALSE);
FileClose (fp);
entityID = ObjMgrRegister (datatype, dataptr);
} else if (cfp->type >= 2 && cfp->type <= 5) {
aip = AsnIoOpen (filename, cfp->binary? "rb" : "r");
if (aip == NULL) {
Message (MSG_POSTERR, "AsnIoOpen failed for input file '%s'", filename);
return;
}
switch (cfp->type) {
case 2 :
dataptr = (Pointer) SeqEntryAsnRead (aip, NULL);
datatype = OBJ_SEQENTRY;
break;
case 3 :
dataptr = (Pointer) BioseqAsnRead (aip, NULL);
datatype = OBJ_BIOSEQ;
break;
case 4 :
dataptr = (Pointer) BioseqSetAsnRead (aip, NULL);
datatype = OBJ_BIOSEQSET;
break;
case 5 :
dataptr = (Pointer) SeqSubmitAsnRead (aip, NULL);
datatype = OBJ_SEQSUB;
break;
default :
break;
}
AsnIoClose (aip);
entityID = ObjMgrRegister (datatype, dataptr);
} else if (cfp->type == 6) {
fp = FileOpen (filename, "r");
if (fp == NULL) {
Message (MSG_POSTERR, "Failed to open '%s'", filename);
return;
}
dataptr = ReadAsnFastaOrFlatFile (fp, &datatype, NULL, FALSE, FALSE, FALSE, FALSE);
FileClose (fp);
entityID = ObjMgrRegister (datatype, dataptr);
//.........这里部分代码省略.........
开发者ID:jbreitbart,项目名称:mpifast,代码行数:101,代码来源:cspeedtest.c
示例10: POLYAREA_findXmostLine
/*
* Given a polygon and a side of it (a direction north/northeast/etc), find
* a line tangent to that side, offset by clearance, and return it as a
* pair of vectors PQ.
* Make it long so it will intersect everything in the area.
*/
static void
POLYAREA_findXmostLine(POLYAREA *a, int side, Vector p, Vector q, int clearance)
{
p[0] = p[1] = 0;
q[0] = q[1] = 0;
int extra = a->contours->xmax - a->contours->xmin +
a->contours->ymax - a->contours->ymin;
switch (side) {
case NORTH:
p[1] = q[1] = a->contours->ymin - clearance;
p[0] = a->contours->xmin - extra;
q[0] = a->contours->xmax + extra;
break;
case SOUTH:
p[1] = q[1] = a->contours->ymax + clearance;
p[0] = a->contours->xmin - extra;
q[0] = a->contours->xmax + extra;
break;
case EAST:
p[0] = q[0] = a->contours->xmax + clearance;
p[1] = a->contours->ymin - extra;
q[1] = a->contours->ymax + extra;
break;
case WEST:
p[0] = q[0] = a->contours->xmin - clearance;
p[1] = a->contours->ymin - extra;
q[1] = a->contours->ymax + extra;
break;
default: { /* diagonal case */
int kx, ky, minmax, dq, ckx, cky;
Coord mm[2] = {MAX_COORD, -MAX_COORD};
Vector mmp[2];
VNODE *v;
switch (side) {
case NORTHWEST:
kx = 1; /* new_x = kx * x + ky * y */
ky = 1;
dq = -1; /* extend line in +x, dq*y */
ckx = cky = -1; /* clear line in ckx*clear, cky*clear */
minmax = 0; /* min or max */
break;
case SOUTHWEST:
kx = 1;
ky = -1;
dq = 1;
ckx = -1;
cky = 1;
minmax = 0;
break;
case NORTHEAST:
kx = 1;
ky = -1;
dq = 1;
ckx = 1;
cky = -1;
minmax = 1;
break;
case SOUTHEAST:
kx = ky = 1;
dq = -1;
ckx = cky = 1;
minmax = 1;
break;
default:
Message("bjj: aiee, what side?");
return;
}
v = &a->contours->head;
do {
int test = kx * v->point[0] + ky * v->point[1];
if (test < mm[0]) {
mm[0] = test;
mmp[0][0] = v->point[0];
mmp[0][1] = v->point[1];
}
if (test > mm[1]) {
mm[1] = test;
mmp[1][0] = v->point[0];
mmp[1][1] = v->point[1];
}
} while ((v = v->next) != &a->contours->head);
Vcpy2(p, mmp[minmax]);
/* add clearance in the right direction */
clearance *= 0.707123; /* = cos(45) = sqrt(2)/2 */
p[0] += ckx * clearance;
p[1] += cky * clearance;
/* now create a tangent line to that point */
Vcpy2(q, p);
p[0] += -extra;
p[1] += -extra * dq;
q[0] += extra;
q[1] += extra * dq;
//.........这里部分代码省略.........
开发者ID:etihwnad,项目名称:pcb-plugins,代码行数:101,代码来源:jostle.c
示例11: Main
Int2 Main (void)
{
AsnIoPtr aip;
AsnTypePtr atp;
FILE *dfp = NULL;
Boolean do_nuc = FALSE;
Boolean do_prot = FALSE;
XtraPtr extra;
FILE *fp;
GBSeq gbsq;
GBSet gbst;
Boolean get_var;
Char line [256];
Boolean only_new;
CharPtr str;
Char xmlbuf [128];
XtraBlock xtra;
ErrSetFatalLevel (SEV_MAX);
ErrClearOptFlags (EO_SHOW_USERSTR);
UseLocalAsnloadDataAndErrMsg ();
ErrPathReset ();
if (! AllObjLoad ()) {
Message (MSG_FATAL, "AllObjLoad failed");
return 1;
}
if (! SubmitAsnLoad ()) {
Message (MSG_FATAL, "SubmitAsnLoad failed");
return 1;
}
if (! SeqCodeSetLoad ()) {
Message (MSG_FATAL, "SeqCodeSetLoad failed");
return 1;
}
if (! GeneticCodeTableLoad ()) {
Message (MSG_FATAL, "GeneticCodeTableLoad failed");
return 1;
}
if (! objgbseqAsnLoad ()) {
Message (MSG_POSTERR, "objgbseqAsnLoad failed");
return 1;
}
if (! GetArgs ("gbseqget", sizeof (myargs) / sizeof (Args), myargs)) {
return 0;
}
fp = FileOpen (myargs [i_argInputFile].strvalue, "r");
if (fp == NULL) {
return 1;
}
if (! StringHasNoText (myargs [d_argDateFile].strvalue)) {
dfp = FileOpen (myargs [d_argDateFile].strvalue, "r");
if (dfp == NULL) {
return 1;
}
}
if (GetAppParam ("NCBI", "SETTINGS", "XMLPREFIX", NULL, xmlbuf, sizeof (xmlbuf))) {
AsnSetXMLmodulePrefix (StringSave (xmlbuf));
}
MemSet ((Pointer) &xtra, 0, sizeof (XtraBlock));
MemSet ((Pointer) &gbsq, 0, sizeof (GBSeq));
xtra.gbseq = &gbsq;
aip = AsnIoOpen (myargs [o_argOutputFile].strvalue, "wx");
if (aip == NULL) {
Message (MSG_POSTERR, "AsnIoOpen failed");
FileClose (fp);
return 1;
}
only_new = (Boolean) myargs [n_argNewRecords].intvalue;
get_var = (Boolean) myargs [v_argVariations].intvalue;
str = myargs [m_argMolecule].strvalue;
if (StringICmp (str, "n") == 0) {
do_nuc = TRUE;
} else if (StringICmp (str, "p") == 0) {
do_prot = TRUE;
} else if (StringICmp (str, "b") == 0) {
do_nuc = TRUE;
do_prot = TRUE;
} else {
do_nuc = TRUE;
}
PubSeqFetchEnable ();
xtra.aip = aip;
atp = AsnLinkType (NULL, AsnFind ("GBSet"));
xtra.atp = AsnLinkType (NULL, AsnFind ("GBSet.E"));
if (atp == NULL || xtra.atp == NULL) {
Message (MSG_POSTERR, "AsnLinkType or AsnFind failed");
return 1;
}
//.........这里部分代码省略.........
开发者ID:hsptools,项目名称:hsp-wrap,代码行数:101,代码来源:gbseqget.c
示例12: Save
void Client::GoFish()
{
Save(); //More desync testing
//TODO: generate a message if we're already fishing
/*if (!fishing_timer.Check()) { //this isn't the right check, may need to add something to the Client class like 'bool is_fishing'
Message_StringID(CC_Default, ALREADY_FISHING); //You are already fishing!
return;
}*/
fishing_timer.Disable();
//we're doing this a second time (1st in Client::Handle_OP_Fishing) to make sure that, between when we started fishing & now, we're still able to fish (in case we move, change equip, etc)
if (!CanFish()) //if we can't fish here, we don't need to bother with the rest
return;
//multiple entries yeilds higher probability of dropping...
uint32 common_fish_ids[MAX_COMMON_FISH_IDS] = {
1038, // Tattered Cloth Sandals
1038, // Tattered Cloth Sandals
1038, // Tattered Cloth Sandals
13019, // Fresh Fish
13076, // Fish Scales
13076, // Fish Scales
7007, // Rusty Dagger
7007, // Rusty Dagger
7007 // Rusty Dagger
};
//success formula is not researched at all
int fishing_skill = GetSkill(SkillFishing); //will take into account skill bonuses on pole & bait
//make sure we still have a fishing pole on:
int32 bslot = m_inv.HasItemByUse(ItemTypeFishingBait, 1, invWhereWorn|invWherePersonal);
const ItemInst* Bait = nullptr;
if (bslot != INVALID_INDEX)
Bait = m_inv.GetItem(bslot);
//if the bait isnt equipped, need to add its skill bonus
if(bslot >= EmuConstants::GENERAL_BEGIN && Bait->GetItem()->SkillModType == SkillFishing) {
fishing_skill += Bait->GetItem()->SkillModValue;
}
if (fishing_skill > 100)
{
fishing_skill = 100+((fishing_skill-100)/2);
}
if (MakeRandomInt(0,175) < fishing_skill) {
uint32 food_id = 0;
//25% chance to fish an item.
if (MakeRandomInt(0, 399) <= fishing_skill ) {
uint32 npc_id = 0;
uint8 npc_chance = 0;
food_id = database.GetZoneFishing(m_pp.zone_id, fishing_skill, npc_id, npc_chance);
//check for add NPC
if(npc_chance > 0 && npc_id) {
if(npc_chance < MakeRandomInt(0, 99)) {
const NPCType* tmp = database.GetNPCType(npc_id);
if(tmp != nullptr) {
NPC* npc = new NPC(tmp, nullptr, GetX()+3, GetY(), GetZ(), GetHeading(), FlyMode3);
npc->AddLootTable();
npc->AddToHateList(this, 1, 0, false); //no help yelling
entity_list.AddNPC(npc);
Message(MT_Emote, "You fish up a little more than you bargained for...");
}
}
}
}
//consume bait, should we always consume bait on success?
DeleteItemInInventory(bslot, 1, true); //do we need client update?
if(food_id == 0) {
int index = MakeRandomInt(0, MAX_COMMON_FISH_IDS-1);
food_id = common_fish_ids[index];
}
const Item_Struct* food_item = database.GetItem(food_id);
Message_StringID(MT_Skills, FISHING_SUCCESS);
ItemInst* inst = database.CreateItem(food_item, 1);
if(inst != nullptr) {
if(CheckLoreConflict(inst->GetItem()))
{
Message_StringID(CC_Default, DUP_LORE);
safe_delete(inst);
}
else
{
PushItemOnCursor(*inst);
SendItemPacket(MainCursor, inst, ItemPacketSummonItem);
safe_delete(inst);
//.........这里部分代码省略.........
开发者ID:quido,项目名称:Server,代码行数:101,代码来源:forage.cpp
示例13: ArtificialIntelligence8
int ArtificialIntelligence8 ()
{
int i, j, k, st, id;
TPoint p;
Message (SigText[TXT_AI_ANALYSE]);
// Prepocitame viditelnost
AllowBadlife (TRUE);
ComputeVisib ();
RedrawMap ();
LockDraw ();
// Aktualizujeme specialni objekty
Docks1 = GetField (D1X, D1Y) -> Unit;
if (Docks1 == NO_UNIT || Units [Docks1] -> Type % BADLIFE != unDocks)
Docks1 = NO_UNIT;
Docks2 = GetField (D2X, D2Y) -> Unit;
if (Docks2 == NO_UNIT || Units [Docks2] -> Type % BADLIFE != unDocks)
Docks2 = NO_UNIT;
Factory1 = GetField (F1X, F1Y) -> Unit;
if (Factory1 == NO_UNIT || Units [Factory1] -> Type % BADLIFE != unFactory)
Factory1 = NO_UNIT;
Factory2 = GetField (F2X, F2Y) -> Unit;
if (Factory2 == NO_UNIT || Units [Factory2] -> Type % BADLIFE != unFactory)
Factory2 = NO_UNIT;
Factory3 = GetField (F3X, F3Y) -> Unit;
if (Factory3 == NO_UNIT || Units [Factory3] -> Type % BADLIFE != unFactory)
Factory3 = NO_UNIT;
// Vyradime znicene jednotky z armad
Towers -> DeleteKilled2 (); Towers -> DeleteKilled ();
Army1 -> DeleteKilled2 (); Army1 -> DeleteKilled ();
Army2 -> DeleteKilled2 (); Army2 -> DeleteKilled ();
Army3 -> DeleteKilled2 (); Army3 -> DeleteKilled ();
AirArmy3 -> DeleteKilled2 (); AirArmy3 -> DeleteKilled ();
Army4 -> DeleteKilled2 (); Army4 -> DeleteKilled ();
Army5 -> DeleteKilled2 (); Army5 -> DeleteKilled ();
Army6 -> DeleteKilled2 (); Army6 -> DeleteKilled ();
Army7 -> DeleteKilled2 (); Army7 -> DeleteKilled ();
Army8 -> DeleteKilled2 (); Army8 -> DeleteKilled ();
AirArmy8 -> DeleteKilled2 (); AirArmy8 -> DeleteKilled ();
Marine1 -> DeleteKilled2 (); Marine1 -> DeleteKilled ();
Marine8 -> DeleteKilled2 (); Marine8 -> DeleteKilled ();
DUPos = 0;
// Testneme konec hry
st = AssignResult ();
if (st != 0) {
UnlockDraw ();
AllowBadlife (FALSE);
return st;
}
// Zpracujeme seznam poli, na ktere se utocilo
Army1 -> DoAttackedFields ();
Army2 -> DoAttackedFields ();
Army3 -> DoAttackedFields ();
AirArmy3 -> DoAttackedFields ();
Army4 -> DoAttackedFields ();
Army5 -> DoAttackedFields ();
Army6 -> DoAttackedFields ();
Army7 -> DoAttackedFields ();
Army8 -> DoAttackedFields ();
AirArmy8 -> DoAttackedFields ();
Marine1 -> DoAttackedFields ();
Marine8 -> DoAttackedFields ();
AttackFieldPos = 0;
AnalyseLandscape ();
Message (SigText[TXT_AI_ARMY]);
//////////////////////////////// AKTIVACE ARMAD
// Test zaktivovani armady 1
if (Army1 -> Status == asSleeping) {
for (i = 0; i < BADLIFE; i++) {
if (Units [i] == NULL) continue;
if (Army1 -> IsInVisualRange (Units [i] -> X, Units [i] -> Y)) {
Army1 -> Status = asActive;
}
}
}
// Test zaktivovani armady 2
if (Army2 -> Status == asSleeping) {
for (i = 0; i < BADLIFE; i++) {
if (Units [i] == NULL) continue;
if (Army2 -> IsInVisualRange (Units [i] -> X, Units [i] -> Y)) {
Army2 -> Status = asActive;
}
}
}
// Test zaktivovani armady 3
if (Army3 -> Status == asSleeping) {
for (i = 0; i < BADLIFE; i++) {
if (Units [i] == NULL) continue;
//.........这里部分代码省略.........
开发者ID:zarevucky,项目名称:signus,代码行数:101,代码来源:ai8.cpp
示例14: switch
//.........这里部分代码省略.........
#if defined(_MSC_VER)
#ifdef _M_IA64
#define __REG_IA64_IntR0 1024
__setReg(__REG_IA64_IntR0, 666);
#else
__ud2();
#endif
#elif defined(__GNUC__)
asm("ud2");
#else
#error "Unsupported compiler"
#endif
break;
case 4:
Test_EXCEPTION_STACK_OVERFLOW(nullptr);
break;
case 5:
//refers.d = 1.0/zero_const.d;
break;
case 6:
DebugBreak();
break;
#ifdef _M_IA64
case 7:
{
BYTE temp[10]={};
double* val;
val = (double*)(&temp[3]);
printf("%lf\n", *val);
}
#endif
}
Message(MSG_WARNING, 1, L"Test Exceptions failed", L"", ECode[ExitCode].Name, L"", MSG(MOk));
return TRUE;
}
#endif
/*** БЛОК ПРИВЕЛЕГИРОВАННЫХ КЛАВИШ ! ***/
/*** КОТОРЫЕ НЕЛЬЗЯ НАМАКРОСИТЬ ***/
switch (Key)
{
case KEY_ALT|KEY_NUMPAD0:
case KEY_RALT|KEY_NUMPAD0:
case KEY_ALTINS:
case KEY_RALTINS:
{
RunGraber();
return TRUE;
}
case KEY_CONSOLE_BUFFER_RESIZE:
Sleep(1);
ResizeAllFrame();
return TRUE;
}
/*** А вот здесь - все остальное! ***/
if (!Global->IsProcessAssignMacroKey)
// в любом случае если кому-то не нужны все клавиши или
{
bool scrollable = false;
if ( Global->Opt->WindowMode )
{
int frame_type = CurrentFrame->GetType();
scrollable = frame_type != MODALTYPE_EDITOR && frame_type != MODALTYPE_VIEWER;
开发者ID:CyberShadow,项目名称:FAR,代码行数:67,代码来源:manager.cpp
示例15: ActionLoadVendorFrom
int
ActionLoadVendorFrom (int argc, char **argv, Coord x, Coord y)
{
int i;
char *fname = NULL;
static char *default_file = NULL;
char *sval;
Resource *res, *drcres, *drlres;
int type;
bool free_fname = false;
cached_drill = -1;
fname = argc ? argv[0] : 0;
if (!fname || !*fname)
{
fname = gui->fileselect (_("Load Vendor Resource File..."),
_("Picks a vendor resource file to load.\n"
"This file can contain drc settings for a\n"
"particular vendor as well as a list of\n"
"predefined drills which are allowed."),
default_file, ".res", "vendor",
HID_FILESELECT_READ);
if (fname == NULL)
AFAIL (load_vendor);
free_fname = true;
free (default_file);
default_file = NULL;
if (fname && *fname)
default_file = strdup (fname);
}
/* Unload any vendor table we may have had */
n_vendor_drills = 0;
n_refdes = 0;
n_value = 0;
n_descr = 0;
FREE (vendor_drills);
FREE (ignore_refdes);
FREE (ignore_value);
FREE (ignore_descr);
/* load the resource file */
res = resource_parse (fname, NULL);
if (res == NULL)
{
Message (_("Could not load vendor resource file \"%s\"\n"), fname);
return 1;
}
/* figure out the vendor name, if specified */
vendor_name = (char *)UNKNOWN (resource_value (res, "vendor"));
/* figure out the units, if specified */
sval = resource_value (res, "units");
if (sval == NULL)
{
sf = MIL_TO_COORD(1);
}
else if ((NSTRCMP (sval, "mil") == 0) || (NSTRCMP (sval, "mils") == 0))
{
sf = MIL_TO_COORD(1);
}
else if ((NSTRCMP (sval, "inch") == 0) || (NSTRCMP (sval, "inches") == 0))
{
sf = INCH_TO_COORD(1);
}
else if (NSTRCMP (sval, "mm") == 0)
{
sf = MM_TO_COORD(1);
}
else
{
Message ("\"%s\" is not a supported units. Defaulting to inch\n",
sval);
sf = INCH_TO_COORD(1);
}
/* default to ROUND_UP */
rounding_method = ROUND_UP;
/* extract the drillmap resource */
drlres = resource_subres (res, "drillmap");
if (drlres == NULL)
{
Message (_("No drillmap resource found\n"));
}
else
{
sval = resource_value (drlres, "round");
if (sval != NULL)
{
if (NSTRCMP (sval, "up") == 0)
{
//.........这里部分代码省略.........
开发者ID:jpmatsci,项目名称:pcb,代码行数:101,代码来源:vendor.c
示例16: ProcessMultipleRecord
static void ProcessMultipleRecord (
CharPtr filename,
CSpeedFlagPtr cfp
)
{
AsnIoPtr aip;
AsnTypePtr atp;
BioseqPtr bsp;
Char buf [41];
Uint2 entityID;
FILE *fp;
SeqEntryPtr fsep;
Char longest [41];
Int4 numrecords, x;
SeqEntryPtr sep;
time_t starttime, stoptime, worsttime;
#ifdef OS_UNIX
Char cmmd [256];
CharPtr gzcatprog;
int ret;
Boolean usedPopen = FALSE;
#endif
if (cfp == NULL) return;
if (StringHasNoText (filename)) return;
#ifndef OS_UNIX
if (cfp->compressed) {
Message (MSG_POSTERR, "Can only decompress on-the-fly on UNIX machines");
return;
}
#endif
#ifdef OS_UNIX
if (cfp->compressed) {
gzcatprog = getenv ("NCBI_UNCOMPRESS_BINARY");
if (gzcatprog != NULL) {
sprintf (cmmd, "%s %s", gzcatprog, filename);
} else {
ret = system ("gzcat -h >/dev/null 2>&1");
if (ret == 0) {
sprintf (cmmd, "gzcat %s", filename);
} else if (ret == -1) {
Message (MSG_POSTERR, "Unable to fork or exec gzcat in ScanBioseqSetRelease");
return;
} else {
ret = system ("zcat -h >/dev/null 2>&1");
if (ret == 0) {
sprintf (cmmd, "zcat %s", filename);
} else if (ret == -1) {
Message (MSG_POSTERR, "Unable to fork or exec zcat in ScanBioseqSetRelease");
return;
} else {
Message (MSG_POSTERR, "Unable to find zcat or gzcat in ScanBioseqSetRelease - please edit your PATH environment variable");
return;
}
}
}
fp = popen (cmmd, /* cfp->binary? "rb" : */ "r");
usedPopen = TRUE;
} else {
fp = FileOpen (filename, cfp->binary? "rb" : "r");
}
#else
fp = FileOpen (filename, cfp->binary? "rb" : "r");
#endif
if (fp == NULL) {
Message (MSG_POSTERR, "FileOpen failed for input file '%s'", filename);
return;
}
aip = AsnIoNew (cfp->binary? ASNIO_BIN_IN : ASNIO_TEXT_IN, fp, NULL, NULL, NULL);
if (aip == NULL) {
Message (MSG_ERROR, "AsnIoNew failed for input file '%s'", filename);
return;
}
if (cfp->logfp != NULL) {
fprintf (cfp->logfp, "%s\n\n", filename);
fflush (cfp->logfp);
}
longest [0] = '\0';
worsttime = 0;
numrecords = 0;
atp = cfp->atp_bss;
while ((atp = AsnReadId (aip, cfp->amp, atp)) != NULL) {
if (atp == cfp->atp_se) {
sep = SeqEntryAsnRead (aip, atp);
if (sep != NULL) {
entityID = ObjMgrGetEntityIDForChoice (sep);
fsep = FindNthBioseq (sep, 1);
if (fsep != NULL && fsep->choice == 1) {
//.........这里部分代码省略.........
开发者ID:jbreitbart,项目名称:mpifast,代码行数:101,代码来源:cspeedtest.c
示例17: apply_vendor_map
static void
apply_vendor_map (void)
{
int i;
int changed, tot;
bool state;
state = vendorMapEnable;
/* enable mapping */
vendorMapEnable = true;
/* reset our counts */
changed = 0;
tot = 0;
/* If we have loaded vendor drills, then apply them to the design */
if (n_vendor_drills > 0)
{
/* first all the vias */
VIA_LOOP (PCB->Data);
{
tot++;
if (via->DrillingHole != vendorDrillMap (via->DrillingHole))
{
/* only change unlocked vias */
if (!TEST_FLAG (LOCKFLAG, via))
{
if (ChangeObject2ndSize (VIA_TYPE, via, NULL, NULL,
vendorDrillMap (via->DrillingHole),
true, false))
changed++;
else
{
Message (_
("Via at %.2f, %.2f not changed. Possible reasons:\n"
"\t- pad size too small\n"
"\t- new size would be too large or too small\n"),
0.01 * via->X, 0.01 * via->Y);
}
}
else
{
Message (_("Locked via at %.2f, %.2f not changed.\n"),
0.01 * via->X, 0.01 * via->Y);
}
}
}
END_LOOP;
/* and now the pins */
ELEMENT_LOOP (PCB->Data);
{
/*
* first figure out if this element should be skipped for some
* reason
*/
if (vendorIsElementMappable (element))
{
/* the element is ok to modify, so iterate over its pins */
PIN_LOOP (element);
{
tot++;
if (pin->DrillingHole != vendorDrillMap (pin->DrillingHole))
{
if (!TEST_FLAG (LOCKFLAG, pin))
{
if (ChangeObject2ndSize (PIN_TYPE, element, pin, NULL,
vendorDrillMap (pin->
DrillingHole),
true, false))
changed++;
else
{
Message (_
("Pin %s (%s) at %.2f, %.2f (element %s, %s, %s) not changed.\n"
"\tPossible reasons:\n"
"\t- pad size too small\n"
"\t- new size would be too large or too small\n"),
UNKNOWN (pin->Number), UNKNOWN (pin->Name),
0.01 * pin->X, 0.01 * pin->Y,
UNKNOWN (NAMEONPCB_NAME (element)),
UNKNOWN (VALUE_NAME (element)),
UNKNOWN (DESCRIPTION_NAME (element)));
}
}
else
{
Message (_
("Locked pin at %-6.2f, %-6.2f not changed.\n"),
0.01 * pin->X, 0.01 * pin->Y);
}
}
}
END_LOOP;
}
}
END_LOOP;
//.........这里部分代码省略.........
开发者ID:jpmatsci,项目名称:pcb,代码行数:101,代码来源:vendor.c
示例18: Q_ASSERT
//------------------------------------------------------------------------------
// Name:
//------------------------------------------------------------------------------
IDebugEvent::Message PlatformEvent::error_description() const {
Q_ASSERT(is_error());
const edb::address_t fault_address = reinterpret_cast<edb::address_t>(fault_address_);
switch(code()) {
case SIGSEGV:
return Message(
tr("Illegal Access Fault"),
tr(
"<p>The debugged application encountered a segmentation fault.<br />The address <strong>0x%1</strong> could not be accessed.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>").arg(edb::v1::format_pointer(fault_address))
);
case SIGILL:
return Message(
tr("Illegal Instruction Fault"),
tr(
"<p>The debugged application attempted to execute an illegal instruction.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
case SIGFPE:
switch(fault_code_) {
case FPE_INTDIV:
return Message(
tr("Divide By Zero"),
tr(
"<p>The debugged application tried to divide an integer value by an integer divisor of zero.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
default:
return Message(
tr("Floating Point Exception"),
tr(
"<p>The debugged application encountered a floating-point exception.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
}
case SIGABRT:
return Message(
tr("Application Aborted"),
tr(
"<p>The debugged application has aborted.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
case SIGBUS:
return Message(
tr("Bus Error"),
tr(
"<p>The debugged application tried to read or write data that is misaligned.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
#ifdef SIGSTKFLT
case SIGSTKFLT:
return Message(
tr("Stack Fault"),
tr(
"<p>The debugged application encountered a stack fault.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
#endif
case SIGPIPE:
return Message(
tr("Broken Pipe Fault"),
tr(
"<p>The debugged application encountered a broken pipe fault.</p>"
"<p>If you would like to pass this exception to the application press Shift+[F7/F8/F9]</p>")
);
default:
return Message();
}
}
开发者ID:QuocHuy7a10,项目名称:Arianrhod,代码行数:75,代码来源:PlatformEvent.cpp
|
请发表评论