Add project files.

This commit is contained in:
Hunter Rafferty
2024-02-05 00:15:27 -05:00
commit e508eb1adc
112 changed files with 9178 additions and 0 deletions

63
.gitattributes vendored Normal file
View File

@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

398
.gitignore vendored Normal file
View File

@@ -0,0 +1,398 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
*.ncb
*.aps
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
*.sln.iml

View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33829.357
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AC_e-Reader_Card_Creator", "AC_e-Reader_Card_Creator\AC_e-Reader_Card_Creator.csproj", "{61E3E092-ADF9-4613-B6FB-205DD4F5A7E9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{61E3E092-ADF9-4613-B6FB-205DD4F5A7E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61E3E092-ADF9-4613-B6FB-205DD4F5A7E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61E3E092-ADF9-4613-B6FB-205DD4F5A7E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61E3E092-ADF9-4613-B6FB-205DD4F5A7E9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4A36C150-C874-4AEC-BA1A-882303D129A9}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,236 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{61E3E092-ADF9-4613-B6FB-205DD4F5A7E9}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>AC_e_Reader_Card_Creator</RootNamespace>
<AssemblyName>AC_e-Reader_Card_Creator</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>C:\Users\hunte\OneDrive\Desktop\e-Reader CCC\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ManifestCertificateThumbprint>8C26734D6AC4E12062A9F4AF2B1C64330FB784B2</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup>
<ManifestKeyFile>AC_e-Reader_Card_Creator_TemporaryKey.pfx</ManifestKeyFile>
</PropertyGroup>
<PropertyGroup>
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>true</SignManifests>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>e-reader-ccc.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="References\Common.cs" />
<Compile Include="Decompression\Functions\Compress.cs" />
<Compile Include="Decompression\Functions\Decompressed.cs" />
<Compile Include="Decompression\Functions\Decompress.cs" />
<Compile Include="CCC-Frontend.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="CCC-Frontend.Designer.cs">
<DependentUpon>CCC-Frontend.cs</DependentUpon>
</Compile>
<Compile Include="Print-Frontend.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Print-Frontend.Designer.cs">
<DependentUpon>Print-Frontend.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="CCC-Frontend.resx">
<DependentUpon>CCC-Frontend.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Print-Frontend.resx">
<DependentUpon>Print-Frontend.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="AC_e-Reader_Card_Creator_TemporaryKey.pfx" />
<None Include="References\GBA_Blank.vpk" />
<None Include="References\Header_Blank.vpk" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="References\AC_Item_List.txt" />
<Content Include="References\AC_Sender_List.txt" />
<Content Include="References\AC_Stationery_List.txt" />
<Content Include="References\AC_Special_Char.txt" />
<Content Include="References\AC_Greeting_List.txt" />
<Content Include="Decompression\External\headerfix.exe" />
<Content Include="Decompression\External\nedcenc.exe" />
<Content Include="Decompression\External\nedclib.dll" />
<Content Include="Decompression\External\nevpk.exe" />
<Content Include="Decompression\External\raw2bmp.exe" />
<Content Include="Decompression\External\Source Code\headerfix.c" />
<Content Include="Decompression\External\Source Code\nedcenc.cpp" />
<Content Include="Decompression\External\Source Code\nevpk.cpp" />
<Content Include="Decompression\External\Source Code\raw2bmp.cpp" />
<Content Include="e-reader-ccc.ico" />
<None Include="Resources\sample_dotcode.bmp" />
<None Include="Resources\print.ico" />
<None Include="Resources\printer.ico" />
<None Include="Resources\e-reader-ccc.ico" />
<None Include="Resources\Polka-Dot_Paper_PG.png" />
<None Include="Resources\Animal_Crossing_PAL_Font.png" />
<None Include="Resources\A.png" />
<None Include="Resources\FOT-Rodin Pro M.ttf" />
<None Include="Resources\infinity.png" />
<None Include="Resources\Airmail_Paper_PG.png" />
<None Include="Resources\Ribbon_Paper_PG.png" />
<None Include="Resources\Sparkly_Paper_PG.png" />
<None Include="Resources\Bamboo_Paper_PG.png" />
<None Include="Resources\Orange_Paper_PG.png" />
<None Include="Resources\Essay_Paper_PG.png" />
<None Include="Resources\Panda_Paper_PG.png" />
<None Include="Resources\Ranch_Paper_PG.png" />
<None Include="Resources\Steel_Paper_PG.png" />
<None Include="Resources\Blossom_Paper_PG.png" />
<None Include="Resources\Vine_Paper_PG.png" />
<None Include="Resources\Vine_Paper_PG %281%29.png" />
<None Include="Resources\Cloudy_Paper_PG.png" />
<None Include="Resources\Petal_Paper_PG.png" />
<None Include="Resources\Snowy_Paper_PG.png" />
<None Include="Resources\Rainy_Day_Paper_PG.png" />
<None Include="Resources\Watermelon_Paper_PG.png" />
<None Include="Resources\Deep_Sea_Paper_PG.png" />
<None Include="Resources\Starry_Sky_Paper_PG.png" />
<None Include="Resources\Daisy_Paper_PG.png" />
<None Include="Resources\Bluebell_Paper_PG.png" />
<None Include="Resources\Maple_Leaf_Paper_PG.png" />
<None Include="Resources\Woodcut_Paper_PG.png" />
<None Include="Resources\Octopus_Paper_PG.png" />
<None Include="Resources\Festive_Paper_PG.png" />
<None Include="Resources\Skyline_Paper_PG.png" />
<None Include="Resources\Museum_Paper_PG.png" />
<None Include="Resources\Fortune_Paper_PG.png" />
<None Include="Resources\Stageshow_Paper_PG.png" />
<None Include="Resources\Thick_Paper_PG.png" />
<None Include="Resources\Spooky_Paper_PG.png" />
<None Include="Resources\Noodle_Paper_PG.png" />
<None Include="Resources\Neat_Paper_PG.png" />
<None Include="Resources\Horsetail_Paper_PG.png" />
<None Include="Resources\Felt_Paper_PG.png" />
<None Include="Resources\Parchment_PG.png" />
<None Include="Resources\Parchment_PG %281%29.png" />
<None Include="Resources\Cool_Paper_PG.png" />
<None Include="Resources\Elegant_Paper_PG.png" />
<None Include="Resources\Lacy_Paper_PG.png" />
<None Include="Resources\Rainbow_Paper_PG.png" />
<None Include="Resources\Hot_Neon_Paper_PG.png" />
<None Include="Resources\Cool_Neon_Paper_PG.png" />
<None Include="Resources\Aloha_Paper_PG.png" />
<None Include="Resources\Fantasy_Paper_PG.png" />
<None Include="Resources\Woodland_Paper_PG.png" />
<None Include="Resources\Gingko_Paper_PG.png" />
<None Include="Resources\Fireworks_Paper_PG.png" />
<None Include="Resources\Winter_Paper_PG.png" />
<None Include="Resources\Gyroid_Paper_PG.png" />
<None Include="Resources\Ivy_Paper_PG.png" />
<None Include="Resources\Wing_Paper_PG %281%29.png" />
<None Include="Resources\Dragon_Paper_PG.png" />
<None Include="Resources\Tile_Paper_PG.png" />
<None Include="Resources\Misty_Paper_PG.png" />
<None Include="Resources\Simple_Paper_PG.png" />
<None Include="Resources\Honeybee_Paper_PG.png" />
<None Include="Resources\Mystic_Paper_PG.png" />
<None Include="Resources\Sunset_Paper_PG.png" />
<None Include="Resources\Lattice_Paper_PG.png" />
<None Include="Resources\Dainty_Paper_PG.png" />
<None Include="Resources\Butterfly_Paper_PG.png" />
<None Include="Resources\New_Year%27s_Card_PG.png" />
<None Include="Resources\Inky_Paper_PG.png" />
</ItemGroup>
<ItemGroup>
<Folder Include="Decompression\eCard\" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@@ -0,0 +1,645 @@
using System.Windows.Forms;
namespace AC_e_Reader_Card_Creator
{
partial class eReaderCCC
{
// TODO: clean up this shit - lots of unnecessary components from testing
private System.ComponentModel.IContainer components = null;
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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(eReaderCCC));
this.comboBox_ItemName = new System.Windows.Forms.ComboBox();
this.textBox_ItemID = new System.Windows.Forms.TextBox();
this.header_ItemID = new System.Windows.Forms.Label();
this.header_ItemName = new System.Windows.Forms.Label();
this.header_Gift = new System.Windows.Forms.Label();
this.header_LetterText = new System.Windows.Forms.Label();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.menu_FileNew = new System.Windows.Forms.ToolStripMenuItem();
this.menu_NewCharCard = new System.Windows.Forms.ToolStripMenuItem();
this.menu_FileOpen = new System.Windows.Forms.ToolStripMenuItem();
this.menu_OpenCharCard = new System.Windows.Forms.ToolStripMenuItem();
this.editToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.menu_ClearInputs = new System.Windows.Forms.ToolStripMenuItem();
this.menu_OpenFileDir = new System.Windows.Forms.ToolStripMenuItem();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tutorialToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.videoTutorialToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.gitHubRepositoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.label_Version = new System.Windows.Forms.Label();
this.header_Stationery = new System.Windows.Forms.Label();
this.comboBox_Stationery = new System.Windows.Forms.ComboBox();
this.header_Sender = new System.Windows.Forms.Label();
this.comboBox_Sender = new System.Windows.Forms.ComboBox();
this.label5 = new System.Windows.Forms.Label();
this.btn_SaveRAW = new System.Windows.Forms.Button();
this.btn_GenDotCode = new System.Windows.Forms.Button();
this.header_Greeting = new System.Windows.Forms.Label();
this.header_Body = new System.Windows.Forms.Label();
this.textBox_Body = new System.Windows.Forms.TextBox();
this.header_Closing = new System.Windows.Forms.Label();
this.textBox_Closing = new System.Windows.Forms.TextBox();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.label9 = new System.Windows.Forms.Label();
this.label_Greeting = new System.Windows.Forms.Label();
this.pictureBox_Stationery = new System.Windows.Forms.PictureBox();
this.label_Line1 = new System.Windows.Forms.Label();
this.label_Line2 = new System.Windows.Forms.Label();
this.label_Line3 = new System.Windows.Forms.Label();
this.label_Line4 = new System.Windows.Forms.Label();
this.label_Line5 = new System.Windows.Forms.Label();
this.label_Line6 = new System.Windows.Forms.Label();
this.label_Closing = new System.Windows.Forms.Label();
this.comboBox_Greeting = new System.Windows.Forms.ComboBox();
this.menuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_Stationery)).BeginInit();
this.SuspendLayout();
//
// comboBox_ItemName
//
this.comboBox_ItemName.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.comboBox_ItemName.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.comboBox_ItemName.FormattingEnabled = true;
this.comboBox_ItemName.Location = new System.Drawing.Point(149, 735);
this.comboBox_ItemName.Name = "comboBox_ItemName";
this.comboBox_ItemName.Size = new System.Drawing.Size(194, 28);
this.comboBox_ItemName.TabIndex = 0;
this.comboBox_ItemName.SelectedIndexChanged += new System.EventHandler(this.ItemNameChanged);
//
// textBox_ItemID
//
this.textBox_ItemID.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
this.textBox_ItemID.Location = new System.Drawing.Point(55, 735);
this.textBox_ItemID.MaxLength = 4;
this.textBox_ItemID.Name = "textBox_ItemID";
this.textBox_ItemID.Size = new System.Drawing.Size(88, 26);
this.textBox_ItemID.TabIndex = 1;
this.textBox_ItemID.TextChanged += new System.EventHandler(this.ItemIDChanged);
this.textBox_ItemID.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ItemIDKeyPress);
this.textBox_ItemID.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ItemIDKeyUp);
//
// header_ItemID
//
this.header_ItemID.AutoSize = true;
this.header_ItemID.Location = new System.Drawing.Point(28, 712);
this.header_ItemID.Name = "header_ItemID";
this.header_ItemID.Size = new System.Drawing.Size(62, 20);
this.header_ItemID.TabIndex = 2;
this.header_ItemID.Text = "Item ID";
//
// header_ItemName
//
this.header_ItemName.AutoSize = true;
this.header_ItemName.Location = new System.Drawing.Point(145, 712);
this.header_ItemName.Name = "header_ItemName";
this.header_ItemName.Size = new System.Drawing.Size(87, 20);
this.header_ItemName.TabIndex = 3;
this.header_ItemName.Text = "Item Name";
//
// header_Gift
//
this.header_Gift.AutoSize = true;
this.header_Gift.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.header_Gift.Location = new System.Drawing.Point(25, 673);
this.header_Gift.Name = "header_Gift";
this.header_Gift.Size = new System.Drawing.Size(164, 29);
this.header_Gift.TabIndex = 4;
this.header_Gift.Text = "Attached Gift";
//
// header_LetterText
//
this.header_LetterText.AutoSize = true;
this.header_LetterText.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.header_LetterText.Location = new System.Drawing.Point(25, 59);
this.header_LetterText.Name = "header_LetterText";
this.header_LetterText.Size = new System.Drawing.Size(133, 29);
this.header_LetterText.TabIndex = 6;
this.header_LetterText.Text = "Letter Text";
//
// menuStrip1
//
this.menuStrip1.GripMargin = new System.Windows.Forms.Padding(2, 2, 0, 2);
this.menuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem1,
this.editToolStripMenuItem1});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1117, 33);
this.menuStrip1.TabIndex = 8;
this.menuStrip1.Text = "menuStrip1";
//
// fileToolStripMenuItem1
//
this.fileToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menu_FileNew,
this.menu_FileOpen});
this.fileToolStripMenuItem1.Name = "fileToolStripMenuItem1";
this.fileToolStripMenuItem1.Size = new System.Drawing.Size(54, 29);
this.fileToolStripMenuItem1.Text = "File";
//
// menu_FileNew
//
this.menu_FileNew.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menu_NewCharCard});
this.menu_FileNew.Name = "menu_FileNew";
this.menu_FileNew.Size = new System.Drawing.Size(158, 34);
this.menu_FileNew.Text = "New";
//
// menu_NewCharCard
//
this.menu_NewCharCard.Name = "menu_NewCharCard";
this.menu_NewCharCard.Size = new System.Drawing.Size(268, 34);
this.menu_NewCharCard.Text = "Character Card (AC)";
this.menu_NewCharCard.Click += new System.EventHandler(this.MenuNewCard);
//
// menu_FileOpen
//
this.menu_FileOpen.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menu_OpenCharCard});
this.menu_FileOpen.Name = "menu_FileOpen";
this.menu_FileOpen.Size = new System.Drawing.Size(158, 34);
this.menu_FileOpen.Text = "Open";
//
// menu_OpenCharCard
//
this.menu_OpenCharCard.Name = "menu_OpenCharCard";
this.menu_OpenCharCard.Size = new System.Drawing.Size(268, 34);
this.menu_OpenCharCard.Text = "Character Card (AC)";
this.menu_OpenCharCard.Click += new System.EventHandler(this.OpenCharCard);
//
// editToolStripMenuItem1
//
this.editToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menu_ClearInputs,
this.menu_OpenFileDir});
this.editToolStripMenuItem1.Name = "editToolStripMenuItem1";
this.editToolStripMenuItem1.Size = new System.Drawing.Size(58, 29);
this.editToolStripMenuItem1.Text = "Edit";
//
// menu_ClearInputs
//
this.menu_ClearInputs.Name = "menu_ClearInputs";
this.menu_ClearInputs.Size = new System.Drawing.Size(266, 34);
this.menu_ClearInputs.Text = "Clear Inputs";
this.menu_ClearInputs.Click += new System.EventHandler(this.MenuClearValues);
//
// menu_OpenFileDir
//
this.menu_OpenFileDir.Name = "menu_OpenFileDir";
this.menu_OpenFileDir.Size = new System.Drawing.Size(266, 34);
this.menu_OpenFileDir.Text = "Open File Directory";
this.menu_OpenFileDir.Click += new System.EventHandler(this.OpenDecompressedFileDir);
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.saveToolStripMenuItem,
this.openToolStripMenuItem,
this.saveToolStripMenuItem1,
this.saveAsToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(54, 29);
this.fileToolStripMenuItem.Text = "File";
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(188, 34);
this.saveToolStripMenuItem.Text = "New";
//
// openToolStripMenuItem
//
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.Size = new System.Drawing.Size(188, 34);
this.openToolStripMenuItem.Text = "Open";
//
// saveToolStripMenuItem1
//
this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1";
this.saveToolStripMenuItem1.Size = new System.Drawing.Size(188, 34);
this.saveToolStripMenuItem1.Text = "Save";
//
// saveAsToolStripMenuItem
//
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(188, 34);
this.saveAsToolStripMenuItem.Text = "Save As...";
//
// editToolStripMenuItem
//
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.settingsToolStripMenuItem,
this.resetToolStripMenuItem});
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
this.editToolStripMenuItem.Size = new System.Drawing.Size(58, 29);
this.editToolStripMenuItem.Text = "Edit";
//
// settingsToolStripMenuItem
//
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(198, 34);
this.settingsToolStripMenuItem.Text = "Settings";
//
// resetToolStripMenuItem
//
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
this.resetToolStripMenuItem.Size = new System.Drawing.Size(198, 34);
this.resetToolStripMenuItem.Text = "Reset Card";
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tutorialToolStripMenuItem,
this.videoTutorialToolStripMenuItem,
this.gitHubRepositoryToolStripMenuItem});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
this.helpToolStripMenuItem.Size = new System.Drawing.Size(65, 29);
this.helpToolStripMenuItem.Text = "Help";
//
// tutorialToolStripMenuItem
//
this.tutorialToolStripMenuItem.Name = "tutorialToolStripMenuItem";
this.tutorialToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.tutorialToolStripMenuItem.Text = "Tutorial";
//
// videoTutorialToolStripMenuItem
//
this.videoTutorialToolStripMenuItem.Name = "videoTutorialToolStripMenuItem";
this.videoTutorialToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.videoTutorialToolStripMenuItem.Text = "Video Tutorial";
//
// gitHubRepositoryToolStripMenuItem
//
this.gitHubRepositoryToolStripMenuItem.Name = "gitHubRepositoryToolStripMenuItem";
this.gitHubRepositoryToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.gitHubRepositoryToolStripMenuItem.Text = "GitHub Repository";
//
// label_Version
//
this.label_Version.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label_Version.AutoSize = true;
this.label_Version.Font = new System.Drawing.Font("Courier New", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Version.Location = new System.Drawing.Point(1017, 782);
this.label_Version.Name = "label_Version";
this.label_Version.Size = new System.Drawing.Size(0, 18);
this.label_Version.TabIndex = 9;
//
// header_Stationery
//
this.header_Stationery.AutoSize = true;
this.header_Stationery.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.header_Stationery.Location = new System.Drawing.Point(25, 477);
this.header_Stationery.Name = "header_Stationery";
this.header_Stationery.Size = new System.Drawing.Size(130, 29);
this.header_Stationery.TabIndex = 12;
this.header_Stationery.Text = "Stationery";
//
// comboBox_Stationery
//
this.comboBox_Stationery.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.comboBox_Stationery.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.comboBox_Stationery.FormattingEnabled = true;
this.comboBox_Stationery.Location = new System.Drawing.Point(31, 509);
this.comboBox_Stationery.Name = "comboBox_Stationery";
this.comboBox_Stationery.Size = new System.Drawing.Size(312, 28);
this.comboBox_Stationery.TabIndex = 13;
this.comboBox_Stationery.SelectedIndexChanged += new System.EventHandler(this.StationeryChanged);
//
// header_Sender
//
this.header_Sender.AutoSize = true;
this.header_Sender.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.header_Sender.Location = new System.Drawing.Point(25, 569);
this.header_Sender.Name = "header_Sender";
this.header_Sender.Size = new System.Drawing.Size(94, 29);
this.header_Sender.TabIndex = 14;
this.header_Sender.Text = "Sender";
//
// comboBox_Sender
//
this.comboBox_Sender.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.comboBox_Sender.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.comboBox_Sender.FormattingEnabled = true;
this.comboBox_Sender.Location = new System.Drawing.Point(31, 603);
this.comboBox_Sender.Name = "comboBox_Sender";
this.comboBox_Sender.Size = new System.Drawing.Size(312, 28);
this.comboBox_Sender.TabIndex = 15;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.label5.Location = new System.Drawing.Point(384, 59);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(103, 29);
this.label5.TabIndex = 16;
this.label5.Text = "Preview";
//
// btn_SaveRAW
//
this.btn_SaveRAW.Location = new System.Drawing.Point(945, 724);
this.btn_SaveRAW.Name = "btn_SaveRAW";
this.btn_SaveRAW.Size = new System.Drawing.Size(138, 37);
this.btn_SaveRAW.TabIndex = 17;
this.btn_SaveRAW.Text = "Save .RAW";
this.btn_SaveRAW.UseVisualStyleBackColor = true;
this.btn_SaveRAW.Click += new System.EventHandler(this.SaveRAW);
//
// btn_GenDotCode
//
this.btn_GenDotCode.Location = new System.Drawing.Point(746, 724);
this.btn_GenDotCode.Name = "btn_GenDotCode";
this.btn_GenDotCode.Size = new System.Drawing.Size(193, 37);
this.btn_GenDotCode.TabIndex = 18;
this.btn_GenDotCode.Text = "Generate Dot Code";
this.btn_GenDotCode.UseVisualStyleBackColor = true;
this.btn_GenDotCode.Click += new System.EventHandler(this.GenerateDotCode);
//
// header_Greeting
//
this.header_Greeting.AutoSize = true;
this.header_Greeting.Location = new System.Drawing.Point(26, 98);
this.header_Greeting.Name = "header_Greeting";
this.header_Greeting.Size = new System.Drawing.Size(71, 20);
this.header_Greeting.TabIndex = 19;
this.header_Greeting.Text = "Greeting";
//
// header_Body
//
this.header_Body.AutoSize = true;
this.header_Body.Location = new System.Drawing.Point(26, 170);
this.header_Body.Name = "header_Body";
this.header_Body.Size = new System.Drawing.Size(45, 20);
this.header_Body.TabIndex = 20;
this.header_Body.Text = "Body";
//
// textBox_Body
//
this.textBox_Body.Location = new System.Drawing.Point(30, 193);
this.textBox_Body.MaxLength = 180;
this.textBox_Body.Multiline = true;
this.textBox_Body.Name = "textBox_Body";
this.textBox_Body.Size = new System.Drawing.Size(312, 188);
this.textBox_Body.TabIndex = 21;
this.textBox_Body.TextChanged += new System.EventHandler(this.LetterBodyChanged);
this.textBox_Body.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.LetterBodyKeyPress);
//
// header_Closing
//
this.header_Closing.AutoSize = true;
this.header_Closing.Location = new System.Drawing.Point(28, 399);
this.header_Closing.Name = "header_Closing";
this.header_Closing.Size = new System.Drawing.Size(61, 20);
this.header_Closing.TabIndex = 22;
this.header_Closing.Text = "Closing";
//
// textBox_Closing
//
this.textBox_Closing.Location = new System.Drawing.Point(31, 422);
this.textBox_Closing.Name = "textBox_Closing";
this.textBox_Closing.Size = new System.Drawing.Size(312, 26);
this.textBox_Closing.TabIndex = 23;
this.textBox_Closing.TextChanged += new System.EventHandler(this.ClosingChanged);
//
// openFileDialog1
//
this.openFileDialog1.Filter = "RAW Files (*raw)|*raw";
this.openFileDialog1.Title = "Open e-Reader Card RAW File";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(28, 741);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(25, 20);
this.label9.TabIndex = 25;
this.label9.Text = "0x";
//
// label_Greeting
//
this.label_Greeting.AutoSize = true;
this.label_Greeting.BackColor = System.Drawing.Color.Transparent;
this.label_Greeting.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Greeting.Location = new System.Drawing.Point(77, 57);
this.label_Greeting.Name = "label_Greeting";
this.label_Greeting.Size = new System.Drawing.Size(0, 32);
this.label_Greeting.TabIndex = 27;
//
// pictureBox_Stationery
//
this.pictureBox_Stationery.BackgroundImage = global::AC_e_Reader_Card_Creator.Properties.Resources.Airmail_Paper_PG;
this.pictureBox_Stationery.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.pictureBox_Stationery.Location = new System.Drawing.Point(389, 97);
this.pictureBox_Stationery.Name = "pictureBox_Stationery";
this.pictureBox_Stationery.Size = new System.Drawing.Size(694, 605);
this.pictureBox_Stationery.TabIndex = 10;
this.pictureBox_Stationery.TabStop = false;
//
// label_Line1
//
this.label_Line1.BackColor = System.Drawing.Color.Transparent;
this.label_Line1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Line1.Location = new System.Drawing.Point(77, 152);
this.label_Line1.Name = "label_Line1";
this.label_Line1.Size = new System.Drawing.Size(532, 53);
this.label_Line1.TabIndex = 28;
//
// label_Line2
//
this.label_Line2.BackColor = System.Drawing.Color.Transparent;
this.label_Line2.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Line2.Location = new System.Drawing.Point(77, 205);
this.label_Line2.Name = "label_Line2";
this.label_Line2.Size = new System.Drawing.Size(532, 56);
this.label_Line2.TabIndex = 29;
//
// label_Line3
//
this.label_Line3.BackColor = System.Drawing.Color.Transparent;
this.label_Line3.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Line3.Location = new System.Drawing.Point(77, 261);
this.label_Line3.Name = "label_Line3";
this.label_Line3.Size = new System.Drawing.Size(532, 51);
this.label_Line3.TabIndex = 30;
//
// label_Line4
//
this.label_Line4.BackColor = System.Drawing.Color.Transparent;
this.label_Line4.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Line4.Location = new System.Drawing.Point(77, 312);
this.label_Line4.Name = "label_Line4";
this.label_Line4.Size = new System.Drawing.Size(532, 53);
this.label_Line4.TabIndex = 31;
//
// label_Line5
//
this.label_Line5.BackColor = System.Drawing.Color.Transparent;
this.label_Line5.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Line5.Location = new System.Drawing.Point(77, 365);
this.label_Line5.Name = "label_Line5";
this.label_Line5.Size = new System.Drawing.Size(532, 51);
this.label_Line5.TabIndex = 32;
//
// label_Line6
//
this.label_Line6.BackColor = System.Drawing.Color.Transparent;
this.label_Line6.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Line6.Location = new System.Drawing.Point(74, 416);
this.label_Line6.Name = "label_Line6";
this.label_Line6.Size = new System.Drawing.Size(535, 61);
this.label_Line6.TabIndex = 33;
//
// label_Closing
//
this.label_Closing.BackColor = System.Drawing.Color.Transparent;
this.label_Closing.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Closing.Location = new System.Drawing.Point(83, 477);
this.label_Closing.Name = "label_Closing";
this.label_Closing.Size = new System.Drawing.Size(539, 62);
this.label_Closing.TabIndex = 34;
this.label_Closing.TextAlign = System.Drawing.ContentAlignment.BottomRight;
//
// comboBox_Greeting
//
this.comboBox_Greeting.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.comboBox_Greeting.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.comboBox_Greeting.FormattingEnabled = true;
this.comboBox_Greeting.Location = new System.Drawing.Point(30, 121);
this.comboBox_Greeting.Name = "comboBox_Greeting";
this.comboBox_Greeting.Size = new System.Drawing.Size(312, 28);
this.comboBox_Greeting.TabIndex = 35;
this.comboBox_Greeting.SelectedIndexChanged += new System.EventHandler(this.GreetingChanged);
//
// eReaderCCC
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1117, 809);
this.Controls.Add(this.label_Line1);
this.Controls.Add(this.comboBox_Greeting);
this.Controls.Add(this.label_Closing);
this.Controls.Add(this.label_Line6);
this.Controls.Add(this.label_Line5);
this.Controls.Add(this.label_Line4);
this.Controls.Add(this.label_Line3);
this.Controls.Add(this.label_Line2);
this.Controls.Add(this.label_Greeting);
this.Controls.Add(this.label9);
this.Controls.Add(this.textBox_Closing);
this.Controls.Add(this.header_Closing);
this.Controls.Add(this.textBox_Body);
this.Controls.Add(this.header_Body);
this.Controls.Add(this.header_Greeting);
this.Controls.Add(this.btn_GenDotCode);
this.Controls.Add(this.btn_SaveRAW);
this.Controls.Add(this.label5);
this.Controls.Add(this.comboBox_Sender);
this.Controls.Add(this.header_Sender);
this.Controls.Add(this.comboBox_Stationery);
this.Controls.Add(this.header_Stationery);
this.Controls.Add(this.pictureBox_Stationery);
this.Controls.Add(this.label_Version);
this.Controls.Add(this.header_LetterText);
this.Controls.Add(this.header_Gift);
this.Controls.Add(this.header_ItemName);
this.Controls.Add(this.header_ItemID);
this.Controls.Add(this.textBox_ItemID);
this.Controls.Add(this.comboBox_ItemName);
this.Controls.Add(this.menuStrip1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.Name = "eReaderCCC";
this.Text = "AC e-Reader Character Card Creator";
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_Stationery)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ComboBox comboBox_ItemName;
private TextBox textBox_ItemID;
private Label header_ItemID;
private Label header_ItemName;
private Label header_Gift;
private Label header_LetterText;
private MenuStrip menuStrip1;
private ToolStripMenuItem fileToolStripMenuItem;
private ToolStripMenuItem saveToolStripMenuItem;
private ToolStripMenuItem openToolStripMenuItem;
private ToolStripMenuItem saveToolStripMenuItem1;
private ToolStripMenuItem saveAsToolStripMenuItem;
private ToolStripMenuItem editToolStripMenuItem;
private ToolStripMenuItem settingsToolStripMenuItem;
private ToolStripMenuItem resetToolStripMenuItem;
private ToolStripMenuItem helpToolStripMenuItem;
private ToolStripMenuItem tutorialToolStripMenuItem;
private ToolStripMenuItem videoTutorialToolStripMenuItem;
private ToolStripMenuItem gitHubRepositoryToolStripMenuItem;
private Label label_Version;
private Label header_Stationery;
private ComboBox comboBox_Stationery;
private Label header_Sender;
private ComboBox comboBox_Sender;
private Label label5;
private Button btn_SaveRAW;
private Button btn_GenDotCode;
private PictureBox pictureBox_Stationery;
private Label header_Greeting;
private Label header_Body;
private TextBox textBox_Body;
private Label header_Closing;
private TextBox textBox_Closing;
private ToolStripMenuItem fileToolStripMenuItem1;
private ToolStripMenuItem editToolStripMenuItem1;
private ToolStripMenuItem menu_FileOpen;
private OpenFileDialog openFileDialog1;
private Label label9;
private Label label_Greeting;
private Label label_Line1;
private Label label_Line2;
private Label label_Line3;
private Label label_Line4;
private Label label_Line5;
private Label label_Line6;
private Label label_Closing;
private ComboBox comboBox_Greeting;
private ToolStripMenuItem menu_FileNew;
private ToolStripMenuItem menu_NewCharCard;
private ToolStripMenuItem menu_ClearInputs;
private ToolStripMenuItem menu_OpenCharCard;
private ToolStripMenuItem menu_OpenFileDir;
}
}

View File

@@ -0,0 +1,513 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using System.IO;
using AC_e_Reader_Card_Creator.Decompression.Functions;
using System.Drawing.Text;
using System.Runtime.InteropServices;
using System.Diagnostics;
using AC_e_Reader_Card_Creator.References;
namespace AC_e_Reader_Card_Creator
{
public partial class eReaderCCC : Form
{
private readonly Dictionary<string, string> itemIDs = new Dictionary<string, string>();
private readonly Dictionary<string, int[]> stationeryFontRGB = new Dictionary<string, int[]>();
private readonly PrivateFontCollection AC_Letter_Font = new PrivateFontCollection();
public eReaderCCC()
{
InitializeComponent();
LoadDirectories();
LoadStationeryIDs();
LoadItemIDs();
LoadSenderIDs();
LoadGreetings();
HandleFonts();
Common.LoadBlankVPKs();
label_Version.Text = Common.VERSION;
comboBox_Stationery.SelectedIndex = 0;
comboBox_Greeting.SelectedIndex = 5;
label_Greeting.Text = comboBox_Greeting.Text;
}
private void LoadDirectories()
{
string[] directoryPath = { @"Project Files\Decompression\eCard", Common.RAW_OUTPUT, Common.BIN_OUTPUT, Common.VPK_OUTPUT, Common.DEC_OUTPUT, Common.BMP_OUTPUT };
foreach(string dir in directoryPath)
{
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
}
}
private void ItemIDChanged(object sender, EventArgs e)
{
string itemID = "0x" + textBox_ItemID.Text;
if (itemID.Length == 6)
{
string item_name = Common.LookupListValue(itemID, Common.ITEM_LIST);
if (item_name != null)
{
comboBox_ItemName.SelectedItem = item_name;
}
else
{
comboBox_ItemName.SelectedItem = "Invalid";
}
}
else
{
comboBox_ItemName.SelectedItem = null;
}
}
private void LetterBodyChanged(object sender, EventArgs e)
{
int currentCharCount = textBox_Body.Text.Length;
int maxCharBody = textBox_Body.MaxLength;
header_Body.Text = $"Body ( {currentCharCount} / {maxCharBody} )";
List<Label> letter_labels = new List<Label> {
label_Greeting, label_Line1, label_Line2, label_Line3, label_Line4, label_Line5, label_Line6, label_Closing
};
int[] fontColor = stationeryFontRGB[comboBox_Stationery.Text];
Common.HandleLetterBody(letter_labels, textBox_Body, fontColor);
}
private void LetterBodyKeyPress(object sender, KeyPressEventArgs e)
{
if (textBox_Body.Text != null)
{
int newlineCount = textBox_Body.Text.Count(c => c == '\n');
int maxNewlines = 5;
if (newlineCount >= maxNewlines && e.KeyChar == (char)Keys.Enter)
{
e.Handled = true;
}
List<Label> letter_labels = new List<Label> {
label_Greeting, label_Line1, label_Line2, label_Line3, label_Line4, label_Line5, label_Line6, label_Closing
};
int[] fontColor = stationeryFontRGB[comboBox_Stationery.Text];
Common.HandleLetterBody(letter_labels, textBox_Body, fontColor);
}
}
private void ItemNameChanged(object sender, EventArgs e)
{
if (comboBox_ItemName.SelectedIndex != -1)
{
string selected_name = comboBox_ItemName.SelectedItem.ToString();
if (selected_name != "Invalid")
{
if (itemIDs.TryGetValue(selected_name, out string id))
{
textBox_ItemID.Text = id.Substring(2);
}
}
}
}
private void ItemIDKeyPress(object sender, KeyPressEventArgs e)
{
char ch = char.ToUpper(e.KeyChar);
if (!((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'F') || char.IsControl(e.KeyChar)))
{
e.Handled = true;
}
}
private void ItemIDKeyUp(object sender, KeyEventArgs e)
{
string itemID = "0x" + textBox_ItemID.Text;
if (itemID.Length == 6)
{
string item_name = Common.LookupListValue(itemID, Common.ITEM_LIST);
if(item_name != null)
{
comboBox_ItemName.SelectedItem = item_name;
}
else
{
comboBox_ItemName.SelectedItem = "Invalid";
}
}
else
{
comboBox_ItemName.SelectedItem = null;
}
}
private void LoadStationeryIDs()
{
try
{
foreach (string line in File.ReadAllLines(Common.STATIONERY_LIST))
{
string[] stationery = line.Split(',');
if (stationery.Length > 1)
{
string stationery_name = stationery[1].Trim();
comboBox_Stationery.Items.Add(stationery_name);
string[] stationery_RGB_s = stationery[2].Split('-');
List<int> stationery_RGB_i = new List<int>();
for (int i = 0; i < stationery_RGB_s.Length; i++)
{
stationery_RGB_i.Add(int.Parse(stationery_RGB_s[i]));
}
stationeryFontRGB[stationery_name] = stationery_RGB_i.ToArray();
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error reading file: " + ex.Message);
}
}
private void LoadSenderIDs()
{
try
{
foreach (string line in File.ReadAllLines(Common.SENDER_LIST))
{
string[] senders = line.Split(',');
if (senders.Length > 1)
{
string sender_name = senders[1].Trim();
comboBox_Sender.Items.Add(sender_name);
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error reading file: " + ex.Message);
}
}
private void LoadGreetings()
{
try
{
foreach (string line in File.ReadAllLines(Common.GREETING_LIST))
{
comboBox_Greeting.Items.Add(line);
}
}
catch (Exception ex)
{
MessageBox.Show("Error reading file: " + ex.Message);
}
}
private void LoadItemIDs()
{
try
{
foreach (string line in File.ReadAllLines(Common.ITEM_LIST))
{
string[] ac_items = line.Split(',');
if (ac_items.Length > 1)
{
string id = ac_items[0].Trim();
string item_name = ac_items[1].Trim();
itemIDs[item_name] = id;
comboBox_ItemName.Items.Add(item_name);
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error reading file: " + ex.Message);
}
}
private void StationeryChanged(object sender, EventArgs e)
{
if (comboBox_Stationery.SelectedItem != null)
{
string selectedStationery = comboBox_Stationery.SelectedItem.ToString();
string stationeryImageName = selectedStationery.Replace(" ", "_") + "_PG";
var stationeryImage = (Image)Properties.Resources.ResourceManager.GetObject(stationeryImageName);
if (stationeryImage != null)
{
pictureBox_Stationery.BackgroundImage = stationeryImage;
}
List<Label> letter_labels = new List<Label> {
label_Greeting, label_Line1, label_Line2, label_Line3, label_Line4, label_Line5, label_Line6, label_Closing
};
int[] fontColor = stationeryFontRGB[comboBox_Stationery.Text];
foreach (Label letter_line in letter_labels)
{
letter_line.ForeColor = System.Drawing.Color.FromArgb(fontColor[0], fontColor[1], fontColor[2]);
}
}
}
private void GreetingChanged(object sender, EventArgs e)
{
label_Greeting.Text = comboBox_Greeting.Text;
}
private void ClosingChanged(object sender, EventArgs e)
{
label_Closing.Text = textBox_Closing.Text;
}
private void SaveRAW(object sender, EventArgs e)
{
if (ValidInputs())
{
bool customFilePath = true;
Compress.DECtoVPK(comboBox_Greeting.Text, textBox_Body.Text, textBox_Closing.Text, comboBox_Stationery.Text, comboBox_Sender.Text, textBox_ItemID.Text);
Compress.VPKtoBIN();
Compress.BINtoRAW(customFilePath);
}
}
private void HandleFonts()
{
List<Label> letter_labels = new List<Label> {
label_Greeting, label_Line1, label_Line2, label_Line3, label_Line4, label_Line5, label_Line6, label_Closing
};
byte[] fontData = Properties.Resources.FOT_Rodin_Pro_M;
IntPtr fontPtr = Marshal.AllocCoTaskMem(fontData.Length);
Marshal.Copy(fontData, 0, fontPtr, fontData.Length);
AC_Letter_Font.AddMemoryFont(fontPtr, fontData.Length);
Marshal.FreeCoTaskMem(fontPtr);
Font AC_Font = new Font(AC_Letter_Font.Families[0], 14, FontStyle.Bold);
for (int i = 0; i < letter_labels.Count; i++)
{
letter_labels[i].Parent = pictureBox_Stationery;
letter_labels[i].Font = AC_Font;
}
}
private bool ValidInputs()
{
if (comboBox_ItemName.Text == "Invalid" || comboBox_ItemName.Text == null)
{
DialogResult dialogResult = MessageBox.Show("The selected item ID is outside of Animal Crossing's valid range. Would you still like to continue?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dialogResult == DialogResult.Yes)
{
return true;
}
else
{
return false;
}
}
else
{
TextBox[] textBoxes = { textBox_Body, textBox_Closing, textBox_ItemID };
ComboBox[] comboBoxes = { comboBox_Greeting, comboBox_ItemName, comboBox_Sender, comboBox_Stationery };
foreach (TextBox tb in textBoxes)
{
if (string.IsNullOrWhiteSpace(tb.Text))
{
MessageBox.Show("Please fill in all text fields.", "Missing data!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
tb.Focus();
return false;
}
}
foreach (ComboBox cb in comboBoxes)
{
if (cb.SelectedItem == null || string.IsNullOrWhiteSpace(cb.Text))
{
MessageBox.Show("Please make a selection in all dropdown menus.", "Missing data!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
cb.Focus();
return false;
}
}
return true;
}
}
private void MenuClearValues(object sender, EventArgs e)
{
comboBox_Greeting.Text = null;
textBox_Body.Text = null;
textBox_Closing.Text = null;
comboBox_Stationery.SelectedIndex = 0;
comboBox_Sender.Text = null;
comboBox_ItemName.SelectedIndex = 0;
}
private void MenuNewCard(object sender, EventArgs e)
{
comboBox_Greeting.Text = null;
textBox_Body.Text = null;
textBox_Closing.Text = null;
comboBox_Stationery.SelectedIndex = 0;
comboBox_Sender.Text = null;
comboBox_ItemName.SelectedIndex = 0;
ClearFiles();
Common.LoadBlankVPKs();
}
private void ClearFiles()
{
try
{
string[] fileDirectories = { Common.BIN_OUTPUT, Common.VPK_OUTPUT, Common.DEC_OUTPUT };
foreach (string dir in fileDirectories)
{
if (Directory.Exists(dir))
{
string[] files = Directory.GetFiles(dir);
foreach (string file in files)
{
File.Delete(file);
}
}
else
{
MessageBox.Show($"The specified directory does not exist: {dir}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void OpenCharCard(object sender, EventArgs e)
{
ClearFiles();
try
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string opened_file_path = openFileDialog1.FileName;
Decompress.RAWtoBIN(opened_file_path);
Decompress.BINtoVPK(Common.COMPRESSED_BIN, Common.VPK_DELIMITER, Common.VPK_OUTPUT);
Decompress.VPK_Decompress();
Dictionary<string, string> letterData = Decompressed.GetData();
List<Label> letter_labels = new List<Label> {
label_Greeting, label_Line1, label_Line2, label_Line3, label_Line4, label_Line5, label_Line6, label_Closing
};
string[] delimiter = new string[] { "\r\n" };
string[] split_letter_body = letterData["letter_body"].Split(delimiter, StringSplitOptions.None);
string stationeryID = "0x" + letterData["letter_stationery"];
string letter_stationery = Common.LookupListValue(stationeryID, Common.STATIONERY_LIST);
string senderID = "0x" + letterData["letter_sender"];
string letter_sender = Common.LookupListValue(senderID, Common.SENDER_LIST);
string itemID = letterData["letter_gift"];
int line_index = 1;
comboBox_Greeting.SelectedItem = letterData["letter_greeting"];
// bit of a hack to appropriately display newlines without ruining the size of the letter body
textBox_Body.Text = letterData["letter_body"].Replace("\n", "\r\n").Trim();
textBox_Closing.Text = letterData["letter_closing"];
letter_labels[0].Text = letterData["letter_greeting"];
foreach (string line in split_letter_body)
{
letter_labels[line_index].Text = line;
line_index++;
}
letter_labels[7].Text = letterData["letter_closing"];
if (comboBox_Stationery.Items.Contains(letter_stationery))
{
comboBox_Stationery.SelectedItem = letter_stationery;
}
else
{
MessageBox.Show($"Stationery '{letter_stationery}' not found.");
}
if (comboBox_Sender.Items.Contains(letter_sender))
{
comboBox_Sender.SelectedItem = letter_sender;
}
else
{
MessageBox.Show($"Sender '{letter_sender}' not found.");
}
textBox_ItemID.Text = itemID;
}
}
catch
{
MessageBox.Show("Unable to open e-Card! Please make sure this is an Animal Crossing e-Reader Character Card or Classic Game Card.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void OpenDecompressedFileDir(object sender, EventArgs e)
{
if (Directory.Exists(Common.DECOMPRESSED_DIR))
{
Process.Start("explorer.exe", Common.DECOMPRESSED_DIR);
}
else
{
MessageBox.Show($"The directory does not exist: {Common.DECOMPRESSED_DIR}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void GenerateDotCode(object sender, EventArgs e)
{
if (ValidInputs())
{
bool customFilePath = false;
Compress.DECtoVPK(comboBox_Greeting.Text, textBox_Body.Text, textBox_Closing.Text, comboBox_Stationery.Text, comboBox_Sender.Text, textBox_ItemID.Text);
Compress.VPKtoBIN();
Compress.BINtoRAW(customFilePath);
Print_Frontend printer_form = new Print_Frontend
{
StartPosition = FormStartPosition.Manual
};
int centerX = Location.X + (Width - printer_form.Width) / 2;
int centerY = Location.Y + (Height - printer_form.Height) / 2;
centerX = Math.Max(centerX, Screen.GetWorkingArea(this).Left);
centerY = Math.Max(centerY, Screen.GetWorkingArea(this).Top);
printer_form.Location = new Point(centerX, centerY);
printer_form.ShowDialog();
}
}
}
}

View File

@@ -0,0 +1,203 @@
<?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="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>173, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEMjoARjtFAEIsMhJBKS8cQSkvBkQz
OxRDMTpwQS83lj8tNVJCMToHQjA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDM7AEMwOABEMzpRRz5IxkpH
U9hGO0SvQzI6tldNUvp9hIb/YFtf8UU1PJBDMjocRDM7AEQzOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEMzsANR4nAEEvNyU/LDRtQC02iEIw
OONLUWD/Umh8/0pMWv9CMjr/STpA/2NeY/9tbG//SjtB/kEvN8tALTaDQC02f0AtNn8/LDRtQS43Izkj
LABEMzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQzOwBBLzclTT9GzHh+
gv+JmJ3/iJid/4iYnf+Il5z/iZid/4iYnf+Il5z/h5Wb/4eXnP+ImJ3/iJec/4iXnP+Il5z/iZid/3h+
gv9NQEbIQS43IkQzOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDM7AD8s
NG15f4L/p8XH/6vKzf/Q////z////8/////P////z////8/////P////z////8/////P////z////9D/
//+rys3/p8XH/3l/g/9ALDOPQisxI0Q0PANEMjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABEMzsAQC01f4mYnP+ry87/qcjL/87+///N/f//zf3//839///N/f//zf3//839///N/f//zf3//839
///N/f//zv7//6nIy/+ry87/ipmd/0hGU/xKSFTiRDI5ZkQ1PQFEMzsAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAEQzOwBALTaAiJec/9D////O/v//zf3//839///N/f//zf3//87+///O/v//zf7//839
///N/f//zf3//839///N/f//zv7//9D///+Ilpr/WYCY/2ev0f9KR1TeQisxI0QzOwAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAARDM7AEAtNoCIl5z/z////839///N/f//zf3//87+///M+/z/wu/y/8Ds
7v/F8/X/zf3+/8/////N/v//zf3//839///N/f//z////4iWmv9Zgpv/cM/2/05YZ/NBKTA9QzI6AEQz
OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEMzsAQC02gIiXnP/P////zf3//839///O/v//stfa/3yA
hP9uXF7/b1hZ/3BiZP+Ahov/pcTI/8j29//O////zf3//839///P////iJaa/1qDnP9qut//S0VP/kc1
PLhALjYzLREdAEQzOwAAAAAAAAAAAAAAAAAAAAAAAAAAAEQzOwBALTaAiJec/8/////N/f//zv///7vj
5v9tX2L/m25o/8qnof/LpZ7/uYuD/5VhWf9uRkT/eHh8/7bd3//O////zf3//8////+Ilpr/WoSd/1+W
s/9tbnL/kKCi/1BEStVALTYoRDM7AAAAAAAAAAAAAAAAAAAAAAAAAAAARDM7AEAtNoCIl5z/z////839
///P////nbi8/4VhXv/16uf/7N7X/9q7p//Xspv/3b+2/9Ktpv+OVk7/bFxe/7DU1//O////z////4iW
mv9ZgJn/VXGG/5Kio//Q////e4KF/z8rNGlEMzsAAAAAAAAAAAAAAAAAAAAAAAAAAABEMzsAQC02gIiX
nP/P////zf3//8////+hvcH/im9u//fw7//r3c3/3sWy/+rYyv/iy8P/+vj5/+bQzf+aZFv/bWFk/7zl
6P/Q////iJeb/1VyiP9VXWr/sM/Q/8z7+/9zd3r9PyszXkQzOwAAAAAAAAAAAAAAAAAAAAAARDM7AEQz
OwBALTaBiJec/8/////N/f//zv7//73n6v9zaW3/wqSf/+LLu//auZ7/2rum/+LEoP/To3X/06R1/9Or
n/+DUkz/iZeb/9D///+JmJ3/TFZn/2Nla//G8fH/nrW2/0s9RMRALTUYRDM7AAAAAAAAAAAAAAAAAAAA
AABEMzsARDM7EEEvN7iIl5z/z////87+///P////zvz//5Snrv99Zmz/1srL/+DTwP/Sq47/6dCu/9uu
b//boyj/0qFo/7eJgv9wYmT/x/X3/4mZnv9CNT//gIqN/7ne3v9cVlvsPys0RkIwOABEMzsAAAAAAAAA
AAAAAAAARDM7AEY3RgBEMjp2QzE5/IiYnf/P////v+nr/5a3s/9smXv/SI1O/yl8Jf80ii//XXJV/7Kg
lP+zjG3/1qhs/+SyMv/ds23/xp6Y/21ZWv/D8PL/iZme/0QzOv+bsLH/eoCD/kEvNoJCMDoCRDM7AAAA
AAAAAAAAAAAAAEQzOwBCMTkAPy02PFRJTuZSRkn/iJec/9D///+EoZn/GpEW/wS3Av8AwgD/AMgA/xeg
Ff9WW1T/Y1da/0lnPf+9tJr/7Ne3/9vDtv+OYl7/fH+D/8z8/v+Il5z/U0dN/4WPkP9LPEO9Pyw1FUMy
OwAAAAAAAAAAAAAAAAAAAAAARDM7AD8tNRRKO0K7g42O/1JHTf+Il5z/0f///6nKzP8nlCb/AMQA/wC+
AP8AvQD/HJsa/4WYmf9qdnT/GZAV/0ltQf99Z27/c19i/3yAhP+85Ob/0P///4iXnP9TRkr/VUpP5z8t
NT1CMDkARDM7AAAAAAAAAAAAAAAAAEQzOwBDMzwCQS42f3d9gP2ar7D/RDM6/4iYnf/P////yfT5/12S
Z/8CuwH/ALwA/wGqAP8DuwP/H5se/x+cHv8CwQH/MYoy/6bCyf+95un/yvn7/87+///P////iJid/0Mx
OfxEMjp3RThCAUQzOwAAAAAAAAAAAAAAAABEMzsAQjA5AD8sNERaUlfrt9ra/4CKjf9CNT//iZid/8//
///P////hamb/wusCP8AwgD/AawA/wGoAP8AuAD/AL8A/wDGAP83jzn/vePn/8/////N/f//zf3//8//
//+Il5z/QS83uEQzOxFEMzsAAAAAAAAAAAAAAAAAAAAAAEQzOwBALjYWSjpBwpmur//G8fD/Y2Vs/0xW
Z/+ImJ3/z////8////+hwsL/GpsY/wDGAP8AvwD/AakA/wGcAP8AvwD/DasL/3Gagf/L+Pz/zf3//839
///N/f//z////4iXnP9ALTaBRDM7AEQzOwAAAAAAAAAAAAAAAAAAAAAARDM7AD8rM1twcnb8yvj5/7DP
0P9VXWr/VXOJ/4iXm//P////zv7//8Dn7P9Gi0v/AbwA/wC/AP8AwAD/AbUB/werBf9DfUT/uNrg/87/
///N/f//zf3//839///P////iJec/0AtNn9EMzsAAAAAAAAAAAAAAAAAAAAAAAAAAABEMzsAPyszZ3uC
hf/Q////kqKj/1ZziP9ZgZn/iJaa/8/////N/f//zv7//6HDwf9AikP/Hpoc/ySWJP9Fhkj/KYoo/xme
F/+FqJv/zfz//839///N/f//zf3//8////+Il5z/QC02f0QzOwAAAAAAAAAAAAAAAAAAAAAAAAAAAEQz
OwBALTYnUERK1ZCgov9ub3P/YJi1/1qEnf+Ilpr/z////839///N/f//zf3+/7zi5/+pysz/r9HU/7/j
6/9fkGr/Go8X/3qfjf/M+/7/zf3//839///N/f//z////4iXnP9ALTZ/RDM7AAAAAAAAAAAAAAAAAAAA
AAAAAAAARDM7AC4THQBALjYzRjU8uEtGUP5rvOD/WoOc/4iWmv/P////zf3//839///N/f//zv7//8//
///P////zv///7HW1/+evb3/xfHz/83+///N/f//zf3//839///P////iJec/0AtNn9EMzsAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAQzI7AEMyOgBBKS89Tlhn83DP9v9Zgpv/iJaa/8/////N/f//zf3//839
///N/f//zf3//839///N/f//zv7//8/////N/v//zf3//839///N/f//zf3//8////+Il5z/QC02f0Qz
OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDM7AEIrMSNKSFTeZ6/R/1mAmP+Ilpr/0P///87+
///N/f//zf3//839///N/f//zf3//839///N/f//zf3//839///N/f//zf3//839///O/v//0P///4iX
nP9ALTZ/RDM7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEMzsARTU8AUQyOWdKR1TiSEZT/IqZ
nf+ry87/qcjL/87+///N/f//zf3//839///N/f//zf3//839///N/f//zf3//839///N/f//zv7//6nI
y/+ry87/iZic/0AtNX9EMzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEMjkARDQ8A0Er
MSNALDOPeX+D/6fFx/+rys3/0P///8/////P////z////8/////P////z////8/////P////z////8//
///Q////q8rN/6fFx/95f4L/Pyw0bUQzOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAARDM7AEEuNyJNQEbIeH+C/4mYnf+Il5z/iJec/4iXnP+JmJ3/h5ab/4eWm/+Il5z/iZid/4mY
nf+Il5z/iZid/4iYnf+JmJ3/eH+C/00/RsxBLzclRDM7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABEMzsAOSMsAEEuNyM/LDRtQC02gEAtNoBALTaFQS83zko6Qf5qaGr/YFtg/0k5
QP9CMTr/SkxZ/1JofP9LUWD/QjA44kAtNok/LDRtQS83JTUdJwBEMzsAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDM7AEQzOwBDMjofRjU9kmBb
X/F8g4X/VkxR+kMyOrZGOkSuSkdU2Ec+ScVEMzpQQy83AEQzOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEw
OABCMTkHQC01U0EvN5dDMTpwRDM7FEEpLwdBKS8cQiwyEkc8RgBEMjoAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA/+Af///AD//+AAB//AAAP/wAAA/8AAAH/AAAB/wAAAf8AAAD/AAAAfwA
AAH8AAAB/AAAAfgAAAP4AAAD8AAAB+AAAA/AAAAPwAAAH4AAAD+AAAA/gAAAP4AAAD/AAAA/4AAAP+AA
AD/gAAA/8AAAP/wAAD/+AAB///AD///4B/8=
</value>
</data>
</root>

View File

@@ -0,0 +1,151 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void exitTool()
{
printf("\n\nPress ENTER to exit...");
while(1)
{
if (getchar())
break;
}
}
unsigned short getDataChecksum(unsigned char *data, int dataSize)
{
unsigned short i, sum = 0;
for(i = 0; i < dataSize; i+=2)
{
sum += ((data[i] << 8) + data[i + 1]);
}
return ~sum & 0xFFFF;
}
unsigned char getHeaderChecksum(unsigned char *header)
{
unsigned short i, xor = 0;
xor ^= header[0xC];
xor ^= header[0xD];
xor ^= header[0x10];
xor ^= header[0x11];
for(i = 0x26; i < 0x2D; i++)
{
xor ^= header[i];
}
return xor & 0xFF;
}
unsigned char getGlobalChecksum(unsigned char *header, unsigned char *data, int dataSize)
{
short i, j, sum = 0, xor = 0;
for(i = 0; i < 0x2F; i++)
{
sum += header[i];
}
for(i = 0; i < dataSize/0x30; i++)
{
xor = 0;
for(j = 0; j < 0x30; j++)
{
xor ^= data[(i * 0x30) + j];
}
sum += xor;
}
return ~sum & 0xFF;
}
int main(int argc, char** argv)
{
FILE *card;
unsigned char *data, *header;
int headerSize = 0x30, cardSize = 0, dataSize = 0;
printf("e-Card Headerfix - fixes the header of decoded e-Cards\n");
if(argc != 2)
{
printf("\ndrop a decoded e-Card onto the exe\n");
exitTool();
return 0;
}
card = fopen(argv[1], "rb+");
if(!card)
{
printf("\ne-Card loading failed!\n");
exitTool();
return 0;
}
fseek(card, 0, SEEK_END);
cardSize = ftell(card);
rewind(card);
if(cardSize % 0x30 != 0 || cardSize <= 0x30)
{
printf("\nInvalid card size!\n");
exitTool();
return 0;
}
header = (unsigned char*)malloc(headerSize);
if(header == NULL)
{
printf("\nMemory allocation error!\n");
exitTool();
return 0;
}
fread(header, 1, headerSize, card);
rewind(card);
unsigned char signature[8] = {0x4E, 0x49, 0x4E, 0x54, 0x45, 0x4E, 0x44, 0x4F}; // NINTENDO
int x;
for(x = 0; x < 8; x++)
{
if(header[0x1A + x] != signature[x])
{
printf("\nInvalid e-Card signature!\n");
exitTool();
return 0;
}
}
dataSize = (header[0x06] << 8) + header[0x07];
data = (unsigned char*)malloc(dataSize);
if(data == NULL)
{
printf("\nMemory allocation error!\n");
exitTool();
return 0;
}
fseek(card, 0x30, SEEK_SET);
fread(data, 1, dataSize, card);
rewind(card);
unsigned short dataChecksum = getDataChecksum(data, dataSize);
header[0x13] = (unsigned char)(dataChecksum >> 8);
header[0x14] = (unsigned char)(dataChecksum & 0xFF);
unsigned char headerChecksum = getHeaderChecksum(header);
header[0x2E] = (unsigned char)headerChecksum;
unsigned char globalChecksum = getGlobalChecksum(header, data, dataSize);
header[0x2F] = (unsigned char)globalChecksum;
fwrite(header, 1, headerSize, card);
free(data);
free(header);
fclose(card);
printf("\nChecksums updated!\n");
return 0;
}

View File

@@ -0,0 +1,237 @@
// nedcenc.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include "../nedclib/nedclib.h"
int main(int argc, char* argv[])
{
int i,j,k,temp,hexinput;
int encode=0,decode=0,fix=0;
int infile=0,outfile=0;
printf("Nintendo eReader Dotcode encoder/decoder v%d.%d\n",NEDCENC_MAJOR,NEDCENC_MINOR);
printf("Copyright 2007 CaitSith2\n\n");
nedclib_version();
if(argc<3)
{
printf("Usage: %s [options] [-i] infile [[-o] outfile]\n\n",argv[0]);
printf("[options]\n");
printf("\t-i\tIn file (required)\n");
printf("\t-o\tOut file (required)\n");
printf("\t-e\tEncode bin 2 raw, Outfile required (Default operation)\n");
printf("\t-d\tDecode raw 2 bin. Outfile required\n");
printf("\t-f\tRepair raw file\n");
printf("\t-s\tDot code signature (encoding only)\n\t\t< - Input hex.\n\t\t<< - ");
printf("Input <\n\t\t> - If inputting hex, end hex input, otherwise input >");
return 1;
}
for(i=1;i<argc;i++)
{
if(argv[i][0]!='-')
continue;
switch(argv[i][1])
{
case 'e':
encode=1;
break;
case 'd':
decode=1;
break;
case 'f':
fix=1;
break;
case 's':
signature=i+1;
i++;
break;
case 'i':
infile=i+1;
i++;
break;
case 'o':
outfile=i+1;
i++;
break;
}
}
if((encode+decode+fix)==0)
{
encode=1;
}
if((encode+decode+fix)>1)
{
printf("You cannot specify more than one operation\n");
return 1;
}
if(signature)
{
i=0;
j=0;
k=0;
temp=0;
hexinput=0;
while((argv[signature][i])&&(j<0x2C))
{
switch(argv[signature][i])
{
case '<':
if(hexinput)
{
hexinput = 0;
signature_str[j++]=argv[signature][i];
break;
}
hexinput=1;
break;
case '>':
if(hexinput)
{
hexinput = 0;
break;
}
signature_str[j++]=argv[signature][i];
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if(hexinput)
{
if(k)
{
temp += (argv[signature][i]-'0');
signature_str[j++] = temp;
k=0;
}
else
{
temp = ((argv[signature][i]-'0')<<4);
k++;
}
break;
}
signature_str[j++]=argv[signature][i];
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
if(hexinput)
{
if(k)
{
temp += (argv[signature][i]-'a')+10;
signature_str[j++] = temp;
k=0;
}
else
{
temp = (((argv[signature][i]-'a')+10)<<4);
k++;
}
break;
}
signature_str[j++]=argv[signature][i];
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
if(hexinput)
{
if(k)
{
temp += (argv[signature][i]-'A')+10;
signature_str[j++] = temp;
k=0;
}
else
{
temp = (((argv[signature][i]-'A')+10)<<4);
k++;
}
break;
}
signature_str[j++]=argv[signature][i];
break;
default:
if(hexinput)
break;
signature_str[j++]=argv[signature][i];
break;
}
i++;
}
}
if(encode)
i=bin2raw(argv[infile],argv[outfile]);
if(decode)
i=raw2bin(argv[infile],argv[outfile]);
if(fix)
i=fixraw(argv[infile]);
switch(i)
{
case 0:
if(encode)
printf("bin successfully encoded to raw\n");
if(decode)
printf("raw successfully decoded to bin\n");
if(fix)
printf("dotcode raw successfully repaired\n");
break;
case -1:
printf("Unable to open input file %s\n",argv[infile]);
break;
case -2:
if(encode)
printf("Invalid bin file\n");
if(decode)
printf("Invalid raw file\n");
if(fix)
printf("Invalid raw file\n");
break;
case -3:
if(encode)
printf("Unable to encode bin file to raw\n");
if(decode)
printf("Unable to decode raw file to bin\n");
if(fix)
printf("Unable to repair raw file\n");
break;
case -4:
printf("Unable to open output file %s\n",argv[outfile]);
break;
default:
printf("Unknown error\n");
}
if(i!=0)
return i;
return 0;
}

View File

@@ -0,0 +1,405 @@
#include "stdafx.h"
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include "../nedclib/nedclib.h"
// If compiling on VS 2005, comment out fopen_s and vsprintf_s completely.
// It was easier to rewrite these fuctions rather than rewrite the code
// to be compilable on older VS versions.
//int fopen_s(FILE ** f, char *name, char *spec)
//{
// if(f==NULL)
// return 1;
// *f=fopen(name,spec);
// if(*f==NULL)
// return 1;
// else
// return 0;
//
//}
//
//int vsprintf_s(char *string, int sizeinbytes, const char *format, va_list ap)
//{
//
// vsprintf(string,format,ap);
// return 0;
//}
//////////////////////////////////////////////////////////////////////
void usage(void)
{
printf("usage :\n");
printf(" nvpktool [options]\n");
printf("options :\n");
printf(" -i <file> input file (Required)\n");
printf(" -o <file> output file (Required)\n");
printf(" -v verbose (Optional)\n");
printf(" -c compress (Required *)\n");
printf(" -d decompress (Required *)\n");
printf(" -level <value> compression level (0=store 1=med 2=max (Default = 2)\n");
printf(" 3 = Discover best lzwindow/lzsize/method)\n");
printf(" -log <file> Decompression log (Default = none)\n");
printf(" (following options are only valid for compression levels 1 & 2)\n");
printf(" -method <value> compression method (0 or 1) (Default = 0)\n");
printf(" -lzwindow <value> lz window size (Default = 4096)\n");
printf(" -lzsize <value> lz max repeat size (Default = 256)\n");
}
int main(int argc, char* argv[])
{
int i,j,k;
unsigned char *vpk_buf;
FILE *f;
int file_in=0;
int file_out=0;
int operation=0;
int level=2;
int method=0;
int lzwindow=4096;
int lzsize=256;
unsigned long bitsize = 0xFFFFFFFF;
printf("Nintendo e-Reader VPK Tool Version %d.%d\n",NEVPK_MAJOR,NEVPK_MINOR);
printf("Copyright CaitSith2\n\n");
nedclib_version();
if(argc==1)
{
usage();
return 1;
}
for(i=1;i<argc;i++)
{
if(!_stricmp(argv[i],"-i"))
{
i++;
file_in=i;
continue;
}
if(!_stricmp(argv[i],"-o"))
{
i++;
file_out=i;
continue;
}
if(!_stricmp(argv[i],"-c"))
{
if(operation == 2)
{
printf("You cannot use -c and -d at the same time\n");
return 1;
}
operation = 1;
continue;
}
if(!_stricmp(argv[i],"-d"))
{
if(operation == 1)
{
printf("You cannot use -c and -d at the same time\n");
return 1;
}
operation = 2;
continue;
}
if(!_stricmp(argv[i],"-level"))
{
level=strtoul(argv[++i],0,0);
if(level>3)
{
printf("Max compression level is 3\n");
return 1;
}
continue;
}
if(!_stricmp(argv[i],"-method"))
{
method=strtoul(argv[++i],0,0);
if(method>1)
{
printf("Invalid compression method\n");
return 1;
}
continue;
}
if(!_stricmp(argv[i],"-lzwindow"))
{
lzwindow=strtoul(argv[++i],0,0);
/*if(lzwindow > 32768)
{
printf("Max lz window is 32768\n");
return 1;
}*/
continue;
}
if(!_stricmp(argv[i],"-lzsize"))
{
lzsize=strtoul(argv[++i],0,0);
/*if(lzsize> 32768)
{
printf("Max lz size is 32768\n");
return 1;
}*/
continue;
}
if(!_stricmp(argv[i],"-verbose"))
{
verbose = 1;
}
if(!_stricmp(argv[i],"-log"))
{
i++;
if(fopen_s(&log,argv[i],"w")!=0)
{
printf("Failed to open log file\n");
log=NULL;
}
}
}
if(file_in == 0)
{
printf("Required parameter -i missing\n");
return 1;
}
if(file_out == 0)
{
printf("Required parameter -o missing\n");
return 1;
}
if(operation==0)
{
printf("-c or -d (not both) required\n");
return 1;
}
/*
in=stream_open(argv[file_in],"rb");
out=stream_open(argv[file_out],"wb");
stream_seek(in,0,SEEK_END);
i=stream_tell(in);
stream_seek(in,0,SEEK_SET);
lz77_encode(out,in,i,9);
stream_close(in);
stream_close(out);
in=stream_open(argv[file_out],"rb");
out=stream_open(argv[file_in],"wb");
stream_seek(in,0,SEEK_END);
i=stream_tell(in);
stream_seek(in,0,SEEK_SET);
lz77_decode(out,in,i);
stream_close(in);
stream_close(out);
*/
//return 0;
log_write("Input file: %s\n",argv[file_in]);
log_write("Output file: %s\n",argv[file_out]);
log_write("Operation: %s\n",(operation==1)?"Compress":"Decompress");
if(operation == 1)
{
log_write("Compression Level: %d\n",level);
if(level > 0)
{
if(level != 3)
{
log_write("Compression Method: %d\n",method);
log_write("LZ Window: %d\n",lzwindow);
log_write("LZ Size: %d\n",lzsize);
}
}
}
log_write("\n");
//f=;
if(fopen_s(&f,argv[file_in],"rb")!=0)
{
printf("Unable to open input file %s\n",argv[file_in]);
return 1;
}
fseek(f,0,SEEK_END);
i = ftell(f);
fseek(f,0,SEEK_SET);
vpk_buf = (unsigned char *)malloc(i);
if(vpk_buf==NULL)
{
printf("Not enough memory to allocate compression buffer\n");
return 1;
}
fread(vpk_buf,1,i,f);
fclose(f);
//f=;
int b_move = 0;
int b_size = 0;
if(operation == 1)
{
if(level==3)
{
int result;
for(j=16;j<65536;j<<=1)
{
for(k=16;k<65536;k<<=1)
{
//best_move=0x80000000;
//best_size=0x80000000;
//skip_huffman=1;
/*for(l=1;l<(65536*2);l+=2)
{
if((l>j)&&(l<65536))
{
l=65535;
continue;
}
if((l>(65536+k)))
{
break;
}
if(l==65536) continue;
if(l<65536)
{
best_move = l;
best_size = 0;
}
else
{
best_move = b_move;
best_size = l - 65536;
}*/
printf("Filesize: %d, lzwindow: %d, lzsize: %d ",((bitsize==0xFFFFFFFF)?0:bitsize/8),k,j);
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
result=NVPK_compress(vpk_buf,i,level,k,j,method,NULL);
if(result==0)
{
if(bitsize>bits_written)
{
lzwindow=k;
lzsize=j;
bitsize=bits_written;
b_move=best_move;
b_size=best_size;
}
}
else if (result==3) //Window size is invalid, break out of the
{ //Size loop, and try next window size.
break;
}
else if (result==4) //Repeat size is invalid, try next repeat size.
{
continue;
}
else if (result==2) //Buffer overrun error. (Data execution prevention)
{
continue;
}
//}
}
}
if(bitsize==0xFFFFFFFF)
{
printf("Compression failed\n");
return 1;
}
skip_huffman=0;
NVPK_compress(vpk_buf,i,level,lzwindow,lzsize,method,NULL);
if(bitsize>bits_written)
{
bitsize=bits_written;
}
//skip_size=1;
skip_lz77=1;
for(j=1;j<lzwindow;j+=2)
{
for(k=1;k<lzsize;k+=2)
{
printf("Filesize: %d, %d, %d ",((bitsize==0xFFFFFFFF)?0:bitsize/8),(lzwindow-1-j),(lzsize-1-k));
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
best_move=j;
best_size=k;
result=NVPK_compress(vpk_buf,i,level,lzwindow,lzsize,method,NULL);
if(result==0)
{
if(bitsize>bits_written)
{
b_size=best_size;
b_move=best_move;
bitsize=bits_written;
}
}
}
}
/*best_move=b_move;
skip_size=0;
for(j=1;j<lzsize;j++)
{
printf("Filesize: %d, %d ",((bitsize==0xFFFFFFFF)?0:bitsize/8),(lzsize-1-j));
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
best_size=j;
result=NVPK_compress(vpk_buf,i,level,lzwindow,lzsize,method,NULL);
if(result==0)
{
if(bitsize>bits_written)
{
b_size=best_size;
bitsize=bits_written;
}
}
}*/
best_size=b_size;
best_move=b_move;
best_size=b_size;
log_write("Compression Method: %d\n",method);
log_write("LZ Window: %d\n",lzwindow);
log_write("LZ Size: %d\n",lzsize);
}
if(fopen_s(&f,argv[file_out],"wb")!=0)
{
printf("Unable to open output file %s\n",argv[file_out]);
return 1;
}
i=NVPK_compress(vpk_buf,i,level,lzwindow,lzsize,method,f);
}
else
{
if(fopen_s(&f,argv[file_out],"wb")!=0)
{
printf("Unable to open output file %s\n",argv[file_out]);
return 1;
}
i=vpk_decompress(vpk_buf,f);
}
fclose(f);
if(log!=NULL)
fclose(log);
j=i;
free(vpk_buf);
return 0;
}

View File

@@ -0,0 +1,151 @@
// raw2bmp.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "../nedclib/nedclib.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int InFileList[256],OutFileList[256];
void usage (void)
{
printf("Usage :\n DcsTool [options]\n");
printf("Options :\n");
printf(" -i <file>\t\tInput File\t\t\t(Required)\n");
printf(" -o <file>\t\tOutput File\t\t\t(Required)\n");
printf(" -dpi <dpi>\t\tDPI Setting\t\t\t(Optional, Default 300)\n");
printf(" -MultiStrip\t\tMultistrip raw file mode\t\t(Optional)\n");
printf("\n");
}
int main(int argc, char* argv[])
{
int i,j;
int OptI=0;
int OptO=0;
int OptD=0;
int OptR=0;
printf("Nintendo e-Reader dotcode strip tool Version %d.%d\n",RAW2BMP_MAJOR,RAW2BMP_MINOR);
printf("Copyrighted by CaitSith2\n\n");
nedclib_version();
for (i=1;i<argc;i++)
{
if(!_stricmp(argv[i],"-i"))
{
if((i+1)==argc) continue;
i++;
while(argv[i][0] != '-')
{
InFileList[OptI++] = i;
i++;
if((i)==argc) break;
}
i--;
continue;
}
if(!_stricmp(argv[i],"-o"))
{
if((i+1)==argc) continue;
i++;
while(argv[i][0] != '-')
{
OutFileList[OptO++] = i;
i++;
if((i)==argc) break;
}
i--;
continue;
}
if(!_stricmp(argv[i],"-dpi"))
{
if((i+1)==argc) continue;
i++;
switch(atoi(argv[i]))
{
case 300:
case 360:
default:
dpi_multiplier = 1;
break;
case 600:
case 720:
dpi_multiplier = 2;
break;
case 1200:
case 1440:
dpi_multiplier = 4;
break;
case 2400:
case 2880:
dpi_multiplier = 8;
break;
}
continue;
}
if(!_stricmp(argv[i],"-multistrip"))
{
MultiStrip = 1;
continue;
}
if(!_stricmp(argv[i],"-smooth"))
{
smooth = 1;
continue;
}
}
if((OptI < 1) || (OptO < 1) || ((OptI != OptO) && (MultiStrip == 0)))
{
usage();
return 1;
}
for(i=0,j=0;(i<OptI)&&(j<OptO);i++)
{
if(is_bmp(argv[InFileList[i]]))
{
if(MultiStrip)
if(is_bmp(argv[OutFileList[j]]))
{
i--;
j++;
continue;
}
if((i==0)&&(MultiStrip))
{
MultiStrip = 0;
if(bmp2raw(argv[InFileList[i]],argv[OutFileList[j]]))
{
printf("Error converting %s to %s\n",argv[InFileList[i]],argv[OutFileList[j]]);
}
MultiStrip = 1;
}
else
{
if(bmp2raw(argv[InFileList[i]],argv[OutFileList[j]]))
{
printf("Error converting %s to %s\n",argv[InFileList[i]],argv[OutFileList[j]]);
}
}
if(!MultiStrip)
j++;
}
else
{
if(MultiStrip)
j++;
if(raw2bmp(argv[InFileList[i]],argv[OutFileList[j]]))
{
printf("Error converting %s to %s\n",argv[InFileList[i]],argv[OutFileList[j]]);
}
}
}
return 0;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,279 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text;
using System.Windows.Forms;
using AC_e_Reader_Card_Creator.References;
namespace AC_e_Reader_Card_Creator.Decompression.Functions
{
internal class Compress
{
public static void DECtoVPK(string greeting, string body, string closing, string stationery, string sender, string gift)
{
string new_greeting = greeting;
int player_index = greeting.IndexOf("<Player>");
if(player_index != -1)
{
new_greeting = greeting.Substring(0, player_index) + greeting.Substring(player_index + 8);
}
new_greeting = ACAsciiToBytes(new_greeting.PadRight(24, ' '));
string new_body = body.Replace('\r'.ToString(), "").PadRight(192, ' ');
new_body = ACAsciiToBytes(new_body);
// should only be true if letter uses special characters
if(new_body.Length < 384)
{
while(new_body.Length < 384)
{
new_body += "20";
}
}
else
{
// failsafe -- if programmed correctly, this should never run
new_body = new_body.Substring(0, 384);
}
string new_closing = closing.PadRight(31, ' ');
new_closing = ACAsciiToBytes(new_closing);
Dictionary<string, string> StationeryMappings = ReadMappings(Common.STATIONERY_LIST);
string new_stationery = StationeryMappings[stationery].Substring(2);
Dictionary<string, string> SenderMappings = ReadMappings(Common.SENDER_LIST);
string new_sender = SenderMappings[sender].Substring(2);
string final = player_index.ToString("X2") + Random2ByteHex();
string bytesToWrite = new_greeting + new_body + new_closing + new_stationery + gift + new_sender + final;
byte[] body_bytes = HexStringToByteArray(bytesToWrite);
string filePath = Common.DECOMPRESSED_GCN;
File.WriteAllBytes(filePath, body_bytes);
ProcessStartInfo dec_to_vpk = new ProcessStartInfo
{
FileName = Common.NEVPK,
Arguments = Common.NEVPK_ARGS_COMP(Common.DECOMPRESSED_GCN),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(dec_to_vpk)) { process.WaitForExit(); }
FixVPKChecksums();
}
private static string Random2ByteHex()
{
Random random = new Random();
int randomNumber = random.Next(0, 130);
return randomNumber.ToString("X4");
}
public static void VPKtoBIN()
{
if (File.Exists(Common.COMPRESSED_BIN))
{
File.Delete(Common.COMPRESSED_BIN);
}
string[] VPKfiles = { Common.VPK_HEADER, Common.VPK_GBA, Common.VPK_GCN };
using (FileStream NewBIN = new FileStream(Common.COMPRESSED_BIN, FileMode.CreateNew))
{
foreach (var sourceFile in VPKfiles)
{
byte[] fileContent = File.ReadAllBytes(sourceFile);
NewBIN.Write(fileContent, 0, fileContent.Length);
}
long currentBINSize = NewBIN.Length;
long paddingSize = 2112 - currentBINSize;
if (paddingSize > 0)
{
NewBIN.Seek(0, SeekOrigin.End);
// creating a padding buffer of 0x00 bytes to fill 2112 bytes
byte[] padding = new byte[paddingSize];
NewBIN.Write(padding, 0, padding.Length);
}
}
ProcessStartInfo fix_header_checksums = new ProcessStartInfo(Common.HEADERFIX, $"\"{Common.COMPRESSED_BIN}\"")
{
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(fix_header_checksums)) { process.WaitForExit(); }
}
public static void BINtoRAW(bool custom)
{
if (custom)
{
SaveFileDialog saveRAWFile = new SaveFileDialog
{
Filter = "RAW files (*.raw)|*.raw",
Title = "Save .RAW",
FileName = "My-Custom-eCard.raw"
};
if (saveRAWFile.ShowDialog() == DialogResult.OK)
{
ProcessStartInfo bin_to_raw = new ProcessStartInfo
{
FileName = Common.NEDCENC,
Arguments = Common.NEDCENC_ARGS_COMP(saveRAWFile.FileName),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(bin_to_raw)) { process.WaitForExit(); }
}
}
else
{
ProcessStartInfo bin_to_raw = new ProcessStartInfo
{
FileName = Common.NEDCENC,
Arguments = Common.NEDCENC_ARGS_COMP(Common.RAW_ECARD),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(bin_to_raw)) { process.WaitForExit(); }
}
}
static Dictionary<string, string> ReadMappings(string filePath)
{
var map = new Dictionary<string, string>();
foreach (var line in File.ReadAllLines(filePath))
{
var parts = line.Split(',');
if (parts.Length >= 2)
{
string hexKey = parts[0].Trim();
string value = parts[1].Trim().Trim('\'');
map[value] = hexKey;
}
}
return map;
}
private static void FixVPKChecksums()
{
try
{
FileInfo fileInfo = new FileInfo(Common.VPK_GCN);
long GCN_VPK_Length = 0;
if (fileInfo.Exists)
{
GCN_VPK_Length = fileInfo.Length;
}
else
{
MessageBox.Show("ERROR: Failed to fetch GCN VPK");
return;
}
string GCN_VPK_Hex_Length = GCN_VPK_Length.ToString("X").PadLeft(4, '0');
if (!File.Exists(Common.VPK_GBA))
{
MessageBox.Show("ERROR: Failed to fetch GBA VPK");
return;
}
byte[] fileContents = File.ReadAllBytes(Common.VPK_GBA);
if (fileContents.Length < 2)
{
MessageBox.Show("ERROR: GBA VPK exists, but is smaller in size than expected");
return;
}
byte[] GCN_FileSize_Checksum = HexStringToByteArray(GCN_VPK_Hex_Length);
fileContents[fileContents.Length - 2] = GCN_FileSize_Checksum[1];
fileContents[fileContents.Length - 1] = GCN_FileSize_Checksum[0];
File.WriteAllBytes(Common.VPK_GBA, fileContents);
}
catch (Exception ex)
{
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
public static string ACAsciiToBytes(string input)
{
Dictionary<string, string> map = ReadMappings(Common.SP_CHAR_LIST);
var sb = new StringBuilder();
var textElementEnumerator = StringInfo.GetTextElementEnumerator(input);
// a bit hacky and inefficient, but should work
while (textElementEnumerator.MoveNext())
{
string textElement = textElementEnumerator.GetTextElement();
if (textElement == "\n")
{
sb.Append("CD");
}
else if (textElement.Length == 1)
{
if (map.ContainsKey(textElement))
{
sb.Append(map[textElement].Substring(2));
}
else
{
char c = textElement[0];
if ((byte)c >= 32 && (byte)c <= 127)
{
byte char_byte = (byte)c;
sb.Append(char_byte.ToString("X2"));
}
else
{
MessageBox.Show("An unexpected error occurred!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
else if (map.ContainsKey(textElement))
{
sb.Append(map[textElement].Substring(2));
}
else
{
MessageBox.Show("Test!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
return sb.ToString().Trim();
}
static byte[] HexStringToByteArray(string hex)
{
int numberChars = hex.Length;
byte[] bytes = new byte[numberChars / 2];
for (int i = 0; i < numberChars; i += 2)
{
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
}
return bytes;
}
}
}

View File

@@ -0,0 +1,136 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using AC_e_Reader_Card_Creator.References;
namespace AC_e_Reader_Card_Creator.Decompression.Functions
{
internal class Decompress
{
public static void BINtoVPK(string filePath, byte[] delimiter, string outputDirectory)
{
List<byte> buffer = new List<byte>();
int chunkNumber = 1;
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
using (BinaryReader reader = new BinaryReader(fs))
{
while (reader.BaseStream.Position != reader.BaseStream.Length)
{
byte b = reader.ReadByte();
buffer.Add(b);
if (buffer.Count >= delimiter.Length &&
buffer.Skip(buffer.Count - delimiter.Length).SequenceEqual(delimiter))
{
WriteToFile(buffer.Take(buffer.Count - delimiter.Length).ToArray(), ref chunkNumber, outputDirectory, delimiter);
buffer.Clear();
}
}
if (buffer.Count > 0)
{
WriteToFile(buffer.ToArray(), ref chunkNumber, outputDirectory, delimiter);
}
}
}
public static void RAWtoBIN(string filePath)
{
try
{
ProcessStartInfo raw_to_bin = new ProcessStartInfo
{
FileName = Common.NEDCENC,
Arguments = Common.NEDCENCE_ARGS_DECOMP(filePath),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(raw_to_bin)) { process.WaitForExit(); }
}
catch (Exception ex)
{
MessageBox.Show($"Error processing file {filePath}: {ex.Message}");
}
}
public static void VPK_Decompress()
{
string folderPath = Common.VPK_OUTPUT;
string[] vpk_file_paths = Directory.GetFiles(folderPath);
int iteration = 1;
foreach (string vpk_file in vpk_file_paths)
{
try
{
if (iteration == 1)
{
iteration++;
continue;
}
else
{
ProcessStartInfo vpk_to_dec = new ProcessStartInfo
{
FileName = Common.NEVPK,
Arguments = Common.NEVPK_ARGS_DECOMP(vpk_file, iteration),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(vpk_to_dec)) { process.WaitForExit(); }
iteration++;
}
}
catch (Exception ex)
{
MessageBox.Show($"Error processing file {vpk_file}: {ex.Message}");
}
}
}
private static void WriteToFile(byte[] data, ref int chunkNumber, string outputDirectory, byte[] delimiter)
{
string fileName = "";
switch (chunkNumber)
{
case 1:
fileName = Path.Combine(outputDirectory, $"1_VPK_Header.vpk");
break;
case 2:
fileName = Path.Combine(outputDirectory, $"2_VPK_GBA.vpk");
break;
case 3:
fileName = Path.Combine(outputDirectory, $"3_VPK_GCN.vpk");
break;
default:
break;
}
using (FileStream outFile = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
if (chunkNumber != 1)
{
outFile.Write(delimiter, 0, delimiter.Length);
outFile.Write(data, 0, data.Length);
}
else
{
outFile.Write(data, 0, data.Length);
}
}
chunkNumber++;
}
}
}

View File

@@ -0,0 +1,149 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using AC_e_Reader_Card_Creator.References;
namespace AC_e_Reader_Card_Creator.Decompression.Functions
{
internal class Decompressed
{
public static Dictionary<string, string> GetData()
{
byte[] GCN_Letter_Bytes = { };
Dictionary<string, string> letterData = new Dictionary<string, string>();
try
{
GCN_Letter_Bytes = File.ReadAllBytes(Common.GCN_LETTER_DATA);
}
catch (IOException ex)
{
Console.WriteLine($"An error occurred while reading the file: {ex.Message}");
}
string letter_contents = ConvertBytesToACAscii(GCN_Letter_Bytes);
string full_greeting = GetGreeting(letter_contents);
// bunch of hardcoding with the exact byte positions - source these out to variables
int player_index = Convert.ToInt32("0x" + GCN_Letter_Bytes[253].ToString("X2"), 16) - 1;
string letter_greeting = InsertPlayerVar(full_greeting, player_index).Trim();
letterData.Add("letter_greeting", letter_greeting);
string letter_body = GetStringInRange(letter_contents, 24, 207);
letterData.Add("letter_body", letter_body);
string letter_closing = GetStringInRange(letter_contents, 216, 246).Trim();
letterData.Add("letter_closing", letter_closing);
byte[] stationeryID_bytes = { GCN_Letter_Bytes[247], GCN_Letter_Bytes[248] };
string stationeryID = BytesToHex(stationeryID_bytes).Replace(" ", "");
letterData.Add("letter_stationery", stationeryID);
byte[] giftID_bytes = { GCN_Letter_Bytes[249], GCN_Letter_Bytes[250] };
string giftID = BytesToHex(giftID_bytes).Replace(" ", "");
letterData.Add("letter_gift", giftID);
byte[] senderID_bytes = { GCN_Letter_Bytes[251], GCN_Letter_Bytes[252] };
string senderID = BytesToHex(senderID_bytes).Replace(" ","");
letterData.Add("letter_sender", senderID);
return letterData;
}
public static string ConvertBytesToACAscii(byte[] byteArray)
{
StringBuilder result = new StringBuilder();
foreach (byte b in byteArray)
{
// handles newline
if (b == 0xCD)
{
result.Append("\n");
}
// handles standard ASCII conversion
else if (b >= 32 && b <= 127)
{
result.Append((char)b);
}
// handles AC's special characters; standard ASCII char conversion is faster,
// so only lookup special characters instead of doing this for every character
else if (b < 32 || b > 127)
{
string special_char = "0x" + b.ToString("X2");
special_char = Common.LookupListValue(special_char, Common.SP_CHAR_LIST);
result.Append(special_char);
}
else
{
result.Append("-");
}
}
return result.ToString();
}
public static int PlayerVarFinder(string greeting)
{
for (int i = greeting.Length - 2; i > 0; i--)
{
if (greeting[i] == ' ' && greeting[i + 1] != ' ')
{
return i;
}
}
return -1;
}
public static string GetGreeting(string letter)
{
if (string.IsNullOrEmpty(letter) || letter.Length < 24)
{
return letter;
}
return letter.Substring(0, 24);
}
public static string GetStringInRange(string letter, int startIndex, int endIndex)
{
if (string.IsNullOrEmpty(letter))
{
throw new ArgumentException("The letter is null or empty.");
}
if (startIndex < 0 || endIndex >= letter.Length || startIndex > endIndex)
{
throw new ArgumentOutOfRangeException("Start or end index is out of range.");
}
int length = endIndex - startIndex + 1;
return letter.Substring(startIndex, length);
}
public static string InsertPlayerVar(string greeting, int index)
{
if (index == 0 || index < 0 || index > greeting.Length)
{
string revisedGreeting = greeting.Insert(0, "<Player>");
return revisedGreeting;
}
return greeting.Substring(0, index) + " <Player>" + greeting.Substring(index + 1);
}
public static string BytesToHex(byte[] byteArray)
{
StringBuilder result = new StringBuilder();
foreach (byte b in byteArray)
{
result.AppendFormat("{0:X2} ", b);
}
return result.ToString().TrimEnd();
}
}
}

View File

@@ -0,0 +1,177 @@
namespace AC_e_Reader_Card_Creator
{
partial class Print_Frontend
{
/// <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()
{
System.Windows.Forms.Button btn_Print;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Print_Frontend));
this.comboBox_DPI = new System.Windows.Forms.ComboBox();
this.label_DotCodeDPI = new System.Windows.Forms.Label();
this.btn_SaveBMP = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.comboBox_Printer = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.label_PrinterDPI = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
btn_Print = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// btn_Print
//
btn_Print.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
btn_Print.Location = new System.Drawing.Point(860, 146);
btn_Print.Name = "btn_Print";
btn_Print.Size = new System.Drawing.Size(162, 36);
btn_Print.TabIndex = 5;
btn_Print.Text = "Print\r\n";
btn_Print.UseVisualStyleBackColor = true;
btn_Print.Click += new System.EventHandler(this.Print);
//
// comboBox_DPI
//
this.comboBox_DPI.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox_DPI.FormattingEnabled = true;
this.comboBox_DPI.Items.AddRange(new object[] {
"300 DPI",
"600 DPI",
"1200 DPI"});
this.comboBox_DPI.Location = new System.Drawing.Point(31, 152);
this.comboBox_DPI.Name = "comboBox_DPI";
this.comboBox_DPI.Size = new System.Drawing.Size(134, 26);
this.comboBox_DPI.TabIndex = 0;
//
// label_DotCodeDPI
//
this.label_DotCodeDPI.AutoSize = true;
this.label_DotCodeDPI.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_DotCodeDPI.Location = new System.Drawing.Point(27, 130);
this.label_DotCodeDPI.Name = "label_DotCodeDPI";
this.label_DotCodeDPI.Size = new System.Drawing.Size(112, 19);
this.label_DotCodeDPI.TabIndex = 1;
this.label_DotCodeDPI.Text = "Dot Code DPI";
//
// btn_SaveBMP
//
this.btn_SaveBMP.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn_SaveBMP.Location = new System.Drawing.Point(692, 146);
this.btn_SaveBMP.Name = "btn_SaveBMP";
this.btn_SaveBMP.Size = new System.Drawing.Size(162, 36);
this.btn_SaveBMP.TabIndex = 4;
this.btn_SaveBMP.Text = "Save .BMP";
this.btn_SaveBMP.UseVisualStyleBackColor = true;
this.btn_SaveBMP.Click += new System.EventHandler(this.SaveBMP);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(176, 130);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(60, 19);
this.label3.TabIndex = 6;
this.label3.Text = "Printer";
//
// comboBox_Printer
//
this.comboBox_Printer.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.comboBox_Printer.FormattingEnabled = true;
this.comboBox_Printer.Location = new System.Drawing.Point(180, 151);
this.comboBox_Printer.Name = "comboBox_Printer";
this.comboBox_Printer.Size = new System.Drawing.Size(276, 26);
this.comboBox_Printer.TabIndex = 7;
this.comboBox_Printer.SelectionChangeCommitted += new System.EventHandler(this.SelectPrinter);
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(471, 130);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(143, 19);
this.label4.TabIndex = 8;
this.label4.Text = "Printer DPI (auto)";
//
// label_PrinterDPI
//
this.label_PrinterDPI.BackColor = System.Drawing.Color.White;
this.label_PrinterDPI.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label_PrinterDPI.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_PrinterDPI.Location = new System.Drawing.Point(475, 151);
this.label_PrinterDPI.Name = "label_PrinterDPI";
this.label_PrinterDPI.Size = new System.Drawing.Size(185, 27);
this.label_PrinterDPI.TabIndex = 9;
this.label_PrinterDPI.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pictureBox2
//
this.pictureBox2.Image = global::AC_e_Reader_Card_Creator.Properties.Resources.sample_dotcode;
this.pictureBox2.InitialImage = global::AC_e_Reader_Card_Creator.Properties.Resources.sample_dotcode;
this.pictureBox2.Location = new System.Drawing.Point(31, 28);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(991, 63);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox2.TabIndex = 11;
this.pictureBox2.TabStop = false;
//
// Print_Frontend
//
this.AutoScaleDimensions = new System.Drawing.SizeF(144F, 144F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(1061, 205);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.label_PrinterDPI);
this.Controls.Add(this.label4);
this.Controls.Add(this.comboBox_Printer);
this.Controls.Add(this.label3);
this.Controls.Add(btn_Print);
this.Controls.Add(this.btn_SaveBMP);
this.Controls.Add(this.label_DotCodeDPI);
this.Controls.Add(this.comboBox_DPI);
this.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MinimizeBox = false;
this.Name = "Print_Frontend";
this.Text = "Print Dot Code";
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ComboBox comboBox_DPI;
private System.Windows.Forms.Label label_DotCodeDPI;
private System.Windows.Forms.Button btn_SaveBMP;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ComboBox comboBox_Printer;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label_PrinterDPI;
private System.Windows.Forms.PictureBox pictureBox2;
}
}

View File

@@ -0,0 +1,138 @@
using System;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
using AC_e_Reader_Card_Creator.References;
namespace AC_e_Reader_Card_Creator
{
public partial class Print_Frontend : Form
{
public Print_Frontend()
{
InitializeComponent();
PopulatePrintersComboBox();
comboBox_DPI.SelectedIndex = 1; // 600 DPI default
}
private void PopulatePrintersComboBox()
{
foreach (string printerName in PrinterSettings.InstalledPrinters)
{
comboBox_Printer.Items.Add(printerName);
}
if (comboBox_Printer.Items.Count > 0)
{
comboBox_Printer.SelectedIndex = 0;
}
GetSelectedPrinterDPI(comboBox_Printer.SelectedItem.ToString());
}
private void SelectPrinter(object sender, EventArgs e)
{
GetSelectedPrinterDPI(comboBox_Printer.SelectedItem.ToString());
}
private void GetSelectedPrinterDPI(string printerName)
{
PrinterSettings ps = new PrinterSettings
{
PrinterName = printerName
};
PrinterResolution pr = ps.DefaultPageSettings.PrinterResolution;
if (ps.IsValid)
{
if (pr.Kind == PrinterResolutionKind.Custom)
{
label_PrinterDPI.Text = $"{pr.X} x {pr.Y} DPI";
}
else
{
label_PrinterDPI.Text = $"Preset: {pr.Kind}";
}
}
}
private void SaveBMP(object sender, EventArgs e)
{
if (comboBox_DPI.SelectedItem == null)
{
MessageBox.Show("Please select a dot code DPI", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int DPI = int.Parse(comboBox_DPI.Text.Substring(0, comboBox_DPI.Text.Length - 4));
SaveFileDialog saveRAWFile = new SaveFileDialog
{
Title = "Save Dot Code (.bmp)",
FileName = "dotcode"
};
if (saveRAWFile.ShowDialog() == DialogResult.OK)
{
ProcessStartInfo raw_to_bmp = new ProcessStartInfo
{
FileName = Common.RAW2BMP,
Arguments = Common.RAW2BMP_ARGS(saveRAWFile.FileName, DPI),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(raw_to_bmp)) { process.WaitForExit(); }
}
}
private void Print(object sender, EventArgs e)
{
if (comboBox_Printer.SelectedItem == null)
{
MessageBox.Show("No valid printers found!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int DPI = int.Parse(comboBox_DPI.Text.Substring(0, comboBox_DPI.Text.Length - 4));
MessageBox.Show($"{DPI}");
ProcessStartInfo raw_to_bmp = new ProcessStartInfo
{
FileName = Common.RAW2BMP,
Arguments = Common.RAW2BMP_ARGS(Common.BMP_DOTCODE, DPI),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = Process.Start(raw_to_bmp)) { process.WaitForExit(); }
PrintDotCode();
}
private void PrintDotCode()
{
string selectedPrinter = comboBox_Printer.SelectedItem.ToString();
PrintDocument printDocument = new PrintDocument();
printDocument.PrinterSettings.PrinterName = selectedPrinter;
printDocument.PrintPage += (sender, e) =>
{
Image image = Image.FromFile(Common.BMP_DOTCODE+".bmp");
Point loc = new Point(0, 0);
e.Graphics.DrawImage(image, loc);
};
try
{
printDocument.Print();
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred while printing: {ex.Message}");
}
}
}
}

View File

@@ -0,0 +1,170 @@
<?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="btn_Print.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAP8AAAD/AAAAAAAA
AAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAABXAAAAAAAA
AP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPkAAAD1AAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA
AOgAAAD/AAAANwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AEsAAABKAAAAOgAAAP8AAADmAAAAAAAAAAAAAAAAAAAAAAAAAJkAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACaAAAAAAAA
AAAAAAAAAAAAAAAAAA4AAACTAAAA6AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA6AAAAJMAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA
AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD8AD8A/AA/APz/PwD8/z8AwP8DAMD/
AwDMADMAzAAzAM//kwDP/5MAx/+DAMAAAwDAAAMA/P8/APz/PwD8/z8A/AA/APwAPwD///8A////AP//
/wA=
</value>
</data>
</root>

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AC_e_Reader_Card_Creator
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new eReaderCCC());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("AC_e-Reader_Card_Creator")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AC_e-Reader_Card_Creator")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("61e3e092-adf9-4613-b6fb-205dd4f5a7e9")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,763 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AC_e_Reader_Card_Creator.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AC_e_Reader_Card_Creator.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Airmail_Paper_PG {
get {
object obj = ResourceManager.GetObject("Airmail_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Aloha_Paper_PG {
get {
object obj = ResourceManager.GetObject("Aloha_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Animal_Crossing_PAL_Font {
get {
object obj = ResourceManager.GetObject("Animal_Crossing_PAL_Font", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Bamboo_Paper_PG {
get {
object obj = ResourceManager.GetObject("Bamboo_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Blossom_Paper_PG {
get {
object obj = ResourceManager.GetObject("Blossom_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Bluebell_Paper_PG {
get {
object obj = ResourceManager.GetObject("Bluebell_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Butterfly_Paper_PG {
get {
object obj = ResourceManager.GetObject("Butterfly_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Cloudy_Paper_PG {
get {
object obj = ResourceManager.GetObject("Cloudy_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Cool_Neon_Paper_PG {
get {
object obj = ResourceManager.GetObject("Cool_Neon_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Cool_Paper_PG {
get {
object obj = ResourceManager.GetObject("Cool_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Dainty_Paper_PG {
get {
object obj = ResourceManager.GetObject("Dainty_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Daisy_Paper_PG {
get {
object obj = ResourceManager.GetObject("Daisy_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Deep_Sea_Paper_PG {
get {
object obj = ResourceManager.GetObject("Deep_Sea_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Dragon_Paper_PG {
get {
object obj = ResourceManager.GetObject("Dragon_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
public static System.Drawing.Icon e_reader_ccc {
get {
object obj = ResourceManager.GetObject("e_reader_ccc", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Elegant_Paper_PG {
get {
object obj = ResourceManager.GetObject("Elegant_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Essay_Paper_PG {
get {
object obj = ResourceManager.GetObject("Essay_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Fantasy_Paper_PG {
get {
object obj = ResourceManager.GetObject("Fantasy_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Felt_Paper_PG {
get {
object obj = ResourceManager.GetObject("Felt_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Festive_Paper_PG {
get {
object obj = ResourceManager.GetObject("Festive_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Fireworks_Paper_PG {
get {
object obj = ResourceManager.GetObject("Fireworks_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Fortune_Paper_PG {
get {
object obj = ResourceManager.GetObject("Fortune_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
public static byte[] FOT_Rodin_Pro_M {
get {
object obj = ResourceManager.GetObject("FOT_Rodin_Pro_M", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Gingko_Paper_PG {
get {
object obj = ResourceManager.GetObject("Gingko_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Gyroid_Paper_PG {
get {
object obj = ResourceManager.GetObject("Gyroid_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Honeybee_Paper_PG {
get {
object obj = ResourceManager.GetObject("Honeybee_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Horsetail_Paper_PG {
get {
object obj = ResourceManager.GetObject("Horsetail_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Hot_Neon_Paper_PG {
get {
object obj = ResourceManager.GetObject("Hot_Neon_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap infinity {
get {
object obj = ResourceManager.GetObject("infinity", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Inky_Paper_PG {
get {
object obj = ResourceManager.GetObject("Inky_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Ivy_Paper_PG {
get {
object obj = ResourceManager.GetObject("Ivy_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Lacy_Paper_PG {
get {
object obj = ResourceManager.GetObject("Lacy_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Lattice_Paper_PG {
get {
object obj = ResourceManager.GetObject("Lattice_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Maple_Leaf_Paper_PG {
get {
object obj = ResourceManager.GetObject("Maple_Leaf_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Misty_Paper_PG {
get {
object obj = ResourceManager.GetObject("Misty_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Museum_Paper_PG {
get {
object obj = ResourceManager.GetObject("Museum_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Mystic_Paper_PG {
get {
object obj = ResourceManager.GetObject("Mystic_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Neat_Paper_PG {
get {
object obj = ResourceManager.GetObject("Neat_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap New_Year_s_Card_PG {
get {
object obj = ResourceManager.GetObject("New_Year_s_Card_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Noodle_Paper_PG {
get {
object obj = ResourceManager.GetObject("Noodle_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Octopus_Paper_PG {
get {
object obj = ResourceManager.GetObject("Octopus_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Orange_Paper_PG {
get {
object obj = ResourceManager.GetObject("Orange_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Panda_Paper_PG {
get {
object obj = ResourceManager.GetObject("Panda_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Parchment_PG {
get {
object obj = ResourceManager.GetObject("Parchment_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Parchment_PG__1_ {
get {
object obj = ResourceManager.GetObject("Parchment_PG__1_", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Petal_Paper_PG {
get {
object obj = ResourceManager.GetObject("Petal_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Polka_Dot_Paper_PG {
get {
object obj = ResourceManager.GetObject("Polka-Dot_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
public static System.Drawing.Icon print {
get {
object obj = ResourceManager.GetObject("print", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Rainbow_Paper_PG {
get {
object obj = ResourceManager.GetObject("Rainbow_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Rainy_Day_Paper_PG {
get {
object obj = ResourceManager.GetObject("Rainy_Day_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Ranch_Paper_PG {
get {
object obj = ResourceManager.GetObject("Ranch_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Ribbon_Paper_PG {
get {
object obj = ResourceManager.GetObject("Ribbon_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap sample_dotcode {
get {
object obj = ResourceManager.GetObject("sample_dotcode", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Simple_Paper_PG {
get {
object obj = ResourceManager.GetObject("Simple_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Skyline_Paper_PG {
get {
object obj = ResourceManager.GetObject("Skyline_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Snowy_Paper_PG {
get {
object obj = ResourceManager.GetObject("Snowy_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Sparkly_Paper_PG {
get {
object obj = ResourceManager.GetObject("Sparkly_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Spooky_Paper_PG {
get {
object obj = ResourceManager.GetObject("Spooky_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Stageshow_Paper_PG {
get {
object obj = ResourceManager.GetObject("Stageshow_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Starry_Sky_Paper_PG {
get {
object obj = ResourceManager.GetObject("Starry_Sky_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Steel_Paper_PG {
get {
object obj = ResourceManager.GetObject("Steel_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Sunset_Paper_PG {
get {
object obj = ResourceManager.GetObject("Sunset_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Thick_Paper_PG {
get {
object obj = ResourceManager.GetObject("Thick_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Tile_Paper_PG {
get {
object obj = ResourceManager.GetObject("Tile_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Vine_Paper_PG {
get {
object obj = ResourceManager.GetObject("Vine_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Watermelon_Paper_PG {
get {
object obj = ResourceManager.GetObject("Watermelon_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Wing_Paper_PG {
get {
object obj = ResourceManager.GetObject("Wing_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Winter_Paper_PG {
get {
object obj = ResourceManager.GetObject("Winter_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Woodcut_Paper_PG {
get {
object obj = ResourceManager.GetObject("Woodcut_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap Woodland_Paper_PG {
get {
object obj = ResourceManager.GetObject("Woodland_Paper_PG", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -0,0 +1,331 @@
<?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>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Airmail_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Airmail_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Aloha_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Aloha_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Animal_Crossing_PAL_Font" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Animal_Crossing_PAL_Font.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Bamboo_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Bamboo_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Blossom_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Blossom_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Bluebell_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Bluebell_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Butterfly_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Butterfly_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Cloudy_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Cloudy_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Cool_Neon_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Cool_Neon_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Cool_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Cool_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Dainty_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Dainty_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Daisy_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Daisy_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Deep_Sea_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Deep_Sea_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Dragon_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Dragon_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Elegant_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Elegant_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Essay_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Essay_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="e_reader_ccc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\e-reader-ccc.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Fantasy_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Fantasy_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Felt_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Felt_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Festive_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Festive_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Fireworks_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Fireworks_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Fortune_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Fortune_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="FOT_Rodin_Pro_M" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\FOT-Rodin Pro M.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="Gingko_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Gingko_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Gyroid_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Gyroid_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Honeybee_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Honeybee_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Horsetail_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Horsetail_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Hot_Neon_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Hot_Neon_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="infinity" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\infinity.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Inky_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Inky_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Ivy_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Ivy_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Lacy_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Lacy_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Lattice_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Lattice_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Maple_Leaf_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Maple_Leaf_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Misty_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Misty_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Museum_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Museum_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Mystic_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Mystic_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Neat_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Neat_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="New_Year_s_Card_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\New_Year's_Card_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Noodle_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Noodle_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Octopus_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Octopus_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Orange_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Orange_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Panda_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Panda_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Parchment_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Parchment_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Parchment_PG__1_" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Parchment_PG (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Petal_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Petal_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Polka-Dot_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Polka-Dot_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="print" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\print.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Rainbow_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Rainbow_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Rainy_Day_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Rainy_Day_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Ranch_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Ranch_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Ribbon_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Ribbon_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sample_dotcode" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sample_dotcode.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Simple_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Simple_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Skyline_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Skyline_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Snowy_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Snowy_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Sparkly_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Sparkly_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Spooky_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Spooky_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Stageshow_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Stageshow_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Starry_Sky_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Starry_Sky_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Steel_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Steel_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Sunset_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Sunset_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Thick_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Thick_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Tile_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Tile_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Vine_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Vine_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Watermelon_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Watermelon_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Wing_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Wing_Paper_PG (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Winter_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Winter_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Woodcut_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Woodcut_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Woodland_Paper_PG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Woodland_Paper_PG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AC_e_Reader_Card_Creator.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,181 @@
...<Player>
<Player> BOO!
<Player>!
<Player>!!!
<Player>!!!!
<Player>,
<Player>.
<Player>...
<Player>?
Ah... <Player>...
Ahoy there, <Player>!
Ahoy, <Player>!
Allo allo! <Player>,
Beware, <Player>,
Bleh eh eh, <Player>,
Bow WOW! <Player>,
Burrup, <Player>,
CHIRP CHIRP! <Player>,
Cha-chomp! <Player>,
Coo-HAH! <Player>,
Cool it, <Player>,
Countdown, <Player>,
D-d-dear <Player>,
Dagnaabit, <Player>,
Darling <Player>,
Dear <Player>,
Dear Chipmunk, <Player>,
Dear ol' bear, <Player>,
Dearest <Player>,
Derrrr <Player>,
Don't be rash, <Player>!
Eaglet, <Player>,
Excuse me, <Player>,
Girlfriend! <Player>,
Good day, <Player>,
Greetings <Player>,
Greetings, <Player>,
Greetings, <Player>!
Groovy, <Player>!
Guess what, <Player>!
HELLO, <Player>!
HEY! YOU! <Player>!
Heads up, <Player>!
Hello <Player>,
Hello Silly, <Player>!
Hello darling, <Player>,
Hello there, <Player>,
Hello to you, <Player>!
Hello, <Player>!
Hello, <Player>,
Hey Babe, <Player>,
Hey Bloke! <Player>,
Hey h-h-h-hon, <Player>,
Hey hey hey, <Player>,
Hey hey, <Player>!
Hey there bear, <Player>,
Hey there, <Player>!
Hey there, <Player>,
Hey there, you <Player>!
Hey you, <Player>!
Hey! <Player>!
Hey, <Player> Honeybun,
Hey, <Player>!
Hey, <Player>,
Hey, <Player>-erator!
Hey, there, <Player>!
Hey-hey-hey, <Player>!
Heya, <Player>!
Hi Li'l Hare, <Player>,
Hi! <Player>,
Hi! Hi! Hi, <Player>!
Hi, <Player>!
Hi, <Player>,
Hi, <Player>...
Hi-de-ho, <Player>!
Hi-dee-ho, <Player>,
Hi-ho, <Player>!
Hiya Sugarbill, <Player>,
Hiya, <Player>!
Hiya, <Player>,
Ho there, <Player>!
Hoooonk! <Player>!
Hop along, <Player>!
How are you, <Player>?
How goes it, <Player>?
How's life, <Player>?
How-do, <Player>?
Howdy Y'all, <Player>!
Howdy, <Player>!
Howdy, <Player>,
Howdy-do, <Player>!
I was wondering, <Player>...
I'm mad, <Player>!
I'm so jealous, <Player>!
It's a me, <Player>!
It's me again. <Player>,
Like, hey, <Player>...
Listen carefully, <Player>,
Listen up! <Player>,
Listen up, <Player>!
Listen up, <Player>,
Little <Player>,
Look alive, <Player>!
Look sharp, <Player>!
Loyal, <Player>,
Many greetings, <Player>!
Me-WOW! <Player>,
Me-YOWZA, <Player>,
Moo la la, <Player>,
My daahling, <Player>,
My dear <Player>,
My dearest <Player>,
My good <Player>,
My loyal voter, <Player>,
My main human, <Player>,
Now, <Player> Chickadee,
OK, <Player>,
OK, <Player>...
Odelay, <Player>!
Oh hello, <Player>,
Oh, <Player>!
Pay attention, <Player>!
Poor little <Player>,
Quack quack, <Player>!
RAWR!!! <Player>,
Rrr-owch, <Player>,
Salutations, <Player>,
Say hey, <Player>,
Say, <Player>,
Say, now, <Player>,
Snork, <Player>,
So Speedy, <Player>,
So listen to this, <Player>,
So, <Player>?
Squee, <Player>,
Sup, <Player>,
Sup, <Player>?
Surf's up, <Player>!
Tell me, <Player>,
Ten-hut, <Player>!
The esteemed <Player>,
To <Player>,
To To, <Player>,
To good old <Player>,
To my bud, <Player>,
To my dear <Player>,
To my fan, <Player>,
To my friend, <Player>,
To sweet <Player>,
To the esteemed <Player>,
To you. <Player>.
Tooooot-a-loo, <Player>!
Uff da! <Player>,
Um... <Player>?
Um... Hey... <Player>...
Umm, <Player>,
Umm...<Player>,
WHONK, <Player>,
Waddyawant <Player>?
Well hi there, <Player>!
Well now, <Player>,
Well, hello there, <Player>,
Well, hi <Player>!
What up, <Player>?
What's UP, <Player>?
What's shaking, <Player>?
What's up, <Player>?
Whats the word, <Player>?
Woo-ooh, <Player>,
Word, <Player>,
Yawwwn, <Player>,
Yeah, <Player>!
Yes, hello, <Player>,
Yo <Player>!
Yo Biz-aaa, <Player>!
Yo my friend, <Player>!
Yo, <Player>!
Yoo-hoo! <Player>,
Yoohoo, <Player>,
kerPOW! <Player>!
ska-WEAK! <Player>,

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,269 @@
0xD000, Wendell
0xD001, Redd
0xD002, Gracie
0xD003, Pelly
0xD004, Rover
0xD006, Saharah
0xD007, Joan
0xD008, Tom Nook
0xD00C, Katrina
0xD00D, Copper
0xD00E, Porter
0xD00F, Jingle
0xD010, Booker
0xD011, Pete
0xD012, Phyllis
0xD01D, Chip
0xD025, Jack
0xD026, Timmy
0xD037, Tommy
0xD03E, Resetti
0xD05D, K.K. Slider
0xD064, Gulliver
0xD06D, Blathers
0xD06E, Tortimer
0xD06F, Wisp
0xD070, Mabel
0xD071, Sable
0xD072, Kapp'n
0xD075, Blanca
0xD07E, Don
0xD081, Resetti
0xD08D, Franklin
0xD08E, Farley
0xE000, Bob
0xE001, Olivia
0xE002, Mitzi
0xE003, Kiki
0xE004, Tangy
0xE005, Kabuki
0xE006, Tabby
0xE007, Monique
0xE008, Stinky
0xE009, Purrl
0xE00A, Kitty
0xE00B, Tom
0xE00C, Rosie
0xE00D, Nosegay
0xE00E, Zoe
0xE00F, Pango
0xE010, Cyrano
0xE011, Snooty
0xE012, Teddy
0xE013, Chow
0xE014, Dozer
0xE015, Nate
0xE016, Groucho
0xE017, Tutu
0xE018, Ursala
0xE019, Grizzly
0xE01A, Pinky
0xE01B, Jay
0xE01C, Twiggy
0xE01D, Anchovy
0xE01E, Piper
0xE01F, Admiral
0xE020, Otis
0xE021, Robin
0xE022, Midge
0xE023, Ace
0xE024, Twirp
0xE025, Chuck
0xE026, Stu
0xE027, Goose
0xE028, Betty
0xE029, Hector
0xE02A, Egbert
0xE02B, Ava
0xE02C, Hank
0xE02D, Leigh
0xE02E, Rhoda
0xE02F, Vladimir
0xE030, Murphy
0xE031, Cupcake
0xE032, Kody
0xE033, Maple
0xE034, Pudge
0xE035, Olive
0xE036, Poncho
0xE037, Bluebear
0xE038, Patty
0xE039, Petunia
0xE03A, Bessie
0xE03B, Belle
0xE03C, Alfonso
0xE03D, Boots
0xE03E, Liz
0xE03F, Biskit
0xE040, Goldie
0xE041, Daisy
0xE042, Lucky
0xE043, Portia
0xE044, Maddie
0xE045, Butch
0xE046, Bill
0xE047, Pompom
0xE048, Joey
0xE049, Scoot
0xE04A, Derwin
0xE04B, Freckles
0xE04C, Paolo
0xE04D, Dizzy
0xE04E, Axel
0xE04F, Emerald
0xE050, Tad
0xE051, Wart Jr
0xE052, Cousteau
0xE053, Puddles
0xE054, Lily
0xE055, Jeremiah
0xE056, Huck
0xE057, Camofrog
0xE058, Ribbot
0xE059, Prince
0xE05A, Jambette
0xE05B, Billy
0xE05C, Chevre
0xE05D, Iggy
0xE05E, Gruff
0xE05F, Sven
0xE060, Velma
0xE061, Jane
0xE062, Cesar
0xE063, Louie
0xE064, Peewee
0xE065, Rollo
0xE066, Bubbles
0xE067, Bertha
0xE068, Elmer
0xE069, Winnie
0xE06A, Savannah
0xE06B, Ed
0xE06C, Cleo
0xE06D, Peaches
0xE06E, Buck
0xE06F, Carrie
0xE070, Mathilda
0xE071, Marcy
0xE072, Kitt
0xE073, Valise
0xE074, Astrid
0xE075, Sydney
0xE076, Gonzo
0xE077, Ozzie
0xE078, Yuka
0xE079, Huggy
0xE07A, Rex
0xE07B, Aziz
0xE07C, Leopold
0xE07D, Samson
0xE07E, Penny
0xE07F, Dora
0xE080, Chico
0xE081, Candi
0xE082, Rizzo
0xE083, Anicotti
0xE084, Limberg
0xE085, Carmen
0xE086, Octavian
0xE087, Sandy
0xE088, Sprocket
0xE089, Rio
0xE08A, Queenie
0xE08B, Apollo
0xE08C, Buzz
0xE08D, Quetzal
0xE08E, Amelia
0xE08F, Pierce
0xE090, Roald
0xE091, Aurora
0xE092, Hopper
0xE093, Cube
0xE094, Puck
0xE095, Gwen
0xE096, Friga
0xE097, Curly
0xE098, Truffles
0xE099, Spork
0xE09A, Hugh
0xE09B, Rasher
0xE09C, Sue E
0xE09D, Hambo
0xE09E, Lucy
0xE09F, Cobb
0xE0A0, Boris
0xE0A1, Bunnie
0xE0A2, Doc
0xE0A3, Gaston
0xE0A4, Coco
0xE0A5, Gabi
0xE0A6, Dotty
0xE0A7, Genji
0xE0A8, Snake
0xE0A9, Claude
0xE0AA, Tank
0xE0AB, Spike
0xE0AC, Tiara
0xE0AD, Vesta
0xE0AE, Filbert
0xE0AF, Hazel
0xE0B0, Peanut
0xE0B1, Pecan
0xE0B2, Ricky
0xE0B3, Static
0xE0B4, Mint
0xE0B5, Nibbles
0xE0B6, Tybalt
0xE0B7, Rolf
0xE0B8, Bangle
0xE0B9, Lobo
0xE0BA, Freya
0xE0BB, Chief
0xE0BC, Weber
0xE0BD, Mallary
0xE0BE, Wolfgang
0xE0BF, Hornsby
0xE0C0, Oxford
0xE0C1, T-Bone
0xE0C2, Biff
0xE0C3, Opal
0xE0C4, Bones
0xE0C5, Bea
0xE0C6, Bitty
0xE0C7, Rocco
0xE0C8, Lulu
0xE0C9, Blaire
0xE0CA, Sally
0xE0CB, Ellie
0xE0CC, Eloise
0xE0CD, Alli
0xE0CE, Pippy
0xE0CF, Eunice
0xE0D0, Baabara
0xE0D1, Fang
0xE0D2, Deena
0xE0D3, Pate
0xE0D4, Stella
0xE0D5, Cashmere
0xE0D6, Woolio
0xE0D7, Cookie
0xE0D8, Maelle
0xE0D9, O'Hare
0xE0DA, Bliss
0xE0DB, Drift
0xE0DC, Bud
0xE0DD, Boomer
0xE0DE, Elina
0xE0DF, Flash
0xE0E0, Dobie
0xE0E1, Flossie
0xE0E2, Annalise
0xE0E3, Plucky
0xE0E4, Faith
0xE0E5, Yodel
0xE0E6, Rowan
0xE0E7, June
0xE0E8, Cheri
0xE0E9, Pigleg
0xE0EA, Ankha
0xE0EB, Punchy

View File

@@ -0,0 +1,135 @@
0x00, ¡
0x01, ¿
0x02, Ä
0x03, À
0x04, Á
0x05, Â
0x06, Ã
0x07, Å
0x08, Ç
0x09, È
0x0a, É
0x0b, Ê
0x0c, Ë
0x0d, Ì
0x0e, Í
0x0f, Î
0x10, Ï
0x11, Đ
0x12, Ñ
0x13, Ò
0x14, Ó
0x15, Ô
0x16, Õ
0x17, Ö
0x18, Ø
0x19, Ù
0x1A, Ú
0x1B, Û
0x1C, Ü
0x1D, β
0x1E, Þ
0x1F, à
0x23, á
0x24, â
0x2B, ♥
0x2F, ♪
0x3B, 💧
0x5B, ã
0x5C, 💢
0x5D, ä
0x5E, å
0x60, ç
0x7B, è
0x7C, é
0x7D, ê
0x7E, ë
0x81, ì
0x82, í
0x83, î
0x84, ï
0x85, ·
0x86, ð
0x87, ñ
0x88, ò
0x89, ó
0x8A, ô
0x8B, õ
0x8C, ö
0x8D, ø
0x8E, ù
0x8F, ú
0x90, —
0x91, û
0x92, ü
0x93, ý
0x94, ÿ
0x95, Þ
0x96, Ý
0x97, ╎
0x98, §
0x99, a̱
0x9A, o̱
0x9B, ǁ
0x9C, µ
0x9D, ³
0x9E, ²
0x9F, ¹
0xA0, ⁻
0xA1, ⌝
0xA2, Æ
0xA3, æ
0xA4, „
0xA5, »
0xA6, «
0xA7, ☀️
0xA8, ☁
0xA9, ☂️
0xAA, 🌀
0xAB, 👤
0xAC, ⚞
0xAD, ⚟
0xAE, /
0xAF, ∞
0xB0, ◯
0xB1, ×
0xB2, ▢
0xB3, △
0xB4, +
0xB5, ⚡
0xB6, ♂️
0xB7, ♀️
0xB8, 🌼
0xB9, ⭐
0xBA, 💀
0xBB, 😮
0xBC, 😄
0xBD, 😞
0xBE, 😡
0xBF, 😃
0xC0, ×
0xC1, ÷
0xC2, 🔨
0xC3, 🎀
0xC4, ✉
0xC5, 💰
0xC6, 🐾
0xC7, 🐶
0xC8, 🐱
0xC9, 🐰
0xCA, 🐦
0xCB, 🐮
0xCC, 🐷
0xCE, 🐟
0xCF, 🐞
0xD0, ;
0xD1, #
0xD4, 🔑
0xD5, “
0xD6, „
0xD7,
0xD8,
0xD9, Œ
0xDA, œ
0xDB, ᵉ
0xDE, \

View File

@@ -0,0 +1,64 @@
0x2000, Airmail Paper, 70-40-50
0x2001, Sparkly Paper, 40-40-130
0x2002, Bamboo Paper, 90-30-30
0x2003, Orange Paper, 75-115-215
0x2004, Essay Paper, 90-70-20
0x2005, Panda Paper, 110-60-0
0x2006, Ranch Paper, 95-25-0
0x2007, Steel Paper, 255-255-255
0x2008, Blossom Paper, 0-100-120
0x2009, Vine Paper, 40-85-0
0x200A, Cloudy Paper, 0-40-135
0x200B, Petal Paper, 155-50-60
0x200C, Snowy Paper, 255-255-255
0x200D, Rainy Day Paper, 255-255-255
0x200E, Watermelon Paper, 90-90-90
0x200F, Deep Sea Paper, 0-10-130
0x2010, Starry Sky Paper, 200-255-235
0x2011, Daisy Paper, 70-50-30
0x2012, Bluebell Paper, 105-65-160
0x2013, Maple Leaf Paper, 65-60-0
0x2014, Woodcut Paper, 60-0-90
0x2015, Octopus Paper, 85-85-85
0x2016, Festive Paper, 255-180-0
0x2017, Skyline Paper, 85-55-0
0x2018, Museum Paper, 95-75-10
0x2019, Fortune Paper, 120-120-120
0x201A, Stageshow Paper, 255-255-105
0x201B, Thick Paper, 110-85-20
0x201C, Spooky Paper, 0-155-0
0x201D, Noodle Paper, 100-130-185
0x201E, Neat Paper, 0-100-0
0x201F, Horsetail Paper, 90-100-0
0x2020, Felt Paper, 160-0-0
0x2021, Parchment, 115-60-0
0x2022, Cool Paper, 255-185-0
0x2023, Elegant Paper, 255-255-200
0x2024, Lacy Paper, 0-0-100
0x2025, Polka-Dot Paper, 0-100-155
0x2026, Dizzy Paper, 0-100-200
0x2027, Rainbow Paper, 165-20-0
0x2028, Hot Neon Paper, 155-40-40
0x2029, Cool Neon Paper, 0-80-135
0x202A, Aloha Paper, 0-20-90
0x202B, Ribbon Paper, 100-100-155
0x202C, Fantasy Paper, 0-80-5
0x202D, Woodland Paper, 95-70-0
0x202E, Gingko Paper, 100-140-100
0x202F, Fireworks Paper, 255-255-255
0x2030, Winter Paper, 100-110-100
0x2031, Gyroid Paper, 80-70-0
0x2032, Ivy Paper, 50-155-0
0x2033, Wing Paper, 0-95-175
0x2034, Dragon Paper, 0-50-90
0x2035, Tile Paper, 0-60-205
0x2036, Misty Paper, 0-100-0
0x2037, Simple Paper, 0-80-80
0x2038, Honeybee Paper, 0-115-60
0x2039, Mystic Paper, 100-80-100
0x203A, Sunset Paper, 255-255-100
0x203B, Lattice Paper, 90-60-0
0x203C, Dainty Paper, 55-125-0
0x203D, Butterfly Paper, 0-155-0
0x203E, New Year's Card, 70-50-235
0x203F, Inky Paper, 255-255-255

View File

@@ -0,0 +1,158 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace AC_e_Reader_Card_Creator.References
{
internal class Common
{
/*
a bunch of public reference strings for directory pathing -- not ideal
the program did not like working with C/CPP source code or its converted C# equivalent
ideally fix this and store with just variables, but it could be fine to give users easy access to the decomp'd files
*/
public static string VERSION = "v1.0.0";
public static string STATIONERY_LIST = @"Project Files\References\AC_Stationery_List.txt";
public static string ITEM_LIST = @"Project Files\References\AC_Item_List.txt";
public static string SENDER_LIST = @"Project Files\References\AC_Sender_List.txt";
public static string GREETING_LIST = @"Project Files\References\AC_Greeting_List.txt";
public static string SP_CHAR_LIST = @"Project Files\References\AC_Special_Char.txt";
public static string NEVPK = @"Project Files\Decompression\External\nevpk.exe";
public static string NEDCENC = @"Project Files\Decompression\External\nedcenc.exe";
public static string VPK_GBA_BLANK = @"Project Files\References\GBA_Blank.vpk";
public static string VPK_HEADER_BLANK = @"Project Files\References\Header_Blank.VPK";
public static string HEADERFIX = @"Project Files\Decompression\External\headerfix.exe";
public static string RAW2BMP = @"Project Files\Decompression\External\raw2bmp.exe";
public static string RAW_ECARD = @"Project Files\Decompression\eCard\raw\eCard.raw";
public static string COMPRESSED_BIN = @"Project Files\Decompression\eCard\bin\card_data.bin";
public static string VPK_HEADER = @"Project Files\Decompression\eCard\vpk\1_VPK_Header.vpk";
public static string VPK_GBA = @"Project Files\Decompression\eCard\vpk\2_VPK_GBA.vpk";
public static string VPK_GCN = @"Project Files\Decompression\eCard\vpk\3_VPK_GCN.vpk";
public static string DECOMPRESSED_GBA = @"Project Files\Decompression\eCard\dec\decompressed_data_GBA.bin";
public static string DECOMPRESSED_GCN = @"Project Files\Decompression\eCard\dec\decompressed_data_GCN.bin";
public static string DECOMPRESSED_DIR = @"Project Files\Decompression\eCard\";
public static string BMP_DOTCODE = @"Project Files\Decompression\eCard\bmp\dotcode";
public static string GCN_LETTER_DATA = @"Project Files\Decompression\eCard\dec\decompressed_data_GCN.bin";
public static byte[] VPK_DELIMITER = { 0x76, 0x70, 0x6B, 0x30 }; // "vpk0"
public static string RAW_OUTPUT = @"Project Files\Decompression\eCard\raw\";
public static string BMP_OUTPUT = @"Project Files\Decompression\eCard\bmp\";
public static string VPK_OUTPUT = @"Project Files\Decompression\eCard\vpk\";
public static string BIN_OUTPUT = @"Project Files\Decompression\eCard\bin\";
public static string DEC_OUTPUT = @"Project Files\Decompression\eCard\dec\";
// TODO: edit for GBA support
public static string NEVPK_ARGS_COMP(string filePath)
{
return $"-i \"{filePath}\" -o \"{VPK_GCN}\" -v -c";
}
public static string NEVPK_ARGS_DECOMP(string filePath, int iteration)
{
switch (iteration)
{
case 1:
break;
case 2:
// TODO: implement GBA data support
return $"-i \"{filePath}\" -o \"{DECOMPRESSED_GBA}\" -v -d";
case 3:
return $"-i \"{filePath}\" -o \"{DECOMPRESSED_GCN}\" -v -d";
}
return null;
}
public static string NEDCENC_ARGS_COMP(string filePath)
{
return $"-e -i \"{COMPRESSED_BIN}\" -o \"{filePath}";
}
public static string NEDCENCE_ARGS_DECOMP(string filePath)
{
return $" -d -i \"{filePath}\" -o \"{COMPRESSED_BIN}";
}
public static string RAW2BMP_ARGS(string filePath, int DPI)
{
return $" -i \"{RAW_ECARD}\" -o \"{filePath}\" -dpi {DPI}";
}
public static string LookupListValue(string stationeryID, string list)
{
try
{
string[] lines = File.ReadAllLines(list);
foreach (string line in lines)
{
string[] parts = line.Split(',');
if (parts[0].Trim() == stationeryID)
{
return parts[1].Trim();
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
return null;
}
public static void HandleLetterBody(List<Label> letter_lines, TextBox letter_body, int[] fontColor)
{
if (string.IsNullOrEmpty(letter_body.Text))
{
for (int i = 1; i <= 6; i++)
{
letter_lines[i].Text = null;
}
return;
}
foreach (Label letter_line in letter_lines)
{
letter_line.ForeColor = Color.FromArgb(fontColor[0], fontColor[1], fontColor[2]);
}
string[] delimiter = new string[] { "\n" };
string[] split_letter_body = letter_body.Text.Split(delimiter, StringSplitOptions.None);
int line_index = 1;
foreach (string line in split_letter_body)
{
string handled_text = line.Replace("&", "&&");
letter_lines[line_index].Text = handled_text;
line_index++;
}
}
public static void LoadBlankVPKs()
{
try
{
if (!Directory.Exists(VPK_OUTPUT))
{
MessageBox.Show($"The specified directory does not exist: {VPK_OUTPUT}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
string headerPath = VPK_HEADER;
string GBAPath = VPK_GBA;
File.Copy(VPK_HEADER_BLANK, headerPath, true);
File.Copy(VPK_GBA_BLANK, GBAPath, true);
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Some files were not shown because too many files have changed in this diff Show More