diff --git a/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java b/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java
index 06743e9e7..165f3f8ef 100644
--- a/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java
+++ b/AndorsTrail/gen/com/gpl/rpg/AndorsTrail/R.java
@@ -9,37 +9,52 @@ package com.gpl.rpg.AndorsTrail;
public final class R {
public static final class array {
- public static final int preferences_attackspeed=0x7f090004;
- public static final int preferences_attackspeed_values=0x7f090005;
- public static final int preferences_display_loot=0x7f090002;
- public static final int preferences_display_loot_values=0x7f090003;
- public static final int preferences_display_scaling_factor=0x7f090008;
- public static final int preferences_display_scaling_factor_values=0x7f090009;
- public static final int preferences_movementmethod_values=0x7f090007;
- public static final int preferences_movementmethods=0x7f090006;
- public static final int questlog_includecompleted=0x7f090001;
- public static final int quick_buttons=0x7f090000;
+ public static final int loadresource_actorconditions=0x7f060000;
+ public static final int loadresource_conversationlists=0x7f060004;
+ public static final int loadresource_conversationlists_debug=0x7f06000a;
+ public static final int loadresource_droplists=0x7f060002;
+ public static final int loadresource_droplists_debug=0x7f060008;
+ public static final int loadresource_items=0x7f060001;
+ public static final int loadresource_items_debug=0x7f060007;
+ public static final int loadresource_maps=0x7f060006;
+ public static final int loadresource_maps_debug=0x7f06000c;
+ public static final int loadresource_monsters=0x7f060005;
+ public static final int loadresource_monsters_debug=0x7f06000b;
+ public static final int loadresource_quests=0x7f060003;
+ public static final int loadresource_quests_debug=0x7f060009;
+ public static final int preferences_attackspeed=0x7f060010;
+ public static final int preferences_attackspeed_values=0x7f060011;
+ public static final int preferences_display_loot=0x7f06000e;
+ public static final int preferences_display_loot_values=0x7f06000f;
+ public static final int preferences_display_scaling_factor=0x7f060014;
+ public static final int preferences_display_scaling_factor_values=0x7f060015;
+ public static final int preferences_movement_dpad_positions=0x7f060016;
+ public static final int preferences_movement_dpad_positions_values=0x7f060017;
+ public static final int preferences_movementmethod_values=0x7f060013;
+ public static final int preferences_movementmethods=0x7f060012;
+ public static final int questlog_includecompleted=0x7f06000d;
+ public static final int quick_buttons=0x7f060018;
}
public static final class attr {
}
public static final class color {
- public static final int translucent_black=0x7f060000;
+ public static final int translucent_black=0x7f070000;
}
public static final class dimen {
- public static final int actionbar_text=0x7f07000c;
- public static final int boxshape_margin=0x7f070007;
- public static final int boxshape_width=0x7f070008;
- public static final int conversation_statementpadding=0x7f07000a;
- public static final int conversation_textsize=0x7f07000b;
- public static final int dialog_iconpadding_bottom=0x7f070006;
- public static final int dialog_iconpadding_right=0x7f070005;
- public static final int dialog_margin=0x7f070004;
- public static final int healthbar_height=0x7f070003;
- public static final int section_margin=0x7f070009;
- public static final int smalltext=0x7f070000;
- public static final int smalltext_buttonheight=0x7f070001;
- public static final int statusbar_text=0x7f07000d;
- public static final int titletext=0x7f070002;
+ public static final int actionbar_text=0x7f08000c;
+ public static final int boxshape_margin=0x7f080007;
+ public static final int boxshape_width=0x7f080008;
+ public static final int conversation_statementpadding=0x7f08000a;
+ public static final int conversation_textsize=0x7f08000b;
+ public static final int dialog_iconpadding_bottom=0x7f080006;
+ public static final int dialog_iconpadding_right=0x7f080005;
+ public static final int dialog_margin=0x7f080004;
+ public static final int healthbar_height=0x7f080003;
+ public static final int section_margin=0x7f080009;
+ public static final int smalltext=0x7f080000;
+ public static final int smalltext_buttonheight=0x7f080001;
+ public static final int statusbar_text=0x7f08000d;
+ public static final int titletext=0x7f080002;
}
public static final class drawable {
public static final int andors_trail_logo=0x7f020000;
@@ -111,185 +126,187 @@ public final class R {
public static final int ui_blue_foreground=0x7f020042;
public static final int ui_boxshape=0x7f020043;
public static final int ui_debug_background=0x7f020044;
- public static final int ui_gradientshape=0x7f020045;
- public static final int ui_gradientshape_translucent=0x7f020046;
- public static final int ui_green_foreground=0x7f020047;
- public static final int ui_progress_ap=0x7f020048;
- public static final int ui_progress_exp=0x7f020049;
- public static final int ui_progress_health=0x7f02004a;
- public static final int ui_purple_foreground=0x7f02004b;
- public static final int ui_red_foreground=0x7f02004c;
- public static final int ui_startbackground=0x7f02004d;
- public static final int ui_statustext=0x7f02004e;
- public static final int ui_yellow_foreground=0x7f02004f;
+ public static final int ui_dpad=0x7f020045;
+ public static final int ui_gradientshape=0x7f020046;
+ public static final int ui_gradientshape_translucent=0x7f020047;
+ public static final int ui_green_foreground=0x7f020048;
+ public static final int ui_progress_ap=0x7f020049;
+ public static final int ui_progress_exp=0x7f02004a;
+ public static final int ui_progress_health=0x7f02004b;
+ public static final int ui_purple_foreground=0x7f02004c;
+ public static final int ui_red_foreground=0x7f02004d;
+ public static final int ui_startbackground=0x7f02004e;
+ public static final int ui_statustext=0x7f02004f;
+ public static final int ui_yellow_foreground=0x7f020050;
}
public static final class id {
- public static final int about_button1=0x7f080004;
- public static final int about_button2=0x7f080005;
- public static final int about_button3=0x7f080006;
- public static final int about_contents=0x7f080007;
- public static final int about_version=0x7f080003;
- public static final int combatview_actionbar=0x7f080008;
- public static final int combatview_endturn=0x7f08000b;
- public static final int combatview_flee=0x7f08000a;
- public static final int combatview_monsterbar=0x7f08000e;
- public static final int combatview_monsterhealth=0x7f080010;
- public static final int combatview_monsterinfo=0x7f08000f;
- public static final int combatview_monsterismoving=0x7f08000d;
- public static final int combatview_moveattack=0x7f080009;
- public static final int combatview_status=0x7f08000c;
- public static final int conversation_image=0x7f080014;
- public static final int conversation_leave=0x7f080013;
- public static final int conversation_next=0x7f080012;
- public static final int conversation_statements=0x7f080011;
- public static final int conversation_text=0x7f080015;
- public static final int heroinfo_ap=0x7f080027;
- public static final int heroinfo_currentconditions=0x7f08002e;
- public static final int heroinfo_currentconditions_title=0x7f08002d;
- public static final int heroinfo_currenttraits=0x7f08002b;
- public static final int heroinfo_expbar=0x7f08002a;
- public static final int heroinfo_healthbar=0x7f080029;
- public static final int heroinfo_image=0x7f080023;
- public static final int heroinfo_itemeffects=0x7f08002c;
- public static final int heroinfo_level=0x7f080025;
- public static final int heroinfo_levelup=0x7f08002f;
- public static final int heroinfo_movecost=0x7f080028;
- public static final int heroinfo_quests=0x7f080030;
- public static final int heroinfo_stats_attack=0x7f080032;
- public static final int heroinfo_stats_defense=0x7f080033;
- public static final int heroinfo_stats_gold=0x7f080031;
- public static final int heroinfo_tab1=0x7f080016;
- public static final int heroinfo_tab2=0x7f080017;
- public static final int heroinfo_title=0x7f080024;
- public static final int heroinfo_totalexperience=0x7f080026;
- public static final int heroinfo_worn_body=0x7f08001a;
- public static final int heroinfo_worn_center=0x7f080018;
- public static final int heroinfo_worn_feet=0x7f08001d;
- public static final int heroinfo_worn_hand=0x7f08001c;
- public static final int heroinfo_worn_head=0x7f080019;
- public static final int heroinfo_worn_neck=0x7f08001b;
- public static final int heroinfo_worn_ringleft=0x7f08001f;
- public static final int heroinfo_worn_ringright=0x7f080021;
- public static final int heroinfo_worn_shield=0x7f080020;
- public static final int heroinfo_worn_weapon=0x7f08001e;
- public static final int inv_assign_slot1=0x7f0800a3;
- public static final int inv_assign_slot2=0x7f0800a4;
- public static final int inv_assign_slot3=0x7f0800a5;
- public static final int inv_image=0x7f080034;
- public static final int inv_menu_assign=0x7f0800a2;
- public static final int inv_menu_drop=0x7f0800a1;
- public static final int inv_menu_equip=0x7f08009e;
- public static final int inv_menu_info=0x7f08009d;
- public static final int inv_menu_unequip=0x7f08009f;
- public static final int inv_menu_use=0x7f0800a0;
- public static final int inv_text=0x7f080035;
- public static final int inventorylist_root=0x7f080022;
- public static final int itemeffect_onequip_change_maxap=0x7f080039;
- public static final int itemeffect_onequip_change_maxhp=0x7f080038;
- public static final int itemeffect_onequip_change_movecost=0x7f08003a;
- public static final int itemeffect_onequip_conditions=0x7f08003b;
- public static final int itemeffect_onequip_title=0x7f080036;
- public static final int itemeffect_onequip_traits=0x7f080037;
- public static final int itemeffect_onhit=0x7f08003f;
- public static final int itemeffect_onhit_title=0x7f08003e;
- public static final int itemeffect_onkill=0x7f080041;
- public static final int itemeffect_onkill_title=0x7f080040;
- public static final int itemeffect_onuse=0x7f08003d;
- public static final int itemeffect_onuse_conditions_source=0x7f080044;
- public static final int itemeffect_onuse_conditions_source_title=0x7f080043;
- public static final int itemeffect_onuse_conditions_target=0x7f080046;
- public static final int itemeffect_onuse_conditions_target_title=0x7f080045;
- public static final int itemeffect_onuse_list=0x7f080042;
- public static final int itemeffect_onuse_title=0x7f08003c;
- public static final int iteminfo_action=0x7f08004b;
- public static final int iteminfo_category=0x7f080049;
- public static final int iteminfo_close=0x7f08004c;
- public static final int iteminfo_effects=0x7f08004a;
- public static final int iteminfo_image=0x7f080047;
- public static final int iteminfo_title=0x7f080048;
- public static final int levelup_add_attackchance=0x7f080051;
- public static final int levelup_add_attackdamage=0x7f080052;
- public static final int levelup_add_blockchance=0x7f080053;
- public static final int levelup_add_health=0x7f080050;
- public static final int levelup_description=0x7f08004f;
- public static final int levelup_image=0x7f08004e;
- public static final int levelup_titlelayout=0x7f08004d;
- public static final int loadsave_description=0x7f080057;
- public static final int loadsave_image=0x7f080055;
- public static final int loadsave_slot_1=0x7f080058;
- public static final int loadsave_slot_2=0x7f080059;
- public static final int loadsave_slot_3=0x7f08005a;
- public static final int loadsave_slot_4=0x7f08005b;
- public static final int loadsave_title=0x7f080056;
- public static final int loadsave_titlelayout=0x7f080054;
- public static final int main_combatview=0x7f08005f;
- public static final int main_container=0x7f08005c;
- public static final int main_mainview=0x7f080060;
- public static final int main_quickitemview=0x7f08005e;
- public static final int main_statusview=0x7f08005d;
- public static final int monsterencounter_attack=0x7f080066;
- public static final int monsterencounter_cancel=0x7f080068;
- public static final int monsterencounter_description=0x7f080065;
- public static final int monsterencounter_image=0x7f080063;
- public static final int monsterencounter_info=0x7f080067;
- public static final int monsterencounter_title=0x7f080064;
- public static final int monsterinfo_close=0x7f08006f;
- public static final int monsterinfo_currenttraits=0x7f08006d;
- public static final int monsterinfo_difficulty=0x7f08006b;
- public static final int monsterinfo_healthbar=0x7f08006c;
- public static final int monsterinfo_image=0x7f080069;
- public static final int monsterinfo_onhiteffects=0x7f08006e;
- public static final int monsterinfo_title=0x7f08006a;
- public static final int questlog_contents=0x7f080071;
- public static final int questlog_entrytext=0x7f080072;
- public static final int questlog_includecompleted=0x7f080070;
- public static final int quick_menu_assign=0x7f080000;
- public static final int quick_menu_assign_group=0x7f080001;
- public static final int quick_menu_unassign=0x7f080002;
- public static final int quickitem_toggle=0x7f08008c;
- public static final int quickitemview_item1=0x7f080073;
- public static final int quickitemview_item2=0x7f080074;
- public static final int quickitemview_item3=0x7f080075;
- public static final int rangebar_label=0x7f080076;
- public static final int rangebar_progress=0x7f080077;
- public static final int rangebar_text=0x7f080078;
- public static final int shop_buy_gc=0x7f08007a;
- public static final int shop_buy_list=0x7f08007b;
- public static final int shop_sell_gc=0x7f08007d;
- public static final int shop_sell_list=0x7f08007e;
- public static final int shop_tab1=0x7f080079;
- public static final int shop_tab2=0x7f08007c;
- public static final int shopitem_image=0x7f08007f;
- public static final int shopitem_infobutton=0x7f080081;
- public static final int shopitem_shopbutton=0x7f080080;
- public static final int shopitem_text=0x7f080082;
- public static final int startscreen_about=0x7f080089;
- public static final int startscreen_continue=0x7f080086;
- public static final int startscreen_currenthero=0x7f080083;
- public static final int startscreen_enterheroname=0x7f080084;
- public static final int startscreen_load=0x7f080088;
- public static final int startscreen_newgame=0x7f080087;
- public static final int startscreen_quit=0x7f08008a;
- public static final int startscreen_version=0x7f080085;
- public static final int status_image=0x7f08008b;
- public static final int statusview_activeconditions=0x7f080062;
- public static final int statusview_exp=0x7f08008e;
- public static final int statusview_health=0x7f08008d;
- public static final int statusview_statustext=0x7f080061;
- public static final int traitsinfo_attack_chance=0x7f080092;
- public static final int traitsinfo_attack_cost=0x7f080090;
- public static final int traitsinfo_attack_damage=0x7f080094;
- public static final int traitsinfo_attack_row1=0x7f08008f;
- public static final int traitsinfo_attack_row2=0x7f080091;
- public static final int traitsinfo_attack_row3=0x7f080093;
- public static final int traitsinfo_critical_row1=0x7f080095;
- public static final int traitsinfo_critical_row2=0x7f080097;
- public static final int traitsinfo_criticalhit_chance=0x7f080096;
- public static final int traitsinfo_criticalhit_multiplier=0x7f080098;
- public static final int traitsinfo_defense_chance=0x7f08009a;
- public static final int traitsinfo_defense_damageresist=0x7f08009c;
- public static final int traitsinfo_defense_row1=0x7f080099;
- public static final int traitsinfo_defense_row2=0x7f08009b;
+ public static final int about_button1=0x7f090004;
+ public static final int about_button2=0x7f090005;
+ public static final int about_button3=0x7f090006;
+ public static final int about_contents=0x7f090007;
+ public static final int about_version=0x7f090003;
+ public static final int combatview_actionbar=0x7f090008;
+ public static final int combatview_endturn=0x7f09000b;
+ public static final int combatview_flee=0x7f09000a;
+ public static final int combatview_monsterbar=0x7f09000e;
+ public static final int combatview_monsterhealth=0x7f090010;
+ public static final int combatview_monsterinfo=0x7f09000f;
+ public static final int combatview_monsterismoving=0x7f09000d;
+ public static final int combatview_moveattack=0x7f090009;
+ public static final int combatview_status=0x7f09000c;
+ public static final int conversation_image=0x7f090014;
+ public static final int conversation_leave=0x7f090013;
+ public static final int conversation_next=0x7f090012;
+ public static final int conversation_statements=0x7f090011;
+ public static final int conversation_text=0x7f090015;
+ public static final int heroinfo_ap=0x7f090027;
+ public static final int heroinfo_currentconditions=0x7f09002e;
+ public static final int heroinfo_currentconditions_title=0x7f09002d;
+ public static final int heroinfo_currenttraits=0x7f09002b;
+ public static final int heroinfo_expbar=0x7f09002a;
+ public static final int heroinfo_healthbar=0x7f090029;
+ public static final int heroinfo_image=0x7f090023;
+ public static final int heroinfo_itemeffects=0x7f09002c;
+ public static final int heroinfo_level=0x7f090025;
+ public static final int heroinfo_levelup=0x7f09002f;
+ public static final int heroinfo_movecost=0x7f090028;
+ public static final int heroinfo_quests=0x7f090030;
+ public static final int heroinfo_stats_attack=0x7f090032;
+ public static final int heroinfo_stats_defense=0x7f090033;
+ public static final int heroinfo_stats_gold=0x7f090031;
+ public static final int heroinfo_tab1=0x7f090016;
+ public static final int heroinfo_tab2=0x7f090017;
+ public static final int heroinfo_title=0x7f090024;
+ public static final int heroinfo_totalexperience=0x7f090026;
+ public static final int heroinfo_worn_body=0x7f09001a;
+ public static final int heroinfo_worn_center=0x7f090018;
+ public static final int heroinfo_worn_feet=0x7f09001d;
+ public static final int heroinfo_worn_hand=0x7f09001c;
+ public static final int heroinfo_worn_head=0x7f090019;
+ public static final int heroinfo_worn_neck=0x7f09001b;
+ public static final int heroinfo_worn_ringleft=0x7f09001f;
+ public static final int heroinfo_worn_ringright=0x7f090021;
+ public static final int heroinfo_worn_shield=0x7f090020;
+ public static final int heroinfo_worn_weapon=0x7f09001e;
+ public static final int inv_assign_slot1=0x7f0900a4;
+ public static final int inv_assign_slot2=0x7f0900a5;
+ public static final int inv_assign_slot3=0x7f0900a6;
+ public static final int inv_image=0x7f090034;
+ public static final int inv_menu_assign=0x7f0900a3;
+ public static final int inv_menu_drop=0x7f0900a2;
+ public static final int inv_menu_equip=0x7f09009f;
+ public static final int inv_menu_info=0x7f09009e;
+ public static final int inv_menu_unequip=0x7f0900a0;
+ public static final int inv_menu_use=0x7f0900a1;
+ public static final int inv_text=0x7f090035;
+ public static final int inventorylist_root=0x7f090022;
+ public static final int itemeffect_onequip_change_maxap=0x7f090039;
+ public static final int itemeffect_onequip_change_maxhp=0x7f090038;
+ public static final int itemeffect_onequip_change_movecost=0x7f09003a;
+ public static final int itemeffect_onequip_conditions=0x7f09003b;
+ public static final int itemeffect_onequip_title=0x7f090036;
+ public static final int itemeffect_onequip_traits=0x7f090037;
+ public static final int itemeffect_onhit=0x7f09003f;
+ public static final int itemeffect_onhit_title=0x7f09003e;
+ public static final int itemeffect_onkill=0x7f090041;
+ public static final int itemeffect_onkill_title=0x7f090040;
+ public static final int itemeffect_onuse=0x7f09003d;
+ public static final int itemeffect_onuse_conditions_source=0x7f090044;
+ public static final int itemeffect_onuse_conditions_source_title=0x7f090043;
+ public static final int itemeffect_onuse_conditions_target=0x7f090046;
+ public static final int itemeffect_onuse_conditions_target_title=0x7f090045;
+ public static final int itemeffect_onuse_list=0x7f090042;
+ public static final int itemeffect_onuse_title=0x7f09003c;
+ public static final int iteminfo_action=0x7f09004b;
+ public static final int iteminfo_category=0x7f090049;
+ public static final int iteminfo_close=0x7f09004c;
+ public static final int iteminfo_effects=0x7f09004a;
+ public static final int iteminfo_image=0x7f090047;
+ public static final int iteminfo_title=0x7f090048;
+ public static final int levelup_add_attackchance=0x7f090051;
+ public static final int levelup_add_attackdamage=0x7f090052;
+ public static final int levelup_add_blockchance=0x7f090053;
+ public static final int levelup_add_health=0x7f090050;
+ public static final int levelup_description=0x7f09004f;
+ public static final int levelup_image=0x7f09004e;
+ public static final int levelup_titlelayout=0x7f09004d;
+ public static final int loadsave_description=0x7f090057;
+ public static final int loadsave_image=0x7f090055;
+ public static final int loadsave_slot_1=0x7f090058;
+ public static final int loadsave_slot_2=0x7f090059;
+ public static final int loadsave_slot_3=0x7f09005a;
+ public static final int loadsave_slot_4=0x7f09005b;
+ public static final int loadsave_title=0x7f090056;
+ public static final int loadsave_titlelayout=0x7f090054;
+ public static final int main_combatview=0x7f09005f;
+ public static final int main_container=0x7f09005c;
+ public static final int main_mainview=0x7f090060;
+ public static final int main_quickitemview=0x7f09005e;
+ public static final int main_statusview=0x7f09005d;
+ public static final int main_virtual_dpad=0x7f090063;
+ public static final int monsterencounter_attack=0x7f090067;
+ public static final int monsterencounter_cancel=0x7f090069;
+ public static final int monsterencounter_description=0x7f090066;
+ public static final int monsterencounter_image=0x7f090064;
+ public static final int monsterencounter_info=0x7f090068;
+ public static final int monsterencounter_title=0x7f090065;
+ public static final int monsterinfo_close=0x7f090070;
+ public static final int monsterinfo_currenttraits=0x7f09006e;
+ public static final int monsterinfo_difficulty=0x7f09006c;
+ public static final int monsterinfo_healthbar=0x7f09006d;
+ public static final int monsterinfo_image=0x7f09006a;
+ public static final int monsterinfo_onhiteffects=0x7f09006f;
+ public static final int monsterinfo_title=0x7f09006b;
+ public static final int questlog_contents=0x7f090072;
+ public static final int questlog_entrytext=0x7f090073;
+ public static final int questlog_includecompleted=0x7f090071;
+ public static final int quick_menu_assign=0x7f090000;
+ public static final int quick_menu_assign_group=0x7f090001;
+ public static final int quick_menu_unassign=0x7f090002;
+ public static final int quickitem_toggle=0x7f09008d;
+ public static final int quickitemview_item1=0x7f090074;
+ public static final int quickitemview_item2=0x7f090075;
+ public static final int quickitemview_item3=0x7f090076;
+ public static final int rangebar_label=0x7f090077;
+ public static final int rangebar_progress=0x7f090078;
+ public static final int rangebar_text=0x7f090079;
+ public static final int shop_buy_gc=0x7f09007b;
+ public static final int shop_buy_list=0x7f09007c;
+ public static final int shop_sell_gc=0x7f09007e;
+ public static final int shop_sell_list=0x7f09007f;
+ public static final int shop_tab1=0x7f09007a;
+ public static final int shop_tab2=0x7f09007d;
+ public static final int shopitem_image=0x7f090080;
+ public static final int shopitem_infobutton=0x7f090082;
+ public static final int shopitem_shopbutton=0x7f090081;
+ public static final int shopitem_text=0x7f090083;
+ public static final int startscreen_about=0x7f09008a;
+ public static final int startscreen_continue=0x7f090087;
+ public static final int startscreen_currenthero=0x7f090084;
+ public static final int startscreen_enterheroname=0x7f090085;
+ public static final int startscreen_load=0x7f090089;
+ public static final int startscreen_newgame=0x7f090088;
+ public static final int startscreen_quit=0x7f09008b;
+ public static final int startscreen_version=0x7f090086;
+ public static final int status_image=0x7f09008c;
+ public static final int statusview_activeconditions=0x7f090062;
+ public static final int statusview_exp=0x7f09008f;
+ public static final int statusview_health=0x7f09008e;
+ public static final int statusview_statustext=0x7f090061;
+ public static final int traitsinfo_attack_chance=0x7f090093;
+ public static final int traitsinfo_attack_cost=0x7f090091;
+ public static final int traitsinfo_attack_damage=0x7f090095;
+ public static final int traitsinfo_attack_row1=0x7f090090;
+ public static final int traitsinfo_attack_row2=0x7f090092;
+ public static final int traitsinfo_attack_row3=0x7f090094;
+ public static final int traitsinfo_critical_row1=0x7f090096;
+ public static final int traitsinfo_critical_row2=0x7f090098;
+ public static final int traitsinfo_criticalhit_chance=0x7f090097;
+ public static final int traitsinfo_criticalhit_multiplier=0x7f090099;
+ public static final int traitsinfo_defense_chance=0x7f09009b;
+ public static final int traitsinfo_defense_damageresist=0x7f09009d;
+ public static final int traitsinfo_defense_row1=0x7f09009a;
+ public static final int traitsinfo_defense_row2=0x7f09009c;
}
public static final class layout {
public static final int about=0x7f030000;
@@ -324,13 +341,13 @@ public final class R {
public static final int inventoryitem=0x7f0b0000;
}
public static final class string {
- public static final int about_button1=0x7f050109;
- public static final int about_button2=0x7f05010a;
- public static final int about_button3=0x7f05010b;
- public static final int about_contents1=0x7f05010c;
/** Do not translate this.
*/
- public static final int about_contents2=0x7f05010d;
+ public static final int about_authors=0x7f050000;
+ public static final int about_button1=0x7f05010a;
+ public static final int about_button2=0x7f05010b;
+ public static final int about_button3=0x7f05010c;
+ public static final int about_contents1=0x7f05010d;
/**
This is the GNU GPL v2 text, originally from
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
@@ -345,13 +362,13 @@ public final class R {
Translated as: affliction / statuseffect / temporary effect
*/
public static final int actorcondition_info_removes_all=0x7f050127;
- public static final int actorconditions_v069=0x7f050000;
- public static final int actorconditions_v069_bwm=0x7f050001;
- public static final int actorinfo_attack=0x7f0500c7;
- public static final int actorinfo_attacksperturn=0x7f0500c5;
- public static final int actorinfo_basetraits=0x7f0500cb;
- public static final int actorinfo_class=0x7f0500c2;
- public static final int actorinfo_criticalhit=0x7f0500c8;
+ public static final int actorconditions_v069=0x7f050001;
+ public static final int actorconditions_v069_bwm=0x7f050002;
+ public static final int actorinfo_attack=0x7f0500c8;
+ public static final int actorinfo_attacksperturn=0x7f0500c6;
+ public static final int actorinfo_basetraits=0x7f0500cc;
+ public static final int actorinfo_class=0x7f0500c3;
+ public static final int actorinfo_criticalhit=0x7f0500c9;
/** ===========================================
Added in v0.6.9
===========================================
@@ -362,209 +379,209 @@ public final class R {
Added in v0.6.9
*/
public static final int actorinfo_currentconditions=0x7f050126;
- public static final int actorinfo_currenttraits=0x7f0500cc;
- public static final int actorinfo_defense=0x7f0500c9;
- public static final int actorinfo_difficulty=0x7f0500c3;
- public static final int actorinfo_health=0x7f0500c4;
- public static final int actorinfo_movecost=0x7f0500ca;
- public static final int actorinfo_movesperturn=0x7f0500c6;
- public static final int app_name=0x7f05006c;
- public static final int combat_attack=0x7f050098;
- public static final int combat_begin_flee=0x7f05009e;
- public static final int combat_endturn=0x7f05009c;
+ public static final int actorinfo_currenttraits=0x7f0500cd;
+ public static final int actorinfo_defense=0x7f0500ca;
+ public static final int actorinfo_difficulty=0x7f0500c4;
+ public static final int actorinfo_health=0x7f0500c5;
+ public static final int actorinfo_movecost=0x7f0500cb;
+ public static final int actorinfo_movesperturn=0x7f0500c7;
+ public static final int app_name=0x7f05006d;
+ public static final int combat_attack=0x7f050099;
+ public static final int combat_begin_flee=0x7f05009f;
+ public static final int combat_endturn=0x7f05009d;
/** End combat
Kampf beenden
End combat
End combat
End combat
*/
- public static final int combat_flee=0x7f05009d;
- public static final int combat_flee_failed=0x7f05009f;
- public static final int combat_hero_dies=0x7f0500ab;
- public static final int combat_monsteraction=0x7f0500a2;
- public static final int combat_monsterhealth=0x7f0500a1;
- public static final int combat_move=0x7f050099;
- public static final int combat_not_enough_ap=0x7f0500aa;
- public static final int combat_result_herohit=0x7f0500a7;
- public static final int combat_result_herohitcritical=0x7f0500a8;
- public static final int combat_result_herokillsmonster=0x7f0500a9;
- public static final int combat_result_heromiss=0x7f0500a6;
- public static final int combat_result_monsterhit=0x7f0500a4;
- public static final int combat_result_monsterhitcritical=0x7f0500a5;
+ public static final int combat_flee=0x7f05009e;
+ public static final int combat_flee_failed=0x7f0500a0;
+ public static final int combat_hero_dies=0x7f0500ac;
+ public static final int combat_monsteraction=0x7f0500a3;
+ public static final int combat_monsterhealth=0x7f0500a2;
+ public static final int combat_move=0x7f05009a;
+ public static final int combat_not_enough_ap=0x7f0500ab;
+ public static final int combat_result_herohit=0x7f0500a8;
+ public static final int combat_result_herohitcritical=0x7f0500a9;
+ public static final int combat_result_herokillsmonster=0x7f0500aa;
+ public static final int combat_result_heromiss=0x7f0500a7;
+ public static final int combat_result_monsterhit=0x7f0500a5;
+ public static final int combat_result_monsterhitcritical=0x7f0500a6;
/** You cannot exit combat since there are adjacent monsters. You first have to move by long-clicking a place with no adjacent monster, before you may end the combat.
- Du kannst den Kampf nicht verlassen, weil noch Gegner in der Nähe sind.Du musst dich zunächst auf ein Feld bewegen, wo dich die Gegner nicht mehr erreichen können.
+ Du kannst den Kampf nicht verlassen, weil noch Gegner in der Nähe sind. Du musst dich zunächst auf ein Feld bewegen, wo dich die Gegner nicht mehr erreichen können.
You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat.
You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat.
You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat.
*/
- public static final int combat_result_monstermiss=0x7f0500a3;
- public static final int combat_spell=0x7f05009b;
- public static final int combat_status_ap=0x7f0500a0;
- public static final int combat_use=0x7f05009a;
- public static final int conversation_leave=0x7f0500f2;
- public static final int conversation_lostgold=0x7f0500ee;
- public static final int conversation_next=0x7f0500f1;
+ public static final int combat_result_monstermiss=0x7f0500a4;
+ public static final int combat_spell=0x7f05009c;
+ public static final int combat_status_ap=0x7f0500a1;
+ public static final int combat_use=0x7f05009b;
+ public static final int conversation_leave=0x7f0500f3;
+ public static final int conversation_lostgold=0x7f0500ef;
+ public static final int conversation_next=0x7f0500f2;
/** %1$s says
%1$s sagt
%1$s Dit
*/
- public static final int conversation_rewardexp=0x7f0500ec;
- public static final int conversation_rewardgold=0x7f0500ed;
- public static final int conversation_rewarditem=0x7f0500ef;
- public static final int conversation_rewarditems=0x7f0500f0;
- public static final int conversation_title=0x7f050142;
- public static final int conversationlist_alynndir=0x7f050026;
- public static final int conversationlist_ambelie=0x7f05002a;
- public static final int conversationlist_blackwater_harlenn=0x7f05003d;
- public static final int conversationlist_blackwater_herec=0x7f050040;
- public static final int conversationlist_blackwater_kazaul=0x7f050045;
- public static final int conversationlist_blackwater_lower=0x7f05003f;
- public static final int conversationlist_blackwater_signs=0x7f05003c;
- public static final int conversationlist_blackwater_throdna=0x7f050044;
- public static final int conversationlist_blackwater_upper=0x7f05003e;
- public static final int conversationlist_bwm_agent_1=0x7f050031;
- public static final int conversationlist_bwm_agent_2=0x7f050032;
- public static final int conversationlist_bwm_agent_3=0x7f050033;
- public static final int conversationlist_bwm_agent_4=0x7f050034;
- public static final int conversationlist_bwm_agent_5=0x7f050035;
- public static final int conversationlist_bwm_agent_6=0x7f050036;
- public static final int conversationlist_crossglen=0x7f050005;
- public static final int conversationlist_crossglen_gruil=0x7f050007;
- public static final int conversationlist_crossglen_leonid=0x7f050008;
- public static final int conversationlist_crossglen_leta=0x7f050004;
- public static final int conversationlist_crossglen_odair=0x7f050009;
- public static final int conversationlist_crossglen_tharal=0x7f050006;
- public static final int conversationlist_debug=0x7f050002;
- public static final int conversationlist_fallhaven=0x7f05000b;
- public static final int conversationlist_fallhaven_arcir=0x7f050011;
- public static final int conversationlist_fallhaven_athamyr=0x7f050013;
- public static final int conversationlist_fallhaven_bucus=0x7f05000c;
- public static final int conversationlist_fallhaven_church=0x7f050012;
- public static final int conversationlist_fallhaven_drunk=0x7f05000d;
- public static final int conversationlist_fallhaven_gaela=0x7f050016;
- public static final int conversationlist_fallhaven_larcal=0x7f050014;
- public static final int conversationlist_fallhaven_nocmar=0x7f05000f;
- public static final int conversationlist_fallhaven_oldman=0x7f05000e;
- public static final int conversationlist_fallhaven_south=0x7f05001b;
- public static final int conversationlist_fallhaven_tavern=0x7f050010;
- public static final int conversationlist_fallhaven_unnmir=0x7f050015;
- public static final int conversationlist_fallhaven_unzel=0x7f050018;
- public static final int conversationlist_fallhaven_vacor=0x7f050017;
- public static final int conversationlist_fallhaven_warden=0x7f05001f;
- public static final int conversationlist_farrik=0x7f05001e;
- public static final int conversationlist_flagstone=0x7f05001a;
- public static final int conversationlist_foamingflask=0x7f050029;
- public static final int conversationlist_foamingflask_guards=0x7f05002b;
- public static final int conversationlist_foamingflask_outsideguard=0x7f05002c;
- public static final int conversationlist_jan=0x7f05000a;
- public static final int conversationlist_jolnor=0x7f050025;
- public static final int conversationlist_kaori=0x7f050021;
- public static final int conversationlist_maelveon=0x7f050030;
- public static final int conversationlist_mikhail=0x7f050003;
- public static final int conversationlist_ogam=0x7f050028;
- public static final int conversationlist_oluag=0x7f05002e;
- public static final int conversationlist_prim_arghest=0x7f050037;
- public static final int conversationlist_prim_bjorgur=0x7f050041;
- public static final int conversationlist_prim_fulus=0x7f050042;
- public static final int conversationlist_prim_guthbered=0x7f05003b;
- public static final int conversationlist_prim_inn=0x7f050039;
- public static final int conversationlist_prim_merchants=0x7f050043;
- public static final int conversationlist_prim_outside=0x7f050038;
- public static final int conversationlist_prim_tavern=0x7f05003a;
- public static final int conversationlist_shops=0x7f050027;
- public static final int conversationlist_signs_pre067=0x7f05001c;
- public static final int conversationlist_signs_v068=0x7f05002f;
- public static final int conversationlist_thievesguild_1=0x7f05001d;
- public static final int conversationlist_umar=0x7f050020;
- public static final int conversationlist_vilegard_erttu=0x7f050023;
- public static final int conversationlist_vilegard_tavern=0x7f050024;
- public static final int conversationlist_vilegard_villagers=0x7f050022;
- public static final int conversationlist_wilderness=0x7f050019;
- public static final int conversationlist_wrye=0x7f05002d;
- public static final int dialog_close=0x7f05007e;
- public static final int dialog_confirmexit_message=0x7f050080;
- public static final int dialog_confirmexit_title=0x7f05007f;
- public static final int dialog_groundloot_message=0x7f0500b8;
- public static final int dialog_groundloot_title=0x7f0500b7;
- public static final int dialog_loading_failed_incorrectversion=0x7f05007d;
- public static final int dialog_loading_failed_message=0x7f05007c;
- public static final int dialog_loading_failed_title=0x7f05007b;
- public static final int dialog_loading_message=0x7f05007a;
- public static final int dialog_loot_foundgold=0x7f0500b5;
- public static final int dialog_loot_pickall=0x7f0500b4;
- public static final int dialog_loot_pickedupitems=0x7f0500b6;
- public static final int dialog_monsterencounter_info=0x7f050086;
- public static final int dialog_monsterencounter_message=0x7f050085;
- public static final int dialog_monsterencounter_title=0x7f050084;
- public static final int dialog_monsterloot_gainedexp=0x7f0500bb;
- public static final int dialog_monsterloot_message=0x7f0500ba;
- public static final int dialog_monsterloot_title=0x7f0500b9;
+ public static final int conversation_rewardexp=0x7f0500ed;
+ public static final int conversation_rewardgold=0x7f0500ee;
+ public static final int conversation_rewarditem=0x7f0500f0;
+ public static final int conversation_rewarditems=0x7f0500f1;
+ public static final int conversation_title=0x7f050144;
+ public static final int conversationlist_alynndir=0x7f050027;
+ public static final int conversationlist_ambelie=0x7f05002b;
+ public static final int conversationlist_blackwater_harlenn=0x7f05003e;
+ public static final int conversationlist_blackwater_herec=0x7f050041;
+ public static final int conversationlist_blackwater_kazaul=0x7f050046;
+ public static final int conversationlist_blackwater_lower=0x7f050040;
+ public static final int conversationlist_blackwater_signs=0x7f05003d;
+ public static final int conversationlist_blackwater_throdna=0x7f050045;
+ public static final int conversationlist_blackwater_upper=0x7f05003f;
+ public static final int conversationlist_bwm_agent_1=0x7f050032;
+ public static final int conversationlist_bwm_agent_2=0x7f050033;
+ public static final int conversationlist_bwm_agent_3=0x7f050034;
+ public static final int conversationlist_bwm_agent_4=0x7f050035;
+ public static final int conversationlist_bwm_agent_5=0x7f050036;
+ public static final int conversationlist_bwm_agent_6=0x7f050037;
+ public static final int conversationlist_crossglen=0x7f050006;
+ public static final int conversationlist_crossglen_gruil=0x7f050008;
+ public static final int conversationlist_crossglen_leonid=0x7f050009;
+ public static final int conversationlist_crossglen_leta=0x7f050005;
+ public static final int conversationlist_crossglen_odair=0x7f05000a;
+ public static final int conversationlist_crossglen_tharal=0x7f050007;
+ public static final int conversationlist_debug=0x7f050003;
+ public static final int conversationlist_fallhaven=0x7f05000c;
+ public static final int conversationlist_fallhaven_arcir=0x7f050012;
+ public static final int conversationlist_fallhaven_athamyr=0x7f050014;
+ public static final int conversationlist_fallhaven_bucus=0x7f05000d;
+ public static final int conversationlist_fallhaven_church=0x7f050013;
+ public static final int conversationlist_fallhaven_drunk=0x7f05000e;
+ public static final int conversationlist_fallhaven_gaela=0x7f050017;
+ public static final int conversationlist_fallhaven_larcal=0x7f050015;
+ public static final int conversationlist_fallhaven_nocmar=0x7f050010;
+ public static final int conversationlist_fallhaven_oldman=0x7f05000f;
+ public static final int conversationlist_fallhaven_south=0x7f05001c;
+ public static final int conversationlist_fallhaven_tavern=0x7f050011;
+ public static final int conversationlist_fallhaven_unnmir=0x7f050016;
+ public static final int conversationlist_fallhaven_unzel=0x7f050019;
+ public static final int conversationlist_fallhaven_vacor=0x7f050018;
+ public static final int conversationlist_fallhaven_warden=0x7f050020;
+ public static final int conversationlist_farrik=0x7f05001f;
+ public static final int conversationlist_flagstone=0x7f05001b;
+ public static final int conversationlist_foamingflask=0x7f05002a;
+ public static final int conversationlist_foamingflask_guards=0x7f05002c;
+ public static final int conversationlist_foamingflask_outsideguard=0x7f05002d;
+ public static final int conversationlist_jan=0x7f05000b;
+ public static final int conversationlist_jolnor=0x7f050026;
+ public static final int conversationlist_kaori=0x7f050022;
+ public static final int conversationlist_maelveon=0x7f050031;
+ public static final int conversationlist_mikhail=0x7f050004;
+ public static final int conversationlist_ogam=0x7f050029;
+ public static final int conversationlist_oluag=0x7f05002f;
+ public static final int conversationlist_prim_arghest=0x7f050038;
+ public static final int conversationlist_prim_bjorgur=0x7f050042;
+ public static final int conversationlist_prim_fulus=0x7f050043;
+ public static final int conversationlist_prim_guthbered=0x7f05003c;
+ public static final int conversationlist_prim_inn=0x7f05003a;
+ public static final int conversationlist_prim_merchants=0x7f050044;
+ public static final int conversationlist_prim_outside=0x7f050039;
+ public static final int conversationlist_prim_tavern=0x7f05003b;
+ public static final int conversationlist_shops=0x7f050028;
+ public static final int conversationlist_signs_pre067=0x7f05001d;
+ public static final int conversationlist_signs_v068=0x7f050030;
+ public static final int conversationlist_thievesguild_1=0x7f05001e;
+ public static final int conversationlist_umar=0x7f050021;
+ public static final int conversationlist_vilegard_erttu=0x7f050024;
+ public static final int conversationlist_vilegard_tavern=0x7f050025;
+ public static final int conversationlist_vilegard_villagers=0x7f050023;
+ public static final int conversationlist_wilderness=0x7f05001a;
+ public static final int conversationlist_wrye=0x7f05002e;
+ public static final int dialog_close=0x7f05007f;
+ public static final int dialog_confirmexit_message=0x7f050081;
+ public static final int dialog_confirmexit_title=0x7f050080;
+ public static final int dialog_groundloot_message=0x7f0500b9;
+ public static final int dialog_groundloot_title=0x7f0500b8;
+ public static final int dialog_loading_failed_incorrectversion=0x7f05007e;
+ public static final int dialog_loading_failed_message=0x7f05007d;
+ public static final int dialog_loading_failed_title=0x7f05007c;
+ public static final int dialog_loading_message=0x7f05007b;
+ public static final int dialog_loot_foundgold=0x7f0500b6;
+ public static final int dialog_loot_pickall=0x7f0500b5;
+ public static final int dialog_loot_pickedupitems=0x7f0500b7;
+ public static final int dialog_monsterencounter_info=0x7f050087;
+ public static final int dialog_monsterencounter_message=0x7f050086;
+ public static final int dialog_monsterencounter_title=0x7f050085;
+ public static final int dialog_monsterloot_gainedexp=0x7f0500bc;
+ public static final int dialog_monsterloot_message=0x7f0500bb;
+ public static final int dialog_monsterloot_title=0x7f0500ba;
public static final int dialog_newversion_message=0x7f050110;
public static final int dialog_newversion_title=0x7f05010f;
- public static final int dialog_paused_message=0x7f050082;
- public static final int dialog_paused_resume=0x7f050083;
- public static final int dialog_paused_title=0x7f050081;
- public static final int dialog_rest_confirm_message=0x7f050107;
- public static final int dialog_rest_message=0x7f050108;
- public static final int dialog_rest_title=0x7f050106;
- public static final int droplists_crossglen=0x7f050047;
- public static final int droplists_crossglen_outside=0x7f050048;
- public static final int droplists_debug=0x7f050046;
- public static final int droplists_fallhaven=0x7f050049;
- public static final int droplists_v068=0x7f05004b;
- public static final int droplists_v069_monsters=0x7f05004d;
- public static final int droplists_v069_npcs=0x7f05004c;
- public static final int droplists_wilderness=0x7f05004a;
- public static final int exit=0x7f05006d;
- public static final int exit_to_menu=0x7f05006e;
- public static final int heroinfo_actionpoints=0x7f050096;
- public static final int heroinfo_char=0x7f05008b;
- public static final int heroinfo_gold=0x7f050095;
- public static final int heroinfo_inv=0x7f05008c;
- public static final int heroinfo_inventory=0x7f050094;
- public static final int heroinfo_level=0x7f050091;
- public static final int heroinfo_levelup=0x7f050090;
- public static final int heroinfo_quests=0x7f050097;
- public static final int heroinfo_skill=0x7f05008e;
- public static final int heroinfo_spell=0x7f05008f;
- public static final int heroinfo_totalexperience=0x7f050092;
- public static final int heroinfo_wear=0x7f05008d;
- public static final int heroinfo_wornequipment=0x7f050093;
+ public static final int dialog_paused_message=0x7f050083;
+ public static final int dialog_paused_resume=0x7f050084;
+ public static final int dialog_paused_title=0x7f050082;
+ public static final int dialog_rest_confirm_message=0x7f050108;
+ public static final int dialog_rest_message=0x7f050109;
+ public static final int dialog_rest_title=0x7f050107;
+ public static final int droplists_crossglen=0x7f050048;
+ public static final int droplists_crossglen_outside=0x7f050049;
+ public static final int droplists_debug=0x7f050047;
+ public static final int droplists_fallhaven=0x7f05004a;
+ public static final int droplists_v068=0x7f05004c;
+ public static final int droplists_v069_monsters=0x7f05004e;
+ public static final int droplists_v069_npcs=0x7f05004d;
+ public static final int droplists_wilderness=0x7f05004b;
+ public static final int exit=0x7f05006e;
+ public static final int exit_to_menu=0x7f05006f;
+ public static final int heroinfo_actionpoints=0x7f050097;
+ public static final int heroinfo_char=0x7f05008c;
+ public static final int heroinfo_gold=0x7f050096;
+ public static final int heroinfo_inv=0x7f05008d;
+ public static final int heroinfo_inventory=0x7f050095;
+ public static final int heroinfo_level=0x7f050092;
+ public static final int heroinfo_levelup=0x7f050091;
+ public static final int heroinfo_quests=0x7f050098;
+ public static final int heroinfo_skill=0x7f05008f;
+ public static final int heroinfo_spell=0x7f050090;
+ public static final int heroinfo_totalexperience=0x7f050093;
+ public static final int heroinfo_wear=0x7f05008e;
+ public static final int heroinfo_wornequipment=0x7f050094;
public static final int inventory_assign=0x7f05013c;
public static final int inventory_assign_slot1=0x7f05013d;
public static final int inventory_assign_slot2=0x7f05013e;
public static final int inventory_assign_slot3=0x7f05013f;
- public static final int inventory_drop=0x7f0500b0;
- public static final int inventory_equip=0x7f0500ad;
- public static final int inventory_info=0x7f0500ac;
- public static final int inventory_item_dropped=0x7f0500b2;
- public static final int inventory_item_equipped=0x7f0500b3;
- public static final int inventory_item_used=0x7f0500b1;
+ public static final int inventory_drop=0x7f0500b1;
+ public static final int inventory_equip=0x7f0500ae;
+ public static final int inventory_info=0x7f0500ad;
+ public static final int inventory_item_dropped=0x7f0500b3;
+ public static final int inventory_item_equipped=0x7f0500b4;
+ public static final int inventory_item_used=0x7f0500b2;
public static final int inventory_unassign=0x7f050140;
- public static final int inventory_unequip=0x7f0500ae;
- public static final int inventory_use=0x7f0500af;
- public static final int itemcategory_money=0x7f0500db;
- public static final int itemcategory_other=0x7f0500e5;
- public static final int itemcategory_potion=0x7f0500e4;
- public static final int itemcategory_shield=0x7f0500dd;
- public static final int itemcategory_weapon=0x7f0500dc;
- public static final int itemcategory_wearable_body=0x7f0500df;
- public static final int itemcategory_wearable_feet=0x7f0500e1;
- public static final int itemcategory_wearable_hand=0x7f0500e0;
- public static final int itemcategory_wearable_head=0x7f0500de;
- public static final int itemcategory_wearable_neck=0x7f0500e2;
- public static final int itemcategory_wearable_ring=0x7f0500e3;
- public static final int iteminfo_action_equip=0x7f0500d6;
- public static final int iteminfo_action_equip_ap=0x7f0500d9;
- public static final int iteminfo_action_unequip=0x7f0500d7;
- public static final int iteminfo_action_unequip_ap=0x7f0500da;
- public static final int iteminfo_action_use=0x7f0500d5;
- public static final int iteminfo_action_use_ap=0x7f0500d8;
+ public static final int inventory_unequip=0x7f0500af;
+ public static final int inventory_use=0x7f0500b0;
+ public static final int itemcategory_money=0x7f0500dc;
+ public static final int itemcategory_other=0x7f0500e6;
+ public static final int itemcategory_potion=0x7f0500e5;
+ public static final int itemcategory_shield=0x7f0500de;
+ public static final int itemcategory_weapon=0x7f0500dd;
+ public static final int itemcategory_wearable_body=0x7f0500e0;
+ public static final int itemcategory_wearable_feet=0x7f0500e2;
+ public static final int itemcategory_wearable_hand=0x7f0500e1;
+ public static final int itemcategory_wearable_head=0x7f0500df;
+ public static final int itemcategory_wearable_neck=0x7f0500e3;
+ public static final int itemcategory_wearable_ring=0x7f0500e4;
+ public static final int iteminfo_action_equip=0x7f0500d7;
+ public static final int iteminfo_action_equip_ap=0x7f0500da;
+ public static final int iteminfo_action_unequip=0x7f0500d8;
+ public static final int iteminfo_action_unequip_ap=0x7f0500db;
+ public static final int iteminfo_action_use=0x7f0500d6;
+ public static final int iteminfo_action_use_ap=0x7f0500d9;
/** A specific key is required to pass.
Hier kommt man nur mit einem bestimmten Schlüssel weiter.
Une clé spécifique est requise pour passer.
*/
- public static final int iteminfo_category=0x7f0500d4;
+ public static final int iteminfo_category=0x7f0500d5;
public static final int iteminfo_effect_chance_of=0x7f050128;
public static final int iteminfo_effect_decrease_current_ap=0x7f050132;
public static final int iteminfo_effect_decrease_current_hp=0x7f050130;
@@ -583,59 +600,59 @@ public final class R {
public static final int iteminfo_effect_works_when_hitting_target=0x7f05012c;
public static final int iteminfo_effect_works_when_killing_target=0x7f05012d;
public static final int iteminfo_effect_works_when_used=0x7f05012e;
- public static final int itemlist_animal=0x7f050056;
- public static final int itemlist_armour=0x7f050053;
- public static final int itemlist_debug=0x7f05004f;
- public static final int itemlist_food=0x7f050054;
- public static final int itemlist_junk=0x7f050057;
- public static final int itemlist_money=0x7f05004e;
- public static final int itemlist_necklaces=0x7f050052;
- public static final int itemlist_potions=0x7f050055;
- public static final int itemlist_quest=0x7f050058;
- public static final int itemlist_rings=0x7f050051;
- public static final int itemlist_v068=0x7f050059;
- public static final int itemlist_v069=0x7f05005a;
- public static final int itemlist_v069_2=0x7f05005b;
- public static final int itemlist_v069_questitems=0x7f05005c;
- public static final int itemlist_weapons=0x7f050050;
- public static final int key_required=0x7f050141;
- public static final int levelup_add_attackchance=0x7f050100;
- public static final int levelup_add_attackchance_description=0x7f050101;
- public static final int levelup_add_attackdamage=0x7f050102;
- public static final int levelup_add_attackdamage_description=0x7f050103;
- public static final int levelup_add_blockchance=0x7f050104;
- public static final int levelup_add_blockchance_description=0x7f050105;
- public static final int levelup_add_health=0x7f0500fe;
- public static final int levelup_add_health_description=0x7f0500ff;
- public static final int levelup_buttontext=0x7f0500fd;
- public static final int levelup_description=0x7f0500fc;
- public static final int levelup_title=0x7f0500fb;
- public static final int loadsave_selectslot=0x7f050077;
- public static final int loadsave_slot_empty=0x7f050078;
- public static final int loadsave_title_load=0x7f050076;
- public static final int loadsave_title_save=0x7f050075;
- public static final int menu_load=0x7f050072;
- public static final int menu_pause=0x7f05006f;
- public static final int menu_save=0x7f050071;
- public static final int menu_save_failed=0x7f050074;
- public static final int menu_save_gamesaved=0x7f050073;
- public static final int menu_settings=0x7f050070;
- public static final int monster_difficulty_easy=0x7f0500bd;
- public static final int monster_difficulty_hard=0x7f0500bf;
- public static final int monster_difficulty_impossible=0x7f0500c1;
- public static final int monster_difficulty_normal=0x7f0500be;
- public static final int monster_difficulty_veryeasy=0x7f0500bc;
- public static final int monster_difficulty_veryhard=0x7f0500c0;
- public static final int monsterlist_crossglen_animals=0x7f05005e;
- public static final int monsterlist_crossglen_npcs=0x7f050060;
- public static final int monsterlist_debug=0x7f05005d;
- public static final int monsterlist_fallhaven_animals=0x7f05005f;
- public static final int monsterlist_fallhaven_npcs=0x7f050061;
- public static final int monsterlist_v068_npcs=0x7f050063;
- public static final int monsterlist_v069_monsters=0x7f050064;
- public static final int monsterlist_v069_monsters2=0x7f050065;
- public static final int monsterlist_v069_npcs=0x7f050066;
- public static final int monsterlist_wilderness=0x7f050062;
+ public static final int itemlist_animal=0x7f050057;
+ public static final int itemlist_armour=0x7f050054;
+ public static final int itemlist_debug=0x7f050050;
+ public static final int itemlist_food=0x7f050055;
+ public static final int itemlist_junk=0x7f050058;
+ public static final int itemlist_money=0x7f05004f;
+ public static final int itemlist_necklaces=0x7f050053;
+ public static final int itemlist_potions=0x7f050056;
+ public static final int itemlist_quest=0x7f050059;
+ public static final int itemlist_rings=0x7f050052;
+ public static final int itemlist_v068=0x7f05005a;
+ public static final int itemlist_v069=0x7f05005b;
+ public static final int itemlist_v069_2=0x7f05005c;
+ public static final int itemlist_v069_questitems=0x7f05005d;
+ public static final int itemlist_weapons=0x7f050051;
+ public static final int key_required=0x7f050143;
+ public static final int levelup_add_attackchance=0x7f050101;
+ public static final int levelup_add_attackchance_description=0x7f050102;
+ public static final int levelup_add_attackdamage=0x7f050103;
+ public static final int levelup_add_attackdamage_description=0x7f050104;
+ public static final int levelup_add_blockchance=0x7f050105;
+ public static final int levelup_add_blockchance_description=0x7f050106;
+ public static final int levelup_add_health=0x7f0500ff;
+ public static final int levelup_add_health_description=0x7f050100;
+ public static final int levelup_buttontext=0x7f0500fe;
+ public static final int levelup_description=0x7f0500fd;
+ public static final int levelup_title=0x7f0500fc;
+ public static final int loadsave_selectslot=0x7f050078;
+ public static final int loadsave_slot_empty=0x7f050079;
+ public static final int loadsave_title_load=0x7f050077;
+ public static final int loadsave_title_save=0x7f050076;
+ public static final int menu_load=0x7f050073;
+ public static final int menu_pause=0x7f050070;
+ public static final int menu_save=0x7f050072;
+ public static final int menu_save_failed=0x7f050075;
+ public static final int menu_save_gamesaved=0x7f050074;
+ public static final int menu_settings=0x7f050071;
+ public static final int monster_difficulty_easy=0x7f0500be;
+ public static final int monster_difficulty_hard=0x7f0500c0;
+ public static final int monster_difficulty_impossible=0x7f0500c2;
+ public static final int monster_difficulty_normal=0x7f0500bf;
+ public static final int monster_difficulty_veryeasy=0x7f0500bd;
+ public static final int monster_difficulty_veryhard=0x7f0500c1;
+ public static final int monsterlist_crossglen_animals=0x7f05005f;
+ public static final int monsterlist_crossglen_npcs=0x7f050061;
+ public static final int monsterlist_debug=0x7f05005e;
+ public static final int monsterlist_fallhaven_animals=0x7f050060;
+ public static final int monsterlist_fallhaven_npcs=0x7f050062;
+ public static final int monsterlist_v068_npcs=0x7f050064;
+ public static final int monsterlist_v069_monsters=0x7f050065;
+ public static final int monsterlist_v069_monsters2=0x7f050066;
+ public static final int monsterlist_v069_npcs=0x7f050067;
+ public static final int monsterlist_wilderness=0x7f050063;
public static final int preferences_combat_category=0x7f050120;
public static final int preferences_combat_speed=0x7f050122;
public static final int preferences_combat_speed_title=0x7f050121;
@@ -652,48 +669,53 @@ public final class R {
public static final int preferences_display_scaling_factor=0x7f05013b;
public static final int preferences_display_scaling_factor_title=0x7f05013a;
public static final int preferences_movement_category=0x7f050123;
+ public static final int preferences_movement_dpad_position=0x7f050142;
+ /** ===========================================
+ Added in v0.6.10
+ */
+ public static final int preferences_movement_dpad_position_title=0x7f050141;
public static final int preferences_movementmethod=0x7f050125;
public static final int preferences_movementmethod_title=0x7f050124;
- public static final int questlist=0x7f050069;
+ public static final int questlist=0x7f05006a;
/** These quests do not need translation:
*/
- public static final int questlist_debug=0x7f050067;
+ public static final int questlist_debug=0x7f050068;
/** These quests do not need translation:
*/
- public static final int questlist_nondisplayed=0x7f050068;
- public static final int questlist_v068=0x7f05006a;
- public static final int questlist_v069=0x7f05006b;
+ public static final int questlist_nondisplayed=0x7f050069;
+ public static final int questlist_v068=0x7f05006b;
+ public static final int questlist_v069=0x7f05006c;
public static final int questlog_includecompleted_prompt=0x7f050112;
public static final int questlog_queststatus=0x7f050113;
public static final int questlog_queststatus_completed=0x7f050115;
public static final int questlog_queststatus_inprogress=0x7f050114;
public static final int questlog_title=0x7f050111;
- public static final int savegame_currenthero_displayinfo=0x7f050079;
- public static final int shop_buy=0x7f0500f3;
- public static final int shop_buyitem=0x7f0500f6;
- public static final int shop_infoitem=0x7f0500f5;
- public static final int shop_item_bought=0x7f0500f9;
- public static final int shop_item_sold=0x7f0500fa;
- public static final int shop_sell=0x7f0500f4;
- public static final int shop_sellitem=0x7f0500f7;
- public static final int shop_yourgold=0x7f0500f8;
- public static final int startscreen_about=0x7f0500e9;
- public static final int startscreen_continue=0x7f0500e6;
- public static final int startscreen_enterheroname=0x7f0500ea;
- public static final int startscreen_load=0x7f0500eb;
- public static final int startscreen_newgame=0x7f0500e7;
- public static final int startscreen_newgame_confirm=0x7f0500e8;
- public static final int status_ap=0x7f050089;
- public static final int status_exp=0x7f05008a;
- public static final int status_hp=0x7f050087;
- public static final int status_mp=0x7f050088;
- public static final int traitsinfo_attack_chance=0x7f0500ce;
- public static final int traitsinfo_attack_cost=0x7f0500cd;
- public static final int traitsinfo_attack_damage=0x7f0500cf;
- public static final int traitsinfo_criticalhit_chance=0x7f0500d0;
- public static final int traitsinfo_criticalhit_multiplier=0x7f0500d1;
- public static final int traitsinfo_defense_chance=0x7f0500d2;
- public static final int traitsinfo_defense_damageresist=0x7f0500d3;
+ public static final int savegame_currenthero_displayinfo=0x7f05007a;
+ public static final int shop_buy=0x7f0500f4;
+ public static final int shop_buyitem=0x7f0500f7;
+ public static final int shop_infoitem=0x7f0500f6;
+ public static final int shop_item_bought=0x7f0500fa;
+ public static final int shop_item_sold=0x7f0500fb;
+ public static final int shop_sell=0x7f0500f5;
+ public static final int shop_sellitem=0x7f0500f8;
+ public static final int shop_yourgold=0x7f0500f9;
+ public static final int startscreen_about=0x7f0500ea;
+ public static final int startscreen_continue=0x7f0500e7;
+ public static final int startscreen_enterheroname=0x7f0500eb;
+ public static final int startscreen_load=0x7f0500ec;
+ public static final int startscreen_newgame=0x7f0500e8;
+ public static final int startscreen_newgame_confirm=0x7f0500e9;
+ public static final int status_ap=0x7f05008a;
+ public static final int status_exp=0x7f05008b;
+ public static final int status_hp=0x7f050088;
+ public static final int status_mp=0x7f050089;
+ public static final int traitsinfo_attack_chance=0x7f0500cf;
+ public static final int traitsinfo_attack_cost=0x7f0500ce;
+ public static final int traitsinfo_attack_damage=0x7f0500d0;
+ public static final int traitsinfo_criticalhit_chance=0x7f0500d1;
+ public static final int traitsinfo_criticalhit_multiplier=0x7f0500d2;
+ public static final int traitsinfo_defense_chance=0x7f0500d3;
+ public static final int traitsinfo_defense_damageresist=0x7f0500d4;
}
public static final class style {
public static final int Theme_NoBackground=0x7f0a0000;
diff --git a/AndorsTrail/res/drawable-hdpi/ui_dpad.png b/AndorsTrail/res/drawable-hdpi/ui_dpad.png
new file mode 100644
index 000000000..a2fb023ce
Binary files /dev/null and b/AndorsTrail/res/drawable-hdpi/ui_dpad.png differ
diff --git a/AndorsTrail/res/drawable-ldpi/ui_dpad.png b/AndorsTrail/res/drawable-ldpi/ui_dpad.png
new file mode 100644
index 000000000..8eb4db408
Binary files /dev/null and b/AndorsTrail/res/drawable-ldpi/ui_dpad.png differ
diff --git a/AndorsTrail/res/drawable/ui_dpad.png b/AndorsTrail/res/drawable/ui_dpad.png
new file mode 100644
index 000000000..40ccc943e
Binary files /dev/null and b/AndorsTrail/res/drawable/ui_dpad.png differ
diff --git a/AndorsTrail/res/layout/main.xml b/AndorsTrail/res/layout/main.xml
index 2c5b65697..43000087f 100644
--- a/AndorsTrail/res/layout/main.xml
+++ b/AndorsTrail/res/layout/main.xml
@@ -64,4 +64,11 @@
android:gravity="right"
/>
+
+
diff --git a/AndorsTrail/res/values-de/itemlist.xml b/AndorsTrail/res/values-de/content_itemlist.xml
similarity index 100%
rename from AndorsTrail/res/values-de/itemlist.xml
rename to AndorsTrail/res/values-de/content_itemlist.xml
diff --git a/AndorsTrail/res/values-de/strings.xml b/AndorsTrail/res/values-de/strings.xml
index 6d01bd871..e00806a58 100644
--- a/AndorsTrail/res/values-de/strings.xml
+++ b/AndorsTrail/res/values-de/strings.xml
@@ -20,8 +20,8 @@
Lade Ressourcen...
Laden fehlgeschlagen
- Der Spielstand konnte nicht geladen werden.\n\n:(\n\nDie Datei könnte beschädigt oder unvollständig sein.
- Der Spielstand konnte nicht geladen werden. Die Datei wurde mit einer neueren Programmversion erstellt.
+ Der Spielstand konnte nicht aus der Datei geladen werden.\n\n:(\n\nDie Datei könnte beschädigt oder unvollständig sein.
+ Der Spielstand konnte nicht aus der Datei geladen werden. Die Datei wurde mit einer neueren Programmversion erstellt.
Schließen
@@ -36,7 +36,7 @@
Angreifen?\nSchwierigkeit: %1$s
Info
- LP:
+ HP:
MP:
AP:
Erf.:
@@ -65,15 +65,15 @@
Du kannst nun aus dem Kampf flüchten indem du in die gewünschten Fluchtrichtung klickst.
Die Flucht ist misslungen!
AP: %1$d
- LP:
+ HP:
%1$s greift an.
-
+
%1$s verfehlt!
- %1$s trifft dich und nimmt dir %2$d LP!
- %1$s muss einen kritischen Treffer einstecken (%2$d LP)!
+ %1$s trifft dich und nimmt dir %2$d HP!
+ %1$s muss einen kritischen Treffer einstecken (%2$d HP)!
Dein Angriff schlug fehl.
- Du triffst %1$s (%2$d LP)!
- Dein kritischer Treffer kostet %1$s %2$d LP!
+ Du triffst %1$s (%2$d HP)!
+ Dein kritischer Treffer kostet %1$s %2$d HP!
%1$s ist besiegt!
Es sind nicht mehr genug AP in dieser Runde übrig.
Du wirst bewusstlos, wachst aber glücklicherweise lebendig wieder auf. Du verlierst %1$d Erfahrungspunkte.
@@ -83,9 +83,9 @@
Ablegen
Benutzen
Fallen lassen
- %1$s benutzt.
- %1$s weggeworfen.
- %1$s angelegt.
+ Du hast %1$s benutzt.
+ Du hast %1$s fallen gelassen.
+ Du hast %1$s angelegt.
Alles einsammeln
Du findest %1$d Gold.
@@ -173,7 +173,7 @@
Aufsteigen
Du hast Level %1$d erreicht!
Aufsteigen
- Lebenspunkte erhöhen (+%1$d LP)
+ Lebenspunkte erhöhen (+%1$d HP)
Fügt den maximalen Lebenspunkten %1$d Punkte hinzu.
Angriffschance erhöhen (+%1$d %%)
Fügt %1$d%% zur Basis-Angriffschance hinzu.
@@ -276,7 +276,7 @@
Methode für die Fortbewegung und Behandlung von Hindernissen.
- Direkt (original)
- - Gerichtet
+ - Hindernisse umgehen
- 0
@@ -299,13 +299,13 @@
bei Anwendung
solange angelegt
- entzieht %1$s LP
- gibt %1$s LP zurück
+ entzieht %1$s HP
+ gibt %1$s HP zurück
entzieht %1$s AP
gibt %1$s AP zurück
- erhöht max. LP +%1$d
- verringert max. LP um %1$d
+ erhöht max. HP +%1$d
+ verringert max. HP um %1$d
erhöht max. AP +%1$d
verringert max. AP um %1$d
Bewegungsstrafe +%1$d AP
diff --git a/AndorsTrail/res/values-fr/actorconditions.xml b/AndorsTrail/res/values-fr/content_actorconditions.xml
similarity index 100%
rename from AndorsTrail/res/values-fr/actorconditions.xml
rename to AndorsTrail/res/values-fr/content_actorconditions.xml
diff --git a/AndorsTrail/res/values-fr/conversationlist.xml b/AndorsTrail/res/values-fr/content_conversationlist.xml
similarity index 87%
rename from AndorsTrail/res/values-fr/conversationlist.xml
rename to AndorsTrail/res/values-fr/content_conversationlist.xml
index cad8a8ab0..e3e116dd1 100644
--- a/AndorsTrail/res/values-fr/conversationlist.xml
+++ b/AndorsTrail/res/values-fr/content_conversationlist.xml
@@ -10,14 +10,14 @@
{mikhail_default|Puis-je faire quelque chose d\'autre pour t\'aider ?|||{{As-tu d\'autres tâches à me confier ?|mikhail_tasks||||}{Pourrais-tu m\'en dire plus au sujet d\'Andor ?|mikhail_andor1||||}}|};
{mikhail_tasks|Ah oui, tu pourrais m\'aider à faire deux-trois choses. Le pain et les rats. Par quoi veux-tu commencer ?|||{{Que veux-tu dire au sujet du pain ?|mikhail_bread_select||||}{Que veux-tu dire au sujet des rats ?|mikhail_rats_select||||}{Qu\'importe, parlons d\'autre chose.|mikhail_default||||}}|};
{mikhail_andor1|Comme je te le disais, Andor est sorti hier et n\'est pas revenu depuis lors. Je commence à m\'inquiéter à son sujet. S\'il te plait, part à sa recherche, il a dit qu\'il n\'en aurait pas pour très longtemps.|||{{N|mikhail_andor2||||}}|};
-{mikhail_andor2|Peut-être est-il allé dans la caverne qui sert de résrve et est resté coincé. Il peut aussi être allé s\'entrainer encore avec son épée en bois dans la maison de Leta. S\'il te plait, pars à sa recherche au village.|||{{N|mikhail_default||||}}|};
+{mikhail_andor2|Peut-être est-il allé dans la caverne qui sert de réserve et est resté coincé. Il peut aussi être allé s\'entrainer encore avec son épée en bois dans la maison de Leta. S\'il te plait, pars à sa recherche au village.|||{{N|mikhail_default||||}}|};
{mikhail_bread_select||||{{|mikhail_bread_complete2|mikhail_bread:100|||}{|mikhail_bread_continue|mikhail_bread:10|||}{|mikhail_bread_start||||}}|};
-{mikhail_bread_start|Ah, j\'ai failli oublier. si tu as le temps, pourrait tu aller chez Mara à la halle du village pour m\'acheter un peu de pain.|mikhail_bread:10||{{N|mikhail_default||||}}|};
+{mikhail_bread_start|Ah, j\'ai failli oublier. Si tu as le temps, pourrais-tu aller chez Mara à la halle du village pour m\'acheter un peu de pain.|mikhail_bread:10||{{N|mikhail_default||||}}|};
{mikhail_bread_continue|M\'as tu trouvé du pain chez Mara à la halle du village ?|||{{Oui, le voilà.|mikhail_bread_complete||bread|1|}{Non, pas encore.|mikhail_default||||}}|};
-{mikhail_bread_complete|Merci beaucoup, je vais pouvoir prendre mon petit déeuner. Voici quelques pièces pour ton aide.|mikhail_bread:100|gold20|{{N|mikhail_default||||}}|};
+{mikhail_bread_complete|Merci beaucoup, je vais pouvoir prendre mon petit déjeuner. Voici quelques pièces pour ton aide.|mikhail_bread:100|gold20|{{N|mikhail_default||||}}|};
{mikhail_bread_complete2|Merci de m\'avoir rapporté le pain tout à l\'heure.|||{{De rien.|mikhail_default||||}}|};
{mikhail_rats_select||||{{|mikhail_rats_complete2|mikhail_rats:100|||}{|mikhail_rats_continue|mikhail_rats:10|||}{|mikhail_rats_start||||}}|};
-{mikhail_rats_start|J\'au vu quelques rats dans le jardin tout à l\'heure. Pourrais-tu nous débarasse de tous ceux que tu trouves ?|mikhail_rats:10||{{Je me suis déjà occupé des rats.|mikhail_rats_complete||tail_trainingrat|2|}{D\'accord, je vais aller voir au jardin.|mikhail_rats_start2||||}}|};
+{mikhail_rats_start|J\'ai vu quelques rats dans le jardin tout à l\'heure. Pourrais-tu nous débarasser de tous ceux que tu trouves ?|mikhail_rats:10||{{Je me suis déjà occupé des rats.|mikhail_rats_complete||tail_trainingrat|2|}{D\'accord, je vais aller voir au jardin.|mikhail_rats_start2||||}}|};
{mikhail_rats_start2|Si les rats te blessent, reviens ici et repose toi dans le lit. Tu pourras ainsi recouvrer toutes tes forces.|||{{N|mikhail_rats_start3||||}}|};
{mikhail_rats_start3|Au fait n\'oublie pas de faire l\'inventaire de ton équipement. Tu as probablement toujours le vieil anneau que je t\'avais donné. N\'oublie pas de le porter.|||{{Très bien, je comprends. Je peux me reposer ici si je suis blessé, et je dois vérifier mon inventaire pour tous les objets utiles que je peux avoir.|mikhail_default||||}}|};
{mikhail_rats_continue|As-tu tué les deux rats du jardin ?|||{{Oui, je m\'en suis occupé.|mikhail_rats_complete||tail_trainingrat|2|}{Non, pas encore.|mikhail_default||||}}|};
@@ -30,8 +30,8 @@
{leta1|Hé, c\'est ma maison, sors de là !|||{{Mais j\'étais juste ...|leta2||||}{Que se passe-t-il avec votre mari Oromir ?|leta_oromir_select||||}}|};
{leta2|File, gamin, sors de ma maison !|||{{Que se passe-t-il avec votre mari Oromir ?|leta_oromir_select||||}}|};
{leta_oromir_select||||{{|leta_oromir_complete2|leta:100|||}{|leta_oromir1||||}}|};
-{leta_oromir1|Tu as appri quelques chose au sujet de mon mari ? Il devait m\'aider à la ferme aujourd\'hui, mais comme d\'habitude il n\'est pas là.\nPffff.|||{{Je ne sais pas.|leta_oromir2||||}{Oui, je l\'ai trouvé. Il se cache dans le bosquet à l\'Est.|leta_oromir_complete|leta:20|||}}|};
-{leta_oromir2|si tu le vois, dis-lui de rappliquer vite et de m\'aider à m\'occuper de la maison.\nEt maintenant, file !|leta:10|||};
+{leta_oromir1|Tu as appris quelque chose au sujet de mon mari ? Il devait m\'aider à la ferme aujourd\'hui, mais comme d\'habitude il n\'est pas là.\nPffff.|||{{Je ne sais pas.|leta_oromir2||||}{Oui, je l\'ai trouvé. Il se cache dans le bosquet à l\'Est.|leta_oromir_complete|leta:20|||}}|};
+{leta_oromir2|Si tu le vois, dis-lui de rappliquer vite et de m\'aider à m\'occuper de la maison.\nEt maintenant, file !|leta:10|||};
{leta_oromir_complete|Il se cache ? Ce n\'est pas étonnant. Je vais aller le chercher et lui montrer qui est le chef ici.\nMerci du renseignement.|leta:100|||};
{leta_oromir_complete2|Merci de m\'avoir indiqué où se cachait Oromir tout à l\'heure. Je vais aller le chercher dans une minute.||||};
{oromir1|Oh, tu m\as fait peur.\nBonjour.|||{{Hello|oromir2||||}}|};
@@ -40,18 +40,18 @@
[id|message|progressQuest|rewardDropListID|replies[text|nextPhraseID|requires_Progress|requires_itemID|requires_Quantity|]|];
-{audir1|Bienvenue dans mon échope !\n\nVeuillez prendre la peine de regarder tous mes articles.|||{{Montrez-moi vos articles s\'il-vous-plait.|S||||}}|};
+{audir1|Bienvenue dans mon échope !\n\nVeuillez prendre la peine de regarder tous mes articles.|||{{Montrez-moi vos articles s\'il vous plait.|S||||}}|};
{arambold1|Nom d\'un chien, pourrais-je jamais dormir avec des ivrognes qui chantent ainsi ?\n\nQuelqu\'un devrait s\'en occuper.|||{{Puis-je me reposer ici ?|arambold2||||}{Avez-vous quelque chose à marchander ?|S||||}}|};
{arambold2|Bien sûr gamin,tu peux te reposer ici.\n\nPrends le lit que tu veux.|||{{Merci, au revoir|X||||}}|};
-{drunk1|Et glou, et glou, et glou, buvons encore !\nBois, bois, bois jusqu\'à ce que tu roule par terre.\n\nHé gamin, tu veux te joindre à nous ?|||{{Non, merci.|X||||}{Peut-être un autre jour.|X||||}}|};
-{mara_default|Ne t\'occupe pas de ces ivrognes, ils sont toujours là à causer du désordre.\n\ntu veux manger quelque chose ?|||{{As-tu quelque chose à marchander ?|S||||}}|};
+{drunk1|Et glou, et glou, et glou, buvons encore !\nBois, bois, bois jusqu\'à ce que tu roules par terre.\n\nHé gamin, tu veux te joindre à nous ?|||{{Non, merci.|X||||}{Peut-être un autre jour.|X||||}}|};
+{mara_default|Ne t\'occupe pas de ces ivrognes, ils sont toujours là à causer du désordre.\n\nTu veux manger quelque chose ?|||{{As-tu quelque chose à marchander ?|S||||}}|};
{mara1||||{{|mara_thanks|odair:100|||}{|mara_default||||}}|};
{mara_thanks|J\'ai appris que tu avais aidé Odair à débarasser la vielle réserve. Merci beaucoup, nous allons pouvoir nous en servir à nouveau.|||{{C\'était avec plaisir.|mara_default||||}}|};
{farm1|Laisse-moi tranquille, j\'ai du boulot.|||{{As-tu vu mon frère Andor ?|farm_andor||||}}|};
-{farm2|Quoi ?Tu ne vois pas que je suis occupé ? Vas embêter quelqu\'un d\'autre?|||{{As-tu vu mon frère Andor ?|farm_andor||||}}|};
+{farm2|Quoi ? Tu ne vois pas que je suis occupé ? Vas embêter quelqu\'un d\'autre !|||{{As-tu vu mon frère Andor ?|farm_andor||||}}|};
{farm_andor|Andor ? Non, je ne l\'ai pas vu récemment||||};
{snakemaster|Bien, bien, qui voilà donc ? Un visiteur, comme c\'est gentil. Je suis impressionné que tu sois parvenu ici à travers tous mes adorateurs.\n\nPrépare-toi à mourir, pitoyable créature.|||{{Bien, j\'attendais un beau combat !|F||||}{Voyons qui de nous deux périra.|F||||}{Pitié, ne me faites pas de mal !|F||||}}|};
-{haunt|Oh mortel, délivre-moi de ce monde maudit !|||{{Oh, Je vais vous libérer de e pas.|F||||}{Vous voulez dire en vous tuant ?|F||||}}|};
+{haunt|Oh mortel, délivre-moi de ce monde maudit !|||{{Oh, Je vais vous libérer de ce pas.|F||||}{Vous voulez dire en vous tuant ?|F||||}}|};
@@ -60,12 +60,12 @@
{tharal_bonemeal_select||||{{|tharal_bonemeal4|bonemeal:30|||}{|tharal_bonemeal1||||}}|};
{tharal_bonemeal1|La potion d\'os ? Nous ne devons pas parler de cela. Le seigneur Geomyr a publié un décret. Ce n\'est plus autorisé.|||{{S\'il vous plait ?|tharal_bonemeal2_1||||}}|};
{tharal_bonemeal2_1|Non, nous ne devrions vraiment pas en parler.|||{{Oh, allez ...|tharal_bonemeal2||||}}|};
-{tharal_bonemeal2|Bon, puisque tu insistes. Rapporte moi cinq ailes d\'insectes que je pourrais utiliser pour concocter mes potions, et peut-être t\'en dirais-je plus.|bonemeal:20||{{Voici les ailes d\'insectes.|tharal_bonemeal3||insectwing|5|}{Très bien, je vous les rapporterais.|X||||}}|};
+{tharal_bonemeal2|Bon, puisque tu insistes. Rapporte moi cinq ailes d\'insectes que je pourrais utiliser pour concocter mes potions, et peut-être t\'en dirais-je plus.|bonemeal:20||{{Voici les ailes d\'insectes.|tharal_bonemeal3||insectwing|5|}{Très bien, je vous les rapporterai.|X||||}}|};
{tharal_bonemeal3|Merci mon petit. Je savais que je pouvais compter sur toi|bonemeal:30||{{N|tharal_bonemeal4||||}}|};
{tharal_bonemeal4|Alors la potion d\'os. Préparée avec les bons ingrédients, cela peut être l\'un des soins les plus efficaces à notre disposition.|||{{N|tharal_bonemeal5||||}}|};
{tharal_bonemeal5|Nous en faisions grand usage auparavant. Mais maintenant, ce bâtard de seigneur Geomyr en a interdit toute utilisation.|||{{N|tharal_bonemeal6||||}}|};
{tharal_bonemeal6|Comment vais-je pouvoir soigner les gens maintenant ? En utilisant les potions classiques ? Bah, elles sont tellement inefficaces.|||{{N|tharal_bonemeal7||||}}|};
-{tharal_bonemeal7|Je connais quelqu\'un qui a toujours de la potion d\'os disponible si tu cela t\'intéresse. Va parler à Thoronir, un confrère prêtre à Fallhaven. Donnes-lui le mot de passe « Lueur de l\'Ombre ».|||{{Merci, au revoir.|X||||}}|};
+{tharal_bonemeal7|Je connais quelqu\'un qui a toujours de la potion d\'os disponible si tu cela t\'intéresse. Va parler à Thoronir, un confrère prêtre à Fallhaven. Donne-lui le mot de passe « Lueur de l\'Ombre ».|||{{Merci, au revoir.|X||||}}|};
@@ -91,10 +91,10 @@
{leonid_crossglen3|Tu as pu remarquer quelques troubles il y a de cela quelques semaines. Certains villageois ce sont battus à propos d\'un nouveau décret du seigneur Geomyr.|||{{N|leonid_crossglen4||||}}|};
{leonid_crossglen4|Le seigneur Geomyr a promulgé l\'interdiction de la potion d\'os comme médicament. Certains villageois voulaient que nous nous opposions aux règles du seigneur Geomyr et que nous continuions à l\'utiliser|bonemeal:10||{{N|leonid_crossglen4_1||||}}|};
{leonid_crossglen4_1|Tharal, notre prêtre, était particulièrement en colère et suggérait que nous fassions quelque chose au sujet du seigner Geomyr.|||{{N|leonid_crossglen5||||}}|};
-{leonid_crossglen5|D\'autre villageois pensaient que nous devions obéir au décret du seigneur Geomyr.\n\nPersonnellement, je ne me suis pas encore décidé.|||{{N|leonid_crossglen6||||}}|};
-{leonid_crossglen6|D\'un côté, le seigneru Geomyr aide le village en lui apportant sa protection. *il pointe les soldats dans la halle*|||{{N|leonid_crossglen7||||}}|};
-{leonid_crossglen7|Mais d\'un autre côté, les impôts et les nouvelles règles sur ce qui est interdit font vraiment du tort à .|||{{N|leonid_crossglen8||||}}|};
-{leonid_crossglen8|quelqu\'un devrait aller au chêteau de Geomyr et plaider la cause de Crossglen auprès du régent.|crossglen:1||{{N|leonid_crossglen9||||}}|};
+{leonid_crossglen5|D\'autres villageois pensaient que nous devions obéir au décret du seigneur Geomyr.\n\nPersonnellement, je ne me suis pas encore décidé.|||{{N|leonid_crossglen6||||}}|};
+{leonid_crossglen6|D\'un côté, le seigneur Geomyr aide le village en lui apportant sa protection. *il pointe les soldats dans la halle*|||{{N|leonid_crossglen7||||}}|};
+{leonid_crossglen7|Mais d\'un autre côté, les impôts et les nouvelles règles sur ce qui est interdit font vraiment du tort à Crossglen.|||{{N|leonid_crossglen8||||}}|};
+{leonid_crossglen8|Quelqu\'un devrait aller au château de Geomyr et plaider la cause de Crossglen auprès du régent.|crossglen:1||{{N|leonid_crossglen9||||}}|};
{leonid_crossglen9|Pour le moment, nous avons banni toute utilisation de la potion d\'os comme substance de soin.|||{{Merci pour ces informations. Je voulais vous demander autre chose.|leonid_continue||||}{Merci pour ces informations. Au revoir.|leonid_bye||||}}|};
{leonid_bye|Que l\'Ombre soit avec toi.|||{{Que l\'Ombre soit avec vous.|X||||}}|};
@@ -103,13 +103,13 @@
[id|message|progressQuest|rewardDropListID|replies[text|nextPhraseID|requires_Progress|requires_itemID|requires_Quantity|]|];
{odair1|Ah, c\'est toi. Tu es bien comme ton frère. Toujours à faire des histoires.|||{{N|odair_select||||}}|};
{odair_select||||{{|odair_complete2|odair:100|||}{|odair_continue|odair:10|||}{|odair2||||}}|};
-{odair2|Hmm, il y a peut-être quelque chose que tu pourrais faire pour moi. Penses-tu pouvoir m\'aider à accomplir une petite tâche ?|||{{Dis-m\'en plus au sujet de cette tâche.|odair3||||}{bien sûr, à condition que cela me rapporte quelque chose.|odair3||||}}|};
+{odair2|Hmm, il y a peut-être quelque chose que tu pourrais faire pour moi. Penses-tu pouvoir m\'aider à accomplir une petite tâche ?|||{{Dis-m\'en plus au sujet de cette tâche.|odair3||||}{Bien sûr, à condition que cela me rapporte quelque chose.|odair3||||}}|};
{odair3|Je suis allé récemment dans cette caverne *il pointe vers l\'Ouest*, pour vérifier nos réserves. Apparemment, la caverne est infestée de rats.|||{{N|odair4||||}}|};
{odair4|J\'ai vu en particulier un rat qui était plus gros que les autres. Penses-tu être capable de les éliminer ?|||{{Bien sûr, je t\'aiderais pour que Crossglen puisse à nouveau utiliser la caverne comme réserve.|odair5||||}{Bien sûr, je vais t\'aider. Mais c\'est uniquement parce que je peux y gagner quelque chose.|odair5||||}{Non, désolé|odair_cowards||||}}|};
{odair5|Je voudrais que tu ailles dans cette caverne et que tu tues le gros rat, cela pourrait peut-être stopper l\'infestation de la caverne et nous pourrions l\'utiliser à nouveau comme réserve.|odair:10||{{Ok|X||||}{À bien y réfléchir, je ne pense pas pouvoir t\'aider.|odair_cowards||||}}|};
-{odair_cowards|Je ne pensais pas que tu le ferais. toi et ton frère avez toujours été des trouillards.|||{{Bye|X||||}}|};
+{odair_cowards|Je ne pensais pas que tu le ferais. Toi et ton frère avez toujours été des trouillards.|||{{Bye|X||||}}|};
{odair_continue|As-tu tué le gros rat de la caverne à l\'Ouest ?|||{{Oui, j\'ai tué le gros rat.|odair_complete||tail_caverat|1|}{Qu\'est ce que j\'étais supposé faire exactement ?|odair5||||}{Non, pas encore.|odair_cowards||||}}|};
-{odair_complete|Merci beaucoup de ton aide gamin ! Peut-être que toi et ton frère n\'êtes pas si trouillards que je le pensais finalement. Tiens, prends ces pièces pour ton aide.|odair:100|gold20|{{Thanks|X||||}}|};
+{odair_complete|Merci beaucoup de ton aide gamin ! Peut-être que toi et ton frère n\'êtes pas si trouillards que je le pensais finalement. Tiens, prends ces pièces pour ton aide.|odair:100|gold20|{{Merci|X||||}}|};
{odair_complete2|Merci beaucoup pour ton aide tout à l\'heure. Nous allons désormais pouvoir utiliser à nouveau notre vieille caverne comme réserve.|||{{Bye|X||||}}|};
@@ -119,20 +119,20 @@
{jan_default|Bonjour petit. Laisse moi à mes lamentations.|||{{Que ce passe-t-il ?|jan_default2||||}{Désirez-vous en parler ?|jan_default2||||}{Entendu, au revoir.|X||||}}|};
{jan_default2|Oh, c\'est tellement triste. Je ne veux vraiment pas en parler.|||{{Si, faites-le s\'il-vous-plait.|jan_default3||||}{D\'accord, au revoir.|X||||}}|};
{jan_default3|Très bien, je pense que je peux t\'en parler. Tu me paraît être un brave petit.|||{{N|jan_default4||||}}|};
-{jan_default4|Mon ami Gandir, son ami Irogotu et moi même sommes venu ici creuser cette fosse. Nous avions entendu dire qu\'il y avait un trésor caché la dessous.|||{{N|jan_default5||||}}|};
+{jan_default4|Mon ami Gandir, son ami Irogotu et moi même sommes venu ici creuser cette fosse. Nous avions entendu dire qu\'il y avait un trésor caché là-dessous.|||{{N|jan_default5||||}}|};
{jan_default5|Nous avons creusé et avons finalement débouché sur un dédale sous-terrain. C\'est à ce moment que nous les avons trouvés. Les créatures et les bestioles.|||{{N|jan_default6||||}}|};
{jan_default6|Ah ces créatures. Satané bâtards. Ils m\'ont quasiment tué.\n\nGandir et moi avons dit à Irogotu que nous devions arrêter de creuser et partir pendant que nous le pouvions encore.|||{{N|jan_default7||||}}|};
{jan_default7|Mais Irogotu voulait continuer plus profondément dans ces oubliettes. Lui et Gandir se sont disputés et ont commencés à se battre.|||{{N|jan_default8||||}}|};
-{jan_default8|C\'est à ce moment là que c\'est arrivé.\n\n*snif*\n\nOh qu\'avons nous fait ?|||{{Continuez s\'il-vous plait|jan_default9||||}}|};
+{jan_default8|C\'est à ce moment là que c\'est arrivé.\n\n*snif*\n\nOh, qu\'avons nous fait ?|||{{Continuez s\'il vous plait|jan_default9||||}}|};
{jan_default9|Irogotu a tué Gandir de ses mains nues. On pouvait voir la fureur dans ses yeux. Il semblait presque y prendre plaisir.|||{{N|jan_default10||||}}|};
{jan_default10|Je me suis enfui et n\'ai pas osé redescendre à cause des créatures et à cause d\'Irogotu lui-même.|||{{N|jan_default11||||}}|};
{jan_default11|Ah ce satané Irogotu. Si seulement je pouvais l\'atteindre. Je lui montrerais de quel bois je me chauffe.|||{{Penses-tu que tu pourrais m\'aider ?|jan_default11_1||||}}|};
-{jan_default11_1|Penses-tu que tu pourrais m\'aider ?|||{{Bien sûr, s\'il y a un trésor sur lequel je pourrais mettre la main.|jan_default12||||}{bien sûr. Irogotu doit payer pour ce qu\'il a fait.|jan_default12||||}{Non, merci, je préfère ne pas me mêler à cela. Cela paraît dangereux.|X||||}}|};
+{jan_default11_1|Penses-tu que tu pourrais m\'aider ?|||{{Bien sûr, s\'il y a un trésor sur lequel je puisse mettre la main.|jan_default12||||}{Bien sûr. Irogotu doit payer pour ce qu\'il a fait.|jan_default12||||}{Non, merci, je préfère ne pas me mêler à cela. Cela paraît dangereux.|X||||}}|};
{jan_default12|Vraiment ? Tu penses que tu peux m\'aider ? Hmm, oui, tu pourrais peut-être y arriver. Méfies-toi de ces bestioles cependant, ce sont vraiment des bâtards coriaces.|jan:10||{{N|jan_default13||||}}|};
-{jan_default13|Si tu veux vraiment m\'aider, descend chercher Irogotu dans ce dédale et ramène-moi l\'anneau de Gandir.|||{{Entendu.|jan_default14||||}{Background|jan_background||||}{Au revoir.|X||||}}|};
+{jan_default13|Si tu veux vraiment m\'aider, descends chercher Irogotu dans ce dédale et ramène-moi l\'anneau de Gandir.|||{{Entendu.|jan_default14||||}{Background|jan_background||||}{Au revoir.|X||||}}|};
{jan_default14|Reviens me voir lorsque tu auras terminé. Ramène-moi l\'anneau de Gandir qu\'a Irogotu dans ce dédale.|||{{Ok, bye|X||||}}|};
{jan_return|Re-bonjour petit. As-tu trouvé Irogotu dans ce dédale ?|||{{Non, pas encore.|jan_default14||||}{Pouvez-vous me raconter une nouvelle fois votre histoire ?|jan_background||||}{Oui, j\'ai tué Irogotu.|jan_complete||ring_gandir|1|}}|};
-{jan_background|N\'as tu pas écouté la première fois que je te l\'ai racontée ? Dois-je vraiment te la répéter une nouvelle fois ?|||{{Oui, s\'il-vous-plait, racontez moi à nouveau ce qui s\'est passé.|jan_default3||||}{Je n\'ai pas vraiment écouté la première fois que vous me l\'avez racontée. C\'est quoi cette histoire de trésor ?|jan_default4||||}{Non, c\'est bon, je m\'en souviens maintenant.|jan_default14||||}}|};
+{jan_background|N\'as tu pas écouté la première fois que je te l\'ai racontée ? Dois-je vraiment te la répéter une nouvelle fois ?|||{{Oui, s\'il vous plait, racontez moi à nouveau ce qui s\'est passé.|jan_default3||||}{Je n\'ai pas vraiment écouté la première fois que vous me l\'avez racontée. C\'est quoi cette histoire de trésor ?|jan_default4||||}{Non, c\'est bon, je m\'en souviens maintenant.|jan_default14||||}}|};
{jan_complete2|Merci de t\'être occupé d\'Irogotu plus tôt ! Je suis à jamais ton débiteur.|||{{Au revoir.|X||||}}|};
{jan_complete|Attends, quoi ? Tu es vraiment descendu et tu reviens vivant ? Comment as-tu réussi à faire cela ? Mince, je suis quasiment mort dans ces grottes.\n\nOh merci de tout cœur de m\'avoir rapporté l\'anneau de Gandir ! Maintenant, j\'ai un souvenir de lui.|jan:100||{{Je suis heureux d\'avoir pu vous aider. Au revoir.|X||||}{Que l\'Ombre soit avec vous. au revoir.|X||||}{Qu\'importe. Je ne l\'ai fait que pour le butin.|X||||}}|};
diff --git a/AndorsTrail/res/values-fr/itemlist.xml b/AndorsTrail/res/values-fr/content_itemlist.xml
similarity index 100%
rename from AndorsTrail/res/values-fr/itemlist.xml
rename to AndorsTrail/res/values-fr/content_itemlist.xml
diff --git a/AndorsTrail/res/values-fr/questlist.xml b/AndorsTrail/res/values-fr/content_questlist.xml
similarity index 100%
rename from AndorsTrail/res/values-fr/questlist.xml
rename to AndorsTrail/res/values-fr/content_questlist.xml
diff --git a/AndorsTrail/res/values-fr/strings.xml b/AndorsTrail/res/values-fr/strings.xml
index 19432a015..f2e52f70f 100644
--- a/AndorsTrail/res/values-fr/strings.xml
+++ b/AndorsTrail/res/values-fr/strings.xml
@@ -20,7 +20,7 @@
Chargement des ressources...
Échec au chargement
- La Piste d\'Andor a été incapable de charger le fichier du jeu sauvegardé.\n\n:(\n\nLe fichier est peut-être endommagé ou incomplet.
+ La Piste d\'Andor a été incapable de charger le fichier du jeu sauvegardé.\n\n :(\n\nLe fichier est peut-être endommagé ou incomplet.
La Piste d\'Andor n\'a pas été capable de charger la sauvegarde. Cette sauvegarde de jeu a été créée avec une version plus récente que celle qui est en cours d\'exécution.
Fermer
@@ -33,13 +33,13 @@
Reprendre
Rencontre
- Voulez-vous attaquer ?\nDifficulté: %1$s
+ Voulez-vous attaquer ?\nDifficulté : %1$s
Info
- HP:
- MP:
- AP:
- Niv.:
+ HP :
+ MP :
+ AP :
+ Niv. :
Vue d\'ensemble
Inventaire
@@ -51,8 +51,8 @@
Expérience totale
Équipement porté
Inventaire
- Or: %1$d
- Point d\'Action (AP):
+ Or : %1$d
+ Point d\'Action (AP) :
Quêtes
Attaque (%1$d AP)
@@ -64,8 +64,8 @@
Fuir
Vous pouvez maintenant fuir le combat en cliquant dans la direction vers laquelle vous souhaitez vous déplacer.
Vous n\'avez pas pu fuir !
- AP: %1$d
- HP:
+ AP : %1$d
+ HP :
%1$s est attaqué.
%1$s manqué !
@@ -103,45 +103,45 @@
Très difficile
Impossible
- Classe:
- Difficulté:
- Santé:
- Attaques/tour:
- Mouvement/tour:
- Attaque:
- Frappe critique:
- Défense:
- Coût de déplacement (AP):
+ Classe :
+ Difficulté :
+ Santé :
+ Attaques/tour :
+ Mouvement/tour :
+ Attaque :
+ Frappe critique :
+ Défense :
+ Coût de déplacement (AP) :
Statistiques de combat non équipé (base)
Statistiques de combat équipé (current)
- Coût d\'attaque (AP):
- Chance d\'attaque:
- Dommage d\'attaque:
- Chance de coup critique:
- Multiple critique:
- Chance de blocage:
- Résistance au dommage:
+ Coût d\'attaque (AP) :
+ Chance d\'attaque :
+ Dommage d\'attaque :
+ Chance de coup critique :
+ Multiple critique :
+ Chance de blocage :
+ Résistance au dommage :
- Catégorie:
- Utilisé
- Équipé
- Non-équipé
- Utilisé (%1$d AP)
- Équipé (%1$d AP)
- Non-équipé (%1$d AP)
+ Catégorie :
+ Utiliser
+ Équiper
+ Déséquiper
+ Utiliser (%1$d AP)
+ Équiper (%1$d AP)
+ Déséquiper (%1$d AP)
Monnaie
Arme
Bouclier
- Portable (tête)
- Portable (corps)
- Portable (mains)
- Portable (pieds)
- Portable (cou)
- Portable (anneau)
+ Vêtement (tête)
+ Vêtement (corps)
+ Vêtement (mains)
+ Chaussure (pieds)
+ Bijou (cou)
+ Bijou (anneau)
Potion
Autre
@@ -166,7 +166,7 @@
Info
Acheter (%1$d or)
Vendre (%1$d or)
- Votre or: %1$d
+ Votre or : %1$d
%1$s bought.
%1$s vendu.
@@ -230,7 +230,7 @@
- Inclure les quêtes accomplies
- N\'afficher que les quêtes accomplies
- État: %1$s
+ État : %1$s
En-cours
Accomplie
diff --git a/AndorsTrail/res/values-it/actorconditions.xml b/AndorsTrail/res/values-it/content_actorconditions.xml
similarity index 100%
rename from AndorsTrail/res/values-it/actorconditions.xml
rename to AndorsTrail/res/values-it/content_actorconditions.xml
diff --git a/AndorsTrail/res/values-it/conversationlist.xml b/AndorsTrail/res/values-it/content_conversationlist.xml
similarity index 100%
rename from AndorsTrail/res/values-it/conversationlist.xml
rename to AndorsTrail/res/values-it/content_conversationlist.xml
diff --git a/AndorsTrail/res/values-it/itemlist.xml b/AndorsTrail/res/values-it/content_itemlist.xml
similarity index 100%
rename from AndorsTrail/res/values-it/itemlist.xml
rename to AndorsTrail/res/values-it/content_itemlist.xml
diff --git a/AndorsTrail/res/values-it/questlist.xml b/AndorsTrail/res/values-it/content_questlist.xml
similarity index 100%
rename from AndorsTrail/res/values-it/questlist.xml
rename to AndorsTrail/res/values-it/content_questlist.xml
diff --git a/AndorsTrail/res/values-ru/conversationlist.xml b/AndorsTrail/res/values-ru/content_conversationlist.xml
similarity index 100%
rename from AndorsTrail/res/values-ru/conversationlist.xml
rename to AndorsTrail/res/values-ru/content_conversationlist.xml
diff --git a/AndorsTrail/res/values-ru/itemlist.xml b/AndorsTrail/res/values-ru/content_itemlist.xml
similarity index 100%
rename from AndorsTrail/res/values-ru/itemlist.xml
rename to AndorsTrail/res/values-ru/content_itemlist.xml
diff --git a/AndorsTrail/res/values-ru/questlist.xml b/AndorsTrail/res/values-ru/content_questlist.xml
similarity index 100%
rename from AndorsTrail/res/values-ru/questlist.xml
rename to AndorsTrail/res/values-ru/content_questlist.xml
diff --git a/AndorsTrail/res/values/authors.xml b/AndorsTrail/res/values/authors.xml
new file mode 100644
index 000000000..cbbdce9f5
--- /dev/null
+++ b/AndorsTrail/res/values/authors.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+ Programming by Oskar Wiksten<br />
+ <a href="http://telles0808.deviantart.com/art/RPG-Maker-VX-RTP-Tileset-159218223">Map tilesets graphics by telles0808</a><br />
+ <a href="http://ails.deviantart.com/art/420-Pixel-Art-Icons-for-RPG-129892453">Item tilesets graphics by Ails</a><br />
+ <a href="http://redknight91.deviantart.com/art/Arena-Game-Sprites-154661559">Hero graphics by RedKnight91</a><br />
+ <a href="http://nacred.deviantart.com/art/Sprite-Sheet-171751308">Additional monster graphics by nacred</a><br />
+ <a href="http://andors.techby2guys.com/">Game forums provided by Scott Devaney</a><br />
+ Additional maps done by Michael Schmid<br />
+ Additional programming by Samuel Plentz<br />
+ Additional programming by Uwe Jugel<br />
+ Additional programming by Olivier Samyn<br />
+ Additional graphics by Karvis<br />
+ Russian translation by Dreamer...<br />
+ Italian translation by k6blue and liogiu<br />
+ French translation by LeSanglier and Misty Soul<br />
+ German translation by Bomber and Samuel Plentz<br />
+ English proofreading by taws34<br />
+ Forum moderated by Tim Davis<br />
+ Forum moderated by Josh Kloos<br />
+ Forum moderated by Travis Miller<br />
+ <br />
+ <a href="http://rltiles.sourceforge.net">Monster tileset graphics by rltiles.sourceforge.net</a><br />
+ Part of (or All) the graphic tiles used in this program is the public domain roguelike tileset "RLTiles".
+ Some of the tiles have been modified by Oskar Wiksten.
+ You can find the original tileset at <a href="http://rltiles.sf.net">http://rltiles.sf.net</a><br />
+ <br />
+ Some of the graphic data in this software are free game resources distributed by REFMAP (<a href="http://www.tekepon.net/fsm">http://www.tekepon.net/fsm</a>).
+ You must not use the graphic data which is in this software, for the purpose except playing this game. When you want to get these resources, go to the website above.<br />
+
+
diff --git a/AndorsTrail/res/values/actorconditions.xml b/AndorsTrail/res/values/content_actorconditions.xml
similarity index 100%
rename from AndorsTrail/res/values/actorconditions.xml
rename to AndorsTrail/res/values/content_actorconditions.xml
diff --git a/AndorsTrail/res/values/conversationlist.xml b/AndorsTrail/res/values/content_conversationlist.xml
similarity index 100%
rename from AndorsTrail/res/values/conversationlist.xml
rename to AndorsTrail/res/values/content_conversationlist.xml
diff --git a/AndorsTrail/res/values/droplist.xml b/AndorsTrail/res/values/content_droplist.xml
similarity index 100%
rename from AndorsTrail/res/values/droplist.xml
rename to AndorsTrail/res/values/content_droplist.xml
diff --git a/AndorsTrail/res/values/itemlist.xml b/AndorsTrail/res/values/content_itemlist.xml
similarity index 100%
rename from AndorsTrail/res/values/itemlist.xml
rename to AndorsTrail/res/values/content_itemlist.xml
diff --git a/AndorsTrail/res/values/monsterlist.xml b/AndorsTrail/res/values/content_monsterlist.xml
similarity index 100%
rename from AndorsTrail/res/values/monsterlist.xml
rename to AndorsTrail/res/values/content_monsterlist.xml
diff --git a/AndorsTrail/res/values/questlist.xml b/AndorsTrail/res/values/content_questlist.xml
similarity index 100%
rename from AndorsTrail/res/values/questlist.xml
rename to AndorsTrail/res/values/content_questlist.xml
diff --git a/AndorsTrail/res/values/loadresources.xml b/AndorsTrail/res/values/loadresources.xml
new file mode 100644
index 000000000..f53e207e0
--- /dev/null
+++ b/AndorsTrail/res/values/loadresources.xml
@@ -0,0 +1,315 @@
+
+
+
+ - @string/actorconditions_v069
+ - @string/actorconditions_v069_bwm
+
+
+
+ - @string/itemlist_money
+ - @string/itemlist_weapons
+ - @string/itemlist_armour
+ - @string/itemlist_rings
+ - @string/itemlist_necklaces
+ - @string/itemlist_junk
+ - @string/itemlist_food
+ - @string/itemlist_potions
+ - @string/itemlist_animal
+ - @string/itemlist_quest
+ - @string/itemlist_v068
+ - @string/itemlist_v069
+ - @string/itemlist_v069_questitems
+ - @string/itemlist_v069_2
+
+
+
+ - @string/droplists_crossglen
+ - @string/droplists_crossglen_outside
+ - @string/droplists_fallhaven
+ - @string/droplists_wilderness
+ - @string/droplists_v068
+ - @string/droplists_v069_npcs
+ - @string/droplists_v069_monsters
+
+
+
+ - @string/questlist
+ - @string/questlist_nondisplayed
+ - @string/questlist_v068
+ - @string/questlist_v069
+
+
+
+ - @string/conversationlist_mikhail
+ - @string/conversationlist_crossglen
+ - @string/conversationlist_crossglen_gruil
+ - @string/conversationlist_crossglen_leonid
+ - @string/conversationlist_crossglen_tharal
+ - @string/conversationlist_crossglen_leta
+ - @string/conversationlist_crossglen_odair
+ - @string/conversationlist_jan
+ - @string/conversationlist_fallhaven
+ - @string/conversationlist_fallhaven_arcir
+ - @string/conversationlist_fallhaven_bucus
+ - @string/conversationlist_fallhaven_church
+ - @string/conversationlist_fallhaven_athamyr
+ - @string/conversationlist_fallhaven_drunk
+ - @string/conversationlist_fallhaven_nocmar
+ - @string/conversationlist_fallhaven_oldman
+ - @string/conversationlist_fallhaven_tavern
+ - @string/conversationlist_fallhaven_larcal
+ - @string/conversationlist_fallhaven_unnmir
+ - @string/conversationlist_fallhaven_gaela
+ - @string/conversationlist_fallhaven_vacor
+ - @string/conversationlist_fallhaven_unzel
+ - @string/conversationlist_wilderness
+ - @string/conversationlist_flagstone
+ - @string/conversationlist_fallhaven_south
+ - @string/conversationlist_signs_pre067
+ - @string/conversationlist_thievesguild_1
+ - @string/conversationlist_farrik
+ - @string/conversationlist_fallhaven_warden
+ - @string/conversationlist_umar
+ - @string/conversationlist_kaori
+ - @string/conversationlist_vilegard_villagers
+ - @string/conversationlist_vilegard_erttu
+ - @string/conversationlist_vilegard_tavern
+ - @string/conversationlist_jolnor
+ - @string/conversationlist_alynndir
+ - @string/conversationlist_shops
+ - @string/conversationlist_ogam
+ - @string/conversationlist_foamingflask
+ - @string/conversationlist_ambelie
+ - @string/conversationlist_foamingflask_guards
+ - @string/conversationlist_foamingflask_outsideguard
+ - @string/conversationlist_wrye
+ - @string/conversationlist_oluag
+ - @string/conversationlist_signs_v068
+ - @string/conversationlist_maelveon
+ - @string/conversationlist_bwm_agent_1
+ - @string/conversationlist_bwm_agent_2
+ - @string/conversationlist_bwm_agent_3
+ - @string/conversationlist_bwm_agent_4
+ - @string/conversationlist_bwm_agent_5
+ - @string/conversationlist_bwm_agent_6
+ - @string/conversationlist_prim_arghest
+ - @string/conversationlist_prim_outside
+ - @string/conversationlist_prim_inn
+ - @string/conversationlist_prim_tavern
+ - @string/conversationlist_prim_guthbered
+ - @string/conversationlist_blackwater_signs
+ - @string/conversationlist_blackwater_harlenn
+ - @string/conversationlist_blackwater_upper
+ - @string/conversationlist_blackwater_lower
+ - @string/conversationlist_blackwater_herec
+ - @string/conversationlist_prim_bjorgur
+ - @string/conversationlist_prim_fulus
+ - @string/conversationlist_prim_merchants
+ - @string/conversationlist_blackwater_throdna
+ - @string/conversationlist_blackwater_kazaul
+
+
+
+ - @string/monsterlist_crossglen_animals
+ - @string/monsterlist_crossglen_npcs
+ - @string/monsterlist_fallhaven_animals
+ - @string/monsterlist_fallhaven_npcs
+ - @string/monsterlist_wilderness
+ - @string/monsterlist_v068_npcs
+ - @string/monsterlist_v069_monsters
+ - @string/monsterlist_v069_npcs
+
+
+
+ - @xml/home
+ - @xml/crossglen
+ - @xml/crossglen_farmhouse
+ - @xml/crossglen_farmhouse_basement
+ - @xml/crossglen_hall
+ - @xml/crossglen_smith
+ - @xml/crossglen_cave
+ - @xml/wild1
+ - @xml/wild2
+ - @xml/wild3
+ - @xml/jan_pitcave1
+ - @xml/jan_pitcave2
+ - @xml/jan_pitcave3
+ - @xml/fallhaven_nw
+ - @xml/snakecave1
+ - @xml/snakecave2
+ - @xml/snakecave3
+ - @xml/wild4
+ - @xml/hauntedhouse1
+ - @xml/hauntedhouse2
+ - @xml/fallhaven_ne
+ - @xml/fallhaven_church
+ - @xml/fallhaven_barn
+ - @xml/fallhaven_potions
+ - @xml/fallhaven_gravedigger
+ - @xml/fallhaven_clothes
+ - @xml/fallhaven_arcir
+ - @xml/fallhaven_arcir_basement
+ - @xml/fallhaven_athamyr
+ - @xml/fallhaven_rigmor
+ - @xml/fallhaven_tavern
+ - @xml/fallhaven_prison
+ - @xml/fallhaven_derelict
+ - @xml/fallhaven_nocmar
+ - @xml/catacombs1
+ - @xml/catacombs2
+ - @xml/catacombs3
+ - @xml/catacombs4
+ - @xml/hauntedhouse3
+ - @xml/hauntedhouse4
+ - @xml/fallhaven_sw
+ - @xml/wild5
+ - @xml/wild6
+ - @xml/wild6_house
+ - @xml/wild7
+ - @xml/wild8
+ - @xml/wild9
+ - @xml/wild10
+ - @xml/flagstone0
+ - @xml/flagstone_inner
+ - @xml/flagstone_upper
+ - @xml/flagstone1
+ - @xml/flagstone2
+ - @xml/flagstone3
+ - @xml/flagstone4
+ - @xml/wild11
+ - @xml/wild12
+ - @xml/wild11_clearing
+ - @xml/clearing_level1
+ - @xml/clearing_level2
+ - @xml/fallhaven_se
+ - @xml/fallhaven_lumberjack
+ - @xml/fallhaven_alaun
+ - @xml/fallhaven_storage
+ - @xml/fallhaven_farmer
+ - @xml/wild13
+ - @xml/wild14
+ - @xml/wild14_cave
+ - @xml/wild14_clearing
+ - @xml/wild15
+ - @xml/wild15_house
+ - @xml/road1
+ - @xml/foaming_flask
+ - @xml/fallhaven_derelict2
+ - @xml/vilegard_n
+ - @xml/vilegard_s
+ - @xml/vilegard_sw
+ - @xml/vilegard_ogam
+ - @xml/vilegard_chapel
+ - @xml/vilegard_tavern
+ - @xml/vilegard_armorer
+ - @xml/vilegard_smith
+ - @xml/vilegard_wrye
+ - @xml/vilegard_kaori
+ - @xml/vilegard_erttu
+ - @xml/road2
+ - @xml/road3
+ - @xml/road4
+ - @xml/road4_gargoylecave
+ - @xml/road5
+ - @xml/road5_house
+ - @xml/gargoylecave1
+ - @xml/gargoylecave2
+ - @xml/gargoylecave3
+ - @xml/gargoylecave4
+ - @xml/blackwater_mountain0
+ - @xml/blackwater_mountain1
+ - @xml/blackwater_mountain2
+ - @xml/blackwater_mountain3
+ - @xml/blackwater_mountain4
+ - @xml/blackwater_mountain5
+ - @xml/blackwater_mountain6
+ - @xml/blackwater_mountain7
+ - @xml/blackwater_mountain8
+ - @xml/blackwater_mountain9
+ - @xml/blackwater_mountain10
+ - @xml/blackwater_mountain11
+ - @xml/blackwater_mountain12
+ - @xml/blackwater_mountain13
+ - @xml/blackwater_mountain14
+ - @xml/blackwater_mountain15
+ - @xml/blackwater_mountain16
+ - @xml/blackwater_mountain17
+ - @xml/blackwater_mountain18
+ - @xml/blackwater_mountain19
+ - @xml/blackwater_mountain20
+ - @xml/blackwater_mountain21
+ - @xml/blackwater_mountain22
+ - @xml/blackwater_mountain23
+ - @xml/blackwater_mountain24
+ - @xml/blackwater_mountain25
+ - @xml/blackwater_mountain26
+ - @xml/blackwater_mountain27
+ - @xml/blackwater_mountain28
+ - @xml/blackwater_mountain29
+ - @xml/blackwater_mountain30
+ - @xml/blackwater_mountain31
+ - @xml/blackwater_mountain32
+ - @xml/blackwater_mountain33
+ - @xml/blackwater_mountain34
+ - @xml/blackwater_mountain35
+ - @xml/blackwater_mountain36
+ - @xml/blackwater_mountain37
+ - @xml/blackwater_mountain38
+ - @xml/blackwater_mountain39
+ - @xml/blackwater_mountain40
+ - @xml/blackwater_mountain41
+ - @xml/blackwater_mountain42
+ - @xml/blackwater_mountain43
+ - @xml/blackwater_mountain44
+ - @xml/blackwater_mountain45
+ - @xml/blackwater_mountain46
+ - @xml/blackwater_mountain47
+ - @xml/blackwater_mountain48
+ - @xml/blackwater_mountain49
+ - @xml/blackwater_mountain50
+ - @xml/blackwater_mountain51
+ - @xml/blackwater_mountain52
+ - @xml/wild0
+ - @xml/crossroads
+ - @xml/fields0
+ - @xml/fields1
+ - @xml/fields2
+ - @xml/fields3
+ - @xml/fields4
+ - @xml/fields5
+ - @xml/fields6
+ - @xml/fields7
+ - @xml/fields8
+ - @xml/fields9
+ - @xml/fields10
+ - @xml/fields11
+ - @xml/fields12
+ - @xml/houseatcrossroads0
+ - @xml/houseatcrossroads1
+ - @xml/houseatcrossroads2
+ - @xml/houseatcrossroads3
+ - @xml/houseatcrossroads4
+ - @xml/houseatcrossroads5
+ - @xml/loneford1
+ - @xml/loneford2
+ - @xml/loneford3
+ - @xml/loneford4
+ - @xml/loneford5
+ - @xml/loneford6
+ - @xml/loneford7
+ - @xml/loneford8
+ - @xml/loneford9
+ - @xml/loneford10
+ - @xml/roadbeforecrossroads
+ - @xml/roadtocarntower0
+ - @xml/roadtocarntower1
+ - @xml/roadtocarntower2
+ - @xml/woodcave0
+ - @xml/woodcave1
+ - @xml/wild16
+ - @xml/wild17
+ - @xml/gapfiller1
+ - @xml/gapfiller3
+ - @xml/gapfiller4
+
+
diff --git a/AndorsTrail/res/values/loadresources_debug.xml b/AndorsTrail/res/values/loadresources_debug.xml
new file mode 100644
index 000000000..a0b29c2e9
--- /dev/null
+++ b/AndorsTrail/res/values/loadresources_debug.xml
@@ -0,0 +1,30 @@
+
+
+
+ - @string/itemlist_money
+ - @string/itemlist_weapons
+ - @string/itemlist_armour
+ - @string/itemlist_debug
+
+
+
+ - @string/droplists_debug
+
+
+
+ - @string/questlist_debug
+
+
+
+ - @string/conversationlist_debug
+
+
+
+ - @string/monsterlist_debug
+
+
+
+ - @xml/debugmap
+
+
+
diff --git a/AndorsTrail/res/values/strings.xml b/AndorsTrail/res/values/strings.xml
index be43f0a36..b732f31d7 100644
--- a/AndorsTrail/res/values/strings.xml
+++ b/AndorsTrail/res/values/strings.xml
@@ -200,37 +200,6 @@
<br />
We really should add some info here about how to play the game :)<br />
-
-
-
- Programming by Oskar Wiksten<br />
- <a href="http://telles0808.deviantart.com/art/RPG-Maker-VX-RTP-Tileset-159218223">Map tilesets graphics by telles0808</a><br />
- <a href="http://ails.deviantart.com/art/420-Pixel-Art-Icons-for-RPG-129892453">Item tilesets graphics by Ails</a><br />
- <a href="http://redknight91.deviantart.com/art/Arena-Game-Sprites-154661559">Hero graphics by RedKnight91</a><br />
- <a href="http://nacred.deviantart.com/art/Sprite-Sheet-171751308">Additional monster graphics by nacred</a><br />
- <a href="http://andors.techby2guys.com/">Game forums provided by Scott Devaney</a><br />
- Additional maps done by Michael Schmid<br />
- Additional programming by Samuel Plentz<br />
- Additional programming by Uwe Jugel<br />
- Additional programming by Olivier Samyn<br />
- Additional graphics by Karvis<br />
- Russian translation by Dreamer...<br />
- Italian translation by k6blue and liogiu<br />
- French translation by LeSanglier and Misty Soul<br />
- German translation by Bomber and Samuel Plentz<br />
- English proofreading by taws34<br />
- Forum moderated by Tim Davis<br />
- Forum moderated by Josh Kloos<br />
- Forum moderated by Travis Miller<br />
- <br />
- <a href="http://rltiles.sourceforge.net">Monster tileset graphics by rltiles.sourceforge.net</a><br />
- Part of (or All) the graphic tiles used in this program is the public domain roguelike tileset "RLTiles".
- Some of the tiles have been modified by Oskar Wiksten.
- You can find the original tileset at <a href="http://rltiles.sf.net">http://rltiles.sf.net</a><br />
- <br />
- Some of the graphic data in this software are free game resources distributed by REFMAP (<a href="http://www.tekepon.net/fsm">http://www.tekepon.net/fsm</a>).
- You must not use the graphic data which is in this software, for the purpose except playing this game. When you want to get these resources, go to the website above.<br />
-
+
+
+ Virtual d-pad
+ Enables a virtual on-screen directional pad to guide movement
+
+
+ - Disabled
+ - Lower right corner
+ - Lower left corner
+ - Center bottom
+ - Center left
+ - Center right
+ - Upper left corner
+ - Upper right corner
+ - Center top
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+
+
diff --git a/AndorsTrail/res/values/colors.xml b/AndorsTrail/res/values/ui_colors.xml
similarity index 100%
rename from AndorsTrail/res/values/colors.xml
rename to AndorsTrail/res/values/ui_colors.xml
diff --git a/AndorsTrail/res/values/dimen.xml b/AndorsTrail/res/values/ui_dimen.xml
similarity index 100%
rename from AndorsTrail/res/values/dimen.xml
rename to AndorsTrail/res/values/ui_dimen.xml
diff --git a/AndorsTrail/res/values/ids.xml b/AndorsTrail/res/values/ui_ids.xml
similarity index 100%
rename from AndorsTrail/res/values/ids.xml
rename to AndorsTrail/res/values/ui_ids.xml
diff --git a/AndorsTrail/res/values/theme.xml b/AndorsTrail/res/values/ui_theme.xml
similarity index 100%
rename from AndorsTrail/res/values/theme.xml
rename to AndorsTrail/res/values/ui_theme.xml
diff --git a/AndorsTrail/res/xml/preferences.xml b/AndorsTrail/res/xml/preferences.xml
index 72715fc9b..0f32f0edc 100644
--- a/AndorsTrail/res/xml/preferences.xml
+++ b/AndorsTrail/res/xml/preferences.xml
@@ -54,5 +54,12 @@
android:defaultValue="0"
android:entries="@array/preferences_movementmethods"
android:entryValues="@array/preferences_movementmethod_values" />
+
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
index ef55621d7..b81d3210f 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
@@ -16,9 +16,9 @@ public final class AndorsTrailApplication extends Application {
public static final boolean DEVELOPMENT_DEBUGRESOURCES = false;
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
- public static final boolean DEVELOPMENT_DEBUGBUTTONS = false;
- public static final boolean DEVELOPMENT_VALIDATEDATA = false;
- public static final boolean DEVELOPMENT_DEBUGMESSAGES = false;
+ public static final boolean DEVELOPMENT_DEBUGBUTTONS = true;
+ public static final boolean DEVELOPMENT_VALIDATEDATA = true;
+ public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;
public static final int CURRENT_VERSION = 20;
public static final String CURRENT_VERSION_DISPLAY = "0.6.10dev";
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailPreferences.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailPreferences.java
index fa6639e54..0f16c9d81 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailPreferences.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailPreferences.java
@@ -5,18 +5,33 @@ import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class AndorsTrailPreferences {
- public boolean confirmRest = true;
- public boolean confirmAttack = true;
- public int displayLoot = DISPLAYLOOT_DIALOG;
public static final int DISPLAYLOOT_DIALOG = 0;
public static final int DISPLAYLOOT_TOAST = 1;
public static final int DISPLAYLOOT_NONE = 2;
+ public static final int MOVEMENTMETHOD_STRAIGHT = 0;
+ public static final int MOVEMENTMETHOD_DIRECTIONAL = 1;
+ public static final int MOVEMENTAGGRESSIVENESS_NORMAL = 0;
+ public static final int MOVEMENTAGGRESSIVENESS_AGGRESSIVE = 1;
+ public static final int MOVEMENTAGGRESSIVENESS_DEFENSIVE = 2;
+ public static final int DPAD_POSITION_DISABLED = 0;
+ public static final int DPAD_POSITION_LOWER_RIGHT = 1;
+ public static final int DPAD_POSITION_LOWER_LEFT = 2;
+ public static final int DPAD_POSITION_LOWER_CENTER = 3;
+ public static final int DPAD_POSITION_CENTER_LEFT = 4;
+ public static final int DPAD_POSITION_CENTER_RIGHT = 5;
+ public static final int DPAD_POSITION_UPPER_LEFT = 6;
+ public static final int DPAD_POSITION_UPPER_RIGHT = 7;
+ public static final int DPAD_POSITION_UPPER_CENTER = 8;
+
+ public boolean confirmRest = true;
+ public boolean confirmAttack = true;
+ public int displayLoot = DISPLAYLOOT_DIALOG;
public boolean fullscreen = true;
public int attackspeed_milliseconds = 1000;
public int movementMethod = MOVEMENTMETHOD_STRAIGHT;
- public static final int MOVEMENTMETHOD_STRAIGHT = 0;
- public static final int MOVEMENTMETHOD_DIRECTIONAL = 1;
+ public int movementAggressiveness = MOVEMENTAGGRESSIVENESS_NORMAL;
public float scalingFactor = 1.0f;
+ public int dpadPosition;
public static void read(final Context androidContext, AndorsTrailPreferences dest) {
try {
@@ -28,6 +43,10 @@ public class AndorsTrailPreferences {
dest.attackspeed_milliseconds = Integer.parseInt(prefs.getString("attackspeed", "1000"));
dest.movementMethod = Integer.parseInt(prefs.getString("movementmethod", Integer.toString(MOVEMENTMETHOD_STRAIGHT)));
dest.scalingFactor = Float.parseFloat(prefs.getString("scaling_factor", "1.0f"));
+ dest.dpadPosition = Integer.parseInt(prefs.getString("dpadposition", Integer.toString(DPAD_POSITION_DISABLED)));
+
+ // This might be implemented as a skill in the future.
+ //dest.movementAggressiveness = Integer.parseInt(prefs.getString("movementaggressiveness", Integer.toString(MOVEMENTAGGRESSIVENESS_NORMAL)));
} catch (Exception e) {
dest.confirmRest = true;
dest.confirmAttack = true;
@@ -35,7 +54,9 @@ public class AndorsTrailPreferences {
dest.fullscreen = true;
dest.attackspeed_milliseconds = 1000;
dest.movementMethod = MOVEMENTMETHOD_STRAIGHT;
+ dest.movementAggressiveness = MOVEMENTAGGRESSIVENESS_NORMAL;
dest.scalingFactor = 1.0f;
+ dest.dpadPosition = DPAD_POSITION_DISABLED;
}
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/AboutActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/AboutActivity.java
index 351c8cf89..ee6e118b9 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/AboutActivity.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/AboutActivity.java
@@ -42,7 +42,7 @@ public final class AboutActivity extends Activity {
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- tv.setText(Html.fromHtml(res.getString(R.string.about_contents2)));
+ tv.setText(Html.fromHtml(res.getString(R.string.about_authors)));
}
});
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java
index a2c9ba9c8..d46eb1020 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java
@@ -17,6 +17,7 @@ import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.view.CombatView;
import com.gpl.rpg.AndorsTrail.view.MainView;
+import com.gpl.rpg.AndorsTrail.view.VirtualDpadView;
import com.gpl.rpg.AndorsTrail.view.QuickButton.QuickButtonContextMenuInfo;
import com.gpl.rpg.AndorsTrail.view.QuickitemView;
import com.gpl.rpg.AndorsTrail.view.StatusView;
@@ -57,6 +58,7 @@ public final class MainActivity extends Activity {
public CombatView combatview;
public QuickitemView quickitemview;
public LinearLayout activeConditions;
+ public VirtualDpadView dpad;
private static final int NUM_MESSAGES = 3;
private final String[] messages = new String[NUM_MESSAGES];
@@ -82,6 +84,7 @@ public final class MainActivity extends Activity {
combatview = (CombatView) findViewById(R.id.main_combatview);
quickitemview = (QuickitemView) findViewById(R.id.main_quickitemview);
activeConditions = (LinearLayout) findViewById(R.id.statusview_activeconditions);
+ dpad = (VirtualDpadView) findViewById(R.id.main_virtual_dpad);
statusText = (TextView) findViewById(R.id.statusview_statustext);
statusText.setOnClickListener(new OnClickListener() {
@@ -175,10 +178,12 @@ public final class MainActivity extends Activity {
})
});
}
+
quickitemview.setVisibility(View.GONE);
quickitemview.registerForContextMenu(this);
quickitemview.refreshQuickitems();
-
+
+ dpad.updateVisibility(app.preferences);
}
@Override
@@ -216,6 +221,7 @@ public final class MainActivity extends Activity {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
AndorsTrailPreferences.read(this, app.preferences);
world.tileStore.updatePreferences(app.preferences);
+ dpad.updateVisibility(app.preferences);
break;
case INTENTREQUEST_SAVEGAME:
if (resultCode != Activity.RESULT_OK) break;
@@ -229,7 +235,7 @@ public final class MainActivity extends Activity {
}
}
- private boolean save(int slot) {
+ private boolean save(int slot) {
final Player player = world.model.player;
return Savegames.saveWorld(world, this, slot, getString(R.string.savegame_currenthero_displayinfo, player.level, player.totalExperience, player.inventory.gold));
}
@@ -274,6 +280,7 @@ public final class MainActivity extends Activity {
super.onPause();
L.log("onPause");
view.gameRoundController.pause();
+ view.movementController.stopMovement();
save(Savegames.SLOT_QUICKSAVE);
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/context/WorldContext.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/context/WorldContext.java
index 2b297ff9d..0e32dae62 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/context/WorldContext.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/context/WorldContext.java
@@ -59,7 +59,10 @@ public class WorldContext {
// Selftest method. Not part of the game logic.
public void verifyData() {
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
- //Ensure that all phrases that require an item have some droplist that contains them
+ assert(itemTypes.getItemTypeByTag("gold") != null);
+ assert(itemTypes.getItemTypeByTag("gold").id == ItemTypeCollection.ITEMTYPE_GOLD);
+
+ //Ensure that all phrases that require an item have some droplist that contains them
conversations.verifyData(dropLists);
//Ensure that all phrases are requested at least once, either by NPCs, mapobjects or by other phrases.
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java
index d94087d10..6880f5ddd 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java
@@ -7,6 +7,7 @@ import android.os.Handler;
import android.os.Message;
import android.view.View;
+import com.gpl.rpg.AndorsTrail.AndorsTrailPreferences;
import com.gpl.rpg.AndorsTrail.Dialogs;
import com.gpl.rpg.AndorsTrail.VisualEffectCollection;
import com.gpl.rpg.AndorsTrail.R;
@@ -69,7 +70,7 @@ public final class CombatController {
killedMonsterBags.clear();
}
totalExpThisFight = 0;
- context.gameRoundController.queueAnotherTick();
+ context.gameRoundController.resume();
}
private void lootCurrentMonsterBags() {
@@ -155,7 +156,8 @@ public final class CombatController {
}
private void executeFlee(int dx, int dy) {
- if (!context.movementController.findWalkablePosition(dx, dy)) return;
+ // avoid monster fields when fleeing
+ if (!context.movementController.findWalkablePosition(dx, dy, AndorsTrailPreferences.MOVEMENTAGGRESSIVENESS_DEFENSIVE)) return;
Monster m = model.currentMap.getMonsterAt(model.player.nextPosition);
if (m != null) return;
executeCombatMove(world.model.player.nextPosition);
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java
index cd9e1a09c..76b8ecfa4 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java
@@ -1,53 +1,28 @@
package com.gpl.rpg.AndorsTrail.controller;
-import android.os.Handler;
-import android.os.Message;
-
import com.gpl.rpg.AndorsTrail.context.ViewContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ModelContainer;
+import com.gpl.rpg.AndorsTrail.util.TimedMessageTask;
-public final class GameRoundController {
+public final class GameRoundController implements TimedMessageTask.Callback {
private final ViewContext view;
private final WorldContext world;
private final ModelContainer model;
-
- private boolean hasQueuedTick = false;
- //private final int id;
-
+ private final TimedMessageTask roundTimer;
+
public GameRoundController(ViewContext context) {
this.view = context;
this.world = context;
this.model = world.model;
//this.id = ModelContainer.rnd.nextInt();
+ this.roundTimer = new TimedMessageTask(this, Constants.TICK_DELAY, true);
}
-
- private final RefreshHandler mTickHandler = new RefreshHandler();
- private class RefreshHandler extends Handler {
-
- @Override
- public void handleMessage(Message msg) {
- if (!hasQueuedTick) return;
- hasQueuedTick = false;
- GameRoundController.this.tick();
- }
-
- public void sleep(long delayMillis) {
- this.removeMessages(0);
- sendMessageDelayed(obtainMessage(0), delayMillis);
- }
- };
-
- public void queueAnotherTick() {
- if (hasQueuedTick) return;
- hasQueuedTick = true;
- mTickHandler.sleep(Constants.TICK_DELAY);
- }
-
+
private int ticksUntilNextRound = Constants.TICKS_PER_ROUND;
private int ticksUntilNextFullRound = Constants.TICKS_PER_FULLROUND;
- private void tick() {
+ public void onTick(TimedMessageTask task) {
//L.log(id + " : Controller::tick()");
if (!model.uiSelections.isMainActivityVisible) return;
if (model.uiSelections.isInCombat) return;
@@ -66,18 +41,18 @@ public final class GameRoundController {
ticksUntilNextFullRound = Constants.TICKS_PER_FULLROUND;
}
- queueAnotherTick();
+ roundTimer.queueAnotherTick();
}
public void resume() {
//L.log(id + " : Controller::resume()");
view.mainActivity.updateStatus();
model.uiSelections.isMainActivityVisible = true;
- queueAnotherTick();
+ roundTimer.start();
}
public void pause() {
//L.log(id + " : Controller::pause()");
- hasQueuedTick = false;
+ roundTimer.stop();
model.uiSelections.isMainActivityVisible = false;
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MovementController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MovementController.java
index 54c251ed9..664ff1648 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MovementController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/MovementController.java
@@ -15,16 +15,19 @@ import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
import com.gpl.rpg.AndorsTrail.model.map.TMXMapReader;
import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.L;
+import com.gpl.rpg.AndorsTrail.util.TimedMessageTask;
-public final class MovementController {
+public final class MovementController implements TimedMessageTask.Callback {
private final ViewContext view;
private final WorldContext world;
private final ModelContainer model;
+ private final TimedMessageTask movementHandler;
public MovementController(ViewContext context) {
this.view = context;
this.world = context;
this.model = world.model;
+ this.movementHandler = new TimedMessageTask(this, Constants.MINIMUM_INPUT_INTERVAL, false);
}
public void placePlayerAt(int objectType, String mapName, String placeName, int offset_x, int offset_y) {
@@ -73,7 +76,7 @@ public final class MovementController {
return !model.uiSelections.isInCombat;
}
- public void movePlayer(int dx, int dy) {
+ private void movePlayer(int dx, int dy) {
if (dx == 0 && dy == 0) return;
if (!mayMovePlayer()) return;
@@ -89,54 +92,75 @@ public final class MovementController {
}
public boolean findWalkablePosition(int dx, int dy) {
- if (view.preferences.movementMethod == AndorsTrailPreferences.MOVEMENTMETHOD_DIRECTIONAL) {
- return findWalkablePosition_directional(dx, dy);
- } else {
- return findWalkablePosition_straight(dx, dy);
+ // try to move with movementAggresiveness, if that fails fall back to MOVEMENTAGGRESSIVENESS_NORMAL
+ if (findWalkablePosition(dx, dy, view.preferences.movementAggressiveness)) return true;
+
+ if (view.preferences.movementAggressiveness == AndorsTrailPreferences.MOVEMENTAGGRESSIVENESS_NORMAL) return false;
+
+ return findWalkablePosition(dx, dy, AndorsTrailPreferences.MOVEMENTAGGRESSIVENESS_NORMAL);
+ }
+
+ public boolean findWalkablePosition(int dx, int dy, int aggressiveness) {
+ if (view.preferences.movementMethod == AndorsTrailPreferences.MOVEMENTMETHOD_STRAIGHT) {
+ return findWalkablePosition_straight(dx, dy, aggressiveness);
+ } else {
+ return findWalkablePosition_directional(dx, dy, aggressiveness);
}
}
- public boolean findWalkablePosition_straight(int dx, int dy) {
- if (tryWalkablePosition(sgn(dx), sgn(dy))) return true;
- if (dx == 0 || dy == 0) return false;
- if (abs(dx) == abs(dy) && tryWalkablePosition(sgn(dx), 0)) return true;
- if (abs(dx) > abs(dy)) return tryWalkablePosition(sgn(dx), 0);
- return tryWalkablePosition(0, sgn(dy));
+ public boolean findWalkablePosition_straight(int dx, int dy, int aggressiveness) {
+ if (tryWalkablePosition(sgn(dx), sgn(dy), aggressiveness)) return true; // try moving into the direction player is pointing at
+ if (dx == 0 || dy == 0) return false; // if moving purely east, west, north or south failed - do nothing
+ if (abs(dx) == abs(dy) && tryWalkablePosition(sgn(dx), 0, aggressiveness)) return true; // try moving horizontally or vertically otherwise (prefer the direction where he is pointing more)
+ if (abs(dx) > abs(dy)) return tryWalkablePosition(sgn(dx), 0, aggressiveness);
+ return tryWalkablePosition(0, sgn(dy), aggressiveness);
}
- public boolean findWalkablePosition_directional(int dx, int dy) {
- if (tryWalkablePosition(sgn(dx), sgn(dy))) return true; // try moving into the direction player is pointing at
+ public boolean findWalkablePosition_directional(int dx, int dy, int aggressiveness) {
+ if (tryWalkablePosition(sgn(dx), sgn(dy), aggressiveness)) return true; // try moving into the direction player is pointing at
if (dx == 0) { // player wants to move north or south but there is an obstacle
- if (tryWalkablePosition( 1, sgn(dy))) return true; // try moving north-east (or south-east)
- if (tryWalkablePosition(-1, sgn(dy))) return true; // try moving north-west (or south-west)
+ if (tryWalkablePosition( 1, sgn(dy), aggressiveness)) return true; // try moving north-east (or south-east)
+ if (tryWalkablePosition(-1, sgn(dy), aggressiveness)) return true; // try moving north-west (or south-west)
return false;
}
if (dy == 0) { // player wants to move east or west but there is an obstacle
- if (tryWalkablePosition(sgn(dx), 1)) return true; // try moving north-east (or north-west)
- if (tryWalkablePosition(sgn(dx),-1)) return true; // try moving south-east (or south-west)
+ if (tryWalkablePosition(sgn(dx), 1, aggressiveness)) return true; // try moving north-east (or north-west)
+ if (tryWalkablePosition(sgn(dx),-1, aggressiveness)) return true; // try moving south-east (or south-west)
return false;
}
if (abs(dx) >= abs(dy)) { // player wants to move more horizontally
- if (tryWalkablePosition(sgn(dx), 0)) return true; // try moving horizontally
- if (tryWalkablePosition(0, sgn(dy))) return true; // try moving vertically
+ if (tryWalkablePosition(sgn(dx), 0, aggressiveness)) return true; // try moving horizontally
+ if (tryWalkablePosition(0, sgn(dy), aggressiveness)) return true; // try moving vertically
return false;
} else { // player wants to move more vertically
- if (tryWalkablePosition(0, sgn(dy))) return true; // try moving vertically
- if (tryWalkablePosition(sgn(dx), 0)) return true; // try moving horizontally
+ if (tryWalkablePosition(0, sgn(dy), aggressiveness)) return true; // try moving vertically
+ if (tryWalkablePosition(sgn(dx), 0, aggressiveness)) return true; // try moving horizontally
return false;
}
}
-
- private boolean tryWalkablePosition(int dx, int dy) {
+ private boolean tryWalkablePosition(int dx, int dy, int aggressiveness) {
final Player player = model.player;
player.nextPosition.set(
player.position.x + dx
,player.position.y + dy
);
- if (model.currentMap.isWalkable(player.nextPosition)) return true;
- return false;
+
+ if (!model.currentMap.isWalkable(player.nextPosition)) return false;
+
+ // allow player to enter every field when he is NORMAL
+ // prevent player from entering "non-monster-fields" when he is AGGRESSIVE
+ // prevent player from entering "monster-fields" when he is DEFENSIVE
+ if (aggressiveness == AndorsTrailPreferences.MOVEMENTAGGRESSIVENESS_NORMAL) return true;
+
+ Monster m = model.currentMap.getMonsterAt(player.nextPosition);
+ if (m != null && !m.isAgressive()) return true; // avoid MOVEMENTAGGRESSIVENESS settings for NPCs
+
+ if (aggressiveness == AndorsTrailPreferences.MOVEMENTAGGRESSIVENESS_AGGRESSIVE && m == null) return false;
+ else if (aggressiveness == AndorsTrailPreferences.MOVEMENTAGGRESSIVENESS_DEFENSIVE && m != null) return false;
+
+ return true;
}
private static int sgn(final int v) {
@@ -216,4 +240,27 @@ public final class MovementController {
public static void loadCurrentTileMap(Resources res, WorldContext world) {
world.model.currentTileMap = TMXMapReader.readLayeredTileMap(res, world.tileStore, world.model.currentMap);
}
+
+ private int movementDx;
+ private int movementDy;
+ public void startMovement(int dx, int dy) {
+ if (model.uiSelections.isInCombat) return;
+
+ movementDx = dx;
+ movementDy = dy;
+ movementHandler.start();
+ }
+
+ public void stopMovement() {
+ movementHandler.stop();
+ }
+
+ public void onTick(TimedMessageTask task) {
+ if (!model.uiSelections.isMainActivityVisible) return;
+ if (model.uiSelections.isInCombat) return;
+
+ movePlayer(movementDx, movementDy);
+
+ movementHandler.queueAnotherTick();
+ }
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/DynamicTileLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/DynamicTileLoader.java
index 34844b1f9..1351a34ee 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/DynamicTileLoader.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/DynamicTileLoader.java
@@ -53,7 +53,7 @@ public final class DynamicTileLoader {
TilesetBitmap b = getTilesetBitmap(tilesetImageResourceID);
if (b == null) {
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
- L.log("WARNING: Cannot load tileset " + tilesetImageResourceID);
+ L.log("WARNING: Cannot load tileset " + tilesetImageResourceID + " for localId " + localId);
}
return currentTileStoreIndex-1;
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java
index 9601a613d..7d0e34a6b 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java
@@ -3,20 +3,133 @@ package com.gpl.rpg.AndorsTrail.resource;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
-import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
import com.gpl.rpg.AndorsTrail.model.map.TMXMapReader;
import com.gpl.rpg.AndorsTrail.util.Size;
import android.content.res.Resources;
+import android.content.res.TypedArray;
public final class ResourceLoader {
+ private static final int actorConditionsResourceId = R.array.loadresource_actorconditions;
+ private static final int itemsResourceId = AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES ? R.array.loadresource_items_debug : R.array.loadresource_items;
+ private static final int droplistsResourceId = AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES ? R.array.loadresource_droplists_debug : R.array.loadresource_droplists;
+ private static final int questsResourceId = AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES ? R.array.loadresource_quests_debug : R.array.loadresource_quests;
+ private static final int conversationsListsResourceId = AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES ? R.array.loadresource_conversationlists_debug : R.array.loadresource_conversationlists;
+ private static final int monstersResourceId = AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES ? R.array.loadresource_monsters_debug : R.array.loadresource_monsters;
+ private static final int mapsResourceId = AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES ? R.array.loadresource_maps_debug : R.array.loadresource_maps;
+
+
public static void loadResources(WorldContext world, Resources r) {
final TileStore tiles = world.tileStore;
final int mTileSize = tiles.tileSize;
- final Size dst_sz1x1 = new Size(mTileSize, mTileSize);
+ DynamicTileLoader loader = new DynamicTileLoader(tiles, r);
+ prepareTilesets(loader, mTileSize);
+
+ // ========================================================================
+ // Load various ui icons
+ /*tiles.iconID_CHAR_HERO = */loader.prepareTileID(R.drawable.char_hero, 0);
+ /*tiles.iconID_attackselect = */loader.prepareTileID(R.drawable.map_tiles_1_2, 6+16*5);
+ /*tiles.iconID_moveselect = */loader.prepareTileID(R.drawable.map_tiles_1_2, 7+16*5);
+ /*tiles.iconID_groundbag = */loader.prepareTileID(R.drawable.map_tiles_2_7, 13+16*0);
+ /*tiles.iconID_boxopened = */loader.prepareTileID(R.drawable.items_tiles, 8+14*29);
+ /*tiles.iconID_boxclosed = */loader.prepareTileID(R.drawable.items_tiles, 7+14*29);
+
+
+ // ========================================================================
+ // Load condition types
+ final TypedArray conditionsToLoad = r.obtainTypedArray(actorConditionsResourceId);
+ for (int i = 0; i < conditionsToLoad.length(); ++i) {
+ world.actorConditionsTypes.initialize(loader, conditionsToLoad.getString(i));
+ }
+
+
+ // ========================================================================
+ // Load items
+ final TypedArray itemsToLoad = r.obtainTypedArray(itemsResourceId);
+ for (int i = 0; i < itemsToLoad.length(); ++i) {
+ world.itemTypes.initialize(loader, world.actorConditionsTypes, itemsToLoad.getString(i));
+ }
+
+
+ // ========================================================================
+ // Load droplists
+ final TypedArray droplistsToLoad = r.obtainTypedArray(droplistsResourceId);
+ for (int i = 0; i < droplistsToLoad.length(); ++i) {
+ world.dropLists.initialize(world.itemTypes, droplistsToLoad.getString(i));
+ }
+
+
+ // ========================================================================
+ // Load quests
+ final TypedArray questsToLoad = r.obtainTypedArray(questsResourceId);
+ for (int i = 0; i < questsToLoad.length(); ++i) {
+ world.quests.initialize(questsToLoad.getString(i));
+ }
+
+
+ // ========================================================================
+ // Load conversations
+ final TypedArray conversationsListsToLoad = r.obtainTypedArray(conversationsListsResourceId);
+ for (int i = 0; i < conversationsListsToLoad.length(); ++i) {
+ world.conversations.initialize(world.itemTypes, world.dropLists, conversationsListsToLoad.getString(i));
+ }
+ if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
+ world.conversations.verifyData();
+ }
+
+
+ // ========================================================================
+ // Load monsters
+ final TypedArray monstersToLoad = r.obtainTypedArray(monstersResourceId);
+ for (int i = 0; i < monstersToLoad.length(); ++i) {
+ world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, monstersToLoad.getString(i));
+ }
+
+ if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
+ world.monsterTypes.verifyData(world);
+ }
+
+
+ // ========================================================================
+ // Load maps
+ TMXMapReader mapReader = new TMXMapReader();
+ final TypedArray mapsToLoad = r.obtainTypedArray(mapsResourceId);
+ for (int i = 0; i < mapsToLoad.length(); ++i) {
+ final int mapResourceId = mapsToLoad.getResourceId(i, -1);
+ final String mapName = r.getResourceEntryName(mapResourceId);
+ mapReader.read(r, mapResourceId, mapName);
+ }
+ world.maps.predefinedMaps.addAll(mapReader.transformMaps(loader, world.monsterTypes, world.dropLists));
+ mapReader = null;
+
+ if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
+ world.maps.verifyData(world);
+ }
+
+
+ // ========================================================================
+ // Load effects
+ world.visualEffectTypes.initialize(loader);
+
+
+ // ========================================================================
+ // Load graphics resources (icons and tiles)
+ loader.flush();
+ loader = null;
+ // ========================================================================
+
+
+ if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
+ world.verifyData();
+ }
+ }
+
+
+ private static void prepareTilesets(DynamicTileLoader loader, int mTileSize) {
+ final Size dst_sz1x1 = new Size(mTileSize, mTileSize);
final Size dst_sz2x2 = new Size(mTileSize*2, mTileSize*2);
//final Size dst_sz2x3 = new Size(mTileSize*2, mTileSize*3);
//final Size dst_sz4x3 = new Size(mTileSize*4, mTileSize*3);
@@ -27,163 +140,10 @@ public final class ResourceLoader {
final Size src_mapTileSize = new Size(16, 8);
final Size src_mapTileSize7 = new Size(16, 7);
- DynamicTileLoader loader = new DynamicTileLoader(tiles, r);
-
- // ========================================================================
- // Load various ui icons
loader.prepareTileset(R.drawable.char_hero, "char_hero", src_sz1x1, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_2, "map_tiles_1_2", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_7, "map_tiles_2_7", src_mapTileSize, defaultTileSize);
+
loader.prepareTileset(R.drawable.items_tiles, "items_tiles", new Size(14, 30), defaultTileSize);
- /*tiles.iconID_CHAR_HERO = */loader.prepareTileID(R.drawable.char_hero, 0);
- /*tiles.iconID_attackselect = */loader.prepareTileID(R.drawable.map_tiles_1_2, 6+16*5);
- /*tiles.iconID_moveselect = */loader.prepareTileID(R.drawable.map_tiles_1_2, 7+16*5);
- /*tiles.iconID_groundbag = */loader.prepareTileID(R.drawable.map_tiles_2_7, 13+16*0);
- /*tiles.iconID_boxopened = */loader.prepareTileID(R.drawable.items_tiles, 8+14*29);
- /*tiles.iconID_boxclosed = */loader.prepareTileID(R.drawable.items_tiles, 7+14*29);
- loader.flush();
-
- // ========================================================================
- // Load condition types
- loader.prepareTileset(R.drawable.items_tiles, "items_tiles", new Size(14, 30), defaultTileSize);
- world.actorConditionsTypes.initialize(loader, r.getString(R.string.actorconditions_v069));
- world.actorConditionsTypes.initialize(loader, r.getString(R.string.actorconditions_v069_bwm));
- loader.flush();
-
-
- // ========================================================================
- // Load item icons
- loader.prepareTileset(R.drawable.items_tiles, "items_tiles", new Size(14, 30), defaultTileSize);
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_money));
- assert(world.itemTypes.getItemTypeByTag("gold") != null);
- assert(world.itemTypes.getItemTypeByTag("gold").id == ItemTypeCollection.ITEMTYPE_GOLD);
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_weapons));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_armour));
- if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_debug));
- } else {
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_rings));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_necklaces));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_junk));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_food));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_potions));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_animal));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_quest));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_v068));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_v069));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_v069_questitems));
- world.itemTypes.initialize(loader, world.actorConditionsTypes, r.getString(R.string.itemlist_v069_2));
- }
- loader.flush();
-
-
- // ========================================================================
- // Load Droplists
- if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_debug));
- } else {
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_crossglen));
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_crossglen_outside));
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_fallhaven));
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_wilderness));
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_v068));
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_v069_npcs));
- world.dropLists.initialize(world.itemTypes, r.getString(R.string.droplists_v069_monsters));
- }
-
-
- // ========================================================================
- // Load Quests
- if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- world.quests.initialize(r.getString(R.string.questlist_debug));
- } else {
- world.quests.initialize(r.getString(R.string.questlist));
- world.quests.initialize(r.getString(R.string.questlist_nondisplayed));
- world.quests.initialize(r.getString(R.string.questlist_v068));
- world.quests.initialize(r.getString(R.string.questlist_v069));
- }
-
-
- // ========================================================================
- // Load Conversation
- if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_debug));
- } else {
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_mikhail));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_crossglen));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_crossglen_gruil));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_crossglen_leonid));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_crossglen_tharal));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_crossglen_leta));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_crossglen_odair));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_jan));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_arcir));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_bucus));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_church));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_athamyr));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_drunk));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_nocmar));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_oldman));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_tavern));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_larcal));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_unnmir));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_gaela));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_vacor));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_unzel));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_wilderness));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_flagstone));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_south));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_signs_pre067));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_thievesguild_1));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_farrik));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_fallhaven_warden));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_umar));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_kaori));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_vilegard_villagers));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_vilegard_erttu));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_vilegard_tavern));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_jolnor));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_alynndir));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_shops));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_ogam));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_foamingflask));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_ambelie));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_foamingflask_guards));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_foamingflask_outsideguard));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_wrye));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_oluag));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_signs_v068));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_maelveon));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_bwm_agent_1));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_bwm_agent_2));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_bwm_agent_3));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_bwm_agent_4));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_bwm_agent_5));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_bwm_agent_6));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_arghest));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_outside));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_inn));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_tavern));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_guthbered));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_signs));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_harlenn));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_upper));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_lower));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_herec));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_bjorgur));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_fulus));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_prim_merchants));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_throdna));
- world.conversations.initialize(world.itemTypes, world.dropLists, r.getString(R.string.conversationlist_blackwater_kazaul));
- }
- if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
- world.conversations.verifyData();
- }
-
- // ========================================================================
- // Load monster icons
//loader.prepareTileset(R.drawable.monsters_armor1, "monsters_armor1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_demon1, "monsters_demon1", src_sz1x1, dst_sz2x2);
loader.prepareTileset(R.drawable.monsters_dogs, "monsters_dogs", src_sz7x1, defaultTileSize);
@@ -215,267 +175,26 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles2, "monsters_rltiles2", new Size(20, 9), defaultTileSize);
loader.prepareTileset(R.drawable.karvis_npc, "karvis_npc", new Size(9, 1), defaultTileSize);
-
- if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_debug));
- } else {
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_crossglen_animals));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_crossglen_npcs));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_fallhaven_animals));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_fallhaven_npcs));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_wilderness));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_v068_npcs));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_v069_monsters));
- world.monsterTypes.initialize(world.dropLists, world.actorConditionsTypes, loader, r.getString(R.string.monsterlist_v069_npcs));
- }
- loader.flush();
-
- if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
- world.monsterTypes.verifyData(world);
- }
-
- // ========================================================================
- // Load map icons
loader.prepareTileset(R.drawable.map_tiles_1_1, "map_tiles_1_1.png", src_mapTileSize, defaultTileSize);
- if (!AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- loader.prepareTileset(R.drawable.map_tiles_1_2, "map_tiles_1_2.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_3, "map_tiles_1_3.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_4, "map_tiles_1_4.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_5, "map_tiles_1_5.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_6, "map_tiles_1_6.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_7, "map_tiles_1_7.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_1_8, "map_tiles_1_8.png", src_mapTileSize7, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_1, "map_tiles_2_1.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_2, "map_tiles_2_2.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_3, "map_tiles_2_3.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_4, "map_tiles_2_4.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_5, "map_tiles_2_5.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_6, "map_tiles_2_6.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_7, "map_tiles_2_7.png", src_mapTileSize, defaultTileSize);
- loader.prepareTileset(R.drawable.map_tiles_2_8, "map_tiles_2_8.png", src_mapTileSize7, defaultTileSize);
- }
- TMXMapReader mapReader = new TMXMapReader();
-
- if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
- mapReader.read(r, R.xml.debugmap, "debugmap");
- } else {
- mapReader.read(r, R.xml.home, "home");
- mapReader.read(r, R.xml.crossglen, "crossglen");
- mapReader.read(r, R.xml.crossglen_farmhouse, "crossglen_farmhouse");
- mapReader.read(r, R.xml.crossglen_farmhouse_basement, "crossglen_farmhouse_basement");
- mapReader.read(r, R.xml.crossglen_hall, "crossglen_hall");
- mapReader.read(r, R.xml.crossglen_smith, "crossglen_smith");
- mapReader.read(r, R.xml.crossglen_cave, "crossglen_cave");
- mapReader.read(r, R.xml.wild1, "wild1");
- mapReader.read(r, R.xml.wild2, "wild2");
- mapReader.read(r, R.xml.wild3, "wild3");
- mapReader.read(r, R.xml.jan_pitcave1, "jan_pitcave1");
- mapReader.read(r, R.xml.jan_pitcave2, "jan_pitcave2");
- mapReader.read(r, R.xml.jan_pitcave3, "jan_pitcave3");
- mapReader.read(r, R.xml.fallhaven_nw, "fallhaven_nw");
- mapReader.read(r, R.xml.snakecave1, "snakecave1");
- mapReader.read(r, R.xml.snakecave2, "snakecave2");
- mapReader.read(r, R.xml.snakecave3, "snakecave3");
- mapReader.read(r, R.xml.wild4, "wild4");
- mapReader.read(r, R.xml.hauntedhouse1, "hauntedhouse1");
- mapReader.read(r, R.xml.hauntedhouse2, "hauntedhouse2");
- mapReader.read(r, R.xml.fallhaven_ne, "fallhaven_ne");
- mapReader.read(r, R.xml.fallhaven_church, "fallhaven_church");
- mapReader.read(r, R.xml.fallhaven_barn, "fallhaven_barn");
- mapReader.read(r, R.xml.fallhaven_potions, "fallhaven_potions");
- mapReader.read(r, R.xml.fallhaven_gravedigger, "fallhaven_gravedigger");
- mapReader.read(r, R.xml.fallhaven_clothes, "fallhaven_clothes");
- mapReader.read(r, R.xml.fallhaven_arcir, "fallhaven_arcir");
- mapReader.read(r, R.xml.fallhaven_arcir_basement, "fallhaven_arcir_basement");
- mapReader.read(r, R.xml.fallhaven_athamyr, "fallhaven_athamyr");
- mapReader.read(r, R.xml.fallhaven_rigmor, "fallhaven_rigmor");
- mapReader.read(r, R.xml.fallhaven_tavern, "fallhaven_tavern");
- mapReader.read(r, R.xml.fallhaven_prison, "fallhaven_prison");
- mapReader.read(r, R.xml.fallhaven_derelict, "fallhaven_derelict");
- mapReader.read(r, R.xml.fallhaven_nocmar, "fallhaven_nocmar");
- mapReader.read(r, R.xml.catacombs1, "catacombs1");
- mapReader.read(r, R.xml.catacombs2, "catacombs2");
- mapReader.read(r, R.xml.catacombs3, "catacombs3");
- mapReader.read(r, R.xml.catacombs4, "catacombs4");
- mapReader.read(r, R.xml.hauntedhouse3, "hauntedhouse3");
- mapReader.read(r, R.xml.hauntedhouse4, "hauntedhouse4");
- mapReader.read(r, R.xml.fallhaven_sw, "fallhaven_sw");
- mapReader.read(r, R.xml.wild5, "wild5");
- mapReader.read(r, R.xml.wild6, "wild6");
- mapReader.read(r, R.xml.wild6_house, "wild6_house");
- mapReader.read(r, R.xml.wild7, "wild7");
- mapReader.read(r, R.xml.wild8, "wild8");
- mapReader.read(r, R.xml.wild9, "wild9");
- mapReader.read(r, R.xml.wild10, "wild10");
- mapReader.read(r, R.xml.flagstone0, "flagstone0");
- mapReader.read(r, R.xml.flagstone_inner, "flagstone_inner");
- mapReader.read(r, R.xml.flagstone_upper, "flagstone_upper");
- mapReader.read(r, R.xml.flagstone1, "flagstone1");
- mapReader.read(r, R.xml.flagstone2, "flagstone2");
- mapReader.read(r, R.xml.flagstone3, "flagstone3");
- mapReader.read(r, R.xml.flagstone4, "flagstone4");
- mapReader.read(r, R.xml.wild11, "wild11");
- mapReader.read(r, R.xml.wild12, "wild12");
- mapReader.read(r, R.xml.wild11_clearing, "wild11_clearing");
- mapReader.read(r, R.xml.clearing_level1, "clearing_level1");
- mapReader.read(r, R.xml.clearing_level2, "clearing_level2");
- mapReader.read(r, R.xml.fallhaven_se, "fallhaven_se");
- mapReader.read(r, R.xml.fallhaven_lumberjack, "fallhaven_lumberjack");
- mapReader.read(r, R.xml.fallhaven_alaun, "fallhaven_alaun");
- mapReader.read(r, R.xml.fallhaven_storage, "fallhaven_storage");
- mapReader.read(r, R.xml.fallhaven_farmer, "fallhaven_farmer");
- mapReader.read(r, R.xml.wild13, "wild13");
- mapReader.read(r, R.xml.wild14, "wild14");
- mapReader.read(r, R.xml.wild14_cave, "wild14_cave");
- mapReader.read(r, R.xml.wild14_clearing, "wild14_clearing");
- mapReader.read(r, R.xml.wild15, "wild15");
- mapReader.read(r, R.xml.wild15_house, "wild15_house");
- mapReader.read(r, R.xml.road1, "road1");
- mapReader.read(r, R.xml.foaming_flask, "foaming_flask");
- mapReader.read(r, R.xml.fallhaven_derelict2, "fallhaven_derelict2");
- mapReader.read(r, R.xml.vilegard_n, "vilegard_n");
- mapReader.read(r, R.xml.vilegard_s, "vilegard_s");
- mapReader.read(r, R.xml.vilegard_sw, "vilegard_sw");
- mapReader.read(r, R.xml.vilegard_ogam, "vilegard_ogam");
- mapReader.read(r, R.xml.vilegard_chapel, "vilegard_chapel");
- mapReader.read(r, R.xml.vilegard_tavern, "vilegard_tavern");
- mapReader.read(r, R.xml.vilegard_armorer, "vilegard_armorer");
- mapReader.read(r, R.xml.vilegard_smith, "vilegard_smith");
- mapReader.read(r, R.xml.vilegard_wrye, "vilegard_wrye");
- mapReader.read(r, R.xml.vilegard_kaori, "vilegard_kaori");
- mapReader.read(r, R.xml.vilegard_erttu, "vilegard_erttu");
- mapReader.read(r, R.xml.road2, "road2");
- mapReader.read(r, R.xml.road3, "road3");
- mapReader.read(r, R.xml.road4, "road4");
- mapReader.read(r, R.xml.road4_gargoylecave, "road4_gargoylecave");
- mapReader.read(r, R.xml.road5, "road5");
- mapReader.read(r, R.xml.road5_house, "road5_house");
- mapReader.read(r, R.xml.gargoylecave1, "gargoylecave1");
- mapReader.read(r, R.xml.gargoylecave2, "gargoylecave2");
- mapReader.read(r, R.xml.gargoylecave3, "gargoylecave3");
- mapReader.read(r, R.xml.gargoylecave4, "gargoylecave4");
- mapReader.read(r, R.xml.blackwater_mountain0, "blackwater_mountain0");
- mapReader.read(r, R.xml.blackwater_mountain1, "blackwater_mountain1");
- mapReader.read(r, R.xml.blackwater_mountain2, "blackwater_mountain2");
- mapReader.read(r, R.xml.blackwater_mountain3, "blackwater_mountain3");
- mapReader.read(r, R.xml.blackwater_mountain4, "blackwater_mountain4");
- mapReader.read(r, R.xml.blackwater_mountain5, "blackwater_mountain5");
- mapReader.read(r, R.xml.blackwater_mountain6, "blackwater_mountain6");
- mapReader.read(r, R.xml.blackwater_mountain7, "blackwater_mountain7");
- mapReader.read(r, R.xml.blackwater_mountain8, "blackwater_mountain8");
- mapReader.read(r, R.xml.blackwater_mountain9, "blackwater_mountain9");
- mapReader.read(r, R.xml.blackwater_mountain10, "blackwater_mountain10");
- mapReader.read(r, R.xml.blackwater_mountain11, "blackwater_mountain11");
- mapReader.read(r, R.xml.blackwater_mountain12, "blackwater_mountain12");
- mapReader.read(r, R.xml.blackwater_mountain13, "blackwater_mountain13");
- mapReader.read(r, R.xml.blackwater_mountain14, "blackwater_mountain14");
- mapReader.read(r, R.xml.blackwater_mountain15, "blackwater_mountain15");
- mapReader.read(r, R.xml.blackwater_mountain16, "blackwater_mountain16");
- mapReader.read(r, R.xml.blackwater_mountain17, "blackwater_mountain17");
- mapReader.read(r, R.xml.blackwater_mountain18, "blackwater_mountain18");
- mapReader.read(r, R.xml.blackwater_mountain19, "blackwater_mountain19");
- mapReader.read(r, R.xml.blackwater_mountain20, "blackwater_mountain20");
- mapReader.read(r, R.xml.blackwater_mountain21, "blackwater_mountain21");
- mapReader.read(r, R.xml.blackwater_mountain22, "blackwater_mountain22");
- mapReader.read(r, R.xml.blackwater_mountain23, "blackwater_mountain23");
- mapReader.read(r, R.xml.blackwater_mountain24, "blackwater_mountain24");
- mapReader.read(r, R.xml.blackwater_mountain25, "blackwater_mountain25");
- mapReader.read(r, R.xml.blackwater_mountain26, "blackwater_mountain26");
- mapReader.read(r, R.xml.blackwater_mountain27, "blackwater_mountain27");
- mapReader.read(r, R.xml.blackwater_mountain28, "blackwater_mountain28");
- mapReader.read(r, R.xml.blackwater_mountain29, "blackwater_mountain29");
- mapReader.read(r, R.xml.blackwater_mountain30, "blackwater_mountain30");
- mapReader.read(r, R.xml.blackwater_mountain31, "blackwater_mountain31");
- mapReader.read(r, R.xml.blackwater_mountain32, "blackwater_mountain32");
- mapReader.read(r, R.xml.blackwater_mountain33, "blackwater_mountain33");
- mapReader.read(r, R.xml.blackwater_mountain34, "blackwater_mountain34");
- mapReader.read(r, R.xml.blackwater_mountain35, "blackwater_mountain35");
- mapReader.read(r, R.xml.blackwater_mountain36, "blackwater_mountain36");
- mapReader.read(r, R.xml.blackwater_mountain37, "blackwater_mountain37");
- mapReader.read(r, R.xml.blackwater_mountain38, "blackwater_mountain38");
- mapReader.read(r, R.xml.blackwater_mountain39, "blackwater_mountain39");
- mapReader.read(r, R.xml.blackwater_mountain40, "blackwater_mountain40");
- mapReader.read(r, R.xml.blackwater_mountain41, "blackwater_mountain41");
- mapReader.read(r, R.xml.blackwater_mountain42, "blackwater_mountain42");
- mapReader.read(r, R.xml.blackwater_mountain43, "blackwater_mountain43");
- mapReader.read(r, R.xml.blackwater_mountain44, "blackwater_mountain44");
- mapReader.read(r, R.xml.blackwater_mountain45, "blackwater_mountain45");
- mapReader.read(r, R.xml.blackwater_mountain46, "blackwater_mountain46");
- mapReader.read(r, R.xml.blackwater_mountain47, "blackwater_mountain47");
- mapReader.read(r, R.xml.blackwater_mountain48, "blackwater_mountain48");
- mapReader.read(r, R.xml.blackwater_mountain49, "blackwater_mountain49");
- mapReader.read(r, R.xml.blackwater_mountain50, "blackwater_mountain50");
- mapReader.read(r, R.xml.blackwater_mountain51, "blackwater_mountain51");
- mapReader.read(r, R.xml.blackwater_mountain52, "blackwater_mountain52");
- mapReader.read(r, R.xml.wild0, "wild0");
- mapReader.read(r, R.xml.crossroads, "crossroads");
- mapReader.read(r, R.xml.fields0, "fields0");
- mapReader.read(r, R.xml.fields1, "fields1");
- mapReader.read(r, R.xml.fields2, "fields2");
- mapReader.read(r, R.xml.fields3, "fields3");
- mapReader.read(r, R.xml.fields4, "fields4");
- mapReader.read(r, R.xml.fields5, "fields5");
- mapReader.read(r, R.xml.fields6, "fields6");
- mapReader.read(r, R.xml.fields7, "fields7");
- mapReader.read(r, R.xml.fields8, "fields8");
- mapReader.read(r, R.xml.fields9, "fields9");
- mapReader.read(r, R.xml.fields10, "fields10");
- mapReader.read(r, R.xml.fields11, "fields11");
- mapReader.read(r, R.xml.fields12, "fields12");
- mapReader.read(r, R.xml.houseatcrossroads0, "houseatcrossroads0");
- mapReader.read(r, R.xml.houseatcrossroads1, "houseatcrossroads1");
- mapReader.read(r, R.xml.houseatcrossroads2, "houseatcrossroads2");
- mapReader.read(r, R.xml.houseatcrossroads3, "houseatcrossroads3");
- mapReader.read(r, R.xml.houseatcrossroads4, "houseatcrossroads4");
- mapReader.read(r, R.xml.houseatcrossroads5, "houseatcrossroads5");
- mapReader.read(r, R.xml.loneford1, "loneford1");
- mapReader.read(r, R.xml.loneford2, "loneford2");
- mapReader.read(r, R.xml.loneford3, "loneford3");
- mapReader.read(r, R.xml.loneford4, "loneford4");
- mapReader.read(r, R.xml.loneford5, "loneford5");
- mapReader.read(r, R.xml.loneford6, "loneford6");
- mapReader.read(r, R.xml.loneford7, "loneford7");
- mapReader.read(r, R.xml.loneford8, "loneford8");
- mapReader.read(r, R.xml.loneford9, "loneford9");
- mapReader.read(r, R.xml.loneford10, "loneford10");
- mapReader.read(r, R.xml.roadbeforecrossroads, "roadbeforecrossroads");
- mapReader.read(r, R.xml.roadtocarntower0, "roadtocarntower0");
- mapReader.read(r, R.xml.roadtocarntower1, "roadtocarntower1");
- mapReader.read(r, R.xml.roadtocarntower2, "roadtocarntower2");
- mapReader.read(r, R.xml.woodcave0, "woodcave0");
- mapReader.read(r, R.xml.woodcave1, "woodcave1");
- mapReader.read(r, R.xml.wild16, "wild16");
- mapReader.read(r, R.xml.wild17, "wild17");
- mapReader.read(r, R.xml.gapfiller1, "gapfiller1");
- mapReader.read(r, R.xml.gapfiller3, "gapfiller3");
- mapReader.read(r, R.xml.gapfiller4, "gapfiller4");
- }
-
- world.maps.predefinedMaps.addAll(mapReader.transformMaps(loader, world.monsterTypes, world.dropLists));
- mapReader = null;
-
- loader.flush();
+ loader.prepareTileset(R.drawable.map_tiles_1_2, "map_tiles_1_2.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_1_3, "map_tiles_1_3.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_1_4, "map_tiles_1_4.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_1_5, "map_tiles_1_5.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_1_6, "map_tiles_1_6.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_1_7, "map_tiles_1_7.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_1_8, "map_tiles_1_8.png", src_mapTileSize7, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_1, "map_tiles_2_1.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_2, "map_tiles_2_2.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_3, "map_tiles_2_3.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_4, "map_tiles_2_4.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_5, "map_tiles_2_5.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_6, "map_tiles_2_6.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_7, "map_tiles_2_7.png", src_mapTileSize, defaultTileSize);
+ loader.prepareTileset(R.drawable.map_tiles_2_8, "map_tiles_2_8.png", src_mapTileSize7, defaultTileSize);
- if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
- world.maps.verifyData(world);
- }
-
-
- // ========================================================================
- // Load effects
- loader.prepareTileset(R.drawable.effect_blood3, "effect_blood3", new Size(8, 2), dst_sz1x1);
- loader.prepareTileset(R.drawable.effect_heal2, "effect_heal2", new Size(8, 2), dst_sz1x1);
- loader.prepareTileset(R.drawable.effect_poison1, "effect_poison1", new Size(8, 2), dst_sz1x1);
- world.visualEffectTypes.initialize(loader);
- loader.flush();
-
- loader = null;
- // ========================================================================
-
-
- if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
- world.verifyData();
- }
- }
+ loader.prepareTileset(R.drawable.effect_blood3, "effect_blood3", new Size(8, 2), defaultTileSize);
+ loader.prepareTileset(R.drawable.effect_heal2, "effect_heal2", new Size(8, 2), defaultTileSize);
+ loader.prepareTileset(R.drawable.effect_poison1, "effect_poison1", new Size(8, 2), defaultTileSize);
+ }
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/TimedMessageTask.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/TimedMessageTask.java
new file mode 100644
index 000000000..4dd956fc5
--- /dev/null
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/TimedMessageTask.java
@@ -0,0 +1,66 @@
+package com.gpl.rpg.AndorsTrail.util;
+
+import android.os.Handler;
+import android.os.Message;
+
+public final class TimedMessageTask extends Handler {
+ private final long interval;
+ private final boolean requireIntervalBeforeFirstTick;
+ private final Callback callback;
+ private long nextTickTime;
+ private boolean hasQueuedTick = false;
+
+ public TimedMessageTask(Callback callback, long interval, boolean requireIntervalBeforeFirstTick) {
+ this.interval = interval;
+ this.requireIntervalBeforeFirstTick = requireIntervalBeforeFirstTick;
+ this.callback = callback;
+ this.nextTickTime = System.currentTimeMillis() + interval;
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ if (!hasQueuedTick) return;
+ hasQueuedTick = false;
+ tick();
+ }
+
+ private void tick() {
+ nextTickTime = System.currentTimeMillis() + interval;
+ callback.onTick(this);
+ }
+
+ private void sleep(long delayMillis) {
+ this.removeMessages(0);
+ sendMessageDelayed(obtainMessage(0), delayMillis);
+ }
+
+ private boolean hasElapsedIntervalTime() {
+ return System.currentTimeMillis() >= nextTickTime;
+ }
+
+ public void queueAnotherTick() {
+ if (hasQueuedTick) return;
+ hasQueuedTick = true;
+ sleep(interval);
+ }
+
+ private boolean shouldCauseTickOnStart() {
+ if (requireIntervalBeforeFirstTick) return false;
+ if (hasQueuedTick) return false;
+ if (!hasElapsedIntervalTime()) return false;
+ return true;
+ }
+
+ public void start() {
+ if (shouldCauseTickOnStart()) tick();
+ queueAnotherTick();
+ }
+
+ public void stop() {
+ hasQueuedTick = false;
+ }
+
+ public interface Callback {
+ public void onTick(TimedMessageTask task);
+ }
+}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java
index 50e05daea..2fcee7f3a 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java
@@ -99,13 +99,17 @@ public final class MainView extends SurfaceView implements SurfaceHolder.Callbac
} else {
return super.onKeyDown(keyCode, msg);
}
- //TODO: add more keys
+ return true;
+ }
+
+ @Override
+ public boolean onKeyUp(int keyCode, KeyEvent msg) {
+ if (!model.uiSelections.isMainActivityVisible) return true;
+ view.movementController.stopMovement();
return true;
}
private void keyboardAction(int dx, int dy) {
- if (!allowInputInterval()) return;
-
lastTouchPosition_dx = dx;
lastTouchPosition_dy = dy;
onClick();
@@ -151,10 +155,12 @@ public final class MainView extends SurfaceView implements SurfaceHolder.Callbac
}
private void onClick() {
+ if (!allowInputInterval()) return;
if (model.uiSelections.isInCombat) {
view.combatController.executeMoveAttack(lastTouchPosition_dx, lastTouchPosition_dy);
} else {
- view.movementController.movePlayer(lastTouchPosition_dx, lastTouchPosition_dy);
+ view.movementController.startMovement(lastTouchPosition_dx, lastTouchPosition_dy);
+ view.movementController.stopMovement();
}
}
@@ -185,18 +191,21 @@ public final class MainView extends SurfaceView implements SurfaceHolder.Callbac
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
- if (!allowInputInterval()) return true;
-
lastTouchPosition_tileCoords.set(
(int) Math.floor(((int)event.getX() - screenOffset.x) / scaledTileSize) + mapTopLeft.x
,(int) Math.floor(((int)event.getY() - screenOffset.y) / scaledTileSize) + mapTopLeft.y);
lastTouchPosition_dx = lastTouchPosition_tileCoords.x - model.player.position.x;
lastTouchPosition_dy = lastTouchPosition_tileCoords.y - model.player.position.y;
- if (!model.uiSelections.isInCombat) {
- view.movementController.movePlayer(lastTouchPosition_dx, lastTouchPosition_dy);
- return true;
- }
+ if (model.uiSelections.isInCombat) break;
+
+ view.movementController.startMovement(lastTouchPosition_dx, lastTouchPosition_dy);
+ return true;
+ case MotionEvent.ACTION_UP:
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_OUTSIDE:
+ view.movementController.stopMovement();
+ break;
}
return super.onTouchEvent(event);
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/VirtualDpadView.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/VirtualDpadView.java
new file mode 100644
index 000000000..b0263ed0b
--- /dev/null
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/VirtualDpadView.java
@@ -0,0 +1,147 @@
+package com.gpl.rpg.AndorsTrail.view;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup.LayoutParams;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+
+import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
+import com.gpl.rpg.AndorsTrail.AndorsTrailPreferences;
+import com.gpl.rpg.AndorsTrail.R;
+import com.gpl.rpg.AndorsTrail.context.ViewContext;
+import com.gpl.rpg.AndorsTrail.context.WorldContext;
+
+public final class VirtualDpadView extends ImageView implements OnClickListener {
+ private final WorldContext world;
+ private final ViewContext view;
+
+ private int one_third_width;
+ private int two_thirds_width;
+ private int full_width;
+ private int one_third_height;
+ private int two_thirds_height;
+ private int full_height;
+ private boolean isMinimized = false;
+ private int lastTouchPosition_dx;
+ private int lastTouchPosition_dy;
+
+ public VirtualDpadView(final Context context, AttributeSet attr) {
+ super(context, attr);
+ AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivityContext(context);
+ this.world = app.world;
+ this.view = app.currentView.get();
+
+ setImageResource(R.drawable.ui_dpad);
+ setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
+ setFocusable(false);
+ setOnClickListener(this);
+
+ setAdjustViewBounds(true);
+ }
+
+ @Override
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+ if (!isMinimized) {
+ one_third_width = w / 3;
+ two_thirds_width = w * 2 / 3;
+ full_width = w;
+ one_third_height = h / 3;
+ two_thirds_height = h * 2 / 3;
+ full_height = h;
+ }
+
+ super.onSizeChanged(w, h, oldw, oldh);
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ if (isMinimized) return super.onTouchEvent(event);
+
+ if (!world.model.uiSelections.isMainActivityVisible) return true;
+
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ case MotionEvent.ACTION_MOVE:
+ if (world.model.uiSelections.isInCombat) break;
+
+ final int x = (int)event.getX();
+ lastTouchPosition_dx = 0;
+ if (x < one_third_width) lastTouchPosition_dx = -1;
+ else if (x >= two_thirds_width) lastTouchPosition_dx = 1;
+
+ final int y = (int)event.getY();
+ lastTouchPosition_dy = 0;
+ if (y < one_third_height) lastTouchPosition_dy = -1;
+ else if (y >= two_thirds_height) lastTouchPosition_dy = 1;
+
+ if (lastTouchPosition_dx == 0 && lastTouchPosition_dy == 0) break;
+
+ this.view.movementController.startMovement(lastTouchPosition_dx, lastTouchPosition_dy);
+ return true;
+ case MotionEvent.ACTION_UP:
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_OUTSIDE:
+ this.view.movementController.stopMovement();
+ break;
+ }
+ return super.onTouchEvent(event);
+ }
+
+ public void updateVisibility(AndorsTrailPreferences preferences) {
+ int dpadPosition = preferences.dpadPosition;
+ if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_DISABLED) {
+ setVisibility(View.GONE);
+ return;
+ }
+
+ setVisibility(View.VISIBLE);
+
+ RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
+ if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_LOWER_RIGHT) {
+ params.addRule(RelativeLayout.ALIGN_RIGHT, R.id.main_mainview);
+ params.addRule(RelativeLayout.ALIGN_BOTTOM, R.id.main_mainview);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_LOWER_LEFT) {
+ params.addRule(RelativeLayout.ALIGN_LEFT, R.id.main_mainview);
+ params.addRule(RelativeLayout.ALIGN_BOTTOM, R.id.main_mainview);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_LOWER_CENTER) {
+ params.addRule(RelativeLayout.CENTER_HORIZONTAL);
+ params.addRule(RelativeLayout.ALIGN_BOTTOM, R.id.main_mainview);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_UPPER_RIGHT) {
+ params.addRule(RelativeLayout.ALIGN_RIGHT, R.id.main_mainview);
+ params.addRule(RelativeLayout.ALIGN_TOP, R.id.main_mainview);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_UPPER_LEFT) {
+ params.addRule(RelativeLayout.ALIGN_LEFT, R.id.main_mainview);
+ params.addRule(RelativeLayout.ALIGN_TOP, R.id.main_mainview);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_UPPER_CENTER) {
+ params.addRule(RelativeLayout.CENTER_HORIZONTAL);
+ params.addRule(RelativeLayout.ALIGN_TOP, R.id.main_mainview);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_CENTER_LEFT) {
+ params.addRule(RelativeLayout.ALIGN_LEFT, R.id.main_mainview);
+ params.addRule(RelativeLayout.CENTER_VERTICAL);
+ } else if (dpadPosition == AndorsTrailPreferences.DPAD_POSITION_CENTER_RIGHT) {
+ params.addRule(RelativeLayout.ALIGN_RIGHT, R.id.main_mainview);
+ params.addRule(RelativeLayout.CENTER_VERTICAL);
+ }
+
+ setLayoutParams(params);
+ }
+
+ @Override
+ public void onClick(View arg0) {
+ if (isMinimized) {
+ isMinimized = false;
+ setMaxWidth(full_width);
+ setMaxHeight(full_height);
+ } else {
+ if (lastTouchPosition_dx != 0 || lastTouchPosition_dy != 0) return;
+ isMinimized = true;
+ setMaxWidth(one_third_width);
+ setMaxHeight(one_third_height);
+ }
+ this.requestLayout();
+ }
+}