From 9c67fb597f980ea502374d051579be39dda8f117 Mon Sep 17 00:00:00 2001 From: AthenaADP Date: Sat, 22 Sep 2018 23:02:28 +1200 Subject: [PATCH] Created custom format string for displaying charms --- Armor.cpp | Bin 41704 -> 20742 bytes Common.cpp | Bin 43550 -> 40758 bytes Common.h | 7 +- Form1.h | 29 ++-- Run/Data/Languages/English/strings.txt | 6 + .../Fran\303\247ais/skill_descriptions.txt" | 130 +++++++++--------- .../Languages/Fran\303\247ais/strings.txt" | 8 +- Run/Data/Languages/Japanese/strings.txt | 6 + Run/Data/components.txt | 38 ++--- 9 files changed, 123 insertions(+), 101 deletions(-) diff --git a/Armor.cpp b/Armor.cpp index 84113d7bcac0680a810ae1f0d1732cb38ca3ac59..3d8a7935574eec9b6dff05a082d1eff3d0270d6a 100644 GIT binary patch literal 20742 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 VGrQOAI6#-umc95qQW&X^{2wl1ap?d6 literal 41704 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 O$%XO4o6nR583O=C**|0e delta 1869 zcmb_dOHUI~6h0K>QRz@Seb^9jsx6iXgbo%3grpEj3I^ha7>$|&(?@Izv;{HI;L?RL zk+WgtW3P#k#HCSxfQgAqqH$yR6DFQ>JDtu9Xrh?O&Gg=T=6v7%zH?9CzH>bN;&}Z) z!|X#hKGwQ$y1N~vMbB^%)}R2lpbU9fh6=qE7^5*svo$Ev$|PhV1tr>v()yx4E8tj1 zXIp)Czay|Y2)z_BNTWymx(sJvjt0+1!39oeqldGWAqN?HYp_JSD}I`lXx#s<~)rG+y(lE_wb|FbJ}1I*9DpaH|QM_*g9`~ z(Hh)L5Z5yCEKvqN|3P|<>x>oXrsv?8i?n`DSLGBWDbG5wV`i*CHS2=FQAmw6tqDh( z*b-cQBx7{LOL8xhSp`Vpw~P-J*^hhc9vq1{O*^Y{5XV>C9FLW_8-HXZ5&0(W!4;_~ zX+Kbzadc%O@HH~1nIJBE}P$DXB8&0&;_p22iVBWFsI zlZQ7!XM?Y{gBad8Zqie&=^0e06IAWdi&*EXB60YG%6!xRT4h5c)uPcvhkw|t3Tvg> zN|fY;en1l$vd2UF%hee=O@rfHRnVt#;%B7r0z^ zwZ^Q_u01bmF7V&&K)zFKdH5vD2 z+woI+3%yP^7BkcMQX9glYz5!vny}R6!LQk?NBBQs6rU|ec8a-q2W>fbc5h!B`~|s< Bc?|#n diff --git a/Common.h b/Common.h index c2c5185..1a74259 100644 --- a/Common.h +++ b/Common.h @@ -9,6 +9,7 @@ enum class Gender { MALE = 4, FEMALE, BOTH_GENDERS }; //#define CREATE_MATERIALS ref struct Armor; +ref struct Charm; ref struct Ability; ref struct Decoration; ref struct CharmLocationDatum; @@ -79,7 +80,7 @@ namespace Utility void UpdateContextMenu( System::Windows::Forms::ContextMenuStrip^ strip, Decoration^ decoration ); void UpdateContextMenu( System::Windows::Forms::ContextMenuStrip^ strip, Armor^ armor ); void UpdateContextMenu( System::Windows::Forms::ContextMenuStrip^ strip, Ability^ ability ); - void UpdateContextMenu( System::Windows::Forms::ContextMenuStrip^ strip, System::String^ charm, const unsigned table ); + void UpdateContextMenu( System::Windows::Forms::ContextMenuStrip^ strip, Charm^ charm, const unsigned table ); } void myassert( const bool val, System::String^ message ); @@ -236,6 +237,8 @@ ref struct StringTable UseOnlySlottedCharms, UseUpToOneSkillCharms, UseOnlyTwoSkillCharms, + CharmFormat1, + CharmFormat2, Skill, Skills, SkillFilters, @@ -319,5 +322,7 @@ System::String^ StripAmpersands( System::String^ input ); #define FormatString1( X, Y ) StaticString( X )->Replace( L"%1", Y ) #define FormatString2( X, Y, Z ) StaticString( X )->Replace( L"%1", Convert::ToString( Y ) )->Replace( L"%2", Convert::ToString( Z ) ) +#define FormatString3( X, Y, Z, W ) StaticString( X )->Replace( L"%1", Convert::ToString( Y ) )->Replace( L"%2", Convert::ToString( Z ) )->Replace( L"%3", Convert::ToString( W ) ) +#define FormatString5( X, A, B, C, D, E ) StaticString( X )->Replace( L"%1", Convert::ToString( A ) )->Replace( L"%2", Convert::ToString( B ) )->Replace( L"%3", Convert::ToString( C ) )->Replace( L"%4", Convert::ToString( D ) )->Replace( L"%5", Convert::ToString( E ) ) #define FormatString7( X, A, B, C, D, E, F, G ) StaticString( X )->Replace( L"%1", Convert::ToString( A ) )->Replace( L"%2", Convert::ToString( B ) )->Replace( L"%3", Convert::ToString( C ) )->Replace( L"%4", Convert::ToString( D ) )->Replace( L"%5", Convert::ToString( E ) )->Replace( L"%6", Convert::ToString( F ) )->Replace( L"%7", Convert::ToString( G ) ) #define FormatStringN( X, Y ) StaticString( X )->Replace( L"%1", Convert::ToString( Y ) ) \ No newline at end of file diff --git a/Form1.h b/Form1.h index 23ba788..dd1b572 100644 --- a/Form1.h +++ b/Form1.h @@ -3100,9 +3100,10 @@ namespace MHXXASS break; int offset = result_offsets[ i ]; + Solution^ solution = final_solutions[ i ]; int num_armors = 0; - for each( Armor^ a in final_solutions[ i ]->armors ) + for each( Armor^ a in solution->armors ) { if( a ) num_armors++; @@ -3111,11 +3112,11 @@ namespace MHXXASS if( line >= offset && line < offset + num_armors ) { - for( int a = 0, c = 0; a < final_solutions[ i ]->armors.Count; ++a ) + for( int a = 0, c = 0; a < solution->armors.Count; ++a ) { - if( final_solutions[ i ]->armors[ a ] && c++ == line - offset ) + if( solution->armors[ a ] && c++ == line - offset ) { - Utility::UpdateContextMenu( cmsSolutions, final_solutions[ i ]->armors[ a ] ); + Utility::UpdateContextMenu( cmsSolutions, solution->armors[ a ] ); break; } } @@ -3125,11 +3126,10 @@ namespace MHXXASS preview_pane = gcnew PreviewImage( rdoFemale->Checked ); - final_solutions[ i ]->preview_image = preview_pane->SetData( final_solutions[ i ]->armors, final_solutions[ i ]->preview_image ); - if( final_solutions[ i ]->preview_image ) + solution->preview_image = preview_pane->SetData( solution->armors, solution->preview_image ); + if( solution->preview_image ) { preview_pane->Show( this ); - preview_pane->SetLocation( cmsSolutions ); } else preview_pane = nullptr; @@ -3137,14 +3137,13 @@ namespace MHXXASS e->Cancel = false; return; } - } - - //check for charms - if( EndsWithSlots( str ) ) - { - Utility::UpdateContextMenu( cmsSolutions, str, 0 ); - e->Cancel = false; - return; + else if( solution->charm && line == offset + num_armors + 1 ) + { + Assert( str == solution->charm->GetName(), L"Unexpected charm string" ); + Utility::UpdateContextMenu( cmsSolutions, solution->charm, 0 ); + e->Cancel = false; + return; + } } //check for extra skills diff --git a/Run/Data/Languages/English/strings.txt b/Run/Data/Languages/English/strings.txt index 4e0f4ad..7cfbecd 100644 --- a/Run/Data/Languages/English/strings.txt +++ b/Run/Data/Languages/English/strings.txt @@ -142,6 +142,12 @@ Use up to one skill charms #When searching using charms with at most two skills and possibly some slots (i.e. all possible charms) Use up to two skill charms +#Charm format string (one skill). The 3 parameters are, in order: [Num, Skill, Slots], e.g. "+4 Attack OO-" +%1 %2 %3 + +#Charm format string (two skills). The 5 parameters are, in order: [Num1, Skill1, Num2, Skill2, Slots], e.g. "+4 Attack, +10 Ice Res OO-" +%1 %2, %3 %4 %5 + Skill Skills Skill Filters diff --git "a/Run/Data/Languages/Fran\303\247ais/skill_descriptions.txt" "b/Run/Data/Languages/Fran\303\247ais/skill_descriptions.txt" index 1d3d5f6..99a1da7 100644 --- "a/Run/Data/Languages/Fran\303\247ais/skill_descriptions.txt" +++ "b/Run/Data/Languages/Fran\303\247ais/skill_descriptions.txt" @@ -258,70 +258,70 @@ Augmente d'un le nombre de chances de dépeçage et empêche d'être touché en Empêche de tomber à la renverse à cause des attaques lorsque vous dépecez. Augmente beaucoup la probabilité d'obtenir plus de récompenses pour les captures. Augmente la probabilité d'obtenir plus de récompenses pour les captures. -Combine les effets de : "Feu +15" et "Ascète". -Combine les effets de : "Lubie esprit" et "Foudre". -Combine les effets de : "Glace +15" et "Gourmet". -Combine les effets de : "Chasseur de miel" et "Eau +15". -Combine les effets de : "Dragon +15" et "Chercheur bio". -Combine les effets de : "Roi du KO" et "Maestro". -Combine les effets de : "Concentration" et "Berserker". -Combine les effets de : "Esquive +" et "Vigueur +". -Combine les effets de : "Samouraï", "Recul +2", et "Bénédiction". -Combine les effets de : "Adrénaline +2" et "Goinfre". -Combine les effets de : "Affliction +2" et "Soutien +2". -Combine les effets de : "Chasse-charme" et "Spartiate". -Combine les effets de : "Évasion +2" et "Œil critique +3". -Combine les effets de : "Crâne de fer" et "Challenger +2". -Combine les effets de : "Attaque +3" et "Vent +2". -Combine les effets de : "Force latente +2" et "Athlète +2". -Combine les effets de : "Bouche-oreilles" et "Carnassier +2". -Combine les effets de : "Tranchant +2", "Maîtrise de soi", et "Aiguisage rapide". -Combine les effets de : "Bouche-oreilles", "Rechargement +3" et "Nerfs d'acier". -Combine les effets de : "Garde +2" et "Lame éclair". -Combine les effets de : "Œil critique +3" et "Challenger +1". -Combine les effets de : "Bonus critique", "Franc-tireur" et "Tranchant +1". -Combine les effets de : "Marathonien", "Matraquage" et "Normale/Rapide +". -Combine les effets de : "Attaque +3" et "Évasion +2". -Combine les effets de : "Berserker", "Focus" et "Marathonien". -Combine les effets de : "Esquive +", "Maître cavalier" et "Vigueur +". -Combine les effets de : "Samouraï", "Recul +2", "Bénédiction" et "Athlète +1". -Combine les effets de : "Adrénaline +2", "Goinfre" et "Artilleur expert". -Combine les effets de : "Affliction +2", "Soutien +2", et "Phytothérapie pro". -Combine les effets de : "Chasse-charme", "Bouclier saint" et "Spartiate". -Combine les effets de : "Évasion +2", "Œil critique +3" et "Furtivité". -Combine les effets de : "Crâne de fer", "Challenger +2" et "Ténacité". -Combine les effets de : "Vent +2", "Attaque +3", et "Adrénaline +1". -Combine les effets de : "Force latente +2", "Athlète +2" et "Focus". -Combine les effets de : "Carnassier +2", "Bouche-oreilles" et "SP prolongé". -Combine les effets de : "Tranchant +2", "Bombardier", "Maîtrise de soi" et "Aiguisage rapide". -Combine les effets de : "Bouche-oreilles", "Rechargement +3", "Nerfs d'acier" et "Maître piégeur". -Combine les effets de : "Garde +2", "Lame éclair" et "Lamécaille affûtée". -Combine les effets de : "Œil critique +3" et "Challenger +2". -Combine les effets de : "Bonus critique", "Franc-tireur", "Tranchant +1" et "Opportunisme". -Combine les effets de : "Marathonien", "Matraquage", "Normale/Rapide +" et "Attaque +2". -Combine les effets de : "Attaque +3", "Évasion +2" et "Maître de soi". -Combine les effets de : "Ténacité", "Marathonien", et "Vol de stamina". -Combine les effets de : "Œil de l'esprit" et "Samouraï". -Combine les effets de : "Carnassier +2", "Cannibale" et "Mycophile". -Combine les effets de : "Bombardier" et "Maître piégeur". -Combine les effets de : "Vol de stamina" et "Roi du KO". -Combine les effets de : "Restauration +" et "Bénédiction". -Combine les effets de : "Munitions +", "Combinaison +20%" et "Furtivité". -Combine les effets de : "Tranchant +1" et "Attaque +3". -Combine les effets de : "Normale/Rapide +", "Perçante/Perç.+" et "Plomb/Dispers. +". -Combine les effets de : "Antidote", "Anti-paralysie", "Insomnie" et "Crâne de fer". -Combine les effets de : "Adrénaline +2" et "Bravoure". -Combine les effets de : "Athlète +1" et "Évasion +1". -Combine les effets de : "Batto-jutsu" et "Lame éclair". -Combine les effets de : "Défense +2" et "Peau d'acier". -Combine les effets de : "Œil critique +2" et "Point faible". -Combine les effets de : "Paladin" et "Vigueur +". -Combine les effets de : "Perfection" et "Esquive +". -Combine les effets de : "Élémentaire +" et "Habile". -Combine les effets de : "Chasse-charme" et "Collecte +1". -Combine les effets de : "Bonne fortune" et "Expert capture". -Combine les effets de : "Chasseur polaire", "Vent +2" et "Dégagement". -Combine les effets de : "Antidote", "Antivol" et "Psychique". -Combine les effets de : "Chasseur tropical", "Feu +20" et "Chercheur bio". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>", "<>", et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<<Évasion +2>>" et "<<Œil critique +3>>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>", "<>", et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<<Œil critique +3>>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>" et "<<Évasion +2>>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<<Évasion +2>>", "<<Œil critique +3>>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<<Œil critique +3>>" et "<>". +Combine les effets de : "<>", "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", "<>" et "<>". +Combine les effets de : "<>", "<<Évasion +2>>" et "<>". +Combine les effets de : "<>", "<>", et "<>". +Combine les effets de : "<<Œil de l'esprit>>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>", "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<<Évasion +1>>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<<Œil critique +2>>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<<Élémentaire +>>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". +Combine les effets de : "<>", "<>" et "<>". Les talents dans lesquels vous avez investi des points reçoivent deux points de talent supplémentaires. Multiplie par deux les points de talent obtenus grâce aux talismans. diff --git "a/Run/Data/Languages/Fran\303\247ais/strings.txt" "b/Run/Data/Languages/Fran\303\247ais/strings.txt" index 7edb5d3..c3ea350 100644 --- "a/Run/Data/Languages/Fran\303\247ais/strings.txt" +++ "b/Run/Data/Languages/Fran\303\247ais/strings.txt" @@ -142,6 +142,12 @@ Talismans à Compétence Unique #When searching using charms with at most two skills and possibly some slots (i.e. all possible charms) Talismans à Deux Compétences +#Charm format string (one skill). The 3 parameters are, in order: [Num, Skill, Slots], e.g. "+4 Attack OO-" +%2 %1 %3 + +#Charm format string (two skills). The 5 parameters are, in order: [Num1, Skill1, Num2, Skill2, Slots], e.g. "+4 Attack, +10 Ice Res OO-" +%2 %1, %4 %3 %5 + Compétence Compétences Filtre de Compétences @@ -188,7 +194,7 @@ Résultats trouvés : #When there are too many solutions to display all of them, %1 is the limit (default 1000) Montrer les %1 premiers résultats seulement : -Save Data dump +Données de sauvegarde Liste de Talismans Fichier corrompu. Version diff --git a/Run/Data/Languages/Japanese/strings.txt b/Run/Data/Languages/Japanese/strings.txt index 4e0f4ad..7cfbecd 100644 --- a/Run/Data/Languages/Japanese/strings.txt +++ b/Run/Data/Languages/Japanese/strings.txt @@ -142,6 +142,12 @@ Use up to one skill charms #When searching using charms with at most two skills and possibly some slots (i.e. all possible charms) Use up to two skill charms +#Charm format string (one skill). The 3 parameters are, in order: [Num, Skill, Slots], e.g. "+4 Attack OO-" +%1 %2 %3 + +#Charm format string (two skills). The 5 parameters are, in order: [Num1, Skill1, Num2, Skill2, Slots], e.g. "+4 Attack, +10 Ice Res OO-" +%1 %2, %3 %4 %5 + Skill Skills Skill Filters diff --git a/Run/Data/components.txt b/Run/Data/components.txt index 3cfa2f4..e8b730d 100644 --- a/Run/Data/components.txt +++ b/Run/Data/components.txt @@ -2888,30 +2888,30 @@ EX黒龍チケット・白,jEvent パペットチケット,Event グレートストーン,Event 郵便屋さんの手紙,Event -少年探偵団の証 ,Event -リーマンコイン ,Event -銀水晶のかけら ,Event -海王認定書 ,Event -ワーストコイン ,Event -超ぐでっとした卵 ,jEvent -天道絵巻物 ,Event -アーサーの鎧 ,Event -逆転裁判傍聴券 ,Event -ナビルーチケット ,Event -ネコ魂石 ,Event -ファミ通ギフト券 ,Event -デンゲキXX券 ,Event -大海賊Jチケット ,Event -飛信隊の証 ,Event +少年探偵団の証,Event +リーマンコイン,Event +銀水晶のかけら,Event +海王認定書,Event +ワーストコイン,Event +超ぐでっとした卵,jEvent +天道絵巻物,Event +アーサーの鎧,Event +逆転裁判傍聴券,Event +ナビルーチケット,Event +ネコ魂石,Event +ファミ通ギフト券,Event +デンゲキXX券,Event +大海賊Jチケット,Event +飛信隊の証,Event ハンター認定書,jEvent 犯行の証拠,Event -魔法源解放鍵 ,Event -タイ捨流奥義書 ,Event +魔法源解放鍵,Event +タイ捨流奥義書,Event スタジオUパス,jEvent スタジオOパス,jEvent スタジオXXパス,jEvent -スタジオNパス ,jEvent -ライブチケット ,jEvent +スタジオNパス,jEvent +ライブチケット,jEvent ザルバのかけら,Event ゼルダチケット,Event ゼルダチケットG,Event