Changeset 270

Show
Ignore:
Timestamp:
07/04/07 15:51:07 (1 year ago)
Author:
takkaria
Message:

Fix:

  • pseudo-ID being retained across saves (#171 / #190)
  • ego-item knowledge being retained across saves (#172)
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/edit/artifact.txt

    r163 r270  
    7171# Version stamp (required) 
    7272 
    73 V:3.0.9 
     73V:3.0.10 
    7474 
    7575 
  • trunk/lib/edit/cost_adj.txt

    r157 r270  
    1717# Version stamp (required) 
    1818 
    19 V:3.0.9 
     19V:3.0.10 
    2020 
    2121 
  • trunk/lib/edit/ego_item.txt

    r163 r270  
    5252# Version stamp (required) 
    5353 
    54 V:3.0.9 
     54V:3.0.10 
    5555 
    5656# 1 (unused) 
  • trunk/lib/edit/flavor.txt

    r157 r270  
    1515# Version stamp (required) 
    1616 
    17 V:3.0.9 
     17V:3.0.10 
    1818 
    1919 
  • trunk/lib/edit/limits.txt

    r262 r270  
    1212# Version stamp (required) 
    1313 
    14 V:3.0.9 
     14V:3.0.10 
    1515 
    1616 
  • trunk/lib/edit/monster.txt

    r157 r270  
    9797# Version stamp (required) 
    9898 
    99 V:3.0.9 
     99V:3.0.10 
    100100 
    101101 
  • trunk/lib/edit/object.txt

    r163 r270  
    8181# Version stamp (required) 
    8282 
    83 V:3.0.9 
     83V:3.0.10 
    8484 
    8585 
  • trunk/lib/edit/p_class.txt

    r157 r270  
    6363# Version stamp (required) 
    6464 
    65 V:3.0.9 
     65V:3.0.10 
    6666 
    6767 
  • trunk/lib/edit/p_hist.txt

    r157 r270  
    3030# Version stamp (required) 
    3131 
    32 V:3.0.9 
     32V:3.0.10 
    3333 
    3434 
  • trunk/lib/edit/p_race.txt

    r157 r270  
    5151# Version stamp (required) 
    5252 
    53 V:3.0.9 
     53V:3.0.10 
    5454 
    5555 
  • trunk/lib/edit/shop_own.txt

    r157 r270  
    1717# Version stamp (required) 
    1818 
    19 V:3.0.9 
     19V:3.0.10 
    2020 
    2121# General Store 
  • trunk/lib/edit/spell.txt

    r157 r270  
    3838# Version stamp (required) 
    3939 
    40 V:3.0.9 
     40V:3.0.10 
    4141 
    4242 
  • trunk/lib/edit/terrain.txt

    r157 r270  
    3636# Version stamp (required) 
    3737 
    38 V:3.0.9 
     38V:3.0.10 
    3939 
    4040 
  • trunk/lib/edit/vault.txt

    r157 r270  
    4747# Version stamp (required) 
    4848 
    49 V:3.0.9 
     49V:3.0.10 
    5050 
    5151 
  • trunk/src/defines.h

    r265 r270  
    4545#define VERSION_MAJOR   3 
    4646#define VERSION_MINOR   0 
    47 #define VERSION_PATCH   9 
     47#define VERSION_PATCH   10 
    4848#define VERSION_EXTRA   0 
    4949 
  • trunk/src/load.c

    r189 r270  
    266266        rd_byte(&o_ptr->tval); 
    267267        rd_byte(&o_ptr->sval); 
    268  
    269         /* Special pval */ 
    270268        rd_s16b(&o_ptr->pval); 
    271269 
    272  
     270        /* Pseudo-ID bit */ 
    273271        rd_byte(&o_ptr->pseudo); 
    274272 
     
    276274        if (o_ptr->pseudo > 99) 
    277275            o_ptr->pseudo -= 100; 
    278         else 
    279             o_ptr->pseudo = 0; 
    280276 
    281277        rd_byte(&o_ptr->number); 
     
    996992        } 
    997993 
    998         /* Handle pre-cleanup squelch */ 
    999         if (older_than(3, 0, 9)) 
    1000         { 
    1001                 u16b tmp16u; 
    1002  
    1003                 /* Read the number of saved ego-item types and ignore them all */ 
    1004                 rd_u16b(&tmp16u); 
    1005                 strip_bytes(tmp16u); 
     994        /* Handle ego-item squelch */ 
     995        if ((sf_major == 3) && (sf_minor == 0) && (sf_patch != 9)) 
     996        { 
     997                u16b file_e_max; 
     998 
     999                /* Read the number of saved ego-item */ 
     1000                rd_u16b(&file_e_max); 
     1001 
     1002                for (i = 0; i < file_e_max; i++) 
     1003                { 
     1004                        if (i < z_info->e_max) 
     1005                        { 
     1006                                byte flags; 
     1007 
     1008                                /* Read and extract the flag */ 
     1009                                rd_byte(&flags); 
     1010                                e_info[i].everseen |= (flags & 0x02); 
     1011                        } 
     1012                } 
     1013        } 
     1014        else 
     1015        { 
    10061016        } 
    10071017 
  • trunk/src/object1.c

    r267 r270  
    27402740        char which; 
    27412741 
    2742         int i, j, k; 
     2742        int j, k; 
    27432743 
    27442744        int i1, i2; 
  • trunk/src/save.c

    r156 r270  
    420420                wr_byte(squelch_level[i]); 
    421421 
     422        /* Write ego-item squelch bits */ 
     423        wr_u16b(z_info->e_max); 
     424        for (i = 0; i < z_info->e_max; i++) 
     425        { 
     426                byte flags = 0; 
     427 
     428                /* Figure out and write the everseen flag */ 
     429                if (e_info[i].everseen) flags |= 0x02; 
     430                wr_byte(flags); 
     431        } 
     432 
    422433        /* Write the current number of auto-inscriptions */ 
    423434        wr_u16b(inscriptions_count); 
  • trunk/src/squelch.c

    r265 r270  
    504504void squelch_drop(void) 
    505505{ 
    506         int floor_list[MAX_FLOOR_STACK]; 
    507         int floor_num, n; 
    508         int count = 0; 
    509  
    510         object_type *o_ptr; 
     506        int n; 
    511507 
    512508        /* Scan through the slots backwards */ 
    513509        for (n = INVEN_PACK - 1; n >= 0; n--) 
    514510        { 
    515                 o_ptr = &inventory[n]; 
     511                object_type *o_ptr = &inventory[n]; 
    516512 
    517513                /* Skip non-objects and unsquelchable objects */ 
  • trunk/src/ui.c

    r268 r270  
    647647        { 
    648648                /* TODO: need a panel dispatcher here, not a generic target */ 
    649                 event_target t = { EVENT_EMPTY, FALSE, 0 /* menu->target.observers */}; 
     649                event_target t = { { 0, 0, 0, 0, { 0 } }, FALSE, 0 /* menu->target.observers */}; 
    650650                t.observers = menu->target.observers; 
    651651                out = run_event_loop(&t, FALSE, in);