Changeset 111

Show
Ignore:
Timestamp:
05/05/07 15:38:08 (1 year ago)
Author:
pmac
Message:

Fix -pedantic compiler warnings.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/birth.c

    r66 r111  
    1212 
    1313#include "script.h" 
     14 
    1415 
    1516 
     
    771772/* Menu display and selector */ 
    772773 
     774#define ASEX 0 
     775#define ARACE 1 
     776#define ACLASS 2 
     777 
     778 
    773779static bool choose_character() 
    774780{ 
     
    776782 
    777783        const region *regions[] = { &gender_region, &race_region, &class_region }; 
    778         byte *values[] = { &p_ptr->psex, &p_ptr->prace, &p_ptr->pclass }; 
    779         int limits[] = { SEX_MALE + 1, z_info->p_max, z_info->c_max }; 
     784        byte *values[3]; /* { &p_ptr->psex, &p_ptr->prace, &p_ptr->pclass }; */ 
     785        int limits[3]; /* { SEX_MALE +1, z_info->p_max, z_info->c_max }; */ 
    780786 
    781787        menu_type menu; 
     
    791797        browse_f browse[] = {NULL, race_aux_hook, class_aux_hook }; 
    792798 
     799        /* Stupid ISO C array initialization. */ 
     800        values[ASEX] = &p_ptr->psex; 
     801        values[ARACE] = &p_ptr->prace; 
     802        values[ACLASS] = &p_ptr->pclass; 
     803        limits[ASEX] = SEX_MALE + 1; 
     804        limits[ARACE] = z_info->p_max; 
     805        limits[ACLASS] = z_info->c_max; 
    793806 
    794807        WIPE(&menu, menu); 
  • trunk/src/cmd4.c

    r110 r111  
    2626 
    2727 
     28/* Flag value for missing array entry */ 
     29#define MISSING -17 
     30 
     31#define LOAD_PREF       100 
     32#define APP_MACRO       101 
     33#define ASK_MACRO       103 
     34#define DEL_MACRO       104 
     35#define NEW_MACRO       105 
     36#define APP_KEYMAP      106 
     37#define ASK_KEYMAP      107 
     38#define DEL_KEYMAP      108 
     39#define NEW_KEYMAP      109 
     40#define ENTER_ACT       110 
     41 
     42 
    2843#define INFO_SCREENS 2 /* Number of screens in character info mode */ 
     44 
     45 
    2946 
    3047typedef struct { 
     
    369386 
    370387        region title_area = {0, 0, 0, 4}; 
    371         region group_region = {0, 6, g_name_len, -2}; 
    372         region object_region = {g_name_len+3, 6, 0, -2}; 
     388        region group_region = {0, 6, MISSING, -2}; 
     389        region object_region = {MISSING, 6, 0, -2}; 
    373390 
    374391        /* display state variables */ 
     
    12461263        const char *cursed [] = {"permanently cursed", "heavily cursed", "cursed"}; 
    12471264        const char *xtra [] = {"sustain", "higher resistance", "ability"}; 
     1265        int f3, i; 
     1266 
     1267        int e_idx = default_join[oid].oid; 
     1268        ego_item_type *e_ptr = &e_info[e_idx]; 
     1269 
    12481270        object_type dummy; 
    12491271        WIPE(&dummy, dummy); 
    1250  
    1251         int f3, i; 
    1252         int e_idx = default_join[oid].oid; 
    1253         ego_item_type *e_ptr = &e_info[e_idx]; 
    12541272 
    12551273        /* Save screen */ 
     
    28362854static event_action macro_actions[] = 
    28372855{ 
    2838         {'lupf', "Load a user pref file", 0}, 
     2856        {LOAD_PREF, "Load a user pref file", 0}, 
    28392857#ifdef ALLOW_MACROS 
    2840         {'amac', "Append macros to a file", 0}, 
    2841         {'qmac', "Query a macro", 0}, 
    2842         {'cmac', "Create a macro", 0}, 
    2843         {'jmac', "Remove a macro", 0}, 
    2844         {'akm', "Append keymaps to a file", 0}, 
    2845         {'qkm', "Query a keymap", 0}, 
    2846         {'ckm', "Create a keymap", 0}, 
    2847         {'rkm', "Remove a keymap", 0}, 
    2848         {'emac', "Enter a new action", 0} 
     2858        {APP_MACRO, "Append macros to a file", 0}, 
     2859        {ASK_MACRO, "Query a macro", 0}, 
     2860        {NEW_MACRO, "Create a macro", 0}, 
     2861        {DEL_MACRO, "Remove a macro", 0}, 
     2862        {APP_KEYMAP, "Append keymaps to a file", 0}, 
     2863        {ASK_KEYMAP, "Query a keymap", 0}, 
     2864        {NEW_KEYMAP, "Create a keymap", 0}, 
     2865        {DEL_KEYMAP, "Remove a keymap", 0}, 
     2866        {ENTER_ACT, "Enter a new action", 0} 
    28492867#endif /* ALLOW_MACROS */ 
    28502868}; 
     
    28632881        int cursor = 0; 
    28642882 
     2883        region loc = {0, 1, 0, 11}; 
     2884 
    28652885        /* Roguelike */ 
    28662886        if (rogue_like_commands) 
     
    28822902        screen_save(); 
    28832903 
    2884         region loc = {0, 1, 0, 11}; 
    28852904        menu_layout(&macro_menu, &loc); 
    28862905 
     
    29082927 
    29092928                switch(evt) { 
    2910                 case 'lupf'
     2929                case LOAD_PREF
    29112930                        do_cmd_pref_file_hack(16); 
    29122931                        break; 
    29132932 
    29142933#ifdef ALLOW_MACROS 
    2915                 case 'amac'
     2934                case APP_MACRO
    29162935                { 
    29172936                        /* Dump the macros */ 
     
    29212940                } 
    29222941 
    2923                 case 'qmac'
     2942                case ASK_MACRO
    29242943                { 
    29252944                        int k; 
     
    29622981                } 
    29632982 
    2964                 case 'cmac'
     2983                case NEW_MACRO
    29652984                { 
    29662985                        /* Prompt */ 
     
    29963015                        break; 
    29973016                } 
    2998                 case 'dmac'
     3017                case DEL_MACRO
    29993018                { 
    30003019                        /* Prompt */ 
     
    30143033                        break; 
    30153034                } 
    3016                 case 'akm'
     3035                case APP_KEYMAP
    30173036                { 
    30183037                        /* Dump the keymaps */ 
     
    30203039                        break; 
    30213040                } 
    3022                 case 'qkm'
     3041                case ASK_KEYMAP
    30233042                { 
    30243043                        cptr act; 
     
    30603079                        break; 
    30613080                } 
    3062                 case 'ckm'
     3081                case NEW_KEYMAP
    30633082                { 
    30643083                        /* Prompt */ 
     
    30973116                        break; 
    30983117                } 
    3099                 case 'dkm'
     3118                case DEL_KEYMAP
    31003119                { 
    31013120                        /* Prompt */ 
     
    31183137                        break; 
    31193138                } 
    3120                 case 'emac': /* Enter a new action */ 
     3139                case ENTER_ACT: /* Enter a new action */ 
    31213140                { 
    31223141                        /* Prompt */ 
     
    32663285        const char *empty_symbol3 = "\0"; 
    32673286 
     3287        byte ca = (byte)*pca; 
     3288        byte cc = (byte)*pcc; 
     3289 
     3290        int linec = (use_trptile ? 22: (use_dbltile ? 21 : 20)); 
     3291 
    32683292        if (use_trptile && use_bigtile) 
    32693293        { 
     
    32893313        } 
    32903314        else if (use_bigtile) empty_symbol = "<< ?? >>"; 
    3291  
    3292         byte ca = (byte)*pca; 
    3293         byte cc = (byte)*pcc; 
    3294  
    3295         int linec = (use_trptile ? 22: (use_dbltile ? 21 : 20)); 
    32963315 
    32973316        /* Prompt */ 
     
    40004019} 
    40014020 
     4021/* ISO C wrapper */ 
     4022static void do_dump_options(void *not_a_function_pointer, const char *title) 
     4023{ 
     4024        dump_pref_file(option_dump, title); 
     4025} 
    40024026 
    40034027/* ========================= MENU DEFINITIONS ========================== */ 
     
    40194043        {{0, 0, 0,}, 0}, /* Special choices */ 
    40204044        {{0, "Load a user pref file", (action_f) do_cmd_pref_file_hack, (void*)20}, 'L'}, 
    4021         {{0, "Dump options", (action_f) dump_pref_file, option_dump}, 'A'}, 
     4045        {{0, "Dump options", do_dump_options, 0}, 'A'}, 
    40224046        {{0, 0, 0,}, 0}, /* Interact with */     
    40234047        {{0, "Interact with macros (advanced)", (action_f) do_cmd_macros, 0}, 'M'}, 
  • trunk/src/files.c

    r108 r111  
    15231523{ 
    15241524        { 0,    0,              0,              0 }, 
    1525         { 1,    2,              30,           8 }, /* Name, Class, ... */ 
     1525        { 1,    2,              40,           8 }, /* Name, Class, ... */ 
    15261526        { 1,    10,             18,             8 }, /* Cur Exp, Max Exp, ... */ 
    15271527        { 26,   10,             17,             8 }, /* AC, melee, ... */ 
     
    16041604} 
    16051605 
     1606/* data_panel array element initializer, for ansi compliance */ 
     1607#define P_I(col, lab, format, val1, val2) \ 
     1608        { panel[i].color = col; panel[i].label = lab; panel[i].fmt = format; \ 
     1609         panel[i].value[0] = val1; panel[i].value[1] = val2; \ 
     1610         i++; } 
    16061611 
    16071612int get_panel(int oid, data_panel *panel, size_t size) 
     
    16121617  case 1: 
    16131618  { 
    1614         data_panel panel1[] = 
    1615         { 
    1616                 { TERM_L_BLUE, "Name",  "%y",    { s2u(op_ptr->full_name) , END  }}, 
    1617                 { TERM_L_BLUE, "Sex",   "%y",    { s2u(sp_ptr->title) , END  }}, 
    1618                 { TERM_L_BLUE, "Race",  "%y",    { s2u(p_name + rp_ptr->name), END  }}, 
    1619                 { TERM_L_BLUE, "Class", "%y",    { s2u(c_name + cp_ptr->name), END  }}, 
    1620                 { TERM_L_BLUE, "Title", "%y",    { s2u(show_title()), END  }}, 
    1621                 { TERM_L_BLUE, "HP",    "%y/%y", { i2u(p_ptr->mhp), i2u(p_ptr->chp)  }}, 
    1622                 { TERM_L_BLUE, "SP",    "%y/%y", { i2u(p_ptr->msp), i2u(p_ptr->csp)  }}, 
    1623                 { TERM_L_BLUE, "Level", "%y",    { i2u(p_ptr->lev), END  }} 
    1624         }; 
    1625         assert(N_ELEMENTS(panel1) == boundaries[1].page_rows); 
    1626         if (ret > N_ELEMENTS(panel1)) ret = N_ELEMENTS(panel1); 
    1627         C_COPY(panel, &panel1, ret, data_panel); 
     1619        int i = 0; 
     1620        assert(size >= boundaries[1].page_rows); 
     1621        ret = boundaries[1].page_rows; 
     1622        P_I(TERM_L_BLUE, "Name",        "%y",   s2u(op_ptr->full_name), END  ); 
     1623        P_I(TERM_L_BLUE, "Sex",         "%y",   s2u(sp_ptr->title), END  ); 
     1624        P_I(TERM_L_BLUE, "Race",        "%y",   s2u(p_name + rp_ptr->name), END  ); 
     1625        P_I(TERM_L_BLUE, "Class",       "%y",   s2u(c_name + cp_ptr->name), END  ); 
     1626        P_I(TERM_L_BLUE, "Title",       "%y",   s2u(show_title()), END  ); 
     1627        P_I(TERM_L_BLUE, "HP",  "%y/%y",        i2u(p_ptr->mhp), i2u(p_ptr->chp)  ); 
     1628        P_I(TERM_L_BLUE, "SP",  "%y/%y",        i2u(p_ptr->msp), i2u(p_ptr->csp)  ); 
     1629        P_I(TERM_L_BLUE, "Level",       "%y",   i2u(p_ptr->lev), END  ); 
     1630        assert(i == boundaries[1].page_rows); 
    16281631        return ret; 
    16291632  } 
    16301633  case 2: 
    16311634  { 
    1632         data_panel panel2[] = 
    1633         { 
    1634                 { max_color(p_ptr->lev, p_ptr->max_lev), "Level", "%y",   { i2u(p_ptr->lev), END  }}, 
    1635                 { max_color(p_ptr->exp, p_ptr->max_exp), "Cur Exp", "%y", { i2u(p_ptr->exp), END  }}, 
    1636                 { TERM_L_GREEN, "Max Exp",      "%y",           { i2u(p_ptr->max_exp), END  }}, 
    1637                 { TERM_L_GREEN, "Adv Exp",      "%y",           { s2u(show_adv_exp()), END  }}, 
    1638                 { TERM_L_GREEN, "MaxDepth",     "%y",           { s2u(show_depth()), END  }}, 
    1639                 { TERM_L_GREEN, "Gold",         "%y",           { i2u(p_ptr->au), END  }}, 
    1640                 { TERM_L_GREEN, "Burden",       "%.1y lbs",     { f2u(p_ptr->total_weight/10.0), END  }}, 
    1641                 { TERM_L_GREEN, "Speed",        "%y",           { s2u(show_speed()), END  }} 
    1642         }; 
    1643         assert(N_ELEMENTS(panel2) == boundaries[2].page_rows); 
    1644         if (ret > N_ELEMENTS(panel2)) ret = N_ELEMENTS(panel2); 
    1645         C_COPY(panel, &panel2, ret, data_panel); 
     1635        int i = 0; 
     1636        assert(ret >= boundaries[2].page_rows); 
     1637        ret = boundaries[2].page_rows; 
     1638        P_I(max_color(p_ptr->lev, p_ptr->max_lev), "Level", "%y", i2u(p_ptr->lev), END  ); 
     1639        P_I(max_color(p_ptr->exp, p_ptr->max_exp), "Cur Exp", "%y", i2u(p_ptr->exp), END  ); 
     1640        P_I(TERM_L_GREEN, "Max Exp",    "%y",   i2u(p_ptr->max_exp), END  ); 
     1641        P_I(TERM_L_GREEN, "Adv Exp",    "%y",   s2u(show_adv_exp()), END  ); 
     1642        P_I(TERM_L_GREEN, "MaxDepth",   "%y",   s2u(show_depth()), END  ); 
     1643        P_I(TERM_L_GREEN, "Turns",              "%y",   i2u(turn), END  ); 
     1644        P_I(TERM_L_GREEN, "Gold",               "%y",   i2u(p_ptr->au), END  ); 
     1645        P_I(TERM_L_GREEN, "Burden",     "%.1y lbs",     f2u(p_ptr->total_weight/10.0), END  ); 
     1646        assert(i == boundaries[2].page_rows); 
    16461647        return ret; 
    16471648  } 
    16481649  case 3: 
    16491650  { 
    1650         data_panel panel3[] = 
    1651         { 
    1652                 { TERM_L_BLUE, "Armor", "[%y,%+y]",             { i2u(p_ptr->dis_ac), i2u(p_ptr->dis_to_a)  }}, 
    1653                 { TERM_L_BLUE, "Fight", "(%+y,%+y)",    { i2u(p_ptr->dis_to_h), i2u(p_ptr->dis_to_d)  }}, 
    1654                 { TERM_L_BLUE, "Melee", "%y",                   { s2u(show_weapon(&inventory[INVEN_WIELD])), END  }}, 
    1655                 { TERM_L_BLUE, "Shoot", "%y",                   { s2u(show_weapon(&inventory[INVEN_BOW])), END  }}, 
    1656                 { TERM_L_BLUE, "Blows", "%y/turn",              { i2u(p_ptr->num_blow), END  }}, 
    1657                 { TERM_L_BLUE, "Shots", "%y/turn",              { i2u(p_ptr->num_fire), END  }}, 
    1658                 { 0, 0, 0, {END} }, 
    1659                 { TERM_L_BLUE, "Infra", "%y ft",                { i2u(p_ptr->see_infra * 10), END  }} 
    1660         }; 
    1661         assert(N_ELEMENTS(panel3) == boundaries[3].page_rows); 
    1662         if (ret > N_ELEMENTS(panel3)) ret = N_ELEMENTS(panel3); 
    1663         C_COPY(panel, &panel3, ret, data_panel); 
     1651        int i = 0; 
     1652        assert(ret >= boundaries[3].page_rows); 
     1653        ret = boundaries[3].page_rows; 
     1654        P_I(TERM_L_BLUE, "Armor", "[%y,%+y]",   i2u(p_ptr->dis_ac), i2u(p_ptr->dis_to_a)  ); 
     1655        P_I(TERM_L_BLUE, "Fight", "(%+y,%+y)",  i2u(p_ptr->dis_to_h), i2u(p_ptr->dis_to_d)  ); 
     1656        P_I(TERM_L_BLUE, "Melee", "%y",                 s2u(show_weapon(&inventory[INVEN_WIELD])), END  ); 
     1657        P_I(TERM_L_BLUE, "Shoot", "%y",                 s2u(show_weapon(&inventory[INVEN_BOW])), END  ); 
     1658        P_I(TERM_L_BLUE, "Blows", "%y/turn",    i2u(p_ptr->num_blow), END  ); 
     1659        P_I(TERM_L_BLUE, "Shots", "%y/turn",    i2u(p_ptr->num_fire), END  ); 
     1660        P_I(TERM_L_BLUE, "Infra", "%y ft",              i2u(p_ptr->see_infra * 10), END  ); 
     1661        P_I(TERM_L_BLUE, "Speed", "%y",                 s2u(show_speed()), END ); 
     1662        assert(i == boundaries[3].page_rows); 
    16641663        return ret; 
    16651664  } 
    16661665  case 4: 
    16671666  { 
    1668         struct { 
     1667        #define OFFSET(field) ((char*)(&dummy.field) - (char*)&dummy) 
     1668        static const player_type dummy; 
     1669        static struct { 
    16691670                const char *name; 
    1670                 int skill
     1671                size_t skill_offset
    16711672                int div; 
    16721673        } skills[] = 
    16731674        { 
    1674                 { "Saving Throw", p_ptr->skill_sav, 6 }, 
    1675                 { "Stealth", p_ptr->skill_stl, 1 }, 
    1676                 { "Fighting", p_ptr->skill_thn, 12 }, 
    1677                 { "Shooting", p_ptr->skill_thb, 12 }, 
    1678                 { "Disarming", p_ptr->skill_dis, 8 }, 
    1679                 { "Magic Device", p_ptr->skill_dev, 6 }, 
    1680                 { "Perception", p_ptr->skill_fos, 6 }, 
    1681                 { "Searching", p_ptr->skill_srh, 6 } 
     1675                { "Saving Throw", OFFSET(skill_sav), 6 }, 
     1676                { "Stealth", OFFSET(skill_stl), 1 }, 
     1677                { "Fighting", OFFSET(skill_thn), 12 }, 
     1678                { "Shooting", OFFSET(skill_thb), 12 }, 
     1679                { "Disarming", OFFSET(skill_dis), 8 }, 
     1680                { "Magic Device", OFFSET(skill_dev), 6 }, 
     1681                { "Perception", OFFSET(skill_fos), 6 }, 
     1682                { "Searching", OFFSET(skill_srh), 6 } 
    16821683        }; 
    16831684        size_t i; 
     
    16871688        for (i = 0; i < ret; i++) 
    16881689        { 
     1690                s16b skill = *(s16b*)(((char*)p_ptr)+skills[i].skill_offset); 
    16891691                panel[i].color = TERM_L_BLUE; 
    16901692                panel[i].label = skills[i].name; 
    16911693                panel[i].fmt = "%y"; 
    1692                 panel[i].value[0] = s2u(likert(skills[i].skill, skills[i].div, &panel[i].color)); 
     1694                panel[i].value[0] = s2u(likert(skill, skills[i].div, &panel[i].color)); 
    16931695        } 
    16941696        return ret; 
     
    16961698  case 5: 
    16971699  { 
    1698         data_panel panel5[] = 
    1699         { 
    1700                 {TERM_L_BLUE, "Age",            "%y",   { i2u(p_ptr->age), END  }}, 
    1701                 {TERM_L_BLUE, "Height",         "%y",   { i2u(p_ptr->ht), END  }}, 
    1702                 {TERM_L_BLUE, "Weight",         "%y",   { i2u(p_ptr->wt), END  }}, 
    1703                 {TERM_L_BLUE, "Status",         "%y",   { i2u(p_ptr->sc), END  }}, 
    1704                 {TERM_L_BLUE, "Maximize",       "%y",   { c2u(adult_maximize ? 'Y' : 'N'), END  }} 
     1700        int i = 0; 
     1701        assert(ret >= boundaries[5].page_rows); 
     1702        ret = boundaries[5].page_rows; 
     1703        P_I(TERM_L_BLUE, "Age",                 "%y",   i2u(p_ptr->age), END ); 
     1704        P_I(TERM_L_BLUE, "Height",              "%y",   i2u(p_ptr->ht), END  ); 
     1705        P_I(TERM_L_BLUE, "Weight",              "%y",   i2u(p_ptr->wt), END  ); 
     1706        P_I(TERM_L_BLUE, "Status",              "%y",   i2u(p_ptr->sc), END  ); 
     1707        P_I(TERM_L_BLUE, "Maximize",    "%y",   c2u(adult_maximize ? 'Y' : 'N'), END); 
    17051708#if 0 
    17061709        /* Preserve mode deleted */ 
    1707                {TERM_L_BLUE, "Preserve",       "%y",   { c2u(adult_preserve ? 'Y' : 'N'), END  }} 
     1710        P_I(TERM_L_BLUE, "Preserve",   "%y",   c2u(adult_preserve ? 'Y' : 'N'), END); 
    17081711#endif 
    1709  
    1710         }; 
    1711         assert(N_ELEMENTS(panel5) == boundaries[5].page_rows); 
    1712         if (ret > N_ELEMENTS(panel5)) ret = N_ELEMENTS(panel5); 
    1713         C_COPY(panel, &panel5, ret, data_panel); 
     1712        assert(i == boundaries[5].page_rows); 
    17141713        return ret; 
    17151714  } 
  • trunk/src/main-sdl.c

    r85 r111  
    103103 *   port's biggest problem.  More comments below. 
    104104 * - SDL is not a complete game development library (although the add-ons help 
    105                                                                                                         *   tremendously).  Much-needed functionality - text output, blit stretching, 
     105 *   tremendously).  Much-needed functionality - text output, blit stretching, 
    106106 *   and video refresh synching being three examples - were either missing 
    107107 *   altogether or covered by functions that proved too slow or delicate for 
  • trunk/src/tables.c

    r110 r111  
    22352235                OPT_NONE, 
    22362236                OPT_NONE, 
    2237                 OPT_NONE, 
    2238                 OPT_NONE, 
    22392237                OPT_NONE 
    22402238        }, 
  • trunk/src/ui.c

    r110 r111  
    618618        { 
    619619                /* TODO: need a panel dispatcher here, not a generic target */ 
    620                 event_target t = { { 0, 0, 0, 0 }, FALSE, menu->target.observers }; 
     620                event_target t = { { 0, 0, 0, 0 }, FALSE, 0 /* menu->target.observers */}; 
     621                t.observers = menu->target.observers; 
    621622                out = run_event_loop(&t, FALSE, in); 
    622623