static int chgroup(void) { int p=notAllowed,c; for(;;) { switch(sym) { case SYM_CHR: chkrch(val); case SYM_ESC: c=val; getsym(); if(sym==SYM_CHR&&val=='-') { if(regex[ri]=='[') { p=choice(p,newChar(c)); goto END_OF_GROUP; } else { getsym(); switch(sym) { case SYM_CHR: chkrch(val); case SYM_ESC: p=choice(p,newRange(c,val)); getsym(); break; default: error(RX_ER_BADCH); getsym(); break; } } } else { p=choice(p,newChar(c)); } break; case SYM_CLS: p=choice(p,cls(val)); getsym(); break; case SYM_END: error(RX_ER_NORSQ); goto END_OF_GROUP; default: assert(0); } if(sym==SYM_CHR&&(val==']'||val=='-')) goto END_OF_GROUP; } END_OF_GROUP:; return p; }
void WorldSession::HandleCoachCreation(WorldPacket& packet) { QString name; quint8 skinColorIndex, hairColorIndex, gender; name = packet.ReadString(); packet >> skinColorIndex >> hairColorIndex >> gender; WorldPacket data(SMSG_COACH_CREATION_RESULT); QSqlQuery result = Database::Coach()->Query(SELECT_COACH_BY_NAME, QVariantList() << name); if (!result.first()) { // TODO // Check max char by account sCoachCreateInfos createInfos(name, gender, skinColorIndex, hairColorIndex); QScopedPointer<Coach> newChar(new Coach(this)); if(newChar->Create(ObjectMgr::Instance()->GenerateGuid(GUIDTYPE_COACH), createInfos)) { newChar->SaveToDB(true); data << quint8(0); // Success SendPacket(data); SendCoachInformation(); return; } } data << quint8(11); // Invalid name SendPacket(data); }
void CharSelectEnhanced::hexLineEdit_returnPressed() { QString tx("0x%1");; bool ok = false; uint code = tx.arg(hexLineEdit->text()).toUInt(&ok, 16); if ((ok) && (code > 31)) newChar(code, m_fontInUse); }
LispRef content(LispRef stream, LispRef eos_error_p, LispRef eos_value) { WITH_DEBUG(fprintf(stderr, "content\n")); char tag; read_byte(tag); WITH_DEBUG(fprintf(stderr, " tag: %x\n", tag)); switch (tag) { case TC_NULL: return nullReference(stream, eos_error_p, eos_value); case TC_REFERENCE: return prevObject(stream, eos_error_p, eos_value); case TC_CLASS: return newClass(stream, eos_error_p, eos_value); case TC_OBJECT: return newObject(stream, eos_error_p, eos_value); case TC_STRING: return newString(stream, eos_error_p, eos_value); case TC_STATE: return newState(stream, eos_error_p, eos_value); case TC_VECTOR: return newVector(stream, eos_error_p, eos_value); case TC_STREAM: return newStream(stream, eos_error_p, eos_value); case TC_RESET: return reset(stream, eos_error_p, eos_value); case TC_SELF: return stream; case TC_FUNCTION: return newFunction(stream, eos_error_p, eos_value); case TC_BYTEVECTOR: return newBytevector(stream, eos_error_p, eos_value); case TC_INT: return newInt(stream, eos_error_p, eos_value); case TC_DOUBLE: return newDouble(stream, eos_error_p, eos_value); case TC_SYMBOL: return newSymbol(stream, eos_error_p, eos_value); case TC_KEYWORD: return newKeyword(stream, eos_error_p, eos_value); case TC_CHAR: return newChar(stream, eos_error_p, eos_value); case TC_CONS: return newCons(stream, eos_error_p, eos_value); default: { LispRef str, args; eul_allocate_string(str, "unknown tag in ~a"); eul_allocate_cons(args, stream, eul_nil); eul_serial_error(stream, str, args); return eul_nil; } } }
static int atom(void) { int p=0; switch(sym) { case SYM_CHR: switch(val) { case '[': getsym(); p=chexpr(); chk_get(']',RX_ER_NORSQ); break; case '(': getsym(); p=expression(); chk_get(')',RX_ER_NORPA); break; case '{': case '?': case '*': case '+': case '|': case ')': case ']': case '}': error(RX_ER_BADCH); getsym(); break; default: p=newChar(val); getsym(); break; } break; case SYM_ESC: p=newChar(val); getsym(); break; case SYM_CLS: p=cls(val); getsym(); break; default: error(RX_ER_BADCH); getsym(); break; } return p; }
CharSelectEnhanced::CharSelectEnhanced(QWidget* parent) : ScrPaletteBase(parent, "CharSelectEnhanced"), m_doc(0), m_characterClass(0) { setupUi(this); m_charTableModel = new CharTableModel(this, 26, m_doc);//, // PrefsManager::instance()->appPrefs.toolSettings.defFont); m_charTable->setModel(m_charTableModel); m_charTable->setDragEnabled(true); // insert hex codes directly QValidator* insValidator = new QRegExpValidator(QRegExp("[A-F,a-f,0-9]{4}"), this); hexLineEdit->setValidator(insValidator); // signals and slots connections connect(deleteButton, SIGNAL(clicked()), this, SLOT(delEdit())); connect(insertButton, SIGNAL(clicked()), this, SLOT(insChar())); connect(m_charTable, SIGNAL(selectChar(uint, QString)), this, SLOT(newChar(uint, QString))); connect(fontSelector, SIGNAL(activated(int)), this, SLOT(newFont(int))); connect(rangeSelector, SIGNAL(activated(int)), this, SLOT(newCharClass(int))); connect(hexLineEdit, SIGNAL(returnPressed()), this, SLOT(hexLineEdit_returnPressed())); }
TVP recordR1() { /* types R1 :: a : int b : seq of char c : bool; operations public recordR1: ()==>bool recordR1()==( dcl r : R1 := mk_R1(0,"ab",false); let r2 = r, mk_R1(-,-,b)=r in return r2.c or true or b; ); */ //dcl r : R1 := mk_R1(0,"ab",false); TVP r = mk_R1(); // RECORD_FIELD_ACCESS(r,struct R1*,a,tmp1); // 0 TVP tmp1 = newInt(0); RECORD_FIELD_SET(r,RECORD_R1,a,tmp1); vdmFree(tmp1); TVP tmp2 = newSeq(2); TVP tmp2_1 = newChar('a'); SET_SEQ(tmp2,1,tmp2_1); vdmFree(tmp2_1); TVP tmp2_2 = newChar('b'); SET_SEQ(tmp2,2,tmp2_2); vdmFree(tmp2_2); RECORD_FIELD_SET(r,RECORD_R1,b,tmp2); vdmFree(tmp2); TVP tmp3 = newBool(false); RECORD_FIELD_SET(r,RECORD_R1,c,tmp3); vdmFree(tmp3); //let r2 = r; TVP r2 = vdmClone(r); // mk_R1(-,-,b)=r TVP tmp4 = mk_R1(); patternMatchBind(tmp4,r); RECORD_FIELD_ACCESS(tmp4,RECORD_R1,c,b); // in // return r2.c or true or b; RECORD_FIELD_ACCESS(r2,RECORD_R1,c,tmp5); TVP tmp6 = newBool(true); TVP tmp7 =newBool( tmp5->value.boolVal || tmp6->value.boolVal || b->value.boolVal); TVP res = vdmClone(tmp7); vdmFree(tmp7); vdmFree(tmp6); vdmFree(tmp5); vdmFree(tmp4); return res; }