void CMainDlg::OnPaint() { CPaintDC dc(this); // device context for painting if (IsIconic()) { SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon //dc.DrawIcon(x, y, m_hIcon); } else { //CDialog::OnPaint(); RECT rect; GetClientRect(&rect); int w = rect.right - rect.left; int h = rect.bottom - rect.top; COLORREF colortrans = RGB(0,255,0); HBRUSH hBrush = CreateSolidBrush(colortrans); FillRect(dc,&rect,hBrush); DeleteObject(hBrush); BITMAP bmp; GetObject(m_hBmp,sizeof(bmp),&bmp); HDC hBmpDC = CreateCompatibleDC(dc); SelectObject(hBmpDC,m_hBmp); TransparentBlt(dc,0,0,bmp.bmWidth, bmp.bmHeight,hBmpDC,0,0,bmp.bmWidth,bmp.bmHeight,RGB(0,255,0)); DeleteDC(hBmpDC); if(m_bFirst){ HRGN rgn = GetTrans(dc,GetPixel(dc,0,0),0,0,bmp.bmWidth, bmp.bmHeight); ::SetWindowRgn(m_hWnd,rgn,TRUE); m_bFirst = FALSE; } } }
plCameraModifier1::~plCameraModifier1() { int i; for (i = 0; i < GetNumTrans(); i++) delete(GetTrans(i)); fTrans.SetCountAndZero(0); for (i = 0; i < fMessageQueue.Count(); i++) hsRefCnt_SafeUnRef(fMessageQueue[i]); fMessageQueue.SetCountAndZero(0); for (i = 0; i < fFOVInstructions.Count(); i++) hsRefCnt_SafeUnRef(fFOVInstructions[i]); fFOVInstructions.SetCountAndZero(0); }
void Shopmenu2Handler::OnMenuSelect2(IBaseMenu *menu, int client, unsigned int menuitem, unsigned int item_on_page) { static bool once=true; ItemDrawInfo info; const char* info2=menu->GetItemInfo(menuitem,&info); if(once){ ERR("Shop2H: GetItemInfo OK"); } int itemid=strtoint(info2); //ERR("client %d menuitem %d item.page %d info %d",client,menuitem,item_on_page,itemid); //SetTrans(client); GetItem(itemid); if(once){ ERR("Shop2H: GetItem OK"); } int diamonds=GetDiamonds(client); if(once){ ERR("Shop2H: GetDiamonds OK"); } bool canbuy=true; char buf[512]; //new race=War3_GetRace(client); //if(W3IsItem2DisabledGlobal(item)){ //// War3_ChatMessage(client,"%T","{itemname} is disabled",GetTrans(),itemname); // canbuy=false; //} //else if(W3IsItem2DisabledForRace(race,item)){ // // new String:racename[64]; // War3_GetRaceName(race,racename,sizeof(racename)); // War3_ChatMessage(client,"%T","You may not purchase {itemname} when you are {racename}",GetTrans(),itemname,racename); // canbuy=false; //} // ERR("hnldr"); if(GetOwnsItem(client,itemid)){ void* param2[3]; param2[0]=(void*)"You already own {itemname}"; param2[1]=(void*)&client; param2[2]=(void*)item->name(); char* failedchar=0; cell_t client=GetTrans(); g->myphrasecollection->FormatString(buf,sizeof(buf),"%T",param2,sizeof(param2),NULL,(const char**)&failedchar); EXTChatMessage(client,buf); canbuy=false; } else if(GetDiamonds(client)<item->cost()){ void* param2[3]; param2[0]=(void*)"You cannot afford {itemname}"; param2[1]=(void*)&client; param2[2]=(void*)item->name(); char* failedchar=0; cell_t client=GetTrans(); g->myphrasecollection->FormatString(buf,sizeof(buf),"%T",param2,sizeof(param2),NULL,(const char**)&failedchar); EXTChatMessage(client,buf); //if(reshowmenu){ // ShowMenuShop(client); //} canbuy=false; } if(canbuy){ //check with deny system? //W3SetVar(EventArg1,item); //W3SetVar(EventArg2,1); //W3CreateEvent(CanBuyItem,client); //if(W3GetVar(EventArg2)==0){ // canbuy=false; //} } //if its use instantly then let them buy it //items maxed out if(canbuy &&GetClientItemsOwned(client)>=ITEMS2CANHAVE){ canbuy=false; // WantsToBuy[client]=item; // InternalExceededMaxItemsMenuBuy(client); /// } if(canbuy){ SetDiamonds(client,GetDiamonds(client)-item->cost()); if(once){ ERR("Shop2H: SetItem OK"); } SetOwnsItem(client,itemid,true); if(once){ ERR("Shop2H: SetOwns OK"); } void* param2[3]; param2[0]=(void*)"You have successfully purchased {itemname}"; param2[1]=(void*)&client; param2[2]=(void*)item->name(); char* failedchar=0; cell_t client=GetTrans(); g->myphrasecollection->FormatString(buf,sizeof(buf),"%T",param2,sizeof(param2),NULL,(const char**)&failedchar); EXTChatMessage(client,buf); if(once){ ERR("Shop2H: EXTChatOK OK"); } //War3_ChatMessage(client,"%T",,GetTrans(),itemname); //W3SetVar(TheItemBoughtOrLost,item); //W3CreateEvent(DoForwardClientBoughtItem2,client); //old item//forward, and set has item true inside //W3SetItem2ExpireTime(client,item,NOW()+3600); //W3SaveItem2ExpireTime(client,item); } once=false; }
/*--------------------------------------------------------------------------- * AsyncEventHandler *--------------------------------------------------------------------------- * * Synopsis: Process async events from the TCP transports. * */ static LRESULT CALLBACK AsyncEventHandler(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { I16 rcode; static BOOL busy = FALSE; ObTcpCommonTransport *txp; txp = GetTrans((SOCKET)wParam); if (busy == TRUE) { kal_trace(BT_TRACE_G6_OBEX, OBEX_TRANSPORT_BUSY); return 0; } busy = TRUE; if (uMsg != WM_SELECT) { busy = FALSE; return DefWindowProc(hWnd, uMsg, wParam, lParam); } switch (WSAGETSELECTEVENT(lParam)) { case FD_ACCEPT: ASSERT(txp); kal_trace(BT_TRACE_G6_OBEX,OBEX_ASYNCPROC_SOCKET_xX_RECEIVED_MESSAGE_ACCEPT , wParam); if ((WSAGETSELECTERROR(lParam) == 0) && (txp->conn == INVALID_SOCKET)) { /* Indicate the Connect request */ TcpCallback(txp, TCP_EVENT_CONNECT_IND, 0, (U16)wParam); } break; case FD_READ: /* kal_trace(BT_TRACE_G6_OBEX,OBEX_ASYNCPROC_CLIENT_SOCKET_xX_RECEIVED_MESSAGE_READ , wParam); */ if (WSAGETSELECTERROR(lParam) == 0) { /* receive the data ... */ U8 buff[TCP_MAX_TPDU]; int len = TCP_MAX_TPDU; len = recv(wParam, buff, len, 0); if (len == SOCKET_ERROR) { if (WSAGetLastError() == WSAEWOULDBLOCK) break; kal_trace(BT_TRACE_G6_OBEX,DATAIND_RECV_FAILED_WSAGETLASTERROR__xD , WSAGetLastError()); goto IndicateDiscon; /* ASSERT(0); */ break; } /* ASSERT(cTxp || sTxp); */ if (txp && wParam == txp->conn) { TcpCallback(txp, TCP_EVENT_DATA_IND, buff, (U16)len); } } break; case FD_CONNECT: kal_trace(BT_TRACE_G6_OBEX,OBEX_ASYNDPROC_SOCKET_xX_RECEIVED_MESSAGE , wParam); if (WSAGETSELECTERROR( lParam ) == 0) { kal_trace(BT_TRACE_G6_OBEX, OBEX_CONNECTED_TRC); /* Connection established */ goto IndicateConnection; } else { kal_trace(BT_TRACE_G6_OBEX,OBEX_TCP_CONNECT_FAILED); /* Connection failed */ goto IndicateDiscon; } break; case FD_WRITE: kal_trace(BT_TRACE_G6_OBEX,OBEX_ASYNCPROC_SOCKET_xX_RECEIVED_MESSAGE_WRITE_CONN_ACCEPTED , wParam); ASSERT(WSAGETSELECTERROR(lParam) == 0); IndicateConnection: /* Connection established */ rcode = WSAAsyncSelect(wParam, asyncEventHandle, WM_SELECT, FD_READ|FD_CLOSE); ASSERT(rcode != SOCKET_ERROR); if (txp && wParam == txp->conn) { TcpCallback(txp, TCP_EVENT_CONNECTED, 0, (U16)wParam); } break; case FD_CLOSE: kal_trace(BT_TRACE_G6_OBEX,OBEX_ASYNDPROC_SOCKET_xX_RECEIVED_MESSAGE_CLOSE , wParam); IndicateDiscon: if (txp && wParam == txp->conn) { TcpCallback(txp, TCP_EVENT_DISCON, 0, 0); } break; default: ASSERT(0); break; } busy = FALSE; return 0; }