mirror of
https://github.com/kwsch/NHSE.git
synced 2026-09-08 19:25:21 -05:00
Feat: Post Box Editing (#744)
Feature: Adds support for postbox.dat via Post Box Editor and accompanying components: - Add Mail class. - Add PostBox class and corresponding offset classes. - Add wrap suppression option to ItemEditor. - Add wrapping and box dictionary to ItemWrapping class. - Add new language strings associated with forms and types. Fix: Resolved overwrite for bad dumps on all imports by adding UsageCompatibilityOffset and UsageCompatibility() added to Design classes. Transparent pixel check method added to PatternEditor and LoadPattern() altered to write the correct compatibility bytes based on type and transparency.
This commit is contained in:
committed by
GitHub
parent
25cff15b5a
commit
41841e5bfb
@@ -12,6 +12,7 @@
|
||||
<None Remove="Resources\text\de\text_fabric_color_de.txt" />
|
||||
<None Remove="Resources\text\de\text_fabric_parts_de.txt" />
|
||||
<None Remove="Resources\text\de\text_item_de.txt" />
|
||||
<None Remove="Resources\text\de\text_mail_de.txt" />
|
||||
<None Remove="Resources\text\de\text_phrase_de.txt" />
|
||||
<None Remove="Resources\text\de\text_villager_de.txt" />
|
||||
<None Remove="Resources\text\en\internal_en.txt" />
|
||||
@@ -21,6 +22,7 @@
|
||||
<None Remove="Resources\text\en\text_fabric_color_en.txt" />
|
||||
<None Remove="Resources\text\en\text_fabric_parts_en.txt" />
|
||||
<None Remove="Resources\text\en\text_item_en.txt" />
|
||||
<None Remove="Resources\text\en\text_mail_en.txt" />
|
||||
<None Remove="Resources\text\en\text_phrase_en.txt" />
|
||||
<None Remove="Resources\text\en\text_villager_en.txt" />
|
||||
<None Remove="Resources\text\es\internal_es.txt" />
|
||||
@@ -30,6 +32,7 @@
|
||||
<None Remove="Resources\text\es\text_fabric_color_es.txt" />
|
||||
<None Remove="Resources\text\es\text_fabric_parts_es.txt" />
|
||||
<None Remove="Resources\text\es\text_item_es.txt" />
|
||||
<None Remove="Resources\text\es\text_mail_es.txt" />
|
||||
<None Remove="Resources\text\es\text_phrase_es.txt" />
|
||||
<None Remove="Resources\text\es\text_villager_es.txt" />
|
||||
<None Remove="Resources\text\fr\internal_fr.txt" />
|
||||
@@ -39,6 +42,7 @@
|
||||
<None Remove="Resources\text\fr\text_fabric_color_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_fabric_parts_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_item_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_mail_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_phrase_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_villager_fr.txt" />
|
||||
<None Remove="Resources\text\it\internal_it.txt" />
|
||||
@@ -48,6 +52,7 @@
|
||||
<None Remove="Resources\text\it\text_fabric_color_it.txt" />
|
||||
<None Remove="Resources\text\it\text_fabric_parts_it.txt" />
|
||||
<None Remove="Resources\text\it\text_item_it.txt" />
|
||||
<None Remove="Resources\text\it\text_mail_it.txt" />
|
||||
<None Remove="Resources\text\it\text_phrase_it.txt" />
|
||||
<None Remove="Resources\text\it\text_villager_it.txt" />
|
||||
<None Remove="Resources\text\jp\internal_jp.txt" />
|
||||
@@ -57,6 +62,7 @@
|
||||
<None Remove="Resources\text\jp\text_fabric_color_jp.txt" />
|
||||
<None Remove="Resources\text\jp\text_fabric_parts_jp.txt" />
|
||||
<None Remove="Resources\text\jp\text_item_jp.txt" />
|
||||
<None Remove="Resources\text\jp\text_mail_jp.txt" />
|
||||
<None Remove="Resources\text\jp\text_phrase_jp.txt" />
|
||||
<None Remove="Resources\text\jp\text_villager_jp.txt" />
|
||||
<None Remove="Resources\text\ko\internal_ko.txt" />
|
||||
@@ -66,6 +72,7 @@
|
||||
<None Remove="Resources\text\ko\text_fabric_color_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_fabric_parts_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_item_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_mail_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_phrase_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_villager_ko.txt" />
|
||||
<None Remove="Resources\text\zhs\internal_zhs.txt" />
|
||||
@@ -75,6 +82,7 @@
|
||||
<None Remove="Resources\text\zhs\text_fabric_color_zhs.txt" />
|
||||
<None Remove="Resources\text\zhs\text_fabric_parts_zhs.txt" />
|
||||
<None Remove="Resources\text\zhs\text_item_zhs.txt" />
|
||||
<None Remove="Resources\text\zhs\text_mail_zhs.txt" />
|
||||
<None Remove="Resources\text\zhs\text_phrase_zhs.txt" />
|
||||
<None Remove="Resources\text\zhs\text_villager_zhs.txt" />
|
||||
<None Remove="Resources\text\zht\internal_zht.txt" />
|
||||
@@ -84,6 +92,7 @@
|
||||
<None Remove="Resources\text\zht\text_fabric_color_zht.txt" />
|
||||
<None Remove="Resources\text\zht\text_fabric_parts_zht.txt" />
|
||||
<None Remove="Resources\text\zht\text_item_zht.txt" />
|
||||
<None Remove="Resources\text\zht\text_mail_zht.txt" />
|
||||
<None Remove="Resources\text\zht\text_phrase_zht.txt" />
|
||||
<None Remove="Resources\text\zht\text_villager_zht.txt" />
|
||||
</ItemGroup>
|
||||
@@ -100,6 +109,7 @@
|
||||
<EmbeddedResource Include="Resources\text\de\text_fabric_color_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_fabric_parts_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_item_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_mail_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_phrase_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_villager_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\internal_en.txt" />
|
||||
@@ -109,6 +119,7 @@
|
||||
<EmbeddedResource Include="Resources\text\en\text_fabric_color_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_fabric_parts_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_item_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_mail_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_phrase_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_villager_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\internal_es.txt" />
|
||||
@@ -118,6 +129,7 @@
|
||||
<EmbeddedResource Include="Resources\text\es\text_fabric_color_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_fabric_parts_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_item_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_mail_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_phrase_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_villager_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\internal_fr.txt" />
|
||||
@@ -127,6 +139,7 @@
|
||||
<EmbeddedResource Include="Resources\text\fr\text_fabric_color_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_fabric_parts_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_item_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_mail_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_phrase_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_villager_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\internal_it.txt" />
|
||||
@@ -136,6 +149,7 @@
|
||||
<EmbeddedResource Include="Resources\text\it\text_fabric_color_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_fabric_parts_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_item_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_mail_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_phrase_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_villager_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\jp\internal_jp.txt" />
|
||||
@@ -145,6 +159,7 @@
|
||||
<EmbeddedResource Include="Resources\text\jp\text_fabric_color_jp.txt" />
|
||||
<EmbeddedResource Include="Resources\text\jp\text_fabric_parts_jp.txt" />
|
||||
<EmbeddedResource Include="Resources\text\jp\text_item_jp.txt" />
|
||||
<EmbeddedResource Include="Resources\text\jp\text_mail_jp.txt" />
|
||||
<EmbeddedResource Include="Resources\text\jp\text_phrase_jp.txt" />
|
||||
<EmbeddedResource Include="Resources\text\jp\text_villager_jp.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\internal_ko.txt" />
|
||||
@@ -154,6 +169,7 @@
|
||||
<EmbeddedResource Include="Resources\text\ko\text_fabric_color_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_fabric_parts_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_item_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_mail_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_phrase_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_villager_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zhs\internal_zhs.txt" />
|
||||
@@ -163,6 +179,7 @@
|
||||
<EmbeddedResource Include="Resources\text\zhs\text_fabric_color_zhs.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zhs\text_fabric_parts_zhs.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zhs\text_item_zhs.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zhs\text_mail_zhs.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zhs\text_phrase_zhs.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zhs\text_villager_zhs.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zht\internal_zht.txt" />
|
||||
@@ -172,6 +189,7 @@
|
||||
<EmbeddedResource Include="Resources\text\zht\text_fabric_color_zht.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zht\text_fabric_parts_zht.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zht\text_item_zht.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zht\text_mail_zht.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zht\text_phrase_zht.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zht\text_villager_zht.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
101
NHSE.Core/Resources/text/de/text_mail_de.txt
Normal file
101
NHSE.Core/Resources/text/de/text_mail_de.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 Theo
|
||||
ant00 Theo
|
||||
ant01 Siggi
|
||||
ant02 Mathilda
|
||||
ant03 Annabell
|
||||
@@ -489,3 +489,16 @@ tuk Gernod
|
||||
upa Samselt
|
||||
wrl Winci
|
||||
xct Olli
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/en/text_mail_en.txt
Normal file
101
NHSE.Core/Resources/text/en/text_mail_en.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 Cyrano
|
||||
ant00 Cyrano
|
||||
ant01 Antonio
|
||||
ant02 Pango
|
||||
ant03 Anabelle
|
||||
@@ -489,3 +489,16 @@ tuk Franklin
|
||||
upa Shrunk
|
||||
wrl Wendell
|
||||
xct Rover
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/es/text_mail_es.txt
Normal file
101
NHSE.Core/Resources/text/es/text_mail_es.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 Cirano
|
||||
ant00 Cirano
|
||||
ant01 Antonio
|
||||
ant02 Aspidora
|
||||
ant03 Anabel
|
||||
@@ -489,3 +489,16 @@ tuk Guindo
|
||||
upa Dr. Sito
|
||||
wrl Da Morsi
|
||||
xct Fran
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/fr/text_mail_fr.txt
Normal file
101
NHSE.Core/Resources/text/fr/text_mail_fr.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 Cyrano
|
||||
ant00 Cyrano
|
||||
ant01 Antonio
|
||||
ant02 Mathilda
|
||||
ant03 Anabelle
|
||||
@@ -489,3 +489,16 @@ tuk Dindou
|
||||
upa Ciboulot
|
||||
wrl Morsicus
|
||||
xct Charly
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/it/text_mail_it.txt
Normal file
101
NHSE.Core/Resources/text/it/text_mail_it.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 Cirano
|
||||
ant00 Cirano
|
||||
ant01 Antonio
|
||||
ant02 Carlotta
|
||||
ant03 Annalisa
|
||||
@@ -489,3 +489,16 @@ tuk Cedrone
|
||||
upa Strizzo
|
||||
wrl Van Trik
|
||||
xct Girolamo
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/jp/text_mail_jp.txt
Normal file
101
NHSE.Core/Resources/text/jp/text_mail_jp.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 さくらじま
|
||||
ant00 さくらじま
|
||||
ant01 マコト
|
||||
ant02 パトラ
|
||||
ant03 あるみ
|
||||
@@ -489,3 +489,16 @@ tuk フランクリン
|
||||
upa ししょー
|
||||
wrl セイイチ
|
||||
xct みしらぬネコ
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/ko/text_mail_ko.txt
Normal file
101
NHSE.Core/Resources/text/ko/text_mail_ko.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 사지마
|
||||
ant00 사지마
|
||||
ant01 퍼머거
|
||||
ant02 패트라
|
||||
ant03 아롱이
|
||||
@@ -489,3 +489,16 @@ tuk 프랭클린
|
||||
upa 스승
|
||||
wrl 고파유
|
||||
xct 낯선고양이
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/zhs/text_mail_zhs.txt
Normal file
101
NHSE.Core/Resources/text/zhs/text_mail_zhs.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 阳明
|
||||
ant00 阳明
|
||||
ant01 阿诚
|
||||
ant02 佩希
|
||||
ant03 有美
|
||||
@@ -489,3 +489,16 @@ tuk 富蓝
|
||||
upa 笑匠
|
||||
wrl 海项
|
||||
xct 陌陌
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
101
NHSE.Core/Resources/text/zht/text_mail_zht.txt
Normal file
101
NHSE.Core/Resources/text/zht/text_mail_zht.txt
Normal file
@@ -0,0 +1,101 @@
|
||||
mail00 Airmail card
|
||||
mail01 Star card
|
||||
mail02 Turkey Day card
|
||||
mail03 Torn card
|
||||
mail04 Zen card
|
||||
mail05 Decorative card
|
||||
mail06 Graduation card
|
||||
mail07 Stationery-goods card
|
||||
mail08 Bandage card
|
||||
mail09 Chocolate card
|
||||
mail10 Graffiti card
|
||||
mail11 Fluffy-clouds card
|
||||
mail12 Snowflake card
|
||||
mail13 Common card
|
||||
mail14 Winter-camellia card
|
||||
mail15 Lovely hearts card
|
||||
mail16 Gears card
|
||||
mail17 Full-bloom card
|
||||
mail18 Snowperson card
|
||||
mail19 Carpet-of-leaves card
|
||||
mail20 Father's Day card
|
||||
mail21 Holiday card
|
||||
mail22 Fanciful card
|
||||
mail23 Cherry-blossoms card
|
||||
mail24 Shapes card
|
||||
mail25 Mother's Day card
|
||||
mail26 Camo card
|
||||
mail27 Warm-sweater card
|
||||
mail28 Gem card
|
||||
mail29 Red-dragonflies card
|
||||
mail30 Mushroom card
|
||||
mail31 Card from Happy Home Academy
|
||||
mail32 Baby-goods card
|
||||
mail33 Birthday-cake card
|
||||
mail34 Ribbon card
|
||||
mail35 Balloons card
|
||||
mail36 Festive-tree card
|
||||
mail37 Cool-cool card
|
||||
mail38 Fantasy-stars card
|
||||
mail39 Bunny Day card
|
||||
mail40 Elegant-roses card
|
||||
mail41 Happy-clovers card
|
||||
mail42 Pumpkin card
|
||||
mail43 Halloween card
|
||||
mail44 Fireworks card
|
||||
mail45 Dawning-year card
|
||||
mail46 So-many-hearts card
|
||||
mail47 Blue-sky card
|
||||
mail48 Dandelion card
|
||||
mail49 Shooting-stars card
|
||||
mail50 Goldfish card
|
||||
mail51 Hibiscus card
|
||||
mail52 Flower-bouquet card
|
||||
mail53 Card from K.K.
|
||||
mail54 Chocolate-heart card
|
||||
mail55 Wedding card
|
||||
mail56 Town-view card
|
||||
mail57 Velvety card
|
||||
mail58 Card from C.J.
|
||||
mail59 Card from Flick
|
||||
mail60 Card from Bank of Nook
|
||||
mail61 Card from Nook Mileage Program
|
||||
mail62 Card from Your pals at Dodo Airlines
|
||||
mail63 Beach card
|
||||
mail64 Acorn card
|
||||
mail65 Gift card
|
||||
mail66 Card from Jolly Redd's
|
||||
mail67 MsgWherearenOffice00
|
||||
mail68 Glowing-moss card
|
||||
mail69 Flight-ticket card
|
||||
mail70 Plumeria card
|
||||
mail71 Sunset card
|
||||
mail72 Tropical card
|
||||
mail73 Paradise Planning card
|
||||
mail74 Unused_MsgMametsubu00m001
|
||||
box00 None
|
||||
box01 Nook Shopping Box
|
||||
box02 Hotel Box
|
||||
box03 Paradise Planning Box
|
||||
wrap00 None
|
||||
wrap01 Present
|
||||
wrap02 Wrapping Paper Yellow
|
||||
wrap03 Wrapping Paper Pink
|
||||
wrap04 Wrapping Paper Orange
|
||||
wrap05 Wrapping Paper Chartreuse
|
||||
wrap06 Wrapping Paper Green
|
||||
wrap07 Wrapping Paper Mint
|
||||
wrap08 Wrapping Paper LightBlue
|
||||
wrap09 Wrapping Paper Purple
|
||||
wrap10 Wrapping Paper Navy
|
||||
wrap11 Wrapping Paper Blue
|
||||
wrap12 Wrapping Paper White
|
||||
wrap13 Wrapping Paper Red
|
||||
wrap14 Wrapping Paper Gold
|
||||
wrap15 Wrapping Paper Brown
|
||||
wrap16 Wrapping Paper Gray
|
||||
wrap17 Wrapping Paper Black
|
||||
wrap18 Wrapping Paper Festive
|
||||
wrap19 Lucky Red Envelope
|
||||
wrap20 Bokjumeoni Pouch
|
||||
wrap21 Otoshidama Envelope
|
||||
@@ -1,4 +1,4 @@
|
||||
ant00 陽明
|
||||
ant00 陽明
|
||||
ant01 阿誠
|
||||
ant02 佩希
|
||||
ant03 有美
|
||||
@@ -489,3 +489,16 @@ tuk 富藍
|
||||
upa 笑匠
|
||||
wrl 海項
|
||||
xct 陌陌
|
||||
npc_nookinc Nook Inc.
|
||||
npc_hotel Hotel
|
||||
npc_hha Happy Home Academy
|
||||
npc_nintendo Nintendo
|
||||
npc_bankofnook Bank of Nook
|
||||
npc_nookshopping Nook Shopping
|
||||
npc_nookmileageprogram Nook Mileage Program
|
||||
npc_mom Mom
|
||||
npc_dodoairlines Dodo Airlines
|
||||
npc_thefarwaymuseum The Farway Museum
|
||||
npc_paradiseplanning Paradise Planning
|
||||
npc_snowboy Snowboy
|
||||
npc_nooklinkadmins NookLink Admins
|
||||
|
||||
@@ -65,9 +65,9 @@ public void SetVillagerHouses(IReadOnlyList<IVillagerHouse> villagers)
|
||||
}
|
||||
|
||||
public DesignPattern GetDesign(int index) => Offsets.ReadPattern(Data, index);
|
||||
public void SetDesign(DesignPattern value, int index, Span<byte> playerID, Span<byte> townID) => Offsets.WritePattern(value, Data, index, playerID, townID);
|
||||
public void SetDesign(DesignPattern value, int index) => Offsets.WritePattern(value, Data, index);
|
||||
public DesignPatternPRO GetDesignPRO(int index) => Offsets.ReadPatternPRO(Data, index);
|
||||
public void SetDesignPRO(DesignPatternPRO value, int index, Span<byte> playerID, Span<byte> townID) => Offsets.WritePatternPRO(value, Data, index, playerID, townID);
|
||||
public void SetDesignPRO(DesignPatternPRO value, int index) => Offsets.WritePatternPRO(value, Data, index);
|
||||
|
||||
public IReadOnlyList<Item> RecycleBin
|
||||
{
|
||||
@@ -106,11 +106,11 @@ public DesignPattern[] GetDesigns()
|
||||
return result;
|
||||
}
|
||||
|
||||
public void SetDesigns(IReadOnlyList<DesignPattern> value, Span<byte> playerID, Span<byte> townID)
|
||||
public void SetDesigns(IReadOnlyList<DesignPattern> value)
|
||||
{
|
||||
var count = Math.Min(Offsets.PatternCount, value.Count);
|
||||
for (int i = 0; i < count; i++)
|
||||
SetDesign(value[i], i, playerID, townID);
|
||||
SetDesign(value[i], i);
|
||||
}
|
||||
|
||||
public DesignPatternPRO[] GetDesignsPRO()
|
||||
@@ -121,11 +121,11 @@ public DesignPatternPRO[] GetDesignsPRO()
|
||||
return result;
|
||||
}
|
||||
|
||||
public void SetDesignsPRO(IReadOnlyList<DesignPatternPRO> value, Span<byte> playerID, Span<byte> townID)
|
||||
public void SetDesignsPRO(IReadOnlyList<DesignPatternPRO> value)
|
||||
{
|
||||
var count = Math.Min(Offsets.PatternCount, value.Count);
|
||||
for (int i = 0; i < count; i++)
|
||||
SetDesignPRO(value[i], i, playerID, townID);
|
||||
SetDesignPRO(value[i], i);
|
||||
}
|
||||
|
||||
public DesignPattern FlagMyDesign
|
||||
|
||||
@@ -1,6 +1,321 @@
|
||||
namespace NHSE.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using static System.Buffers.Binary.BinaryPrimitives;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// postbox.dat
|
||||
/// Data structures stored for the players Post Box (postbox.dat)
|
||||
/// </summary>
|
||||
public sealed class PostBox(ISaveFileProvider provider) : EncryptedFilePair(provider, "postbox");
|
||||
public sealed class PostBox : EncryptedFilePair
|
||||
{
|
||||
public const string FileName = "postbox";
|
||||
public readonly PostBoxOffsets Offsets;
|
||||
public PostBox(ISaveFileProvider provider) : base(provider, FileName) => Offsets = PostBoxOffsets.GetOffsets(Info);
|
||||
|
||||
public readonly int MailLength = Mail.SIZE;
|
||||
public readonly int MailListLength = 0x46E60;
|
||||
public readonly int MaxMailItems = Mail.MaxSlots;
|
||||
|
||||
public Span<byte> Get_s_7b602b39() => Data.Slice(Offsets.s_7b602b39, 4);
|
||||
|
||||
public Span<byte> MailListWholeRegion
|
||||
{
|
||||
get => Data.Slice(Offsets.MailList, MailListLength);
|
||||
set => value.CopyTo(Data[Offsets.MailList..]);
|
||||
}
|
||||
|
||||
public Span<byte> GetIndividualLetter(int index) => Data.Slice(Offsets.MailList + (MailLength * index), MailLength);
|
||||
public void SetIndividualLetter(int index, Span<byte> value)
|
||||
{
|
||||
value.CopyTo(Data[(Offsets.MailList + (MailLength * index))..]);
|
||||
}
|
||||
|
||||
public List<int> GetUsedPostBoxSlots()
|
||||
{
|
||||
var usedSlots = new List<int>();
|
||||
for (int i = 0; i < MaxMailItems; i++)
|
||||
{
|
||||
var readStatus = MailListWholeRegion[(MailLength * i) + Mail.ReadUnread];
|
||||
if (readStatus == 0x03 || readStatus == 0x04)
|
||||
usedSlots.Add(i);
|
||||
}
|
||||
return usedSlots;
|
||||
}
|
||||
|
||||
public int GetLatestUniqueId()
|
||||
{
|
||||
return ReadInt32LittleEndian(Data.Slice(Offsets.LatestUniqueId, 4));
|
||||
}
|
||||
public void SetLatestUniqueId(int uniqueId)
|
||||
{
|
||||
WriteInt32LittleEndian(Data.Slice(Offsets.LatestUniqueId, 4), uniqueId);
|
||||
}
|
||||
|
||||
#region Mail
|
||||
|
||||
public void WipeTxRxSection(int index)
|
||||
{
|
||||
var arr = new byte[0x60];
|
||||
Span<byte> bytes = arr;
|
||||
bytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.ReadUnread)..]);
|
||||
}
|
||||
|
||||
public bool GetMailCheck(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.ReadUnread] != 0x00;
|
||||
}
|
||||
public bool GetMailReadStatus(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.ReadUnread] != 0x03;
|
||||
}
|
||||
public void SetMailReadStatus(int index, bool isRead)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.ReadUnread] = isRead ? (byte)0x04 : (byte)0x03;
|
||||
}
|
||||
|
||||
public bool GetMailFavStatus(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.LetterFavourited] != 0x00;
|
||||
}
|
||||
public void SetMailFavStatus(int index, bool isFavourite)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.LetterFavourited] = isFavourite ? (byte)0x01 : (byte)0x00;
|
||||
}
|
||||
|
||||
public uint GetPlayerSenderIslandId(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.PlayerSenderIslandID;
|
||||
return ReadUInt32LittleEndian(Data.Slice(offset, 4));
|
||||
}
|
||||
public void SetPlayerSenderIslandId(int index, uint islandId)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.PlayerSenderIslandID;
|
||||
WriteUInt32LittleEndian(Data.Slice(offset, 4), islandId);
|
||||
}
|
||||
|
||||
public string GetPlayerSenderIslandName(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.PlayerSenderIslandName, 10);
|
||||
}
|
||||
public void SetPlayerSenderIslandName(int index, string islandName)
|
||||
{
|
||||
var nameBytes = GetBytes(islandName, 10);
|
||||
nameBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.PlayerSenderIslandName)..]);
|
||||
}
|
||||
|
||||
public byte GetVillagerSenderSpeciesId(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.NPCSenderSpeciesID];
|
||||
}
|
||||
public void SetVillagerSenderSpeciesId(int index, int speciesId)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.NPCSenderSpeciesID] = (byte)speciesId;
|
||||
}
|
||||
public byte GetVillagerSenderVariantId(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.NPCSenderVariantID];
|
||||
}
|
||||
public void SetVillagerSenderVariantId(int index, int variantId)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.NPCSenderVariantID] = (byte)variantId;
|
||||
}
|
||||
|
||||
public uint GetNPCSenderIslandId(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.NPCSenderIslandID;
|
||||
return ReadUInt32LittleEndian(Data.Slice(offset, 4));
|
||||
}
|
||||
public void SetNPCSenderIslandId(int index, uint islandId)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.NPCSenderIslandID;
|
||||
WriteUInt32LittleEndian(Data.Slice(offset, 4), islandId);
|
||||
}
|
||||
public string GetNPCSenderIslandName(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.NPCSenderIslandName, 10);
|
||||
}
|
||||
public void SetNPCSenderIslandName(int index, string islandName)
|
||||
{
|
||||
var nameBytes = GetBytes(islandName, 20);
|
||||
nameBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.NPCSenderIslandName)..]);
|
||||
}
|
||||
|
||||
public uint GetSenderId(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.SenderID;
|
||||
return ReadUInt32LittleEndian(Data.Slice(offset, 4));
|
||||
}
|
||||
public void SetSenderId(int index, uint senderId)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.SenderID;
|
||||
WriteUInt32LittleEndian(Data.Slice(offset, 4), senderId);
|
||||
}
|
||||
public string GetSenderName(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.SenderName, 10);
|
||||
}
|
||||
public void SetSenderName(int index, string senderName)
|
||||
{
|
||||
var nameBytes = GetBytes(senderName, 10);
|
||||
nameBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.SenderName)..]);
|
||||
}
|
||||
public byte GetSenderType(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.SenderType];
|
||||
}
|
||||
public void SetSenderType(int index, byte senderType)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.SenderType] = senderType;
|
||||
}
|
||||
|
||||
public uint GetReceiverIslandId(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.ReceiverIslandID;
|
||||
return ReadUInt32LittleEndian(Data.Slice(offset, 4));
|
||||
}
|
||||
public void SetReceiverIslandId(int index, uint islandId)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.ReceiverIslandID;
|
||||
WriteUInt32LittleEndian(Data.Slice(offset, 4), islandId);
|
||||
}
|
||||
public string GetReceiverIslandName(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.ReceiverIslandName, 10);
|
||||
}
|
||||
public void SetReceiverIslandName(int index, string islandName)
|
||||
{
|
||||
var nameBytes = GetBytes(islandName, 10);
|
||||
nameBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.ReceiverIslandName)..]);
|
||||
}
|
||||
|
||||
public uint GetReceiverPlayerId(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.ReceiverPlayerID;
|
||||
return ReadUInt32LittleEndian(Data.Slice(offset, 4));
|
||||
}
|
||||
public void SetReceiverPlayerId(int index, uint playerId)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.ReceiverPlayerID;
|
||||
WriteUInt32LittleEndian(Data.Slice(offset, 4), playerId);
|
||||
}
|
||||
public string GetReceiverPlayerName(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.ReceiverPlayerName, 10);
|
||||
}
|
||||
public void SetReceiverPlayerName(int index, string playerName)
|
||||
{
|
||||
var nameBytes = GetBytes(playerName, 10);
|
||||
nameBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.ReceiverPlayerName)..]);
|
||||
}
|
||||
|
||||
public GSaveDate GetTimestamp(int index)
|
||||
{
|
||||
return Data.ToStructure<GSaveDate>(Offsets.MailList + (MailLength * index) + Mail.TimeStamp, GSaveDate.SIZE);
|
||||
}
|
||||
public void SetTimeStamp(int index, GSaveDate timestamp)
|
||||
{
|
||||
timestamp.ToBytes().CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.TimeStamp)..]);
|
||||
}
|
||||
|
||||
public Item GetAttachedItem(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.AttachedItemID;
|
||||
return Item.GetArray(Data.Slice(offset, Item.SIZE))[0];
|
||||
}
|
||||
public void SetAttachedItem(int index, Item item)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.AttachedItemID;
|
||||
var itemBytes = Item.SetArray(new[] { item });
|
||||
itemBytes.CopyTo(Data[offset..]);
|
||||
}
|
||||
|
||||
public byte GetItemWrappingType(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.MailItemWrappingType];
|
||||
}
|
||||
public void SetItemWrappingType(int index, byte wrappingType)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.MailItemWrappingType] = wrappingType;
|
||||
}
|
||||
|
||||
public bool GetMailType(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index);
|
||||
return Data[offset + Mail.MailType01] == 0x00 && Data[offset + Mail.MailType02] == 0x01; // Letter or boxed type
|
||||
}
|
||||
public void SetMailType(int index, bool letter)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index);
|
||||
if (letter) { Data[offset + Mail.MailType01] = 0x00; Data[offset + Mail.MailType02] = 0x01; } // Letter type
|
||||
else { Data[offset + Mail.MailType01] = 0x01; Data[offset + Mail.MailType02] = 0x00; } // Boxed item type
|
||||
}
|
||||
|
||||
public string GetLetterToLineText(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.LetterToLineText, Mail.LetterToTextLength);
|
||||
}
|
||||
public void SetLetterToLineText(int index, string toLineText)
|
||||
{
|
||||
var textBytes = GetBytes(toLineText, Mail.LetterToTextLength);
|
||||
textBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.LetterToLineText)..]);
|
||||
}
|
||||
public string GetLetterMessageText(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.LetterMessageText, Mail.LetterMessageTextLength);
|
||||
}
|
||||
public void SetLetterMessageText(int index, string messageText)
|
||||
{
|
||||
var textBytes = GetBytes(messageText, Mail.LetterMessageTextLength);
|
||||
textBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.LetterMessageText)..]);
|
||||
}
|
||||
public string GetLetterFromLineText(int index)
|
||||
{
|
||||
return GetString(Offsets.MailList + (MailLength * index) + Mail.LetterFromLineText, Mail.LetterFromTextLength);
|
||||
}
|
||||
public void SetLetterFromLineText(int index, string fromLineText)
|
||||
{
|
||||
var textBytes = GetBytes(fromLineText, Mail.LetterFromTextLength);
|
||||
textBytes.CopyTo(Data[(Offsets.MailList + (MailLength * index) + Mail.LetterFromLineText)..]);
|
||||
}
|
||||
public ushort GetMailStationerySkin(int index)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.MailStationerySkin;
|
||||
return ReadUInt16LittleEndian(Data.Slice(offset, 2));
|
||||
}
|
||||
public void SetMailStationerySkin(int index, ushort skinCode)
|
||||
{
|
||||
var offset = Offsets.MailList + (MailLength * index) + Mail.MailStationerySkin;
|
||||
WriteUInt16LittleEndian(Data.Slice(offset, 2), skinCode);
|
||||
}
|
||||
|
||||
public byte GetPostBoxSortIndex(int index)
|
||||
{
|
||||
return Data[Offsets.MailList + (MailLength * index) + Mail.PostBoxSortIndex];
|
||||
}
|
||||
public void SetPostBoxSortIndex(int index, byte sortIndex)
|
||||
{
|
||||
Data[Offsets.MailList + (MailLength * index) + Mail.PostBoxSortIndex] = sortIndex;
|
||||
}
|
||||
|
||||
public string GetMailLanguageString(int index)
|
||||
{
|
||||
return Encoding.UTF8.GetString(Data.Slice(Offsets.MailList + (MailLength * index) + Mail.LanguageString, 5));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or clears the language string for a mail item at the specified index.
|
||||
/// </summary>
|
||||
/// <param name="index">The zero-based index of the mail item in the postbox.</param>
|
||||
/// <param name="languageString">The IETF BCP 47 language tag string to set (e.g., "en-US", "ja-JP").</param>
|
||||
/// <param name="player">If <c>true</c>, sets the language string; if <c>false</c>, clears the language data.</param>
|
||||
public void SetMailLanguageString(int index, string languageString, bool player)
|
||||
{
|
||||
var langOffset = Offsets.MailList + (MailLength * index) + Mail.LanguageString;
|
||||
if (player) { GetBytes(languageString, 5).CopyTo(Data[langOffset..]); }
|
||||
else { Data.Slice(langOffset, 5).Clear(); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -123,17 +123,13 @@ public static DesignPattern ReadPatternAtOffset(ReadOnlySpan<byte> data, int off
|
||||
return new DesignPattern(v);
|
||||
}
|
||||
|
||||
public void WritePattern(DesignPattern p, Span<byte> data, int index, Span<byte> playerID, Span<byte> townID)
|
||||
public void WritePattern(DesignPattern p, Span<byte> data, int index)
|
||||
{
|
||||
if ((uint)index >= PatternCount)
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
playerID.CopyTo(p.Data[0x54..]); // overwrite playerID bytes so player owns
|
||||
townID.CopyTo(p.Data[0x38..]); // overwrite townID bytes so player owns
|
||||
ReadOnlySpan<byte> wipeflag = [0x02, 0xEE, 0x00, 0x00]; // wipe so player owns
|
||||
wipeflag.CopyTo(p.Data[0x70..]);
|
||||
p.Data.CopyTo(data[(LandMyDesign + (index * DesignPattern.SIZE))..]);
|
||||
ReadOnlySpan<byte> editedflag = [0x00];
|
||||
editedflag.CopyTo(data[(PatternsEditFlagStart + index)..]); // set edited flag for name import to work
|
||||
editedflag.CopyTo(data[(PatternsEditFlagStart + index)..]); // set edited flag for designs name import to be correct in game
|
||||
}
|
||||
|
||||
public DesignPatternPRO ReadPatternPRO(ReadOnlySpan<byte> data, int index)
|
||||
@@ -150,17 +146,12 @@ public static DesignPatternPRO ReadPatternPROAtOffset(ReadOnlySpan<byte> data, i
|
||||
return new DesignPatternPRO(v);
|
||||
}
|
||||
|
||||
public void WritePatternPRO(DesignPatternPRO p, Span<byte> data, int index, Span<byte> playerID, Span<byte> townID)
|
||||
public void WritePatternPRO(DesignPatternPRO p, Span<byte> data, int index)
|
||||
{
|
||||
if ((uint)index >= PatternCount)
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
playerID.CopyTo(p.Data[0x54..]); // overwrite playerID bytes so player owns
|
||||
townID.CopyTo(p.Data[0x38..]); // overwrite townID bytes so player owns
|
||||
ReadOnlySpan<byte> wipeflag = [0x00, 0x00, 0x00, 0x00]; // wipe so player owns
|
||||
wipeflag.CopyTo(p.Data[0x70..]);
|
||||
p.Data.CopyTo(data[(PatternsPRO + (index * DesignPatternPRO.SIZE))..]);
|
||||
ReadOnlySpan<byte> editedflag = [0x00];
|
||||
editedflag.CopyTo(data[(PatternsProEditFlagStart + index)..]); // set edited flag for name import to work
|
||||
editedflag.CopyTo(data[(PatternsProEditFlagStart + index)..]); // set edited flag for designs name import to be correct in game
|
||||
}
|
||||
|
||||
public IVillager ReadVillager(ReadOnlySpan<byte> data, int index)
|
||||
|
||||
55
NHSE.Core/Save/Offsets/PostBoxOffsets.cs
Normal file
55
NHSE.Core/Save/Offsets/PostBoxOffsets.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Offset info and object retrieval logic for <see cref="PostBox"/>
|
||||
/// </summary>
|
||||
public abstract class PostBoxOffsets
|
||||
{
|
||||
public abstract int s_7b602b39 { get; }
|
||||
public abstract int MailList { get; }
|
||||
public abstract int FontTable { get; }
|
||||
public abstract int LatestUniqueId { get; }
|
||||
|
||||
public static PostBoxOffsets GetOffsets(FileHeaderInfo Info)
|
||||
{
|
||||
var rev = Info.GetKnownRevisionIndex();
|
||||
return rev switch
|
||||
{
|
||||
0 => new PostBoxOffsets10(),
|
||||
1 => new PostBoxOffsets11(),
|
||||
2 => new PostBoxOffsets11(),
|
||||
3 => new PostBoxOffsets11(),
|
||||
4 => new PostBoxOffsets11(),
|
||||
5 => new PostBoxOffsets11(),
|
||||
6 => new PostBoxOffsets12(),
|
||||
7 => new PostBoxOffsets12(),
|
||||
8 => new PostBoxOffsets13(),
|
||||
9 => new PostBoxOffsets13(),
|
||||
10 => new PostBoxOffsets14(),
|
||||
11 => new PostBoxOffsets14(),
|
||||
12 => new PostBoxOffsets14(),
|
||||
13 => new PostBoxOffsets15(),
|
||||
14 => new PostBoxOffsets15(),
|
||||
15 => new PostBoxOffsets16(),
|
||||
16 => new PostBoxOffsets17(),
|
||||
17 => new PostBoxOffsets18(),
|
||||
18 => new PostBoxOffsets19(),
|
||||
19 => new PostBoxOffsets110(),
|
||||
20 => new PostBoxOffsets111(),
|
||||
21 => new PostBoxOffsets111(),
|
||||
22 => new PostBoxOffsets20(),
|
||||
23 => new PostBoxOffsets20(),
|
||||
24 => new PostBoxOffsets20(),
|
||||
25 => new PostBoxOffsets20(),
|
||||
26 => new PostBoxOffsets20(),
|
||||
27 => new PostBoxOffsets20(),
|
||||
28 => new PostBoxOffsets20(),
|
||||
29 => new PostBoxOffsets20(),
|
||||
30 => new PostBoxOffsets20(),
|
||||
31 => new PostBoxOffsets30(),
|
||||
_ => throw new IndexOutOfRangeException("Unknown revision!" + Environment.NewLine + Info),
|
||||
};
|
||||
}
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets10.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets10.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets10 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x108; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44578; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets11.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets11.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets11 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44580; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets110.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets110.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets110 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets111.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets111.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets111 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets12.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets12.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets12 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44580; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets13.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets13.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets13 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44580; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets14.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets14.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets14 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44580; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets15.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets15.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets15 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44580; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets16.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets16.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets16 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0xb44580; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets17.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets17.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets17 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets18.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets18.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets18 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets19.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets19.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets19 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets20.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets20.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets20 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
16
NHSE.Core/Save/Offsets/PostBoxOffsets30.cs
Normal file
16
NHSE.Core/Save/Offsets/PostBoxOffsets30.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// <inheritdoc cref="PostBoxOffsets"/>
|
||||
/// </summary>
|
||||
public sealed class PostBoxOffsets30 : PostBoxOffsets
|
||||
{
|
||||
// GSavePostBox
|
||||
private const int GSaveVersion = 0x0; // @0x0 size 0x100, align 4
|
||||
public override int s_7b602b39 => GSaveVersion + 0x100; // (_d35a9251) u32 "Code" size 0x4, align 4. In size 0x10 container
|
||||
public override int MailList => GSaveVersion + 0x110; // Beginning of mail list
|
||||
public override int FontTable => GSaveVersion + 0x46E60; // The forbidden alphabetti soup
|
||||
public override int LatestUniqueId => 0x47420; // Next post index slot
|
||||
}
|
||||
@@ -14,8 +14,10 @@ public sealed class GameStrings : IRemakeString
|
||||
public readonly string[] itemlist;
|
||||
public readonly string[] itemlistdisplay;
|
||||
public readonly string[] villagerDefaultPhrases;
|
||||
public readonly string[] mail;
|
||||
public readonly Dictionary<string, string> VillagerMap;
|
||||
public readonly Dictionary<string, string> VillagerDefaultPhraseMap;
|
||||
public readonly Dictionary<string, string> MailMap;
|
||||
public readonly List<ComboItem> ItemDataSource;
|
||||
public readonly Dictionary<string, string> InternalNameTranslation = [];
|
||||
|
||||
@@ -36,6 +38,8 @@ public GameStrings(string l)
|
||||
itemlist = Get("item");
|
||||
itemlistdisplay = GetItemDisplayList(itemlist);
|
||||
ItemDataSource = CreateItemDataSource(itemlistdisplay);
|
||||
mail = Get("mail");
|
||||
MailMap = GetMap(mail);
|
||||
|
||||
BodyParts = GetDictionary(Get("body_parts"));
|
||||
BodyColor = GetDictionary(Get("body_color"));
|
||||
@@ -116,6 +120,8 @@ public List<ComboItem> CreateItemDataSource(IReadOnlyCollection<KeyValuePair<ush
|
||||
|
||||
public string GetVillagerDefaultPhrase(string name) => VillagerDefaultPhraseMap.GetValueOrDefault(name, name); // I know it shouldn't be `name` but I have to return something
|
||||
|
||||
public string GetMail(string name) => MailMap.GetValueOrDefault(name, name);
|
||||
|
||||
public static string[] GetItemDisplayList(ReadOnlySpan<string> arr)
|
||||
{
|
||||
var items = arr.ToArray();
|
||||
|
||||
@@ -13,6 +13,7 @@ public sealed class DesignPattern(Memory<byte> Raw) : IVillagerOrigin
|
||||
|
||||
public const int SIZE = 0x2A8; // 3 bytes unused at end
|
||||
private const int PersonalOffset = 0x38;
|
||||
private const int UsageCompatibilityOffset = 0x70;
|
||||
private const int PaletteDataStart = 0x78;
|
||||
public const int PaletteColorCount = 15; // y not 16???
|
||||
private const int PaletteColorSize = 3; // R, G, B
|
||||
@@ -66,6 +67,12 @@ public string PlayerName
|
||||
set => StringUtil.GetBytes(value, 10).CopyTo(Data[(PersonalOffset + 0x20)..]);
|
||||
}
|
||||
|
||||
public uint UsageCompatibility
|
||||
{
|
||||
get => ReadUInt32LittleEndian(Data[UsageCompatibilityOffset..]);
|
||||
set => WriteUInt32LittleEndian(Data[UsageCompatibilityOffset..], value);
|
||||
}
|
||||
|
||||
public Span<byte> GetPlayerIdentity() => Data.Slice(PersonalOffset + 0x1C, 4 + 20);
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -14,6 +14,7 @@ public sealed class DesignPatternPRO(Memory<byte> Raw) : IVillagerOrigin
|
||||
public const int SIZE = 0x8A8; // 3 bytes unused at end
|
||||
public const int SheetCount = 4;
|
||||
private const int PersonalOffset = 0x38;
|
||||
private const int UsageCompatibilityOffset = 0x70;
|
||||
private const int PaletteDataStart = 0x78;
|
||||
public const int PaletteColorCount = 15; // y not 16???
|
||||
private const int PaletteColorSize = 3; // R, G, B
|
||||
@@ -67,6 +68,12 @@ public string PlayerName
|
||||
set => StringUtil.GetBytes(value, 10).CopyTo(Data[(PersonalOffset + 0x20)..]);
|
||||
}
|
||||
|
||||
public uint UsageCompatibility
|
||||
{
|
||||
get => ReadUInt32LittleEndian(Data[UsageCompatibilityOffset..]);
|
||||
set => WriteUInt32LittleEndian(Data[UsageCompatibilityOffset..], value);
|
||||
}
|
||||
|
||||
public Span<byte> GetPlayerIdentity() => Data.Slice(PersonalOffset + 0x1C, 4 + 20);
|
||||
|
||||
public void SetPixelAtIndex(int sheet, int index, int value)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
namespace NHSE.Core;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Type of wrapping an <see cref="Item"/> has
|
||||
@@ -12,4 +14,76 @@ public enum ItemWrapping : byte
|
||||
|
||||
// These values are handled with special logic. Only 2 bits are allocated to be stored.
|
||||
Festive = 4,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Provides extended wrapping and box skin information for items.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Contains lookup dictionaries for item wrapping paper colors and delivery box types.
|
||||
/// </remarks>
|
||||
public sealed class ItemWrappingExtended
|
||||
{
|
||||
/// <summary>
|
||||
/// Dictionary mapping wrapping skin identifiers to their corresponding <see cref="WrappingInfo"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Keys are hexadecimal identifiers representing different wrapping paper colors and styles.
|
||||
/// Includes cultural variants (Lucky Red Envelope, Bokjumeoni Pouch, Otoshidama Envelope).
|
||||
/// Can return a string for the skin name, or an index for UI ordering or selection use.
|
||||
/// </remarks>
|
||||
// TODO: Build new string resource: "text_wrappers_xx.txt" and convert WrappingInfo.name to a key to lookup against it for translations.
|
||||
public static readonly Dictionary<int, WrappingInfo> ItemWrappingSkin = new() //
|
||||
{
|
||||
{ 0x00, new("wrap00", 0) },
|
||||
{ 0x02, new("wrap01", 1) },
|
||||
{ 0x01, new("wrap02", 2) },
|
||||
{ 0x05, new("wrap03", 3) },
|
||||
{ 0x09, new("wrap04", 4) },
|
||||
{ 0x0D, new("wrap05", 5) },
|
||||
{ 0x11, new("wrap06", 6) },
|
||||
{ 0x15, new("wrap07", 7) },
|
||||
{ 0x19, new("wrap08", 8) },
|
||||
{ 0x1D, new("wrap09", 9) },
|
||||
{ 0x21, new("wrap10", 10) },
|
||||
{ 0x25, new("wrap11", 11) },
|
||||
{ 0x29, new("wrap12", 12) },
|
||||
{ 0x2D, new("wrap13", 13) },
|
||||
{ 0x31, new("wrap14", 14) },
|
||||
{ 0x35, new("wrap15", 15) },
|
||||
{ 0x39, new("wrap16", 16) },
|
||||
{ 0x3D, new("wrap17", 17) },
|
||||
{ 0x3F, new("wrap18", 18) },
|
||||
{ 0x33, new("wrap19", 19) },
|
||||
{ 0x37, new("wrap20", 20) },
|
||||
{ 0x3B, new("wrap21", 21) },
|
||||
};
|
||||
/// <summary>
|
||||
/// Represents information about a wrapping paper type.
|
||||
/// </summary>
|
||||
/// <param name="name">The display name of the wrapping paper.</param>
|
||||
/// <param name="index">The index used for UI ordering or selection.</param>
|
||||
public record WrappingInfo(string name, int index);
|
||||
|
||||
/// <summary>
|
||||
/// Dictionary mapping box skin identifiers to their corresponding <see cref="BoxInfo"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Keys are hexadecimal identifiers representing different delivery boxes.
|
||||
/// Includes service-specific boxes (Nook Shopping Box, Hotel Box, Paradise Planning Box).
|
||||
/// </remarks>
|
||||
// TODO: Build new string resource: "text_wrappers_xx.txt" and convert WrappingInfo.name to a key to lookup against it for translations.
|
||||
public static readonly Dictionary<int, BoxInfo> ItemBoxSkin = new()
|
||||
{
|
||||
{ 0x00, new("box00", 0) },
|
||||
{ 0x43, new("box01", 1) },
|
||||
{ 0x6B, new("box02", 2) },
|
||||
{ 0x6F, new("box03", 3) },
|
||||
};
|
||||
/// <summary>
|
||||
/// Represents information about a delivery box type.
|
||||
/// </summary>
|
||||
/// <param name="name">The display name of the box type.</param>
|
||||
/// <param name="index">The index used for UI ordering or selection.</param>
|
||||
public record BoxInfo(string name, int index);
|
||||
}
|
||||
220
NHSE.Core/Structures/Mail/Mail.cs
Normal file
220
NHSE.Core/Structures/Mail/Mail.cs
Normal file
@@ -0,0 +1,220 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace NHSE.Core;
|
||||
|
||||
public sealed class Mail
|
||||
{
|
||||
public const int SIZE = 0x3C8;
|
||||
public const int MaxSlots = 299; // zero based (300 slots)
|
||||
|
||||
public const int ReadUnread = 0x0; // 03 = unread, 04 = read
|
||||
public const int LetterFavourited = 0x1; // 00 = not marked fav, 01 = marked fav
|
||||
|
||||
public const int PlayerSenderIslandID = 0x4; // Used if sender is a player
|
||||
public const int PlayerSenderIslandName = 0x8;
|
||||
public const int NPCSenderSpeciesID = 0x4; // Used if sender is a villager or NPC
|
||||
public const int NPCSenderVariantID = 0x5;
|
||||
public const int NPCSenderIslandID = 0x8;
|
||||
public const int NPCSenderIslandName = 0xC;
|
||||
|
||||
public const int SenderID = 0x20; // Sender player identity 4 byte ID or 00000000.. = NPC, 02000000.. = villager
|
||||
public const int SenderName = 0x24; // Usual 20 byte string (10 char)
|
||||
|
||||
public const int SenderType = 0x5C; // 00 = player, 01 = villager, 02 = NPC
|
||||
|
||||
public const int ReceiverIslandID = 0x60; // Receiver island identity
|
||||
public const int ReceiverIslandName = 0x64;
|
||||
public const int ReceiverPlayerID = 0x7C; // Receiver player identity
|
||||
public const int ReceiverPlayerName = 0x80;
|
||||
|
||||
public const int TimeStamp = 0xBC; // Timestamp start
|
||||
|
||||
public const int AttachedItemID = 0xC0; // ID of item attached to mail, FFFE(le) if collected, type used is cleared
|
||||
public const int MailItemWrappingType = 0xC3; // Box type used for mail - cleared when item taken
|
||||
|
||||
public const int MailType01 = 0xC8; // If boxed item only, then = 01 and MailType02 = 00
|
||||
public const int MailType02 = 0xCC; // If letter item, then = 01 and MailType01 = 00
|
||||
|
||||
public const int LetterToLineText = 0xCE; // Max size for text in the to line up top (47 char) weird size
|
||||
public const int LetterToTextLength = 47; // Max renderable, not sure about official limit
|
||||
public const int LetterMessageText = 0x12E; // MSG start
|
||||
public const int LetterMessageTextLength = 239; // Max renderable size is 239 char despite official input UI limit of 168 char
|
||||
public const int LetterMessageTextLengthOfficial = 168;
|
||||
public const int LetterFromLineText = 0x30E; // Max size for text in the from line up top (47 char) weird size
|
||||
public const int LetterFromTextLength = 47; // Max renderable, not sure about official limit
|
||||
|
||||
public const int MailStationerySkin = 0x36E; // Skin code (2 byte le int)
|
||||
|
||||
public const int PostBoxSortIndex = 0x374; // PostBox index/slot 1->300(0->299)[0x0->0x12B] - position in postbox, bottom up
|
||||
|
||||
public const int LanguageString = 0x390; // When sent by a player, shows language flag, like 'en-GB' otherwise not used
|
||||
|
||||
/// <summary>
|
||||
/// Maps NPC sender IDs to their corresponding <see cref="SenderNPCInfo"/> data, including image identifiers, name conversions, and mapping indices.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The dictionary key represents the NPC's unique identifier stored at offset <see cref="NPCSenderSpeciesID"/> in the mail data.
|
||||
/// Each entry contains image asset names, localization keys, and index values for various in-game NPCs and services
|
||||
/// such as Tom Nook, Nook Inc., villagers, and special characters.
|
||||
/// </remarks>
|
||||
public record SenderNPCInfo(string Image, string NameConversion, int MappingIndex);
|
||||
public static readonly Dictionary<int, SenderNPCInfo> SenderNPCData = new()
|
||||
{
|
||||
{ 22, new("rco", "rco", 0) }, // 0x1600 Tom Nook
|
||||
{ 25, new("rco", "npc_nookinc", 1) }, // 0x1900 Nook Inc.
|
||||
{ 40, new("bey", "bey", 2) }, // 0x2800 C.J.
|
||||
{ 41, new("chy", "chy", 3) }, // 0x2900 Flick
|
||||
{ 42, new("pyn", "pyn", 4) }, // 0x2A00 Zipper
|
||||
{ 43, new("fox", "fox", 5) }, // 0x2B00 Redd
|
||||
{ 44, new("alp", "alp", 6) }, // 0x2C00 Reese & Cyrus
|
||||
{ 45, new("gulB", "gulB", 7) }, // 0x2D00 Gullivarrr
|
||||
{ 46, new("tap", "tap", 8) }, // 0x2E00 Luna
|
||||
{ 47, new("pkn", "pkn", 9) }, // 0x2F00 Jack
|
||||
{ 48, new("xct", "xct", 10) }, // 0x3000 Rover
|
||||
{ 50, new("bpt", "bpt", 11) }, // 0x3200 Katrina
|
||||
{ 51, new("slo", "slo", 12) }, // 0x3300 Lief
|
||||
{ 52, new("spn", "spn", 13) }, // 0x3400 Harvey
|
||||
{ 53, new("man", "man", 14) }, // 0x3500 Wardell
|
||||
{ 54, new("OneroomCardboard", "npc_paradiseplanning", 15) }, // 0x3600 Paradise Planning
|
||||
{ 55, new("otg", "otg", 16) }, // 0x3700 Lottie
|
||||
{ 56, new("mnc", "mnc", 17) }, // 0x3800 Niko
|
||||
{ 57, new("kpg", "npc_hotel", 18) }, // 0x3900 Hotel
|
||||
{ 60, new("gul", "gul", 19) }, // 0x3C00 Gulliver
|
||||
{ 61, new("gstA", "gstA", 20) }, // 0x3D00 Wisp
|
||||
{ 62, new("hgc", "hgc", 21) }, // 0x3E00 Label
|
||||
{ 63, new("tkkA", "tkkA", 22) }, // 0x3F00 K.K.
|
||||
{ 64, new("boc", "boc", 23) }, // 0x4000 Daisy Mae
|
||||
{ 65, new("SnowCrystal", "npc_snowboy", 24) }, // 0x4100 Snowboy
|
||||
{ 66, new("bey", "bey", 25) }, // 0x4200 C.J (Duplicate...?)
|
||||
{ 67, new("chy", "chy", 26) }, // 0x4300 Flick (Duplicate...?)
|
||||
{ 68, new("mol", "mol", 27) }, // 0x4400 Resetti
|
||||
{ 80, new("ott", "npc_hha", 28) }, // 0x5000 Happy Home Academy Ranking
|
||||
{ 81, new("Leaf", "npc_nintendo", 29) }, // 0x5100 Nintendo & Happy Home Academy Welcome
|
||||
{ 82, new("MoneyBag010", "npc_bankofnook", 30) }, // 0x5200 Bank of Nook, [island]
|
||||
{ 84, new("Cardboard", "npc_nookshopping", 31) }, // 0x5400 Nook Shopping
|
||||
{ 85, new("PlaneTicket", "npc_nookmileageprogram", 32) }, // 0x5500 Nook Mileage Program
|
||||
{ 86, new("Post", "npc_mom", 33) }, // 0x5600 Mom
|
||||
{ 87, new("dod", "npc_dodoairlines", 34) }, // 0x5700 Dodo Airlines
|
||||
{ 88, new("owl", "npc_thefarwaymuseum", 35) }, // 0x5800 The Farway Museum
|
||||
{ 89, new("Leaf", "npc_nooklinkadmins", 36) } // 0x5900 NookLink Admins
|
||||
};
|
||||
|
||||
public static readonly Dictionary<string, int> BCP47LanguageString = new()
|
||||
{
|
||||
{ "en-US", 0 },
|
||||
{ "en-GB", 1 },
|
||||
{ "ja-JP", 2 },
|
||||
{ "de-DE", 3 },
|
||||
{ "es-ES", 4 },
|
||||
{ "fr-FR", 5 },
|
||||
{ "it-IT", 6 },
|
||||
{ "ko-KR", 7 },
|
||||
{ "zh-CN", 8 },
|
||||
{ "zh-TW", 9 },
|
||||
};
|
||||
|
||||
public static List<string> NPCTypeList = new List<string>
|
||||
{
|
||||
"Player",
|
||||
"Villager",
|
||||
"NPC"
|
||||
};
|
||||
|
||||
public static List<string> MailTypeList = new List<string>
|
||||
{
|
||||
"Boxed Item",
|
||||
"Letter",
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Maps stationery skin IDs to their corresponding <see cref="StationeryInfo"/> data, including the display name and mapping index.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The dictionary key represents the stationery skin code stored at offset <see cref="MailStationerySkin"/> in the mail data.
|
||||
/// Each entry contains the localized card name and an index value for various letter stationery designs
|
||||
/// such as holiday cards, event cards, and special NPC-branded stationery.
|
||||
/// </remarks>
|
||||
public record StationeryInfo(string name, int index);
|
||||
public static readonly Dictionary<int, StationeryInfo> LetterStationerySkin = new()
|
||||
{
|
||||
// Multiple sources on official total count of skins...
|
||||
// 68 total according to most wikis, 64 on others.
|
||||
// 75 according to datamine (including unused(?) T&T logo one)
|
||||
{ 0, new("mail00", 0) },
|
||||
{ 356, new("mail01", 1) },
|
||||
{ 357, new("mail02", 2) },
|
||||
{ 358, new("mail03", 3) },
|
||||
{ 359, new("mail04", 4) },
|
||||
{ 360, new("mail05", 5) },
|
||||
{ 361, new("mail06", 6) },
|
||||
{ 362, new("mail07", 7) },
|
||||
{ 363, new("mail08", 8) },
|
||||
{ 364, new("mail09", 9) },
|
||||
{ 365, new("mail10", 10) },
|
||||
{ 366, new("mail11", 11) },
|
||||
{ 367, new("mail12", 12) },
|
||||
{ 368, new("mail13", 13) },
|
||||
{ 370, new("mail14", 14) },
|
||||
{ 371, new("mail15", 15) },
|
||||
{ 372, new("mail16", 16) },
|
||||
{ 373, new("mail17", 17) },
|
||||
{ 374, new("mail18", 18) },
|
||||
{ 375, new("mail19", 19) },
|
||||
{ 376, new("mail20", 20) },
|
||||
{ 377, new("mail21", 21) },
|
||||
{ 378, new("mail22", 22) },
|
||||
{ 379, new("mail23", 23) },
|
||||
{ 380, new("mail24", 24) },
|
||||
{ 381, new("mail25", 25) },
|
||||
{ 382, new("mail26", 26) },
|
||||
{ 383, new("mail27", 27) },
|
||||
{ 384, new("mail28", 28) },
|
||||
{ 385, new("mail29", 29) },
|
||||
{ 386, new("mail30", 30) },
|
||||
{ 387, new("mail31", 31) },
|
||||
{ 388, new("mail32", 32) },
|
||||
{ 389, new("mail33", 33) },
|
||||
{ 390, new("mail34", 34) },
|
||||
{ 391, new("mail35", 35) },
|
||||
{ 392, new("mail36", 36) },
|
||||
{ 393, new("mail37", 37) },
|
||||
{ 394, new("mail38", 38) },
|
||||
{ 395, new("mail39", 39) },
|
||||
{ 396, new("mail40", 40) },
|
||||
{ 397, new("mail41", 41) },
|
||||
{ 398, new("mail42", 42) },
|
||||
{ 399, new("mail43", 43) },
|
||||
{ 402, new("mail44", 44) },
|
||||
{ 403, new("mail45", 45) },
|
||||
{ 404, new("mail46", 46) },
|
||||
{ 405, new("mail47", 47) },
|
||||
{ 406, new("mail48", 48) },
|
||||
{ 407, new("mail49", 49) },
|
||||
{ 408, new("mail50", 50) },
|
||||
{ 409, new("mail51", 51) },
|
||||
{ 410, new("mail52", 52) },
|
||||
{ 411, new("mail53", 53) },
|
||||
{ 412, new("mail54", 54) },
|
||||
{ 413, new("mail55", 55) },
|
||||
{ 414, new("mail56", 56) },
|
||||
{ 416, new("mail57", 57) },
|
||||
{ 427, new("mail58", 58) },
|
||||
{ 428, new("mail59", 59) },
|
||||
{ 429, new("mail60", 60) },
|
||||
{ 430, new("mail61", 61) },
|
||||
{ 431, new("mail62", 62) },
|
||||
{ 432, new("mail63", 63) },
|
||||
{ 433, new("mail64", 64) },
|
||||
{ 434, new("mail65", 65) },
|
||||
{ 435, new("mail66", 66) },
|
||||
{ 437, new("mail67", 67) },
|
||||
{ 438, new("mail68", 68) },
|
||||
{ 439, new("mail69", 69) },
|
||||
{ 440, new("mail70", 70) },
|
||||
{ 443, new("mail71", 71) },
|
||||
{ 444, new("mail72", 72) },
|
||||
{ 445, new("mail73", 73) },
|
||||
{ 448, new("mail74", 74) },
|
||||
};
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public partial class ItemEditor : UserControl
|
||||
|
||||
private bool Loading = true;
|
||||
private bool CanExtend;
|
||||
private bool SupressedMode = false;
|
||||
|
||||
public ItemEditor()
|
||||
{
|
||||
@@ -36,7 +37,7 @@ public ItemEditor()
|
||||
|
||||
private IReadOnlyList<ComboItem> AllItems = [];
|
||||
|
||||
public void Initialize(IReadOnlyList<ComboItem> items, bool canExtend = false)
|
||||
public void Initialize(IReadOnlyList<ComboItem> items, bool canExtend = false, bool supressed = false)
|
||||
{
|
||||
CHK_IsExtension.Visible = CanExtend = canExtend;
|
||||
|
||||
@@ -55,6 +56,8 @@ public void Initialize(IReadOnlyList<ComboItem> items, bool canExtend = false)
|
||||
LoadItem(Item.NO_ITEM);
|
||||
|
||||
AllItems = items;
|
||||
|
||||
SupressedMode = supressed;
|
||||
}
|
||||
|
||||
public Item LoadItem(Item item)
|
||||
@@ -163,6 +166,20 @@ public Item SetItem(Item item)
|
||||
return item;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hides the item wrapping UI controls from the editor for handling via custom UIs.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This method sets the visibility of both the wrapped checkbox (<see cref="CHK_Wrapped"/>)
|
||||
/// and the wrapped options panel (<see cref="FLP_Wrapped"/>) to <see langword="false"/>.
|
||||
/// Use this when wrapping information should not be displayed or edited by the standard controls.
|
||||
/// </remarks>
|
||||
public void SupressWrappedInfo()
|
||||
{
|
||||
CHK_Wrapped.Visible = false;
|
||||
FLP_Wrapped.Visible = false;
|
||||
}
|
||||
|
||||
private Item SetExtensionItem(Item item)
|
||||
{
|
||||
var id = (ushort)WinFormsUtil.GetIndex(CB_ItemID);
|
||||
@@ -210,6 +227,7 @@ private void CB_ItemID_SelectedValueChanged(object sender, EventArgs e)
|
||||
L_RemakeFabric.Text = fabric;
|
||||
L_RemakeFabric.Visible = fabric.Length != 0;
|
||||
}
|
||||
if (SupressedMode) SupressWrappedInfo();
|
||||
}
|
||||
|
||||
private void LoadItemTypeValues(ItemKind k, ushort index)
|
||||
@@ -241,6 +259,8 @@ private void LoadItemTypeValues(ItemKind k, ushort index)
|
||||
|
||||
CHK_Wrapped.Visible = true;
|
||||
FLP_Flag1.Visible = false;
|
||||
|
||||
if (SupressedMode) SupressWrappedInfo();
|
||||
}
|
||||
|
||||
private void ToggleEditorVisibility(ItemKind k, ushort id)
|
||||
|
||||
@@ -14,14 +14,16 @@ public partial class VillagerEditor : UserControl
|
||||
public IVillagerOrigin Origin;
|
||||
private readonly HorizonSave SAV;
|
||||
private int VillagerIndex = -1;
|
||||
private int PlayerIndex = -1;
|
||||
private bool Loading;
|
||||
|
||||
public VillagerEditor(IVillager[] villagers, IVillagerOrigin origin, HorizonSave sav, bool hasHouses)
|
||||
public VillagerEditor(IVillager[] villagers, IVillagerOrigin origin, HorizonSave sav, bool hasHouses, int playerIndex)
|
||||
{
|
||||
InitializeComponent();
|
||||
Villagers = villagers;
|
||||
Origin = origin;
|
||||
SAV = sav;
|
||||
PlayerIndex = playerIndex;
|
||||
LoadVillagers();
|
||||
|
||||
B_EditHouses.Visible = hasHouses;
|
||||
@@ -218,13 +220,10 @@ private void B_EditVillagerRoom_Click(object sender, EventArgs e)
|
||||
|
||||
private void B_EditVillagerDesign_Click(object sender, EventArgs e)
|
||||
{
|
||||
var playerID = SAV.Players[0].Personal.GetPlayerIdentity(); // fetch ID for overwrite ownership
|
||||
var townID = SAV.Players[0].Personal.GetTownIdentity(); // fetch ID for overwrite ownership
|
||||
var player = SAV.Players[PlayerIndex];
|
||||
var v = Villagers[VillagerIndex];
|
||||
DesignPatternPRO[] tmp = [v.Design];
|
||||
using var editor = new PatternEditorPRO(tmp);
|
||||
playerID.CopyTo(tmp[0].Data[0x54..]); // overwrite playerID bytes
|
||||
townID.CopyTo(tmp[0].Data[0x38..]); // overwrite townID bytes
|
||||
using var editor = new PatternEditorPRO(tmp, player);
|
||||
if (editor.ShowDialog() == DialogResult.OK)
|
||||
v.Design = tmp[0];
|
||||
}
|
||||
|
||||
257
NHSE.WinForms/Editor.Designer.cs
generated
257
NHSE.WinForms/Editor.Designer.cs
generated
@@ -51,6 +51,7 @@ private void InitializeComponent()
|
||||
Tab_Map = new System.Windows.Forms.TabPage();
|
||||
B_EditFruitFlower = new System.Windows.Forms.Button();
|
||||
B_EditCampsite = new System.Windows.Forms.Button();
|
||||
B_EditPlayerPostBox = new System.Windows.Forms.ToolStripMenuItem();
|
||||
NUD_WeatherSeed = new System.Windows.Forms.NumericUpDown();
|
||||
L_WeatherSeed = new System.Windows.Forms.Label();
|
||||
B_EditDesignsTailor = new System.Windows.Forms.Button();
|
||||
@@ -136,7 +137,7 @@ private void InitializeComponent()
|
||||
Menu_Editor.Location = new System.Drawing.Point(0, 0);
|
||||
Menu_Editor.Name = "Menu_Editor";
|
||||
Menu_Editor.Padding = new System.Windows.Forms.Padding(7, 2, 0, 2);
|
||||
Menu_Editor.Size = new System.Drawing.Size(471, 25);
|
||||
Menu_Editor.Size = new System.Drawing.Size(471, 24);
|
||||
Menu_Editor.TabIndex = 0;
|
||||
Menu_Editor.Text = "menuStrip1";
|
||||
//
|
||||
@@ -144,14 +145,14 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_File.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { Menu_Save });
|
||||
Menu_File.Name = "Menu_File";
|
||||
Menu_File.Size = new System.Drawing.Size(39, 21);
|
||||
Menu_File.Size = new System.Drawing.Size(37, 20);
|
||||
Menu_File.Text = "File";
|
||||
//
|
||||
// Menu_Save
|
||||
//
|
||||
Menu_Save.Name = "Menu_Save";
|
||||
Menu_Save.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S;
|
||||
Menu_Save.Size = new System.Drawing.Size(147, 22);
|
||||
Menu_Save.Size = new System.Drawing.Size(138, 22);
|
||||
Menu_Save.Text = "Save";
|
||||
Menu_Save.Click += Menu_Save_Click;
|
||||
//
|
||||
@@ -159,14 +160,14 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_Tools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { Menu_DumpDecrypted, Menu_VerifyHashes, Menu_LoadDecrypted, Menu_RAMEdit, Menu_ItemImages });
|
||||
Menu_Tools.Name = "Menu_Tools";
|
||||
Menu_Tools.Size = new System.Drawing.Size(51, 21);
|
||||
Menu_Tools.Size = new System.Drawing.Size(47, 20);
|
||||
Menu_Tools.Text = "Tools";
|
||||
//
|
||||
// Menu_DumpDecrypted
|
||||
//
|
||||
Menu_DumpDecrypted.Name = "Menu_DumpDecrypted";
|
||||
Menu_DumpDecrypted.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D;
|
||||
Menu_DumpDecrypted.Size = new System.Drawing.Size(221, 22);
|
||||
Menu_DumpDecrypted.Size = new System.Drawing.Size(206, 22);
|
||||
Menu_DumpDecrypted.Text = "Dump Decrypted";
|
||||
Menu_DumpDecrypted.Click += Menu_DumpDecrypted_Click;
|
||||
//
|
||||
@@ -174,7 +175,7 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_VerifyHashes.Name = "Menu_VerifyHashes";
|
||||
Menu_VerifyHashes.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H;
|
||||
Menu_VerifyHashes.Size = new System.Drawing.Size(221, 22);
|
||||
Menu_VerifyHashes.Size = new System.Drawing.Size(206, 22);
|
||||
Menu_VerifyHashes.Text = "Verify Hashes";
|
||||
Menu_VerifyHashes.Click += Menu_VerifyHashes_Click;
|
||||
//
|
||||
@@ -182,7 +183,7 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_LoadDecrypted.Name = "Menu_LoadDecrypted";
|
||||
Menu_LoadDecrypted.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.L;
|
||||
Menu_LoadDecrypted.Size = new System.Drawing.Size(221, 22);
|
||||
Menu_LoadDecrypted.Size = new System.Drawing.Size(206, 22);
|
||||
Menu_LoadDecrypted.Text = "Load Decrypted";
|
||||
Menu_LoadDecrypted.Click += Menu_LoadDecrypted_Click;
|
||||
//
|
||||
@@ -190,7 +191,7 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_RAMEdit.Name = "Menu_RAMEdit";
|
||||
Menu_RAMEdit.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R;
|
||||
Menu_RAMEdit.Size = new System.Drawing.Size(221, 22);
|
||||
Menu_RAMEdit.Size = new System.Drawing.Size(206, 22);
|
||||
Menu_RAMEdit.Text = "RAM Edit";
|
||||
Menu_RAMEdit.Click += Menu_RAMEdit_Click;
|
||||
//
|
||||
@@ -198,7 +199,7 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_ItemImages.Name = "Menu_ItemImages";
|
||||
Menu_ItemImages.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.M;
|
||||
Menu_ItemImages.Size = new System.Drawing.Size(221, 22);
|
||||
Menu_ItemImages.Size = new System.Drawing.Size(206, 22);
|
||||
Menu_ItemImages.Text = "Item Images";
|
||||
Menu_ItemImages.Click += Menu_ItemImages_Click;
|
||||
//
|
||||
@@ -206,7 +207,7 @@ private void InitializeComponent()
|
||||
//
|
||||
Menu_Options.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { Menu_Language, Menu_Theme, Menu_Settings });
|
||||
Menu_Options.Name = "Menu_Options";
|
||||
Menu_Options.Size = new System.Drawing.Size(66, 21);
|
||||
Menu_Options.Size = new System.Drawing.Size(61, 20);
|
||||
Menu_Options.Text = "Options";
|
||||
//
|
||||
// Menu_Language
|
||||
@@ -214,7 +215,7 @@ private void InitializeComponent()
|
||||
Menu_Language.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
Menu_Language.Items.AddRange(new object[] { "English", "日本語", "Deutsch", "Español", "Français", "Italiano", "한국어", "简体中文", "繁體中文" });
|
||||
Menu_Language.Name = "Menu_Language";
|
||||
Menu_Language.Size = new System.Drawing.Size(115, 25);
|
||||
Menu_Language.Size = new System.Drawing.Size(115, 23);
|
||||
Menu_Language.SelectedIndexChanged += Menu_Language_SelectedIndexChanged;
|
||||
//
|
||||
// Menu_Theme
|
||||
@@ -227,21 +228,21 @@ private void InitializeComponent()
|
||||
// Menu_Theme_System
|
||||
//
|
||||
Menu_Theme_System.Name = "Menu_Theme_System";
|
||||
Menu_Theme_System.Size = new System.Drawing.Size(160, 22);
|
||||
Menu_Theme_System.Size = new System.Drawing.Size(152, 22);
|
||||
Menu_Theme_System.Text = "System Theme";
|
||||
Menu_Theme_System.Click += Menu_Theme_System_Click;
|
||||
//
|
||||
// Menu_Theme_Classic
|
||||
//
|
||||
Menu_Theme_Classic.Name = "Menu_Theme_Classic";
|
||||
Menu_Theme_Classic.Size = new System.Drawing.Size(160, 22);
|
||||
Menu_Theme_Classic.Size = new System.Drawing.Size(152, 22);
|
||||
Menu_Theme_Classic.Text = "Light (Classic)";
|
||||
Menu_Theme_Classic.Click += Menu_Theme_Classic_Click;
|
||||
//
|
||||
// Menu_Theme_Dark
|
||||
//
|
||||
Menu_Theme_Dark.Name = "Menu_Theme_Dark";
|
||||
Menu_Theme_Dark.Size = new System.Drawing.Size(160, 22);
|
||||
Menu_Theme_Dark.Size = new System.Drawing.Size(152, 22);
|
||||
Menu_Theme_Dark.Text = "Dark";
|
||||
Menu_Theme_Dark.Click += Menu_Theme_Dark_Click;
|
||||
//
|
||||
@@ -259,12 +260,12 @@ private void InitializeComponent()
|
||||
CM_Picture.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { Menu_SavePNG });
|
||||
CM_Picture.Name = "CM_Picture";
|
||||
CM_Picture.ShowImageMargin = false;
|
||||
CM_Picture.Size = new System.Drawing.Size(109, 26);
|
||||
CM_Picture.Size = new System.Drawing.Size(101, 26);
|
||||
//
|
||||
// Menu_SavePNG
|
||||
//
|
||||
Menu_SavePNG.Name = "Menu_SavePNG";
|
||||
Menu_SavePNG.Size = new System.Drawing.Size(108, 22);
|
||||
Menu_SavePNG.Size = new System.Drawing.Size(100, 22);
|
||||
Menu_SavePNG.Text = "Save .png";
|
||||
Menu_SavePNG.Click += Menu_SavePNG_Click;
|
||||
//
|
||||
@@ -286,11 +287,11 @@ private void InitializeComponent()
|
||||
Tab_Map.Controls.Add(B_EditPatterns);
|
||||
Tab_Map.Controls.Add(B_EditTurnipExchange);
|
||||
Tab_Map.Controls.Add(B_RecycleBin);
|
||||
Tab_Map.Location = new System.Drawing.Point(4, 36);
|
||||
Tab_Map.Location = new System.Drawing.Point(4, 34);
|
||||
Tab_Map.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
Tab_Map.Name = "Tab_Map";
|
||||
Tab_Map.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
Tab_Map.Size = new System.Drawing.Size(463, 342);
|
||||
Tab_Map.Size = new System.Drawing.Size(463, 297);
|
||||
Tab_Map.TabIndex = 2;
|
||||
Tab_Map.Text = "Map";
|
||||
Tab_Map.UseVisualStyleBackColor = true;
|
||||
@@ -298,10 +299,10 @@ private void InitializeComponent()
|
||||
// B_EditFruitFlower
|
||||
//
|
||||
B_EditFruitFlower.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_EditFruitFlower.Location = new System.Drawing.Point(236, 270);
|
||||
B_EditFruitFlower.Location = new System.Drawing.Point(236, 236);
|
||||
B_EditFruitFlower.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditFruitFlower.Name = "B_EditFruitFlower";
|
||||
B_EditFruitFlower.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditFruitFlower.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditFruitFlower.TabIndex = 67;
|
||||
B_EditFruitFlower.Text = "Edit Island Fruits + Flowers";
|
||||
B_EditFruitFlower.UseVisualStyleBackColor = true;
|
||||
@@ -310,10 +311,10 @@ private void InitializeComponent()
|
||||
// B_EditCampsite
|
||||
//
|
||||
B_EditCampsite.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_EditCampsite.Location = new System.Drawing.Point(121, 270);
|
||||
B_EditCampsite.Location = new System.Drawing.Point(121, 236);
|
||||
B_EditCampsite.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditCampsite.Name = "B_EditCampsite";
|
||||
B_EditCampsite.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditCampsite.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditCampsite.TabIndex = 66;
|
||||
B_EditCampsite.Text = "Edit Campsite";
|
||||
B_EditCampsite.UseVisualStyleBackColor = true;
|
||||
@@ -322,7 +323,7 @@ private void InitializeComponent()
|
||||
// NUD_WeatherSeed
|
||||
//
|
||||
NUD_WeatherSeed.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0);
|
||||
NUD_WeatherSeed.Location = new System.Drawing.Point(236, 77);
|
||||
NUD_WeatherSeed.Location = new System.Drawing.Point(236, 68);
|
||||
NUD_WeatherSeed.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_WeatherSeed.Maximum = new decimal(new int[] { -1, 0, 0, 0 });
|
||||
NUD_WeatherSeed.Name = "NUD_WeatherSeed";
|
||||
@@ -333,19 +334,19 @@ private void InitializeComponent()
|
||||
// L_WeatherSeed
|
||||
//
|
||||
L_WeatherSeed.AutoSize = true;
|
||||
L_WeatherSeed.Location = new System.Drawing.Point(351, 79);
|
||||
L_WeatherSeed.Location = new System.Drawing.Point(351, 70);
|
||||
L_WeatherSeed.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_WeatherSeed.Name = "L_WeatherSeed";
|
||||
L_WeatherSeed.Size = new System.Drawing.Size(89, 17);
|
||||
L_WeatherSeed.Size = new System.Drawing.Size(79, 15);
|
||||
L_WeatherSeed.TabIndex = 64;
|
||||
L_WeatherSeed.Text = "Weather Seed";
|
||||
//
|
||||
// B_EditDesignsTailor
|
||||
//
|
||||
B_EditDesignsTailor.Location = new System.Drawing.Point(350, 128);
|
||||
B_EditDesignsTailor.Location = new System.Drawing.Point(350, 113);
|
||||
B_EditDesignsTailor.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditDesignsTailor.Name = "B_EditDesignsTailor";
|
||||
B_EditDesignsTailor.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditDesignsTailor.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditDesignsTailor.TabIndex = 63;
|
||||
B_EditDesignsTailor.Text = "Edit Tailor Designs";
|
||||
B_EditDesignsTailor.UseVisualStyleBackColor = true;
|
||||
@@ -353,10 +354,10 @@ private void InitializeComponent()
|
||||
//
|
||||
// B_EditPatternFlag
|
||||
//
|
||||
B_EditPatternFlag.Location = new System.Drawing.Point(236, 128);
|
||||
B_EditPatternFlag.Location = new System.Drawing.Point(236, 113);
|
||||
B_EditPatternFlag.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditPatternFlag.Name = "B_EditPatternFlag";
|
||||
B_EditPatternFlag.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditPatternFlag.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditPatternFlag.TabIndex = 62;
|
||||
B_EditPatternFlag.Text = "Edit Flag Design";
|
||||
B_EditPatternFlag.UseVisualStyleBackColor = true;
|
||||
@@ -366,29 +367,29 @@ private void InitializeComponent()
|
||||
//
|
||||
CB_AirportColor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
CB_AirportColor.FormattingEnabled = true;
|
||||
CB_AirportColor.Location = new System.Drawing.Point(236, 42);
|
||||
CB_AirportColor.Location = new System.Drawing.Point(236, 37);
|
||||
CB_AirportColor.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CB_AirportColor.Name = "CB_AirportColor";
|
||||
CB_AirportColor.Size = new System.Drawing.Size(107, 25);
|
||||
CB_AirportColor.Size = new System.Drawing.Size(107, 23);
|
||||
CB_AirportColor.TabIndex = 61;
|
||||
//
|
||||
// L_AirportColor
|
||||
//
|
||||
L_AirportColor.AutoSize = true;
|
||||
L_AirportColor.Location = new System.Drawing.Point(350, 45);
|
||||
L_AirportColor.Location = new System.Drawing.Point(350, 40);
|
||||
L_AirportColor.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_AirportColor.Name = "L_AirportColor";
|
||||
L_AirportColor.Size = new System.Drawing.Size(85, 17);
|
||||
L_AirportColor.Size = new System.Drawing.Size(76, 15);
|
||||
L_AirportColor.TabIndex = 60;
|
||||
L_AirportColor.Text = "Airport Color";
|
||||
//
|
||||
// L_Hemisphere
|
||||
//
|
||||
L_Hemisphere.AutoSize = true;
|
||||
L_Hemisphere.Location = new System.Drawing.Point(350, 11);
|
||||
L_Hemisphere.Location = new System.Drawing.Point(350, 10);
|
||||
L_Hemisphere.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Hemisphere.Name = "L_Hemisphere";
|
||||
L_Hemisphere.Size = new System.Drawing.Size(78, 17);
|
||||
L_Hemisphere.Size = new System.Drawing.Size(71, 15);
|
||||
L_Hemisphere.TabIndex = 58;
|
||||
L_Hemisphere.Text = "Hemisphere";
|
||||
//
|
||||
@@ -396,19 +397,19 @@ private void InitializeComponent()
|
||||
//
|
||||
CB_Hemisphere.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
CB_Hemisphere.FormattingEnabled = true;
|
||||
CB_Hemisphere.Location = new System.Drawing.Point(236, 8);
|
||||
CB_Hemisphere.Location = new System.Drawing.Point(236, 7);
|
||||
CB_Hemisphere.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CB_Hemisphere.Name = "CB_Hemisphere";
|
||||
CB_Hemisphere.Size = new System.Drawing.Size(107, 25);
|
||||
CB_Hemisphere.Size = new System.Drawing.Size(107, 23);
|
||||
CB_Hemisphere.TabIndex = 57;
|
||||
//
|
||||
// B_EditPlayerHouses
|
||||
//
|
||||
B_EditPlayerHouses.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_EditPlayerHouses.Location = new System.Drawing.Point(7, 270);
|
||||
B_EditPlayerHouses.Location = new System.Drawing.Point(7, 236);
|
||||
B_EditPlayerHouses.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditPlayerHouses.Name = "B_EditPlayerHouses";
|
||||
B_EditPlayerHouses.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditPlayerHouses.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditPlayerHouses.TabIndex = 56;
|
||||
B_EditPlayerHouses.Text = "Edit Player Houses";
|
||||
B_EditPlayerHouses.UseVisualStyleBackColor = true;
|
||||
@@ -418,10 +419,10 @@ private void InitializeComponent()
|
||||
//
|
||||
B_EditMap.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_EditMap.ContextMenuStrip = CM_EditMap;
|
||||
B_EditMap.Location = new System.Drawing.Point(350, 270);
|
||||
B_EditMap.Location = new System.Drawing.Point(350, 236);
|
||||
B_EditMap.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditMap.Name = "B_EditMap";
|
||||
B_EditMap.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditMap.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditMap.TabIndex = 2;
|
||||
B_EditMap.Text = "Edit Map...";
|
||||
B_EditMap.UseVisualStyleBackColor = true;
|
||||
@@ -432,49 +433,49 @@ private void InitializeComponent()
|
||||
CM_EditMap.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
CM_EditMap.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { B_EditLandFlags, B_EditFieldItems, B_EditBulletin, B_EditMuseum_Click, B_EditVisitors });
|
||||
CM_EditMap.Name = "CM_EditMap";
|
||||
CM_EditMap.Size = new System.Drawing.Size(183, 114);
|
||||
CM_EditMap.Size = new System.Drawing.Size(172, 114);
|
||||
//
|
||||
// B_EditLandFlags
|
||||
//
|
||||
B_EditLandFlags.Name = "B_EditLandFlags";
|
||||
B_EditLandFlags.Size = new System.Drawing.Size(182, 22);
|
||||
B_EditLandFlags.Size = new System.Drawing.Size(171, 22);
|
||||
B_EditLandFlags.Text = "Edit Flags";
|
||||
B_EditLandFlags.Click += B_EditLandFlags_Click;
|
||||
//
|
||||
// B_EditFieldItems
|
||||
//
|
||||
B_EditFieldItems.Name = "B_EditFieldItems";
|
||||
B_EditFieldItems.Size = new System.Drawing.Size(182, 22);
|
||||
B_EditFieldItems.Size = new System.Drawing.Size(171, 22);
|
||||
B_EditFieldItems.Text = "Edit Field Items";
|
||||
B_EditFieldItems.Click += B_EditFieldItems_Click;
|
||||
//
|
||||
// B_EditBulletin
|
||||
//
|
||||
B_EditBulletin.Name = "B_EditBulletin";
|
||||
B_EditBulletin.Size = new System.Drawing.Size(182, 22);
|
||||
B_EditBulletin.Size = new System.Drawing.Size(171, 22);
|
||||
B_EditBulletin.Text = "Edit Bulletin Board";
|
||||
B_EditBulletin.Click += B_EditBulletin_Click;
|
||||
//
|
||||
// B_EditMuseum_Click
|
||||
//
|
||||
B_EditMuseum_Click.Name = "B_EditMuseum_Click";
|
||||
B_EditMuseum_Click.Size = new System.Drawing.Size(182, 22);
|
||||
B_EditMuseum_Click.Size = new System.Drawing.Size(171, 22);
|
||||
B_EditMuseum_Click.Text = "Edit Museum";
|
||||
B_EditMuseum_Click.Click += B_EditMuseum_Click_Click;
|
||||
//
|
||||
// B_EditVisitors
|
||||
//
|
||||
B_EditVisitors.Name = "B_EditVisitors";
|
||||
B_EditVisitors.Size = new System.Drawing.Size(182, 22);
|
||||
B_EditVisitors.Size = new System.Drawing.Size(171, 22);
|
||||
B_EditVisitors.Text = "Edit Visitors";
|
||||
B_EditVisitors.Click += B_EditVisitors_Click;
|
||||
//
|
||||
// B_EditPRODesigns
|
||||
//
|
||||
B_EditPRODesigns.Location = new System.Drawing.Point(121, 128);
|
||||
B_EditPRODesigns.Location = new System.Drawing.Point(121, 113);
|
||||
B_EditPRODesigns.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditPRODesigns.Name = "B_EditPRODesigns";
|
||||
B_EditPRODesigns.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditPRODesigns.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditPRODesigns.TabIndex = 55;
|
||||
B_EditPRODesigns.Text = "Edit PRO Designs";
|
||||
B_EditPRODesigns.UseVisualStyleBackColor = true;
|
||||
@@ -482,10 +483,10 @@ private void InitializeComponent()
|
||||
//
|
||||
// B_EditPatterns
|
||||
//
|
||||
B_EditPatterns.Location = new System.Drawing.Point(7, 128);
|
||||
B_EditPatterns.Location = new System.Drawing.Point(7, 113);
|
||||
B_EditPatterns.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditPatterns.Name = "B_EditPatterns";
|
||||
B_EditPatterns.Size = new System.Drawing.Size(107, 64);
|
||||
B_EditPatterns.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditPatterns.TabIndex = 54;
|
||||
B_EditPatterns.Text = "Edit Patterns";
|
||||
B_EditPatterns.UseVisualStyleBackColor = true;
|
||||
@@ -493,10 +494,10 @@ private void InitializeComponent()
|
||||
//
|
||||
// B_EditTurnipExchange
|
||||
//
|
||||
B_EditTurnipExchange.Location = new System.Drawing.Point(7, 8);
|
||||
B_EditTurnipExchange.Location = new System.Drawing.Point(7, 7);
|
||||
B_EditTurnipExchange.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditTurnipExchange.Name = "B_EditTurnipExchange";
|
||||
B_EditTurnipExchange.Size = new System.Drawing.Size(107, 52);
|
||||
B_EditTurnipExchange.Size = new System.Drawing.Size(107, 46);
|
||||
B_EditTurnipExchange.TabIndex = 15;
|
||||
B_EditTurnipExchange.Text = "Edit Turnip Exchange";
|
||||
B_EditTurnipExchange.UseVisualStyleBackColor = true;
|
||||
@@ -504,10 +505,10 @@ private void InitializeComponent()
|
||||
//
|
||||
// B_RecycleBin
|
||||
//
|
||||
B_RecycleBin.Location = new System.Drawing.Point(7, 68);
|
||||
B_RecycleBin.Location = new System.Drawing.Point(7, 60);
|
||||
B_RecycleBin.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_RecycleBin.Name = "B_RecycleBin";
|
||||
B_RecycleBin.Size = new System.Drawing.Size(107, 52);
|
||||
B_RecycleBin.Size = new System.Drawing.Size(107, 46);
|
||||
B_RecycleBin.TabIndex = 13;
|
||||
B_RecycleBin.Text = "Edit Recycle Bin";
|
||||
B_RecycleBin.UseVisualStyleBackColor = true;
|
||||
@@ -515,11 +516,11 @@ private void InitializeComponent()
|
||||
//
|
||||
// Tab_Villagers
|
||||
//
|
||||
Tab_Villagers.Location = new System.Drawing.Point(4, 36);
|
||||
Tab_Villagers.Location = new System.Drawing.Point(4, 34);
|
||||
Tab_Villagers.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
Tab_Villagers.Name = "Tab_Villagers";
|
||||
Tab_Villagers.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
Tab_Villagers.Size = new System.Drawing.Size(463, 342);
|
||||
Tab_Villagers.Size = new System.Drawing.Size(463, 299);
|
||||
Tab_Villagers.TabIndex = 0;
|
||||
Tab_Villagers.Text = "Villagers";
|
||||
Tab_Villagers.UseVisualStyleBackColor = true;
|
||||
@@ -552,100 +553,107 @@ private void InitializeComponent()
|
||||
Tab_Players.Controls.Add(L_PlayerName);
|
||||
Tab_Players.Controls.Add(CB_Players);
|
||||
Tab_Players.Controls.Add(PB_Player);
|
||||
Tab_Players.Location = new System.Drawing.Point(4, 36);
|
||||
Tab_Players.Location = new System.Drawing.Point(4, 34);
|
||||
Tab_Players.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
Tab_Players.Name = "Tab_Players";
|
||||
Tab_Players.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
Tab_Players.Size = new System.Drawing.Size(463, 342);
|
||||
Tab_Players.Size = new System.Drawing.Size(463, 297);
|
||||
Tab_Players.TabIndex = 1;
|
||||
Tab_Players.Text = "Players";
|
||||
Tab_Players.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// B_EditPostBox
|
||||
//
|
||||
B_EditPlayerPostBox.Name = "B_EditPlayerPostBox";
|
||||
B_EditPlayerPostBox.Size = new System.Drawing.Size(107, 56);
|
||||
B_EditPlayerPostBox.Text = "Edit Post Box";
|
||||
B_EditPlayerPostBox.Click += B_EditPlayerPostBox_Click;
|
||||
//
|
||||
// L_HotelTickets
|
||||
//
|
||||
L_HotelTickets.Location = new System.Drawing.Point(166, 309);
|
||||
L_HotelTickets.Location = new System.Drawing.Point(166, 273);
|
||||
L_HotelTickets.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_HotelTickets.Name = "L_HotelTickets";
|
||||
L_HotelTickets.Size = new System.Drawing.Size(98, 26);
|
||||
L_HotelTickets.Size = new System.Drawing.Size(98, 23);
|
||||
L_HotelTickets.TabIndex = 30;
|
||||
L_HotelTickets.Text = "Hotel Tickets:";
|
||||
L_HotelTickets.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_HotelTickets
|
||||
//
|
||||
NUD_HotelTickets.Location = new System.Drawing.Point(271, 309);
|
||||
NUD_HotelTickets.Location = new System.Drawing.Point(271, 273);
|
||||
NUD_HotelTickets.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_HotelTickets.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_HotelTickets.Name = "NUD_HotelTickets";
|
||||
NUD_HotelTickets.Size = new System.Drawing.Size(117, 25);
|
||||
NUD_HotelTickets.Size = new System.Drawing.Size(117, 23);
|
||||
NUD_HotelTickets.TabIndex = 29;
|
||||
//
|
||||
// L_Poki
|
||||
//
|
||||
L_Poki.Location = new System.Drawing.Point(166, 278);
|
||||
L_Poki.Location = new System.Drawing.Point(166, 245);
|
||||
L_Poki.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Poki.Name = "L_Poki";
|
||||
L_Poki.Size = new System.Drawing.Size(98, 26);
|
||||
L_Poki.Size = new System.Drawing.Size(98, 23);
|
||||
L_Poki.TabIndex = 28;
|
||||
L_Poki.Text = "Poki:";
|
||||
L_Poki.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_Poki
|
||||
//
|
||||
NUD_Poki.Location = new System.Drawing.Point(271, 278);
|
||||
NUD_Poki.Location = new System.Drawing.Point(271, 245);
|
||||
NUD_Poki.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_Poki.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_Poki.Name = "NUD_Poki";
|
||||
NUD_Poki.Size = new System.Drawing.Size(117, 25);
|
||||
NUD_Poki.Size = new System.Drawing.Size(117, 23);
|
||||
NUD_Poki.TabIndex = 27;
|
||||
//
|
||||
// L_EarnedMiles
|
||||
//
|
||||
L_EarnedMiles.Location = new System.Drawing.Point(166, 153);
|
||||
L_EarnedMiles.Location = new System.Drawing.Point(166, 135);
|
||||
L_EarnedMiles.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_EarnedMiles.Name = "L_EarnedMiles";
|
||||
L_EarnedMiles.Size = new System.Drawing.Size(98, 26);
|
||||
L_EarnedMiles.Size = new System.Drawing.Size(98, 23);
|
||||
L_EarnedMiles.TabIndex = 26;
|
||||
L_EarnedMiles.Text = "Earned Miles:";
|
||||
L_EarnedMiles.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_TotalNookMiles
|
||||
//
|
||||
NUD_TotalNookMiles.Location = new System.Drawing.Point(271, 153);
|
||||
NUD_TotalNookMiles.Location = new System.Drawing.Point(271, 135);
|
||||
NUD_TotalNookMiles.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_TotalNookMiles.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_TotalNookMiles.Name = "NUD_TotalNookMiles";
|
||||
NUD_TotalNookMiles.Size = new System.Drawing.Size(117, 25);
|
||||
NUD_TotalNookMiles.Size = new System.Drawing.Size(117, 23);
|
||||
NUD_TotalNookMiles.TabIndex = 25;
|
||||
//
|
||||
// L_StorageCount
|
||||
//
|
||||
L_StorageCount.AutoSize = true;
|
||||
L_StorageCount.Location = new System.Drawing.Point(233, 189);
|
||||
L_StorageCount.Location = new System.Drawing.Point(233, 167);
|
||||
L_StorageCount.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_StorageCount.Name = "L_StorageCount";
|
||||
L_StorageCount.Size = new System.Drawing.Size(92, 17);
|
||||
L_StorageCount.Size = new System.Drawing.Size(83, 15);
|
||||
L_StorageCount.TabIndex = 24;
|
||||
L_StorageCount.Text = "Storage Count";
|
||||
L_StorageCount.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// NUD_StorageCount
|
||||
//
|
||||
NUD_StorageCount.Location = new System.Drawing.Point(176, 186);
|
||||
NUD_StorageCount.Location = new System.Drawing.Point(176, 164);
|
||||
NUD_StorageCount.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_StorageCount.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_StorageCount.Name = "NUD_StorageCount";
|
||||
NUD_StorageCount.Size = new System.Drawing.Size(54, 25);
|
||||
NUD_StorageCount.Size = new System.Drawing.Size(54, 23);
|
||||
NUD_StorageCount.TabIndex = 23;
|
||||
NUD_StorageCount.Value = new decimal(new int[] { 5000, 0, 0, 0 });
|
||||
//
|
||||
// L_PocketCount2
|
||||
//
|
||||
L_PocketCount2.AutoSize = true;
|
||||
L_PocketCount2.Location = new System.Drawing.Point(233, 252);
|
||||
L_PocketCount2.Location = new System.Drawing.Point(233, 222);
|
||||
L_PocketCount2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_PocketCount2.Name = "L_PocketCount2";
|
||||
L_PocketCount2.Size = new System.Drawing.Size(95, 17);
|
||||
L_PocketCount2.Size = new System.Drawing.Size(88, 15);
|
||||
L_PocketCount2.TabIndex = 22;
|
||||
L_PocketCount2.Text = "Pocket Count 2";
|
||||
L_PocketCount2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
@@ -653,32 +661,32 @@ private void InitializeComponent()
|
||||
// L_PocketCount1
|
||||
//
|
||||
L_PocketCount1.AutoSize = true;
|
||||
L_PocketCount1.Location = new System.Drawing.Point(233, 223);
|
||||
L_PocketCount1.Location = new System.Drawing.Point(233, 197);
|
||||
L_PocketCount1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_PocketCount1.Name = "L_PocketCount1";
|
||||
L_PocketCount1.Size = new System.Drawing.Size(95, 17);
|
||||
L_PocketCount1.Size = new System.Drawing.Size(88, 15);
|
||||
L_PocketCount1.TabIndex = 21;
|
||||
L_PocketCount1.Text = "Pocket Count 1";
|
||||
L_PocketCount1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// NUD_PocketCount2
|
||||
//
|
||||
NUD_PocketCount2.Location = new System.Drawing.Point(176, 247);
|
||||
NUD_PocketCount2.Location = new System.Drawing.Point(176, 218);
|
||||
NUD_PocketCount2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_PocketCount2.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_PocketCount2.Name = "NUD_PocketCount2";
|
||||
NUD_PocketCount2.Size = new System.Drawing.Size(54, 25);
|
||||
NUD_PocketCount2.Size = new System.Drawing.Size(54, 23);
|
||||
NUD_PocketCount2.TabIndex = 20;
|
||||
NUD_PocketCount2.Value = new decimal(new int[] { 20, 0, 0, 0 });
|
||||
NUD_PocketCount2.ValueChanged += NUD_PocketCount_ValueChanged;
|
||||
//
|
||||
// NUD_PocketCount1
|
||||
//
|
||||
NUD_PocketCount1.Location = new System.Drawing.Point(176, 220);
|
||||
NUD_PocketCount1.Location = new System.Drawing.Point(176, 194);
|
||||
NUD_PocketCount1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_PocketCount1.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_PocketCount1.Name = "NUD_PocketCount1";
|
||||
NUD_PocketCount1.Size = new System.Drawing.Size(54, 25);
|
||||
NUD_PocketCount1.Size = new System.Drawing.Size(54, 23);
|
||||
NUD_PocketCount1.TabIndex = 19;
|
||||
NUD_PocketCount1.Value = new decimal(new int[] { 20, 0, 0, 0 });
|
||||
NUD_PocketCount1.ValueChanged += NUD_PocketCount_ValueChanged;
|
||||
@@ -686,10 +694,10 @@ private void InitializeComponent()
|
||||
// B_EditPlayer
|
||||
//
|
||||
B_EditPlayer.ContextMenuStrip = CM_EditPlayer;
|
||||
B_EditPlayer.Location = new System.Drawing.Point(7, 280);
|
||||
B_EditPlayer.Location = new System.Drawing.Point(7, 247);
|
||||
B_EditPlayer.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditPlayer.Name = "B_EditPlayer";
|
||||
B_EditPlayer.Size = new System.Drawing.Size(152, 52);
|
||||
B_EditPlayer.Size = new System.Drawing.Size(152, 46);
|
||||
B_EditPlayer.TabIndex = 18;
|
||||
B_EditPlayer.Text = "Edit Player...";
|
||||
B_EditPlayer.UseVisualStyleBackColor = true;
|
||||
@@ -698,65 +706,65 @@ private void InitializeComponent()
|
||||
// CM_EditPlayer
|
||||
//
|
||||
CM_EditPlayer.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
CM_EditPlayer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { B_EditPlayerStorage, B_EditPlayerReceivedItems, B_EditAchievements, B_EditPlayerRecipes, B_EditPlayerFlags, B_EditPlayerReactions, B_EditPlayerMisc });
|
||||
CM_EditPlayer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { B_EditPlayerStorage, B_EditPlayerReceivedItems, B_EditAchievements, B_EditPlayerRecipes, B_EditPlayerPostBox, B_EditPlayerFlags, B_EditPlayerReactions, B_EditPlayerMisc });
|
||||
CM_EditPlayer.Name = "CM_EditPlayer";
|
||||
CM_EditPlayer.Size = new System.Drawing.Size(190, 158);
|
||||
CM_EditPlayer.Size = new System.Drawing.Size(177, 158);
|
||||
//
|
||||
// B_EditPlayerStorage
|
||||
//
|
||||
B_EditPlayerStorage.Name = "B_EditPlayerStorage";
|
||||
B_EditPlayerStorage.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditPlayerStorage.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditPlayerStorage.Text = "Edit Storage";
|
||||
B_EditPlayerStorage.Click += B_Storage_Click;
|
||||
//
|
||||
// B_EditPlayerReceivedItems
|
||||
//
|
||||
B_EditPlayerReceivedItems.Name = "B_EditPlayerReceivedItems";
|
||||
B_EditPlayerReceivedItems.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditPlayerReceivedItems.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditPlayerReceivedItems.Text = "Edit Received Items";
|
||||
B_EditPlayerReceivedItems.Click += B_EditPlayerReceivedItems_Click;
|
||||
//
|
||||
// B_EditAchievements
|
||||
//
|
||||
B_EditAchievements.Name = "B_EditAchievements";
|
||||
B_EditAchievements.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditAchievements.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditAchievements.Text = "Edit Achievements";
|
||||
B_EditAchievements.Click += B_EditAchievements_Click;
|
||||
//
|
||||
// B_EditPlayerRecipes
|
||||
//
|
||||
B_EditPlayerRecipes.Name = "B_EditPlayerRecipes";
|
||||
B_EditPlayerRecipes.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditPlayerRecipes.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditPlayerRecipes.Text = "Edit Recipes";
|
||||
B_EditPlayerRecipes.Click += B_EditPlayerRecipes_Click;
|
||||
//
|
||||
// B_EditPlayerFlags
|
||||
//
|
||||
B_EditPlayerFlags.Name = "B_EditPlayerFlags";
|
||||
B_EditPlayerFlags.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditPlayerFlags.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditPlayerFlags.Text = "Edit Flags";
|
||||
B_EditPlayerFlags.Click += B_EditPlayerFlags_Click;
|
||||
//
|
||||
// B_EditPlayerReactions
|
||||
//
|
||||
B_EditPlayerReactions.Name = "B_EditPlayerReactions";
|
||||
B_EditPlayerReactions.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditPlayerReactions.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditPlayerReactions.Text = "Edit Reactions";
|
||||
B_EditPlayerReactions.Click += B_EditPlayerReactions_Click;
|
||||
//
|
||||
// B_EditPlayerMisc
|
||||
//
|
||||
B_EditPlayerMisc.Name = "B_EditPlayerMisc";
|
||||
B_EditPlayerMisc.Size = new System.Drawing.Size(189, 22);
|
||||
B_EditPlayerMisc.Size = new System.Drawing.Size(176, 22);
|
||||
B_EditPlayerMisc.Text = "Edit Misc";
|
||||
B_EditPlayerMisc.Click += B_EditPlayerMisc_Click;
|
||||
//
|
||||
// B_EditPlayerItems
|
||||
//
|
||||
B_EditPlayerItems.Location = new System.Drawing.Point(7, 220);
|
||||
B_EditPlayerItems.Location = new System.Drawing.Point(7, 194);
|
||||
B_EditPlayerItems.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_EditPlayerItems.Name = "B_EditPlayerItems";
|
||||
B_EditPlayerItems.Size = new System.Drawing.Size(152, 52);
|
||||
B_EditPlayerItems.Size = new System.Drawing.Size(152, 46);
|
||||
B_EditPlayerItems.TabIndex = 12;
|
||||
B_EditPlayerItems.Text = "Edit Items";
|
||||
B_EditPlayerItems.UseVisualStyleBackColor = true;
|
||||
@@ -764,94 +772,94 @@ private void InitializeComponent()
|
||||
//
|
||||
// L_Wallet
|
||||
//
|
||||
L_Wallet.Location = new System.Drawing.Point(166, 67);
|
||||
L_Wallet.Location = new System.Drawing.Point(166, 59);
|
||||
L_Wallet.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Wallet.Name = "L_Wallet";
|
||||
L_Wallet.Size = new System.Drawing.Size(98, 26);
|
||||
L_Wallet.Size = new System.Drawing.Size(98, 23);
|
||||
L_Wallet.TabIndex = 11;
|
||||
L_Wallet.Text = "Wallet:";
|
||||
L_Wallet.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_Wallet
|
||||
//
|
||||
NUD_Wallet.Location = new System.Drawing.Point(271, 67);
|
||||
NUD_Wallet.Location = new System.Drawing.Point(271, 59);
|
||||
NUD_Wallet.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_Wallet.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_Wallet.Name = "NUD_Wallet";
|
||||
NUD_Wallet.Size = new System.Drawing.Size(117, 25);
|
||||
NUD_Wallet.Size = new System.Drawing.Size(117, 23);
|
||||
NUD_Wallet.TabIndex = 10;
|
||||
NUD_Wallet.ValueChanged += NUD_Wallet_ValueChanged;
|
||||
//
|
||||
// L_NookMiles
|
||||
//
|
||||
L_NookMiles.Location = new System.Drawing.Point(166, 125);
|
||||
L_NookMiles.Location = new System.Drawing.Point(166, 110);
|
||||
L_NookMiles.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_NookMiles.Name = "L_NookMiles";
|
||||
L_NookMiles.Size = new System.Drawing.Size(98, 26);
|
||||
L_NookMiles.Size = new System.Drawing.Size(98, 23);
|
||||
L_NookMiles.TabIndex = 9;
|
||||
L_NookMiles.Text = "Nook Miles:";
|
||||
L_NookMiles.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_NookMiles
|
||||
//
|
||||
NUD_NookMiles.Location = new System.Drawing.Point(271, 125);
|
||||
NUD_NookMiles.Location = new System.Drawing.Point(271, 110);
|
||||
NUD_NookMiles.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_NookMiles.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_NookMiles.Name = "NUD_NookMiles";
|
||||
NUD_NookMiles.Size = new System.Drawing.Size(117, 25);
|
||||
NUD_NookMiles.Size = new System.Drawing.Size(117, 23);
|
||||
NUD_NookMiles.TabIndex = 8;
|
||||
//
|
||||
// L_BankBells
|
||||
//
|
||||
L_BankBells.Location = new System.Drawing.Point(166, 95);
|
||||
L_BankBells.Location = new System.Drawing.Point(166, 84);
|
||||
L_BankBells.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_BankBells.Name = "L_BankBells";
|
||||
L_BankBells.Size = new System.Drawing.Size(98, 26);
|
||||
L_BankBells.Size = new System.Drawing.Size(98, 23);
|
||||
L_BankBells.TabIndex = 7;
|
||||
L_BankBells.Text = "Bank Bells:";
|
||||
L_BankBells.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_BankBells
|
||||
//
|
||||
NUD_BankBells.Location = new System.Drawing.Point(271, 95);
|
||||
NUD_BankBells.Location = new System.Drawing.Point(271, 84);
|
||||
NUD_BankBells.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_BankBells.Maximum = new decimal(new int[] { int.MaxValue, 0, 0, 0 });
|
||||
NUD_BankBells.Name = "NUD_BankBells";
|
||||
NUD_BankBells.Size = new System.Drawing.Size(117, 25);
|
||||
NUD_BankBells.Size = new System.Drawing.Size(117, 23);
|
||||
NUD_BankBells.TabIndex = 6;
|
||||
//
|
||||
// TB_TownName
|
||||
//
|
||||
TB_TownName.Location = new System.Drawing.Point(271, 37);
|
||||
TB_TownName.Location = new System.Drawing.Point(271, 33);
|
||||
TB_TownName.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
TB_TownName.Name = "TB_TownName";
|
||||
TB_TownName.Size = new System.Drawing.Size(116, 25);
|
||||
TB_TownName.Size = new System.Drawing.Size(116, 23);
|
||||
TB_TownName.TabIndex = 5;
|
||||
//
|
||||
// TB_Name
|
||||
//
|
||||
TB_Name.Location = new System.Drawing.Point(271, 9);
|
||||
TB_Name.Location = new System.Drawing.Point(271, 8);
|
||||
TB_Name.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
TB_Name.Name = "TB_Name";
|
||||
TB_Name.Size = new System.Drawing.Size(116, 25);
|
||||
TB_Name.Size = new System.Drawing.Size(116, 23);
|
||||
TB_Name.TabIndex = 3;
|
||||
//
|
||||
// L_TownName
|
||||
//
|
||||
L_TownName.Location = new System.Drawing.Point(166, 37);
|
||||
L_TownName.Location = new System.Drawing.Point(166, 33);
|
||||
L_TownName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_TownName.Name = "L_TownName";
|
||||
L_TownName.Size = new System.Drawing.Size(98, 26);
|
||||
L_TownName.Size = new System.Drawing.Size(98, 23);
|
||||
L_TownName.TabIndex = 4;
|
||||
L_TownName.Text = "Town Name:";
|
||||
L_TownName.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// L_PlayerName
|
||||
//
|
||||
L_PlayerName.Location = new System.Drawing.Point(166, 9);
|
||||
L_PlayerName.Location = new System.Drawing.Point(166, 8);
|
||||
L_PlayerName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_PlayerName.Name = "L_PlayerName";
|
||||
L_PlayerName.Size = new System.Drawing.Size(98, 26);
|
||||
L_PlayerName.Size = new System.Drawing.Size(98, 23);
|
||||
L_PlayerName.TabIndex = 2;
|
||||
L_PlayerName.Text = "Player Name:";
|
||||
L_PlayerName.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
@@ -860,10 +868,10 @@ private void InitializeComponent()
|
||||
//
|
||||
CB_Players.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
CB_Players.FormattingEnabled = true;
|
||||
CB_Players.Location = new System.Drawing.Point(7, 8);
|
||||
CB_Players.Location = new System.Drawing.Point(7, 7);
|
||||
CB_Players.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CB_Players.Name = "CB_Players";
|
||||
CB_Players.Size = new System.Drawing.Size(151, 25);
|
||||
CB_Players.Size = new System.Drawing.Size(151, 23);
|
||||
CB_Players.TabIndex = 1;
|
||||
CB_Players.SelectedIndexChanged += LoadPlayer;
|
||||
//
|
||||
@@ -871,10 +879,10 @@ private void InitializeComponent()
|
||||
//
|
||||
PB_Player.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Player.ContextMenuStrip = CM_Picture;
|
||||
PB_Player.Location = new System.Drawing.Point(7, 43);
|
||||
PB_Player.Location = new System.Drawing.Point(7, 38);
|
||||
PB_Player.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
PB_Player.Name = "PB_Player";
|
||||
PB_Player.Size = new System.Drawing.Size(151, 170);
|
||||
PB_Player.Size = new System.Drawing.Size(151, 150);
|
||||
PB_Player.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Player.TabIndex = 0;
|
||||
PB_Player.TabStop = false;
|
||||
@@ -885,19 +893,19 @@ private void InitializeComponent()
|
||||
TC_Editors.Controls.Add(Tab_Villagers);
|
||||
TC_Editors.Controls.Add(Tab_Map);
|
||||
TC_Editors.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
TC_Editors.Location = new System.Drawing.Point(0, 25);
|
||||
TC_Editors.Location = new System.Drawing.Point(0, 24);
|
||||
TC_Editors.Margin = new System.Windows.Forms.Padding(4);
|
||||
TC_Editors.Name = "TC_Editors";
|
||||
TC_Editors.Padding = new System.Drawing.Point(8, 8);
|
||||
TC_Editors.SelectedIndex = 0;
|
||||
TC_Editors.Size = new System.Drawing.Size(471, 382);
|
||||
TC_Editors.Size = new System.Drawing.Size(471, 335);
|
||||
TC_Editors.TabIndex = 1;
|
||||
//
|
||||
// Editor
|
||||
//
|
||||
AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
|
||||
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
ClientSize = new System.Drawing.Size(471, 407);
|
||||
ClientSize = new System.Drawing.Size(471, 359);
|
||||
Controls.Add(TC_Editors);
|
||||
Controls.Add(Menu_Editor);
|
||||
Icon = Properties.Resources.icon;
|
||||
@@ -1008,6 +1016,7 @@ private void InitializeComponent()
|
||||
private System.Windows.Forms.Label L_HotelTickets;
|
||||
private System.Windows.Forms.NumericUpDown NUD_HotelTickets;
|
||||
private System.Windows.Forms.Button B_EditCampsite;
|
||||
private System.Windows.Forms.ToolStripMenuItem B_EditPlayerPostBox;
|
||||
private System.Windows.Forms.ToolStripMenuItem Menu_Theme;
|
||||
private System.Windows.Forms.ToolStripMenuItem Menu_Theme_System;
|
||||
private System.Windows.Forms.ToolStripMenuItem Menu_Theme_Classic;
|
||||
|
||||
@@ -242,7 +242,7 @@ private VillagerEditor LoadVillagers()
|
||||
{
|
||||
var p0 = SAV.Players[0].Personal;
|
||||
var villagers = SAV.Main.GetVillagers();
|
||||
var v = new VillagerEditor(villagers, p0, SAV, true) { Dock = DockStyle.Fill };
|
||||
var v = new VillagerEditor(villagers, p0, SAV, true, PlayerIndex) { Dock = DockStyle.Fill };
|
||||
Tab_Villagers.Controls.Add(v);
|
||||
return v;
|
||||
}
|
||||
@@ -359,6 +359,15 @@ private void B_EditPlayerMisc_Click(object sender, EventArgs e)
|
||||
editor.ShowDialog();
|
||||
}
|
||||
|
||||
private void B_EditPlayerPostBox_Click(object sender, EventArgs e)
|
||||
{
|
||||
var player = SAV.Players[PlayerIndex];
|
||||
var save = SAV.Main;
|
||||
var pb = SAV.Players[PlayerIndex].PostBox;
|
||||
using var editor = new PostBoxEditor(player, pb);
|
||||
editor.ShowDialog();
|
||||
}
|
||||
|
||||
private void LoadPlayer(int index)
|
||||
{
|
||||
if (PlayerIndex >= 0)
|
||||
@@ -520,36 +529,36 @@ private void B_EditLandFlags_Click(object sender, EventArgs e)
|
||||
|
||||
private void B_EditPatterns_Click(object sender, EventArgs e)
|
||||
{
|
||||
var playerID = SAV.Players[0].Personal.GetPlayerIdentity(); // fetch ID for overwrite ownership
|
||||
var townID = SAV.Players[0].Personal.GetTownIdentity(); // fetch ID for overwrite ownership
|
||||
var player = SAV.Players[PlayerIndex];
|
||||
var patterns = SAV.Main.GetDesigns();
|
||||
using var editor = new PatternEditor(patterns);
|
||||
using var editor = new PatternEditor(patterns, player);
|
||||
if (editor.ShowDialog() == DialogResult.OK)
|
||||
SAV.Main.SetDesigns(patterns, playerID, townID);
|
||||
SAV.Main.SetDesigns(patterns);
|
||||
}
|
||||
|
||||
private void B_EditPRODesigns_Click(object sender, EventArgs e)
|
||||
{
|
||||
var playerID = SAV.Players[0].Personal.GetPlayerIdentity(); // fetch ID for overwrite ownership
|
||||
var townID = SAV.Players[0].Personal.GetTownIdentity(); // fetch ID for overwrite ownership
|
||||
var player = SAV.Players[PlayerIndex];
|
||||
var patterns = SAV.Main.GetDesignsPRO();
|
||||
using var editor = new PatternEditorPRO(patterns);
|
||||
using var editor = new PatternEditorPRO(patterns, player);
|
||||
if (editor.ShowDialog() == DialogResult.OK)
|
||||
SAV.Main.SetDesignsPRO(patterns, playerID, townID);
|
||||
SAV.Main.SetDesignsPRO(patterns);
|
||||
}
|
||||
|
||||
private void B_EditPatternFlag_Click(object sender, EventArgs e)
|
||||
{
|
||||
var player = SAV.Players[PlayerIndex];
|
||||
var patterns = new[] { SAV.Main.FlagMyDesign };
|
||||
using var editor = new PatternEditor(patterns);
|
||||
using var editor = new PatternEditor(patterns, player);
|
||||
if (editor.ShowDialog() == DialogResult.OK)
|
||||
SAV.Main.FlagMyDesign = patterns[0];
|
||||
}
|
||||
|
||||
private void B_EditDesignsTailor_Click(object sender, EventArgs e)
|
||||
{
|
||||
var player = SAV.Players[PlayerIndex];
|
||||
var patterns = SAV.Main.GetDesignsTailor();
|
||||
using var editor = new PatternEditorPRO(patterns);
|
||||
using var editor = new PatternEditorPRO(patterns, player);
|
||||
if (editor.ShowDialog() == DialogResult.OK)
|
||||
SAV.Main.SetDesignsTailor(patterns);
|
||||
}
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=Flag0:
|
||||
PlayerItemEditor.L_Flag1=Flag1:
|
||||
PlayerItemEditor.L_Uses=Uses:
|
||||
PlayerItemEditor.L_WaterDays=Days:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=Cancel
|
||||
ReactionEditor.B_GiveAll=Give All
|
||||
ReactionEditor.B_Save=Save
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=Flag0:
|
||||
PlayerItemEditor.L_Flag1=Flag1:
|
||||
PlayerItemEditor.L_Uses=Uses:
|
||||
PlayerItemEditor.L_WaterDays=Days:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=Cancel
|
||||
ReactionEditor.B_GiveAll=Give All
|
||||
ReactionEditor.B_Save=Save
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=Flag0:
|
||||
PlayerItemEditor.L_Flag1=Flag1:
|
||||
PlayerItemEditor.L_Uses=Usos:
|
||||
PlayerItemEditor.L_WaterDays=Días:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=Cancelar
|
||||
ReactionEditor.B_GiveAll=Far Todo
|
||||
ReactionEditor.B_Save=Guardar
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=Flag0:
|
||||
PlayerItemEditor.L_Flag1=Flag1:
|
||||
PlayerItemEditor.L_Uses=Uses:
|
||||
PlayerItemEditor.L_WaterDays=Days:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=Cancel
|
||||
ReactionEditor.B_GiveAll=Give All
|
||||
ReactionEditor.B_Save=Save
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=Flag0:
|
||||
PlayerItemEditor.L_Flag1=Flag1:
|
||||
PlayerItemEditor.L_Uses=Utilizzi:
|
||||
PlayerItemEditor.L_WaterDays=Giorni:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=Indietro
|
||||
ReactionEditor.B_GiveAll=Tutto
|
||||
ReactionEditor.B_Save=Salva
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=Flag0:
|
||||
PlayerItemEditor.L_Flag1=Flag1:
|
||||
PlayerItemEditor.L_Uses=Uses:
|
||||
PlayerItemEditor.L_WaterDays=Days:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=Cancel
|
||||
ReactionEditor.B_GiveAll=Give All
|
||||
ReactionEditor.B_Save=Save
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=플래그0:
|
||||
PlayerItemEditor.L_Flag1=플래그1:
|
||||
PlayerItemEditor.L_Uses=사용 횟수:
|
||||
PlayerItemEditor.L_WaterDays=일수:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=취소
|
||||
ReactionEditor.B_GiveAll=모두 지급
|
||||
ReactionEditor.B_Save=저장
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=属性 0:
|
||||
PlayerItemEditor.L_Flag1=属性 1:
|
||||
PlayerItemEditor.L_Uses=耐久:
|
||||
PlayerItemEditor.L_WaterDays=天数:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=取消
|
||||
ReactionEditor.B_GiveAll=获得全部
|
||||
ReactionEditor.B_Save=保存
|
||||
|
||||
@@ -399,6 +399,43 @@ PlayerItemEditor.L_Flag0=屬性 0:
|
||||
PlayerItemEditor.L_Flag1=屬性 1:
|
||||
PlayerItemEditor.L_Uses=耐久:
|
||||
PlayerItemEditor.L_WaterDays=天數:
|
||||
PostBoxEditor.B_Cancel=Cancel
|
||||
PostBoxEditor.B_Save=Save Slot
|
||||
PostBoxEditor.B_Delete=Delete Mail
|
||||
PostBoxEditor.B_Import=Import Mail
|
||||
PostBoxEditor.B_Dump=Dump Mail
|
||||
PostBoxEditor.B_Post_DumpAll=Dump All
|
||||
PostBoxEditor.CK_Post_Read=Mark Read
|
||||
PostBoxEditor.CK_Post_Faved=Favorited
|
||||
PostBoxEditor.GB_Post_Villager=Villager
|
||||
PostBoxEditor.GB_Post_Player=Player
|
||||
PostBoxEditor.GB_Post_NPC=NPC
|
||||
PostBoxEditor.GB_Post_ReceiverPlayer=Receiver Player
|
||||
PostBoxEditor.GB_Post_Stationery=Stationery Type
|
||||
PostBoxEditor.GB_Post_AttachedInfo=Attachment Info
|
||||
PostBoxEditor.GB_Post_ReceiverIsland=Receiver Island
|
||||
PostBoxEditor.L_Sender_Edit=Edit Sender:
|
||||
PostBoxEditor.L_Sender_ExternalName=Sender Name:
|
||||
PostBoxEditor.L_ExternalName=unknown
|
||||
PostBoxEditor.L_InternalName=unknown
|
||||
PostBoxEditor.L_Variant=Variant
|
||||
PostBoxEditor.L_Species=Species
|
||||
PostBoxEditor.L_Post_To=To Line:
|
||||
PostBoxEditor.L_Post_Message=Message:
|
||||
PostBoxEditor.L_Post_From=From Line:
|
||||
PostBoxEditor.L_Post_UsedSlots=Used Slots:
|
||||
PostBoxEditor.L_Post_UsedSlots_Value=unknown
|
||||
PostBoxEditor.L_Post_SelectedSlot=Selected Slot:
|
||||
PostBoxEditor.L_SenderType=Sender Type
|
||||
PostBoxEditor.L_Post_TimeStamp=Timestamp
|
||||
PostBoxEditor.L_Post_Language=Language
|
||||
PostBoxEditor.L_Post_CountTo=count
|
||||
PostBoxEditor.L_Post_CountMsg=count
|
||||
PostBoxEditor.L_Post_CountFrom=count
|
||||
PostBoxEditor.L_Post_MailType=Mail Type:
|
||||
PostBoxEditor.L_Post_AttachmentSkin=Attachment Skin:
|
||||
PostBoxEditor.TP_Post_SR=Details
|
||||
PostBoxEditor.TP_Post_Items=Attachments
|
||||
ReactionEditor.B_Cancel=取消
|
||||
ReactionEditor.B_GiveAll=獲得全部
|
||||
ReactionEditor.B_Save=儲存
|
||||
|
||||
262
NHSE.WinForms/Subforms/Map/PatternEditor.Designer.cs
generated
262
NHSE.WinForms/Subforms/Map/PatternEditor.Designer.cs
generated
@@ -28,178 +28,185 @@ protected override void Dispose(bool disposing)
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.B_Save = new System.Windows.Forms.Button();
|
||||
this.B_Cancel = new System.Windows.Forms.Button();
|
||||
this.LB_Items = new System.Windows.Forms.ListBox();
|
||||
this.PB_Palette = new System.Windows.Forms.PictureBox();
|
||||
this.L_PatternName = new System.Windows.Forms.Label();
|
||||
this.B_DumpLoadDesign = new System.Windows.Forms.Button();
|
||||
this.CM_DLDesign = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.B_DumpDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.B_DumpDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.B_LoadDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.B_LoadDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.PB_Pattern = new System.Windows.Forms.PictureBox();
|
||||
this.CM_Picture = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.Menu_SavePNG = new System.Windows.Forms.ToolStripMenuItem();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Palette)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Pattern)).BeginInit();
|
||||
this.CM_Picture.SuspendLayout();
|
||||
this.CM_DLDesign.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
components = new System.ComponentModel.Container();
|
||||
B_Save = new System.Windows.Forms.Button();
|
||||
B_Cancel = new System.Windows.Forms.Button();
|
||||
LB_Items = new System.Windows.Forms.ListBox();
|
||||
PB_Palette = new System.Windows.Forms.PictureBox();
|
||||
L_PatternName = new System.Windows.Forms.Label();
|
||||
B_DumpLoadDesign = new System.Windows.Forms.Button();
|
||||
CM_DLDesign = new System.Windows.Forms.ContextMenuStrip(components);
|
||||
B_DumpDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
B_DumpDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
B_LoadDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
B_LoadDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
PB_Pattern = new System.Windows.Forms.PictureBox();
|
||||
CM_Picture = new System.Windows.Forms.ContextMenuStrip(components);
|
||||
Menu_SavePNG = new System.Windows.Forms.ToolStripMenuItem();
|
||||
CB_Pattern_OverwriteDesigner = new System.Windows.Forms.CheckBox();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Palette).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Pattern).BeginInit();
|
||||
CM_Picture.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// B_Save
|
||||
//
|
||||
this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.B_Save.Location = new System.Drawing.Point(488, 276);
|
||||
this.B_Save.Name = "B_Save";
|
||||
this.B_Save.Size = new System.Drawing.Size(92, 40);
|
||||
this.B_Save.TabIndex = 1;
|
||||
this.B_Save.Text = "Save";
|
||||
this.B_Save.UseVisualStyleBackColor = true;
|
||||
this.B_Save.Click += new System.EventHandler(this.B_Save_Click);
|
||||
B_Save.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Save.Location = new System.Drawing.Point(490, 276);
|
||||
B_Save.Name = "B_Save";
|
||||
B_Save.Size = new System.Drawing.Size(92, 40);
|
||||
B_Save.TabIndex = 1;
|
||||
B_Save.Text = "Save";
|
||||
B_Save.UseVisualStyleBackColor = true;
|
||||
B_Save.Click += B_Save_Click;
|
||||
//
|
||||
// B_Cancel
|
||||
//
|
||||
this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.B_Cancel.Location = new System.Drawing.Point(390, 276);
|
||||
this.B_Cancel.Name = "B_Cancel";
|
||||
this.B_Cancel.Size = new System.Drawing.Size(92, 40);
|
||||
this.B_Cancel.TabIndex = 2;
|
||||
this.B_Cancel.Text = "Cancel";
|
||||
this.B_Cancel.UseVisualStyleBackColor = true;
|
||||
this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click);
|
||||
B_Cancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Cancel.Location = new System.Drawing.Point(392, 276);
|
||||
B_Cancel.Name = "B_Cancel";
|
||||
B_Cancel.Size = new System.Drawing.Size(92, 40);
|
||||
B_Cancel.TabIndex = 2;
|
||||
B_Cancel.Text = "Cancel";
|
||||
B_Cancel.UseVisualStyleBackColor = true;
|
||||
B_Cancel.Click += B_Cancel_Click;
|
||||
//
|
||||
// LB_Items
|
||||
//
|
||||
this.LB_Items.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.LB_Items.FormattingEnabled = true;
|
||||
this.LB_Items.Location = new System.Drawing.Point(12, 12);
|
||||
this.LB_Items.Name = "LB_Items";
|
||||
this.LB_Items.Size = new System.Drawing.Size(149, 303);
|
||||
this.LB_Items.TabIndex = 3;
|
||||
this.LB_Items.SelectedIndexChanged += new System.EventHandler(this.LB_Items_SelectedIndexChanged);
|
||||
LB_Items.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
LB_Items.FormattingEnabled = true;
|
||||
LB_Items.Location = new System.Drawing.Point(12, 12);
|
||||
LB_Items.Name = "LB_Items";
|
||||
LB_Items.Size = new System.Drawing.Size(149, 289);
|
||||
LB_Items.TabIndex = 3;
|
||||
LB_Items.SelectedIndexChanged += LB_Items_SelectedIndexChanged;
|
||||
//
|
||||
// PB_Palette
|
||||
//
|
||||
this.PB_Palette.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Palette.Location = new System.Drawing.Point(432, 12);
|
||||
this.PB_Palette.Name = "PB_Palette";
|
||||
this.PB_Palette.Size = new System.Drawing.Size(152, 12);
|
||||
this.PB_Palette.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Palette.TabIndex = 34;
|
||||
this.PB_Palette.TabStop = false;
|
||||
PB_Palette.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Palette.Location = new System.Drawing.Point(432, 12);
|
||||
PB_Palette.Name = "PB_Palette";
|
||||
PB_Palette.Size = new System.Drawing.Size(152, 12);
|
||||
PB_Palette.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Palette.TabIndex = 34;
|
||||
PB_Palette.TabStop = false;
|
||||
//
|
||||
// L_PatternName
|
||||
//
|
||||
this.L_PatternName.AutoSize = true;
|
||||
this.L_PatternName.Location = new System.Drawing.Point(429, 28);
|
||||
this.L_PatternName.Name = "L_PatternName";
|
||||
this.L_PatternName.Size = new System.Drawing.Size(73, 13);
|
||||
this.L_PatternName.TabIndex = 33;
|
||||
this.L_PatternName.Text = "*PatternName";
|
||||
L_PatternName.AutoSize = true;
|
||||
L_PatternName.Location = new System.Drawing.Point(429, 28);
|
||||
L_PatternName.Name = "L_PatternName";
|
||||
L_PatternName.Size = new System.Drawing.Size(82, 15);
|
||||
L_PatternName.TabIndex = 33;
|
||||
L_PatternName.Text = "*PatternName";
|
||||
//
|
||||
// B_DumpLoadDesign
|
||||
//
|
||||
this.B_DumpLoadDesign.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.B_DumpLoadDesign.ContextMenuStrip = this.CM_DLDesign;
|
||||
this.B_DumpLoadDesign.Location = new System.Drawing.Point(168, 276);
|
||||
this.B_DumpLoadDesign.Name = "B_DumpLoadDesign";
|
||||
this.B_DumpLoadDesign.Size = new System.Drawing.Size(92, 40);
|
||||
this.B_DumpLoadDesign.TabIndex = 31;
|
||||
this.B_DumpLoadDesign.Text = "Dump/Import";
|
||||
this.B_DumpLoadDesign.UseVisualStyleBackColor = true;
|
||||
this.B_DumpLoadDesign.Click += new System.EventHandler(this.B_DumpLoadDesign_Click);
|
||||
B_DumpLoadDesign.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
B_DumpLoadDesign.ContextMenuStrip = CM_DLDesign;
|
||||
B_DumpLoadDesign.Location = new System.Drawing.Point(168, 276);
|
||||
B_DumpLoadDesign.Name = "B_DumpLoadDesign";
|
||||
B_DumpLoadDesign.Size = new System.Drawing.Size(92, 40);
|
||||
B_DumpLoadDesign.TabIndex = 31;
|
||||
B_DumpLoadDesign.Text = "Dump/Import";
|
||||
B_DumpLoadDesign.UseVisualStyleBackColor = true;
|
||||
B_DumpLoadDesign.Click += B_DumpLoadDesign_Click;
|
||||
//
|
||||
// CM_DLDesign
|
||||
//
|
||||
this.CM_DLDesign.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
this.CM_DLDesign.Name = "CM_DLDesign";
|
||||
this.CM_DLDesign.ShowImageMargin = false;
|
||||
this.CM_DLDesign.Size = new System.Drawing.Size(93, 92);
|
||||
CM_DLDesign.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
CM_DLDesign.Name = "CM_DLDesign";
|
||||
CM_DLDesign.ShowImageMargin = false;
|
||||
CM_DLDesign.Size = new System.Drawing.Size(36, 4);
|
||||
//
|
||||
// B_DumpDesign
|
||||
//
|
||||
this.B_DumpDesign.Name = "B_DumpDesign";
|
||||
this.B_DumpDesign.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_DumpDesign.Text = "Dump Design";
|
||||
this.B_DumpDesign.Click += new System.EventHandler(this.B_DumpDesign_Click);
|
||||
B_DumpDesign.Name = "B_DumpDesign";
|
||||
B_DumpDesign.Size = new System.Drawing.Size(92, 22);
|
||||
B_DumpDesign.Text = "Dump Design";
|
||||
B_DumpDesign.Click += B_DumpDesign_Click;
|
||||
//
|
||||
// B_DumpDesignAll
|
||||
//
|
||||
this.B_DumpDesignAll.Name = "B_DumpDesignAll";
|
||||
this.B_DumpDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_DumpDesignAll.Text = "Dump All Designs";
|
||||
this.B_DumpDesignAll.Click += new System.EventHandler(this.B_DumpDesign_Click);
|
||||
B_DumpDesignAll.Name = "B_DumpDesignAll";
|
||||
B_DumpDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
B_DumpDesignAll.Text = "Dump All Designs";
|
||||
B_DumpDesignAll.Click += B_DumpDesign_Click;
|
||||
//
|
||||
// B_LoadDesign
|
||||
//
|
||||
this.B_LoadDesign.Name = "B_LoadDesign";
|
||||
this.B_LoadDesign.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_LoadDesign.Text = "Load Design";
|
||||
this.B_LoadDesign.Click += new System.EventHandler(this.B_LoadDesign_Click);
|
||||
B_LoadDesign.Name = "B_LoadDesign";
|
||||
B_LoadDesign.Size = new System.Drawing.Size(92, 22);
|
||||
B_LoadDesign.Text = "Load Design";
|
||||
B_LoadDesign.Click += B_LoadDesign_Click;
|
||||
//
|
||||
// B_LoadDesignAll
|
||||
//
|
||||
this.B_LoadDesignAll.Name = "B_LoadDesignAll";
|
||||
this.B_LoadDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_LoadDesignAll.Text = "Load All Designs";
|
||||
this.B_LoadDesignAll.Click += new System.EventHandler(this.B_LoadDesign_Click);
|
||||
B_LoadDesignAll.Name = "B_LoadDesignAll";
|
||||
B_LoadDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
B_LoadDesignAll.Text = "Load All Designs";
|
||||
B_LoadDesignAll.Click += B_LoadDesign_Click;
|
||||
//
|
||||
// PB_Pattern
|
||||
//
|
||||
this.PB_Pattern.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Pattern.ContextMenuStrip = this.CM_Picture;
|
||||
this.PB_Pattern.Location = new System.Drawing.Point(168, 12);
|
||||
this.PB_Pattern.Name = "PB_Pattern";
|
||||
this.PB_Pattern.Size = new System.Drawing.Size(258, 258);
|
||||
this.PB_Pattern.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Pattern.TabIndex = 30;
|
||||
this.PB_Pattern.TabStop = false;
|
||||
this.PB_Pattern.MouseEnter += new System.EventHandler(this.PB_Pattern_MouseEnter);
|
||||
this.PB_Pattern.MouseLeave += new System.EventHandler(this.PB_Pattern_MouseLeave);
|
||||
PB_Pattern.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Pattern.ContextMenuStrip = CM_Picture;
|
||||
PB_Pattern.Location = new System.Drawing.Point(168, 12);
|
||||
PB_Pattern.Name = "PB_Pattern";
|
||||
PB_Pattern.Size = new System.Drawing.Size(258, 258);
|
||||
PB_Pattern.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Pattern.TabIndex = 30;
|
||||
PB_Pattern.TabStop = false;
|
||||
PB_Pattern.MouseEnter += PB_Pattern_MouseEnter;
|
||||
PB_Pattern.MouseLeave += PB_Pattern_MouseLeave;
|
||||
//
|
||||
// CM_Picture
|
||||
//
|
||||
this.CM_Picture.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.Menu_SavePNG});
|
||||
this.CM_Picture.Name = "CM_Picture";
|
||||
this.CM_Picture.ShowImageMargin = false;
|
||||
this.CM_Picture.Size = new System.Drawing.Size(156, 48);
|
||||
CM_Picture.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { Menu_SavePNG });
|
||||
CM_Picture.Name = "CM_Picture";
|
||||
CM_Picture.ShowImageMargin = false;
|
||||
CM_Picture.Size = new System.Drawing.Size(101, 26);
|
||||
//
|
||||
// Menu_SavePNG
|
||||
//
|
||||
this.Menu_SavePNG.Name = "Menu_SavePNG";
|
||||
this.Menu_SavePNG.Size = new System.Drawing.Size(155, 22);
|
||||
this.Menu_SavePNG.Text = "Save .png";
|
||||
this.Menu_SavePNG.Click += new System.EventHandler(this.Menu_SavePNG_Click);
|
||||
Menu_SavePNG.Name = "Menu_SavePNG";
|
||||
Menu_SavePNG.Size = new System.Drawing.Size(100, 22);
|
||||
Menu_SavePNG.Text = "Save .png";
|
||||
Menu_SavePNG.Click += Menu_SavePNG_Click;
|
||||
//
|
||||
// CB_Pattern_OverwriteDesigner
|
||||
//
|
||||
CB_Pattern_OverwriteDesigner.AutoSize = true;
|
||||
CB_Pattern_OverwriteDesigner.Location = new System.Drawing.Point(263, 288);
|
||||
CB_Pattern_OverwriteDesigner.Name = "CB_Pattern_OverwriteDesigner";
|
||||
CB_Pattern_OverwriteDesigner.Size = new System.Drawing.Size(126, 19);
|
||||
CB_Pattern_OverwriteDesigner.TabIndex = 35;
|
||||
CB_Pattern_OverwriteDesigner.Text = "Overwrite Designer";
|
||||
CB_Pattern_OverwriteDesigner.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// PatternEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||
this.ClientSize = new System.Drawing.Size(592, 328);
|
||||
this.Controls.Add(this.PB_Palette);
|
||||
this.Controls.Add(this.L_PatternName);
|
||||
this.Controls.Add(this.B_DumpLoadDesign);
|
||||
this.Controls.Add(this.PB_Pattern);
|
||||
this.Controls.Add(this.LB_Items);
|
||||
this.Controls.Add(this.B_Cancel);
|
||||
this.Controls.Add(this.B_Save);
|
||||
this.Icon = global::NHSE.WinForms.Properties.Resources.icon;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "PatternEditor";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Pattern Editor";
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Palette)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Pattern)).EndInit();
|
||||
this.CM_Picture.ResumeLayout(false);
|
||||
this.CM_DLDesign.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||
ClientSize = new System.Drawing.Size(592, 328);
|
||||
Controls.Add(CB_Pattern_OverwriteDesigner);
|
||||
Controls.Add(PB_Palette);
|
||||
Controls.Add(L_PatternName);
|
||||
Controls.Add(B_DumpLoadDesign);
|
||||
Controls.Add(PB_Pattern);
|
||||
Controls.Add(LB_Items);
|
||||
Controls.Add(B_Cancel);
|
||||
Controls.Add(B_Save);
|
||||
Icon = Properties.Resources.icon;
|
||||
MaximizeBox = false;
|
||||
MinimizeBox = false;
|
||||
Name = "PatternEditor";
|
||||
StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
Text = "Pattern Editor";
|
||||
((System.ComponentModel.ISupportInitialize)PB_Palette).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Pattern).EndInit();
|
||||
CM_Picture.ResumeLayout(false);
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -218,5 +225,6 @@ private void InitializeComponent()
|
||||
private System.Windows.Forms.PictureBox PB_Pattern;
|
||||
private System.Windows.Forms.ContextMenuStrip CM_Picture;
|
||||
private System.Windows.Forms.ToolStripMenuItem Menu_SavePNG;
|
||||
private System.Windows.Forms.CheckBox CB_Pattern_OverwriteDesigner;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +1,28 @@
|
||||
using System;
|
||||
using NHSE.Core;
|
||||
using NHSE.Sprites;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Runtime.Intrinsics.Arm;
|
||||
using System.Windows.Forms;
|
||||
using NHSE.Core;
|
||||
using NHSE.Sprites;
|
||||
|
||||
namespace NHSE.WinForms;
|
||||
|
||||
public partial class PatternEditor : Form
|
||||
{
|
||||
private readonly DesignPattern[] Patterns;
|
||||
private readonly Player Player;
|
||||
|
||||
private int Index;
|
||||
private const int scale = 8;
|
||||
|
||||
public PatternEditor(DesignPattern[] patterns)
|
||||
public PatternEditor(DesignPattern[] patterns, Player player)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.TranslateInterface(GameInfo.CurrentLanguage);
|
||||
Patterns = patterns;
|
||||
Player = player;
|
||||
DialogResult = DialogResult.Cancel;
|
||||
|
||||
foreach (var p in patterns)
|
||||
@@ -146,8 +149,44 @@ private void RepopulateList(int index)
|
||||
LB_Items.SelectedIndex = index;
|
||||
}
|
||||
|
||||
public bool ContainsTransparentPixels(Bitmap image)
|
||||
{
|
||||
for (int y = 0; y < image.Height; ++y)
|
||||
{
|
||||
for (int x = 0; x < image.Width; ++x)
|
||||
{
|
||||
if (image.GetPixel(x, y).A < 255) // check alpha
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void LoadPattern(DesignPattern designPattern)
|
||||
{
|
||||
if (designPattern.UsageCompatibility is not (0xEE00 or 0xEE02)) // known valid values (00=non-transparent, 02=transparent)
|
||||
{
|
||||
using var image = designPattern.GetImage();
|
||||
if (ContainsTransparentPixels(image))
|
||||
{
|
||||
designPattern.UsageCompatibility = 0xEE02; // set to transparent
|
||||
}
|
||||
else
|
||||
{
|
||||
designPattern.UsageCompatibility = 0xEE00; // reset to default value (non-transparent)
|
||||
}
|
||||
}
|
||||
|
||||
if (CB_Pattern_OverwriteDesigner.Checked)
|
||||
{
|
||||
designPattern.PlayerID = Player.Personal.PlayerID;
|
||||
designPattern.PlayerName = Player.Personal.PlayerName;
|
||||
designPattern.TownID = Player.Personal.TownID;
|
||||
designPattern.TownName = Player.Personal.TownName;
|
||||
}
|
||||
|
||||
PB_Pattern.Image = ImageUtil.ResizeImage(designPattern.GetImage(), DesignPattern.Width * scale, DesignPattern.Height * scale);
|
||||
PB_Palette.Image = ImageUtil.ResizeImage(designPattern.GetPalette(), 150, 10);
|
||||
L_PatternName.Text = designPattern.DesignName + Environment.NewLine +
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
@@ -117,7 +117,10 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="CM_Picture.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="CM_DLDesign.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="CM_Picture.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>145, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
334
NHSE.WinForms/Subforms/Map/PatternEditorPRO.Designer.cs
generated
334
NHSE.WinForms/Subforms/Map/PatternEditorPRO.Designer.cs
generated
@@ -28,223 +28,230 @@ protected override void Dispose(bool disposing)
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.B_Save = new System.Windows.Forms.Button();
|
||||
this.B_Cancel = new System.Windows.Forms.Button();
|
||||
this.LB_Items = new System.Windows.Forms.ListBox();
|
||||
this.PB_Palette = new System.Windows.Forms.PictureBox();
|
||||
this.L_PatternName = new System.Windows.Forms.Label();
|
||||
this.B_DumpLoadDesign = new System.Windows.Forms.Button();
|
||||
this.CM_DLDesign = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.B_DumpDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.B_DumpDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.B_LoadDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.B_LoadDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.PB_Sheet0 = new System.Windows.Forms.PictureBox();
|
||||
this.CM_Picture = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.Menu_SavePNG = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.PB_Sheet1 = new System.Windows.Forms.PictureBox();
|
||||
this.PB_Sheet3 = new System.Windows.Forms.PictureBox();
|
||||
this.PB_Sheet2 = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Palette)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet0)).BeginInit();
|
||||
this.CM_Picture.SuspendLayout();
|
||||
this.CM_DLDesign.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet2)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
components = new System.ComponentModel.Container();
|
||||
B_Save = new System.Windows.Forms.Button();
|
||||
B_Cancel = new System.Windows.Forms.Button();
|
||||
LB_Items = new System.Windows.Forms.ListBox();
|
||||
PB_Palette = new System.Windows.Forms.PictureBox();
|
||||
L_PatternName = new System.Windows.Forms.Label();
|
||||
B_DumpLoadDesign = new System.Windows.Forms.Button();
|
||||
CM_DLDesign = new System.Windows.Forms.ContextMenuStrip(components);
|
||||
B_DumpDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
B_DumpDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
B_LoadDesign = new System.Windows.Forms.ToolStripMenuItem();
|
||||
B_LoadDesignAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
PB_Sheet0 = new System.Windows.Forms.PictureBox();
|
||||
CM_Picture = new System.Windows.Forms.ContextMenuStrip(components);
|
||||
Menu_SavePNG = new System.Windows.Forms.ToolStripMenuItem();
|
||||
PB_Sheet1 = new System.Windows.Forms.PictureBox();
|
||||
PB_Sheet3 = new System.Windows.Forms.PictureBox();
|
||||
PB_Sheet2 = new System.Windows.Forms.PictureBox();
|
||||
CB_Pattern_OverwriteDesigner = new System.Windows.Forms.CheckBox();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Palette).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet0).BeginInit();
|
||||
CM_Picture.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet1).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet3).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet2).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
// B_Save
|
||||
//
|
||||
this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.B_Save.Location = new System.Drawing.Point(488, 276);
|
||||
this.B_Save.Name = "B_Save";
|
||||
this.B_Save.Size = new System.Drawing.Size(92, 40);
|
||||
this.B_Save.TabIndex = 1;
|
||||
this.B_Save.Text = "Save";
|
||||
this.B_Save.UseVisualStyleBackColor = true;
|
||||
this.B_Save.Click += new System.EventHandler(this.B_Save_Click);
|
||||
B_Save.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Save.Location = new System.Drawing.Point(490, 276);
|
||||
B_Save.Name = "B_Save";
|
||||
B_Save.Size = new System.Drawing.Size(92, 40);
|
||||
B_Save.TabIndex = 1;
|
||||
B_Save.Text = "Save";
|
||||
B_Save.UseVisualStyleBackColor = true;
|
||||
B_Save.Click += B_Save_Click;
|
||||
//
|
||||
// B_Cancel
|
||||
//
|
||||
this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.B_Cancel.Location = new System.Drawing.Point(390, 276);
|
||||
this.B_Cancel.Name = "B_Cancel";
|
||||
this.B_Cancel.Size = new System.Drawing.Size(92, 40);
|
||||
this.B_Cancel.TabIndex = 2;
|
||||
this.B_Cancel.Text = "Cancel";
|
||||
this.B_Cancel.UseVisualStyleBackColor = true;
|
||||
this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click);
|
||||
B_Cancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Cancel.Location = new System.Drawing.Point(392, 276);
|
||||
B_Cancel.Name = "B_Cancel";
|
||||
B_Cancel.Size = new System.Drawing.Size(92, 40);
|
||||
B_Cancel.TabIndex = 2;
|
||||
B_Cancel.Text = "Cancel";
|
||||
B_Cancel.UseVisualStyleBackColor = true;
|
||||
B_Cancel.Click += B_Cancel_Click;
|
||||
//
|
||||
// LB_Items
|
||||
//
|
||||
this.LB_Items.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.LB_Items.FormattingEnabled = true;
|
||||
this.LB_Items.Location = new System.Drawing.Point(12, 12);
|
||||
this.LB_Items.Name = "LB_Items";
|
||||
this.LB_Items.Size = new System.Drawing.Size(149, 303);
|
||||
this.LB_Items.TabIndex = 3;
|
||||
this.LB_Items.SelectedIndexChanged += new System.EventHandler(this.LB_Items_SelectedIndexChanged);
|
||||
LB_Items.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
LB_Items.FormattingEnabled = true;
|
||||
LB_Items.Location = new System.Drawing.Point(12, 12);
|
||||
LB_Items.Name = "LB_Items";
|
||||
LB_Items.Size = new System.Drawing.Size(149, 289);
|
||||
LB_Items.TabIndex = 3;
|
||||
LB_Items.SelectedIndexChanged += LB_Items_SelectedIndexChanged;
|
||||
//
|
||||
// PB_Palette
|
||||
//
|
||||
this.PB_Palette.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Palette.Location = new System.Drawing.Point(432, 12);
|
||||
this.PB_Palette.Name = "PB_Palette";
|
||||
this.PB_Palette.Size = new System.Drawing.Size(152, 12);
|
||||
this.PB_Palette.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Palette.TabIndex = 34;
|
||||
this.PB_Palette.TabStop = false;
|
||||
PB_Palette.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Palette.Location = new System.Drawing.Point(432, 12);
|
||||
PB_Palette.Name = "PB_Palette";
|
||||
PB_Palette.Size = new System.Drawing.Size(152, 12);
|
||||
PB_Palette.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Palette.TabIndex = 34;
|
||||
PB_Palette.TabStop = false;
|
||||
//
|
||||
// L_PatternName
|
||||
//
|
||||
this.L_PatternName.AutoSize = true;
|
||||
this.L_PatternName.Location = new System.Drawing.Point(429, 28);
|
||||
this.L_PatternName.Name = "L_PatternName";
|
||||
this.L_PatternName.Size = new System.Drawing.Size(73, 13);
|
||||
this.L_PatternName.TabIndex = 33;
|
||||
this.L_PatternName.Text = "*PatternName";
|
||||
L_PatternName.AutoSize = true;
|
||||
L_PatternName.Location = new System.Drawing.Point(429, 28);
|
||||
L_PatternName.Name = "L_PatternName";
|
||||
L_PatternName.Size = new System.Drawing.Size(82, 15);
|
||||
L_PatternName.TabIndex = 33;
|
||||
L_PatternName.Text = "*PatternName";
|
||||
//
|
||||
// B_DumpLoadDesign
|
||||
//
|
||||
this.B_DumpLoadDesign.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.B_DumpLoadDesign.ContextMenuStrip = this.CM_DLDesign;
|
||||
this.B_DumpLoadDesign.Location = new System.Drawing.Point(168, 276);
|
||||
this.B_DumpLoadDesign.Name = "B_DumpLoadDesign";
|
||||
this.B_DumpLoadDesign.Size = new System.Drawing.Size(92, 40);
|
||||
this.B_DumpLoadDesign.TabIndex = 31;
|
||||
this.B_DumpLoadDesign.Text = "Dump/Import";
|
||||
this.B_DumpLoadDesign.UseVisualStyleBackColor = true;
|
||||
this.B_DumpLoadDesign.Click += new System.EventHandler(this.B_DumpLoadDesign_Click);
|
||||
B_DumpLoadDesign.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
B_DumpLoadDesign.ContextMenuStrip = CM_DLDesign;
|
||||
B_DumpLoadDesign.Location = new System.Drawing.Point(168, 276);
|
||||
B_DumpLoadDesign.Name = "B_DumpLoadDesign";
|
||||
B_DumpLoadDesign.Size = new System.Drawing.Size(92, 40);
|
||||
B_DumpLoadDesign.TabIndex = 31;
|
||||
B_DumpLoadDesign.Text = "Dump/Import";
|
||||
B_DumpLoadDesign.UseVisualStyleBackColor = true;
|
||||
B_DumpLoadDesign.Click += B_DumpLoadDesign_Click;
|
||||
//
|
||||
// CM_DLDesign
|
||||
//
|
||||
this.CM_DLDesign.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
this.CM_DLDesign.Name = "CM_DLDesign";
|
||||
this.CM_DLDesign.ShowImageMargin = false;
|
||||
this.CM_DLDesign.Size = new System.Drawing.Size(93, 92);
|
||||
CM_DLDesign.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
CM_DLDesign.Name = "CM_DLDesign";
|
||||
CM_DLDesign.ShowImageMargin = false;
|
||||
CM_DLDesign.Size = new System.Drawing.Size(36, 4);
|
||||
//
|
||||
// B_DumpDesign
|
||||
//
|
||||
this.B_DumpDesign.Name = "B_DumpDesign";
|
||||
this.B_DumpDesign.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_DumpDesign.Text = "Dump Design";
|
||||
this.B_DumpDesign.Click += new System.EventHandler(this.B_DumpDesign_Click);
|
||||
B_DumpDesign.Name = "B_DumpDesign";
|
||||
B_DumpDesign.Size = new System.Drawing.Size(92, 22);
|
||||
B_DumpDesign.Text = "Dump Design";
|
||||
B_DumpDesign.Click += B_DumpDesign_Click;
|
||||
//
|
||||
// B_DumpDesignAll
|
||||
//
|
||||
this.B_DumpDesignAll.Name = "B_DumpDesignAll";
|
||||
this.B_DumpDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_DumpDesignAll.Text = "Dump All Designs";
|
||||
this.B_DumpDesignAll.Click += new System.EventHandler(this.B_DumpDesign_Click);
|
||||
B_DumpDesignAll.Name = "B_DumpDesignAll";
|
||||
B_DumpDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
B_DumpDesignAll.Text = "Dump All Designs";
|
||||
B_DumpDesignAll.Click += B_DumpDesign_Click;
|
||||
//
|
||||
// B_LoadDesign
|
||||
//
|
||||
this.B_LoadDesign.Name = "B_LoadDesign";
|
||||
this.B_LoadDesign.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_LoadDesign.Text = "Load Design";
|
||||
this.B_LoadDesign.Click += new System.EventHandler(this.B_LoadDesign_Click);
|
||||
B_LoadDesign.Name = "B_LoadDesign";
|
||||
B_LoadDesign.Size = new System.Drawing.Size(92, 22);
|
||||
B_LoadDesign.Text = "Load Design";
|
||||
B_LoadDesign.Click += B_LoadDesign_Click;
|
||||
//
|
||||
// B_LoadDesignAll
|
||||
//
|
||||
this.B_LoadDesignAll.Name = "B_LoadDesignAll";
|
||||
this.B_LoadDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
this.B_LoadDesignAll.Text = "Load All Designs";
|
||||
this.B_LoadDesignAll.Click += new System.EventHandler(this.B_LoadDesign_Click);
|
||||
B_LoadDesignAll.Name = "B_LoadDesignAll";
|
||||
B_LoadDesignAll.Size = new System.Drawing.Size(92, 22);
|
||||
B_LoadDesignAll.Text = "Load All Designs";
|
||||
B_LoadDesignAll.Click += B_LoadDesign_Click;
|
||||
//
|
||||
// PB_Sheet0
|
||||
//
|
||||
this.PB_Sheet0.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Sheet0.ContextMenuStrip = this.CM_Picture;
|
||||
this.PB_Sheet0.Location = new System.Drawing.Point(168, 12);
|
||||
this.PB_Sheet0.Name = "PB_Sheet0";
|
||||
this.PB_Sheet0.Size = new System.Drawing.Size(130, 130);
|
||||
this.PB_Sheet0.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Sheet0.TabIndex = 30;
|
||||
this.PB_Sheet0.TabStop = false;
|
||||
this.PB_Sheet0.MouseEnter += new System.EventHandler(this.PB_Pattern_MouseEnter);
|
||||
this.PB_Sheet0.MouseLeave += new System.EventHandler(this.PB_Pattern_MouseLeave);
|
||||
PB_Sheet0.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Sheet0.ContextMenuStrip = CM_Picture;
|
||||
PB_Sheet0.Location = new System.Drawing.Point(168, 12);
|
||||
PB_Sheet0.Name = "PB_Sheet0";
|
||||
PB_Sheet0.Size = new System.Drawing.Size(130, 130);
|
||||
PB_Sheet0.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Sheet0.TabIndex = 30;
|
||||
PB_Sheet0.TabStop = false;
|
||||
PB_Sheet0.MouseEnter += PB_Pattern_MouseEnter;
|
||||
PB_Sheet0.MouseLeave += PB_Pattern_MouseLeave;
|
||||
//
|
||||
// CM_Picture
|
||||
//
|
||||
this.CM_Picture.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.Menu_SavePNG});
|
||||
this.CM_Picture.Name = "CM_Picture";
|
||||
this.CM_Picture.ShowImageMargin = false;
|
||||
this.CM_Picture.Size = new System.Drawing.Size(101, 26);
|
||||
CM_Picture.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { Menu_SavePNG });
|
||||
CM_Picture.Name = "CM_Picture";
|
||||
CM_Picture.ShowImageMargin = false;
|
||||
CM_Picture.Size = new System.Drawing.Size(101, 26);
|
||||
//
|
||||
// Menu_SavePNG
|
||||
//
|
||||
this.Menu_SavePNG.Name = "Menu_SavePNG";
|
||||
this.Menu_SavePNG.Size = new System.Drawing.Size(100, 22);
|
||||
this.Menu_SavePNG.Text = "Save .png";
|
||||
this.Menu_SavePNG.Click += new System.EventHandler(this.Menu_SavePNG_Click);
|
||||
Menu_SavePNG.Name = "Menu_SavePNG";
|
||||
Menu_SavePNG.Size = new System.Drawing.Size(100, 22);
|
||||
Menu_SavePNG.Text = "Save .png";
|
||||
Menu_SavePNG.Click += Menu_SavePNG_Click;
|
||||
//
|
||||
// PB_Sheet1
|
||||
//
|
||||
this.PB_Sheet1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Sheet1.ContextMenuStrip = this.CM_Picture;
|
||||
this.PB_Sheet1.Location = new System.Drawing.Point(298, 12);
|
||||
this.PB_Sheet1.Name = "PB_Sheet1";
|
||||
this.PB_Sheet1.Size = new System.Drawing.Size(130, 130);
|
||||
this.PB_Sheet1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Sheet1.TabIndex = 35;
|
||||
this.PB_Sheet1.TabStop = false;
|
||||
PB_Sheet1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Sheet1.ContextMenuStrip = CM_Picture;
|
||||
PB_Sheet1.Location = new System.Drawing.Point(298, 12);
|
||||
PB_Sheet1.Name = "PB_Sheet1";
|
||||
PB_Sheet1.Size = new System.Drawing.Size(130, 130);
|
||||
PB_Sheet1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Sheet1.TabIndex = 35;
|
||||
PB_Sheet1.TabStop = false;
|
||||
//
|
||||
// PB_Sheet3
|
||||
//
|
||||
this.PB_Sheet3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Sheet3.ContextMenuStrip = this.CM_Picture;
|
||||
this.PB_Sheet3.Location = new System.Drawing.Point(298, 142);
|
||||
this.PB_Sheet3.Name = "PB_Sheet3";
|
||||
this.PB_Sheet3.Size = new System.Drawing.Size(130, 130);
|
||||
this.PB_Sheet3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Sheet3.TabIndex = 37;
|
||||
this.PB_Sheet3.TabStop = false;
|
||||
PB_Sheet3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Sheet3.ContextMenuStrip = CM_Picture;
|
||||
PB_Sheet3.Location = new System.Drawing.Point(298, 142);
|
||||
PB_Sheet3.Name = "PB_Sheet3";
|
||||
PB_Sheet3.Size = new System.Drawing.Size(130, 130);
|
||||
PB_Sheet3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Sheet3.TabIndex = 37;
|
||||
PB_Sheet3.TabStop = false;
|
||||
//
|
||||
// PB_Sheet2
|
||||
//
|
||||
this.PB_Sheet2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.PB_Sheet2.ContextMenuStrip = this.CM_Picture;
|
||||
this.PB_Sheet2.Location = new System.Drawing.Point(168, 142);
|
||||
this.PB_Sheet2.Name = "PB_Sheet2";
|
||||
this.PB_Sheet2.Size = new System.Drawing.Size(130, 130);
|
||||
this.PB_Sheet2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.PB_Sheet2.TabIndex = 36;
|
||||
this.PB_Sheet2.TabStop = false;
|
||||
PB_Sheet2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Sheet2.ContextMenuStrip = CM_Picture;
|
||||
PB_Sheet2.Location = new System.Drawing.Point(168, 142);
|
||||
PB_Sheet2.Name = "PB_Sheet2";
|
||||
PB_Sheet2.Size = new System.Drawing.Size(130, 130);
|
||||
PB_Sheet2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Sheet2.TabIndex = 36;
|
||||
PB_Sheet2.TabStop = false;
|
||||
//
|
||||
// CB_Pattern_OverwriteDesigner
|
||||
//
|
||||
CB_Pattern_OverwriteDesigner.AutoSize = true;
|
||||
CB_Pattern_OverwriteDesigner.Location = new System.Drawing.Point(263, 288);
|
||||
CB_Pattern_OverwriteDesigner.Name = "CB_Pattern_OverwriteDesigner";
|
||||
CB_Pattern_OverwriteDesigner.Size = new System.Drawing.Size(126, 19);
|
||||
CB_Pattern_OverwriteDesigner.TabIndex = 38;
|
||||
CB_Pattern_OverwriteDesigner.Text = "Overwrite Designer";
|
||||
CB_Pattern_OverwriteDesigner.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// PatternEditorPRO
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||
this.ClientSize = new System.Drawing.Size(592, 328);
|
||||
this.Controls.Add(this.PB_Sheet3);
|
||||
this.Controls.Add(this.PB_Sheet2);
|
||||
this.Controls.Add(this.PB_Sheet1);
|
||||
this.Controls.Add(this.PB_Palette);
|
||||
this.Controls.Add(this.L_PatternName);
|
||||
this.Controls.Add(this.B_DumpLoadDesign);
|
||||
this.Controls.Add(this.PB_Sheet0);
|
||||
this.Controls.Add(this.LB_Items);
|
||||
this.Controls.Add(this.B_Cancel);
|
||||
this.Controls.Add(this.B_Save);
|
||||
this.Icon = global::NHSE.WinForms.Properties.Resources.icon;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "PatternEditorPRO";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Pro Design Editor";
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Palette)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet0)).EndInit();
|
||||
this.CM_Picture.ResumeLayout(false);
|
||||
this.CM_DLDesign.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PB_Sheet2)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||
ClientSize = new System.Drawing.Size(592, 328);
|
||||
Controls.Add(CB_Pattern_OverwriteDesigner);
|
||||
Controls.Add(PB_Sheet3);
|
||||
Controls.Add(PB_Sheet2);
|
||||
Controls.Add(PB_Sheet1);
|
||||
Controls.Add(PB_Palette);
|
||||
Controls.Add(L_PatternName);
|
||||
Controls.Add(B_DumpLoadDesign);
|
||||
Controls.Add(PB_Sheet0);
|
||||
Controls.Add(LB_Items);
|
||||
Controls.Add(B_Cancel);
|
||||
Controls.Add(B_Save);
|
||||
Icon = Properties.Resources.icon;
|
||||
MaximizeBox = false;
|
||||
MinimizeBox = false;
|
||||
Name = "PatternEditorPRO";
|
||||
StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
Text = "Pro Design Editor";
|
||||
((System.ComponentModel.ISupportInitialize)PB_Palette).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet0).EndInit();
|
||||
CM_Picture.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet1).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet3).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Sheet2).EndInit();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -266,5 +273,6 @@ private void InitializeComponent()
|
||||
private System.Windows.Forms.PictureBox PB_Sheet1;
|
||||
private System.Windows.Forms.PictureBox PB_Sheet3;
|
||||
private System.Windows.Forms.PictureBox PB_Sheet2;
|
||||
private System.Windows.Forms.CheckBox CB_Pattern_OverwriteDesigner;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +1,28 @@
|
||||
using System;
|
||||
using NHSE.Core;
|
||||
using NHSE.Sprites;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
using NHSE.Core;
|
||||
using NHSE.Sprites;
|
||||
|
||||
namespace NHSE.WinForms;
|
||||
|
||||
public partial class PatternEditorPRO : Form
|
||||
{
|
||||
private readonly DesignPatternPRO[] Patterns;
|
||||
private readonly Player Player;
|
||||
|
||||
private int Index;
|
||||
private const int scale = 4;
|
||||
|
||||
public PatternEditorPRO(DesignPatternPRO[] patterns)
|
||||
public PatternEditorPRO(DesignPatternPRO[] patterns, Player player)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.TranslateInterface(GameInfo.CurrentLanguage);
|
||||
Patterns = patterns;
|
||||
Player = player;
|
||||
DialogResult = DialogResult.Cancel;
|
||||
|
||||
foreach (var p in patterns)
|
||||
@@ -147,6 +150,17 @@ private void RepopulateList(int index)
|
||||
|
||||
private void LoadPattern(DesignPatternPRO dp)
|
||||
{
|
||||
if (dp.UsageCompatibility is not (0xEE01 or 0xEE05)) // known valid values (01=pro, 05=default_unused)
|
||||
dp.UsageCompatibility = 0xEE01; // reset to default pro design
|
||||
|
||||
if (CB_Pattern_OverwriteDesigner.Checked)
|
||||
{
|
||||
dp.PlayerID = Player.Personal.PlayerID;
|
||||
dp.PlayerName = Player.Personal.PlayerName;
|
||||
dp.TownID = Player.Personal.TownID;
|
||||
dp.TownName = Player.Personal.TownName;
|
||||
}
|
||||
|
||||
const int w = DesignPatternPRO.Width * scale;
|
||||
const int h = DesignPatternPRO.Height * scale;
|
||||
PB_Sheet0.Image = ImageUtil.ResizeImage(dp.GetImage(0), w, h);
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
@@ -117,7 +117,10 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="CM_Picture.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="CM_DLDesign.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="CM_Picture.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>145, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
812
NHSE.WinForms/Subforms/Player/PostBoxEditor.Designer.cs
generated
Normal file
812
NHSE.WinForms/Subforms/Player/PostBoxEditor.Designer.cs
generated
Normal file
@@ -0,0 +1,812 @@
|
||||
using NHSE.Core;
|
||||
|
||||
namespace NHSE.WinForms
|
||||
{
|
||||
partial class PostBoxEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
CAL_PostTimestamp = new System.Windows.Forms.DateTimePicker();
|
||||
B_Cancel = new System.Windows.Forms.Button();
|
||||
B_Save = new System.Windows.Forms.Button();
|
||||
L_Sender_Edit = new System.Windows.Forms.Label();
|
||||
L_Sender_ExternalName = new System.Windows.Forms.Label();
|
||||
L_ExternalName = new System.Windows.Forms.Label();
|
||||
L_InternalName = new System.Windows.Forms.Label();
|
||||
NUD_Variant = new System.Windows.Forms.NumericUpDown();
|
||||
L_Variant = new System.Windows.Forms.Label();
|
||||
NUD_Species = new System.Windows.Forms.NumericUpDown();
|
||||
L_Species = new System.Windows.Forms.Label();
|
||||
PB_Villager = new System.Windows.Forms.PictureBox();
|
||||
TB_Post_Message = new System.Windows.Forms.TextBox();
|
||||
TB_Post_FromLine = new System.Windows.Forms.TextBox();
|
||||
TB_Post_ToLine = new System.Windows.Forms.TextBox();
|
||||
L_Post_To = new System.Windows.Forms.Label();
|
||||
L_Post_Message = new System.Windows.Forms.Label();
|
||||
L_Post_From = new System.Windows.Forms.Label();
|
||||
CB_Post_Language = new System.Windows.Forms.ComboBox();
|
||||
L_Post_UsedSlots = new System.Windows.Forms.Label();
|
||||
L_Post_UsedSlots_Value = new System.Windows.Forms.Label();
|
||||
L_Post_SelectedSlot = new System.Windows.Forms.Label();
|
||||
B_Delete = new System.Windows.Forms.Button();
|
||||
CK_Post_Read = new System.Windows.Forms.CheckBox();
|
||||
CK_Post_Faved = new System.Windows.Forms.CheckBox();
|
||||
CB_Post_SenderType = new System.Windows.Forms.ComboBox();
|
||||
L_SenderType = new System.Windows.Forms.Label();
|
||||
GB_Post_Villager = new System.Windows.Forms.GroupBox();
|
||||
GB_Post_Player = new System.Windows.Forms.GroupBox();
|
||||
TB_Post_PlayerName = new System.Windows.Forms.TextBox();
|
||||
L_Post_TimeStamp = new System.Windows.Forms.Label();
|
||||
L_Post_Language = new System.Windows.Forms.Label();
|
||||
L_Post_CountTo = new System.Windows.Forms.Label();
|
||||
L_Post_CountMsg = new System.Windows.Forms.Label();
|
||||
L_Post_CountFrom = new System.Windows.Forms.Label();
|
||||
GB_Post_NPC = new System.Windows.Forms.GroupBox();
|
||||
CB_Post_NPC = new System.Windows.Forms.ComboBox();
|
||||
TC_Post_SR = new System.Windows.Forms.TabControl();
|
||||
TP_Post_SR = new System.Windows.Forms.TabPage();
|
||||
GB_Post_ReceiverIsland = new System.Windows.Forms.GroupBox();
|
||||
TB_Post_ReceiverIsland = new System.Windows.Forms.TextBox();
|
||||
GB_Post_Stationery = new System.Windows.Forms.GroupBox();
|
||||
CB_Post_Stationery = new System.Windows.Forms.ComboBox();
|
||||
GB_Post_ReceiverPlayer = new System.Windows.Forms.GroupBox();
|
||||
TB_Post_ReceiverPlayer = new System.Windows.Forms.TextBox();
|
||||
TP_Post_Items = new System.Windows.Forms.TabPage();
|
||||
GB_Post_AttachedInfo = new System.Windows.Forms.GroupBox();
|
||||
ItemEditor = new ItemEditor();
|
||||
L_Post_AttachmentSkin = new System.Windows.Forms.Label();
|
||||
CB_Post_AttachmentSkin = new System.Windows.Forms.ComboBox();
|
||||
CB_Post_MailType = new System.Windows.Forms.ComboBox();
|
||||
L_Post_MailType = new System.Windows.Forms.Label();
|
||||
B_Import = new System.Windows.Forms.Button();
|
||||
B_Dump = new System.Windows.Forms.Button();
|
||||
B_Post_DumpAll = new System.Windows.Forms.Button();
|
||||
NUD_Post_Slots = new System.Windows.Forms.NumericUpDown();
|
||||
((System.ComponentModel.ISupportInitialize)NUD_Variant).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)NUD_Species).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Villager).BeginInit();
|
||||
GB_Post_Villager.SuspendLayout();
|
||||
GB_Post_Player.SuspendLayout();
|
||||
GB_Post_NPC.SuspendLayout();
|
||||
TC_Post_SR.SuspendLayout();
|
||||
TP_Post_SR.SuspendLayout();
|
||||
GB_Post_ReceiverIsland.SuspendLayout();
|
||||
GB_Post_Stationery.SuspendLayout();
|
||||
GB_Post_ReceiverPlayer.SuspendLayout();
|
||||
TP_Post_Items.SuspendLayout();
|
||||
GB_Post_AttachedInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)NUD_Post_Slots).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
// CAL_PostTimestamp
|
||||
//
|
||||
CAL_PostTimestamp.Location = new System.Drawing.Point(9, 446);
|
||||
CAL_PostTimestamp.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CAL_PostTimestamp.Name = "CAL_PostTimestamp";
|
||||
CAL_PostTimestamp.Size = new System.Drawing.Size(233, 23);
|
||||
CAL_PostTimestamp.TabIndex = 76;
|
||||
//
|
||||
// B_Cancel
|
||||
//
|
||||
B_Cancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Cancel.Location = new System.Drawing.Point(385, 544);
|
||||
B_Cancel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Cancel.Name = "B_Cancel";
|
||||
B_Cancel.Size = new System.Drawing.Size(107, 46);
|
||||
B_Cancel.TabIndex = 75;
|
||||
B_Cancel.Text = "Cancel";
|
||||
B_Cancel.UseVisualStyleBackColor = true;
|
||||
B_Cancel.Click += B_Cancel_Click;
|
||||
//
|
||||
// B_Save
|
||||
//
|
||||
B_Save.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Save.Location = new System.Drawing.Point(496, 544);
|
||||
B_Save.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Save.Name = "B_Save";
|
||||
B_Save.Size = new System.Drawing.Size(107, 46);
|
||||
B_Save.TabIndex = 74;
|
||||
B_Save.Text = "Save Slot";
|
||||
B_Save.UseVisualStyleBackColor = true;
|
||||
B_Save.Click += B_Save_Click;
|
||||
//
|
||||
// L_Sender_Edit
|
||||
//
|
||||
L_Sender_Edit.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
L_Sender_Edit.Location = new System.Drawing.Point(123, 16);
|
||||
L_Sender_Edit.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Sender_Edit.Name = "L_Sender_Edit";
|
||||
L_Sender_Edit.Size = new System.Drawing.Size(72, 23);
|
||||
L_Sender_Edit.TabIndex = 86;
|
||||
L_Sender_Edit.Text = "Edit Sender:";
|
||||
L_Sender_Edit.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Sender_ExternalName
|
||||
//
|
||||
L_Sender_ExternalName.Location = new System.Drawing.Point(126, 94);
|
||||
L_Sender_ExternalName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Sender_ExternalName.Name = "L_Sender_ExternalName";
|
||||
L_Sender_ExternalName.Size = new System.Drawing.Size(86, 23);
|
||||
L_Sender_ExternalName.TabIndex = 84;
|
||||
L_Sender_ExternalName.Text = "Sender Name:";
|
||||
L_Sender_ExternalName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_ExternalName
|
||||
//
|
||||
L_ExternalName.AutoSize = true;
|
||||
L_ExternalName.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
L_ExternalName.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
L_ExternalName.Location = new System.Drawing.Point(126, 114);
|
||||
L_ExternalName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_ExternalName.Name = "L_ExternalName";
|
||||
L_ExternalName.Size = new System.Drawing.Size(57, 15);
|
||||
L_ExternalName.TabIndex = 83;
|
||||
L_ExternalName.Text = "unknown";
|
||||
L_ExternalName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_InternalName
|
||||
//
|
||||
L_InternalName.AutoSize = true;
|
||||
L_InternalName.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0);
|
||||
L_InternalName.Location = new System.Drawing.Point(8, 137);
|
||||
L_InternalName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_InternalName.Name = "L_InternalName";
|
||||
L_InternalName.Size = new System.Drawing.Size(56, 14);
|
||||
L_InternalName.TabIndex = 82;
|
||||
L_InternalName.Text = "unknown";
|
||||
L_InternalName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// NUD_Variant
|
||||
//
|
||||
NUD_Variant.Location = new System.Drawing.Point(128, 65);
|
||||
NUD_Variant.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_Variant.Maximum = new decimal(new int[] { 255, 0, 0, 0 });
|
||||
NUD_Variant.Name = "NUD_Variant";
|
||||
NUD_Variant.Size = new System.Drawing.Size(46, 23);
|
||||
NUD_Variant.TabIndex = 81;
|
||||
NUD_Variant.ValueChanged += ChangeVillager;
|
||||
//
|
||||
// L_Variant
|
||||
//
|
||||
L_Variant.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
L_Variant.Location = new System.Drawing.Point(177, 64);
|
||||
L_Variant.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Variant.Name = "L_Variant";
|
||||
L_Variant.Size = new System.Drawing.Size(56, 23);
|
||||
L_Variant.TabIndex = 80;
|
||||
L_Variant.Text = "Variant";
|
||||
L_Variant.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// NUD_Species
|
||||
//
|
||||
NUD_Species.Location = new System.Drawing.Point(128, 40);
|
||||
NUD_Species.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
NUD_Species.Maximum = new decimal(new int[] { 400, 0, 0, 0 });
|
||||
NUD_Species.Name = "NUD_Species";
|
||||
NUD_Species.Size = new System.Drawing.Size(46, 23);
|
||||
NUD_Species.TabIndex = 79;
|
||||
NUD_Species.ValueChanged += ChangeVillager;
|
||||
//
|
||||
// L_Species
|
||||
//
|
||||
L_Species.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
L_Species.Location = new System.Drawing.Point(177, 39);
|
||||
L_Species.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Species.Name = "L_Species";
|
||||
L_Species.Size = new System.Drawing.Size(56, 23);
|
||||
L_Species.TabIndex = 78;
|
||||
L_Species.Text = "Species";
|
||||
L_Species.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// PB_Villager
|
||||
//
|
||||
PB_Villager.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
PB_Villager.Location = new System.Drawing.Point(9, 21);
|
||||
PB_Villager.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
PB_Villager.Name = "PB_Villager";
|
||||
PB_Villager.Size = new System.Drawing.Size(114, 114);
|
||||
PB_Villager.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
PB_Villager.TabIndex = 77;
|
||||
PB_Villager.TabStop = false;
|
||||
//
|
||||
// TB_Post_Message
|
||||
//
|
||||
TB_Post_Message.Location = new System.Drawing.Point(7, 138);
|
||||
TB_Post_Message.Multiline = true;
|
||||
TB_Post_Message.Name = "TB_Post_Message";
|
||||
TB_Post_Message.Size = new System.Drawing.Size(220, 218);
|
||||
TB_Post_Message.TabIndex = 87;
|
||||
TB_Post_Message.TextChanged += UpdateMailCounters;
|
||||
//
|
||||
// TB_Post_FromLine
|
||||
//
|
||||
TB_Post_FromLine.Location = new System.Drawing.Point(7, 383);
|
||||
TB_Post_FromLine.Name = "TB_Post_FromLine";
|
||||
TB_Post_FromLine.Size = new System.Drawing.Size(220, 23);
|
||||
TB_Post_FromLine.TabIndex = 88;
|
||||
TB_Post_FromLine.TextChanged += UpdateMailCounters;
|
||||
//
|
||||
// TB_Post_ToLine
|
||||
//
|
||||
TB_Post_ToLine.Location = new System.Drawing.Point(7, 88);
|
||||
TB_Post_ToLine.Name = "TB_Post_ToLine";
|
||||
TB_Post_ToLine.Size = new System.Drawing.Size(220, 23);
|
||||
TB_Post_ToLine.TabIndex = 89;
|
||||
TB_Post_ToLine.TextChanged += UpdateMailCounters;
|
||||
//
|
||||
// L_Post_To
|
||||
//
|
||||
L_Post_To.Location = new System.Drawing.Point(3, 64);
|
||||
L_Post_To.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_To.Name = "L_Post_To";
|
||||
L_Post_To.Size = new System.Drawing.Size(52, 23);
|
||||
L_Post_To.TabIndex = 90;
|
||||
L_Post_To.Text = "To Line:";
|
||||
L_Post_To.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// L_Post_Message
|
||||
//
|
||||
L_Post_Message.Location = new System.Drawing.Point(5, 113);
|
||||
L_Post_Message.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_Message.Name = "L_Post_Message";
|
||||
L_Post_Message.Size = new System.Drawing.Size(58, 23);
|
||||
L_Post_Message.TabIndex = 91;
|
||||
L_Post_Message.Text = "Message:";
|
||||
L_Post_Message.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// L_Post_From
|
||||
//
|
||||
L_Post_From.Location = new System.Drawing.Point(5, 358);
|
||||
L_Post_From.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_From.Name = "L_Post_From";
|
||||
L_Post_From.Size = new System.Drawing.Size(64, 23);
|
||||
L_Post_From.TabIndex = 92;
|
||||
L_Post_From.Text = "From Line:";
|
||||
L_Post_From.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// CB_Post_Language
|
||||
//
|
||||
CB_Post_Language.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
CB_Post_Language.FormattingEnabled = true;
|
||||
CB_Post_Language.Location = new System.Drawing.Point(7, 477);
|
||||
CB_Post_Language.Name = "CB_Post_Language";
|
||||
CB_Post_Language.Size = new System.Drawing.Size(115, 23);
|
||||
CB_Post_Language.TabIndex = 93;
|
||||
//
|
||||
// L_Post_UsedSlots
|
||||
//
|
||||
L_Post_UsedSlots.Location = new System.Drawing.Point(8, 7);
|
||||
L_Post_UsedSlots.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_UsedSlots.Name = "L_Post_UsedSlots";
|
||||
L_Post_UsedSlots.Size = new System.Drawing.Size(74, 23);
|
||||
L_Post_UsedSlots.TabIndex = 94;
|
||||
L_Post_UsedSlots.Text = "Used Slots:";
|
||||
L_Post_UsedSlots.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Post_UsedSlots_Value
|
||||
//
|
||||
L_Post_UsedSlots_Value.AutoSize = true;
|
||||
L_Post_UsedSlots_Value.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
L_Post_UsedSlots_Value.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
L_Post_UsedSlots_Value.Location = new System.Drawing.Point(90, 11);
|
||||
L_Post_UsedSlots_Value.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_UsedSlots_Value.Name = "L_Post_UsedSlots_Value";
|
||||
L_Post_UsedSlots_Value.Size = new System.Drawing.Size(57, 15);
|
||||
L_Post_UsedSlots_Value.TabIndex = 95;
|
||||
L_Post_UsedSlots_Value.Text = "unknown";
|
||||
L_Post_UsedSlots_Value.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Post_SelectedSlot
|
||||
//
|
||||
L_Post_SelectedSlot.Location = new System.Drawing.Point(8, 33);
|
||||
L_Post_SelectedSlot.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_SelectedSlot.Name = "L_Post_SelectedSlot";
|
||||
L_Post_SelectedSlot.Size = new System.Drawing.Size(81, 23);
|
||||
L_Post_SelectedSlot.TabIndex = 96;
|
||||
L_Post_SelectedSlot.Text = "Selected Slot:";
|
||||
L_Post_SelectedSlot.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// B_Delete
|
||||
//
|
||||
B_Delete.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
B_Delete.Location = new System.Drawing.Point(134, 551);
|
||||
B_Delete.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Delete.Name = "B_Delete";
|
||||
B_Delete.Size = new System.Drawing.Size(92, 32);
|
||||
B_Delete.TabIndex = 99;
|
||||
B_Delete.Text = "Delete Mail";
|
||||
B_Delete.UseVisualStyleBackColor = true;
|
||||
B_Delete.Click += B_Delete_Click;
|
||||
//
|
||||
// CK_Post_Read
|
||||
//
|
||||
CK_Post_Read.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
CK_Post_Read.AutoSize = true;
|
||||
CK_Post_Read.Location = new System.Drawing.Point(7, 412);
|
||||
CK_Post_Read.Name = "CK_Post_Read";
|
||||
CK_Post_Read.Size = new System.Drawing.Size(82, 19);
|
||||
CK_Post_Read.TabIndex = 100;
|
||||
CK_Post_Read.Text = "Mark Read";
|
||||
CK_Post_Read.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CK_Post_Faved
|
||||
//
|
||||
CK_Post_Faved.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
CK_Post_Faved.AutoSize = true;
|
||||
CK_Post_Faved.Location = new System.Drawing.Point(7, 435);
|
||||
CK_Post_Faved.Name = "CK_Post_Faved";
|
||||
CK_Post_Faved.Size = new System.Drawing.Size(82, 19);
|
||||
CK_Post_Faved.TabIndex = 101;
|
||||
CK_Post_Faved.Text = "Favourited";
|
||||
CK_Post_Faved.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CB_Post_SenderType
|
||||
//
|
||||
CB_Post_SenderType.FormattingEnabled = true;
|
||||
CB_Post_SenderType.Location = new System.Drawing.Point(6, 26);
|
||||
CB_Post_SenderType.Name = "CB_Post_SenderType";
|
||||
CB_Post_SenderType.Size = new System.Drawing.Size(114, 23);
|
||||
CB_Post_SenderType.TabIndex = 103;
|
||||
CB_Post_SenderType.SelectedIndexChanged += UpdateSenderType;
|
||||
//
|
||||
// L_SenderType
|
||||
//
|
||||
L_SenderType.Location = new System.Drawing.Point(5, 3);
|
||||
L_SenderType.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_SenderType.Name = "L_SenderType";
|
||||
L_SenderType.Size = new System.Drawing.Size(106, 22);
|
||||
L_SenderType.TabIndex = 104;
|
||||
L_SenderType.Text = "Sender Type";
|
||||
L_SenderType.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// GB_Post_Villager
|
||||
//
|
||||
GB_Post_Villager.Controls.Add(PB_Villager);
|
||||
GB_Post_Villager.Controls.Add(L_Species);
|
||||
GB_Post_Villager.Controls.Add(NUD_Species);
|
||||
GB_Post_Villager.Controls.Add(L_Variant);
|
||||
GB_Post_Villager.Controls.Add(NUD_Variant);
|
||||
GB_Post_Villager.Controls.Add(L_InternalName);
|
||||
GB_Post_Villager.Controls.Add(L_ExternalName);
|
||||
GB_Post_Villager.Controls.Add(L_Sender_ExternalName);
|
||||
GB_Post_Villager.Controls.Add(L_Sender_Edit);
|
||||
GB_Post_Villager.Location = new System.Drawing.Point(6, 104);
|
||||
GB_Post_Villager.Name = "GB_Post_Villager";
|
||||
GB_Post_Villager.Size = new System.Drawing.Size(283, 161);
|
||||
GB_Post_Villager.TabIndex = 105;
|
||||
GB_Post_Villager.TabStop = false;
|
||||
GB_Post_Villager.Text = "Villager";
|
||||
//
|
||||
// GB_Post_Player
|
||||
//
|
||||
GB_Post_Player.Controls.Add(TB_Post_PlayerName);
|
||||
GB_Post_Player.Location = new System.Drawing.Point(130, 6);
|
||||
GB_Post_Player.Name = "GB_Post_Player";
|
||||
GB_Post_Player.Size = new System.Drawing.Size(159, 48);
|
||||
GB_Post_Player.TabIndex = 106;
|
||||
GB_Post_Player.TabStop = false;
|
||||
GB_Post_Player.Text = "Player";
|
||||
//
|
||||
// TB_Post_PlayerName
|
||||
//
|
||||
TB_Post_PlayerName.Location = new System.Drawing.Point(6, 19);
|
||||
TB_Post_PlayerName.Name = "TB_Post_PlayerName";
|
||||
TB_Post_PlayerName.Size = new System.Drawing.Size(147, 23);
|
||||
TB_Post_PlayerName.TabIndex = 113;
|
||||
//
|
||||
// L_Post_TimeStamp
|
||||
//
|
||||
L_Post_TimeStamp.Location = new System.Drawing.Point(7, 422);
|
||||
L_Post_TimeStamp.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_TimeStamp.Name = "L_Post_TimeStamp";
|
||||
L_Post_TimeStamp.Size = new System.Drawing.Size(70, 23);
|
||||
L_Post_TimeStamp.TabIndex = 107;
|
||||
L_Post_TimeStamp.Text = "Timestamp:";
|
||||
L_Post_TimeStamp.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Post_Language
|
||||
//
|
||||
L_Post_Language.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
L_Post_Language.Location = new System.Drawing.Point(5, 454);
|
||||
L_Post_Language.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_Language.Name = "L_Post_Language";
|
||||
L_Post_Language.Size = new System.Drawing.Size(67, 23);
|
||||
L_Post_Language.TabIndex = 108;
|
||||
L_Post_Language.Text = "Language:";
|
||||
L_Post_Language.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Post_CountTo
|
||||
//
|
||||
L_Post_CountTo.AutoSize = true;
|
||||
L_Post_CountTo.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
L_Post_CountTo.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
L_Post_CountTo.Location = new System.Drawing.Point(231, 92);
|
||||
L_Post_CountTo.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_CountTo.Name = "L_Post_CountTo";
|
||||
L_Post_CountTo.Size = new System.Drawing.Size(38, 15);
|
||||
L_Post_CountTo.TabIndex = 109;
|
||||
L_Post_CountTo.Text = "count";
|
||||
L_Post_CountTo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Post_CountMsg
|
||||
//
|
||||
L_Post_CountMsg.AutoSize = true;
|
||||
L_Post_CountMsg.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
L_Post_CountMsg.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
L_Post_CountMsg.Location = new System.Drawing.Point(231, 138);
|
||||
L_Post_CountMsg.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_CountMsg.Name = "L_Post_CountMsg";
|
||||
L_Post_CountMsg.Size = new System.Drawing.Size(38, 15);
|
||||
L_Post_CountMsg.TabIndex = 110;
|
||||
L_Post_CountMsg.Text = "count";
|
||||
L_Post_CountMsg.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// L_Post_CountFrom
|
||||
//
|
||||
L_Post_CountFrom.AutoSize = true;
|
||||
L_Post_CountFrom.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||
L_Post_CountFrom.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
L_Post_CountFrom.Location = new System.Drawing.Point(231, 387);
|
||||
L_Post_CountFrom.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_CountFrom.Name = "L_Post_CountFrom";
|
||||
L_Post_CountFrom.Size = new System.Drawing.Size(38, 15);
|
||||
L_Post_CountFrom.TabIndex = 111;
|
||||
L_Post_CountFrom.Text = "count";
|
||||
L_Post_CountFrom.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// GB_Post_NPC
|
||||
//
|
||||
GB_Post_NPC.Controls.Add(CB_Post_NPC);
|
||||
GB_Post_NPC.Location = new System.Drawing.Point(6, 55);
|
||||
GB_Post_NPC.Name = "GB_Post_NPC";
|
||||
GB_Post_NPC.Size = new System.Drawing.Size(283, 48);
|
||||
GB_Post_NPC.TabIndex = 108;
|
||||
GB_Post_NPC.TabStop = false;
|
||||
GB_Post_NPC.Text = "NPC";
|
||||
//
|
||||
// CB_Post_NPC
|
||||
//
|
||||
CB_Post_NPC.FormattingEnabled = true;
|
||||
CB_Post_NPC.Location = new System.Drawing.Point(6, 18);
|
||||
CB_Post_NPC.Name = "CB_Post_NPC";
|
||||
CB_Post_NPC.Size = new System.Drawing.Size(206, 23);
|
||||
CB_Post_NPC.TabIndex = 107;
|
||||
CB_Post_NPC.SelectedIndexChanged += UpdateSenderNPC;
|
||||
//
|
||||
// TC_Post_SR
|
||||
//
|
||||
TC_Post_SR.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
|
||||
TC_Post_SR.Controls.Add(TP_Post_SR);
|
||||
TC_Post_SR.Controls.Add(TP_Post_Items);
|
||||
TC_Post_SR.Location = new System.Drawing.Point(300, 32);
|
||||
TC_Post_SR.Name = "TC_Post_SR";
|
||||
TC_Post_SR.SelectedIndex = 0;
|
||||
TC_Post_SR.Size = new System.Drawing.Size(304, 507);
|
||||
TC_Post_SR.TabIndex = 112;
|
||||
//
|
||||
// TP_Post_SR
|
||||
//
|
||||
TP_Post_SR.Controls.Add(GB_Post_ReceiverIsland);
|
||||
TP_Post_SR.Controls.Add(GB_Post_Stationery);
|
||||
TP_Post_SR.Controls.Add(GB_Post_ReceiverPlayer);
|
||||
TP_Post_SR.Controls.Add(L_SenderType);
|
||||
TP_Post_SR.Controls.Add(GB_Post_NPC);
|
||||
TP_Post_SR.Controls.Add(CB_Post_SenderType);
|
||||
TP_Post_SR.Controls.Add(GB_Post_Villager);
|
||||
TP_Post_SR.Controls.Add(L_Post_TimeStamp);
|
||||
TP_Post_SR.Controls.Add(GB_Post_Player);
|
||||
TP_Post_SR.Controls.Add(CAL_PostTimestamp);
|
||||
TP_Post_SR.Location = new System.Drawing.Point(4, 24);
|
||||
TP_Post_SR.Name = "TP_Post_SR";
|
||||
TP_Post_SR.Padding = new System.Windows.Forms.Padding(3);
|
||||
TP_Post_SR.Size = new System.Drawing.Size(296, 479);
|
||||
TP_Post_SR.TabIndex = 0;
|
||||
TP_Post_SR.Text = "Details";
|
||||
TP_Post_SR.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// GB_Post_ReceiverIsland
|
||||
//
|
||||
GB_Post_ReceiverIsland.Controls.Add(TB_Post_ReceiverIsland);
|
||||
GB_Post_ReceiverIsland.Location = new System.Drawing.Point(6, 370);
|
||||
GB_Post_ReceiverIsland.Name = "GB_Post_ReceiverIsland";
|
||||
GB_Post_ReceiverIsland.Size = new System.Drawing.Size(283, 48);
|
||||
GB_Post_ReceiverIsland.TabIndex = 117;
|
||||
GB_Post_ReceiverIsland.TabStop = false;
|
||||
GB_Post_ReceiverIsland.Text = "Receiver Island";
|
||||
//
|
||||
// TB_Post_ReceiverIsland
|
||||
//
|
||||
TB_Post_ReceiverIsland.Location = new System.Drawing.Point(8, 19);
|
||||
TB_Post_ReceiverIsland.Name = "TB_Post_ReceiverIsland";
|
||||
TB_Post_ReceiverIsland.Size = new System.Drawing.Size(157, 23);
|
||||
TB_Post_ReceiverIsland.TabIndex = 115;
|
||||
//
|
||||
// GB_Post_Stationery
|
||||
//
|
||||
GB_Post_Stationery.Controls.Add(CB_Post_Stationery);
|
||||
GB_Post_Stationery.Location = new System.Drawing.Point(6, 268);
|
||||
GB_Post_Stationery.Name = "GB_Post_Stationery";
|
||||
GB_Post_Stationery.Size = new System.Drawing.Size(283, 48);
|
||||
GB_Post_Stationery.TabIndex = 114;
|
||||
GB_Post_Stationery.TabStop = false;
|
||||
GB_Post_Stationery.Text = "Stationery Type";
|
||||
//
|
||||
// CB_Post_Stationery
|
||||
//
|
||||
CB_Post_Stationery.FormattingEnabled = true;
|
||||
CB_Post_Stationery.Location = new System.Drawing.Point(6, 18);
|
||||
CB_Post_Stationery.Name = "CB_Post_Stationery";
|
||||
CB_Post_Stationery.Size = new System.Drawing.Size(271, 23);
|
||||
CB_Post_Stationery.TabIndex = 107;
|
||||
//
|
||||
// GB_Post_ReceiverPlayer
|
||||
//
|
||||
GB_Post_ReceiverPlayer.Controls.Add(TB_Post_ReceiverPlayer);
|
||||
GB_Post_ReceiverPlayer.Location = new System.Drawing.Point(6, 319);
|
||||
GB_Post_ReceiverPlayer.Name = "GB_Post_ReceiverPlayer";
|
||||
GB_Post_ReceiverPlayer.Size = new System.Drawing.Size(283, 48);
|
||||
GB_Post_ReceiverPlayer.TabIndex = 113;
|
||||
GB_Post_ReceiverPlayer.TabStop = false;
|
||||
GB_Post_ReceiverPlayer.Text = "Receiver Player";
|
||||
//
|
||||
// TB_Post_ReceiverPlayer
|
||||
//
|
||||
TB_Post_ReceiverPlayer.Location = new System.Drawing.Point(8, 19);
|
||||
TB_Post_ReceiverPlayer.Name = "TB_Post_ReceiverPlayer";
|
||||
TB_Post_ReceiverPlayer.Size = new System.Drawing.Size(157, 23);
|
||||
TB_Post_ReceiverPlayer.TabIndex = 115;
|
||||
//
|
||||
// TP_Post_Items
|
||||
//
|
||||
TP_Post_Items.Controls.Add(GB_Post_AttachedInfo);
|
||||
TP_Post_Items.Controls.Add(CB_Post_MailType);
|
||||
TP_Post_Items.Controls.Add(L_Post_MailType);
|
||||
TP_Post_Items.Location = new System.Drawing.Point(4, 24);
|
||||
TP_Post_Items.Name = "TP_Post_Items";
|
||||
TP_Post_Items.Padding = new System.Windows.Forms.Padding(3);
|
||||
TP_Post_Items.Size = new System.Drawing.Size(296, 479);
|
||||
TP_Post_Items.TabIndex = 1;
|
||||
TP_Post_Items.Text = "Attachments";
|
||||
TP_Post_Items.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// GB_Post_AttachedInfo
|
||||
//
|
||||
GB_Post_AttachedInfo.Controls.Add(ItemEditor);
|
||||
GB_Post_AttachedInfo.Controls.Add(L_Post_AttachmentSkin);
|
||||
GB_Post_AttachedInfo.Controls.Add(CB_Post_AttachmentSkin);
|
||||
GB_Post_AttachedInfo.Location = new System.Drawing.Point(5, 32);
|
||||
GB_Post_AttachedInfo.Name = "GB_Post_AttachedInfo";
|
||||
GB_Post_AttachedInfo.Size = new System.Drawing.Size(288, 443);
|
||||
GB_Post_AttachedInfo.TabIndex = 114;
|
||||
GB_Post_AttachedInfo.TabStop = false;
|
||||
GB_Post_AttachedInfo.Text = "Attachment Info";
|
||||
//
|
||||
// ItemEditor
|
||||
//
|
||||
ItemEditor.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
ItemEditor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
ItemEditor.Location = new System.Drawing.Point(7, 65);
|
||||
ItemEditor.Name = "ItemEditor";
|
||||
ItemEditor.Size = new System.Drawing.Size(275, 371);
|
||||
ItemEditor.TabIndex = 113;
|
||||
//
|
||||
// L_Post_AttachmentSkin
|
||||
//
|
||||
L_Post_AttachmentSkin.Location = new System.Drawing.Point(7, 14);
|
||||
L_Post_AttachmentSkin.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_AttachmentSkin.Name = "L_Post_AttachmentSkin";
|
||||
L_Post_AttachmentSkin.Size = new System.Drawing.Size(201, 23);
|
||||
L_Post_AttachmentSkin.TabIndex = 114;
|
||||
L_Post_AttachmentSkin.Text = "Attachment Skin:";
|
||||
L_Post_AttachmentSkin.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// CB_Post_AttachmentSkin
|
||||
//
|
||||
CB_Post_AttachmentSkin.FormattingEnabled = true;
|
||||
CB_Post_AttachmentSkin.Location = new System.Drawing.Point(7, 37);
|
||||
CB_Post_AttachmentSkin.Name = "CB_Post_AttachmentSkin";
|
||||
CB_Post_AttachmentSkin.Size = new System.Drawing.Size(240, 23);
|
||||
CB_Post_AttachmentSkin.TabIndex = 115;
|
||||
//
|
||||
// CB_Post_MailType
|
||||
//
|
||||
CB_Post_MailType.FormattingEnabled = true;
|
||||
CB_Post_MailType.Location = new System.Drawing.Point(123, 7);
|
||||
CB_Post_MailType.Name = "CB_Post_MailType";
|
||||
CB_Post_MailType.Size = new System.Drawing.Size(129, 23);
|
||||
CB_Post_MailType.TabIndex = 113;
|
||||
CB_Post_MailType.SelectedIndexChanged += UpdateMailType;
|
||||
//
|
||||
// L_Post_MailType
|
||||
//
|
||||
L_Post_MailType.Location = new System.Drawing.Point(11, 6);
|
||||
L_Post_MailType.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
L_Post_MailType.Name = "L_Post_MailType";
|
||||
L_Post_MailType.Size = new System.Drawing.Size(68, 23);
|
||||
L_Post_MailType.TabIndex = 113;
|
||||
L_Post_MailType.Text = "Mail Type:";
|
||||
L_Post_MailType.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// B_Import
|
||||
//
|
||||
B_Import.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
B_Import.Location = new System.Drawing.Point(134, 472);
|
||||
B_Import.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Import.Name = "B_Import";
|
||||
B_Import.Size = new System.Drawing.Size(92, 31);
|
||||
B_Import.TabIndex = 113;
|
||||
B_Import.Text = "Import Mail";
|
||||
B_Import.UseVisualStyleBackColor = true;
|
||||
B_Import.Click += B_Import_Click;
|
||||
//
|
||||
// B_Dump
|
||||
//
|
||||
B_Dump.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
B_Dump.Location = new System.Drawing.Point(134, 436);
|
||||
B_Dump.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Dump.Name = "B_Dump";
|
||||
B_Dump.Size = new System.Drawing.Size(92, 31);
|
||||
B_Dump.TabIndex = 114;
|
||||
B_Dump.Text = "Dump Mail";
|
||||
B_Dump.UseVisualStyleBackColor = true;
|
||||
B_Dump.Click += B_Dump_Click;
|
||||
//
|
||||
// B_Post_DumpAll
|
||||
//
|
||||
B_Post_DumpAll.Location = new System.Drawing.Point(191, 29);
|
||||
B_Post_DumpAll.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Post_DumpAll.Name = "B_Post_DumpAll";
|
||||
B_Post_DumpAll.Size = new System.Drawing.Size(88, 32);
|
||||
B_Post_DumpAll.TabIndex = 115;
|
||||
B_Post_DumpAll.Text = "Dump All";
|
||||
B_Post_DumpAll.UseVisualStyleBackColor = true;
|
||||
B_Post_DumpAll.Click += B_Dump_Click;
|
||||
//
|
||||
// NUD_Post_Slots
|
||||
//
|
||||
NUD_Post_Slots.Location = new System.Drawing.Point(88, 34);
|
||||
NUD_Post_Slots.Name = "NUD_Post_Slots";
|
||||
NUD_Post_Slots.Size = new System.Drawing.Size(60, 23);
|
||||
NUD_Post_Slots.TabIndex = 116;
|
||||
NUD_Post_Slots.ValueChanged += LoadMailItem;
|
||||
//
|
||||
// PostBoxEditor
|
||||
//
|
||||
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
ClientSize = new System.Drawing.Size(614, 601);
|
||||
Controls.Add(NUD_Post_Slots);
|
||||
Controls.Add(B_Post_DumpAll);
|
||||
Controls.Add(B_Dump);
|
||||
Controls.Add(B_Import);
|
||||
Controls.Add(TC_Post_SR);
|
||||
Controls.Add(L_Post_CountFrom);
|
||||
Controls.Add(L_Post_CountMsg);
|
||||
Controls.Add(L_Post_CountTo);
|
||||
Controls.Add(L_Post_Language);
|
||||
Controls.Add(CK_Post_Faved);
|
||||
Controls.Add(CK_Post_Read);
|
||||
Controls.Add(B_Delete);
|
||||
Controls.Add(L_Post_SelectedSlot);
|
||||
Controls.Add(L_Post_UsedSlots_Value);
|
||||
Controls.Add(L_Post_UsedSlots);
|
||||
Controls.Add(CB_Post_Language);
|
||||
Controls.Add(L_Post_From);
|
||||
Controls.Add(L_Post_Message);
|
||||
Controls.Add(L_Post_To);
|
||||
Controls.Add(TB_Post_ToLine);
|
||||
Controls.Add(TB_Post_FromLine);
|
||||
Controls.Add(TB_Post_Message);
|
||||
Controls.Add(B_Cancel);
|
||||
Controls.Add(B_Save);
|
||||
Icon = Properties.Resources.icon;
|
||||
Name = "PostBoxEditor";
|
||||
StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
Text = "Post Box Editor";
|
||||
((System.ComponentModel.ISupportInitialize)NUD_Variant).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)NUD_Species).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)PB_Villager).EndInit();
|
||||
GB_Post_Villager.ResumeLayout(false);
|
||||
GB_Post_Villager.PerformLayout();
|
||||
GB_Post_Player.ResumeLayout(false);
|
||||
GB_Post_Player.PerformLayout();
|
||||
GB_Post_NPC.ResumeLayout(false);
|
||||
TC_Post_SR.ResumeLayout(false);
|
||||
TP_Post_SR.ResumeLayout(false);
|
||||
GB_Post_ReceiverIsland.ResumeLayout(false);
|
||||
GB_Post_ReceiverIsland.PerformLayout();
|
||||
GB_Post_Stationery.ResumeLayout(false);
|
||||
GB_Post_ReceiverPlayer.ResumeLayout(false);
|
||||
GB_Post_ReceiverPlayer.PerformLayout();
|
||||
TP_Post_Items.ResumeLayout(false);
|
||||
GB_Post_AttachedInfo.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)NUD_Post_Slots).EndInit();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.DateTimePicker CAL_PostTimestamp;
|
||||
private System.Windows.Forms.Button B_Cancel;
|
||||
private System.Windows.Forms.Button B_Save;
|
||||
private System.Windows.Forms.Label L_Sender_Edit;
|
||||
private System.Windows.Forms.Label L_Sender_ExternalName;
|
||||
private System.Windows.Forms.Label L_ExternalName;
|
||||
private System.Windows.Forms.Label L_InternalName;
|
||||
private System.Windows.Forms.NumericUpDown NUD_Variant;
|
||||
private System.Windows.Forms.Label L_Variant;
|
||||
private System.Windows.Forms.NumericUpDown NUD_Species;
|
||||
private System.Windows.Forms.Label L_Species;
|
||||
private System.Windows.Forms.PictureBox PB_Villager;
|
||||
private System.Windows.Forms.TextBox TB_Post_Message;
|
||||
private System.Windows.Forms.TextBox TB_Post_FromLine;
|
||||
private System.Windows.Forms.TextBox TB_Post_ToLine;
|
||||
private System.Windows.Forms.Label L_Post_To;
|
||||
private System.Windows.Forms.Label L_Post_Message;
|
||||
private System.Windows.Forms.Label L_Post_From;
|
||||
private System.Windows.Forms.ComboBox CB_Post_Language;
|
||||
private System.Windows.Forms.Label L_Post_UsedSlots;
|
||||
private System.Windows.Forms.Label L_Post_UsedSlots_Value;
|
||||
private System.Windows.Forms.Label L_Post_SelectedSlot;
|
||||
private System.Windows.Forms.Button B_Delete;
|
||||
private System.Windows.Forms.CheckBox CK_Post_Read;
|
||||
private System.Windows.Forms.CheckBox CK_Post_Faved;
|
||||
private System.Windows.Forms.ComboBox CB_Post_SenderType;
|
||||
private System.Windows.Forms.Label L_SenderType;
|
||||
private System.Windows.Forms.GroupBox GB_Post_Villager;
|
||||
private System.Windows.Forms.GroupBox GB_Post_Player;
|
||||
private System.Windows.Forms.Label L_Post_TimeStamp;
|
||||
private System.Windows.Forms.Label L_Post_Language;
|
||||
private System.Windows.Forms.Label L_Post_CountTo;
|
||||
private System.Windows.Forms.Label L_Post_CountMsg;
|
||||
private System.Windows.Forms.Label L_Post_CountFrom;
|
||||
private System.Windows.Forms.GroupBox GB_Post_NPC;
|
||||
private System.Windows.Forms.ComboBox CB_Post_NPC;
|
||||
private System.Windows.Forms.TabControl TC_Post_SR;
|
||||
private System.Windows.Forms.TabPage TP_Post_SR;
|
||||
private System.Windows.Forms.TabPage TP_Post_Items;
|
||||
private System.Windows.Forms.GroupBox GB_Post_ReceiverPlayer;
|
||||
private System.Windows.Forms.GroupBox GB_Post_Stationery;
|
||||
private System.Windows.Forms.ComboBox CB_Post_Stationery;
|
||||
private System.Windows.Forms.Label L_Post_MailType;
|
||||
private System.Windows.Forms.ComboBox CB_Post_MailType;
|
||||
private System.Windows.Forms.GroupBox GB_Post_AttachedInfo;
|
||||
private System.Windows.Forms.Label L_Post_AttachmentSkin;
|
||||
private System.Windows.Forms.ComboBox CB_Post_AttachmentSkin;
|
||||
private ItemEditor ItemEditor;
|
||||
private System.Windows.Forms.TextBox TB_Post_PlayerName;
|
||||
private System.Windows.Forms.Button B_Import;
|
||||
private System.Windows.Forms.Button B_Dump;
|
||||
private System.Windows.Forms.Button B_Post_DumpAll;
|
||||
private System.Windows.Forms.GroupBox GB_Post_ReceiverIsland;
|
||||
private System.Windows.Forms.TextBox TB_Post_ReceiverIsland;
|
||||
private System.Windows.Forms.TextBox TB_Post_ReceiverPlayer;
|
||||
private System.Windows.Forms.NumericUpDown NUD_Post_Slots;
|
||||
}
|
||||
}
|
||||
572
NHSE.WinForms/Subforms/Player/PostBoxEditor.cs
Normal file
572
NHSE.WinForms/Subforms/Player/PostBoxEditor.cs
Normal file
@@ -0,0 +1,572 @@
|
||||
using NHSE.Core;
|
||||
using NHSE.Sprites;
|
||||
using NHSE.WinForms.Properties;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Media;
|
||||
using System.Windows.Forms;
|
||||
using static NHSE.Core.Mail;
|
||||
|
||||
namespace NHSE.WinForms;
|
||||
|
||||
public partial class PostBoxEditor : Form
|
||||
{
|
||||
private readonly Player Player;
|
||||
private readonly PostBox PostBox;
|
||||
|
||||
private readonly string[] Wrap;
|
||||
private readonly string[] Box;
|
||||
private Item Attachment;
|
||||
private List<int> PostSlots;
|
||||
|
||||
private string GetUpdatedVillagerInternalName() => VillagerUtil.GetInternalVillagerName((VillagerSpecies)NUD_Species.Value, (int)NUD_Variant.Value);
|
||||
|
||||
public PostBoxEditor(Player p, PostBox pb)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.TranslateInterface(GameInfo.CurrentLanguage);
|
||||
|
||||
Player = p;
|
||||
PostBox = pb;
|
||||
Attachment = new Item();
|
||||
|
||||
PostSlots = PostBox.GetUsedPostBoxSlots();
|
||||
|
||||
NUD_Post_Slots.Maximum = MaxSlots;
|
||||
|
||||
L_Post_UsedSlots_Value.Text = PostSlots.Count + " / 300";
|
||||
|
||||
CB_Post_SenderType.Items.AddRange(NPCTypeList.ToArray());
|
||||
var senderNPC = SenderNPCData.Values.Select(npc => GameInfo.Strings.GetVillager(npc.NameConversion));
|
||||
CB_Post_NPC.Items.AddRange(senderNPC.ToArray());
|
||||
CB_Post_Language.Items.AddRange(BCP47LanguageString.Keys.ToArray());
|
||||
|
||||
CB_Post_Stationery.Items.AddRange(LetterStationerySkin.Values.Select(skin => GameInfo.Strings.GetMail(skin.name)).ToArray());
|
||||
|
||||
TB_Post_ToLine.MaxLength = LetterToTextLength;
|
||||
TB_Post_Message.MaxLength = LetterMessageTextLength;
|
||||
TB_Post_FromLine.MaxLength = LetterFromTextLength;
|
||||
|
||||
ItemEditor.Initialize(GameInfo.Strings.ItemDataSource, true, true);
|
||||
|
||||
CB_Post_MailType.Items.AddRange(MailTypeList.ToArray());
|
||||
|
||||
Wrap = ItemWrappingExtended.ItemWrappingSkin.Values.Select(skin => GameInfo.Strings.GetMail(skin.name)).ToArray();
|
||||
Box = ItemWrappingExtended.ItemBoxSkin.Values.Select(skin => GameInfo.Strings.GetMail(skin.name)).ToArray();
|
||||
|
||||
LoadMailItem();
|
||||
|
||||
DialogResult = DialogResult.Cancel;
|
||||
}
|
||||
|
||||
private void ChangeVillager(object sender, EventArgs e) => ChangeVillager();
|
||||
private void ChangeVillager()
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
if (PostBox.GetMailCheck((int)NUD_Post_Slots.Value) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (CB_Post_SenderType.SelectedIndex != 0)
|
||||
{
|
||||
var spVal = (int)NUD_Species.Value;
|
||||
var vaVal = (int)NUD_Variant.Value;
|
||||
|
||||
if (spVal >= 35 || (spVal == 25 && vaVal == 0) || (spVal == 22 && vaVal == 0))
|
||||
{
|
||||
CB_Post_SenderType.SelectedIndex = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
CB_Post_SenderType.SelectedIndex = 1;
|
||||
}
|
||||
}
|
||||
|
||||
var name = GetUpdatedVillagerInternalName();
|
||||
L_InternalName.Text = name;
|
||||
L_ExternalName.Text = GameInfo.Strings.GetVillager(name);
|
||||
|
||||
var sprite = VillagerSprite.GetVillagerSprite(name);
|
||||
|
||||
if (CB_Post_SenderType.SelectedIndex == 1) // Villager
|
||||
{
|
||||
GB_Post_NPC.Enabled = false;
|
||||
GB_Post_Player.Enabled = false;
|
||||
|
||||
PB_Villager.Image = sprite;
|
||||
|
||||
CB_Post_SenderType.SelectedIndex = 1;
|
||||
CB_Post_NPC.SelectedIndex = -1;
|
||||
}
|
||||
else if (CB_Post_SenderType.SelectedIndex == 2) // NPC
|
||||
{
|
||||
GB_Post_NPC.Enabled = true;
|
||||
GB_Post_Player.Enabled = false;
|
||||
|
||||
|
||||
var speciesValue = (int)NUD_Species.Value;
|
||||
if (!SenderNPCData.TryGetValue(speciesValue, out var npcData))
|
||||
{
|
||||
PB_Villager.Image = sprite;
|
||||
CB_Post_SenderType.SelectedIndex = 2;
|
||||
CB_Post_NPC.SelectedIndex = -1;
|
||||
return;
|
||||
}
|
||||
name = npcData.Image;
|
||||
|
||||
sprite = VillagerSprite.GetVillagerSprite(name);
|
||||
var nameNPC = SenderNPCData[(int)NUD_Species.Value].NameConversion;
|
||||
L_InternalName.Text = nameNPC;
|
||||
L_ExternalName.Text = GameInfo.Strings.GetVillager(nameNPC);
|
||||
|
||||
PB_Villager.Image = sprite;
|
||||
|
||||
CB_Post_SenderType.SelectedIndex = 2;
|
||||
CB_Post_NPC.SelectedIndex = npcData.MappingIndex;
|
||||
}
|
||||
else if (CB_Post_SenderType.SelectedIndex == 0) // Player
|
||||
{
|
||||
GB_Post_NPC.Enabled = false;
|
||||
GB_Post_Player.Enabled = true;
|
||||
|
||||
sprite = VillagerSprite.GetVillagerSprite("Leaf");
|
||||
L_InternalName.Text = PostBox.GetSenderName(index);
|
||||
L_ExternalName.Text = PostBox.GetSenderName(index);
|
||||
|
||||
PB_Villager.Image = sprite;
|
||||
|
||||
CB_Post_SenderType.SelectedIndex = 0;
|
||||
CB_Post_NPC.SelectedIndex = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var senderType = PostBox.GetSenderType(index);
|
||||
throw new NotSupportedException($"Unknown sender type: 0x{senderType:X2}");
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateSenderNPC(object sender, EventArgs e)
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
var npcSelected = SenderNPCData.FirstOrDefault(x => x.Value.MappingIndex == CB_Post_NPC.SelectedIndex).Key;
|
||||
NUD_Species.Value = npcSelected;
|
||||
}
|
||||
|
||||
private void UpdateMailType(object sender, EventArgs e)
|
||||
{
|
||||
if (CB_Post_MailType.SelectedIndex == 1) // Letter
|
||||
{
|
||||
CB_Post_Stationery.Enabled = true;
|
||||
CB_Post_AttachmentSkin.Items.Clear();
|
||||
CB_Post_AttachmentSkin.Items.AddRange(Wrap);
|
||||
CB_Post_AttachmentSkin.SelectedIndex = 0;
|
||||
}
|
||||
else if (CB_Post_MailType.SelectedIndex == 0) // Package
|
||||
{
|
||||
CB_Post_Stationery.Enabled = false;
|
||||
CB_Post_AttachmentSkin.Items.Clear();
|
||||
CB_Post_AttachmentSkin.Items.AddRange(Box);
|
||||
CB_Post_AttachmentSkin.SelectedIndex = 0;
|
||||
CB_Post_Stationery.SelectedIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateSenderType(object sender, EventArgs e)
|
||||
{
|
||||
if (CB_Post_SenderType.SelectedIndex == 0) // Player
|
||||
{
|
||||
GB_Post_NPC.Enabled = false;
|
||||
GB_Post_Player.Enabled = true;
|
||||
L_InternalName.Text = "player";
|
||||
L_ExternalName.Text = "Player";
|
||||
PB_Villager.Image = null;
|
||||
}
|
||||
else if (CB_Post_SenderType.SelectedIndex == 1) // Villager
|
||||
{
|
||||
GB_Post_NPC.Enabled = false;
|
||||
GB_Post_Player.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
GB_Post_NPC.Enabled = true;
|
||||
GB_Post_Player.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMailCounters(object sender, EventArgs e) => UpdateMailCounters();
|
||||
private void UpdateMailCounters()
|
||||
{
|
||||
void UpdateCounter(Label label, TextBox textBox, int maxLength)
|
||||
{
|
||||
var currentLength = textBox.Text.Replace("\r\n", "\n").Length;
|
||||
label.Text = currentLength + " / " + maxLength;
|
||||
label.ForeColor = currentLength > maxLength
|
||||
? System.Drawing.Color.Red
|
||||
: System.Drawing.SystemColors.WindowText;
|
||||
}
|
||||
|
||||
UpdateCounter(L_Post_CountTo, TB_Post_ToLine, LetterToTextLength);
|
||||
UpdateCounter(L_Post_CountMsg, TB_Post_Message, LetterMessageTextLength);
|
||||
UpdateCounter(L_Post_CountFrom, TB_Post_FromLine, LetterFromTextLength);
|
||||
}
|
||||
|
||||
private void ResetInterface()
|
||||
{
|
||||
L_InternalName.Text = "";
|
||||
L_ExternalName.Text = "";
|
||||
PB_Villager.Image = null;
|
||||
TB_Post_ToLine.Text = "";
|
||||
TB_Post_Message.Text = "";
|
||||
TB_Post_FromLine.Text = "";
|
||||
CK_Post_Read.Checked = false;
|
||||
CK_Post_Faved.Checked = false;
|
||||
CAL_PostTimestamp.Value = DateTime.Now;
|
||||
CB_Post_SenderType.SelectedIndex = -1;
|
||||
CB_Post_NPC.SelectedIndex = -1;
|
||||
TB_Post_PlayerName.Text = "";
|
||||
TB_Post_ReceiverPlayer.Text = "";
|
||||
TB_Post_ReceiverIsland.Text = "";
|
||||
CB_Post_Language.SelectedIndex = -1;
|
||||
CB_Post_Stationery.SelectedIndex = -1;
|
||||
CB_Post_MailType.SelectedIndex = -1;
|
||||
CB_Post_AttachmentSkin.Items.Clear();
|
||||
}
|
||||
|
||||
|
||||
private void LoadMailItem(object sender, EventArgs e) => LoadMailItem();
|
||||
private void LoadMailItem()
|
||||
{
|
||||
ResetInterface();
|
||||
|
||||
if (PostBox.GetUsedPostBoxSlots().Count == 0)
|
||||
{
|
||||
MessageBox.Show("No mail items found in the post box.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(PostBox.GetMailCheck((int)NUD_Post_Slots.Value) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LoadVillagerFromMail();
|
||||
LoadMailText();
|
||||
LoadMailProperties();
|
||||
LoadMailAttachment();
|
||||
}
|
||||
|
||||
private void LoadVillagerFromMail()
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
NUD_Species.Value = PostBox.GetVillagerSenderSpeciesId(index);
|
||||
NUD_Variant.Value = PostBox.GetVillagerSenderVariantId(index);
|
||||
|
||||
CB_Post_SenderType.SelectedIndex = PostBox.GetSenderType(index);
|
||||
|
||||
ChangeVillager();
|
||||
}
|
||||
|
||||
private void LoadMailText()
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
var toText = PostBox.GetLetterToLineText(index);
|
||||
TB_Post_ToLine.Text = toText;
|
||||
var msgText = PostBox.GetLetterMessageText(index);
|
||||
TB_Post_Message.Text = msgText.Replace("\n", "\r\n");
|
||||
var fromText = PostBox.GetLetterFromLineText(index);
|
||||
TB_Post_FromLine.Text = fromText;
|
||||
|
||||
UpdateMailCounters();
|
||||
}
|
||||
|
||||
private void LoadMailProperties()
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
CK_Post_Read.Checked = PostBox.GetMailReadStatus(index);
|
||||
CK_Post_Faved.Checked = PostBox.GetMailFavStatus(index);
|
||||
CAL_PostTimestamp.Value = PostBox.GetTimestamp(index);
|
||||
CB_Post_SenderType.SelectedIndex = PostBox.GetSenderType(index);
|
||||
|
||||
SenderNPCData.TryGetValue((int)NUD_Species.Value, out var npcData);
|
||||
|
||||
if (CB_Post_SenderType.SelectedIndex == 2 && npcData != null) // NPC
|
||||
CB_Post_NPC.SelectedIndex = npcData.MappingIndex;
|
||||
|
||||
if (CB_Post_SenderType.SelectedIndex == 0) // Player
|
||||
TB_Post_PlayerName.Text = PostBox.GetSenderName(index);
|
||||
|
||||
TB_Post_ReceiverPlayer.Text = PostBox.GetReceiverPlayerName(index);
|
||||
TB_Post_ReceiverIsland.Text = PostBox.GetReceiverIslandName(index);
|
||||
|
||||
var lang = PostBox.GetMailLanguageString(index);
|
||||
if (lang != null && BCP47LanguageString.ContainsKey(lang))
|
||||
{
|
||||
CB_Post_Language.SelectedIndex = BCP47LanguageString[lang];
|
||||
}
|
||||
else
|
||||
{
|
||||
CB_Post_Language.SelectedIndex = -1;
|
||||
}
|
||||
|
||||
var stationerySkin = PostBox.GetMailStationerySkin(index);
|
||||
if (LetterStationerySkin.ContainsKey(stationerySkin))
|
||||
{
|
||||
CB_Post_Stationery.SelectedIndex = LetterStationerySkin[stationerySkin].index;
|
||||
}
|
||||
else
|
||||
{
|
||||
CB_Post_Stationery.SelectedIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadMailAttachment()
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
var attachedItemId = PostBox.GetAttachedItem(index);
|
||||
Attachment = ItemEditor.LoadItem(attachedItemId);
|
||||
|
||||
var wrap = PostBox.GetItemWrappingType(index);
|
||||
var letterType = PostBox.GetMailType(index);
|
||||
|
||||
CB_Post_MailType.SelectedIndex = Convert.ToInt32(letterType);
|
||||
|
||||
if (CB_Post_MailType.SelectedIndex == 1)
|
||||
{
|
||||
CB_Post_Stationery.Enabled = true;
|
||||
CB_Post_AttachmentSkin.Items.Clear();
|
||||
CB_Post_AttachmentSkin.Items.AddRange(Wrap);
|
||||
CB_Post_AttachmentSkin.SelectedIndex = ItemWrappingExtended.ItemWrappingSkin[wrap].index;
|
||||
}
|
||||
if (CB_Post_MailType.SelectedIndex == 0)
|
||||
{
|
||||
CB_Post_Stationery.Enabled = false;
|
||||
CB_Post_AttachmentSkin.Items.Clear();
|
||||
CB_Post_AttachmentSkin.Items.AddRange(Box);
|
||||
CB_Post_AttachmentSkin.SelectedIndex = ItemWrappingExtended.ItemBoxSkin[wrap].index;
|
||||
CB_Post_Stationery.SelectedIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMailSlotIndex(int index)
|
||||
{
|
||||
if (!PostBox.GetMailCheck(index) || PostBox.GetPostBoxSortIndex(index) == 0x00)
|
||||
{
|
||||
var nextSlot = PostBox.GetLatestUniqueId();
|
||||
PostBox.SetPostBoxSortIndex(index, (byte)nextSlot);
|
||||
PostBox.SetLatestUniqueId(nextSlot + 1);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMailSenderInfo(int index)
|
||||
{
|
||||
PostBox.SetSenderType(index, (byte)CB_Post_SenderType.SelectedIndex);
|
||||
if (CB_Post_SenderType.SelectedIndex == 0x00) // Player
|
||||
{
|
||||
PostBox.SetPlayerSenderIslandId(index, Player.Personal.TownID);
|
||||
PostBox.SetPlayerSenderIslandName(index, Player.Personal.TownName);
|
||||
PostBox.SetSenderId(index, Player.Personal.PlayerID);
|
||||
PostBox.SetSenderName(index, TB_Post_PlayerName.Text);
|
||||
}
|
||||
|
||||
if (CB_Post_SenderType.SelectedIndex == 0x01) // Villager
|
||||
{
|
||||
PostBox.SetVillagerSenderSpeciesId(index, (int)NUD_Species.Value);
|
||||
PostBox.SetVillagerSenderVariantId(index, (int)NUD_Variant.Value);
|
||||
PostBox.SetNPCSenderIslandId(index, Player.Personal.TownID);
|
||||
PostBox.SetNPCSenderIslandName(index, Player.Personal.TownName);
|
||||
PostBox.SetSenderId(index, 0x02);
|
||||
// Don't set a sender nameNPC, this is blank for villagers.
|
||||
}
|
||||
|
||||
if (CB_Post_SenderType.SelectedIndex == 0x02) // NPC
|
||||
{
|
||||
PostBox.SetVillagerSenderSpeciesId(index, (int)NUD_Species.Value);
|
||||
PostBox.SetVillagerSenderVariantId(index, (int)NUD_Variant.Value);
|
||||
// Don't set a sender island ID or nameNPC, this is blank for NPCs.
|
||||
PostBox.SetSenderId(index, 0x00);
|
||||
// Don't set a sender nameNPC, this is blank for NPCs.
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMailAttachment(int index)
|
||||
{
|
||||
PostBox.SetAttachedItem(index, ItemEditor.SetItem(Attachment));
|
||||
|
||||
var selectedSkinIndex = CB_Post_AttachmentSkin.SelectedIndex;
|
||||
if (CB_Post_MailType.SelectedIndex == 1)
|
||||
{
|
||||
PostBox.SetMailType(index, true);
|
||||
var attachmentSkin = ItemWrappingExtended.ItemWrappingSkin.FirstOrDefault(x => x.Value.index == selectedSkinIndex);
|
||||
if (attachmentSkin.Value != null)
|
||||
{
|
||||
PostBox.SetItemWrappingType(index, (byte)attachmentSkin.Key);
|
||||
}
|
||||
|
||||
var letterSkinIndex = CB_Post_Stationery.SelectedIndex;
|
||||
var letterSkin = (ushort)LetterStationerySkin.FirstOrDefault(skin => skin.Value.index == letterSkinIndex).Key;
|
||||
PostBox.SetMailStationerySkin(index, letterSkin);
|
||||
}
|
||||
else if (CB_Post_MailType.SelectedIndex == 0)
|
||||
{
|
||||
PostBox.SetMailType(index, false);
|
||||
var attachmentSkin = ItemWrappingExtended.ItemBoxSkin.FirstOrDefault(x => x.Value.index == selectedSkinIndex);
|
||||
if (attachmentSkin.Value != null)
|
||||
{
|
||||
PostBox.SetItemWrappingType(index, (byte)attachmentSkin.Key);
|
||||
}
|
||||
|
||||
PostBox.SetMailStationerySkin(index, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMailReceiverInfo(int index)
|
||||
{
|
||||
PostBox.SetReceiverPlayerName(index, TB_Post_ReceiverPlayer.Text);
|
||||
PostBox.SetReceiverPlayerId(index, Player.Personal.PlayerID);
|
||||
PostBox.SetReceiverIslandName(index, TB_Post_ReceiverIsland.Text);
|
||||
PostBox.SetReceiverIslandId(index, Player.Personal.TownID);
|
||||
}
|
||||
|
||||
private void UpdateMailText(int index)
|
||||
{
|
||||
var langString = BCP47LanguageString.FirstOrDefault(x => x.Value == CB_Post_Language.SelectedIndex).Key;
|
||||
PostBox.SetMailLanguageString(index, langString, CB_Post_SenderType.SelectedIndex == 0);
|
||||
PostBox.SetLetterToLineText(index, TB_Post_ToLine.Text.Replace("\r\n", "\n").Replace("\n", ""));
|
||||
PostBox.SetLetterMessageText(index, TB_Post_Message.Text.Replace("\r\n", "\n"));
|
||||
PostBox.SetLetterFromLineText(index, TB_Post_FromLine.Text.Replace("\r\n", "\n").Replace("\n", ""));
|
||||
}
|
||||
|
||||
private void UpdateMailItem(object sender, EventArgs e)
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
UpdateMailSlotIndex(index);
|
||||
|
||||
PostBox.WipeTxRxSection(index);
|
||||
|
||||
PostBox.SetMailReadStatus(index, CK_Post_Read.Checked);
|
||||
PostBox.SetMailFavStatus(index, CK_Post_Faved.Checked);
|
||||
|
||||
UpdateMailSenderInfo(index);
|
||||
|
||||
UpdateMailReceiverInfo(index);
|
||||
|
||||
UpdateMailAttachment(index);
|
||||
|
||||
UpdateMailText(index);
|
||||
|
||||
PostBox.SetTimeStamp(index, CAL_PostTimestamp.Value);
|
||||
}
|
||||
|
||||
private void ImportPostItem(int index)
|
||||
{
|
||||
var currentIndex = PostBox.GetPostBoxSortIndex(index);
|
||||
int currentUniqueId = PostBox.GetLatestUniqueId();
|
||||
|
||||
currentUniqueId = Math.Min(currentUniqueId, 299); // Cap unique ID to prevent overflow and ensure it stays within the 300 mail item limit.
|
||||
|
||||
if(currentIndex != 0x00 || PostBox.GetMailCheck(index))
|
||||
{
|
||||
using var ofd = new OpenFileDialog();
|
||||
ofd.Filter = "New Horizons Post (*.nhpb)|*.nhpb|All files (*.*)|*.*";
|
||||
if (ofd.ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
var d = File.ReadAllBytes(ofd.FileName);
|
||||
PostBox.SetIndividualLetter(index, d);
|
||||
PostBox.SetPostBoxSortIndex(index, (byte)currentIndex);
|
||||
}
|
||||
else
|
||||
{
|
||||
using var ofd = new OpenFileDialog();
|
||||
ofd.Filter = "New Horizons Post (*.nhpb)|*.nhpb|All files (*.*)|*.*";
|
||||
if (ofd.ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
var d = File.ReadAllBytes(ofd.FileName);
|
||||
PostBox.SetIndividualLetter(index, d);
|
||||
PostBox.SetPostBoxSortIndex(index, (byte)currentUniqueId);
|
||||
PostBox.SetLatestUniqueId(Math.Min(currentUniqueId + 1, 299));
|
||||
}
|
||||
LoadMailItem();
|
||||
}
|
||||
private void DumpPostItem(int index)
|
||||
{
|
||||
var name = Player.Personal.PlayerName + "_Post_Slot" + index + "_" + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||
using var sfd = new SaveFileDialog();
|
||||
sfd.Filter = "New Horizons Post (*.nhpb)|*.nhpb|All files (*.*)|*.*";
|
||||
sfd.FileName = $"{name}.nhpb";
|
||||
if (sfd.ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
|
||||
var d = PostBox.GetIndividualLetter(index);
|
||||
File.WriteAllBytes(sfd.FileName, d);
|
||||
}
|
||||
|
||||
private void DumpAllPostItems()
|
||||
{
|
||||
using var fbd = new FolderBrowserDialog();
|
||||
if (fbd.ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
var postSlots = PostBox.GetUsedPostBoxSlots();
|
||||
postSlots.ForEach(i =>
|
||||
{
|
||||
var name = Player.Personal.PlayerName + "_Post_Slot" + i + "_" + DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||
var path = Path.Combine(fbd.SelectedPath, $"{name}.nhpb");
|
||||
var d = PostBox.GetIndividualLetter(i);
|
||||
File.WriteAllBytes(path, d);
|
||||
});
|
||||
}
|
||||
|
||||
private void B_Dump_Click(object sender, EventArgs e)
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
if (sender == B_Post_DumpAll)
|
||||
{
|
||||
DumpAllPostItems();
|
||||
SystemSounds.Asterisk.Play();
|
||||
}
|
||||
else
|
||||
{
|
||||
DumpPostItem(index);
|
||||
SystemSounds.Asterisk.Play();
|
||||
}
|
||||
}
|
||||
|
||||
private void B_Import_Click(object sender, EventArgs e)
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
ImportPostItem(index);
|
||||
SystemSounds.Asterisk.Play();
|
||||
}
|
||||
|
||||
private void B_Delete_Click(object sender, EventArgs e)
|
||||
{
|
||||
var index = (int)NUD_Post_Slots.Value;
|
||||
|
||||
var arr = new byte[Mail.SIZE];
|
||||
arr[AttachedItemID] = 0xFE;
|
||||
arr[AttachedItemID + 1] = 0xFF;
|
||||
arr[PostBoxSortIndex - 4] = 0xFE;
|
||||
arr[PostBoxSortIndex - 3] = 0xFF;
|
||||
Span<byte> bytes = arr;
|
||||
PostBox.SetIndividualLetter(index, bytes);
|
||||
|
||||
SystemSounds.Asterisk.Play();
|
||||
}
|
||||
|
||||
private void B_Save_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateMailItem(sender, e);
|
||||
SystemSounds.Asterisk.Play();
|
||||
}
|
||||
|
||||
private void B_Cancel_Click(object sender, EventArgs e) => Close();
|
||||
}
|
||||
123
NHSE.WinForms/Subforms/Player/PostBoxEditor.resx
Normal file
123
NHSE.WinForms/Subforms/Player/PostBoxEditor.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
77
NHSE.WinForms/Subforms/SingleItemEditor.Designer.cs
generated
77
NHSE.WinForms/Subforms/SingleItemEditor.Designer.cs
generated
@@ -28,56 +28,55 @@ protected override void Dispose(bool disposing)
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.B_Save = new System.Windows.Forms.Button();
|
||||
this.B_Cancel = new System.Windows.Forms.Button();
|
||||
this.ItemEditor = new NHSE.WinForms.ItemEditor();
|
||||
this.SuspendLayout();
|
||||
B_Save = new System.Windows.Forms.Button();
|
||||
B_Cancel = new System.Windows.Forms.Button();
|
||||
ItemEditor = new ItemEditor();
|
||||
SuspendLayout();
|
||||
//
|
||||
// B_Save
|
||||
//
|
||||
this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.B_Save.Location = new System.Drawing.Point(92, 236);
|
||||
this.B_Save.Name = "B_Save";
|
||||
this.B_Save.Size = new System.Drawing.Size(75, 31);
|
||||
this.B_Save.TabIndex = 1;
|
||||
this.B_Save.Text = "Save";
|
||||
this.B_Save.UseVisualStyleBackColor = true;
|
||||
this.B_Save.Click += new System.EventHandler(this.B_Save_Click);
|
||||
B_Save.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Save.Location = new System.Drawing.Point(94, 339);
|
||||
B_Save.Name = "B_Save";
|
||||
B_Save.Size = new System.Drawing.Size(75, 31);
|
||||
B_Save.TabIndex = 1;
|
||||
B_Save.Text = "Save";
|
||||
B_Save.UseVisualStyleBackColor = true;
|
||||
B_Save.Click += B_Save_Click;
|
||||
//
|
||||
// B_Cancel
|
||||
//
|
||||
this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.B_Cancel.Location = new System.Drawing.Point(11, 236);
|
||||
this.B_Cancel.Name = "B_Cancel";
|
||||
this.B_Cancel.Size = new System.Drawing.Size(75, 31);
|
||||
this.B_Cancel.TabIndex = 2;
|
||||
this.B_Cancel.Text = "Cancel";
|
||||
this.B_Cancel.UseVisualStyleBackColor = true;
|
||||
this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click);
|
||||
B_Cancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Cancel.Location = new System.Drawing.Point(13, 339);
|
||||
B_Cancel.Name = "B_Cancel";
|
||||
B_Cancel.Size = new System.Drawing.Size(75, 31);
|
||||
B_Cancel.TabIndex = 2;
|
||||
B_Cancel.Text = "Cancel";
|
||||
B_Cancel.UseVisualStyleBackColor = true;
|
||||
B_Cancel.Click += B_Cancel_Click;
|
||||
//
|
||||
// itemEditor1
|
||||
// ItemEditor
|
||||
//
|
||||
this.ItemEditor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.ItemEditor.Location = new System.Drawing.Point(12, 12);
|
||||
this.ItemEditor.Name = "ItemEditor";
|
||||
this.ItemEditor.Size = new System.Drawing.Size(155, 210);
|
||||
this.ItemEditor.TabIndex = 3;
|
||||
ItemEditor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
ItemEditor.Location = new System.Drawing.Point(12, 12);
|
||||
ItemEditor.Name = "ItemEditor";
|
||||
ItemEditor.Size = new System.Drawing.Size(157, 316);
|
||||
ItemEditor.TabIndex = 3;
|
||||
//
|
||||
// SingleItemEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||
this.ClientSize = new System.Drawing.Size(179, 279);
|
||||
this.Controls.Add(this.ItemEditor);
|
||||
this.Controls.Add(this.B_Cancel);
|
||||
this.Controls.Add(this.B_Save);
|
||||
this.Icon = global::NHSE.WinForms.Properties.Resources.icon;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "SingleItemEditor";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Item Editor";
|
||||
this.ResumeLayout(false);
|
||||
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||
ClientSize = new System.Drawing.Size(181, 382);
|
||||
Controls.Add(ItemEditor);
|
||||
Controls.Add(B_Cancel);
|
||||
Controls.Add(B_Save);
|
||||
Icon = Properties.Resources.icon;
|
||||
MaximizeBox = false;
|
||||
MinimizeBox = false;
|
||||
Name = "SingleItemEditor";
|
||||
StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
Text = "Item Editor";
|
||||
ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
Reference in New Issue
Block a user