From: <ma...@us...> - 2009-02-26 03:39:48
|
Revision: 6025 http://exult.svn.sourceforge.net/exult/?rev=6025&view=rev Author: marzojr Date: 2009-02-26 03:39:43 +0000 (Thu, 26 Feb 2009) Log Message: ----------- * Fixed bug #2638479. * Allowing NPCs in sleep schedule to do stuff again. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc exult/trunk/gamewin.cc exult/trunk/schedule.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-02-26 01:17:37 UTC (rev 6024) +++ exult/trunk/ChangeLog 2009-02-26 03:39:43 UTC (rev 6025) @@ -1,3 +1,7 @@ +2009-02-26 Marzo Sette Torres Junior <ma...@ya...> + * Fixed bug #2638479. + * Allowing NPCs in sleep schedule to do stuff again. + 2009-02-25 Marzo Sette Torres Junior <ma...@ya...> * Fix for multithreaded build (make -j <n>). * Fixed recently introduced compilation issue in GCC 4.0. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-02-26 01:17:37 UTC (rev 6024) +++ exult/trunk/actors.cc 2009-02-26 03:39:43 UTC (rev 6025) @@ -5091,7 +5091,10 @@ ) { purge_deleted_actions(); - if (cheat.in_map_editor() && party_id < 0 || !can_act()) + if (cheat.in_map_editor() && party_id < 0 || + (get_flag(Obj_flags::paralyzed) || is_dead() || + get_property(static_cast<int>(health)) <= 0 || + (get_flag(Obj_flags::asleep) && schedule_type != Schedule::sleep))) { gwin->get_tqueue()->add( curtime + gwin->get_std_delay(), this, udata); Modified: exult/trunk/gamewin.cc =================================================================== --- exult/trunk/gamewin.cc 2009-02-26 01:17:37 UTC (rev 6024) +++ exult/trunk/gamewin.cc 2009-02-26 03:39:43 UTC (rev 6025) @@ -2471,8 +2471,8 @@ Npc_actor *npc = (Npc_actor *) *it; // Don't want companions leaving. if (npc && npc->get_schedule_type() != Schedule::wait && - (npc->get_schedule_type() == Schedule::combat && - npc->get_target() == 0)) + (npc->get_schedule_type() != Schedule::combat || + npc->get_target() == 0)) npc->update_schedule(hour/3, backwards, hour%3 == 0 ? -1 : 0); } Modified: exult/trunk/schedule.cc =================================================================== --- exult/trunk/schedule.cc 2009-02-26 01:17:37 UTC (rev 6024) +++ exult/trunk/schedule.cc 2009-02-26 03:39:43 UTC (rev 6025) @@ -1919,8 +1919,8 @@ } if (floorloc.tx >= 0) // Get back on floor. npc->move(floorloc); + npc->clear_sleep(); npc->set_frame(Actor::standing); - npc->clear_sleep(); gwin->set_all_dirty(); // Update all, since Av. stands up. state = 0; // In case we go back to sleep. } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-02-28 18:34:53
|
Revision: 6029 http://exult.svn.sourceforge.net/exult/?rev=6029&view=rev Author: marzojr Date: 2009-02-28 18:34:49 +0000 (Sat, 28 Feb 2009) Log Message: ----------- Monsters that can't die are forced to have at least 1hp when the game is loaded (fixes bug #2641856). Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actorio.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-02-28 17:08:24 UTC (rev 6028) +++ exult/trunk/ChangeLog 2009-02-28 18:34:49 UTC (rev 6029) @@ -24,6 +24,8 @@ * ready.h, mapedit/*: Moved ready.h to shapes/ready.h, and added several new constants used in usecode. These constants are now used in Exult Studio. Fixed some errors in the shape class conversion in ES. + * actorio.cc: Monsters that can't die are forced to have at least 1hp when + the game is loaded (fixes bug #2641856). 2009-02-26 Marzo Sette Torres Junior <ma...@ya...> * Fixed bug #2638479. Modified: exult/trunk/actorio.cc =================================================================== --- exult/trunk/actorio.cc 2009-02-28 17:08:24 UTC (rev 6028) +++ exult/trunk/actorio.cc 2009-02-28 18:34:49 UTC (rev 6029) @@ -37,6 +37,8 @@ #include "databuf.h" #include "npctime.h" #include "ucmachine.h" +#include "shapeinf.h" +#include "monstinf.h" using std::ios; using std::cout; @@ -212,7 +214,7 @@ set_property(static_cast<int>(Actor::intelligence), intel_val & 0x1F); if ((intel_val >> 5) & 1) set_flag (Obj_flags::read); // Tournament. - if ((intel_val >> 6) & 1) + if ((intel_val >> 6) & 1) set_flag (Obj_flags::tournament); if ((intel_val >> 7) & 1) set_flag (Obj_flags::polymorph); @@ -466,6 +468,18 @@ if (this == gwin->get_main_actor()) gwin->set_map(map_num); } + + // We do this here because we need the NPC's final shape. + if (health_val <= 0 && !unused) + { + // If a monster can't die, force it to have at least 1 hit point, + // but only if the monster is used. + // Maybe we should restore it to full health? + Monster_info *minf = get_info().get_monster_info(); + if (minf && minf->cant_die()) + set_property(static_cast<int>(Actor::health), 1); + } + // Only do ready best weapon if we are in BG, this is the first time // and we are the Avatar or Iolo if (Game::get_game_type() == BLACK_GATE && Game::get_avname() && (num == 0 || num == 1)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-02-28 19:32:08
|
Revision: 6030 http://exult.svn.sourceforge.net/exult/?rev=6030&view=rev Author: marzojr Date: 2009-02-28 19:32:03 +0000 (Sat, 28 Feb 2009) Log Message: ----------- * Make NPCs more aggressive about fighting back, and added more cases where invisible NPCs join the fight (fixes bug #2641154). Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc exult/trunk/gamewin.cc exult/trunk/objs/objs.cc exult/trunk/objs/objs.h exult/trunk/schedule.cc exult/trunk/usecode/intrinsics.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/ChangeLog 2009-02-28 19:32:03 UTC (rev 6030) @@ -26,6 +26,8 @@ Studio. Fixed some errors in the shape class conversion in ES. * actorio.cc: Monsters that can't die are forced to have at least 1hp when the game is loaded (fixes bug #2641856). + * Make NPCs more aggressive about fighting back, and added more cases where + invisible NPCs join the fight (fixes bug #2641154). 2009-02-26 Marzo Sette Torres Junior <ma...@ya...> * Fixed bug #2638479. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/actors.cc 2009-02-28 19:32:03 UTC (rev 6030) @@ -2972,6 +2972,7 @@ set_target(npc, npc->get_schedule_type() != Schedule::duel); set_oppressor(npc->get_npc_num()); } + fight_back(attacker); return delta; } Modified: exult/trunk/gamewin.cc =================================================================== --- exult/trunk/gamewin.cc 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/gamewin.cc 2009-02-28 19:32:03 UTC (rev 6030) @@ -2533,7 +2533,7 @@ ) { Actor_vector npcs; // See if someone is nearby. - main_actor->find_nearby_actors(npcs, c_any_shapenum, 12); + main_actor->find_nearby_actors(npcs, c_any_shapenum, 12, 0x28); closest_npc = 0; // Look for closest NPC. int closest_dist = 5000; Actor *witness = 0; // And closest facing us. @@ -2668,7 +2668,7 @@ } Actor_vector npcs; // See if someone is nearby. - main_actor->find_nearby_actors(npcs, c_any_shapenum, 20); + main_actor->find_nearby_actors(npcs, c_any_shapenum, 20, 0x28); for (Actor_vector::const_iterator it = npcs.begin(); it != npcs.end();++it) { Modified: exult/trunk/objs/objs.cc =================================================================== --- exult/trunk/objs/objs.cc 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/objs/objs.cc 2009-02-28 19:32:03 UTC (rev 6030) @@ -779,11 +779,12 @@ ( Actor_vector& vec, int shapenum, - int delta + int delta, + int mask ) const { return Game_object::find_nearby(vec, get_tile(), shapenum, - delta, 8, c_any_qual, c_any_framenum); + delta, mask|8, c_any_qual, c_any_framenum); } #define FN_VECTOR Game_object_vector Modified: exult/trunk/objs/objs.h =================================================================== --- exult/trunk/objs/objs.h 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/objs/objs.h 2009-02-28 19:32:03 UTC (rev 6030) @@ -192,8 +192,8 @@ #undef HDR_DECLARE_FIND_NEARBY - int find_nearby_actors(Actor_vector& vec, int shapenum, int delta) - const; + int find_nearby_actors(Actor_vector& vec, int shapenum, int delta, + int mask = 8) const; int find_nearby_eggs(Egg_vector& vec, int shapenum, int delta, int qual = c_any_qual, int frnum = c_any_framenum) const; int find_nearby(Game_object_vector& vec, int shapenum, int delta, Modified: exult/trunk/schedule.cc =================================================================== --- exult/trunk/schedule.cc 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/schedule.cc 2009-02-28 19:32:03 UTC (rev 6030) @@ -94,15 +94,19 @@ ) { Actor_vector vec; // Look within 10 tiles (guess). - npc->find_nearby_actors(vec, c_any_shapenum, 10); + npc->find_nearby_actors(vec, c_any_shapenum, 10, 0x28); int npc_align = npc->get_effective_alignment(); Actor *foe = 0; + Monster_info *minf = npc->get_info().get_monster_info(); + bool see_invisible = minf ? + (minf->get_flags() & (1<<Monster_info::see_invisible))!=0 : false; for (Actor_vector::const_iterator it = vec.begin(); it != vec.end(); ++it) { Actor *actor = *it; - if (actor->is_dead() || actor->get_flag(Obj_flags::invisible)) - continue; // Dead or invisible. + if (actor->is_dead() || actor->get_flag(Obj_flags::asleep) || + (!see_invisible && actor->get_flag(Obj_flags::invisible))) + continue; // Dead, asleep or invisible and can't see invisible. if ((npc_align == Npc_actor::friendly && actor->get_effective_alignment() >= Npc_actor::hostile) || (npc_align == Npc_actor::hostile && Modified: exult/trunk/usecode/intrinsics.cc =================================================================== --- exult/trunk/usecode/intrinsics.cc 2009-02-28 18:34:49 UTC (rev 6029) +++ exult/trunk/usecode/intrinsics.cc 2009-02-28 19:32:03 UTC (rev 6030) @@ -1808,7 +1808,7 @@ for (int i = 1; i < cnt; i++) // Almost everyone dies. Armageddon_death(gwin->get_npc(i), true, screen); Actor_vector vec; // Get any monsters nearby. - gwin->get_main_actor()->find_nearby_actors(vec, c_any_shapenum, 40); + gwin->get_main_actor()->find_nearby_actors(vec, c_any_shapenum, 40, 0x28); for (Actor_vector::const_iterator it = vec.begin(); it != vec.end(); ++it) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-02-28 23:51:47
|
Revision: 6031 http://exult.svn.sourceforge.net/exult/?rev=6031&view=rev Author: marzojr Date: 2009-02-28 23:51:45 +0000 (Sat, 28 Feb 2009) Log Message: ----------- Fixed serpent bond bug in SI Fixes. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/content/sifixes/Readme.txt exult/trunk/content/sifixes/src/spells/spells.uc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-02-28 19:32:03 UTC (rev 6030) +++ exult/trunk/ChangeLog 2009-02-28 23:51:45 UTC (rev 6031) @@ -28,6 +28,7 @@ the game is loaded (fixes bug #2641856). * Make NPCs more aggressive about fighting back, and added more cases where invisible NPCs join the fight (fixes bug #2641154). + * Fixed serpent bond bug in SI Fixes. 2009-02-26 Marzo Sette Torres Junior <ma...@ya...> * Fixed bug #2638479. Modified: exult/trunk/content/sifixes/Readme.txt =================================================================== --- exult/trunk/content/sifixes/Readme.txt 2009-02-28 19:32:03 UTC (rev 6030) +++ exult/trunk/content/sifixes/Readme.txt 2009-02-28 23:51:45 UTC (rev 6031) @@ -17,7 +17,7 @@ ----------------------- Author: Marzo Sette Torres Junior e-mail: ma...@ta... -version: 0.15.07 +version: 0.15.08 This modification fixes a few of the Usecode bugs that plague Ultima VII: Serpent Isle. I have tested it *only* with Silver Seed @@ -170,6 +170,8 @@ 6 Version history ------------------- +version: 0.15.08 + - Fixed serpent bond bug. version: 0.15.07 - Fixed version number. - Fixed the dumping of items in Wall of Lights cutscene. Modified: exult/trunk/content/sifixes/src/spells/spells.uc =================================================================== --- exult/trunk/content/sifixes/src/spells/spells.uc 2009-02-28 19:32:03 UTC (rev 6030) +++ exult/trunk/content/sifixes/src/spells/spells.uc 2009-02-28 23:51:45 UTC (rev 6031) @@ -364,8 +364,6 @@ void spellSerpentBond object#(0x67D) () { - var pos; - var snakepos; if (event == DOUBLECLICK) { halt_scheduled(); @@ -397,20 +395,19 @@ } else if (event == SCRIPTED) { - pos = get_object_position(); - snakepos = [pos[X] + 2, pos[Y] + 2, pos[Z]]; - + var pos = get_object_position(); + var snakepos = [pos[X] + 2, pos[Y] + 2, pos[Z]]; + var insnakemaze = false; // Check to see if the Avatar is inside the snake maze: if ((pos[X] > 0x550) && (pos[X] < 0x573) && (pos[Y] > 0x1EA) && (pos[Y] < 0x212)) insnakemaze = true; - if ((getAvatarLocationID() != DREAM_WORLD) && - (insnakemaze == false) && + if (getAvatarLocationID() != DREAM_WORLD && !insnakemaze && UI_is_not_blocked(snakepos, SHAPE_MALE_AVATAR, 1)) { - if (get_item_flag(POLYMORPH)) + if (AVATAR->get_item_flag(POLYMORPH)) AVATAR->set_polymorph(SHAPE_MALE_AVATAR); item->serpentbondAddNPCsBackToParty(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-01 18:50:22
|
Revision: 6032 http://exult.svn.sourceforge.net/exult/?rev=6032&view=rev Author: marzojr Date: 2009-03-01 18:50:14 +0000 (Sun, 01 Mar 2009) Log Message: ----------- actorio.cc: Monsters that can't die are forced to have full hp when the game is loaded. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actorio.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-02-28 23:51:45 UTC (rev 6031) +++ exult/trunk/ChangeLog 2009-03-01 18:50:14 UTC (rev 6032) @@ -1,3 +1,7 @@ +2009-03-01 Marzo Sette Torres Junior <ma...@ya...> + * actorio.cc: Monsters that can't die are forced to have full hp when + the game is loaded. + 2009-02-28 Marzo Sette Torres Junior <ma...@ya...> * usecode/*: Unswapped UI_set_oppressor and UI_set_opponent in BG and SI intrinsic tables. Confirmed with some custom usecode and the cheat screen Modified: exult/trunk/actorio.cc =================================================================== --- exult/trunk/actorio.cc 2009-02-28 23:51:45 UTC (rev 6031) +++ exult/trunk/actorio.cc 2009-03-01 18:50:14 UTC (rev 6032) @@ -477,7 +477,8 @@ // Maybe we should restore it to full health? Monster_info *minf = get_info().get_monster_info(); if (minf && minf->cant_die()) - set_property(static_cast<int>(Actor::health), 1); + set_property(static_cast<int>(Actor::health), + get_property(static_cast<int>(Actor::strength))); } // Only do ready best weapon if we are in BG, this is the first time This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-03 03:01:18
|
Revision: 6034 http://exult.svn.sourceforge.net/exult/?rev=6034&view=rev Author: marzojr Date: 2009-03-03 03:01:08 +0000 (Tue, 03 Mar 2009) Log Message: ----------- Prevent accessing palettes that failed to load. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/palette.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-02 04:15:28 UTC (rev 6033) +++ exult/trunk/ChangeLog 2009-03-03 03:01:08 UTC (rev 6034) @@ -1,3 +1,6 @@ +2009-03-02 Marzo Sette Torres Junior <ma...@ya...> + * palette.cc: Prevent accessing palettes that failed to load. + 2009-03-01 Marzo Sette Torres Junior <ma...@ya...> * actorio.cc: Monsters that can't die are forced to have full hp when the game is loaded. Modified: exult/trunk/palette.cc =================================================================== --- exult/trunk/palette.cc 2009-03-02 04:15:28 UTC (rev 6033) +++ exult/trunk/palette.cc 2009-03-03 03:01:08 UTC (rev 6034) @@ -226,7 +226,7 @@ // The second one is black. memset(pal2, 0, 768); } - else + else if (buf && len > 0) { // Double palette for (int i=0; i<768; i++) { @@ -234,6 +234,16 @@ pal2[i]=buf[i*2+1]; } } + else + { + // Something went wrong during palette load. This probably + // happens because a dev is being used, which means that + // the palette won't be loaded. + // For now, let's try to avoid overwriting any palette that + // may be loaded and just cleanup. + if (!buf) + return; + } delete [] buf; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-10 03:27:52
|
Revision: 6036 http://exult.svn.sourceforge.net/exult/?rev=6036&view=rev Author: marzojr Date: 2009-03-10 03:27:30 +0000 (Tue, 10 Mar 2009) Log Message: ----------- Fixed recently-introduced bug in npc_nearby intrinsic. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/docs/exult_intrinsics.txt exult/trunk/usecode/intrinsics.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-03 03:42:59 UTC (rev 6035) +++ exult/trunk/ChangeLog 2009-03-10 03:27:30 UTC (rev 6036) @@ -1,3 +1,6 @@ +2009-03-10 Marzo Sette Torres Junior <ma...@ya...> + * Fixed recently-introduced bug in npc_nearby intrinsic. + 2009-03-02 Marzo Sette Torres Junior <ma...@ya...> * palette.cc: Prevent accessing palettes that failed to load. Modified: exult/trunk/docs/exult_intrinsics.txt =================================================================== --- exult/trunk/docs/exult_intrinsics.txt 2009-03-03 03:42:59 UTC (rev 6035) +++ exult/trunk/docs/exult_intrinsics.txt 2009-03-10 03:27:30 UTC (rev 6036) @@ -97,9 +97,9 @@ the 'calle' form when the parameter type is 'object' or 'actor', I feel that it is unneeded. --------------------------------------------------------------------------------- +================================================================================ RANDOM NUMBER INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics are all related to random numbers and their generation. @@ -142,9 +142,9 @@ from the same roll. If the result is 15 or more, the attacker wins and the return is true; otherwise, the attacker loses and the return is false. --------------------------------------------------------------------------------- +================================================================================ SCRIPTING INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics are used to animate characters from usecode. Some of these are deprecated by script blocks, but all others are still useful at times. @@ -327,9 +327,9 @@ Parameters: fun The function to be stored. --------------------------------------------------------------------------------- +================================================================================ CONVERSATION INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics are used to display faces for conversations, storing and recalling answers, etc. @@ -511,9 +511,9 @@ Return: The index (ranging from 1 to n) of the chosen dialog option. --------------------------------------------------------------------------------- +================================================================================ SOUND INTRINSICS --------------------------------------------------------------------------------- +================================================================================ All intrinsics in this section relate to playing sound effects, music or speech. @@ -585,9 +585,9 @@ Return: A number indicating what voice track is being played. --------------------------------------------------------------------------------- +================================================================================ SEARCHING AND COUNTING INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics allow you to find and count objects, whether they are in a container or in the game world. @@ -694,18 +694,20 @@ You cannot find eggs, barges, invisible or transparent objects with this intrinsic. -bool UI_npc_nearby(actor npc) -bool npc->npc_nearby() +bool UI_npc_nearby(object obj) +bool obj->npc_nearby() - Finds out if the desired NPC is on screen and can act. The NPC is considered - able to act if it is not asleep, paralyzed or dead. + Finds out if the desired object is on screen and can act. An NPC is + considered able to act if it is not asleep, paralyzed or dead; other objects + are always considered able to act. Note that, despite the name, this + intrincis can also be used for objects. Parameters: - npc The NPC to be checked. + obj The object or NPC to be checked. Return: - true if the NPC is in the screen and can act, false otherwise or if the - supplied parameter is not an NPC. + true if the object is in the screen and can act, false otherwise or if the + supplied parameter is not an object or NPC. bool UI_npc_nearby2(object obj) [SI] bool obj->npc_nearby2() @@ -757,9 +759,9 @@ Array containing object references to all objects that match the given criteria. --------------------------------------------------------------------------------- +================================================================================ PLACEMENT INTRINSICS --------------------------------------------------------------------------------- +================================================================================ With these intrinsics, you can create, move or delete objects or NPCs, whether they are in the game world or in a container. @@ -1131,9 +1133,9 @@ lr A (x, y) position specifying the lower-right corner of the region to be searched --------------------------------------------------------------------------------- +================================================================================ OBJECT INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics are used to get or set properties of an object, such as quantity, quality or current frame. @@ -1722,9 +1724,9 @@ NORTH = 0 NORTHEAST = 1 EAST = 2 SOUTHEAST = 3 SOUTH = 4 SOUTHWEST = 5 WEST = 6 NORTHWEST = 7 --------------------------------------------------------------------------------- +================================================================================ NPC INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics allow you to get or set NPC-specific properties of a NPC, such as schedules, alignment or stats. @@ -2354,9 +2356,9 @@ The combined warmth given by all objects worn by the NPC, or -75 if supplied with anything but a valid NPC. --------------------------------------------------------------------------------- +================================================================================ PARTY INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics relate to obtaining or modifying the list of party members. @@ -2401,9 +2403,9 @@ members within 50 tiles of the given object, or zero if no party members were found. --------------------------------------------------------------------------------- +================================================================================ AVATAR INTRINSICS --------------------------------------------------------------------------------- +================================================================================ All intrinsics in this section are about obtaining or modifying properties specific to the Avatar. @@ -2508,9 +2510,9 @@ obj If this is not the avatar, nothing happens. Otherwise, the party is teleported to the stored position. --------------------------------------------------------------------------------- +================================================================================ WEATHER/TIME INTRINSICS --------------------------------------------------------------------------------- +================================================================================ These intrinsics allow you to check or alter the weather, the game clock and usecode timers. @@ -2613,9 +2615,9 @@ type Numeric value indicating what the weather should be. Can be any of the values returned by UI_get_weather intrinsic. --------------------------------------------------------------------------------- +================================================================================ USER INTERFACE INTRINSICS --------------------------------------------------------------------------------- +================================================================================ With these intrinsics, you can ask the user for input or display feedback for his actions. @@ -2776,9 +2778,9 @@ Return: An empty string. --------------------------------------------------------------------------------- +================================================================================ DISPLAY INTRINSICS --------------------------------------------------------------------------------- +================================================================================ All intrinsics in this section are related to showing things to the player, be they other portions of the game map or objects from 'SPRITES.VGA'. @@ -3033,9 +3035,9 @@ the sprite frame will go through all of its frames. If negative, the sprite will go through all of its frames *once*. --------------------------------------------------------------------------------- +================================================================================ OTHER INTRINSICS --------------------------------------------------------------------------------- +================================================================================ All intrinsics that did not fit in the previous categories. Modified: exult/trunk/usecode/intrinsics.cc =================================================================== --- exult/trunk/usecode/intrinsics.cc 2009-03-03 03:42:59 UTC (rev 6035) +++ exult/trunk/usecode/intrinsics.cc 2009-03-10 03:27:30 UTC (rev 6036) @@ -792,19 +792,14 @@ USECODE_INTRINSIC(npc_nearby) { // NPC nearby? (item). - Actor *npc = as_actor(get_item(parms[0])); - if (!npc) + Game_object *obj = get_item(parms[0]); + if (!obj) return Usecode_value(0); - Tile_coord pos = npc->get_tile(); - int is_near = ( -#if 0 /* Old way, messes up Karnax at start of SI. */ - npc->get_tile().distance(gwin->get_main_actor()->get_tile()) - < 12 && -#else - gwin->get_win_tile_rect().has_point(pos.tx, pos.ty) && -#endif - // Guessing: false if dead, asleep or paralyzed. - npc->can_act()); + Tile_coord pos = obj->get_tile(); + Actor *npc; + int is_near = gwin->get_win_tile_rect().has_point(pos.tx, pos.ty) && + // Guessing: true if non-NPC, false if NPC is dead, asleep or paralyzed. + ((npc = as_actor(obj)) == 0 || npc->can_act()); Usecode_value u(is_near); return(u); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-13 13:02:57
|
Revision: 6039 http://exult.svn.sourceforge.net/exult/?rev=6039&view=rev Author: marzojr Date: 2009-03-13 13:02:45 +0000 (Fri, 13 Mar 2009) Log Message: ----------- * Fixed bug on monsters and quake-on-walk. Fixed incorrect initial values of ready types. Some Doxygenification. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc exult/trunk/actors.h exult/trunk/monsters.cc exult/trunk/shapes/shapeinf.cc exult/trunk/shapes/shapevga.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-13 04:38:56 UTC (rev 6038) +++ exult/trunk/ChangeLog 2009-03-13 13:02:45 UTC (rev 6039) @@ -23,6 +23,8 @@ * shapes/shapevga.cc, shapewrite.cc: The classes Functor_data_reader and Functor_data_writer required too much information they didn't use; this information is now required by the functors they use. + * Fixed bug on monsters and quake-on-walk. Fixed incorrect initial values + of ready types. Some Doxygenification. 2009-03-10 Marzo Sette Torres Junior <ma...@ya...> * Fixed recently-introduced bug in npc_nearby intrinsic. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-03-13 04:38:56 UTC (rev 6038) +++ exult/trunk/actors.cc 2009-03-13 13:02:45 UTC (rev 6039) @@ -191,20 +191,27 @@ inline int Get_dir_from_frame(int i) { return ((((i&16)/8) - ((i&32)/32)) + 4)%4; } -/* - * Provide attribute/value pairs. +/** + * Provides attribute/value pairs. */ class Actor_attributes { - static std::set<string> *strings; // So names get shared. + /// The attribute names. These are shared among all actors. + static std::set<string> *strings; typedef std::map<const char *,int> Att_map; + /// The attribute name > value map. Att_map map; public: + /// Basic constructor. Initializes the attribute names. Actor_attributes() { if (!strings) strings = new std::set<string>; } + /// Sets an attribute's value and, if needed, adds it to + /// the attribute name list. + /// @param nm The name of the attribute to be set. + /// @param val Value to set the attribute to. void set(const char *nm, int val) { std::set<string>::iterator siter = strings->find(nm); @@ -213,6 +220,10 @@ nm = (*siter).c_str(); map[nm] = val; } + /// Gets an attribute's value, if it is in the list. + /// @param nm The name of the attribute to be gotten. + /// @return val Current value of the attribute, or + /// zero if the attribute is not on the list. int get(const char *nm) // Returns 0 if not set. { std::set<string>::const_iterator siter = strings->find(nm); @@ -222,6 +233,8 @@ Att_map::const_iterator it = map.find(nm); return it == map.end() ? 0 : (*it).second; } + /// Gets all attributes for the current actor. + /// @param attlist (name, value) vector containig all attributes. void get_all(std::vector<std::pair<const char *,int> >& attlist) { Att_map::const_iterator it; @@ -231,8 +244,9 @@ }; std::set<string> *Actor_attributes::strings = 0; -/* +/** * Get/create timers. + * @return */ Npc_timer_list *Actor::need_timers @@ -244,8 +258,8 @@ return timers; } -/* - * Initialize. +/** + * Initialize frames, properties and spots. */ void Actor::init @@ -261,10 +275,11 @@ spots[i] = 0; } -/* +/** * Find (best) ammo of given type. - * - * Output: ->object if found. + * @param family Desired ammo family shape. + * @param needed Minimum quantity needed. + * @return Pointer to object, if found. */ Game_object *Actor::find_best_ammo @@ -306,9 +321,13 @@ return best; } -/* +/** * Get effective maximum range for weapon taking in consideration * the actor's strength and combat. + * @param winf Pointer to weapon information of the current weapon, + * or null for no weapon. + * @param reach Weapon reach, or -1 to use weapon's. + * @return Weapon's effective range. */ int Actor::get_effective_range ( @@ -348,16 +367,17 @@ } } -/* +/** * Find ammo used by weapon. - * - * Output: ->object if found. Additionally, is_readied is set to - * true if the ammo is readied. + * @param weapon The weapon shape. + * @param needed Minimum quantity needed. + * @param recursive Whether or not to search inside backpacks and bags. + * @return Pointer to object if found. */ Game_object *Actor::find_weapon_ammo ( - int weapon, // Weapon shape. + int weapon, int needed, bool recursive ) @@ -402,8 +422,9 @@ return recursive ? Container_game_object::find_weapon_ammo(weapon) : 0; } -/* +/** * Swap new ammo with old. + * @param newammo Pointer to new ammo object. */ void Actor::swap_ammo @@ -422,9 +443,14 @@ add(aobj, 1); } -/* +/** * Recursivelly searches for ammunition for a given weapon, if needed. - * Output: true if the weapon can be used, ammo -> to best ammunition. + * @param npc The NPC to be searched. + * @param bobj The weapon we want to check. + * @param ammo Optional pointer that receives a pointer to the best ammunition + * found for the given weapon. + * @param recursive Whether or not to search inside backpacks and bags. + * @return true if the weapon can be used, ammo is pointer to best ammunition. */ static inline bool Is_weapon_usable @@ -458,10 +484,9 @@ return true; } -/* +/** * Ready ammo for weapon being carried. - * - * Output: true if successful. + * @return Returns true if successful. */ bool Actor::ready_ammo @@ -500,9 +525,9 @@ return true; } -/* +/** * If no shield readied, look through all possessions for the best one. - * Output: true if successful. + * @return Returns true if successful. */ bool Actor::ready_best_shield @@ -552,9 +577,9 @@ } -/* +/** * If no weapon readied, look through all possessions for the best one. - * Output: true if successful. + * @return Returns true if successful. */ bool Actor::ready_best_weapon @@ -631,8 +656,8 @@ return true; } -/* - * Try to store the weapon. +/** + * Try to store the readied weapon. */ void Actor::unready_weapon @@ -653,6 +678,11 @@ } } +/** + * Get effective weapon shape, taking casting frames in consideration. + * @return The shape to be displayed in-hand. + */ + int Actor::get_effective_weapon_shape ( ) @@ -667,10 +697,9 @@ } } -/* +/** * Add dirty rectangle(s). - * - * Output: 0 if not on screen. + * @return Returns 0 if not on screen. */ int Actor::add_dirty ( @@ -707,8 +736,9 @@ return 1; } -/* +/** * Change the frame and set to repaint areas. + * @param frnum The new frame. */ void Actor::change_frame @@ -731,10 +761,12 @@ add_dirty(1); // Set to repaint new. } -/* +/** * See if it's blocked when trying to move to a new tile. - * - * Output: 1 if so, else 0. + * @param t Tile to step to. Tz is possibly updated by this function. + * @param f Pointer to tile we are stepping from, or null for current tile. + * @param move_flags Additional movement flags to consider for step. + * @return Returns 1 if so, else 0. */ int Actor::is_blocked @@ -766,8 +798,10 @@ f ? *f : get_tile(), t, move_flags | get_type_flags()); } -/* - * An object which blocks the destination tile. +/** + * Finds an object which blocks the destination tile. + * @param tile The (blocked) tile to check. + * @param dir Direction we are stepping from. */ Game_object *Actor::find_blocking @@ -808,8 +842,14 @@ return 0; } -/* +/** * Move an object, and possibly change its shape too. + * @param old_chunk The actor's old chunk. + * @param new_chunk The chunk to which the actor is moving. + * @param new_sx New x coordinate. + * @param new_sy New y coordinate. + * @param new_frame The new frame. + * @param new_lift The new z coordinate. */ inline void Actor::movef ( @@ -829,16 +869,20 @@ new_chunk->add(this); } -/* +/** * Create character. + * @param nm The actor's name. + * @param shapenum The initial shape. + * @param num The NPC's number from npc.dat. + * @param uc The usecofe function to use. */ Actor::Actor ( const std::string &nm, int shapenum, - int num, // NPC # from npc.dat. - int uc // Usecode #. + int num, + int uc ) : Container_game_object(), name(nm),usecode(uc), usecode_assigned(false), unused(false), npc_num(num), face_num(num), party_id(-1), shape_save(-1), @@ -860,8 +904,8 @@ frames = &npc_frames[0]; // Default: 5-frame walking. } -/* - * Delete. +/** + * Deletes actor. */ Actor::~Actor @@ -875,6 +919,11 @@ delete atts; } +/** + * Goes through the actor's readied gear and caches powers + * and immunities. + */ + void Actor::refigure_gear() { static Ready_type_Exult locs[] = {head, belt, lhand, lfinger, legs, @@ -895,7 +944,7 @@ gear_powers = powers; } -/* +/** * Decrement food level and print complaints if it gets too low. * NOTE: Should be called every hour. */ @@ -926,13 +975,15 @@ say(first_hunger, first_hunger + 2); } -/* +/** * Periodic check for freezing. + * @param freeze True if the actor is freezing. This is usually the + * Avatar's freeze flag. */ void Actor::check_temperature ( - bool freeze // Avatar's flag applies to party. + bool freeze ) { if (!freeze) // Not in a cold area? @@ -4508,14 +4559,7 @@ // it may teleport.) nlist->activate_eggs(this, t.tx, t.ty, t.tz, oldtile.tx, oldtile.ty); - if (get_info().quake_on_walk()) - { - qsteps = (qsteps + 1)%5; - if (!qsteps) // Time to roll? - gwin->get_tqueue()->add(Game::get_ticks() + 10, - new Earthquake(2), 0L); - } - return (1); + quake_on_walk(); } /* @@ -4729,6 +4773,25 @@ return Shapeinfo_lookup::GetMaleAvShape(); } +/** + * Causes earthquake on step if the actor flag is set. + * @return: True if flag is caused quake on walk, false otherwise. + */ + +inline bool Actor::quake_on_walk + ( + ) + { + if (get_info().quake_on_walk()) + { + qsteps = (qsteps + 1)%5; + if (!qsteps) // Time to roll? + gwin->get_tqueue()->add(Game::get_ticks() + 10, + new Earthquake(2), 0L); + return true; + } + return false; + } /* * Create NPC. */ @@ -5174,13 +5237,7 @@ dormant = true; return (0); } - if (get_info().quake_on_walk()) - { - qsteps = (qsteps + 1)%5; - if (!qsteps) // Time to roll? - gwin->get_tqueue()->add(Game::get_ticks() + 10, - new Earthquake(2), 0L); - } + quake_on_walk(); return (1); // Add back to queue for next time. } Modified: exult/trunk/actors.h =================================================================== --- exult/trunk/actors.h 2009-03-13 04:38:56 UTC (rev 6038) +++ exult/trunk/actors.h 2009-03-13 13:02:45 UTC (rev 6039) @@ -579,6 +579,7 @@ // Should be virtual??? void cache_out(); bool in_usecode_control() const; + bool quake_on_walk(); }; /* Modified: exult/trunk/monsters.cc =================================================================== --- exult/trunk/monsters.cc 2009-03-13 04:38:56 UTC (rev 6038) +++ exult/trunk/monsters.cc 2009-03-13 13:02:45 UTC (rev 6039) @@ -34,6 +34,7 @@ #include "game.h" #include "effects.h" #include "ucmachine.h" +#include "actors.h" #ifndef UNDER_EMBEDDED_CE using std::rand; @@ -363,6 +364,7 @@ dormant = true; return (0); } + quake_on_walk(); return (1); // Add back to queue for next time. } Modified: exult/trunk/shapes/shapeinf.cc =================================================================== --- exult/trunk/shapes/shapeinf.cc 2009-03-13 04:38:56 UTC (rev 6038) +++ exult/trunk/shapes/shapeinf.cc 2009-03-13 13:02:45 UTC (rev 6039) @@ -55,7 +55,7 @@ using std::endl; Shape_info::Shape_info() : weight(0), volume(0), - ready_type(0), alt_ready1(-1), alt_ready2(-1), occludes_flag(false), + ready_type(-1), alt_ready1(-1), alt_ready2(-1), occludes_flag(false), spell_flag(false), weapon_offsets(0), armor(0), weapon(0), ammo(0), monstinf(0), sfxinf(0), aniinf(0), explosion(0), body(0), npcpaperdoll(0), container_gump(-1), monster_food(-1), mountain_top(0), @@ -70,7 +70,7 @@ * Not supported: */ Shape_info::Shape_info(const Shape_info & other) : weight(0), volume(0), - ready_type(0), alt_ready1(-1), alt_ready2(-1), occludes_flag(false), + ready_type(-1), alt_ready1(-1), alt_ready2(-1), occludes_flag(false), spell_flag(false), weapon_offsets(0), armor(0), weapon(0), ammo(0), monstinf(0), sfxinf(0), aniinf(0), explosion(0), body(0), npcpaperdoll(0), container_gump(-1), monster_food(-1), mountain_top(0), Modified: exult/trunk/shapes/shapevga.cc =================================================================== --- exult/trunk/shapes/shapevga.cc 2009-03-13 04:38:56 UTC (rev 6038) +++ exult/trunk/shapes/shapevga.cc 2009-03-13 13:02:45 UTC (rev 6039) @@ -743,7 +743,6 @@ &Shape_info::container_gump, 0> > container(info, true); container.read(CONTAINER, false, bg); container.read(PATCH_CONTAINER, true, bg); - Functor_data_reader<ready_type_flag, Readytype_reader_functor> ready(info); ready.read(READY, false, bg); ready.read(PATCH_READY, true, bg); @@ -751,6 +750,16 @@ Read_Shapeinf_text_data_file(editing, game); Read_Bodies_text_data_file(editing, game); Read_Paperdoll_text_data_file(editing, game); + + // Ensure valid ready spots for all shapes. + zinfo.ready_type = bg ? backpack : rhand; + for (std::map<int, Shape_info>::iterator it = info.begin(); + it != info.end(); ++it) + { + Shape_info& inf = it->second; + if (inf.ready_type < 0) + inf.ready_type = bg ? backpack : rhand; + } } /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-13 14:04:45
|
Revision: 6040 http://exult.svn.sourceforge.net/exult/?rev=6040&view=rev Author: marzojr Date: 2009-03-13 14:04:27 +0000 (Fri, 13 Mar 2009) Log Message: ----------- Fixed compilation bug due to missing include. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/imagewin/scale_gl.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-13 13:02:45 UTC (rev 6039) +++ exult/trunk/ChangeLog 2009-03-13 14:04:27 UTC (rev 6040) @@ -25,6 +25,7 @@ information is now required by the functors they use. * Fixed bug on monsters and quake-on-walk. Fixed incorrect initial values of ready types. Some Doxygenification. + * Fixed compilation bug due to missing include. 2009-03-10 Marzo Sette Torres Junior <ma...@ya...> * Fixed recently-introduced bug in npc_nearby intrinsic. Modified: exult/trunk/imagewin/scale_gl.cc =================================================================== --- exult/trunk/imagewin/scale_gl.cc 2009-03-13 13:02:45 UTC (rev 6039) +++ exult/trunk/imagewin/scale_gl.cc 2009-03-13 14:04:27 UTC (rev 6040) @@ -17,6 +17,10 @@ * Boston, MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "SDL_video.h" #include "imagewin.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-13 14:17:41
|
Revision: 6041 http://exult.svn.sourceforge.net/exult/?rev=6041&view=rev Author: marzojr Date: 2009-03-13 14:17:31 +0000 (Fri, 13 Mar 2009) Log Message: ----------- Added unoptimized debug mode with heavy GDB symbols. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/configure.ac Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-13 14:04:27 UTC (rev 6040) +++ exult/trunk/ChangeLog 2009-03-13 14:17:31 UTC (rev 6041) @@ -26,6 +26,7 @@ * Fixed bug on monsters and quake-on-walk. Fixed incorrect initial values of ready types. Some Doxygenification. * Fixed compilation bug due to missing include. + * Added unoptimized debug mode with heavy GDB symbols. 2009-03-10 Marzo Sette Torres Junior <ma...@ya...> * Fixed recently-introduced bug in npc_nearby intrinsic. Modified: exult/trunk/configure.ac =================================================================== --- exult/trunk/configure.ac 2009-03-13 14:04:27 UTC (rev 6040) +++ exult/trunk/configure.ac 2009-03-13 14:17:31 UTC (rev 6041) @@ -503,6 +503,19 @@ AC_MSG_RESULT(no) fi +# heavy unoptimized GDB debugging mode +AC_ARG_ENABLE(heavy-gdb-debug, [[ --enable-heavy-gdb-debug Enable debug messages with GDB symbols [default no]]],,enable_heavy_gdb_debug=no) +AC_MSG_CHECKING(whether to enable unoptimized debugging mode with GDB symbols) +if test x$enable_heavy_gdb_debug = xyes; then + AC_MSG_RESULT(yes) + AC_DEFINE(DEBUG, 1, [Enable unoptimized debug mode plus GDB symbols]) + DEBUG_FLAGS="-ggdb3" + CXXFLAGS="-O0" + CFLAGS="-O0" +else + AC_MSG_RESULT(no) +fi + # SDL parachute? AC_ARG_ENABLE(sdl-parachute, [[ --enable-sdl-parachute Use SDL parachute [default yes]]],,enable_sdl_parachute=yes) AC_MSG_CHECKING(if we should disable the SDL parachute) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-15 01:52:07
|
Revision: 6044 http://exult.svn.sourceforge.net/exult/?rev=6044&view=rev Author: marzojr Date: 2009-03-15 01:51:51 +0000 (Sun, 15 Mar 2009) Log Message: ----------- * actors.cc: Fixed bug #2687078. * objs/eggs.cc: Check mapeditor flag first. * objs/objs.cc, shapes/shapeinf.cc: Moved barge seat rotation code to the overall rotation function. * shapeid.h: Implemented simple cache for shape information, wasting memory for performance. * files/U7obj.h: Fixing memory leak ("delete [] NULL" is NOT harmless). * shapes/*.h: Fixed memory leaks. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc exult/trunk/files/U7obj.h exult/trunk/objs/egg.cc exult/trunk/objs/objs.cc exult/trunk/shapeid.h exult/trunk/shapes/continf.h exult/trunk/shapes/effhpinf.h exult/trunk/shapes/frnameinf.h exult/trunk/shapes/frpowers.h exult/trunk/shapes/objdollinf.h exult/trunk/shapes/shapeinf.cc exult/trunk/shapes/shapeinf.h exult/trunk/shapes/warminf.h Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/ChangeLog 2009-03-15 01:51:51 UTC (rev 6044) @@ -1,3 +1,13 @@ +2009-03-14 Marzo Sette Torres Junior <ma...@ya...> + * actors.cc: Fixed bug #2687078. + * objs/eggs.cc: Check mapeditor flag first. + * objs/objs.cc, shapes/shapeinf.cc: Moved barge seat rotation code to the + overall rotation function. + * shapeid.h: Implemented simple cache for shape information, wasting memory + for performance. + * files/U7obj.h: Fixing memory leak ("delete [] NULL" is NOT harmless). + * shapes/*.h: Fixed memory leaks. + 2009-03-13 Marzo Sette Torres Junior <ma...@ya...> * General: Unified ready types and paperdolls for BG and SI. BG and SI Ready types are converted on load to Exult's (and back when saving), and the Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/actors.cc 2009-03-15 01:51:51 UTC (rev 6044) @@ -4560,6 +4560,7 @@ nlist->activate_eggs(this, t.tx, t.ty, t.tz, oldtile.tx, oldtile.ty); quake_on_walk(); + return (1); } /* Modified: exult/trunk/files/U7obj.h =================================================================== --- exult/trunk/files/U7obj.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/files/U7obj.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -71,7 +71,7 @@ name = other.name; } ~File_spec() - { if (ownstr) delete [] name; } + { if (ownstr && name) delete [] name; } const File_spec& operator=(const File_spec& other) { name = other.name; index = other.index; return *this; } bool operator<(const File_spec& other) const Modified: exult/trunk/objs/egg.cc =================================================================== --- exult/trunk/objs/egg.cc 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/objs/egg.cc 2009-03-15 01:51:51 UTC (rev 6044) @@ -716,6 +716,8 @@ int from_tx, int from_ty // Tile stepped from. ) { + if (cheat.in_map_editor()) + return 0; // Disable in map-editor. if ((flags & (1 << (int) hatched)) && !(flags & (1 << (int) auto_reset))) return (0); // For now... Already hatched. @@ -725,8 +727,6 @@ if (!(hour >= 9 || hour <= 5)) return (0); // It's not night. } - if (cheat.in_map_editor()) - return 0; // Disable in map-editor. Egg_criteria cri = (Egg_criteria) get_criteria(); int deltaz = tz - get_lift(); Modified: exult/trunk/objs/objs.cc =================================================================== --- exult/trunk/objs/objs.cc 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/objs/objs.cc 2009-03-15 01:51:51 UTC (rev 6044) @@ -1526,14 +1526,7 @@ ) { int curframe = get_framenum(); - // Seat is a special case. - if (get_info().get_barge_type() == Shape_info::barge_seat) - { - int dir = curframe%4; // Current dir (0-3). - return (curframe - dir) + (dir + quads)%4; - } - else - return get_info().get_rotated_frame(curframe, quads); + return get_info().get_rotated_frame(curframe, quads); } /* Modified: exult/trunk/shapeid.h =================================================================== --- exult/trunk/shapeid.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapeid.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -159,13 +159,14 @@ char has_trans; ShapeFile shapefile; Shape_frame *shape; + Shape_info *info; Shape_frame* cache_shape(); public: // Read from buffer & incr. ptr. ShapeID(unsigned char *& data) - : has_trans(0), shapefile(SF_SHAPES_VGA), shape(0) + : has_trans(0), shapefile(SF_SHAPES_VGA), shape(0), info(0) { unsigned char l = *data++; unsigned char h = *data++; @@ -173,7 +174,8 @@ framenum = h >> 2; } // Create "end-of-list"/invalid entry. - ShapeID() : shapenum(-1), framenum(-1), has_trans(0), shapefile(SF_SHAPES_VGA), shape(0) + ShapeID() : shapenum(-1), framenum(-1), has_trans(0), + shapefile(SF_SHAPES_VGA), shape(0), info(0) { } virtual ~ShapeID() @@ -202,14 +204,15 @@ shapenum = shnum; framenum = frnum; shape = 0; + info = 0; } ShapeID(int shnum, int frnum, ShapeFile shfile = SF_SHAPES_VGA) : shapenum(shnum), framenum(frnum), has_trans(0), - shapefile(shfile), shape(0) + shapefile(shfile), shape(0), info(0) { } void set_shape(int shnum) // Set shape, but keep old frame #. - { shapenum = shnum; shape = 0; } + { shapenum = shnum; shape = 0; info = 0; } void set_frame(int frnum) // Set to new frame. { framenum = frnum; shape = 0; } void set_file(ShapeFile shfile) // Set to new flex @@ -226,8 +229,19 @@ inline void paint_outline(int xoff, int yoff, Pixel_colors pix) { sman->paint_outline(xoff, yoff, get_shape(), pix); } int get_num_frames() const; +#if 0 + //This would be very bad form, but who knows? Shape_info& get_info() const // Get info. about shape. - { return Shape_manager::instance->shapes.get_info(shapenum); } + { return *(info ? info : + const_cast<ShapeID *>(this)->info = + &Shape_manager::instance->shapes.get_info(shapenum)); } +#endif + Shape_info& get_info() const // Get info. about shape. + { return info ? *info : + Shape_manager::instance->shapes.get_info(shapenum); } + Shape_info& get_info() // Get info. about shape. + { return *(info ? info : info = + &Shape_manager::instance->shapes.get_info(shapenum)); } static Shape_info& get_info(int shnum) // Get info. about shape. { return Shape_manager::instance->shapes.get_info(shnum); } }; Modified: exult/trunk/shapes/continf.h =================================================================== --- exult/trunk/shapes/continf.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/continf.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -83,14 +83,13 @@ { return this == &other || (!(*this < other) && !(other < *this)); } bool operator!=(const Content_rules& other) const { return !(*this == other); } - Content_rules& operator=(const Content_rules& other) + void set(const Content_rules& other) { // Assumes *this == other. // No need to guard against self-assignment. // Do NOT copy modified or static flags. set_patch(other.from_patch()); set_invalid(other.is_invalid()); set_accept(other.accept); - return *this; } static const int get_entry_size() { return -1; } Modified: exult/trunk/shapes/effhpinf.h =================================================================== --- exult/trunk/shapes/effhpinf.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/effhpinf.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -88,14 +88,13 @@ { return this == &other || (!(*this < other) && !(other < *this)); } bool operator!=(const Effective_hp_info& other) const { return !(*this == other); } - Effective_hp_info& operator=(const Effective_hp_info& other) + void set(const Effective_hp_info& other) { // Assumes *this == other. // No need to guard against self-assignment. // Do NOT copy modified or static flags. set_patch(other.from_patch()); set_invalid(other.is_invalid()); set_hps(other.hps); - return *this; } static const int get_entry_size() { return -1; } Modified: exult/trunk/shapes/frnameinf.h =================================================================== --- exult/trunk/shapes/frnameinf.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/frnameinf.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -111,7 +111,7 @@ { return this == &other || (!(*this < other) && !(other < *this)); } bool operator!=(const Frame_name_info& other) const { return !(*this == other); } - Frame_name_info& operator=(const Frame_name_info& other) + void set(const Frame_name_info& other) { // Assumes *this == other. // No need to guard against self-assignment. // Do NOT copy modified or static flags. @@ -120,7 +120,6 @@ set_type(other.type); set_msgid(other.msgid); set_othermsg(other.othermsg); - return *this; } static const int get_entry_size() { return -1; } Modified: exult/trunk/shapes/frpowers.h =================================================================== --- exult/trunk/shapes/frpowers.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/frpowers.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -118,14 +118,13 @@ { return this == &other || (!(*this < other) && !(other < *this)); } bool operator!=(const Frame_powers_info& other) const { return !(*this == other); } - Frame_powers_info& operator=(const Frame_powers_info& other) + void set(const Frame_powers_info& other) { // Assumes *this == other. // No need to guard against self-assignment. // Do NOT copy modified or static flags. set_patch(other.from_patch()); set_invalid(other.is_invalid()); set_powers(other.powers); - return *this; } static const int get_entry_size() { return -1; } Modified: exult/trunk/shapes/objdollinf.h =================================================================== --- exult/trunk/shapes/objdollinf.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/objdollinf.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -152,7 +152,23 @@ { return this == &other || (!(*this < other) && !(other < *this)); } bool operator!=(const Paperdoll_item& other) const { return !(*this == other); } + // May not be needed: Paperdoll_item& operator=(const Paperdoll_item& other) + { + if (this != &other) + { + world_frame = other.world_frame; + spot = other.spot; + type = other.type; + translucent = other.translucent; + gender = other.gender; + shape = other.shape; + memcpy(frame, other.frame, sizeof(frame)); + info_flags = other.info_flags; + } + return *this; + } + void set(const Paperdoll_item& other) { // Assumes *this == other. if (this != &other) { @@ -169,7 +185,6 @@ memcpy(frame, other.frame, sizeof(frame)); } } - return *this; } static const int get_entry_size() { return -1; } Modified: exult/trunk/shapes/shapeinf.cc =================================================================== --- exult/trunk/shapes/shapeinf.cc 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/shapeinf.cc 2009-03-15 01:51:51 UTC (rev 6044) @@ -601,7 +601,13 @@ int quads // 1=90, 2=180, 3=270. ) { - if (is_barge_part()) // Piece of a barge? + // Seat is a special case. + if (barge_type == barge_seat) + { + int dir = curframe%4; // Current dir (0-3). + return (curframe - dir) + (dir + quads)%4; + } + else if (is_barge_part()) // Piece of a barge? switch (quads) { case 1: Modified: exult/trunk/shapes/shapeinf.h =================================================================== --- exult/trunk/shapes/shapeinf.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/shapeinf.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -163,7 +163,7 @@ if (it == vec.end() || *it != inf) // Not found. vec.insert(it, inf); // Add new. else // Already exists. - *it = inf; // Replace information. + it->set(inf); // Replace information. } template <typename T> static void copy_vector_info(const std::vector<T>& from, std::vector<T>& to) Modified: exult/trunk/shapes/warminf.h =================================================================== --- exult/trunk/shapes/warminf.h 2009-03-14 02:47:36 UTC (rev 6043) +++ exult/trunk/shapes/warminf.h 2009-03-15 01:51:51 UTC (rev 6044) @@ -74,14 +74,13 @@ { return this == &other || (!(*this < other) && !(other < *this)); } bool operator!=(const Warmth_info& other) const { return !(*this == other); } - Warmth_info& operator=(const Warmth_info& other) + void set(const Warmth_info& other) { // Assumes *this == other. // No need to guard against self-assignment. // Do NOT copy modified or static flags. set_patch(other.from_patch()); set_invalid(other.is_invalid()); set_warmth(other.warmth); - return *this; } static const int get_entry_size() { return -1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-15 03:13:16
|
Revision: 6045 http://exult.svn.sourceforge.net/exult/?rev=6045&view=rev Author: marzojr Date: 2009-03-15 03:13:05 +0000 (Sun, 15 Mar 2009) Log Message: ----------- Fixed several warnings, including a mistaken assignment in an if and many missing return values in non-void functions. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actorio.cc exult/trunk/actors.cc exult/trunk/combat.cc exult/trunk/effects.cc exult/trunk/gumps/Newfile_gump.cc exult/trunk/gumps/Paperdoll_gump.cc exult/trunk/imagewin/scale_2xSaI.h exult/trunk/mapedit/chunklst.cc exult/trunk/mapedit/combo.cc exult/trunk/mapedit/npclst.cc exult/trunk/mapedit/shapelst.cc exult/trunk/mapedit/studio.cc exult/trunk/mapedit/ucbrowse.cc exult/trunk/monsters.cc exult/trunk/objs/animate.cc exult/trunk/objs/chunks.cc exult/trunk/objs/citerate.h exult/trunk/objs/objs.cc exult/trunk/schedule.cc exult/trunk/server/server.cc exult/trunk/shapeid.cc exult/trunk/shapes/shapeinf.cc exult/trunk/shapes/shapewrite.cc exult/trunk/usecode/compiler/ucparse.yy exult/trunk/usecode/compiler/ucstmt.cc exult/trunk/usecode/intrinsics.cc exult/trunk/usecode/ucinternal.cc exult/trunk/usecode/useval.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/ChangeLog 2009-03-15 03:13:05 UTC (rev 6045) @@ -7,6 +7,8 @@ for performance. * files/U7obj.h: Fixing memory leak ("delete [] NULL" is NOT harmless). * shapes/*.h: Fixed memory leaks. + * Fixed several warnings, including a mistaken assignment in an if and many + missing return values in non-void functions. 2009-03-13 Marzo Sette Torres Junior <ma...@ya...> * General: Unified ready types and paperdolls for BG and SI. BG and SI Ready Modified: exult/trunk/actorio.cc =================================================================== --- exult/trunk/actorio.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/actorio.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -93,7 +93,7 @@ // iflag1:4 == Extended skin number bool read_sched_usecode = !fix_first && (iflag1&2); bool usecode_name_used = !fix_first && (iflag1&8); - if (usecode_name_used || !fix_first && (iflag1&4)) + if (usecode_name_used || (!fix_first && (iflag1&4))) usecode_assigned = true; bool extended_skin = !fix_first && (iflag1&16); @@ -386,10 +386,12 @@ int skin = nfile->read1(); if (extended_skin) + { if (Game::get_avskin() >= 0) set_skin_color (Game::get_avskin()); else set_skin_color(skin); + } } else { @@ -562,12 +564,11 @@ nfile->write2(iflag1); // Superchunk #. nfile->write1((get_cy()/16)*12 + get_cx()/16); - Map_chunk *chunk = get_chunk(); + int map_num = get_map_num(); - if (map_num < 0) { + if (map_num < 0) // we store all off-map actors in map 0 map_num = 0; - } assert(map_num >= 0 && map_num < 256); nfile->write1(map_num); // Borrowing for map #. // Usecode. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/actors.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -710,6 +710,7 @@ return 0; int weapon_x, weapon_y, weapon_frame; if (figure_rect || get_casting_mode() == Actor::show_casting_frames) + { if (figure_weapon_pos(weapon_x, weapon_y, weapon_frame)) { int shnum = get_effective_weapon_shape(); @@ -724,6 +725,7 @@ } else weapon_rect.w = 0; + } if (weapon_rect.w > 0) // Repaint weapon area too. { Rectangle r = weapon_rect; @@ -993,10 +995,12 @@ // Warming up. temperature -= (temperature >= 5 ? 5 : temperature); if (GAME_SI && rand()%3 == 0) + { if (temperature >= 30) say(194, 197); else say(190, 193); + } return; } // Immune to cold by nature or an item? @@ -1014,10 +1018,12 @@ decr = decr > temperature ? temperature : decr; temperature -= decr; if (GAME_SI && rand()%3 == 0) + { if (temperature >= 30) say(177, 181); else say(170, 176); + } return; } int incr = 1 + (100 - warmth)/20; @@ -3771,7 +3777,6 @@ if (gear_immunities&(1<<type)) return 1; Monster_info *minf = get_info().get_monster_info(); - int is_immune = 0; if (minf && minf->get_immune()&(1<<type)) return 1; if (minf && minf->get_vulnerable()&(1<<type)) @@ -4179,7 +4184,7 @@ set_invalid(); #else bool frost_serp = GAME_SI && get_shapenum() == 832; - if (frost_serp && (get_framenum() & 0xf) == Actor::sit_frame + if ((frost_serp && (get_framenum() & 0xf) == Actor::sit_frame) || (get_framenum() & 0xf) == Actor::sleep_frame) { Usecode_script *scr = new Usecode_script(this); @@ -5088,7 +5093,7 @@ ) { purge_deleted_actions(); - if (cheat.in_map_editor() && party_id < 0 || + if ((cheat.in_map_editor() && party_id < 0) || (get_flag(Obj_flags::paralyzed) || is_dead() || get_property(static_cast<int>(health)) <= 0 || (get_flag(Obj_flags::asleep) && schedule_type != Schedule::sleep))) Modified: exult/trunk/combat.cc =================================================================== --- exult/trunk/combat.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/combat.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -350,6 +350,7 @@ return other == Npc_actor::hostile || other == Npc_actor::friendly; } + return true; // This should never happen. } /* @@ -1207,16 +1208,13 @@ Game_object *weapon = npc->get_readied(lhand); if (weapon) { - int index = -1; - if (!npc->get_readied(belt)) - index = belt; - else if (!npc->get_readied(back_2h)) - index = back_2h; - if (index >= 0) - { - npc->remove(weapon); - npc->add_readied(weapon, index, 1, 1); - } + npc->remove(weapon); + if (!npc->add_readied(weapon, belt, 1) && + !npc->add_readied(weapon, back_2h, 1) && + !npc->add_readied(weapon, back_shield, 1) && + !npc->add_readied(weapon, rhand, 1) && + !npc->add_readied(weapon, backpack, 1)) + npc->add(weapon); } } Modified: exult/trunk/effects.cc =================================================================== --- exult/trunk/effects.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/effects.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -1485,7 +1485,7 @@ eman->remove_effect(this); return; } - if (r%5 == 0) // Occassionally flash again. + if (r%50 == 0) // Occassionally flash again. delay = (1 + r%7)*40; else // Otherwise, wait several secs. delay = (4000 + r%3000); Modified: exult/trunk/gumps/Newfile_gump.cc =================================================================== --- exult/trunk/gumps/Newfile_gump.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/gumps/Newfile_gump.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -742,9 +742,9 @@ #endif selected = hit+list_position; - int want_load = true; - int want_delete = true; - int want_save = true; + bool want_load = true; + bool want_delete = true; + bool want_save = true; if (selected == -2) { Modified: exult/trunk/gumps/Paperdoll_gump.cc =================================================================== --- exult/trunk/gumps/Paperdoll_gump.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/gumps/Paperdoll_gump.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -814,11 +814,15 @@ if ((obj = check_object_arms (mx, my, info, rfinger, lhandx, lhandy, 0))) return obj; if (actor->is_neck_used()) + { if ((obj = check_object (mx, my, info, amulet, bodyx, bodyy, 0, cloak_clasp))) return obj; + } else + { if ((obj = check_object (mx, my, info, cloak, bodyx, bodyy, 0, cloak_clasp))) return obj; + } if ((obj = check_object (mx, my, info, head, headx, heady))) return obj; if ((obj = check_object (mx, my, info, earrings, headx, heady))) @@ -862,11 +866,15 @@ if (check_body (mx, my, info)) return NULL; if (actor->is_neck_used()) + { if ((obj = check_object (mx, my, info, amulet, bodyx, bodyy, 0, cloak))) return obj; + } else + { if ((obj = check_object (mx, my, info, cloak, bodyx, bodyy))) return obj; + } if ((obj = check_object (mx, my, info, backpack, backx, backy))) return obj; if (actor->is_scabbard_used()) Modified: exult/trunk/imagewin/scale_2xSaI.h =================================================================== --- exult/trunk/imagewin/scale_2xSaI.h 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/imagewin/scale_2xSaI.h 2009-03-15 03:13:05 UTC (rev 6045) @@ -133,10 +133,12 @@ for (int y = 0; y < srch; y++, prev1_yoff = sline_pixels) { if (y >= ybeforelast) // Last/next-to-last row? + { if (y == ybeforelast) next2_yoff = sline_pixels; else // Very last line? next2_yoff = next1_yoff = 0; + } Source_pixel *bP = srcPtr; Dest_pixel *dP = dstPtr; @@ -154,10 +156,12 @@ // Last/next-to-last row? if (x >= xbeforelast) + { if (x == xbeforelast) next2_xoff = 1; else next2_xoff = next1_xoff = 0; + } //--------------------------------------- // Map of the pixels: I|E F|J Modified: exult/trunk/mapedit/chunklst.cc =================================================================== --- exult/trunk/mapedit/chunklst.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/mapedit/chunklst.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -494,7 +494,7 @@ ) { Chunk_chooser *chooser = (Chunk_chooser *) data; - chooser->mouse_up(); + return chooser->mouse_up(); } /* Modified: exult/trunk/mapedit/combo.cc =================================================================== --- exult/trunk/mapedit/combo.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/mapedit/combo.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -1578,7 +1578,7 @@ ) { Combo_chooser *chooser = (Combo_chooser *) data; - chooser->mouse_up(); + return chooser->mouse_up(); } /* Modified: exult/trunk/mapedit/npclst.cc =================================================================== --- exult/trunk/mapedit/npclst.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/mapedit/npclst.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -498,7 +498,7 @@ ) { Npc_chooser *chooser = (Npc_chooser *) data; - chooser->mouse_up(); + return chooser->mouse_up(); } /* Modified: exult/trunk/mapedit/shapelst.cc =================================================================== --- exult/trunk/mapedit/shapelst.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/mapedit/shapelst.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -709,7 +709,7 @@ ) { Shape_chooser *chooser = (Shape_chooser *) data; - chooser->mouse_up(); + return chooser->mouse_up(); } /* @@ -1837,7 +1837,7 @@ guchar buf[30]; int file = chooser->ifile->get_u7drag_type(); if (file == U7_SHAPE_UNK) - U7_SHAPE_SHAPES; // Just assume it's shapes.vga. + file = U7_SHAPE_SHAPES; // Just assume it's shapes.vga. Shape_entry& shinfo = chooser->info[chooser->selected]; int len = Store_u7_shapeid(buf, file, shinfo.shapenum, shinfo.framenum); Modified: exult/trunk/mapedit/studio.cc =================================================================== --- exult/trunk/mapedit/studio.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/mapedit/studio.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -880,7 +880,7 @@ else { struct dirent *entry; - while(entry=readdir(dirrd)) + while ((entry=readdir(dirrd))) { char *fname = entry->d_name; int flen = strlen(fname); @@ -1334,7 +1334,7 @@ ext++; DIR *dir = opendir(ppath.c_str());// Get names from 'patch' first. if (dir) { - while(entry=readdir(dir)) { + while ((entry=readdir(dir))) { char *fname = entry->d_name; int flen = strlen(fname); // Ignore case of extension. @@ -1351,7 +1351,7 @@ } dir = opendir(spath.c_str()); // Now go through 'static'. if (dir) { - while(entry=readdir(dir)) { + while ((entry=readdir(dir))) { char *fname = entry->d_name; int flen = strlen(fname); // Ignore case of extension. @@ -2855,6 +2855,7 @@ BaseGameInfo *gameinfo = curr_mod > -1 ? (BaseGameInfo *)basegame->get_mod(curr_mod) : basegame; assert(gameinfo); + return gameinfo; } // List partially copied from Firefox and from GLib's config.charset. Modified: exult/trunk/mapedit/ucbrowse.cc =================================================================== --- exult/trunk/mapedit/ucbrowse.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/mapedit/ucbrowse.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -179,25 +179,28 @@ GtkTreeIter *b, gpointer userdata ) -{ + { gint colnum = GPOINTER_TO_INT(userdata); gint ret = 0; gchar *name1 = 0, *name2 = 0; - gtk_tree_model_get(model, a, colnum, &name1, -1); - gtk_tree_model_get(model, b, colnum, &name2, -1); + gtk_tree_model_get(model, a, colnum, &name1, -1); + gtk_tree_model_get(model, b, colnum, &name2, -1); - if (name1 == NULL || name2 == NULL) { + if (name1 == NULL || name2 == NULL) + { if (name1 == NULL && name2 == NULL) - ret = 0; + ret = 0; else ret = (name1 == NULL) ? -1 : 1; - } else + } + else ret = g_utf8_collate(name1, name2); #if 0 /* This was in the example, but it causes crashes. */ - g_free(name1); - g_free(name2); + g_free(name1); + g_free(name2); #endif -} + return ret; + } /* * Create usecode browser window. Modified: exult/trunk/monsters.cc =================================================================== --- exult/trunk/monsters.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/monsters.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -265,9 +265,9 @@ int prob = rand()%100; int i; for (i = 0; i < 3; i++) - if (prob < monster_mode_odds[inf->m_attackmode][i]) + if (prob < monster_mode_odds[(int)inf->m_attackmode][i]) break; - monster->set_attack_mode(monster_modes[inf->m_attackmode][i]); + monster->set_attack_mode(monster_modes[(int)inf->m_attackmode][i]); // Set temporary if (temporary) monster->set_flag (Obj_flags::is_temporary); Modified: exult/trunk/objs/animate.cc =================================================================== --- exult/trunk/objs/animate.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/objs/animate.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -109,7 +109,7 @@ bool active = channel != -1 ? Mix_Playing(channel) : false; - if (obj->is_pos_invalid() || distance >= 0 && !active) + if (obj->is_pos_invalid() || (distance >= 0 && !active)) { // Quitting time. stop(); return; Modified: exult/trunk/objs/chunks.cc =================================================================== --- exult/trunk/objs/chunks.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/objs/chunks.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -230,10 +230,12 @@ { Shape_info& info = obj->get_info(); if (info.is_door()) // Special door list. + { if (add) doors.insert(obj); else doors.erase(obj); + } int ztiles = info.get_3d_height(); if (!ztiles || !info.is_solid()) return; // Skip if not an obstacle. @@ -874,11 +876,13 @@ if (cache) // Add to cache. cache->update_object(this, newobj, 1); if (ord.info.is_light_source()) // Count light sources. + { if (dungeon_levels && is_dungeon(newobj->get_tx(), newobj->get_ty())) dungeon_lights++; else non_dungeon_lights++; + } if (newobj->get_lift() >= 5) // Looks like a roof? { if (ord.info.get_shape_class() == Shape_info::building) @@ -945,10 +949,12 @@ if (ext_above) gmap->get_chunk(cx, cy - 1)->from_below--; if (info.is_light_source()) // Count light sources. + { if (dungeon_levels && is_dungeon(tx, ty)) dungeon_lights--; else non_dungeon_lights--; + } if (remove == first_nonflat) // First nonflat? { // Update. first_nonflat = remove->get_next(); @@ -1117,10 +1123,12 @@ new_lift, move_flags, max_drop, max_rise)) return 1; if (new_lift != from.tz) + { if (new_lift0 == -1) new_lift0 = new_lift; else if (new_lift != new_lift0) return (1); + } } } // Do vert. block. @@ -1479,10 +1487,12 @@ next.reset(); while ((each = next.get_next()) != 0) if (each->get_info().is_light_source()) + { if (is_dungeon(each->get_tx(), each->get_ty())) dungeon_lights++; else non_dungeon_lights++; + } } } Modified: exult/trunk/objs/citerate.h =================================================================== --- exult/trunk/objs/citerate.h 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/objs/citerate.h 2009-03-15 03:13:05 UTC (rev 6045) @@ -57,6 +57,7 @@ int get_next(Rectangle& intersect, int& cx, int& cy) { if (curcx == stopcx) // End of row? + { if (curcy == stopcy) return (0); else @@ -68,6 +69,7 @@ return 0; curcx = startcx; } + } Rectangle cr(0, 0, c_tiles_per_chunk, c_tiles_per_chunk); // Intersect given rect. with chunk. intersect = cr.intersect(tiles); Modified: exult/trunk/objs/objs.cc =================================================================== --- exult/trunk/objs/objs.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/objs/objs.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -1436,10 +1436,12 @@ inf1.area.h > inf2.area.h) ? 1 : 0; // return 0; // Equal. if (xover & yover & zover) // Complete overlap? + { if (!inf1.zs) // Flat one is always drawn first. return !inf2.zs ? 0 : -1; else if (!inf2.zs) return 1; + } if (xcmp >= 0 && ycmp >= 0 && zcmp >= 0) return 1; // GTE in all dimensions. if (xcmp <= 0 && ycmp <= 0 && zcmp <= 0) @@ -1484,6 +1486,7 @@ return (zover || zcmp <= 0) ? -1 : 0; } else if (ycmp == 1) // o1 Y after o2 Y? + { if (zover || zcmp >= 0) return 1; #if 1 /* So far, this seems to work without causing problems: */ @@ -1494,6 +1497,7 @@ else #endif return 0; + } return 0; } @@ -1547,7 +1551,7 @@ if (exp) exp = 0; int damage = 0; - if (wpoints = 127) + if (wpoints == 127) damage = 127; else { Modified: exult/trunk/schedule.cc =================================================================== --- exult/trunk/schedule.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/schedule.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -551,7 +551,6 @@ { if (obj->as_actor()) { - Shape_info& shinfo = npc->get_info(); Monster_info *minfo = npc->get_info().get_monster_info(); if (!minfo || !minfo->cant_yell()) { @@ -802,10 +801,6 @@ npc->get_tile(), pos, cost); if (pact) { - static char f[] = {Actor::standing, Actor::bow_frame, - Actor::kneel_frame, Actor::kneel_frame, - Actor::kneel_frame, Actor::kneel_frame, - Actor::bow_frame, Actor::standing}; npc->set_action(pact); state = pray; } @@ -1024,7 +1019,7 @@ const int dirs_left[] = {west, north, north, east, east, south, south, west}; const int dirs_right[] = {east, east, south, south, west, west, north, north}; const int *face_dirs; - if (path->get_quality()&31 == 7) + if ((path->get_quality()&31) == 7) face_dirs = dirs_right; else face_dirs = dirs_left; Modified: exult/trunk/server/server.cc =================================================================== --- exult/trunk/server/server.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/server/server.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -471,10 +471,12 @@ unsigned char basic = *ptr; const Game_object_vector& sel = cheat.get_selected(); if (!sel.empty()) + { if (basic) // Basic obj. props? sel.back()->Game_object::edit(); else sel.back()->edit(); + } break; } case Exult_server::set_edit_chunknum: Modified: exult/trunk/shapeid.cc =================================================================== --- exult/trunk/shapeid.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/shapeid.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -81,8 +81,8 @@ */ Shape_manager::Shape_manager ( - ) : can_have_paperdolls(false), got_si_shapes(false), - paperdolls_enabled(false), fonts(0) + ) : fonts(0), can_have_paperdolls(false), + paperdolls_enabled(false), got_si_shapes(false) { assert(instance == 0); instance = this; Modified: exult/trunk/shapes/shapeinf.cc =================================================================== --- exult/trunk/shapes/shapeinf.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/shapes/shapeinf.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -55,8 +55,8 @@ using std::endl; Shape_info::Shape_info() : weight(0), volume(0), - ready_type(-1), alt_ready1(-1), alt_ready2(-1), occludes_flag(false), - spell_flag(false), weapon_offsets(0), armor(0), weapon(0), ammo(0), + ready_type(-1), alt_ready1(-1), alt_ready2(-1), spell_flag(false), + occludes_flag(false), weapon_offsets(0), armor(0), weapon(0), ammo(0), monstinf(0), sfxinf(0), aniinf(0), explosion(0), body(0), npcpaperdoll(0), container_gump(-1), monster_food(-1), mountain_top(0), barge_type(0), actor_flags(0), shape_flags(0), @@ -70,8 +70,8 @@ * Not supported: */ Shape_info::Shape_info(const Shape_info & other) : weight(0), volume(0), - ready_type(-1), alt_ready1(-1), alt_ready2(-1), occludes_flag(false), - spell_flag(false), weapon_offsets(0), armor(0), weapon(0), ammo(0), + ready_type(-1), alt_ready1(-1), alt_ready2(-1), spell_flag(false), + occludes_flag(false), weapon_offsets(0), armor(0), weapon(0), ammo(0), monstinf(0), sfxinf(0), aniinf(0), explosion(0), body(0), npcpaperdoll(0), container_gump(-1), monster_food(-1), mountain_top(0), barge_type(0), actor_flags(0), shape_flags(0), Modified: exult/trunk/shapes/shapewrite.cc =================================================================== --- exult/trunk/shapes/shapewrite.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/shapes/shapewrite.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -866,7 +866,7 @@ (m_can_be_invisible ? (1<<2) : 0); *ptr++ = 0; // Unknown. int sfx_delta = bg ? -1 : 0; - *ptr++ = (signed char)(sfx&0xff - sfx_delta); + *ptr++ = (signed char)((sfx&0xff) - sfx_delta); out.write((char *) buf, sizeof(buf)); } Modified: exult/trunk/usecode/compiler/ucparse.yy =================================================================== --- exult/trunk/usecode/compiler/ucparse.yy 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/usecode/compiler/ucparse.yy 2009-03-15 03:13:05 UTC (rev 6045) @@ -650,10 +650,7 @@ enum_val = val; // In case we're in an enum. } else - { - char buf[180]; yyerror("Integer constant expected."); - } } ; Modified: exult/trunk/usecode/compiler/ucstmt.cc =================================================================== --- exult/trunk/usecode/compiler/ucstmt.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/usecode/compiler/ucstmt.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -717,6 +717,7 @@ Uc_converse_case_statement *stmt = dynamic_cast<Uc_converse_case_statement *>(*it); if (stmt->is_default()) + { if (has_default) { char buf[255]; @@ -725,6 +726,7 @@ } else has_default = true; + } } } @@ -885,6 +887,7 @@ Uc_switch_case_statement *stmt = dynamic_cast<Uc_switch_case_statement *>(*it); if (stmt->is_default()) + { if (has_default) { char buf[255]; @@ -893,6 +896,7 @@ } else has_default = true; + } } } Modified: exult/trunk/usecode/intrinsics.cc =================================================================== --- exult/trunk/usecode/intrinsics.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/usecode/intrinsics.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -2505,14 +2505,14 @@ Actor *npc = obj->as_actor(); Monster_info *inf = obj->get_info().get_monster_info(); return Usecode_value((inf != 0 && inf->power_safe()) || - npc && npc->check_gear_powers(Frame_powers::power_safe)); + (npc && npc->check_gear_powers(Frame_powers::power_safe))); } else if (fnum == (int) Obj_flags::cant_die) { Actor *npc = obj->as_actor(); Monster_info *inf = obj->get_info().get_monster_info(); return Usecode_value((inf != 0 && inf->death_safe()) || - npc && npc->check_gear_powers(Frame_powers::death_safe)); + (npc && npc->check_gear_powers(Frame_powers::death_safe))); } // +++++0x18 is used in testing for // blocked gangplank. What is it????? Modified: exult/trunk/usecode/ucinternal.cc =================================================================== --- exult/trunk/usecode/ucinternal.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/usecode/ucinternal.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -2022,7 +2022,7 @@ bool aborted = false; bool initializing_loop = false; - while (frame = call_stack.front()) + while ((frame = call_stack.front())) { int num_locals = frame->num_vars + frame->num_args; int offset; Modified: exult/trunk/usecode/useval.cc =================================================================== --- exult/trunk/usecode/useval.cc 2009-03-15 01:51:51 UTC (rev 6044) +++ exult/trunk/usecode/useval.cc 2009-03-15 03:13:05 UTC (rev 6045) @@ -93,7 +93,7 @@ value.str = v2.value.str ? newstrdup(v2.value.str) : 0; break; case array_type: - value.array.cnt = v2.value.array.cnt; + value.array.cnt = v2.value.array.cnt; value.array.elems = new Usecode_value[value.array.cnt]; for (int i = 0; i < value.array.cnt; ++i) value.array.elems[i] = v2.value.array.elems[i]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-15 14:54:33
|
Revision: 6047 http://exult.svn.sourceforge.net/exult/?rev=6047&view=rev Author: marzojr Date: 2009-03-15 14:54:27 +0000 (Sun, 15 Mar 2009) Log Message: ----------- Reverted previous commit and fixed the true underlying problem of incorrect assignment operator. Also removed misinformation from changelog. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/files/U7obj.h Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-15 03:35:15 UTC (rev 6046) +++ exult/trunk/ChangeLog 2009-03-15 14:54:27 UTC (rev 6047) @@ -1,3 +1,8 @@ +2009-03-15 Marzo Sette Torres Junior <ma...@ya...> + * files/U7objs.h: Reverted previous commit and fixed the true underlying + problem of incorrect assignment operator. Also removed misinformation + from changelog. + 2009-03-14 Marzo Sette Torres Junior <ma...@ya...> * actors.cc: Fixed bug #2687078. * objs/eggs.cc: Check mapeditor flag first. @@ -5,7 +10,7 @@ overall rotation function. * shapeid.h: Implemented simple cache for shape information, wasting memory for performance. - * files/U7obj.h: Fixing memory leak ("delete [] NULL" is NOT harmless). + * files/U7obj.h: Fixing memory leak. * shapes/*.h: Fixed memory leaks. * Fixed several warnings, including a mistaken assignment in an if and many missing return values in non-void functions. Modified: exult/trunk/files/U7obj.h =================================================================== --- exult/trunk/files/U7obj.h 2009-03-15 03:35:15 UTC (rev 6046) +++ exult/trunk/files/U7obj.h 2009-03-15 14:54:27 UTC (rev 6047) @@ -71,9 +71,20 @@ name = other.name; } ~File_spec() - { if (ownstr && name) delete [] name; } + { if (ownstr) delete [] name; } const File_spec& operator=(const File_spec& other) - { name = other.name; index = other.index; return *this; } + { + if (this != &other) + { + index = other.index; + ownstr = other.ownstr; + if (ownstr) + name = newstrdup(other.name); + else + name = other.name; + } + return *this; + } bool operator<(const File_spec& other) const { //int cmp = name.compare(other.name); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-15 18:46:58
|
Revision: 6048 http://exult.svn.sourceforge.net/exult/?rev=6048&view=rev Author: marzojr Date: 2009-03-15 18:46:39 +0000 (Sun, 15 Mar 2009) Log Message: ----------- schedule.cc: Fixed excessive processor usage in the boat travel to Moonshade in SI. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/schedule.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-15 14:54:27 UTC (rev 6047) +++ exult/trunk/ChangeLog 2009-03-15 18:46:39 UTC (rev 6048) @@ -2,6 +2,8 @@ * files/U7objs.h: Reverted previous commit and fixed the true underlying problem of incorrect assignment operator. Also removed misinformation from changelog. + * schedule.cc: Fixed excessive processor usage in the boat travel to + Moonshade in SI. 2009-03-14 Marzo Sette Torres Junior <ma...@ya...> * actors.cc: Fixed bug #2687078. Modified: exult/trunk/schedule.cc =================================================================== --- exult/trunk/schedule.cc 2009-03-15 14:54:27 UTC (rev 6047) +++ exult/trunk/schedule.cc 2009-03-15 18:46:39 UTC (rev 6048) @@ -2639,17 +2639,25 @@ ( int min_delay // Min. delay in msecs. ) -{ - if (customer) { - Tile_coord dest = Map_chunk::find_spot(customer->get_tile(), - 3, npc); - if (dest.tx != -1 && npc->walk_path_to_tile(dest, - gwin->get_std_delay(), min_delay + rand()%1000)) - return true; // Walking there. - } + { + if (customer) + { + if (customer->get_schedule_type() != Schedule::eat_at_inn) + // Customer schedule changed. Tell schedule to refresh the list + // (this happens with Hawk & others in SI). + customers.clear(); + else + { + Tile_coord dest = Map_chunk::find_spot(customer->get_tile(), + 3, npc); + if (dest.tx != -1 && npc->walk_path_to_tile(dest, + gwin->get_std_delay(), min_delay + rand()%1000)) + return true; // Walking there. + } + } npc->start(200, 2000 + rand()%4000); // Failed so try again later. return false; -} + } /* * Find tables and categorize them. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-27 12:11:35
|
Revision: 6049 http://exult.svn.sourceforge.net/exult/?rev=6049&view=rev Author: marzojr Date: 2009-03-27 12:11:28 +0000 (Fri, 27 Mar 2009) Log Message: ----------- * Fixed bug #2694945. * Fixed incorrect tag written by ES when setting title/codepage. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc exult/trunk/actors.h exult/trunk/combat.cc exult/trunk/mapedit/studio.cc exult/trunk/objs/contain.cc exult/trunk/objs/contain.h exult/trunk/objs/objs.cc exult/trunk/objs/objs.h Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/ChangeLog 2009-03-27 12:11:28 UTC (rev 6049) @@ -1,9 +1,6 @@ 2009-03-15 Marzo Sette Torres Junior <ma...@ya...> - * files/U7objs.h: Reverted previous commit and fixed the true underlying - problem of incorrect assignment operator. Also removed misinformation - from changelog. - * schedule.cc: Fixed excessive processor usage in the boat travel to - Moonshade in SI. + * Fixed bug #2694945. + * Fixed incorrect tag written by ES when setting title/codepage. 2009-03-14 Marzo Sette Torres Junior <ma...@ya...> * actors.cc: Fixed bug #2687078. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/actors.cc 2009-03-27 12:11:28 UTC (rev 6049) @@ -3491,8 +3491,9 @@ Game_object *obj, bool dont_check, // 1 to skip volume check (AND also // to skip usecode call). - bool combine // True to try to combine obj. MAY + bool combine, // True to try to combine obj. MAY // cause obj to be deleted. + bool noset // True to prevent actors from setting sched. weapon. ) { @@ -3552,7 +3553,7 @@ } spots[index] = obj; // Store in correct spot. - if (index == lhand && schedule) + if (index == lhand && schedule && !noset) schedule->set_weapon(); // Tell combat-schedule about it. obj->set_shape_pos(0, 0); // Clear coords. (set by gump). if (!dont_check) @@ -3580,7 +3581,8 @@ Game_object *obj, int index, // Spot #. int dont_check, - int force_pos + int force_pos, + bool noset ) { // Is Out of range? @@ -3633,7 +3635,7 @@ gear_immunities |= info.get_armor_immunity(); gear_powers |= info.get_object_powers(obj->get_framenum()); - if (index == lhand && schedule) + if (index == lhand && schedule && !noset) schedule->set_weapon(); // Tell combat-schedule about it. return 1; } Modified: exult/trunk/actors.h =================================================================== --- exult/trunk/actors.h 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/actors.h 2009-03-27 12:11:28 UTC (rev 6049) @@ -503,9 +503,10 @@ virtual void remove(Game_object *obj); // Add an object. virtual bool add(Game_object *obj, bool dont_check = false, - bool combine = false); + bool combine = false, bool noset = false); // Add to NPC 'readied' spot. - virtual int add_readied(Game_object *obj, int index, int dont_check = 0, int force_pos = 0); + virtual int add_readied(Game_object *obj, int index, + int dont_check = 0, int force_pos = 0, bool noset = false); virtual int find_readied(Game_object *obj); virtual Game_object *get_readied(int index) const { Modified: exult/trunk/combat.cc =================================================================== --- exult/trunk/combat.cc 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/combat.cc 2009-03-27 12:11:28 UTC (rev 6049) @@ -1214,7 +1214,7 @@ !npc->add_readied(weapon, back_shield, 1) && !npc->add_readied(weapon, rhand, 1) && !npc->add_readied(weapon, backpack, 1)) - npc->add(weapon); + npc->add(weapon, false, false, true); } } Modified: exult/trunk/mapedit/studio.cc =================================================================== --- exult/trunk/mapedit/studio.cc 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/mapedit/studio.cc 2009-03-27 12:11:28 UTC (rev 6049) @@ -2947,7 +2947,7 @@ Configuration *cfg; string root; bool ismod = gameinfo->get_config_file(cfg, root); - cfg->set(root + (ismod ? "mod_title" : "title"), menustr, true); + cfg->set(root + (ismod ? "display_string" : "title"), menustr, true); cfg->set(root + "codepage", enc, true); if (ismod) delete cfg; Modified: exult/trunk/objs/contain.cc =================================================================== --- exult/trunk/objs/contain.cc 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/objs/contain.cc 2009-03-27 12:11:28 UTC (rev 6049) @@ -116,8 +116,9 @@ ( Game_object *obj, bool dont_check, // 1 to skip volume/recursion check. - bool combine // True to try to combine obj. MAY + bool combine, // True to try to combine obj. MAY // cause obj to be deleted. + bool noset // True to prevent actors from setting sched. weapon. ) { // Prevent dragging the avatar into a container. Modified: exult/trunk/objs/contain.h =================================================================== --- exult/trunk/objs/contain.h 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/objs/contain.h 2009-03-27 12:11:28 UTC (rev 6049) @@ -58,7 +58,7 @@ virtual void remove(Game_object *obj); // Add an object. virtual bool add(Game_object *obj, bool dont_check = false, - bool combine = false); + bool combine = false, bool noset = false); // Change member shape. virtual void change_member_shape(Game_object *obj, int newshape); // Find object's spot. Modified: exult/trunk/objs/objs.cc =================================================================== --- exult/trunk/objs/objs.cc 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/objs/objs.cc 2009-03-27 12:11:28 UTC (rev 6049) @@ -1307,8 +1307,9 @@ ( Game_object *obj, bool dont_check, // 1 to skip volume/recursion check. - bool combine // True to try to combine obj. MAY + bool combine, // True to try to combine obj. MAY // cause obj to be deleted. + bool noset // True to prevent actors from setting sched. weapon. ) { return combine ? drop(obj)!=0 : false; Modified: exult/trunk/objs/objs.h =================================================================== --- exult/trunk/objs/objs.h 2009-03-15 18:46:39 UTC (rev 6048) +++ exult/trunk/objs/objs.h 2009-03-27 12:11:28 UTC (rev 6049) @@ -276,10 +276,11 @@ { return 0; } // Add an object. virtual bool add(Game_object *obj, bool dont_check = false, - bool combine = false); + bool combine = false, bool noset = false); // Add to NPC 'ready' spot. - virtual int add_readied(Game_object *obj, int index, int dont_check = 0, int force_pos = 0) - { return add(obj, dont_check!=0); } + virtual int add_readied(Game_object *obj, int index, + int dont_check = 0, int force_pos = 0, bool noset = false) + { return add(obj, dont_check!=0, false, noset); } virtual int add_quantity(int delta, int shapenum, int qual = c_any_qual, int framenum = c_any_framenum, int dontcreate = 0) { return delta; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-27 15:38:04
|
Revision: 6050 http://exult.svn.sourceforge.net/exult/?rev=6050&view=rev Author: marzojr Date: 2009-03-27 15:37:47 +0000 (Fri, 27 Mar 2009) Log Message: ----------- Fixed bug #2716264. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/shapes/shapevga.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-27 12:11:28 UTC (rev 6049) +++ exult/trunk/ChangeLog 2009-03-27 15:37:47 UTC (rev 6050) @@ -1,5 +1,6 @@ 2009-03-15 Marzo Sette Torres Junior <ma...@ya...> * Fixed bug #2694945. + * Fixed bug #2716264. * Fixed incorrect tag written by ES when setting title/codepage. 2009-03-14 Marzo Sette Torres Junior <ma...@ya...> Modified: exult/trunk/shapes/shapevga.cc =================================================================== --- exult/trunk/shapes/shapevga.cc 2009-03-27 12:11:28 UTC (rev 6049) +++ exult/trunk/shapes/shapevga.cc 2009-03-27 15:37:47 UTC (rev 6050) @@ -171,8 +171,11 @@ { int shapenum = ReadInt(in); // For backwards compatibility. - if (!patch || ReadInt(in, 1) != 0) - info[shapenum].*data |= (1 << bit); + bool biton = ReadInt(in, 1) != 0; + if (biton) + info[shapenum].*data |= ((T)1 << bit); + else + info[shapenum].*data &= ~((T)1 << bit); return shapenum; } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-03-28 04:11:01
|
Revision: 6051 http://exult.svn.sourceforge.net/exult/?rev=6051&view=rev Author: marzojr Date: 2009-03-28 04:10:58 +0000 (Sat, 28 Mar 2009) Log Message: ----------- Fixed bugs #2717401, #2717420 and possibly many others not reported yet. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/monsters.cc exult/trunk/monsters.h exult/trunk/objs/barge.cc exult/trunk/objs/barge.h exult/trunk/objs/contain.cc exult/trunk/objs/contain.h exult/trunk/objs/jawbone.cc exult/trunk/objs/jawbone.h exult/trunk/usecode/ucinternal.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/ChangeLog 2009-03-28 04:10:58 UTC (rev 6051) @@ -1,4 +1,7 @@ -2009-03-15 Marzo Sette Torres Junior <ma...@ya...> +2009-03-28 Marzo Sette Torres Junior <ma...@ya...> + * Fixed bugs #2717401, #2717420 and possibly many others not reported yet. + +2009-03-27 Marzo Sette Torres Junior <ma...@ya...> * Fixed bug #2694945. * Fixed bug #2716264. * Fixed incorrect tag written by ES when setting title/codepage. Modified: exult/trunk/monsters.cc =================================================================== --- exult/trunk/monsters.cc 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/monsters.cc 2009-03-28 04:10:58 UTC (rev 6051) @@ -409,12 +409,13 @@ ( Game_object *obj, bool dont_check, // 1 to skip volume check. - bool combine // True to try to combine obj. MAY + bool combine, // True to try to combine obj. MAY // cause obj to be deleted. + bool noset // True to prevent actors from setting sched. weapon. ) { // Try to add to 'readied' spot. - if (Npc_actor::add(obj, true, combine)) + if (Npc_actor::add(obj, true, combine, noset)) return (true); // Successful. // Just add anything. return Container_game_object::add(obj, true, combine); Modified: exult/trunk/monsters.h =================================================================== --- exult/trunk/monsters.h 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/monsters.h 2009-03-28 04:10:58 UTC (rev 6051) @@ -65,7 +65,7 @@ virtual void move(int newtx, int newty, int newlift, int newmap = -1); // Add an object. virtual bool add(Game_object *obj, bool dont_check = false, - bool combine = false); + bool combine = false, bool noset = false); virtual int get_armor_points(); // Get total armor value. // Get total weapon value. virtual Weapon_info *get_weapon(int& points, int& shape, Modified: exult/trunk/objs/barge.cc =================================================================== --- exult/trunk/objs/barge.cc 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/objs/barge.cc 2009-03-28 04:10:58 UTC (rev 6051) @@ -716,8 +716,9 @@ ( Game_object *obj, bool dont_check, - bool combine // True to try to combine obj. MAY + bool combine, // True to try to combine obj. MAY // cause obj to be deleted. + bool noset // True to prevent actors from setting sched. weapon. ) { objects.push_back(obj); // Add to list. Modified: exult/trunk/objs/barge.h =================================================================== --- exult/trunk/objs/barge.h 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/objs/barge.h 2009-03-28 04:10:58 UTC (rev 6051) @@ -102,7 +102,7 @@ virtual void remove(Game_object *obj); // Add an object. virtual bool add(Game_object *obj, bool dont_check = false, - bool combine = false); + bool combine = false, bool noset = false); bool contains(Game_object *obj); // Drop another onto this. virtual int drop(Game_object *obj); Modified: exult/trunk/objs/contain.cc =================================================================== --- exult/trunk/objs/contain.cc 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/objs/contain.cc 2009-03-28 04:10:58 UTC (rev 6051) @@ -842,21 +842,20 @@ } -bool Container_game_object::extract_contents() +bool Container_game_object::extract_contents(Container_game_object *targ) { if (objects.is_empty()) return true; bool status = true; - Container_game_object *owner = get_owner(); Game_object *obj; while ((obj = objects.get_first())) { remove(obj); - if (owner) { - owner->add(obj,1); // add without checking volume + if (targ) { + targ->add(obj,1); // add without checking volume } else { obj->set_invalid(); // set to invalid chunk so move() doesn't fail if ((get_cx() == 255) && (get_cy() == 255)) { @@ -887,15 +886,18 @@ void Container_game_object::remove_this(int nodel) { + // Needs to be saved, as it is invalidated below but needed + // shortly after. + Container_game_object *safe_owner = Container_game_object::get_owner(); // Special case to avoid recursion. - if (Container_game_object::get_owner()) + if (safe_owner) { // First remove from owner. Ireg_game_object::remove_this(1); if (nodel) // Not deleting? Then done. return; } if (!nodel) - extract_contents(); + extract_contents(safe_owner); Ireg_game_object::remove_this(nodel); } Modified: exult/trunk/objs/contain.h =================================================================== --- exult/trunk/objs/contain.h 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/objs/contain.h 2009-03-28 04:10:58 UTC (rev 6051) @@ -107,7 +107,7 @@ virtual Game_object *find_weapon_ammo(int weapon, int needed = 1, bool recursive = false); - bool extract_contents(); + bool extract_contents(Container_game_object *targ); virtual void delete_contents(); Modified: exult/trunk/objs/jawbone.cc =================================================================== --- exult/trunk/objs/jawbone.cc 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/objs/jawbone.cc 2009-03-28 04:10:58 UTC (rev 6051) @@ -24,7 +24,14 @@ #include "objiter.h" // Add an object. -bool Jawbone_object::add(Game_object *obj, bool dont_check, bool combine) +bool Jawbone_object::add + ( + Game_object *obj, + bool dont_check, // 1 to skip volume/recursion check. + bool combine, // True to try to combine obj. MAY + // cause obj to be deleted. + bool noset // True to prevent actors from setting sched. weapon. + ) { if (!Container_game_object::add(obj, dont_check, combine)) return false; // Can't be added to. Modified: exult/trunk/objs/jawbone.h =================================================================== --- exult/trunk/objs/jawbone.h 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/objs/jawbone.h 2009-03-28 04:10:58 UTC (rev 6051) @@ -36,7 +36,7 @@ // Add an object. virtual bool add(Game_object *obj, bool dont_check = false, - bool combine = false); + bool combine = false, bool noset = false); // Remove an object. virtual void remove(Game_object *obj); Modified: exult/trunk/usecode/ucinternal.cc =================================================================== --- exult/trunk/usecode/ucinternal.cc 2009-03-27 15:37:47 UTC (rev 6050) +++ exult/trunk/usecode/ucinternal.cc 2009-03-28 04:10:58 UTC (rev 6051) @@ -525,12 +525,15 @@ if (val < 0x400 && !itemref.is_array() && caller_item && val == caller_item->get_shapenum()) obj = caller_item; +#if 0 + // NO! BAD! Causes weird bug with Celia & slain wolf (and maybe others). else if (val < gwin->get_num_npcs() && // Try as NPC. (val < 356 || val > 359)) // Avoid these special cases. { obj = gwin->get_npc(val); CERR("Warning: interpreting positive integer as NPCnum"); } +#endif else return NULL; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <la...@us...> - 2009-04-01 02:30:40
|
Revision: 6054 http://exult.svn.sourceforge.net/exult/?rev=6054&view=rev Author: lanica Date: 2009-04-01 02:30:25 +0000 (Wed, 01 Apr 2009) Log Message: ----------- * Added the Windows Mobile 6.0 Professional SDK (ARMV4I) platform to MSV9 and tested. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/msvc9/Exult.sln exult/trunk/msvc9/Exult.vcproj exult/trunk/msvc9/Exult_bg_flx.vcproj exult/trunk/msvc9/Exult_flx.vcproj exult/trunk/msvc9/Exult_si_flx.vcproj exult/trunk/msvc9/Zip.vcproj exult/trunk/msvc9/exconfig/exconfig.vcproj exult/trunk/msvc9/expack.vcproj exult/trunk/msvc9/mklink.vcproj exult/trunk/msvc9/pocketpc_flx.vcproj exult/trunk/msvc9/rip.vcproj exult/trunk/msvc9/shp2pcx.vcproj exult/trunk/msvc9/splitshp.vcproj exult/trunk/msvc9/ucdump.vcproj exult/trunk/msvc9/wuc.vcproj exult/trunk/msvc9/wud.vcproj Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-03-30 06:05:10 UTC (rev 6053) +++ exult/trunk/ChangeLog 2009-04-01 02:30:25 UTC (rev 6054) @@ -1,3 +1,7 @@ +2009-03-31 Lanica Dragon (Phillip T. George <me@PhillipGeorge.com>) + * Added the Windows Mobile 6.0 Professional SDK (ARMV4I) platform to + MSV9 and tested. + 2009-03-29 Lanica Dragon (Phillip T. George <me@PhillipGeorge.com>) * Made it so MSVC9 could compile Exult (just tested for Pocket PC 2003 (ARMV4) and Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Releases Modified: exult/trunk/msvc9/Exult.sln =================================================================== --- exult/trunk/msvc9/Exult.sln 2009-03-30 06:05:10 UTC (rev 6053) +++ exult/trunk/msvc9/Exult.sln 2009-04-01 02:30:25 UTC (rev 6054) @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio Codename Orcas +# Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Exult", "Exult.vcproj", "{0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}" ProjectSection(ProjectDependencies) = postProject {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB} = {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB} @@ -56,21 +56,25 @@ Debug Install|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug Install|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Debug Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) = Debug Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) Debug|Pocket PC 2003 (ARMV4) = Debug|Pocket PC 2003 (ARMV4) Debug|Win32 = Debug|Win32 Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + Debug|Windows Mobile 6 Professional SDK (ARMV4I) = Debug|Windows Mobile 6 Professional SDK (ARMV4I) Release Install|Pocket PC 2003 (ARMV4) = Release Install|Pocket PC 2003 (ARMV4) Release Install|Win32 = Release Install|Win32 Release Install|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release Install|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Release Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) = Release Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + Release Install|Windows Mobile 6 Professional SDK (ARMV4I) = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) Release|Pocket PC 2003 (ARMV4) = Release|Pocket PC 2003 (ARMV4) Release|Win32 = Release|Win32 Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) Release|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV5I) Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + Release|Windows Mobile 6 Professional SDK (ARMV4I) = Release|Windows Mobile 6 Professional SDK (ARMV4I) EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) @@ -87,6 +91,9 @@ {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -101,6 +108,9 @@ {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -115,6 +125,9 @@ {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -129,6 +142,9 @@ {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {0451A879-8AB7-4AD0-A559-CC3EC4DA9A50}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -143,6 +159,9 @@ {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -157,6 +176,9 @@ {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -171,6 +193,9 @@ {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -185,6 +210,9 @@ {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {0E58490B-9F02-4FB6-8D39-18C9DAD87CCB}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -199,6 +227,9 @@ {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -213,6 +244,9 @@ {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -227,6 +261,9 @@ {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -241,6 +278,9 @@ {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {C8853EC2-3A90-4020-976E-D5FBE12B9265}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -255,6 +295,9 @@ {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -269,6 +312,9 @@ {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -283,6 +329,9 @@ {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -297,6 +346,9 @@ {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {39A7A7D1-834B-4A01-B321-3D14A359BC88}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -311,6 +363,9 @@ {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -325,6 +380,9 @@ {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -339,6 +397,9 @@ {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -353,6 +414,9 @@ {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {3BA72F61-852F-47A5-8E50-2B433FE77638}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -363,6 +427,9 @@ {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -377,6 +444,9 @@ {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -387,6 +457,9 @@ {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Windows Mobile 5.0 Pocket PC SDK (ARMV5I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Pocket PC 2003 (ARMV4) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -401,6 +474,9 @@ {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Win32 + {852E48BB-7F79-47B5-A0F6-7CDA87A8AFAD}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Win32 {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -415,6 +491,9 @@ {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -429,6 +508,9 @@ {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -443,6 +525,9 @@ {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -457,6 +542,9 @@ {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Win32 + {C9D55119-2372-43A8-A3B2-1BFB6997AE4D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Win32 {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -471,6 +559,9 @@ {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -485,6 +576,9 @@ {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -499,6 +593,9 @@ {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -513,6 +610,9 @@ {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Win32 + {5B194FF1-6CD9-4111-B2A9-BD00EBA77A1E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Win32 {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -527,6 +627,9 @@ {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -541,6 +644,9 @@ {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -555,6 +661,9 @@ {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -569,6 +678,9 @@ {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Win32 + {2B89F9A9-3794-4665-9723-5D18868A36AD}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Win32 {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -583,6 +695,9 @@ {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -597,6 +712,9 @@ {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -611,6 +729,9 @@ {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -625,6 +746,9 @@ {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Win32 + {33C9A31A-78A6-48DF-A948-8054B65EC121}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Win32 {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Install|Pocket PC 2003 (ARMV4) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Pocket PC 2003 (ARMV4).Build.0 = Debug Install|Pocket PC 2003 (ARMV4) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Install|Pocket PC 2003 (ARMV4) @@ -639,6 +763,9 @@ {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug Install|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Install|Windows Mobile 6 Professional SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Win32 {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Win32 @@ -653,6 +780,9 @@ {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Pocket PC 2003 (ARMV4).ActiveCfg = Release Install|Pocket PC 2003 (ARMV4) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Pocket PC 2003 (ARMV4).Build.0 = Release Install|Pocket PC 2003 (ARMV4) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Pocket PC 2003 (ARMV4).Deploy.0 = Release Install|Pocket PC 2003 (ARMV4) @@ -667,6 +797,9 @@ {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Install|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Install|Windows Mobile 6 Professional SDK (ARMV4I) + {44FA98BB-5816-43F8-BFCD-3B6270D64BE2}.Release Install|Windows Mobile 6 Profe... [truncated message content] |
From: <ki...@us...> - 2009-04-05 07:07:40
|
Revision: 6055 http://exult.svn.sourceforge.net/exult/?rev=6055&view=rev Author: kirben Date: 2009-04-05 07:07:23 +0000 (Sun, 05 Apr 2009) Log Message: ----------- Enable Fluidsynth and MT32 emulation by default, in win32 builds. Modified Paths: -------------- exult/trunk/Makefile.common exult/trunk/Makefile.mingw Modified: exult/trunk/Makefile.common =================================================================== --- exult/trunk/Makefile.common 2009-04-01 02:30:25 UTC (rev 6054) +++ exult/trunk/Makefile.common 2009-04-05 07:07:23 UTC (rev 6055) @@ -29,8 +29,8 @@ # Note we now always compile all midi drivers MIDI_DRV_OBJS=ALSAMidiDriver.o amiga_midi.o be_midi.o CoreAudioMidiDriver.o \ - FileMidiDriver.o fmopl.o FMOplMidiDriver.o forked_player.o KMIDI.o \ - LowLevelMidiDriver.o MidiDriver.o mixer_midiout.o MT32EmuMidiDriver.o \ + FileMidiDriver.o FluidSynthMidiDriver.o fmopl.o FMOplMidiDriver.o forked_player.o \ + KMIDI.o LowLevelMidiDriver.o MidiDriver.o mixer_midiout.o MT32EmuMidiDriver.o \ TimidityMidiDriver.o UnixSeqMidiDriver.o WindowsMidiDriver.o \ XMidiEventList.o XMidiFile.o XMidiSequence.o $(TIMIDITY_OBJS) $(MT32EMU_OBJS) Modified: exult/trunk/Makefile.mingw =================================================================== --- exult/trunk/Makefile.mingw 2009-04-01 02:30:25 UTC (rev 6054) +++ exult/trunk/Makefile.mingw 2009-04-05 07:07:23 UTC (rev 6055) @@ -66,15 +66,11 @@ DEF_DEBUG=-DDEBUG endif -ifdef MT32EMU - USE_MT32EMU_MIDI=-DUSE_MT32EMU_MIDI -endif - ifdef USECODE_CONTAINER SHOW_USECODE_CONTAINER=-DSHOW_USECODE_CONTAINER endif -EXTRA_OPTIONS=$(DEBUG_LEVEL) $(DEF_DEBUG) $(USE_MT32EMU_MIDI) $(SHOW_USECODE_CONTAINER) +EXTRA_OPTIONS=$(DEBUG_LEVEL) $(DEF_DEBUG) $(SHOW_USECODE_CONTAINER) CPPFLAGS=$(strip -DVERSION=\"$(VERSION)\" -DEXULT_DATADIR=\"data\" -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 \ -I$(SRC) -I$(SRC)/audio -I$(SRC)/audio/midi_drivers -I$(SRC)/conf -I$(SRC)/data \ @@ -92,14 +88,14 @@ OPT_LEVEL= endif -CXXFLAGS=$(strip $(OPT_LEVEL) -Wno-long-long -mms-bitfields -DHAVE_SNPRINTF -DHAVE_EXT_HASH_MAP -DHAVE_EXT_HASH_SET -DHAVE_SSTREAM -DUSE_FMOPL_MIDI) +CXXFLAGS=$(strip $(OPT_LEVEL) -Wno-long-long -mms-bitfields -DHAVE_SNPRINTF -DHAVE_EXT_HASH_MAP -DHAVE_EXT_HASH_SET -DHAVE_SSTREAM -DUSE_FMOPL_MIDI -DUSE_MT32EMU_MIDI -DUSE_FLUIDSYNTH_MIDI) CXX=g++ CFLAGS=$(strip $(OPT_LEVEL) -mms-bitfields) CC=gcc LFLAGS= -LIBS=-lmingw32 $(SDL_LIBS) $(ZIP_LIBS) -lwinmm -lole32 -luuid -lws2_32 -mwindows +LIBS=-lmingw32 $(SDL_LIBS) $(ZIP_LIBS) -lfluidsynth -ldsound -lwinmm -lole32 -luuid -lws2_32 -mwindows EXEC=Exult.exe EXEEXT=.exe @@ -110,12 +106,10 @@ ES_SERVER_OBJS=objserial.o servemsg.o servewin32.o -MAPEDIT_OBJS=bargeedit.o chunklst.o combo.o eggedit.o compile.o execbox.o \ - exult_studio.o locator.o maps.o \ - npcedit.o npclst.o objbrowse.o objedit.o contedit.o paledit.o \ - shapedraw.o shapefile.o shapegroup.o \ - shapeedit.o shapelst.o studio.o ucbrowse.o \ - ucsymtbl.o +MAPEDIT_OBJS=bargeedit.o chunklst.o combo.o contedit.o eggedit.o compile.o \ + execbox.o exult_studio.o locator.o maps.o npcedit.o npclst.o \ + objbrowse.o objedit.o paledit.o shapedraw.o shapeedit.o shapefile.o \ + shapegroup.o shapelst.o studio.o ucbrowse.o ucsymtbl.o ES_FILES_OBJS=Flat.o Flex.o IFF.o listfiles.o msgfile.o Table.o U7file.o U7fileman.o utils.o U7obj.o @@ -123,10 +117,10 @@ ES_IMAGEWIN_OBJS=ibuf8.o imagebuf.o -ES_SHAPES_OBJS=font.o fontgen.o fontvga.o items.o pngio.o shapeinf.o shapevga.o \ - shapewrite.o u7drag.o vgafile.o ammoinf.o aniinf.o armorinf.o bodyinf.o \ - continf.o effhpinf.o expinf.o frnameinf.o monstinf.o npcdollinf.o objdollinf.o \ - sfxinf.o warminf.o weaponinf.o frpowers.o +ES_SHAPES_OBJS=ammoinf.o aniinf.o armorinf.o bodyinf.o continf.o effhpinf.o \ + expinf.o font.o fontgen.o fontvga.o frnameinf.o frpowers.o items.o \ + monstinf.o npcdollinf.o objdollinf.o pngio.o sfxinf.o shapeinf.o \ + shapewrite.o shapevga.o u7drag.o vgafile.o warminf.o weaponinf.o MISC_OBJS=exultstudioico.o windrag.o This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-04-06 14:34:58
|
Revision: 6056 http://exult.svn.sourceforge.net/exult/?rev=6056&view=rev Author: marzojr Date: 2009-04-06 14:34:46 +0000 (Mon, 06 Apr 2009) Log Message: ----------- Prevent exclusive gloves from going to the gloves spot due to paperdoll data. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-04-05 07:07:23 UTC (rev 6055) +++ exult/trunk/ChangeLog 2009-04-06 14:34:46 UTC (rev 6056) @@ -1,3 +1,7 @@ +2009-04-06 Marzo Sette Torres Junior <ma...@ya...> + * Prevent exclusive gloves from going to the gloves spot due to paperdoll + data. + 2009-03-31 Lanica Dragon (Phillip T. George <me@PhillipGeorge.com>) * Added the Windows Mobile 6.0 Professional SDK (ARMV4I) platform to MSV9 and tested. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-04-05 07:07:23 UTC (rev 6055) +++ exult/trunk/actors.cc 2009-04-06 14:34:46 UTC (rev 6056) @@ -1618,8 +1618,9 @@ // If want to use 2h or a 2h is already equiped, can't go in right else if ((rtype == both_hands || two_handed) && spot == rhand) return false; - // If want to use 2f or a 2f is already equiped, can't go in right - else if ((rtype == lrgloves || two_fingered) && spot == rfinger) + // If want to use 2f or a 2f is already equiped, can't go in right or gloves + else if ((rtype == lrgloves || two_fingered) && + (spot == rfinger || spot == gloves)) return false; // If want to use scabbard or a scabbard is already equiped, can't go in others else if ((can_scabbard || use_scabbard) && This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-04-07 23:47:10
|
Revision: 6057 http://exult.svn.sourceforge.net/exult/?rev=6057&view=rev Author: marzojr Date: 2009-04-07 23:47:08 +0000 (Tue, 07 Apr 2009) Log Message: ----------- * content/bgkeyring/*/*: LB's crown grants infravision now. * content/*/README: Corrected link to site. * All else: Fixe bug #2710720. Also prevent similar flicker that happens with invisibility. While fixing bug #2710720, found out the meaning of 3 intrinsics from the original games: - 0x82 (BG)/0x9C (SI): set_light: marks a light source as being equipped or unequipped. Among other things, this prevents a minor flicker with the helm of light when it was being unequipped. It also means that light sources need to call this intrinsic to display correctly as Exult no longer does the work. - 0x84 (BG)/0x9E (SI): set_time_palette: Resets palette to the correct one based on time of day/weather/lighting. - 0x9F (SI): ambient_light: Toggles (based on flag) an infinite version of the cause_light intrinsic. Has been made available for BG too. Based on the intrinsic distribution, intrinsic 0x83 (BG) or 0x9D (SI) must relate to palettes/lighting, but what does it do? Also updated the intrinsic documentation. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/actors.cc exult/trunk/actors.h exult/trunk/cheat.cc exult/trunk/cheat_screen.cc exult/trunk/content/bgkeyring/README exult/trunk/content/bgkeyring/Readme.txt exult/trunk/content/bgkeyring/data/shape_info.txt exult/trunk/content/bgkeyring/src/items/crown_jewels.uc exult/trunk/content/bgkeyring/src/items/torch.uc exult/trunk/content/sifixes/README exult/trunk/docs/exult_intrinsics.txt exult/trunk/gameclk.cc exult/trunk/gameclk.h exult/trunk/gamewin.cc exult/trunk/gamewin.h exult/trunk/usecode/bgintrinsics.h exult/trunk/usecode/intrinsics.cc exult/trunk/usecode/siintrinsics.h exult/trunk/usecode/ucinternal.h Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/ChangeLog 2009-04-07 23:47:08 UTC (rev 6057) @@ -1,3 +1,23 @@ +2009-04-07 Marzo Sette Torres Junior <ma...@ya...> + * content/bgkeyring/*/*: LB's crown grants infravision now. + * content/*/README: Corrected link to site. + * All else: Fixe bug #2710720. Also prevent similar flicker that happens + with invisibility. + While fixing bug #2710720, found out the meaning of 3 intrinsics + from the original games: + - 0x82 (BG)/0x9C (SI): set_light: marks a light source as being equipped + or unequipped. Among other things, this prevents a minor flicker with + the helm of light when it was being unequipped. It also means that + light sources need to call this intrinsic to display correctly as + Exult no longer does the work. + - 0x84 (BG)/0x9E (SI): set_time_palette: Resets palette to the correct + one based on time of day/weather/lighting. + - 0x9F (SI): ambient_light: Toggles (based on flag) an infinite version + of the cause_light intrinsic. Has been made available for BG too. + Based on the intrinsic distribution, intrinsic 0x83 (BG) or 0x9D (SI) + must relate to palettes/lighting, but what does it do? + Also updated the intrinsic documentation. + 2009-04-06 Marzo Sette Torres Junior <ma...@ya...> * Prevent exclusive gloves from going to the gloves spot due to paperdoll data. Modified: exult/trunk/actors.cc =================================================================== --- exult/trunk/actors.cc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/actors.cc 2009-04-07 23:47:08 UTC (rev 6057) @@ -932,12 +932,14 @@ feet, rfinger, rhand, torso, amulet, earrings, cloak, gloves }; int powers = 0, immune = 0; + light_sources = 0; for (int i = 0; i < sizeof(locs)/sizeof(locs[0]); i++) { Game_object *worn = spots[static_cast<int>(locs[i])]; if (worn) { Shape_info& info = worn->get_info(); + if (info.is_light_source()) light_sources++; powers |= info.get_object_powers(worn->get_framenum()); immune |= info.get_armor_immunity(); } @@ -3461,9 +3463,7 @@ call_readied_usecode(index, obj, Usecode_machine::unreadied); Container_game_object::remove(obj); if (index >= 0) - { // Update light-source count. - if (obj->get_info().is_light_source()) - light_sources--; + { spots[index] = 0; if (index == rhand || index == lhand) two_handed = false; @@ -3562,8 +3562,6 @@ // (Readied usecode now in drop().) Shape_info& info = obj->get_info(); - if (info.is_light_source()) - light_sources++; // Refigure granted immunities. gear_immunities |= info.get_armor_immunity(); @@ -3629,8 +3627,6 @@ call_readied_usecode(index, obj, Usecode_machine::readied); Shape_info& info = obj->get_info(); - // Lightsource? - if (info.is_light_source()) light_sources++; // Refigure granted immunities. gear_immunities |= info.get_armor_immunity(); @@ -3668,11 +3664,7 @@ int newshape ) { - if (obj->get_info().is_light_source()) - light_sources--; Container_game_object::change_member_shape(obj, newshape); - if (obj->get_info().is_light_source()) - light_sources++; refigure_gear(); } Modified: exult/trunk/actors.h =================================================================== --- exult/trunk/actors.h 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/actors.h 2009-04-07 23:47:08 UTC (rev 6057) @@ -197,6 +197,13 @@ inline bool is_neck_used() const { return use_neck; } int has_light_source() const // Carrying a torch? { return light_sources > 0; } + void add_light_source() // Add a torch + { light_sources++; } + void remove_light_source() // Remove a torch + { + if (light_sources) + light_sources--; + } Attack_mode get_attack_mode() { return attack_mode; } void set_attack_mode(Attack_mode amode, bool byuser = false) Modified: exult/trunk/cheat.cc =================================================================== --- exult/trunk/cheat.cc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/cheat.cc 2009-04-07 23:47:08 UTC (rev 6057) @@ -343,11 +343,11 @@ if (!enabled) return; infravision = !infravision; - if (infravision) { + if (infravision) eman->center_text("Infravision Enabled"); - gwin->get_pal()->set(0); - } else + else eman->center_text("Infravision Disabled"); + gclock->set_palette(); } void Cheat::toggle_pickpocket (void) { @@ -975,7 +975,8 @@ browser->browse_shapes(); gwin->paint(); - gwin->get_pal()->set(-1,-1); + gclock->reset(); + gclock->set_palette(); } bool Cheat::get_browser_shape (int &shape, int &frame) const { Modified: exult/trunk/cheat_screen.cc =================================================================== --- exult/trunk/cheat_screen.cc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/cheat_screen.cc 2009-04-07 23:47:08 UTC (rev 6057) @@ -189,6 +189,7 @@ gwin->get_tqueue()->resume(SDL_GetTicks()); // Reset the palette + clock->reset(); clock->set_palette(); } Modified: exult/trunk/content/bgkeyring/README =================================================================== --- exult/trunk/content/bgkeyring/README 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/content/bgkeyring/README 2009-04-07 23:47:08 UTC (rev 6057) @@ -1,5 +1,5 @@ You can obtain a full build of the Keyring mod at the author's website: -http://seventowers.u7feudallands.com/index.php +http://www.seventowers.org/ If, instead, you want to build it yourself, you will have to obtain UCC and expack; both can be built from source (or, if you use Windows, you can obtain a copy of Modified: exult/trunk/content/bgkeyring/Readme.txt =================================================================== --- exult/trunk/content/bgkeyring/Readme.txt 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/content/bgkeyring/Readme.txt 2009-04-07 23:47:08 UTC (rev 6057) @@ -18,7 +18,7 @@ ----------------------- Author: Marzo Sette Torres Junior e-mail: ma...@ya... -version: 0.11.21 +version: 0.11.22 This mod (the so called "Keyring Mod") contains a lot of small modifications to the Ultima 7: Black Gate game WITH the Forge @@ -60,7 +60,7 @@ OPTIONAL: You can create a shortcut to start Exult directly in the Keyring mod. To do so, make sure that the command-line is similar to the following example: - <path to Exult>\Exult --bg --mod keyring + <path to Exult>\Exult --fov --mod Keyring You can use the supplied 'Keyring.ico' file for the shortcut (if you use Windows) or use the supplied 'Keyring.png' file to make your own icon for other OSes. @@ -192,6 +192,8 @@ 7 Version history ------------------- +version: 0.11.22 + - LB's crown will grant infravision to the wearer. version: 0.11.21 - Meditation failed in shrine of spirituality. Fixed version: 0.11.20 Modified: exult/trunk/content/bgkeyring/data/shape_info.txt =================================================================== --- exult/trunk/content/bgkeyring/data/shape_info.txt 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/content/bgkeyring/data/shape_info.txt 2009-04-07 23:47:08 UTC (rev 6057) @@ -1,7 +1,10 @@ # Exult 1.4.05cvs text message file. Written by ExultStudio. %%section version -:5 +:6 %%endsection +%%section usecode_events +:1128/1 +%%endsection %%section framenames :1102/1/-1/0/270 :1109/0/-1/2/266/267 Modified: exult/trunk/content/bgkeyring/src/items/crown_jewels.uc =================================================================== --- exult/trunk/content/bgkeyring/src/items/crown_jewels.uc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/content/bgkeyring/src/items/crown_jewels.uc 2009-04-07 23:47:08 UTC (rev 6057) @@ -23,7 +23,7 @@ * Last Modified: 2006-02-27 */ -void LB_Sceptre_Hit 0xB7E () +void LB_Sceptre_Hit object#(0xB7E) () { if (event != WEAPON) return; @@ -53,5 +53,8 @@ void LB_Amulet shape#(0x468) () { - //Nothing I can think of + if (event == READIED) + UI_infravision(get_container(), true); + if (event == UNREADIED) + UI_infravision(get_container(), false); } Modified: exult/trunk/content/bgkeyring/src/items/torch.uc =================================================================== --- exult/trunk/content/bgkeyring/src/items/torch.uc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/content/bgkeyring/src/items/torch.uc 2009-04-07 23:47:08 UTC (rev 6057) @@ -1,9 +1,20 @@ const int SHAPE_TORCH = 595; const int SHAPE_LIT_TORCH = 701; +const int SHAPE_LIT_LIGHT_SOURCE = 0x152; +const int SHAPE_SPENT_LIGHT_SOURCE = 0x3E5; +const int SHAPE_LIT_SCONCE = 0x1B3; +const int SHAPE_SPENT_SCONCE = 0x217; +const int SOUND_SPEND_LIGHT = 0x6A; + +extern void startLight 0x905 (var obj); +extern void useLight object#(0x600) (); +extern var directionFrom 0x827 (var from, var to) + void Torch shape#(0x253) () { - if (event != DOUBLECLICK && event != SCRIPTED) return; + if (event != DOUBLECLICK && event != SCRIPTED) + return; LightTorch(item, SHAPE_LIT_TORCH); } @@ -14,119 +25,110 @@ var var0002; if (event == DOUBLECLICK || event == SCRIPTED) - { DouseTorch(item, SHAPE_TORCH, event); - } else if (event == 7) { - var0000 = Func0827(AVATAR, item); - var0001 = UI_execute_usecode_array(AVATAR, [0x59, var0000, 0x01, 0x6A, 0x61]); + script AVATAR + { face directionFrom(AVATAR, item); + actor frame 9; + actor frame 0; } DouseTorch(item, SHAPE_TORCH, event); } else if (event == 5) - { - Func0905(item); - } + startLight(item); } -void DouseTorch 0x839 (var eventid, var shape, var object) +void DouseTorch 0x839 (var eventid, var shp, var obj) { if(eventid == DOUBLECLICK || eventid == SCRIPTED) { - object->set_item_shape(shape); - object->halt_scheduled(); + obj->set_item_shape(shp); + obj->halt_scheduled(); UI_play_sound_effect(0x002E); - //UNKNOWN_82(true); + set_light(true); } else if (eventid == 7) { - object->set_item_shape(shape); - object->halt_scheduled(); + obj->set_item_shape(shp); + obj->halt_scheduled(); UI_play_sound_effect(0x002E); - //UNKNOWN_82(true); + set_light(true); } else if (eventid == 5) - { - //UNKNOWN_82(true); - } + set_light(true); else if (eventid == 6) - { - //UNKNOWN_82(false); - } + set_light(false); } -void LightTorch 0x942 (var shape, var object) +void LightTorch 0x942 (var shp, var obj) { var framenum; var container; - framenum = object->get_item_frame(); - if (!object->get_item_quality()) - { - object->set_item_quality(UI_die_roll(0x001E, 0x003C)); - } + framenum = obj->get_item_frame(); + if (!obj->get_item_quality()) + obj->set_item_quality(UI_die_roll(30, 60)); - if (object->get_item_shape() == SHAPE_TORCH) + if (obj->get_item_shape() == SHAPE_TORCH) { - if (object->get_item_quality() == 0x00FF) - { - object->item_say("Spent"); + if (obj->get_item_quality() == 255) + obj->item_say("Spent"); return; - } } - container = object->get_container(); + container = obj->get_container(); if (container == 0 || container->is_npc()) { - set_item_shape(shape); - if (container in UI_get_party_list()) Func0905(object); + set_item_shape(shp); + if (container in UI_get_party_list()) + startLight(obj); } - else UI_flash_mouse(0); + else + UI_flash_mouse(0); - //object->UNKNOWN_82(true); - //UI_UNKNOWN_84(); + obj->set_light(true); + UI_set_time_palette(); return; } -void Func0905 0x905 (var object) +void startLight 0x905 (var obj) { - object->halt_scheduled(); - //UNKNOWN_82(true); - //UI_UNKNOWN_84(); - UI_delayed_execute_usecode_array(object, [0x23, 0x55, 0x0600], 50); + obj->halt_scheduled(); + set_light(true); + UI_set_time_palette(); + script obj after 50 ticks + { nohalt; call useLight; } } -void Func0600 0x600 () +void useLight object#(0x600) () { var reduced_quality; var new_quality; - var shape; - var var0003; - var var0004; + var shp; - reduced_quality = get_item_quality() - 1; - new_quality = set_item_quality(reduced_quality); + var reduced_quality = get_item_quality() - 1; + var new_quality = set_item_quality(reduced_quality); if (reduced_quality == 0) { halt_scheduled(); - shape = get_item_shape(); + shp = get_item_shape(); - if(shape == 0x0152)) set_item_shape(0x03E5); - else if (shape == 0x02BD) + if (shp == SHAPE_LIT_LIGHT_SOURCE) + set_item_shape(SHAPE_SPENT_LIGHT_SOURCE); + else if (shp == SHAPE_LIT_TORCH) { - set_item_shape(0x0253); - new_quality = set_item_quality(0x00FF); + set_item_shape(SHAPE_TORCH); + new_quality = set_item_quality(255); } - else if (shape == 0x01B3) set_item_shape(0x0217); + else if (shp == SHAPE_LIT_SCONCE) + set_item_shape(SHAPE_SPENT_SCONCE); - UI_play_sound_effect_0F(0x006A); + UI_play_sound_effect(SOUND_SPEND_LIGHT); } else - { - var0003 = UI_delayed_execute_usecode_array(item, [0x55, 0x0600], 0x0032); - } + script item after 50 ticks call useLight; } Modified: exult/trunk/content/sifixes/README =================================================================== --- exult/trunk/content/sifixes/README 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/content/sifixes/README 2009-04-07 23:47:08 UTC (rev 6057) @@ -1,5 +1,5 @@ You can obtain a full build of the SI Fixes mod at the author's website: -http://seventowers.u7feudallands.com/index.php +http://www.seventowers.org/ If, instead, you want to build it yourself, you will have to obtain UCC and expack; both can be built from source (or, if you use Windows, you can obtain a copy of Modified: exult/trunk/docs/exult_intrinsics.txt =================================================================== --- exult/trunk/docs/exult_intrinsics.txt 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/docs/exult_intrinsics.txt 2009-04-07 23:47:08 UTC (rev 6057) @@ -41,8 +41,8 @@ Keyword Description int This means any integer, positive or negative. object Any object or NPC. It can be an object reference, 'item' or a - number (positive or negative, Exult will try to interpret it as - an NPC in either case if in the correct range). + number (that *must* be negative, which Exult will convert to an + NPC if it is in the correct range). actor Any NPC. It is evaluated the same way as 'object' is, but Exult will reject anything that can't be converted to an NPC. Monsters are also accepted. @@ -2689,6 +2689,14 @@ CURSOR_OUT_OF_AMMO = 3 CURSOR_TOO_HEAVY = 4 CURSOR_WONT_FIT = 5 +UI_ambient_light(bool onoff) [SI, Exult] + + Toggles on or off a permanent version of the light spell. + + Parameters: + onoff Flag specifying whether we want to turn the light on or off: true + to turn it on, false to turn it off. + UI_cause_light(int length) Creates a light which illuminates the screen. @@ -2708,6 +2716,17 @@ onoff Flag specifying whether we want infravision or not: true to turn it on, false to turn it off. +UI_set_light(object obj, bool onoff) +obj->set_light(bool onoff) + + Marks the given light source as being added to or removed from its + containing NPC. + + Parameters: + obj The light source that is being added or removed. + onoff Flag specifying whether we want to add or remove the light source: + true to add it to its containing NPC, false to remove it. + UI_earthquake(int length) Causes the screen to shake. Also plays the earthquake SFX at the start of @@ -2842,6 +2861,11 @@ type The type of fade. If true, fades from black; if false, fades to black. +UI_set_time_palette() + + Resets palette to default palette, based on time of day and number of + lights. + UI_item_say(object obj, string bark) obj->item_say(string bark) @@ -3185,3 +3209,4 @@ false if the supplied position is invalid or if the avatar cannot reach the supplied destination, true otherwise. + Modified: exult/trunk/gameclk.cc =================================================================== --- exult/trunk/gameclk.cc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/gameclk.cc 2009-04-07 23:47:08 UTC (rev 6057) @@ -103,8 +103,9 @@ { Game_window *gwin = Game_window::get_instance(); Actor *main_actor = gwin->get_main_actor(); - if (main_actor && main_actor->get_flag(Obj_flags::invisible)) - { + bool invis = main_actor && main_actor->get_flag(Obj_flags::invisible); + if (invis && !old_invisible) + { if (transition) { delete transition; @@ -112,11 +113,12 @@ } gwin->get_pal()->set(PALETTE_INVISIBLE); if (!gwin->get_pal()->is_faded_out()) - gwin->get_pal()->apply(true); + gwin->get_pal()->apply(!old_invisible); return; } + old_invisible = invis; - if (cheat.in_infravision()) + if (cheat.in_infravision() && !old_infravision) { if (transition) { @@ -125,9 +127,10 @@ } gwin->get_pal()->set(PALETTE_DAY); if (!gwin->get_pal()->is_faded_out()) - gwin->get_pal()->apply(true); + gwin->get_pal()->apply(!old_infravision); return; } + old_infravision = cheat.in_infravision(); unsigned int new_dungeon = gwin->is_in_dungeon(); int new_palette = get_time_palette(hour+1, new_dungeon), Modified: exult/trunk/gameclk.h =================================================================== --- exult/trunk/gameclk.h 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/gameclk.h 2009-04-07 23:47:08 UTC (rev 6057) @@ -40,6 +40,8 @@ int light_source_level; // Last set light source level. int old_light_level; // Last set light source level. int old_special_light; // Last set light source level. + bool old_infravision; // If infravision was on last time. + bool old_invisible; // If invisibility was on last time. unsigned int dungeon; // Last set 'in_dungeon' value. int overcast; // >0 if day is overcast (e.g., from a storm). bool was_overcast; @@ -53,8 +55,9 @@ public: Game_clock(Time_queue *tq) : tqueue(tq), hour(6), minute(0), day(0), light_source_level(0), old_light_level(0), old_special_light(false), - dungeon(255), overcast(0), was_overcast(false), fog(0), - was_foggy(false), transition(0), time_rate(1) + old_infravision(false), old_invisible(false), dungeon(255), + overcast(0), was_overcast(false), fog(0), was_foggy(false), + transition(0), time_rate(1) { } int get_hour() { return hour; } @@ -85,9 +88,10 @@ overcast = fog = 0; was_overcast = was_foggy = false; old_special_light = 0; + old_infravision = false; + old_invisible = false; dungeon = 255; - if (transition) - delete transition; + delete transition; transition = 0; } void set_overcast(bool onoff); // Start/end cloud cover. Modified: exult/trunk/gamewin.cc =================================================================== --- exult/trunk/gamewin.cc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/gamewin.cc 2009-04-07 23:47:08 UTC (rev 6057) @@ -318,7 +318,7 @@ moving_barge(0), main_actor(0), skip_above_actor(31), npcs(0), bodies(0), dirty(0,0,0,0), mouse3rd(false), fastmouse(false), text_bg(false), step_tile_delta(8), allow_double_right_move(true), - special_light(0), + special_light(0), ambient_light(false), dragging(0), theft_warnings(0), theft_cx(255), theft_cy(255), background_noise(new Background_noise(this)), @@ -875,6 +875,7 @@ bodies.resize(0); moving_barge = 0; // Get out of barge mode. special_light = 0; // Clear out light spells. + ambient_light = false; // And ambient lighting. effects->remove_all_effects(false); Schedule_change::clear(); } @@ -1381,6 +1382,7 @@ gout.write4(0); } gout.write1(armageddon ? 1 : 0); + gout.write1(ambient_light ? 1 : 0); gout_stream.flush(); if (!gout_stream.good()) throw file_write_exception(GWINDAT); @@ -1444,6 +1446,9 @@ if (!gin_stream.good()) armageddon = false; + ambient_light = gin.read1() == 1 ? true : false; + if (!gin_stream.good()) + ambient_light = false; } /* Modified: exult/trunk/gamewin.h =================================================================== --- exult/trunk/gamewin.h 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/gamewin.h 2009-04-07 23:47:08 UTC (rev 6057) @@ -109,6 +109,7 @@ int std_delay; // Standard delay between frames. long time_stopped; // For 'stop time' spell. unsigned long special_light; // Game minute when light spell ends. + bool ambient_light; // Permanent version of special_light. int theft_warnings; // # times warned in current chunk. short theft_cx, theft_cy; // Chunk where warnings occurred. // Gameplay objects: @@ -279,9 +280,11 @@ inline unsigned int is_in_dungeon() { return in_dungeon; } inline bool is_special_light() // Light spell in effect? - { return special_light != 0; } + { return ambient_light || special_light != 0; } // Light spell. void add_special_light(int minutes); + void toggle_ambient_light(bool state) + { ambient_light = state; } // Handle 'stop time' spell. void set_time_stopped(long ticks); long is_time_stopped() Modified: exult/trunk/usecode/bgintrinsics.h =================================================================== --- exult/trunk/usecode/bgintrinsics.h 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/usecode/bgintrinsics.h 2009-04-07 23:47:08 UTC (rev 6057) @@ -150,9 +150,9 @@ USECODE_INTRINSIC_PTR(item_say), // 0x7f ItemSay in gump. USECODE_INTRINSIC_PTR(close_gump), // 0x80 USECODE_INTRINSIC_PTR(in_gump_mode), // 0x81 - USECODE_INTRINSIC_PTR(UNKNOWN), // 0x82 + USECODE_INTRINSIC_PTR(set_light), // 0x82 USECODE_INTRINSIC_PTR(UNKNOWN), // 0x83 - USECODE_INTRINSIC_PTR(UNKNOWN), // 0x84 + USECODE_INTRINSIC_PTR(set_time_palette), // 0x84 USECODE_INTRINSIC_PTR(is_not_blocked), // 0x85 USECODE_INTRINSIC_PTR(play_sound_effect2), // 0x86 USECODE_INTRINSIC_PTR(direction_from), // 0x87 @@ -233,7 +233,7 @@ USECODE_INTRINSIC_PTR(get_npc_warmth), // 0xd1 USECODE_INTRINSIC_PTR(has_spell), // 0xd2 USECODE_INTRINSIC_PTR(remove_spell), // 0xd3 - USECODE_INTRINSIC_PTR(UNKNOWN), // 0xd4 + USECODE_INTRINSIC_PTR(ambient_light), // 0xd4 USECODE_INTRINSIC_PTR(UNKNOWN), // 0xd5 USECODE_INTRINSIC_PTR(UNKNOWN), // 0xd6 USECODE_INTRINSIC_PTR(UNKNOWN), // 0xd7 Modified: exult/trunk/usecode/intrinsics.cc =================================================================== --- exult/trunk/usecode/intrinsics.cc 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/usecode/intrinsics.cc 2009-04-07 23:47:08 UTC (rev 6057) @@ -3210,22 +3210,51 @@ return no_ret; } +USECODE_INTRINSIC(set_light) +{ + // set_light(npc, onoff) + Game_object *light = get_item(parms[0]); + if (!light) + return no_ret; + + Actor *npc = as_actor(light->get_outermost()); + if (npc) + { + // This counts the light sources now too. This matches the originals; + // torches and other light sources need it to be done this way, and + // the other "obvious" manners fail. + npc->refigure_gear(); + if (!parms[1].get_int_value()) + npc->remove_light_source(); + } + return no_ret; +} + +USECODE_INTRINSIC(set_time_palette) +{ + // set_time_palette() + gclock->reset(); + gclock->set_palette(); + return no_ret; +} + +USECODE_INTRINSIC(ambient_light) +{ + // ambient_light(onoff) + // E.g., the cutscene with Batlin and Cantra. + gwin->toggle_ambient_light(parms[0].get_int_value()); + gclock->set_palette(); + return no_ret; +} + USECODE_INTRINSIC(infravision) { // infravision(npc, onoff) Actor *npc = as_actor(get_item(parms[0])); if (npc && npc->is_in_party()) { - if (parms[1].get_int_value()) - { // On? - cheat.set_infravision(true); - gwin->get_pal()->set(0); - } - else - { - cheat.set_infravision(false); - gclock->set_palette(); - } + cheat.set_infravision(parms[1].get_int_value() != 0); + gclock->set_palette(); } return no_ret; } Modified: exult/trunk/usecode/siintrinsics.h =================================================================== --- exult/trunk/usecode/siintrinsics.h 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/usecode/siintrinsics.h 2009-04-07 23:47:08 UTC (rev 6057) @@ -177,10 +177,10 @@ USECODE_INTRINSIC_PTR(item_say), // 0x99 USECODE_INTRINSIC_PTR(close_gump), // 0x9a USECODE_INTRINSIC_PTR(in_gump_mode), // Guess // 0x9b - USECODE_INTRINSIC_PTR(UNKNOWN), // 0x9c + USECODE_INTRINSIC_PTR(set_light), // 0x9c USECODE_INTRINSIC_PTR(UNKNOWN), // 0x9d UNUSED - USECODE_INTRINSIC_PTR(UNKNOWN), // 0x9e - USECODE_INTRINSIC_PTR(UNKNOWN), // 0x9f + USECODE_INTRINSIC_PTR(set_time_palette), // 0x9e + USECODE_INTRINSIC_PTR(ambient_light), // 0x9f USECODE_INTRINSIC_PTR(is_not_blocked), // 0xa0 USECODE_INTRINSIC_PTR(play_sound_effect2), // 0xA1 - Known USECODE_INTRINSIC_PTR(direction_from), // 0xa2 Modified: exult/trunk/usecode/ucinternal.h =================================================================== --- exult/trunk/usecode/ucinternal.h 2009-04-06 14:34:46 UTC (rev 6056) +++ exult/trunk/usecode/ucinternal.h 2009-04-07 23:47:08 UTC (rev 6057) @@ -321,6 +321,9 @@ USECODE_INTRINSIC_DECL(close_gump); USECODE_INTRINSIC_DECL(close_gumps); USECODE_INTRINSIC_DECL(in_gump_mode); + USECODE_INTRINSIC_DECL(set_light); + USECODE_INTRINSIC_DECL(set_time_palette); + USECODE_INTRINSIC_DECL(ambient_light); USECODE_INTRINSIC_DECL(is_not_blocked); USECODE_INTRINSIC_DECL(direction_from); USECODE_INTRINSIC_DECL(get_item_flag); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-04-08 01:11:14
|
Revision: 6058 http://exult.svn.sourceforge.net/exult/?rev=6058&view=rev Author: marzojr Date: 2009-04-08 01:11:09 +0000 (Wed, 08 Apr 2009) Log Message: ----------- Updated ucxt slightly. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/usecode/ucxt/include/ucc.h exult/trunk/usecode/ucxt/src/ops.cc exult/trunk/usecode/ucxt/src/ucdata.cc exult/trunk/usecode/ucxt/src/ucfunc.cc exult/trunk/usecode/ucxt/src/ucxt.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-04-07 23:47:08 UTC (rev 6057) +++ exult/trunk/ChangeLog 2009-04-08 01:11:09 UTC (rev 6058) @@ -17,6 +17,7 @@ Based on the intrinsic distribution, intrinsic 0x83 (BG) or 0x9D (SI) must relate to palettes/lighting, but what does it do? Also updated the intrinsic documentation. + * Updated ucxt slightly. 2009-04-06 Marzo Sette Torres Junior <ma...@ya...> * Prevent exclusive gloves from going to the gloves spot due to paperdoll Modified: exult/trunk/usecode/ucxt/include/ucc.h =================================================================== --- exult/trunk/usecode/ucxt/include/ucc.h 2009-04-07 23:47:08 UTC (rev 6057) +++ exult/trunk/usecode/ucxt/include/ucc.h 2009-04-08 01:11:09 UTC (rev 6058) @@ -65,6 +65,8 @@ bool game_bg() const { return _game==GAME_BG; }; bool game_si() const { return _game==GAME_SI; }; + bool game_fov() const { return _game==GAME_FOV; }; + bool game_ss() const { return _game==GAME_SS; }; bool game_u8() const { return _game==GAME_U8; }; bool output_extern_header; @@ -91,7 +93,7 @@ //private: unsigned int _game; - enum { GAME_BG=1, GAME_SI=2, GAME_U8=3 }; + enum { GAME_BG=1, GAME_FOV=2, GAME_SI=3, GAME_SS=4, GAME_U8=5 }; }; #endif Modified: exult/trunk/usecode/ucxt/src/ops.cc =================================================================== --- exult/trunk/usecode/ucxt/src/ops.cc 2009-04-07 23:47:08 UTC (rev 6057) +++ exult/trunk/usecode/ucxt/src/ops.cc 2009-04-08 01:11:09 UTC (rev 6058) @@ -88,9 +88,9 @@ opcodes(); if(options.verbose) cout << "Initing intrinsics..." << endl; - if(options.game_bg()) + if(options.game_bg() || options.game_fov()) intrinsics(bg_intrinsics_data, bg_intrinsics_root); - else if(options.game_si()) + else if(options.game_si() || options.game_ss()) intrinsics(si_intrinsics_data, si_intrinsics_root); } Modified: exult/trunk/usecode/ucxt/src/ucdata.cc =================================================================== --- exult/trunk/usecode/ucxt/src/ucdata.cc 2009-04-07 23:47:08 UTC (rev 6057) +++ exult/trunk/usecode/ucxt/src/ucdata.cc 2009-04-08 01:11:09 UTC (rev 6058) @@ -26,6 +26,7 @@ #include <cstring> #include <cstdlib> #include <vector> +#include <stdexcept> #include "ucdata.h" #include "ops.h" #include "files/utils.h" @@ -57,6 +58,8 @@ { if (strcmp(argv[i], "-si" )==0) options._game = UCOptions::GAME_SI; else if(strcmp(argv[i], "-bg" )==0) options._game = UCOptions::GAME_BG; + else if(strcmp(argv[i], "-ss" )==0) options._game = UCOptions::GAME_SS; + else if(strcmp(argv[i], "-fov" )==0) options._game = UCOptions::GAME_FOV; else if(strcmp(argv[i], "-u8" )==0) options._game = UCOptions::GAME_U8; else if(strcmp(argv[i], "-a" )==0) options.mode_all=true; @@ -189,7 +192,8 @@ with 'variables' in the opcodes.txt file, that signify if it's a pop/push and a flag */ void UCData::dump_flags(ostream &o) { - if(!(options.game_bg() || options.game_si())) + if(!(options.game_bg() || options.game_si() || + options.game_ss() || options.game_fov())) { o << "This option only works for U7:BG and U7:SI" << endl; return; @@ -265,7 +269,15 @@ void UCData::file_open(const string &filename) { /* Open a usecode file */ - U7open(_file, filename.c_str(), false); + try + { + _file.clear(); + U7open(_file, filename.c_str(), false); + } + catch (const std::exception& err) + { + _file.setstate(_file.failbit); + } } #undef LOAD_SPEED_TEST @@ -289,7 +301,8 @@ { UCFunc *ucfunc = new UCFunc(); - if(options.game_bg() || options.game_si()) + if(options.game_bg() || options.game_si() || + options.game_ss() || options.game_fov()) readbin_U7UCFunc(_file, *ucfunc, options); else if(options.game_u8()) readbin_U8UCFunc(_file, *ucfunc); @@ -329,7 +342,8 @@ void UCData::output_extern_header(ostream &o) { - if(!(options.game_bg() || options.game_si())) + if(!(options.game_bg() || options.game_si() || + options.game_ss() || options.game_fov())) { o << "This option only works for U7:BG and U7:SI" << endl; return; Modified: exult/trunk/usecode/ucxt/src/ucfunc.cc =================================================================== --- exult/trunk/usecode/ucxt/src/ucfunc.cc 2009-04-07 23:47:08 UTC (rev 6057) +++ exult/trunk/usecode/ucxt/src/ucfunc.cc 2009-04-08 01:11:09 UTC (rev 6058) @@ -1052,7 +1052,8 @@ /* if we're a function debugging opcode, set the debuging flag, and assign the variable name string offset TODO: Add this to opcodes.txt */ - if((ucop._id==0x4D) && (options.game_bg() || options.game_si())) + if((ucop._id==0x4D) && (options.game_bg() || options.game_si() || + options.game_fov() || options.game_ss())) { ucf.debugging_info=true; assert(ucop._params_parsed.size()>=2); Modified: exult/trunk/usecode/ucxt/src/ucxt.cc =================================================================== --- exult/trunk/usecode/ucxt/src/ucxt.cc 2009-04-07 23:47:08 UTC (rev 6057) +++ exult/trunk/usecode/ucxt/src/ucxt.cc 2009-04-08 01:11:09 UTC (rev 6058) @@ -185,8 +185,12 @@ { string bgpath; if(uc.options.noconf == false) config.value("config/disk/game/blackgate/path", bgpath); + string fovpath; + if(uc.options.noconf == false) config.value("config/disk/game/forgeofvirtue/path", fovpath); string sipath; if(uc.options.noconf == false) config.value("config/disk/game/serpentisle/path", sipath); + string sspath; + if(uc.options.noconf == false) config.value("config/disk/game/silverseed/path", sspath); string u8path; if(uc.options.noconf == false) config.value("config/disk/game/pagan/path", u8path); @@ -238,6 +242,14 @@ mucc_l = mucc_bgl; mucc_c = mucc_bgc; } + else if(uc.options.game_fov()) + { + if(uc.options.verbose) cout << "Configuring for bg." << endl; + path = fovpath; + ucspecial = "usecode.si"; + mucc_l = mucc_sil; + mucc_c = mucc_sic; + } else if(uc.options.game_si()) { if(uc.options.verbose) cout << "Configuring for si." << endl; @@ -246,6 +258,14 @@ mucc_l = mucc_sil; mucc_c = mucc_sic; } + else if(uc.options.game_ss()) + { + if(uc.options.verbose) cout << "Configuring for si." << endl; + path = sspath; + ucspecial = "usecode.si"; + mucc_l = mucc_sil; + mucc_c = mucc_sic; + } else if(uc.options.game_u8()) { if(uc.options.verbose) cout << "Configuring for u8." << endl; @@ -359,7 +379,9 @@ << "\t\t-ext32\t- 'convert' function to ext32 format if not already." << endl << "\tGame Specifier Flags (only one of these):" << endl << "\t\t-bg\t- select the black gate usecode file" << endl + << "\t\t-fov\t- select the forge of virtue usecode file" << endl << "\t\t-si\t- select the serpent isle usecode file" << endl + << "\t\t-ss\t- select the silver seed usecode file" << endl << "\t\t-u8\t- select the ultima 8/pagan usecode file (experimental)" << endl << "\tOutput Format Flags (only one of these):" << endl << "\t\t-fl\t- output using brief \"list\" format" << endl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-04-12 05:06:13
|
Revision: 6059 http://exult.svn.sourceforge.net/exult/?rev=6059&view=rev Author: marzojr Date: 2009-04-12 05:06:11 +0000 (Sun, 12 Apr 2009) Log Message: ----------- Fixed crash in SI endgame (and possibly intro). Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/gamemgr/sigame.cc Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-04-08 01:11:09 UTC (rev 6058) +++ exult/trunk/ChangeLog 2009-04-12 05:06:11 UTC (rev 6059) @@ -1,3 +1,6 @@ +2009-04-12 Marzo Sette Torres Junior <ma...@ya...> + * Fixed crash in SI endgame (and possibly intro). + 2009-04-07 Marzo Sette Torres Junior <ma...@ya...> * content/bgkeyring/*/*: LB's crown grants infravision now. * content/*/README: Corrected link to site. Modified: exult/trunk/gamemgr/sigame.cc =================================================================== --- exult/trunk/gamemgr/sigame.cc 2009-04-08 01:11:09 UTC (rev 6058) +++ exult/trunk/gamemgr/sigame.cc 2009-04-12 05:06:11 UTC (rev 6059) @@ -858,7 +858,7 @@ bool can_play() { return file != 0; } ExCineEvent(uint32 t, const char *f, const char *p, int i) : - time(t), file(f), index(i) { } + time(t), file(f), patch(p), index(i) { } virtual ~ExCineEvent() { } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-04-17 18:50:58
|
Revision: 6060 http://exult.svn.sourceforge.net/exult/?rev=6060&view=rev Author: marzojr Date: 2009-04-17 18:50:45 +0000 (Fri, 17 Apr 2009) Log Message: ----------- * Fixed bug #2770944. * Removed a few warnings. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/imagewin/scale_2xSaI.h exult/trunk/imagewin/scale_bilinear.h exult/trunk/imagewin/scale_point.h Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-04-12 05:06:11 UTC (rev 6059) +++ exult/trunk/ChangeLog 2009-04-17 18:50:45 UTC (rev 6060) @@ -1,3 +1,7 @@ +2009-04-17 Marzo Sette Torres Junior <ma...@ya...> + * Fixed bug #2770944. + * Removed a few warnings. + 2009-04-12 Marzo Sette Torres Junior <ma...@ya...> * Fixed crash in SI endgame (and possibly intro). Modified: exult/trunk/imagewin/scale_2xSaI.h =================================================================== --- exult/trunk/imagewin/scale_2xSaI.h 2009-04-12 05:06:11 UTC (rev 6059) +++ exult/trunk/imagewin/scale_2xSaI.h 2009-04-17 18:50:45 UTC (rev 6060) @@ -825,4 +825,5 @@ ** End of 2xSaI code **/ -#endif \ No newline at end of file +#endif + Modified: exult/trunk/imagewin/scale_bilinear.h =================================================================== --- exult/trunk/imagewin/scale_bilinear.h 2009-04-12 05:06:11 UTC (rev 6059) +++ exult/trunk/imagewin/scale_bilinear.h 2009-04-17 18:50:45 UTC (rev 6060) @@ -86,7 +86,7 @@ // the following are static because we don't want to be freeing and // reallocating space on each call, as malloc()s are usually very // expensive; we do allow it to grow though - static unsigned buff_size = 0; + static int buff_size = 0; static COMPONENT *rgb_row_cur = 0; static COMPONENT *rgb_row_next = 0; if (buff_size < sline_pixels+1) @@ -104,7 +104,7 @@ fill_rgb_row(from, from_width, rgb_row_cur, srcw+1, manip); - for (unsigned y=0; y < srch; y++) + for (int y=0; y < srch; y++) { Source_pixel *from_orig = from; Dest_pixel *to_orig = to; @@ -128,7 +128,7 @@ COMPONENT *cr = next_row++; COMPONENT *cg = next_row++; COMPONENT *cb = next_row++; - for (unsigned x=0; x < srcw; x++) + for (int x=0; x < srcw; x++) { COMPONENT *br = cur_row++; COMPONENT *bg = cur_row++; @@ -195,7 +195,7 @@ // the following are static because we don't want to be freeing and // reallocating space on each call, as malloc()s are usually very // expensive; we do allow it to grow though - static unsigned buff_size = 0; + static int buff_size = 0; static COMPONENT *rgb_row_cur = 0; static COMPONENT *rgb_row_next = 0; if (buff_size < sline_pixels+1) @@ -213,7 +213,7 @@ fill_rgb_row(from, from_width, rgb_row_cur, srcw+1, manip); - for (unsigned y=0; y < srch; y++) + for (int y=0; y < srch; y++) { Source_pixel *from_orig = from; Dest_pixel *to_orig = to; @@ -237,7 +237,7 @@ COMPONENT *cr = next_row++; COMPONENT *cg = next_row++; COMPONENT *cb = next_row++; - for (unsigned x=0; x < srcw; x++) + for (int x=0; x < srcw; x++) { COMPONENT *br = cur_row++; COMPONENT *bg = cur_row++; Modified: exult/trunk/imagewin/scale_point.h =================================================================== --- exult/trunk/imagewin/scale_point.h 2009-04-12 05:06:11 UTC (rev 6059) +++ exult/trunk/imagewin/scale_point.h 2009-04-17 18:50:45 UTC (rev 6060) @@ -33,4 +33,5 @@ const int factor // Scale factor ); -#endif \ No newline at end of file +#endif + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2009-04-18 23:34:48
|
Revision: 6061 http://exult.svn.sourceforge.net/exult/?rev=6061&view=rev Author: marzojr Date: 2009-04-18 23:34:38 +0000 (Sat, 18 Apr 2009) Log Message: ----------- * Applied variation of patch #2272014. * Fixed bug #1598910 and #2764270. The latter was done by tying scalers and scales more tighly; except for point, interlaced and OpenGL scalers, each scaler uses only its "native" scale, ignoring (and overwriting) the value in exult.cfg. * Some lerping code is now executed only if lerping is enabled. * Fixed a few bugs in OpenGL code, eliminating several crashes. OpenGL now will correctly set lighting, though this may come at a performance hit. The Exult menu and game menus/intros sort of work now, but the cheat screen and shape browser are still broken. The MinGW makefile now has an option to enable OpenGL, and configure.ac now includes checks for header presence. * Slightly changed warning options in configure.ac, and make paranoid warnings work again. Modified Paths: -------------- exult/trunk/ChangeLog exult/trunk/Makefile.common exult/trunk/Makefile.mingw exult/trunk/configure.ac exult/trunk/exult.cc exult/trunk/gamewin.cc exult/trunk/gumps/VideoOptions_gump.cc exult/trunk/gumps/VideoOptions_gump.h exult/trunk/palette.cc exult/trunk/shapes/glshape.cc exult/trunk/shapes/glshape.h exult/trunk/shapes/vgafile.h Modified: exult/trunk/ChangeLog =================================================================== --- exult/trunk/ChangeLog 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/ChangeLog 2009-04-18 23:34:38 UTC (rev 6061) @@ -1,3 +1,19 @@ +2009-04-18 Marzo Sette Torres Junior <ma...@ya...> + * Applied variation of patch #2272014. + * Fixed bug #1598910 and #2764270. The latter was done by tying scalers and + scales more tighly; except for point, interlaced and OpenGL scalers, each + scaler uses only its "native" scale, ignoring (and overwriting) the value + in exult.cfg. + * Some lerping code is now executed only if lerping is enabled. + * Fixed a few bugs in OpenGL code, eliminating several crashes. OpenGL now + will correctly set lighting, though this may come at a performance hit. + The Exult menu and game menus/intros sort of work now, but the cheat + screen and shape browser are still broken. The MinGW makefile now has an + option to enable OpenGL, and configure.ac now includes checks for header + presence. + * Slightly changed warning options in configure.ac, and make paranoid + warnings work again. + 2009-04-17 Marzo Sette Torres Junior <ma...@ya...> * Fixed bug #2770944. * Removed a few warnings. Modified: exult/trunk/Makefile.common =================================================================== --- exult/trunk/Makefile.common 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/Makefile.common 2009-04-18 23:34:38 UTC (rev 6061) @@ -60,10 +60,15 @@ scale_gl.o scale_2x.o scale_2xSaI.o scale_bilinear.o scale_hq2x.o scale_hq3x.o \ scale_interlace.o scale_point.o +### Just in case... +ifndef OPENGL_OBJS + OPENGL_OBJS= +endif + SHAPES_OBJS=font.o fontvga.o items.o miscinf.o shapeinf.o shapevga.o u7drag.o \ vgafile.o ammoinf.o aniinf.o armorinf.o bodyinf.o continf.o effhpinf.o expinf.o \ frnameinf.o monstinf.o npcdollinf.o objdollinf.o sfxinf.o warminf.o weaponinf.o \ - frpowers.o + frpowers.o $(OPENGL_OBJS) OBJS_OBJS=animate.o barge.o chunks.o chunkter.o contain.o egg.o iregobjs.o \ jawbone.o mappatch.o objiter.o objnames.o objs.o spellbook.o virstone.o Modified: exult/trunk/Makefile.mingw =================================================================== --- exult/trunk/Makefile.mingw 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/Makefile.mingw 2009-04-18 23:34:38 UTC (rev 6061) @@ -29,6 +29,16 @@ ZIP_LIBS=-L$(SRC)/zlib -Wl,-Bstatic -lz -Wl,-Bdynamic endif +### Warning: OpenGL mode is still buggy! +ifdef OPEN_GL + OPENGL_LIBS=-lopengl32 + OPENGL_OBJS=glshape.o + OPENGL_CFLAGS=-DHAVE_OPENGL +else + OPENGL_LIBS= + OPENGL_OBJS= + OPENGL_CFLAGS= +endif ### GTK+ libs and includes, for Exult Studio. # If this doesn't work, insert output of `pkg-config --cflags gtk+-win32-2.0` manually @@ -56,7 +66,7 @@ ### Combined Exult Studio includes and libs. ES_INCLUDES=$(GTK_INCLUDES) $(LIBGLADE_INCLUDES) $(FREETYPE2_INCLUDES) $(GIMP_INCLUDES) -ES_LIBS=$(GTK_LIBS) $(LIBGLADE_LIBS) $(FREETYPE2_LIBS) $(ZIP_LIBS) -liberty -lole32 -lpng -luuid -lws2_32 -mwindows +ES_LIBS=$(GTK_LIBS) $(LIBGLADE_LIBS) $(FREETYPE2_LIBS) $(ZIP_LIBS) $(OPENGL_LIBS) -liberty -lole32 -lpng -luuid -lws2_32 -mwindows ifdef DEBUG_SYMBOLS DEBUG_LEVEL=-ggdb3 @@ -78,7 +88,7 @@ -I$(SRC)/imagewin -I$(SRC)/objs -I$(SRC)/pathfinder -I$(SRC)/server -I$(SRC)/shapes \ -I$(SRC)/tools -I$(SRC)/usecode -I$(SRC)/usecode/compiler -I$(SRC)/usecode/ucxt/include \ -I$(SRC)/mapedit $(SDL_CFLAGS) -DUSE_EXULTSTUDIO -DHAVE_PNG_H -DHAVE_FREETYPE2 \ - $(ZIP_CFLAGS) $(ES_INCLUDES) $(EXTRA_OPTIONS)) + $(ZIP_CFLAGS) $(OPENGL_CFLAGS) $(ES_INCLUDES) $(EXTRA_OPTIONS)) ifndef OPT_LEVEL OPT_LEVEL=-O2 @@ -95,7 +105,7 @@ CC=gcc LFLAGS= -LIBS=-lmingw32 $(SDL_LIBS) $(ZIP_LIBS) -lfluidsynth -ldsound -lwinmm -lole32 -luuid -lws2_32 -mwindows +LIBS=-lmingw32 $(SDL_LIBS) $(ZIP_LIBS) $(OPENGL_LIBS) -lfluidsynth -ldsound -lwinmm -lole32 -luuid -lws2_32 -mwindows EXEC=Exult.exe EXEEXT=.exe @@ -120,7 +130,8 @@ ES_SHAPES_OBJS=ammoinf.o aniinf.o armorinf.o bodyinf.o continf.o effhpinf.o \ expinf.o font.o fontgen.o fontvga.o frnameinf.o frpowers.o items.o \ monstinf.o npcdollinf.o objdollinf.o pngio.o sfxinf.o shapeinf.o \ - shapewrite.o shapevga.o u7drag.o vgafile.o warminf.o weaponinf.o + shapewrite.o shapevga.o u7drag.o vgafile.o warminf.o weaponinf.o \ + $(OPENGL_OBJS) MISC_OBJS=exultstudioico.o windrag.o Modified: exult/trunk/configure.ac =================================================================== --- exult/trunk/configure.ac 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/configure.ac 2009-04-18 23:34:38 UTC (rev 6061) @@ -410,9 +410,17 @@ AC_ARG_ENABLE(opengl, [ --enable-opengl Enable OpenGL rendering support [EXPERIMENTAL]],,enable_opengl=no) +if test x$enable_opengl = xyes; then + # Check for header presence (guessing about MacOSX, would be good if + # anyone can confirm...) + if test x$ARCH != xmacosx; then + AC_CHECK_HEADER(GL/gl.h,,enable_opengl=no) + fi +fi + AC_MSG_CHECKING(for OpenGL rendering support) -if test x$enable_opengl = xyes; then +if test x$enable_opengl = xyes ; then AC_DEFINE(HAVE_OPENGL, 1, [Have OpenGL]) # Mac OS X gets OpenGL through a framework (which appears to be pulled in by SDL) @@ -545,18 +553,17 @@ AC_MSG_CHECKING(warning level) WARNING_LEVEL="normal" +AC_ARG_ENABLE(warnings, [[ --enable-warnings Enable all warnings [default no]]],,enable_warnings=no) # more warnings -AC_ARG_ENABLE(warnings, [[ --enable-warnings Enable all warnings [default no]]],,enable_warnings=no) -if test x$enable_warnings = xyes; then - DEBUG_FLAGS="$DEBUG_FLAGS -Wall -O -Wunused -Wuninitialized -Woverloaded-virtual -Wpointer-arith -Wcast-qual -Wwrite-strings" - WARNING_LEVEL="all" -fi - AC_ARG_ENABLE(paranoid-warnings, [[ --enable-paranoid-warnings Enable paranoid warnings [default no]]],,enable_paranoid_warnings=no) if test x$enable_paranoid_warnings = xyes; then - WARNINGS="-Wall -W -Wcast-qual -Wwrite-strings -Wconversion -Wredundant-decls -Winline -Wdisabled-optimization -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual" + WARNINGS="-O -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wredundant-decls -Winline -Wdisabled-optimization -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpadded" # DEBUG_FLAGS="$DEBUG_FLAGS -Wall -O -Wunused -Wuninitialized -Woverloaded-virtual -Wpointer-arith -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Winline" + DEBUG_FLAGS="$DEBUG_FLAGS -O -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wredundant-decls -Winline -Wdisabled-optimization -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpointer-arith -Wpadded" WARNING_LEVEL="paranoid" +elif test x$enable_warnings = xyes; then + DEBUG_FLAGS="$DEBUG_FLAGS -O -Wall -Wunused -Wuninitialized -Woverloaded-virtual -Wpointer-arith -Wcast-qual -Wwrite-strings" + WARNING_LEVEL="all" fi # Output result Modified: exult/trunk/exult.cc =================================================================== --- exult/trunk/exult.cc 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/exult.cc 2009-04-18 23:34:38 UTC (rev 6061) @@ -698,7 +698,19 @@ config->value("config/video/scale", scaleval, sc); sclr = Image_window::get_scaler_for_name(scaler); - if (sclr == Image_window::NoScaler) config->set("config/video/scale_method","2xSaI",true); + // Ensure proper values for scaleval based on sclr. + if (sclr == Image_window::NoScaler) + { + config->set("config/video/scale_method","2xSaI",true); + sclr = Image_window::SaI; + scaleval = 2; + } + else if (sclr == Image_window::Hq3x) + scaleval = 3; + else if (sclr != Image_window::point || sclr != Image_window::interlaced || + sclr != Image_window::OpenGL) + scaleval = 2; + config->set("config/video/scale", scaleval, true); // Load games and mods; also stores system paths: gamemanager = new GameManager(); @@ -1150,42 +1162,46 @@ } // Lerping stuff... - // Always repaint, - Actor *act = gwin->get_camera_actor(); - int mswait = (act->get_frame_time()*gwin->is_lerping_enabled())/100; - if (mswait <= 0) mswait = (gwin->get_std_delay()*gwin->is_lerping_enabled())/100; - - // Force a reset if position changed - if (last_x != gwin->get_scrolltx() || last_y != gwin->get_scrollty()) + int lerp = gwin->is_lerping_enabled(); + if (lerp) { - //printf ("%i: %i -> %i, %i -> %i\n", ticks, last_x, gwin->get_scrolltx(), last_y, gwin->get_scrollty()); - gwin->lerp_reset(); - last_repaint = ticks; - } - last_x = gwin->get_scrolltx(); - last_y = gwin->get_scrollty(); + // Always repaint, + Actor *act = gwin->get_camera_actor(); + int mswait = (act->get_frame_time()*lerp)/100; + if (mswait <= 0) mswait = (gwin->get_std_delay()*lerp)/100; - // Is lerping (smooth scrolling) enabled - if (mswait && ticks < (last_repaint+mswait*2)) - { - gwin->paint_lerped(((ticks-last_repaint)*0x10000)/mswait); + // Force a reset if position changed + if (last_x != gwin->get_scrolltx() || last_y != gwin->get_scrollty()) + { + //printf ("%i: %i -> %i, %i -> %i\n", ticks, last_x, gwin->get_scrolltx(), last_y, gwin->get_scrollty()); + gwin->lerp_reset(); + last_repaint = ticks; + } + last_x = gwin->get_scrolltx(); + last_y = gwin->get_scrollty(); + + // Is lerping (smooth scrolling) enabled + if (mswait && ticks < (last_repaint+mswait*2)) + { + gwin->paint_lerped(((ticks-last_repaint)*0x10000)/mswait); + } } else // No lerping { - // Show animation every 1/20 sec. -#if 0 - if (ticks > last_repaint + 50 || gwin->was_painted()) -#else /* (jsf) Experimenting with this: */ - if (gwin->is_dirty()) -#endif - // This avoids jumpy walking: - { // OpenGL? Repaint all each time. - if (GL_manager::get_instance()) +#if HAVE_OPENGL + // OpenGL? Repaint all each time. + if (GL_manager::get_instance()) + { + // Show animation every 1/20 sec. + if (ticks > last_repaint + 50 || gwin->was_painted()) gwin->paint(); - else - gwin->paint_dirty(); - //while (ticks > last_repaint+50)last_repaint += 50; } + else +#endif + if (gwin->is_dirty()) // Note the ending else in the above #if! + gwin->paint_dirty(); + // Reset it for lerping. + last_x = last_y = -1; } Mouse::mouse->show(); // Re-display mouse. // Rotate less often if scaling and @@ -1208,7 +1224,7 @@ gwin->set_painted(); } if (!gwin->show() && // Blit to screen if necessary. - Mouse::mouse_update) // If not, did mouse change? + Mouse::mouse_update) // If not, did mouse change? Mouse::mouse->blit_dirty(); } } Modified: exult/trunk/gamewin.cc =================================================================== --- exult/trunk/gamewin.cc 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/gamewin.cc 2009-04-18 23:34:38 UTC (rev 6061) @@ -264,7 +264,7 @@ * Set renderer (OpenGL or normal SDL). */ -static void Set_renderer +void Set_renderer ( Image_window8 *win, Palette *pal @@ -278,7 +278,7 @@ { glman = new GL_manager(); // +++++Hope this is okay to do: - pal->load(PALETTES_FLX, PATCH_PALETTES, 0); // Main palette. + //pal->load(PALETTES_FLX, PATCH_PALETTES, 0); // Main palette. // This should be elsewhere, I think: unsigned char *newpal = new unsigned char[768]; for (int i = 0; i < 256; i++) Modified: exult/trunk/gumps/VideoOptions_gump.cc =================================================================== --- exult/trunk/gumps/VideoOptions_gump.cc 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/gumps/VideoOptions_gump.cc 2009-04-18 23:34:38 UTC (rev 6061) @@ -117,24 +117,29 @@ else if(btn==buttons[1]) scaling = state; else if(btn==buttons[2]) + { scaler = state; + rebuild_scale_button(); + paint(); + } else if(btn==buttons[3]) fullscreen = state; } -void VideoOptions_gump::build_buttons() +void VideoOptions_gump::rebuild_buttons() { + for (int i = 0; i < sizeof(buttons)/sizeof(buttons[0]); i++) + { + delete buttons[i]; + buttons[i] = 0; + } + // the text arrays are freed by the destructors of the buttons buttons[0] = new VideoTextToggle (this, restext, colx[4], rowy[0], 59, resolution, num_resolutions); - std::string *scalingtext = new std::string[3]; - scalingtext[0] = "x1"; - scalingtext[1] = "x2"; - scalingtext[2] = "x3"; - buttons[1] = new VideoTextToggle (this, scalingtext, colx[4], rowy[1], - 59, scaling, 3); + rebuild_scale_button(); std::string *enabledtext = new std::string[2]; enabledtext[0] = "Disabled"; @@ -150,6 +155,33 @@ scaler, Image_window::NumScalers); } +void VideoOptions_gump::rebuild_scale_button() +{ + delete buttons[1]; + buttons[1] = 0; + const int max_scales = scaling > 8 && scaling <= 16 ? scaling : 8; + const int num_scales = (scaler == Image_window::point || + scaler == Image_window::interlaced || + scaler == Image_window::OpenGL) ? max_scales : 1; + if (num_scales > 1) + { + // the text arrays is freed by the destructor of the button + std::string *scalingtext = new std::string[num_scales]; + for (int i = 0; i < num_scales; i++) + { + char buf[10]; + snprintf(buf, sizeof(buf), "x%d", i+1); + scalingtext[i] = buf; + } + buttons[1] = new VideoTextToggle (this, scalingtext, colx[4], rowy[1], + 59, scaling, num_scales); + } + else if (scaler = Image_window::Hq3x) + scaling = 2; + else + scaling = 1; +} + void VideoOptions_gump::load_settings() { int w = gwin->get_width(); @@ -195,7 +227,7 @@ load_settings(); - build_buttons(); + rebuild_buttons(); // Ok buttons[8] = new VideoOptions_button(this, oktext, colx[0], rowy[4]); @@ -240,7 +272,9 @@ buttons[i]->paint(); sman->paint_text(2, "Resolution:", x + colx[0], y + rowy[0] + 1); - sman->paint_text(2, "Scaling:", x + colx[0], y + rowy[1] + 1); + if (scaler == Image_window::point || scaler == Image_window::interlaced || + scaler == Image_window::OpenGL) + sman->paint_text(2, "Scaling:", x + colx[0], y + rowy[1] + 1); sman->paint_text(2, "Scaler:", x + colx[0], y + rowy[2] + 1); sman->paint_text(2, "Full Screen:", x + colx[0], y + rowy[3] + 1); gwin->set_painted(); Modified: exult/trunk/gumps/VideoOptions_gump.h =================================================================== --- exult/trunk/gumps/VideoOptions_gump.h 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/gumps/VideoOptions_gump.h 2009-04-18 23:34:38 UTC (rev 6061) @@ -54,7 +54,8 @@ virtual void mouse_up(int mx, int my); void toggle(Gump_button* btn, int state); - void build_buttons(); + void rebuild_buttons(); + void rebuild_scale_button(); void load_settings(); void save_settings(); Modified: exult/trunk/palette.cc =================================================================== --- exult/trunk/palette.cc 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/palette.cc 2009-04-18 23:34:38 UTC (rev 6061) @@ -157,11 +157,20 @@ apply(repaint); } +extern void Set_renderer(Image_window8 *win, Palette *pal); + void Palette::apply(bool repaint) { - win->set_palette(pal1, max_val, brightness); - if (repaint) - win->show(); +#ifdef HAVE_OPENGL + if (GL_manager::get_instance()) + Set_renderer(win, this); + else +#endif + { + win->set_palette(pal1, max_val, brightness); + if (repaint) + win->show(); + } } /** Modified: exult/trunk/shapes/glshape.cc =================================================================== --- exult/trunk/shapes/glshape.cc 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/shapes/glshape.cc 2009-04-18 23:34:38 UTC (rev 6061) @@ -68,7 +68,7 @@ // glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texsize, texsize, 0, GL_RGBA, glTexImage2D(GL_TEXTURE_2D, 0, iformat, texsize, texsize, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels); - delete pixels; + delete [] pixels; // Linear filtering. #if 0 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); @@ -231,7 +231,7 @@ delete shapes; shapes = next; } - delete palette; + delete [] palette; instance = 0; } @@ -325,7 +325,7 @@ num_shapes++; //++++++When 'too many', we'll free LRU here. } - else // Remove from chain. + else if (tex != shapes) // Remove from chain, but NOT if already the head! { if (tex->lru_next) tex->lru_next->lru_prev = tex->lru_prev; @@ -333,10 +333,13 @@ tex->lru_prev->lru_next = tex->lru_next; tex->lru_prev = 0; // It will go to the head. } - tex->lru_next = shapes; // Add to head of chain. - if (shapes) - shapes->lru_prev = tex; - shapes = tex; + if (tex != shapes) + { // NOT if already the head! + tex->lru_next = shapes; // Add to head of chain. + if (shapes) + shapes->lru_prev = tex; + shapes = tex; + } tex->paint(px, py); } Modified: exult/trunk/shapes/glshape.h =================================================================== --- exult/trunk/shapes/glshape.h 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/shapes/glshape.h 2009-04-18 23:34:38 UTC (rev 6061) @@ -51,6 +51,8 @@ GL_texshape(Image_buffer8 *src, unsigned char *pal); ~GL_texshape(); void paint(int px, int py); // Render at given position. + void disassociate() // Disassociate from frame. + { frame = 0; } }; /* Modified: exult/trunk/shapes/vgafile.h =================================================================== --- exult/trunk/shapes/vgafile.h 2009-04-17 18:50:45 UTC (rev 6060) +++ exult/trunk/shapes/vgafile.h 2009-04-18 23:34:38 UTC (rev 6061) @@ -150,7 +150,13 @@ int is_empty() { return data[0] == 0 && data[1] == 0; } virtual ~Shape_frame() - { delete [] data; } + { +#ifdef HAVE_OPENGL + if (glshape) + glshape->disassociate(); +#endif + delete [] data; + } }; /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |