Exemplo n.º 1
0
static void M_Msgbox_SecondButton( menucommon_t *menuitem )
{
	trap_Cmd_ExecuteText( EXEC_APPEND, va( "%s\n", ( char * )(menuitem->itemlocal) ) );

	UI_Free( menuitem->itemlocal );
	menuitem->itemlocal = NULL;

	trap_Cmd_Execute();
}
Exemplo n.º 2
0
void M_StartServer_FreeGametypesNames( void )
{
    int i;

    if( !startserver_gametype_names )
        return;

    for( i = 0; startserver_gametype_names[i] != NULL; i++ )
    {
        if( startserver_gametype_names[i] )
        {
            UI_Free( startserver_gametype_names[i] );
            startserver_gametype_names[i] = NULL;
        }
    }

    UI_Free( startserver_gametype_names );
    startserver_gametype_names = NULL;
}
Exemplo n.º 3
0
void M_Custom_ExecuteButton( struct menucommon_s *menuitem )
{
	if( menuitem && menuitem->itemlocal )
	{
		int i;

		trap_Cmd_ExecuteText( EXEC_APPEND, va( "%s\n", (char *)menuitem->itemlocal ) );

		for( i = 0; i < s_custom_menu.nitems; i++ )
		{
			if( s_custom_menu.items[i] && s_custom_menu.items[i]->itemlocal )
			{
				UI_Free( s_custom_menu.items[i]->itemlocal );
				s_custom_menu.items[i]->itemlocal = NULL;
			}
		}

		M_ForceMenuOff();
	}
}
Exemplo n.º 4
0
void M_Menu_TV_ChannelRemove_f( void )
{
	int num, id;
	tv_channel_t *prev, *iter;

	if( trap_Cmd_Argc() != 2 )
		return;

	id = atoi( trap_Cmd_Argv( 1 ) );
	if( id <= 0 )
		return;

	num = 0;
	prev = NULL;
	iter = channels;
	while( iter && iter->id != id )
	{
		prev = iter;
		iter = iter->next;
		num++;
	}
	if( !iter )
		return;

	if( prev )
	{
		prev->next = iter->next;
	}
	else
	{
		channels = iter->next;
	}
	UI_Free( iter );

	if( num < scrollbar_curvalue )
		scrollbar_curvalue--;

	M_RefreshScrollWindowList();
}
Exemplo n.º 5
0
static void MapsList_CreateItems( const char *lastmap )
{
    int i, j, validmaps;
    int order;
    maplist_item_t *items;
    char mapinfo[MAX_CONFIGSTRING_CHARS], *mapname, *fullname;

    UI_FreeScrollItemList( &mapList );

    for( validmaps = 0; trap_ML_GetMapByNum( validmaps, NULL, 0 ); validmaps++ )
        ;

    if( !validmaps )
    {
        Menu_SetStatusBar( &s_startserver_menu, "No maps found" );
        return;
    }

    order = trap_Cvar_Value( "ui_maplist_sortmethod" );
    items = UI_Malloc( sizeof( *items ) * validmaps );
    for( i = 0; i < validmaps; i++ )
    {
        trap_ML_GetMapByNum( i, mapinfo, sizeof( mapinfo ) );

        mapname = mapinfo;
        fullname = mapinfo + strlen( mapname ) + 1;

        if( order )
            items[i].name = UI_CopyString( *fullname ? fullname : mapname );
        else
            items[i].name = UI_CopyString( mapname );
        items[i].mapname = UI_CopyString( mapname );
        items[i].index = i;

        // uppercase the first letter and letters that follow whitespaces
        if( order )
        {
            if( *fullname )
            {
                items[i].name[0] = toupper( items[i].name[0] );
                for( j = 1; items[i].name[j]; j++ )
                    if( items[i].name[j-1] == ' ' )
                        items[i].name[j] = toupper( items[i].name[j] );
            }
            else
            {
                Q_strlwr( items[i].name );
            }
        }
        else
        {
            Q_strlwr( items[i].name );
        }
    }

    qsort( items, validmaps, sizeof( *items ), ( int ( * )( const void *, const void * ) )MapList_MapSort );

    for( i = 0; i < validmaps; i++ )
    {
        if( !strcmp( items[i].mapname, lastmap ) )
            mapList_cur_idx = i;

        UI_AddItemToScrollList( &mapList, items[i].name, (void *)((size_t)(items[i].index)) );
        UI_Free( items[i].mapname );
        UI_Free( items[i].name );
    }

    UI_Free( items );
}