Ejemplo n.º 1
0
/* Return value is the number of char occupied by the converted string, 
   not including the null character. */
int
string_from_mstring (char* c, int clen, mchar* m, int codeset_type)
{
    if (clen < 0) return 0;
    *c = 0;
    if (!m) return 0;
#if defined (HAVE_WCHAR_SUPPORT)
    switch (codeset_type) {
    case CODESET_UTF8:
	return string_from_wstring (c, clen, m, "UTF-8");
	break;
    case CODESET_LOCALE:
	return string_from_wstring (c, clen, m, m_codeset_locale);
	break;
    case CODESET_FILESYS:
	return string_from_wstring (c, clen, m, m_codeset_filesys);
	break;
    case CODESET_ID3:
	return string_from_wstring (c, clen, m, m_codeset_id3);
	break;
    case CODESET_METADATA:
	return string_from_wstring (c, clen, m, m_codeset_metadata);
	break;
    case CODESET_RELAY:
	return string_from_wstring (c, clen, m, m_codeset_relay);
	break;
    default:
	printf ("Program error.  Bad codeset c->m.\n");
	exit (-1);
    }
#else
    sr_strncpy (c, m, clen);
    return strlen (c);
#endif
}
Ejemplo n.º 2
0
/* Input value mlen is measured in mchar, not bytes.
   Return value is the number of mchar occupied by the converted string, 
   not including the null character. */
int
mstring_from_string (mchar* m, int mlen, char* c, int codeset_type)
{
    if (mlen < 0) return 0;
    *m = 0;
    if (!c) return 0;
#if defined (HAVE_WCHAR_SUPPORT)
    switch (codeset_type) {
    case CODESET_UTF8:
	return wstring_from_string (m, mlen, c, "UTF-8");
	break;
    case CODESET_LOCALE:
	return wstring_from_string (m, mlen, c, m_codeset_locale);
	break;
    case CODESET_FILESYS:
	return wstring_from_string (m, mlen, c, m_codeset_filesys);
	break;
    case CODESET_ID3:
	return wstring_from_string (m, mlen, c, m_codeset_id3);
	break;
    case CODESET_METADATA:
	return wstring_from_string (m, mlen, c, m_codeset_metadata);
	break;
    case CODESET_RELAY:
	return wstring_from_string (m, mlen, c, m_codeset_relay);
	break;
    default:
	printf ("Program error.  Bad codeset m->c (%d)\n", codeset_type);
	exit (-1);
    }
#else
    sr_strncpy (m, c, mlen);
    return strlen (m);
#endif
}
Ejemplo n.º 3
0
void debug_set_filename(char *filename)
{
	sr_strncpy(filename_buf, filename, SR_MAX_PATH);
	debug_filename = filename_buf;
}
Ejemplo n.º 4
0
///////////////////
// Process the gui
void Dnr_ProcessGUI(void)
{
    gui_event_t *ev;

    // Process the bottom gui
    ev = cDinerLayout2.Process();
    if(ev) {
        // Leave button
        if(ev->iControlID == 0 && ev->iEventMsg == BUT_CLICKED) {
            psDiner->bProcessDiner = false;
            psDiner->bRacing = false;
            return;
        }
    }


    // Process the racing gui
    if(psDiner->bOppClicked) {
        ev = cDinerLayout.Process();
        if(!ev)
            return;

        switch(ev->iControlID) {

            // Cancel
            case dng_cancel:
                // Chicken
                if(ev->iEventMsg == BUT_CLICKED) {
                    // Leave
                    psDiner->bOppClicked = false;
                    psDiner->nOppState = opp_rollingout;

                    Dnr_InitSpeechBubble("Chicken");
                }
                break;

            // Drag race
            case dng_drag:
                if(ev->iEventMsg == BUT_CLICKED) {
                    sRaceInfo.nType = rc_drag;

                    // Show tracks
                    Dnr_ChallengeOpponent(1, 0);
                    return;
                }
                break;

            // Drag : track selection
            case dng_dragtrk1:      // Fall through
            case dng_dragtrk2:
            case dng_dragtrk3:
            case dng_dragtrk4:
            case dng_dragtrk5:
            case dng_dragtrk6:
            case dng_dragtrk7:
            case dng_dragtrk8:
            case dng_dragtrk9:
                if(ev->iEventMsg == BUT_CLICKED) {
                    int l = ev->iControlID - dng_dragtrk1;
                    sr_strncpy(sRaceInfo.szTrackDir, psDiner->sDragTracks[l].szDir, 127);

                    // Show bets
                    Dnr_ChallengeOpponent(2, 0);
                    return;
                }
                break;

            // Drag : Back
            case dng_dragback:
                if(ev->iEventMsg == BUT_CLICKED) {
                    // Show tracks
                    Dnr_ChallengeOpponent(1, 0);
                    return;
                }
                break;


            //
            // Drag : Bet
            //
            case dng_dragkicks:
                if(ev->iEventMsg == BUT_CLICKED) {
                    // Make an offer
                    Dnr_MakeOffer(rcb_kicks, 0);
                }
                break;

            case dng_drag10:
                if(ev->iEventMsg == BUT_CLICKED) {
                    // Make an offer
                    Dnr_MakeOffer(rcb_money, 10);
                }
                break;

            case dng_drag50:
                if(ev->iEventMsg == BUT_CLICKED) {
                    // Make an offer
                    Dnr_MakeOffer(rcb_money, 50);
                }
                break;
        }
    }
}