├── .gitattributes
├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── LICENSE
├── README.md
├── RsMapper.sln
├── RsMapper
├── App.config
├── ComponentTile.cs
├── Components.json
├── CursorControlLocate.cs
├── Form1.Designer.cs
├── Form1.cs
├── Form1.resx
├── Forms
│ ├── AboutBox1.Designer.cs
│ ├── AboutBox1.cs
│ ├── AboutBox1.resx
│ ├── CommandEnter.Designer.cs
│ ├── CommandEnter.cs
│ ├── CommandEnter.resx
│ ├── Controls
│ │ ├── DrawPanel.cs
│ │ └── NNPictureBox.cs
│ ├── CreateCustomMod.Designer.cs
│ ├── CreateCustomMod.cs
│ ├── CreateCustomMod.resx
│ ├── DownloadProgress.Designer.cs
│ ├── DownloadProgress.cs
│ ├── DownloadProgress.resx
│ ├── Modpacks.Designer.cs
│ ├── Modpacks.cs
│ ├── Modpacks.resx
│ ├── UnsavedDialog.Designer.cs
│ ├── UnsavedDialog.cs
│ ├── UnsavedDialog.resx
│ ├── UpdateCheck.Designer.cs
│ ├── UpdateCheck.cs
│ └── UpdateCheck.resx
├── Imgs
│ ├── Door.png
│ ├── RS_Block.png
│ ├── RS_Button.png
│ ├── RS_Chest.png
│ ├── RS_Command.png
│ ├── RS_Comparator.png
│ ├── RS_DaySensor.png
│ ├── RS_Dispenser.png
│ ├── RS_Dropper.png
│ ├── RS_GoldBlock.png
│ ├── RS_Hopper.png
│ ├── RS_Lamp.png
│ ├── RS_Observer.png
│ ├── RS_Piston.png
│ ├── RS_PressurePlate.png
│ ├── RS_Repeater.png
│ ├── RS_SPiston.png
│ ├── RS_TChest.png
│ ├── RS_Target.png
│ ├── RS_Torch.png
│ ├── RsMapper
│ │ └── icon.png
│ ├── TDoor.png
│ ├── TNT.png
│ ├── Wires
│ │ ├── RS_TDown.png
│ │ ├── RS_TLeft.png
│ │ ├── RS_TRight.png
│ │ ├── RS_TUp.png
│ │ ├── RS_WireCross.png
│ │ ├── RS_WireDot.png
│ │ ├── RS_WireDownLeft.png
│ │ ├── RS_WireDownRight.png
│ │ ├── RS_WireHoriz.png
│ │ ├── RS_WireUpLeft.png
│ │ ├── RS_WireUpRight.png
│ │ └── RS_WireVert.png
│ ├── arail.png
│ ├── drail.png
│ ├── lightning_rod.png
│ ├── nrail_bend.png
│ ├── nrail_straight.png
│ ├── prail.png
│ └── slime_block.png
├── PrgmSelfCheck.cs
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── RsComponent.cs
├── RsMapper.csproj
├── icon_0uP_icon.ico
├── imgs.Designer.cs
├── imgs.resx
└── packages.config
└── docs
├── _config.yml
└── index.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Build results
17 | [Dd]ebug/
18 | [Dd]ebugPublic/
19 | [Rr]elease/
20 | [Rr]eleases/
21 | x64/
22 | x86/
23 | [Aa][Rr][Mm]/
24 | [Aa][Rr][Mm]64/
25 | bld/
26 | [Bb]in/
27 | [Oo]bj/
28 | [Ll]og/
29 |
30 | # Visual Studio 2015/2017 cache/options directory
31 | .vs/
32 | # Uncomment if you have tasks that create the project's static files in wwwroot
33 | #wwwroot/
34 |
35 | # Visual Studio 2017 auto generated files
36 | Generated\ Files/
37 |
38 | # MSTest test Results
39 | [Tt]est[Rr]esult*/
40 | [Bb]uild[Ll]og.*
41 |
42 | # NUNIT
43 | *.VisualState.xml
44 | TestResult.xml
45 |
46 | # Build Results of an ATL Project
47 | [Dd]ebugPS/
48 | [Rr]eleasePS/
49 | dlldata.c
50 |
51 | # Benchmark Results
52 | BenchmarkDotNet.Artifacts/
53 |
54 | # .NET Core
55 | project.lock.json
56 | project.fragment.lock.json
57 | artifacts/
58 |
59 | # StyleCop
60 | StyleCopReport.xml
61 |
62 | # Files built by Visual Studio
63 | *_i.c
64 | *_p.c
65 | *_h.h
66 | *.ilk
67 | *.meta
68 | *.obj
69 | *.iobj
70 | *.pch
71 | *.pdb
72 | *.ipdb
73 | *.pgc
74 | *.pgd
75 | *.rsp
76 | *.sbr
77 | *.tlb
78 | *.tli
79 | *.tlh
80 | *.tmp
81 | *.tmp_proj
82 | *_wpftmp.csproj
83 | *.log
84 | *.vspscc
85 | *.vssscc
86 | .builds
87 | *.pidb
88 | *.svclog
89 | *.scc
90 |
91 | # Chutzpah Test files
92 | _Chutzpah*
93 |
94 | # Visual C++ cache files
95 | ipch/
96 | *.aps
97 | *.ncb
98 | *.opendb
99 | *.opensdf
100 | *.sdf
101 | *.cachefile
102 | *.VC.db
103 | *.VC.VC.opendb
104 |
105 | # Visual Studio profiler
106 | *.psess
107 | *.vsp
108 | *.vspx
109 | *.sap
110 |
111 | # Visual Studio Trace Files
112 | *.e2e
113 |
114 | # TFS 2012 Local Workspace
115 | $tf/
116 |
117 | # Guidance Automation Toolkit
118 | *.gpState
119 |
120 | # ReSharper is a .NET coding add-in
121 | _ReSharper*/
122 | *.[Rr]e[Ss]harper
123 | *.DotSettings.user
124 |
125 | # JustCode is a .NET coding add-in
126 | .JustCode
127 |
128 | # TeamCity is a build add-in
129 | _TeamCity*
130 |
131 | # DotCover is a Code Coverage Tool
132 | *.dotCover
133 |
134 | # AxoCover is a Code Coverage Tool
135 | .axoCover/*
136 | !.axoCover/settings.json
137 |
138 | # Visual Studio code coverage results
139 | *.coverage
140 | *.coveragexml
141 |
142 | # NCrunch
143 | _NCrunch_*
144 | .*crunch*.local.xml
145 | nCrunchTemp_*
146 |
147 | # MightyMoose
148 | *.mm.*
149 | AutoTest.Net/
150 |
151 | # Web workbench (sass)
152 | .sass-cache/
153 |
154 | # Installshield output folder
155 | [Ee]xpress/
156 |
157 | # DocProject is a documentation generator add-in
158 | DocProject/buildhelp/
159 | DocProject/Help/*.HxT
160 | DocProject/Help/*.HxC
161 | DocProject/Help/*.hhc
162 | DocProject/Help/*.hhk
163 | DocProject/Help/*.hhp
164 | DocProject/Help/Html2
165 | DocProject/Help/html
166 |
167 | # Click-Once directory
168 | publish/
169 |
170 | # Publish Web Output
171 | *.[Pp]ublish.xml
172 | *.azurePubxml
173 | # Note: Comment the next line if you want to checkin your web deploy settings,
174 | # but database connection strings (with potential passwords) will be unencrypted
175 | *.pubxml
176 | *.publishproj
177 |
178 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
179 | # checkin your Azure Web App publish settings, but sensitive information contained
180 | # in these scripts will be unencrypted
181 | PublishScripts/
182 |
183 | # NuGet Packages
184 | *.nupkg
185 | # The packages folder can be ignored because of Package Restore
186 | **/[Pp]ackages/*
187 | # except build/, which is used as an MSBuild target.
188 | !**/[Pp]ackages/build/
189 | # Uncomment if necessary however generally it will be regenerated when needed
190 | #!**/[Pp]ackages/repositories.config
191 | # NuGet v3's project.json files produces more ignorable files
192 | *.nuget.props
193 | *.nuget.targets
194 |
195 | # Microsoft Azure Build Output
196 | csx/
197 | *.build.csdef
198 |
199 | # Microsoft Azure Emulator
200 | ecf/
201 | rcf/
202 |
203 | # Windows Store app package directories and files
204 | AppPackages/
205 | BundleArtifacts/
206 | Package.StoreAssociation.xml
207 | _pkginfo.txt
208 | *.appx
209 |
210 | # Visual Studio cache files
211 | # files ending in .cache can be ignored
212 | *.[Cc]ache
213 | # but keep track of directories ending in .cache
214 | !?*.[Cc]ache/
215 |
216 | # Others
217 | ClientBin/
218 | ~$*
219 | *~
220 | *.dbmdl
221 | *.dbproj.schemaview
222 | *.jfm
223 | *.pfx
224 | *.publishsettings
225 | orleans.codegen.cs
226 |
227 | # Including strong name files can present a security risk
228 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
229 | #*.snk
230 |
231 | # Since there are multiple workflows, uncomment next line to ignore bower_components
232 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
233 | #bower_components/
234 |
235 | # RIA/Silverlight projects
236 | Generated_Code/
237 |
238 | # Backup & report files from converting an old project file
239 | # to a newer Visual Studio version. Backup files are not needed,
240 | # because we have git ;-)
241 | _UpgradeReport_Files/
242 | Backup*/
243 | UpgradeLog*.XML
244 | UpgradeLog*.htm
245 | ServiceFabricBackup/
246 | *.rptproj.bak
247 |
248 | # SQL Server files
249 | *.mdf
250 | *.ldf
251 | *.ndf
252 |
253 | # Business Intelligence projects
254 | *.rdl.data
255 | *.bim.layout
256 | *.bim_*.settings
257 | *.rptproj.rsuser
258 | *- Backup*.rdl
259 |
260 | # Microsoft Fakes
261 | FakesAssemblies/
262 |
263 | # GhostDoc plugin setting file
264 | *.GhostDoc.xml
265 |
266 | # Node.js Tools for Visual Studio
267 | .ntvs_analysis.dat
268 | node_modules/
269 |
270 | # Visual Studio 6 build log
271 | *.plg
272 |
273 | # Visual Studio 6 workspace options file
274 | *.opt
275 |
276 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
277 | *.vbw
278 |
279 | # Visual Studio LightSwitch build output
280 | **/*.HTMLClient/GeneratedArtifacts
281 | **/*.DesktopClient/GeneratedArtifacts
282 | **/*.DesktopClient/ModelManifest.xml
283 | **/*.Server/GeneratedArtifacts
284 | **/*.Server/ModelManifest.xml
285 | _Pvt_Extensions
286 |
287 | # Paket dependency manager
288 | .paket/paket.exe
289 | paket-files/
290 |
291 | # FAKE - F# Make
292 | .fake/
293 |
294 | # JetBrains Rider
295 | .idea/
296 | *.sln.iml
297 |
298 | # CodeRush personal settings
299 | .cr/personal
300 |
301 | # Python Tools for Visual Studio (PTVS)
302 | __pycache__/
303 | *.pyc
304 |
305 | # Cake - Uncomment if you are using it
306 | # tools/**
307 | # !tools/packages.config
308 |
309 | # Tabs Studio
310 | *.tss
311 |
312 | # Telerik's JustMock configuration file
313 | *.jmconfig
314 |
315 | # BizTalk build output
316 | *.btp.cs
317 | *.btm.cs
318 | *.odx.cs
319 | *.xsd.cs
320 |
321 | # OpenCover UI analysis results
322 | OpenCover/
323 |
324 | # Azure Stream Analytics local run output
325 | ASALocalRun/
326 |
327 | # MSBuild Binary and Structured Log
328 | *.binlog
329 |
330 | # NVidia Nsight GPU debugger configuration file
331 | *.nvuser
332 |
333 | # MFractors (Xamarin productivity tool) working folder
334 | .mfractor/
335 |
336 | # Local History for Visual Studio
337 | .localhistory/
338 |
339 | # BeatPulse healthcheck temp database
340 | healthchecksdb
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # RsMapper
2 |
3 | [](https://github.com/GreenJamesDev/RsMapper/issues)
4 | [](http://hits.dwyl.com/GreenJamesDev/RsMapper)
5 |
6 | An open-source redstone circuit planning and designing tool.
7 |
8 | 
9 |
10 | ## Features
11 |
12 | ### Custom Parts and Modpacks
13 | Custom components can be created directly from within RsMapper using the modpack creator. Modpacks can be easily installed from .rsmp Modpack files.
14 |
15 | ### Automatically Check for Updates
16 | Once installed, you'll never have to manually visit the download page again just to update the program!
17 |
18 | ### Self Repair
19 | RsMapper can redownload Components.json if it's missing.
20 |
21 | ### More on the way!
22 | Many other features are planned!
23 |
24 | 
25 |
--------------------------------------------------------------------------------
/RsMapper.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.30114.105
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RsMapper", "RsMapper\RsMapper.csproj", "{F96B009A-9D79-49C9-9F1C-4460AB2BD132}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {F96B009A-9D79-49C9-9F1C-4460AB2BD132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {F96B009A-9D79-49C9-9F1C-4460AB2BD132}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {F96B009A-9D79-49C9-9F1C-4460AB2BD132}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {F96B009A-9D79-49C9-9F1C-4460AB2BD132}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {BEA95712-90A3-4C71-A18D-9C55AAFDA68A}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/RsMapper/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RsMapper/ComponentTile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace RsMapper
9 | {
10 | class ComponentTile
11 | {
12 | public string name;
13 | public Image Image;
14 | public string info;
15 | public bool acceptsWire;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/RsMapper/Components.json:
--------------------------------------------------------------------------------
1 | {
2 | // Component Settings File
3 | // -----------------------
4 | // name - Name of component.
5 | // type - (Input, Output, Inline, Logic, Misc) Group of the component.
6 | // image - Image representing the component in the GUI.
7 | // info - Text to be shown in a tooltip box.
8 | // acceptswire - Does redstone wire connect to this component by itself?
9 | "RsComponents": [
10 |
11 | {
12 |
13 | "name": "Redstone Lamp",
14 | "type": "Output",
15 | "image": "\\Imgs\\RS_Lamp.png",
16 | "info": "A light-emitting block powered by redstone.",
17 | "acceptswire": "no"
18 |
19 | },
20 |
21 | {
22 |
23 | "name": "Redstone Torch",
24 | "type": "Input",
25 | "image": "\\Imgs\\RS_Torch.png",
26 | "info": "A signal-emitting torch that can also be used for logic.",
27 | "acceptswire": "yes"
28 |
29 | },
30 |
31 | {
32 |
33 | "name": "Redstone Block",
34 | "type": "Input",
35 | "image": "\\Imgs\\RS_Block.png",
36 | "info": "A mineral block that always emits a signal.",
37 | "acceptswire": "yes"
38 |
39 | },
40 |
41 | {
42 |
43 | "name": "Button",
44 | "type": "Input",
45 | "image": "\\Imgs\\RS_Button.png",
46 | "info": "Emits a signal for 1.5 seconds when pressed by the player.",
47 | "acceptswire": "yes"
48 |
49 | },
50 |
51 | {
52 |
53 | "name": "Target",
54 | "type": "Input",
55 | "image": "\\Imgs\\RS_Target.png",
56 | "info": "A block that emits a signal when hit with a projectile.",
57 | "acceptswire": "yes"
58 |
59 | },
60 |
61 | {
62 |
63 | "name": "TNT",
64 | "type": "Output",
65 | "image": "\\Imgs\\TNT.png",
66 | "info": "Explodes when ignited or recives a redstone signal.",
67 | "acceptswire": "no"
68 |
69 | },
70 |
71 | {
72 |
73 | "name": "Daylight Sensor",
74 | "type": "Input",
75 | "image": "\\Imgs\\RS_DaySensor.png",
76 | "info": "Emits a signal when it becomes day or night.",
77 | "acceptswire": "yes"
78 |
79 | },
80 |
81 | {
82 |
83 | "name": "Repeater",
84 | "type": "Inline",
85 | "image": "\\Imgs\\RS_Repeater.png",
86 | "info": "Delays and strengthens signals. Prevents signals from going two ways.",
87 | "acceptswire": "yes"
88 |
89 | },
90 |
91 | {
92 |
93 | "name": "Comparator",
94 | "type": "Logic",
95 | "image": "\\Imgs\\RS_Comparator.png",
96 | "info": "Compares the strength of signals.",
97 | "acceptswire": "yes"
98 |
99 | },
100 |
101 | {
102 |
103 | "name": "Observer",
104 | "type": "Input",
105 | "image": "\\Imgs\\RS_Observer.png",
106 | "info": "Emits a signal when a block state changes.",
107 | "acceptswire": "yes"
108 |
109 | },
110 |
111 | {
112 |
113 | "name": "Command Block",
114 | "type": "Logic",
115 | "image": "\\Imgs\\RS_Command.png",
116 | "info": "Executes commands entered by the player.",
117 | "acceptswire": "no"
118 |
119 | },
120 |
121 | {
122 |
123 | "name": "Dispenser",
124 | "type": "Output",
125 | "image": "\\Imgs\\RS_Dispenser.png",
126 | "info": "Dispenses items.",
127 | "acceptswire": "no"
128 |
129 | },
130 |
131 | {
132 |
133 | "name": "Dropper",
134 | "type": "Output",
135 | "image": "\\Imgs\\RS_Dropper.png",
136 | "info": "Drops items.",
137 | "acceptswire": "no"
138 |
139 | },
140 |
141 | {
142 |
143 | "name": "Chest",
144 | "type": "Misc",
145 | "image": "\\Imgs\\RS_Chest.png",
146 | "info": "Holds items.",
147 | "acceptswire": "no"
148 |
149 | },
150 |
151 | {
152 |
153 | "name": "Trapped Chest",
154 | "type": "Input",
155 | "image": "\\Imgs\\RS_TChest.png",
156 | "info": "A chest that emits a signal when its contents change.",
157 | "acceptswire": "no"
158 |
159 | },
160 |
161 | {
162 |
163 | "name": "Pressure Plate",
164 | "type": "Input",
165 | "image": "\\Imgs\\RS_PressurePlate.png",
166 | "info": "Emits a signal when walked on.",
167 | "acceptswire": "no"
168 |
169 | },
170 |
171 | {
172 |
173 | "name": "Gold Block",
174 | "type": "Misc",
175 | "image": "\\Imgs\\RS_GoldBlock.png",
176 | "info": "A block of nine gold ingots.",
177 | "acceptswire": "no"
178 |
179 | },
180 |
181 | {
182 |
183 | "name": "Hopper",
184 | "type": "Misc",
185 | "image": "\\Imgs\\RS_Hopper.png",
186 | "info": "Transports items from block to block.",
187 | "acceptswire": "no"
188 |
189 | },
190 |
191 | {
192 |
193 | "name": "Piston",
194 | "type": "Output",
195 | "image": "\\Imgs\\RS_Piston.png",
196 | "info": "Pushes blocks",
197 | "acceptswire": "no"
198 |
199 | },
200 |
201 | {
202 |
203 | "name": "Sticky Piston",
204 | "type": "Output",
205 | "image": "\\Imgs\\RS_SPiston.png",
206 | "info": "Pushes and pulls blocks.",
207 | "acceptswire": "no"
208 |
209 | },
210 |
211 | {
212 |
213 | "name": "Door",
214 | "type": "Output",
215 | "image": "\\Imgs\\Door.png",
216 | "info": "Used to keep mobs out of an area.",
217 | "acceptswire": "no"
218 |
219 | },
220 |
221 | {
222 |
223 | "name": "Trap Door",
224 | "type": "Output",
225 | "image": "\\Imgs\\TDoor.png",
226 | "info": "A one block tall door.",
227 | "acceptswire": "no"
228 |
229 | },
230 |
231 | {
232 |
233 | "name": "Lightning Rod",
234 | "type": "Input",
235 | "image": "\\Imgs\\lightning_rod.png",
236 | "info": "Emits a redstone signal when struck by lightning.",
237 | "acceptswire": "no"
238 |
239 | },
240 |
241 | {
242 |
243 | "name": "Straight Rail",
244 | "type": "Misc",
245 | "image": "\\Imgs\\nrail_straight.png",
246 | "info": "A normal rail.",
247 | "acceptswire": "no"
248 |
249 | },
250 |
251 | {
252 |
253 | "name": "Curved Rail",
254 | "type": "Misc",
255 | "image": "\\Imgs\\nrail_bend.png",
256 | "info": "A normal rail.",
257 | "acceptswire": "no"
258 |
259 | },
260 |
261 | {
262 |
263 | "name": "Powered Rail",
264 | "type": "Output",
265 | "image": "\\Imgs\\prail.png",
266 | "info": "A rail that increases or decreases the speed of minecarts.",
267 | "acceptswire": "no"
268 |
269 | },
270 |
271 | {
272 |
273 | "name": "Activator Rail",
274 | "type": "Output",
275 | "image": "\\Imgs\\arail.png",
276 | "info": "Ejects entities from minecarts, primes TNT minecarts, disables hopper minecarts, and activates command block minecarts.",
277 | "acceptswire": "no"
278 |
279 | },
280 |
281 | {
282 |
283 | "name": "Detector Rail",
284 | "type": "Input",
285 | "image": "\\Imgs\\drail.png",
286 | "info": "Emits a signal when a minecart is on it.",
287 | "acceptswire": "no"
288 |
289 | },
290 |
291 | {
292 |
293 | "name": "Slime Block",
294 | "type": "Misc",
295 | "image": "\\Imgs\\slime_block.png",
296 | "info": "Moves adjacent blocks when pushed or pulled by a piston.",
297 | "acceptswire": "no"
298 |
299 | }
300 | ]
301 | }
302 |
--------------------------------------------------------------------------------
/RsMapper/CursorControlLocate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows.Forms;
7 | using System.Drawing;
8 | using RsMapper.Forms.Controls;
9 |
10 | namespace RsMapper
11 | {
12 | class CursorControlLocate
13 | {
14 | public static Control FindControlAtPoint(Control container, Point pos)
15 | {
16 | Control child;
17 | foreach (Control c in container.Controls)
18 | {
19 | if (c.Visible && c.Bounds.Contains(pos))
20 | {
21 | child = FindControlAtPoint(c, new Point(pos.X - c.Left, pos.Y - c.Top));
22 | if (child == null) return c;
23 | else return child;
24 | }
25 | }
26 | return null;
27 | }
28 |
29 | public static Control FindControlAtCursor(DrawPanel dp)
30 | {
31 | Point pos = Cursor.Position;
32 | if (dp.Bounds.Contains(pos))
33 | return FindControlAtPoint(dp, dp.PointToClient(pos));
34 | return null;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/RsMapper/Forms/AboutBox1.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace RsMapper.Forms
2 | {
3 | partial class AboutBox1
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | protected override void Dispose(bool disposing)
14 | {
15 | if (disposing && (components != null))
16 | {
17 | components.Dispose();
18 | }
19 | base.Dispose(disposing);
20 | }
21 |
22 | #region Windows Form Designer generated code
23 |
24 | ///
25 | /// Required method for Designer support - do not modify
26 | /// the contents of this method with the code editor.
27 | ///
28 | private void InitializeComponent()
29 | {
30 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutBox1));
31 | this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
32 | this.logoPictureBox = new System.Windows.Forms.PictureBox();
33 | this.labelProductName = new System.Windows.Forms.Label();
34 | this.labelVersion = new System.Windows.Forms.Label();
35 | this.labelCopyright = new System.Windows.Forms.Label();
36 | this.labelCompanyName = new System.Windows.Forms.Label();
37 | this.textBoxDescription = new System.Windows.Forms.TextBox();
38 | this.okButton = new System.Windows.Forms.Button();
39 | this.tableLayoutPanel.SuspendLayout();
40 | ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
41 | this.SuspendLayout();
42 | //
43 | // tableLayoutPanel
44 | //
45 | this.tableLayoutPanel.ColumnCount = 2;
46 | this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
47 | this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67F));
48 | this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0);
49 | this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0);
50 | this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1);
51 | this.tableLayoutPanel.Controls.Add(this.labelCopyright, 1, 2);
52 | this.tableLayoutPanel.Controls.Add(this.labelCompanyName, 1, 3);
53 | this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4);
54 | this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5);
55 | this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
56 | this.tableLayoutPanel.Location = new System.Drawing.Point(9, 9);
57 | this.tableLayoutPanel.Name = "tableLayoutPanel";
58 | this.tableLayoutPanel.RowCount = 6;
59 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
60 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
61 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
62 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
63 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
64 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
65 | this.tableLayoutPanel.Size = new System.Drawing.Size(417, 265);
66 | this.tableLayoutPanel.TabIndex = 0;
67 | //
68 | // logoPictureBox
69 | //
70 | this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
71 | this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
72 | this.logoPictureBox.Location = new System.Drawing.Point(3, 3);
73 | this.logoPictureBox.Name = "logoPictureBox";
74 | this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6);
75 | this.logoPictureBox.Size = new System.Drawing.Size(131, 259);
76 | this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
77 | this.logoPictureBox.TabIndex = 12;
78 | this.logoPictureBox.TabStop = false;
79 | //
80 | // labelProductName
81 | //
82 | this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill;
83 | this.labelProductName.Location = new System.Drawing.Point(143, 0);
84 | this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
85 | this.labelProductName.MaximumSize = new System.Drawing.Size(0, 17);
86 | this.labelProductName.Name = "labelProductName";
87 | this.labelProductName.Size = new System.Drawing.Size(271, 17);
88 | this.labelProductName.TabIndex = 19;
89 | this.labelProductName.Text = "Product Name";
90 | this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
91 | //
92 | // labelVersion
93 | //
94 | this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
95 | this.labelVersion.Location = new System.Drawing.Point(143, 26);
96 | this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
97 | this.labelVersion.MaximumSize = new System.Drawing.Size(0, 17);
98 | this.labelVersion.Name = "labelVersion";
99 | this.labelVersion.Size = new System.Drawing.Size(271, 17);
100 | this.labelVersion.TabIndex = 0;
101 | this.labelVersion.Text = "Version";
102 | this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
103 | //
104 | // labelCopyright
105 | //
106 | this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
107 | this.labelCopyright.Location = new System.Drawing.Point(143, 52);
108 | this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
109 | this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17);
110 | this.labelCopyright.Name = "labelCopyright";
111 | this.labelCopyright.Size = new System.Drawing.Size(271, 17);
112 | this.labelCopyright.TabIndex = 21;
113 | this.labelCopyright.Text = "Copyright";
114 | this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
115 | //
116 | // labelCompanyName
117 | //
118 | this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
119 | this.labelCompanyName.Location = new System.Drawing.Point(143, 78);
120 | this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
121 | this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 17);
122 | this.labelCompanyName.Name = "labelCompanyName";
123 | this.labelCompanyName.Size = new System.Drawing.Size(271, 17);
124 | this.labelCompanyName.TabIndex = 22;
125 | this.labelCompanyName.Text = "Company Name";
126 | this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
127 | //
128 | // textBoxDescription
129 | //
130 | this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
131 | this.textBoxDescription.Location = new System.Drawing.Point(143, 107);
132 | this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
133 | this.textBoxDescription.Multiline = true;
134 | this.textBoxDescription.Name = "textBoxDescription";
135 | this.textBoxDescription.ReadOnly = true;
136 | this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
137 | this.textBoxDescription.Size = new System.Drawing.Size(271, 126);
138 | this.textBoxDescription.TabIndex = 23;
139 | this.textBoxDescription.TabStop = false;
140 | this.textBoxDescription.Text = "Description";
141 | //
142 | // okButton
143 | //
144 | this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
145 | this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
146 | this.okButton.Location = new System.Drawing.Point(339, 239);
147 | this.okButton.Name = "okButton";
148 | this.okButton.Size = new System.Drawing.Size(75, 23);
149 | this.okButton.TabIndex = 24;
150 | this.okButton.Text = "&OK";
151 | //
152 | // AboutBox1
153 | //
154 | this.AcceptButton = this.okButton;
155 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
156 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
157 | this.ClientSize = new System.Drawing.Size(435, 283);
158 | this.Controls.Add(this.tableLayoutPanel);
159 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
160 | this.MaximizeBox = false;
161 | this.MinimizeBox = false;
162 | this.Name = "AboutBox1";
163 | this.Padding = new System.Windows.Forms.Padding(9);
164 | this.ShowIcon = false;
165 | this.ShowInTaskbar = false;
166 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
167 | this.Text = "AboutBox1";
168 | this.tableLayoutPanel.ResumeLayout(false);
169 | this.tableLayoutPanel.PerformLayout();
170 | ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
171 | this.ResumeLayout(false);
172 |
173 | }
174 |
175 | #endregion
176 |
177 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
178 | private System.Windows.Forms.PictureBox logoPictureBox;
179 | private System.Windows.Forms.Label labelProductName;
180 | private System.Windows.Forms.Label labelVersion;
181 | private System.Windows.Forms.Label labelCopyright;
182 | private System.Windows.Forms.Label labelCompanyName;
183 | private System.Windows.Forms.TextBox textBoxDescription;
184 | private System.Windows.Forms.Button okButton;
185 | }
186 | }
187 |
--------------------------------------------------------------------------------
/RsMapper/Forms/AboutBox1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Linq;
6 | using System.Reflection;
7 | using System.Threading.Tasks;
8 | using System.Windows.Forms;
9 |
10 | namespace RsMapper.Forms
11 | {
12 | partial class AboutBox1 : Form
13 | {
14 | public AboutBox1()
15 | {
16 | InitializeComponent();
17 | this.Text = String.Format("About {0}", AssemblyTitle);
18 | this.labelProductName.Text = AssemblyProduct;
19 | this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion);
20 | this.labelCopyright.Text = AssemblyCopyright;
21 | this.labelCompanyName.Text = AssemblyCompany;
22 | this.textBoxDescription.Text = AssemblyDescription;
23 | }
24 |
25 | #region Assembly Attribute Accessors
26 |
27 | public string AssemblyTitle
28 | {
29 | get
30 | {
31 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
32 | if (attributes.Length > 0)
33 | {
34 | AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
35 | if (titleAttribute.Title != "")
36 | {
37 | return titleAttribute.Title;
38 | }
39 | }
40 | return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
41 | }
42 | }
43 |
44 | public string AssemblyVersion
45 | {
46 | get
47 | {
48 | return Assembly.GetExecutingAssembly().GetName().Version.ToString();
49 | }
50 | }
51 |
52 | public string AssemblyDescription
53 | {
54 | get
55 | {
56 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
57 | if (attributes.Length == 0)
58 | {
59 | return "";
60 | }
61 | return ((AssemblyDescriptionAttribute)attributes[0]).Description;
62 | }
63 | }
64 |
65 | public string AssemblyProduct
66 | {
67 | get
68 | {
69 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
70 | if (attributes.Length == 0)
71 | {
72 | return "";
73 | }
74 | return ((AssemblyProductAttribute)attributes[0]).Product;
75 | }
76 | }
77 |
78 | public string AssemblyCopyright
79 | {
80 | get
81 | {
82 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
83 | if (attributes.Length == 0)
84 | {
85 | return "";
86 | }
87 | return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
88 | }
89 | }
90 |
91 | public string AssemblyCompany
92 | {
93 | get
94 | {
95 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
96 | if (attributes.Length == 0)
97 | {
98 | return "";
99 | }
100 | return ((AssemblyCompanyAttribute)attributes[0]).Company;
101 | }
102 | }
103 | #endregion
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/RsMapper/Forms/CommandEnter.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace RsMapper.Forms
2 | {
3 | partial class CommandEnter
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.button1 = new System.Windows.Forms.Button();
32 | this.button2 = new System.Windows.Forms.Button();
33 | this.textBox1 = new System.Windows.Forms.TextBox();
34 | this.label1 = new System.Windows.Forms.Label();
35 | this.SuspendLayout();
36 | //
37 | // button1
38 | //
39 | this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;
40 | this.button1.Location = new System.Drawing.Point(259, 72);
41 | this.button1.Name = "button1";
42 | this.button1.Size = new System.Drawing.Size(75, 23);
43 | this.button1.TabIndex = 0;
44 | this.button1.Text = "OK";
45 | this.button1.UseVisualStyleBackColor = true;
46 | this.button1.Click += new System.EventHandler(this.button1_Click);
47 | //
48 | // button2
49 | //
50 | this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
51 | this.button2.Location = new System.Drawing.Point(178, 72);
52 | this.button2.Name = "button2";
53 | this.button2.Size = new System.Drawing.Size(75, 23);
54 | this.button2.TabIndex = 1;
55 | this.button2.Text = "Cancel";
56 | this.button2.UseVisualStyleBackColor = true;
57 | //
58 | // textBox1
59 | //
60 | this.textBox1.Location = new System.Drawing.Point(12, 46);
61 | this.textBox1.Name = "textBox1";
62 | this.textBox1.Size = new System.Drawing.Size(322, 20);
63 | this.textBox1.TabIndex = 2;
64 | this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
65 | //
66 | // label1
67 | //
68 | this.label1.AutoSize = true;
69 | this.label1.Location = new System.Drawing.Point(12, 19);
70 | this.label1.Name = "label1";
71 | this.label1.Size = new System.Drawing.Size(84, 13);
72 | this.label1.TabIndex = 3;
73 | this.label1.Text = "Enter command:";
74 | //
75 | // CommandEnter
76 | //
77 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
78 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
79 | this.ClientSize = new System.Drawing.Size(346, 107);
80 | this.ControlBox = false;
81 | this.Controls.Add(this.label1);
82 | this.Controls.Add(this.textBox1);
83 | this.Controls.Add(this.button2);
84 | this.Controls.Add(this.button1);
85 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
86 | this.Name = "CommandEnter";
87 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
88 | this.Text = "Enter Command";
89 | this.ResumeLayout(false);
90 | this.PerformLayout();
91 |
92 | }
93 |
94 | #endregion
95 |
96 | private System.Windows.Forms.Button button1;
97 | private System.Windows.Forms.Button button2;
98 | private System.Windows.Forms.TextBox textBox1;
99 | private System.Windows.Forms.Label label1;
100 | }
101 | }
--------------------------------------------------------------------------------
/RsMapper/Forms/CommandEnter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace RsMapper.Forms
12 | {
13 | public partial class CommandEnter : Form
14 | {
15 |
16 | public string Command;
17 |
18 | public CommandEnter(string text)
19 | {
20 | InitializeComponent();
21 | this.Text = text;
22 | label1.Text = text + ":";
23 | }
24 |
25 | private void textBox1_TextChanged(object sender, EventArgs e)
26 | {
27 |
28 | }
29 |
30 | private void button1_Click(object sender, EventArgs e)
31 | {
32 | Command = textBox1.Text;
33 | this.Close();
34 | this.Dispose();
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/RsMapper/Forms/CommandEnter.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/RsMapper/Forms/Controls/DrawPanel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows.Forms;
7 | using System.Drawing;
8 | using System.Runtime.CompilerServices;
9 |
10 | namespace RsMapper.Forms.Controls
11 | {
12 | public class DrawPanel : Panel
13 | {
14 | ///
15 | /// Determines whether or not to draw a grid onto the panel.
16 | ///
17 | public bool ShowGrid { get; set; }
18 |
19 | ///
20 | /// The pen color of the block grid.
21 | ///
22 | public Color GridColor { get; set; }
23 |
24 | ///
25 | /// A list of all blocks on the control.
26 | ///
27 | public ControlCollection Blocks { get; set; }
28 |
29 | public DrawPanel()
30 | {
31 |
32 |
33 | // Enable double buffering.
34 | this.DoubleBuffered = true;
35 |
36 | // Set styles.
37 | this.SetStyle(ControlStyles.UserPaint |
38 | ControlStyles.AllPaintingInWmPaint |
39 | ControlStyles.ResizeRedraw |
40 | ControlStyles.ContainerControl |
41 | ControlStyles.OptimizedDoubleBuffer |
42 | ControlStyles.SupportsTransparentBackColor
43 | , true);
44 |
45 | this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
46 | this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
47 | this.UpdateStyles();
48 |
49 | foreach(Control c in this.Controls)
50 | {
51 | Blocks.Add(c);
52 | }
53 | }
54 |
55 | protected override void OnPaint(PaintEventArgs e)
56 | {
57 | // Call the OnPaint method of the base class.
58 | base.OnPaint(e);
59 |
60 |
61 | if (ShowGrid == true)
62 | {
63 | // Draw a grid.
64 | Graphics g = e.Graphics;
65 | Pen pen = new Pen(GridColor);
66 |
67 | for (int y = 0; y < 100; ++y)
68 | {
69 | g.DrawLine(pen, 0, y * 50, 100 * 50, y * 50);
70 | }
71 |
72 | for (int x = 0; x < 100; ++x)
73 | {
74 | g.DrawLine(pen, x * 50, 0, x * 50, 100 * 50);
75 | }
76 | }
77 |
78 |
79 | }
80 |
81 | protected override void OnMouseDown(MouseEventArgs e)
82 | {
83 | base.OnMouseDown(e);
84 |
85 | }
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/RsMapper/Forms/Controls/NNPictureBox.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Drawing.Drawing2D;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows.Forms;
9 |
10 | namespace RsMapper.Forms.Controls
11 | {
12 | public class NNPictureBox : PictureBox
13 | {
14 | ///
15 | /// The name of the block associated with the control.
16 | ///
17 | public string ComponentName { get; set; }
18 |
19 | ///
20 | /// Extra block info.
21 | ///
22 | public string ComponentTag { get; set; }
23 |
24 | ///
25 | /// List to add the component to after deletion
26 | /// for undoing.
27 | ///
28 | public List RedoList;
29 |
30 | ///
31 | /// Determines whether or not the user can interact with the control.
32 | ///
33 | public bool IsInteractable;
34 |
35 | public ToolStripMenuItem redoMItem;
36 |
37 | public NNPictureBox()
38 | {
39 |
40 | }
41 |
42 | protected override void OnPaint(PaintEventArgs pe)
43 | {
44 | // Use nearest neighbor when zooming and get rid of any half-pixel offset.
45 | pe.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
46 | pe.Graphics.PixelOffsetMode = PixelOffsetMode.Half;
47 | base.OnPaint(pe);
48 |
49 | Graphics g = pe.Graphics;
50 | }
51 |
52 | protected override void OnMouseHover(EventArgs e)
53 | {
54 | base.OnMouseHover(e);
55 | if (IsInteractable == true)
56 | {
57 | ToolTip tt = new ToolTip();
58 |
59 | tt.SetToolTip(this, ComponentName + "\n" + ComponentTag);
60 | }
61 | }
62 |
63 | protected override void OnMouseDown(MouseEventArgs e)
64 | {
65 | // Delete component.
66 | base.OnMouseDown(e);
67 | if (IsInteractable == true)
68 | {
69 | if (e.Button == MouseButtons.Middle)
70 | {
71 | DeleteComponent();
72 | }
73 | }
74 | }
75 |
76 | ///
77 | /// Delete the component and add it to the redo list.
78 | ///
79 | void DeleteComponent()
80 | {
81 | Visible = false;
82 | RedoList.Add(this);
83 | redoMItem.Enabled = true;
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/RsMapper/Forms/CreateCustomMod.Designer.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace RsMapper.Forms
3 | {
4 | partial class CreateCustomMod
5 | {
6 | ///
7 | /// Required designer variable.
8 | ///
9 | private System.ComponentModel.IContainer components = null;
10 |
11 | ///
12 | /// Clean up any resources being used.
13 | ///
14 | /// true if managed resources should be disposed; otherwise, false.
15 | protected override void Dispose(bool disposing)
16 | {
17 | if (disposing && (components != null))
18 | {
19 | components.Dispose();
20 | }
21 | base.Dispose(disposing);
22 | }
23 |
24 | #region Windows Form Designer generated code
25 |
26 | ///
27 | /// Required method for Designer support - do not modify
28 | /// the contents of this method with the code editor.
29 | ///
30 | private void InitializeComponent()
31 | {
32 | this.splitContainer1 = new System.Windows.Forms.SplitContainer();
33 | this.listView1 = new System.Windows.Forms.ListView();
34 | this.button1 = new System.Windows.Forms.Button();
35 | this.groupBox2 = new System.Windows.Forms.GroupBox();
36 | this.nnPictureBox1 = new RsMapper.Forms.Controls.NNPictureBox();
37 | this.button2 = new System.Windows.Forms.Button();
38 | this.button3 = new System.Windows.Forms.Button();
39 | this.groupBox1 = new System.Windows.Forms.GroupBox();
40 | this.checkBox1 = new System.Windows.Forms.CheckBox();
41 | this.comboBox1 = new System.Windows.Forms.ComboBox();
42 | this.textBox2 = new System.Windows.Forms.TextBox();
43 | this.textBox1 = new System.Windows.Forms.TextBox();
44 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
45 | this.splitContainer1.Panel1.SuspendLayout();
46 | this.splitContainer1.Panel2.SuspendLayout();
47 | this.splitContainer1.SuspendLayout();
48 | this.groupBox2.SuspendLayout();
49 | ((System.ComponentModel.ISupportInitialize)(this.nnPictureBox1)).BeginInit();
50 | this.groupBox1.SuspendLayout();
51 | this.SuspendLayout();
52 | //
53 | // splitContainer1
54 | //
55 | this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
56 | this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
57 | this.splitContainer1.IsSplitterFixed = true;
58 | this.splitContainer1.Location = new System.Drawing.Point(0, 0);
59 | this.splitContainer1.Name = "splitContainer1";
60 | //
61 | // splitContainer1.Panel1
62 | //
63 | this.splitContainer1.Panel1.Controls.Add(this.listView1);
64 | this.splitContainer1.Panel1.Controls.Add(this.button1);
65 | //
66 | // splitContainer1.Panel2
67 | //
68 | this.splitContainer1.Panel2.Controls.Add(this.groupBox2);
69 | this.splitContainer1.Panel2.Controls.Add(this.button3);
70 | this.splitContainer1.Panel2.Controls.Add(this.groupBox1);
71 | this.splitContainer1.Size = new System.Drawing.Size(428, 320);
72 | this.splitContainer1.SplitterDistance = 180;
73 | this.splitContainer1.TabIndex = 0;
74 | //
75 | // listView1
76 | //
77 | this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
78 | this.listView1.HideSelection = false;
79 | this.listView1.Location = new System.Drawing.Point(0, 0);
80 | this.listView1.MultiSelect = false;
81 | this.listView1.Name = "listView1";
82 | this.listView1.ShowItemToolTips = true;
83 | this.listView1.Size = new System.Drawing.Size(180, 297);
84 | this.listView1.TabIndex = 1;
85 | this.listView1.UseCompatibleStateImageBehavior = false;
86 | this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
87 | this.listView1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDown);
88 | //
89 | // button1
90 | //
91 | this.button1.Dock = System.Windows.Forms.DockStyle.Bottom;
92 | this.button1.Location = new System.Drawing.Point(0, 297);
93 | this.button1.Name = "button1";
94 | this.button1.Size = new System.Drawing.Size(180, 23);
95 | this.button1.TabIndex = 0;
96 | this.button1.Text = "Export Modpack...";
97 | this.button1.UseVisualStyleBackColor = true;
98 | this.button1.Click += new System.EventHandler(this.button1_Click);
99 | //
100 | // groupBox2
101 | //
102 | this.groupBox2.Controls.Add(this.nnPictureBox1);
103 | this.groupBox2.Controls.Add(this.button2);
104 | this.groupBox2.Location = new System.Drawing.Point(8, 12);
105 | this.groupBox2.Name = "groupBox2";
106 | this.groupBox2.Size = new System.Drawing.Size(233, 131);
107 | this.groupBox2.TabIndex = 8;
108 | this.groupBox2.TabStop = false;
109 | this.groupBox2.Text = "Image";
110 | //
111 | // nnPictureBox1
112 | //
113 | this.nnPictureBox1.BackColor = System.Drawing.Color.White;
114 | this.nnPictureBox1.ComponentName = null;
115 | this.nnPictureBox1.ComponentTag = null;
116 | this.nnPictureBox1.Location = new System.Drawing.Point(6, 16);
117 | this.nnPictureBox1.Name = "nnPictureBox1";
118 | this.nnPictureBox1.Size = new System.Drawing.Size(100, 100);
119 | this.nnPictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
120 | this.nnPictureBox1.TabIndex = 5;
121 | this.nnPictureBox1.TabStop = false;
122 | //
123 | // button2
124 | //
125 | this.button2.Location = new System.Drawing.Point(112, 16);
126 | this.button2.Name = "button2";
127 | this.button2.Size = new System.Drawing.Size(115, 23);
128 | this.button2.TabIndex = 1;
129 | this.button2.Text = "Choose Texture";
130 | this.button2.UseVisualStyleBackColor = true;
131 | this.button2.Click += new System.EventHandler(this.button2_Click);
132 | //
133 | // button3
134 | //
135 | this.button3.Location = new System.Drawing.Point(3, 294);
136 | this.button3.Name = "button3";
137 | this.button3.Size = new System.Drawing.Size(238, 23);
138 | this.button3.TabIndex = 7;
139 | this.button3.Text = "<< Add Component";
140 | this.button3.UseVisualStyleBackColor = true;
141 | this.button3.Click += new System.EventHandler(this.button3_Click);
142 | //
143 | // groupBox1
144 | //
145 | this.groupBox1.Controls.Add(this.checkBox1);
146 | this.groupBox1.Controls.Add(this.comboBox1);
147 | this.groupBox1.Controls.Add(this.textBox2);
148 | this.groupBox1.Controls.Add(this.textBox1);
149 | this.groupBox1.Location = new System.Drawing.Point(2, 149);
150 | this.groupBox1.Name = "groupBox1";
151 | this.groupBox1.Size = new System.Drawing.Size(239, 140);
152 | this.groupBox1.TabIndex = 0;
153 | this.groupBox1.TabStop = false;
154 | this.groupBox1.Text = "Basic Information";
155 | //
156 | // checkBox1
157 | //
158 | this.checkBox1.AutoSize = true;
159 | this.checkBox1.Location = new System.Drawing.Point(6, 98);
160 | this.checkBox1.Name = "checkBox1";
161 | this.checkBox1.Size = new System.Drawing.Size(193, 30);
162 | this.checkBox1.TabIndex = 6;
163 | this.checkBox1.Text = "Accepts Wire\r\n(Functionality Not Yet Implemented)";
164 | this.checkBox1.UseVisualStyleBackColor = true;
165 | //
166 | // comboBox1
167 | //
168 | this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
169 | this.comboBox1.FormattingEnabled = true;
170 | this.comboBox1.Items.AddRange(new object[] {
171 | "Input",
172 | "Output",
173 | "Inline",
174 | "Logic",
175 | "Misc"});
176 | this.comboBox1.Location = new System.Drawing.Point(7, 71);
177 | this.comboBox1.Name = "comboBox1";
178 | this.comboBox1.Size = new System.Drawing.Size(226, 21);
179 | this.comboBox1.TabIndex = 4;
180 | this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
181 | //
182 | // textBox2
183 | //
184 | this.textBox2.Location = new System.Drawing.Point(6, 45);
185 | this.textBox2.Name = "textBox2";
186 | this.textBox2.Size = new System.Drawing.Size(226, 20);
187 | this.textBox2.TabIndex = 3;
188 | this.textBox2.Text = "Component Description";
189 | //
190 | // textBox1
191 | //
192 | this.textBox1.Location = new System.Drawing.Point(6, 19);
193 | this.textBox1.Name = "textBox1";
194 | this.textBox1.Size = new System.Drawing.Size(226, 20);
195 | this.textBox1.TabIndex = 2;
196 | this.textBox1.Text = "Component Name";
197 | //
198 | // CreateCustomMod
199 | //
200 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
201 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
202 | this.ClientSize = new System.Drawing.Size(428, 320);
203 | this.Controls.Add(this.splitContainer1);
204 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
205 | this.MaximizeBox = false;
206 | this.MinimizeBox = false;
207 | this.Name = "CreateCustomMod";
208 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
209 | this.Text = "Create a Mod";
210 | this.Load += new System.EventHandler(this.CreateCustomMod_Load);
211 | this.splitContainer1.Panel1.ResumeLayout(false);
212 | this.splitContainer1.Panel2.ResumeLayout(false);
213 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
214 | this.splitContainer1.ResumeLayout(false);
215 | this.groupBox2.ResumeLayout(false);
216 | ((System.ComponentModel.ISupportInitialize)(this.nnPictureBox1)).EndInit();
217 | this.groupBox1.ResumeLayout(false);
218 | this.groupBox1.PerformLayout();
219 | this.ResumeLayout(false);
220 |
221 | }
222 |
223 | #endregion
224 |
225 | private System.Windows.Forms.SplitContainer splitContainer1;
226 | private System.Windows.Forms.Button button1;
227 | private System.Windows.Forms.ListView listView1;
228 | private System.Windows.Forms.GroupBox groupBox1;
229 | private System.Windows.Forms.ComboBox comboBox1;
230 | private System.Windows.Forms.TextBox textBox2;
231 | private System.Windows.Forms.TextBox textBox1;
232 | private System.Windows.Forms.Button button2;
233 | private Controls.NNPictureBox nnPictureBox1;
234 | private System.Windows.Forms.CheckBox checkBox1;
235 | private System.Windows.Forms.Button button3;
236 | private System.Windows.Forms.GroupBox groupBox2;
237 | }
238 | }
--------------------------------------------------------------------------------
/RsMapper/Forms/CreateCustomMod.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 | using System.IO;
11 | using System.IO.Compression;
12 | using Newtonsoft.Json;
13 |
14 | namespace RsMapper.Forms
15 | {
16 | public partial class CreateCustomMod : Form
17 | {
18 |
19 | Image picd1; // Image associated with component.
20 | MenuItem delMI; // Delete component menu item.
21 |
22 |
23 |
24 | public CreateCustomMod()
25 | {
26 | InitializeComponent();
27 | }
28 |
29 | // Export all of the components into a modpack file.
30 | private void button1_Click(object sender, EventArgs e)
31 | {
32 | if (listView1.Items.Count == 0)
33 | {
34 | // If there are no components in the list view, error.
35 | MessageBox.Show("The modpack must contain at least one component.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
36 | }
37 | else
38 | {
39 | // Setup the save file dialog.
40 | SaveFileDialog saveFileDialog = new SaveFileDialog();
41 | saveFileDialog.Title = "Export Modpack";
42 | saveFileDialog.Filter = "RsMapper Modpacks|*.rsmp";
43 | // If the result is ok, begin the modpack creation process.
44 | if(saveFileDialog.ShowDialog() == DialogResult.OK)
45 | {
46 | string infox;
47 | string typex;
48 | string acceptswirex;
49 |
50 | ModRootObject mro = new ModRootObject();
51 | List data = new List();
52 |
53 | try
54 | {
55 | Directory.CreateDirectory(saveFileDialog.FileName + "_temp\\Imgs");
56 | foreach (ListViewItem listViewItem in listView1.Items)
57 | {
58 | Image img = listView1.LargeImageList.Images[listViewItem.Index];
59 | img.Save(saveFileDialog.FileName + "_temp\\Imgs\\" + listViewItem.Text + ".png");
60 |
61 | // Split the tool tip into useful information for the json file.
62 | string[] infoArray = listViewItem.ToolTipText.Split('\n');
63 | infox = infoArray[0];
64 | typex = infoArray[1];
65 | acceptswirex = infoArray[2];
66 |
67 | data.Add(new modData()
68 | {
69 | name = listViewItem.Text,
70 | type = typex,
71 | image = "\\Modpacks\\" + Path.GetFileName(saveFileDialog.FileName) + "\\Imgs\\" + listViewItem.Text + ".png",
72 | info = infox,
73 | acceptswire = acceptswirex
74 | });
75 |
76 | }
77 |
78 | mro.RsComponents = data.ToArray();
79 |
80 | // Create the components json for the modpack.
81 | string json = JsonConvert.SerializeObject(mro);
82 | System.IO.File.WriteAllText(saveFileDialog.FileName + "_temp\\Components.json", json);
83 |
84 | // Compress the modpack into a .rsmp file.
85 | ZipFile.CreateFromDirectory(saveFileDialog.FileName + "_temp", saveFileDialog.FileName);
86 | Directory.Delete(saveFileDialog.FileName + "_temp", true);
87 | } catch(Exception ex)
88 | {
89 | MessageBox.Show("Unable to create modpack file.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
90 | }
91 |
92 |
93 | }
94 | }
95 | }
96 |
97 | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
98 | {
99 |
100 | }
101 |
102 | // Allow the user to select an image for the component.
103 | private void button2_Click(object sender, EventArgs e)
104 | {
105 | OpenFileDialog ofd = new OpenFileDialog();
106 | ofd.Title = "Choose Texture";
107 | ofd.Filter = "PNG Files|*.png";
108 | ofd.Multiselect = false;
109 |
110 |
111 | if(ofd.ShowDialog() == DialogResult.OK)
112 | {
113 | string imageFIlePath = ofd.FileName;
114 | picd1 = Image.FromFile(imageFIlePath);
115 | nnPictureBox1.Image = picd1;
116 | }
117 | }
118 |
119 | // Add the component to the components list of the modpack.
120 | private void button3_Click(object sender, EventArgs e)
121 | {
122 | // Check if all of the required fields have information.
123 | if(nnPictureBox1.Image == null || textBox1.Text == "" || textBox2.Text == "" || comboBox1.SelectedItem == null)
124 | {
125 | MessageBox.Show("One or more fields are missing information.", "Missing Info", MessageBoxButtons.OK, MessageBoxIcon.Error);
126 | // Check if there are any duplicate items in the list view.
127 | } else if (DuplicateListItem(textBox1.Text) == true)
128 | {
129 | MessageBox.Show("A component with this name already exists in the modpack.", "Duplicate", MessageBoxButtons.OK, MessageBoxIcon.Error);
130 | } else
131 | {
132 |
133 | listView1.LargeImageList.Images.Add(picd1);
134 | ListViewItem ModItem = new ListViewItem(textBox1.Text, listView1.Items.Count);
135 | ModItem.ToolTipText = textBox2.Text + "\n" + comboBox1.SelectedItem.ToString() + "\nAccepts Wire: " + checkBox1.Checked;
136 | listView1.Items.Add(ModItem);
137 |
138 | }
139 | }
140 |
141 | private void CreateCustomMod_Load(object sender, EventArgs e)
142 | {
143 | listView1.LargeImageList = new ImageList();
144 |
145 | // Setup the right click menu for the list view.
146 | ContextMenu cm = new ContextMenu();
147 | cm.Popup += new EventHandler(this.CmOnPopup);
148 | delMI = new MenuItem("Delete");
149 | delMI.Click += new EventHandler(this.DeleteButton_Click);
150 | cm.MenuItems.Add(delMI);
151 | listView1.ContextMenu = cm;
152 | }
153 |
154 | private void listView1_SelectedIndexChanged(object sender, EventArgs e)
155 | {
156 |
157 | }
158 |
159 | private void listView1_MouseDown(object sender, MouseEventArgs e)
160 | {
161 | if(e.Button == MouseButtons.Right)
162 | {
163 |
164 | }
165 | }
166 |
167 | // WHen the delete context menu item is pressed.
168 | private void DeleteButton_Click(object sender, EventArgs e)
169 | {
170 | listView1.SelectedItems[0].Remove();
171 | }
172 |
173 | // If there are no selected items, disable the delete button.
174 | private void CmOnPopup(object sender, EventArgs e)
175 | {
176 | if(listView1.SelectedItems.Count == 0)
177 | {
178 | delMI.Enabled = false;
179 | } else
180 | {
181 | delMI.Enabled = true;
182 | }
183 | }
184 |
185 | bool DuplicateListItem(string text)
186 | {
187 | bool duplicates = false;
188 | foreach(ListViewItem lvi in listView1.Items)
189 | {
190 | if(lvi.Text == text)
191 | {
192 | duplicates = true;
193 | }
194 | }
195 | return duplicates;
196 | }
197 | }
198 |
199 | public class modData
200 | {
201 | public string name { get; set; }
202 | public string type { get; set; }
203 | public string image { get; set; }
204 | public string info { get; set; }
205 | public string acceptswire { get; set; }
206 | }
207 |
208 | public class ModRootObject
209 | {
210 | [JsonProperty("RsComponents")]
211 | public modData[] RsComponents { get; set; }
212 | }
213 | }
214 |
--------------------------------------------------------------------------------
/RsMapper/Forms/CreateCustomMod.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/RsMapper/Forms/DownloadProgress.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace RsMapper.Forms
2 | {
3 | partial class DownloadProgress
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.progressBar1 = new System.Windows.Forms.ProgressBar();
32 | this.button1 = new System.Windows.Forms.Button();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.SuspendLayout();
35 | //
36 | // progressBar1
37 | //
38 | this.progressBar1.Location = new System.Drawing.Point(12, 45);
39 | this.progressBar1.Name = "progressBar1";
40 | this.progressBar1.Size = new System.Drawing.Size(367, 23);
41 | this.progressBar1.TabIndex = 0;
42 | //
43 | // button1
44 | //
45 | this.button1.Location = new System.Drawing.Point(304, 85);
46 | this.button1.Name = "button1";
47 | this.button1.Size = new System.Drawing.Size(75, 23);
48 | this.button1.TabIndex = 1;
49 | this.button1.Text = "Cancel";
50 | this.button1.UseVisualStyleBackColor = true;
51 | this.button1.Click += new System.EventHandler(this.button1_Click);
52 | //
53 | // label1
54 | //
55 | this.label1.AutoSize = true;
56 | this.label1.Location = new System.Drawing.Point(12, 19);
57 | this.label1.Name = "label1";
58 | this.label1.Size = new System.Drawing.Size(72, 13);
59 | this.label1.TabIndex = 2;
60 | this.label1.Text = "Downloading:";
61 | //
62 | // DownloadProgress
63 | //
64 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
65 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
66 | this.ClientSize = new System.Drawing.Size(391, 120);
67 | this.Controls.Add(this.label1);
68 | this.Controls.Add(this.button1);
69 | this.Controls.Add(this.progressBar1);
70 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
71 | this.Name = "DownloadProgress";
72 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
73 | this.Text = "Downloading...";
74 | this.Load += new System.EventHandler(this.DownloadProgress_Load);
75 | this.ResumeLayout(false);
76 | this.PerformLayout();
77 |
78 | }
79 |
80 | #endregion
81 |
82 | private System.Windows.Forms.ProgressBar progressBar1;
83 | private System.Windows.Forms.Button button1;
84 | private System.Windows.Forms.Label label1;
85 | }
86 | }
--------------------------------------------------------------------------------
/RsMapper/Forms/DownloadProgress.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Net;
10 | using System.Windows.Forms;
11 |
12 | namespace RsMapper.Forms
13 | {
14 | public partial class DownloadProgress : Form
15 | {
16 |
17 | WebClient wc = new WebClient();
18 | string source;
19 | string local;
20 |
21 | public DownloadProgress(string downloadSrc, string localFile)
22 | {
23 | InitializeComponent();
24 | source = downloadSrc;
25 | local = localFile;
26 | }
27 |
28 | private void DownloadProgress_Load(object sender, EventArgs e)
29 | {
30 | try
31 | {
32 | // Reinstall the file if the user clicks yes.
33 | wc.DownloadFileAsync(new Uri(source), local);
34 | wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
35 | wc.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
36 | }
37 | catch (Exception exception)
38 | {
39 | MessageBox.Show("Unable to download file.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
40 | Application.Exit();
41 | }
42 | }
43 |
44 | private void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
45 | {
46 | wc.Dispose();
47 | this.Close();
48 | this.Dispose();
49 |
50 | }
51 |
52 | private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
53 | {
54 | progressBar1.Value = e.ProgressPercentage;
55 | label1.Text = "Downloading: " + e.ProgressPercentage + "%";
56 | }
57 |
58 | private void button1_Click(object sender, EventArgs e)
59 | {
60 | wc.CancelAsync();
61 | Application.Exit();
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/RsMapper/Forms/DownloadProgress.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/RsMapper/Forms/Modpacks.Designer.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace RsMapper.Forms
3 | {
4 | partial class Modpacks
5 | {
6 | ///
7 | /// Required designer variable.
8 | ///
9 | private System.ComponentModel.IContainer components = null;
10 |
11 | ///
12 | /// Clean up any resources being used.
13 | ///
14 | /// true if managed resources should be disposed; otherwise, false.
15 | protected override void Dispose(bool disposing)
16 | {
17 | if (disposing && (components != null))
18 | {
19 | components.Dispose();
20 | }
21 | base.Dispose(disposing);
22 | }
23 |
24 | #region Windows Form Designer generated code
25 |
26 | ///
27 | /// Required method for Designer support - do not modify
28 | /// the contents of this method with the code editor.
29 | ///
30 | private void InitializeComponent()
31 | {
32 | this.listView1 = new System.Windows.Forms.ListView();
33 | this.panel1 = new System.Windows.Forms.Panel();
34 | this.button3 = new System.Windows.Forms.Button();
35 | this.button2 = new System.Windows.Forms.Button();
36 | this.button1 = new System.Windows.Forms.Button();
37 | this.panel1.SuspendLayout();
38 | this.SuspendLayout();
39 | //
40 | // listView1
41 | //
42 | this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
43 | this.listView1.HideSelection = false;
44 | this.listView1.Location = new System.Drawing.Point(0, 0);
45 | this.listView1.MultiSelect = false;
46 | this.listView1.Name = "listView1";
47 | this.listView1.Size = new System.Drawing.Size(405, 413);
48 | this.listView1.TabIndex = 0;
49 | this.listView1.UseCompatibleStateImageBehavior = false;
50 | this.listView1.View = System.Windows.Forms.View.List;
51 | //
52 | // panel1
53 | //
54 | this.panel1.Controls.Add(this.button3);
55 | this.panel1.Controls.Add(this.button2);
56 | this.panel1.Controls.Add(this.button1);
57 | this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
58 | this.panel1.Location = new System.Drawing.Point(0, 383);
59 | this.panel1.Name = "panel1";
60 | this.panel1.Size = new System.Drawing.Size(405, 30);
61 | this.panel1.TabIndex = 1;
62 | //
63 | // button3
64 | //
65 | this.button3.Location = new System.Drawing.Point(84, 3);
66 | this.button3.Name = "button3";
67 | this.button3.Size = new System.Drawing.Size(75, 23);
68 | this.button3.TabIndex = 2;
69 | this.button3.Text = "Remove";
70 | this.button3.UseVisualStyleBackColor = true;
71 | this.button3.Click += new System.EventHandler(this.button3_Click);
72 | //
73 | // button2
74 | //
75 | this.button2.Location = new System.Drawing.Point(3, 3);
76 | this.button2.Name = "button2";
77 | this.button2.Size = new System.Drawing.Size(75, 23);
78 | this.button2.TabIndex = 1;
79 | this.button2.Text = "Add";
80 | this.button2.UseVisualStyleBackColor = true;
81 | this.button2.Click += new System.EventHandler(this.button2_Click);
82 | //
83 | // button1
84 | //
85 | this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;
86 | this.button1.Location = new System.Drawing.Point(327, 3);
87 | this.button1.Name = "button1";
88 | this.button1.Size = new System.Drawing.Size(75, 23);
89 | this.button1.TabIndex = 0;
90 | this.button1.Text = "OK";
91 | this.button1.UseVisualStyleBackColor = true;
92 | this.button1.Click += new System.EventHandler(this.button1_Click);
93 | //
94 | // Modpacks
95 | //
96 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
97 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
98 | this.ClientSize = new System.Drawing.Size(405, 413);
99 | this.Controls.Add(this.panel1);
100 | this.Controls.Add(this.listView1);
101 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
102 | this.MaximizeBox = false;
103 | this.MinimizeBox = false;
104 | this.Name = "Modpacks";
105 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
106 | this.Text = "Modpacks";
107 | this.Load += new System.EventHandler(this.Modpacks_Load);
108 | this.panel1.ResumeLayout(false);
109 | this.ResumeLayout(false);
110 |
111 | }
112 |
113 | #endregion
114 |
115 | private System.Windows.Forms.ListView listView1;
116 | private System.Windows.Forms.Panel panel1;
117 | private System.Windows.Forms.Button button3;
118 | private System.Windows.Forms.Button button2;
119 | private System.Windows.Forms.Button button1;
120 | }
121 | }
--------------------------------------------------------------------------------
/RsMapper/Forms/Modpacks.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 | using System.IO;
11 | using System.IO.Compression;
12 |
13 | namespace RsMapper.Forms
14 | {
15 | public partial class Modpacks : Form
16 | {
17 |
18 | string AppData;
19 |
20 |
21 | public Modpacks(bool modpackOpen = false, string path = null)
22 | {
23 | InitializeComponent();
24 | AppData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\RsMapper";
25 |
26 |
27 | }
28 |
29 | private void Modpacks_Load(object sender, EventArgs e)
30 | {
31 | LoadModList();
32 | }
33 |
34 | // Close and dispose the form.
35 | private void button1_Click(object sender, EventArgs e)
36 | {
37 | this.Close();
38 | this.Dispose();
39 | }
40 |
41 | // Delete selected modpack.
42 | private void button3_Click(object sender, EventArgs e)
43 | {
44 | if(MessageBox.Show("Are you sure you want to remove this modpack? You can always reinstall it from its .rsmp file.", "Remove Modpack", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
45 | {
46 |
47 | foreach(ListViewItem lvi in listView1.SelectedItems)
48 | {
49 | Directory.Delete(lvi.Text, true);
50 | }
51 |
52 | // Reload the modpacks list.
53 | listView1.Clear();
54 | LoadModList();
55 | }
56 | }
57 |
58 | // Load the installed modpacks into the list view.
59 | void LoadModList()
60 | {
61 | foreach (string directory in Directory.GetDirectories(AppData + "\\Modpacks"))
62 | {
63 | listView1.Items.Add(new ListViewItem(directory));
64 | }
65 | }
66 |
67 | // Install a modpack.
68 | private void button2_Click(object sender, EventArgs e)
69 | {
70 | OpenFileDialog ofd = new OpenFileDialog();
71 | ofd.Title = "Select Modpack File";
72 | ofd.Filter = "RsMapper Modpacks|*.rsmp";
73 | if (ofd.ShowDialog() == DialogResult.OK)
74 | {
75 | try
76 | {
77 | ZipFile.ExtractToDirectory(ofd.FileName, AppData + "\\Modpacks\\" + Path.GetFileName(ofd.FileName));
78 | } catch(Exception ex)
79 | {
80 | MessageBox.Show("Modpack installation failed.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
81 | }
82 | }
83 |
84 | listView1.Clear();
85 | LoadModList();
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/RsMapper/Forms/Modpacks.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/RsMapper/Forms/UnsavedDialog.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace RsMapper.Forms
2 | {
3 | partial class UnsavedDialog
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.button1 = new System.Windows.Forms.Button();
32 | this.button2 = new System.Windows.Forms.Button();
33 | this.button3 = new System.Windows.Forms.Button();
34 | this.label1 = new System.Windows.Forms.Label();
35 | this.panel1 = new System.Windows.Forms.Panel();
36 | this.panel1.SuspendLayout();
37 | this.SuspendLayout();
38 | //
39 | // button1
40 | //
41 | this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;
42 | this.button1.Location = new System.Drawing.Point(331, 67);
43 | this.button1.Name = "button1";
44 | this.button1.Size = new System.Drawing.Size(75, 23);
45 | this.button1.TabIndex = 0;
46 | this.button1.Text = "Yes";
47 | this.button1.UseVisualStyleBackColor = true;
48 | //
49 | // button2
50 | //
51 | this.button2.DialogResult = System.Windows.Forms.DialogResult.No;
52 | this.button2.Location = new System.Drawing.Point(250, 67);
53 | this.button2.Name = "button2";
54 | this.button2.Size = new System.Drawing.Size(75, 23);
55 | this.button2.TabIndex = 1;
56 | this.button2.Text = "No";
57 | this.button2.UseVisualStyleBackColor = true;
58 | this.button2.Click += new System.EventHandler(this.button2_Click);
59 | //
60 | // button3
61 | //
62 | this.button3.DialogResult = System.Windows.Forms.DialogResult.Cancel;
63 | this.button3.Location = new System.Drawing.Point(154, 67);
64 | this.button3.Name = "button3";
65 | this.button3.Size = new System.Drawing.Size(75, 23);
66 | this.button3.TabIndex = 2;
67 | this.button3.Text = "Cancel";
68 | this.button3.UseVisualStyleBackColor = true;
69 | this.button3.Click += new System.EventHandler(this.button3_Click);
70 | //
71 | // label1
72 | //
73 | this.label1.AutoSize = true;
74 | this.label1.Location = new System.Drawing.Point(12, 19);
75 | this.label1.Name = "label1";
76 | this.label1.Size = new System.Drawing.Size(350, 13);
77 | this.label1.TabIndex = 3;
78 | this.label1.Text = "You have unsaved changes, would you like to save them before exiting?\r\n";
79 | //
80 | // panel1
81 | //
82 | this.panel1.BackColor = System.Drawing.Color.White;
83 | this.panel1.Controls.Add(this.label1);
84 | this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
85 | this.panel1.Location = new System.Drawing.Point(0, 0);
86 | this.panel1.Name = "panel1";
87 | this.panel1.Size = new System.Drawing.Size(418, 52);
88 | this.panel1.TabIndex = 4;
89 | //
90 | // UnsavedDialog
91 | //
92 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
93 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
94 | this.ClientSize = new System.Drawing.Size(418, 101);
95 | this.ControlBox = false;
96 | this.Controls.Add(this.panel1);
97 | this.Controls.Add(this.button3);
98 | this.Controls.Add(this.button2);
99 | this.Controls.Add(this.button1);
100 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
101 | this.Name = "UnsavedDialog";
102 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
103 | this.Text = "Unsaved Changes";
104 | this.panel1.ResumeLayout(false);
105 | this.panel1.PerformLayout();
106 | this.ResumeLayout(false);
107 |
108 | }
109 |
110 | #endregion
111 |
112 | private System.Windows.Forms.Button button1;
113 | private System.Windows.Forms.Button button2;
114 | private System.Windows.Forms.Button button3;
115 | private System.Windows.Forms.Label label1;
116 | private System.Windows.Forms.Panel panel1;
117 | }
118 | }
--------------------------------------------------------------------------------
/RsMapper/Forms/UnsavedDialog.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace RsMapper.Forms
12 | {
13 | public partial class UnsavedDialog : Form
14 | {
15 | public UnsavedDialog()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | private void button3_Click(object sender, EventArgs e)
21 | {
22 | this.Close();
23 | }
24 |
25 | private void button2_Click(object sender, EventArgs e)
26 | {
27 | Application.Exit();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/RsMapper/Forms/UnsavedDialog.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/RsMapper/Forms/UpdateCheck.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace RsMapper.Forms
2 | {
3 | partial class UpdateCheck
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.label1 = new System.Windows.Forms.Label();
32 | this.SuspendLayout();
33 | //
34 | // label1
35 | //
36 | this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
37 | | System.Windows.Forms.AnchorStyles.Left)
38 | | System.Windows.Forms.AnchorStyles.Right)));
39 | this.label1.AutoSize = true;
40 | this.label1.Location = new System.Drawing.Point(96, 27);
41 | this.label1.Name = "label1";
42 | this.label1.Size = new System.Drawing.Size(117, 13);
43 | this.label1.TabIndex = 0;
44 | this.label1.Text = "Checking for updates...";
45 | this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
46 | this.label1.UseWaitCursor = true;
47 | //
48 | // UpdateCheck
49 | //
50 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
51 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
52 | this.ClientSize = new System.Drawing.Size(299, 65);
53 | this.Controls.Add(this.label1);
54 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
55 | this.MaximizeBox = false;
56 | this.MinimizeBox = false;
57 | this.Name = "UpdateCheck";
58 | this.ShowInTaskbar = false;
59 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
60 | this.Text = "Update Check";
61 | this.UseWaitCursor = true;
62 | this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
63 | this.Load += new System.EventHandler(this.UpdateCheck_Load);
64 | this.ResumeLayout(false);
65 | this.PerformLayout();
66 |
67 | }
68 |
69 | #endregion
70 |
71 | private System.Windows.Forms.Label label1;
72 | }
73 | }
--------------------------------------------------------------------------------
/RsMapper/Forms/UpdateCheck.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using RsMapper.Properties;
10 | using System.Windows.Forms;
11 | using System.Net;
12 | using Octokit;
13 | using System.Reflection;
14 | using System.Diagnostics;
15 |
16 | namespace RsMapper.Forms
17 | {
18 | public partial class UpdateCheck : Form
19 | {
20 |
21 |
22 | public UpdateCheck()
23 | {
24 |
25 | InitializeComponent();
26 |
27 | }
28 |
29 | private void UpdateCheck_Load(object sender, EventArgs e)
30 | {
31 |
32 | // The the update void.
33 | CheckUpdates();
34 | }
35 |
36 | private async void CheckUpdates()
37 | {
38 | // About box to get current version.
39 | AboutBox1 abt = new AboutBox1();
40 |
41 | // Create a new client.
42 | var client = new GitHubClient(new ProductHeaderValue("RsMapper"));
43 | try
44 | {
45 | // Get all of the releases on the repo.
46 | var releases = await client.Repository.Release.GetAll("GreenJamesDev", "RsMapper");
47 | var latest = releases[0]; // Get the latest release.
48 |
49 | // Compare versions.
50 | if (latest.TagName != abt.AssemblyVersion)
51 | {
52 | // Display a notification if there is an update.
53 | var notification = new NotifyIcon()
54 | {
55 | Visible = true,
56 | Icon = Resources.icon_0uP_icon,
57 | BalloonTipTitle = "RsMapper Update",
58 | BalloonTipText = "Version " + latest.TagName + " is available.",
59 | };
60 |
61 | notification.BalloonTipClosed += (sender, args) => notification.Dispose();
62 | notification.BalloonTipClicked += (sender, args) => Process.Start(latest.HtmlUrl);
63 |
64 | // Display for 5 seconds.
65 | notification.ShowBalloonTip(3000);
66 | }
67 | // Isn't a new update.
68 | else
69 | {
70 | this.Dispose();
71 | }
72 |
73 | } catch (Exception e)
74 | {
75 | this.Dispose();
76 | }
77 |
78 |
79 | }
80 |
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/RsMapper/Forms/UpdateCheck.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/RsMapper/Imgs/Door.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Door.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Block.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Button.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Chest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Chest.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Command.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Command.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Comparator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Comparator.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_DaySensor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_DaySensor.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Dispenser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Dispenser.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Dropper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Dropper.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_GoldBlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_GoldBlock.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Hopper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Hopper.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Lamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Lamp.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Observer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Observer.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Piston.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Piston.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_PressurePlate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_PressurePlate.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Repeater.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Repeater.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_SPiston.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_SPiston.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_TChest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_TChest.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Target.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Target.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RS_Torch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RS_Torch.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/RsMapper/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/RsMapper/icon.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/TDoor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/TDoor.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/TNT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/TNT.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_TDown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_TDown.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_TLeft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_TLeft.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_TRight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_TRight.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_TUp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_TUp.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireCross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireCross.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireDot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireDot.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireDownLeft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireDownLeft.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireDownRight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireDownRight.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireHoriz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireHoriz.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireUpLeft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireUpLeft.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireUpRight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireUpRight.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/Wires/RS_WireVert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/Wires/RS_WireVert.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/arail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/arail.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/drail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/drail.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/lightning_rod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/lightning_rod.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/nrail_bend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/nrail_bend.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/nrail_straight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/nrail_straight.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/prail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/prail.png
--------------------------------------------------------------------------------
/RsMapper/Imgs/slime_block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/Imgs/slime_block.png
--------------------------------------------------------------------------------
/RsMapper/PrgmSelfCheck.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.IO;
7 | using System.Net;
8 | using System.Windows.Forms;
9 | using RsMapper.Forms;
10 |
11 | namespace RsMapper
12 | {
13 | public class PrgmSelfCheck
14 | {
15 | // DEPENDANCIES
16 | public static string ComponentsJson = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),"RsMapper\\Components.json");
17 | public static string JsonNet = "Newtonsoft.Json.dll";
18 | public static string JsonNetXml = "Newtonsoft.Json.xml";
19 | public static string Modpacks = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\RsMapper\\Modpacks";
20 |
21 | WebClient wc = new WebClient();
22 |
23 | ///
24 | /// Check for any missing files that are required to start the program.
25 | ///
26 | public async void CheckAll()
27 | {
28 |
29 | // Components.json
30 | if (File.Exists(ComponentsJson) == false)
31 | {
32 | Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RsMapper"));
33 | DownloadProgress downloadProgress = new DownloadProgress("https://raw.githubusercontent.com/GreenJamesDev/RsMapper/master/RsMapper/Components.json", ComponentsJson);
34 | downloadProgress.ShowDialog();
35 | downloadProgress.Dispose();
36 |
37 |
38 | }
39 |
40 | // Modpacks folder.
41 | if (Directory.Exists(Modpacks) == false)
42 | {
43 | Directory.CreateDirectory(Modpacks);
44 | }
45 | }
46 |
47 |
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/RsMapper/Program.cs:
--------------------------------------------------------------------------------
1 | using RsMapper.Forms;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading;
6 | using System.Threading.Tasks;
7 | using System.Windows.Forms;
8 | using System.IO;
9 | using System.IO.Compression;
10 |
11 | namespace RsMapper
12 | {
13 | static class Program
14 | {
15 | public static bool NoJson = false;
16 | public static bool CheckUpdates = true;
17 | public static string AppData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\RsMapper";
18 |
19 | ///
20 | /// The main entry point for the application.
21 | ///
22 | [STAThread]
23 | static void Main(String[] args)
24 | {
25 | Application.EnableVisualStyles();
26 | Application.SetCompatibleTextRenderingDefault(false);
27 |
28 |
29 | if (args.Length == 0)
30 | {
31 | // Check for missing files.
32 | PrgmSelfCheck sc = new PrgmSelfCheck();
33 | sc.CheckAll();
34 |
35 |
36 | }
37 | else
38 | {
39 | foreach (String arg in args)
40 | {
41 | switch (arg)
42 | {
43 |
44 | // If the runtime argument --disable-json-check
45 | // is passed, tell RsMapper to ignore the
46 | // Components.json file.
47 | case "--disable-json-check":
48 | NoJson = true;
49 | break;
50 |
51 | // If the runtime argument --disable-update-check
52 | // is passed, tell RsMapper to skip running
53 | // the update checker.
54 | case "--disable-update-check":
55 | CheckUpdates = false;
56 | break;
57 |
58 | // If a proper argument isn't sent.
59 | default:
60 |
61 | // If RsMapper is used to open a modpack file.
62 | if (arg.Contains(":\\")){
63 |
64 | try
65 | {
66 | ZipFile.ExtractToDirectory(arg, AppData + "\\Modpacks\\" + Path.GetFileName(arg));
67 | MessageBox.Show("Modpack installed successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
68 | }
69 | catch (Exception ex)
70 | {
71 | MessageBox.Show("Modpack installation failed or invalid command line argument.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
72 | }
73 |
74 | }
75 |
76 | // Check for missing files.
77 | PrgmSelfCheck sc = new PrgmSelfCheck();
78 | sc.CheckAll();
79 | break;
80 | }
81 | }
82 |
83 | }
84 |
85 | if (CheckUpdates == true)
86 | {
87 | // Create a new update thread.
88 | Thread thread = new Thread(RunUpdateCheck);
89 | thread.Start();
90 | }
91 |
92 | // Run the main form.
93 | Application.Run(new Form1());
94 |
95 | }
96 |
97 | public static void RunUpdateCheck()
98 | {
99 | UpdateCheck uc = new UpdateCheck();
100 | uc.ShowDialog();
101 | uc.Dispose();
102 | }
103 |
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/RsMapper/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("RsMapper")]
9 | [assembly: AssemblyDescription("An open source tool for drawing redstone schematics. Minecraft, redstone, and any redstone components included with this software were created by Mojang Studios. GreenJames has no association with Mojang Studios or its parent companies.")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("GreenJames")]
12 | [assembly: AssemblyProduct("RsMapper")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f96b009a-9d79-49c9-9f1c-4460ab2bd132")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("0.4.0.0")]
36 | [assembly: AssemblyFileVersion("0.4.0.0")]
37 |
--------------------------------------------------------------------------------
/RsMapper/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace RsMapper.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RsMapper.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Drawing.Bitmap.
65 | ///
66 | internal static System.Drawing.Bitmap arail {
67 | get {
68 | object obj = ResourceManager.GetObject("arail", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized resource of type System.Drawing.Bitmap.
75 | ///
76 | internal static System.Drawing.Bitmap drail {
77 | get {
78 | object obj = ResourceManager.GetObject("drail", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
85 | ///
86 | internal static System.Drawing.Icon icon_0uP_icon {
87 | get {
88 | object obj = ResourceManager.GetObject("icon_0uP_icon", resourceCulture);
89 | return ((System.Drawing.Icon)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Drawing.Bitmap.
95 | ///
96 | internal static System.Drawing.Bitmap nrail_bend {
97 | get {
98 | object obj = ResourceManager.GetObject("nrail_bend", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized resource of type System.Drawing.Bitmap.
105 | ///
106 | internal static System.Drawing.Bitmap nrail_straight {
107 | get {
108 | object obj = ResourceManager.GetObject("nrail_straight", resourceCulture);
109 | return ((System.Drawing.Bitmap)(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// Looks up a localized resource of type System.Drawing.Bitmap.
115 | ///
116 | internal static System.Drawing.Bitmap prail {
117 | get {
118 | object obj = ResourceManager.GetObject("prail", resourceCulture);
119 | return ((System.Drawing.Bitmap)(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// Looks up a localized resource of type System.Drawing.Bitmap.
125 | ///
126 | internal static System.Drawing.Bitmap RS_Block {
127 | get {
128 | object obj = ResourceManager.GetObject("RS_Block", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// Looks up a localized resource of type System.Drawing.Bitmap.
135 | ///
136 | internal static System.Drawing.Bitmap RS_Button {
137 | get {
138 | object obj = ResourceManager.GetObject("RS_Button", resourceCulture);
139 | return ((System.Drawing.Bitmap)(obj));
140 | }
141 | }
142 |
143 | ///
144 | /// Looks up a localized resource of type System.Drawing.Bitmap.
145 | ///
146 | internal static System.Drawing.Bitmap RS_DaySensor {
147 | get {
148 | object obj = ResourceManager.GetObject("RS_DaySensor", resourceCulture);
149 | return ((System.Drawing.Bitmap)(obj));
150 | }
151 | }
152 |
153 | ///
154 | /// Looks up a localized resource of type System.Drawing.Bitmap.
155 | ///
156 | internal static System.Drawing.Bitmap RS_Lamp {
157 | get {
158 | object obj = ResourceManager.GetObject("RS_Lamp", resourceCulture);
159 | return ((System.Drawing.Bitmap)(obj));
160 | }
161 | }
162 |
163 | ///
164 | /// Looks up a localized resource of type System.Drawing.Bitmap.
165 | ///
166 | internal static System.Drawing.Bitmap RS_Target {
167 | get {
168 | object obj = ResourceManager.GetObject("RS_Target", resourceCulture);
169 | return ((System.Drawing.Bitmap)(obj));
170 | }
171 | }
172 |
173 | ///
174 | /// Looks up a localized resource of type System.Drawing.Bitmap.
175 | ///
176 | internal static System.Drawing.Bitmap RS_Torch {
177 | get {
178 | object obj = ResourceManager.GetObject("RS_Torch", resourceCulture);
179 | return ((System.Drawing.Bitmap)(obj));
180 | }
181 | }
182 |
183 | ///
184 | /// Looks up a localized resource of type System.Drawing.Bitmap.
185 | ///
186 | internal static System.Drawing.Bitmap RS_WireCross {
187 | get {
188 | object obj = ResourceManager.GetObject("RS_WireCross", resourceCulture);
189 | return ((System.Drawing.Bitmap)(obj));
190 | }
191 | }
192 |
193 | ///
194 | /// Looks up a localized resource of type System.Drawing.Bitmap.
195 | ///
196 | internal static System.Drawing.Bitmap RS_WireDot {
197 | get {
198 | object obj = ResourceManager.GetObject("RS_WireDot", resourceCulture);
199 | return ((System.Drawing.Bitmap)(obj));
200 | }
201 | }
202 |
203 | ///
204 | /// Looks up a localized resource of type System.Drawing.Bitmap.
205 | ///
206 | internal static System.Drawing.Bitmap RS_WireDownLeft {
207 | get {
208 | object obj = ResourceManager.GetObject("RS_WireDownLeft", resourceCulture);
209 | return ((System.Drawing.Bitmap)(obj));
210 | }
211 | }
212 |
213 | ///
214 | /// Looks up a localized resource of type System.Drawing.Bitmap.
215 | ///
216 | internal static System.Drawing.Bitmap RS_WireDownRight {
217 | get {
218 | object obj = ResourceManager.GetObject("RS_WireDownRight", resourceCulture);
219 | return ((System.Drawing.Bitmap)(obj));
220 | }
221 | }
222 |
223 | ///
224 | /// Looks up a localized resource of type System.Drawing.Bitmap.
225 | ///
226 | internal static System.Drawing.Bitmap RS_WireHoriz {
227 | get {
228 | object obj = ResourceManager.GetObject("RS_WireHoriz", resourceCulture);
229 | return ((System.Drawing.Bitmap)(obj));
230 | }
231 | }
232 |
233 | ///
234 | /// Looks up a localized resource of type System.Drawing.Bitmap.
235 | ///
236 | internal static System.Drawing.Bitmap RS_WireUpLeft {
237 | get {
238 | object obj = ResourceManager.GetObject("RS_WireUpLeft", resourceCulture);
239 | return ((System.Drawing.Bitmap)(obj));
240 | }
241 | }
242 |
243 | ///
244 | /// Looks up a localized resource of type System.Drawing.Bitmap.
245 | ///
246 | internal static System.Drawing.Bitmap RS_WireUpRight {
247 | get {
248 | object obj = ResourceManager.GetObject("RS_WireUpRight", resourceCulture);
249 | return ((System.Drawing.Bitmap)(obj));
250 | }
251 | }
252 |
253 | ///
254 | /// Looks up a localized resource of type System.Drawing.Bitmap.
255 | ///
256 | internal static System.Drawing.Bitmap RS_WireVert {
257 | get {
258 | object obj = ResourceManager.GetObject("RS_WireVert", resourceCulture);
259 | return ((System.Drawing.Bitmap)(obj));
260 | }
261 | }
262 |
263 | ///
264 | /// Looks up a localized resource of type System.Drawing.Bitmap.
265 | ///
266 | internal static System.Drawing.Bitmap slime_block {
267 | get {
268 | object obj = ResourceManager.GetObject("slime_block", resourceCulture);
269 | return ((System.Drawing.Bitmap)(obj));
270 | }
271 | }
272 |
273 | ///
274 | /// Looks up a localized resource of type System.Drawing.Bitmap.
275 | ///
276 | internal static System.Drawing.Bitmap TNT {
277 | get {
278 | object obj = ResourceManager.GetObject("TNT", resourceCulture);
279 | return ((System.Drawing.Bitmap)(obj));
280 | }
281 | }
282 | }
283 | }
284 |
--------------------------------------------------------------------------------
/RsMapper/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Imgs\arail.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\Imgs\drail.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | ..\icon_0up_icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\Imgs\nrail_bend.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | ..\Imgs\nrail_straight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | ..\Imgs\prail.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | ..\Imgs\RS_Block.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
143 | ..\Imgs\RS_Button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
144 |
145 |
146 | ..\Imgs\RS_DaySensor.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
147 |
148 |
149 | ..\Imgs\RS_Lamp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
150 |
151 |
152 | ..\Imgs\RS_Target.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
153 |
154 |
155 | ..\Imgs\RS_Torch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
156 |
157 |
158 | ..\Imgs\Wires\RS_WireCross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
159 |
160 |
161 | ..\Imgs\Wires\RS_WireDot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
162 |
163 |
164 | ..\Imgs\Wires\RS_WireDownLeft.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
165 |
166 |
167 | ..\Imgs\Wires\RS_WireDownRight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
168 |
169 |
170 | ..\Imgs\Wires\RS_WireHoriz.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
171 |
172 |
173 | ..\Imgs\Wires\RS_WireUpLeft.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
174 |
175 |
176 | ..\Imgs\Wires\RS_WireUpRight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
177 |
178 |
179 | ..\Imgs\Wires\RS_WireVert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
180 |
181 |
182 | ..\Imgs\slime_block.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
183 |
184 |
185 | ..\Imgs\TNT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
186 |
187 |
--------------------------------------------------------------------------------
/RsMapper/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace RsMapper.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/RsMapper/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RsMapper/RsComponent.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace RsMapper
9 | {
10 | ///
11 | /// Represents a redstone component.
12 | ///
13 | public class RsComponent
14 | {
15 | [JsonProperty("name")]
16 | public string name { get; set; }
17 | [JsonProperty("type")]
18 | public string type { get; set; }
19 | [JsonProperty("image")]
20 | public string image { get; set; }
21 | [JsonProperty("info")]
22 | public string info { get; set; }
23 | [JsonProperty("acceptswire")]
24 | public string acceptswire { get; set; }
25 | }
26 |
27 | ///
28 | /// Represents the root level array of the JSON file.
29 | ///
30 | public class RootObject
31 | {
32 | [JsonProperty("RsComponents")]
33 | public List RsComponents { get; set; }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/RsMapper/RsMapper.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {F96B009A-9D79-49C9-9F1C-4460AB2BD132}
8 | WinExe
9 | RsMapper
10 | RsMapper
11 | v4.7.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 | icon_0uP_icon.ico
37 |
38 |
39 |
40 | ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
41 |
42 |
43 | ..\packages\Octokit.0.48.0\lib\net46\Octokit.dll
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | Form
65 |
66 |
67 | Form1.cs
68 |
69 |
70 | Form
71 |
72 |
73 | AboutBox1.cs
74 |
75 |
76 | Form
77 |
78 |
79 | CommandEnter.cs
80 |
81 |
82 | Component
83 |
84 |
85 | Component
86 |
87 |
88 | Form
89 |
90 |
91 | CreateCustomMod.cs
92 |
93 |
94 | Form
95 |
96 |
97 | DownloadProgress.cs
98 |
99 |
100 | Form
101 |
102 |
103 | Modpacks.cs
104 |
105 |
106 | Form
107 |
108 |
109 | UnsavedDialog.cs
110 |
111 |
112 | Form
113 |
114 |
115 | UpdateCheck.cs
116 |
117 |
118 | True
119 | True
120 | imgs.resx
121 |
122 |
123 |
124 |
125 |
126 |
127 | Form1.cs
128 |
129 |
130 | AboutBox1.cs
131 |
132 |
133 | CommandEnter.cs
134 |
135 |
136 | CreateCustomMod.cs
137 |
138 |
139 | DownloadProgress.cs
140 |
141 |
142 | Modpacks.cs
143 |
144 |
145 | UnsavedDialog.cs
146 |
147 |
148 | UpdateCheck.cs
149 |
150 |
151 | ResXFileCodeGenerator
152 | imgs.Designer.cs
153 |
154 |
155 | ResXFileCodeGenerator
156 | Resources.Designer.cs
157 | Designer
158 |
159 |
160 | True
161 | Resources.resx
162 | True
163 |
164 |
165 |
166 |
167 | SettingsSingleFileGenerator
168 | Settings.Designer.cs
169 |
170 |
171 | True
172 | Settings.settings
173 | True
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
--------------------------------------------------------------------------------
/RsMapper/icon_0uP_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GreenJamesDev/RsMapper/1e4098cd358c7eb21415a2ec0b41e57fa3b229b0/RsMapper/icon_0uP_icon.ico
--------------------------------------------------------------------------------
/RsMapper/imgs.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace RsMapper {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class imgs {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal imgs() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RsMapper.imgs", typeof(imgs).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/RsMapper/imgs.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | text/microsoft-resx
91 |
92 |
93 | 1.3
94 |
95 |
96 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
97 |
98 |
99 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
100 |
101 |
--------------------------------------------------------------------------------
/RsMapper/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/docs/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | ## About
2 |
3 | RsMapper is an open-source application for drawing and visualizing redstone circuitry. RsMapper has the ability to detect and use custom components, meaning that modded blocks can be represented.
4 |
5 | ***Note:*** *The current version number of RsMapper is below 1.0.0.0, meaning that it's still in pre-release phase. There may be some bugs or missing features.*
6 |
7 | 
8 |
9 | ## Features
10 |
11 | - Custom Component Support
12 | - Built-in Update Checker
13 | - Automatically detects and fixes missing component files.
14 |
15 | ### Future features / In progress
16 |
17 | - Built-in custom component creator. (Modpacks)
18 | - .rsch Redstone Schematic Files
19 | - Direct Minecraft Integration (Far Future)
20 | - Signal Simulation (Far Future)
21 |
22 | ## Project Links
23 |
24 | - GitHub Repository: https://github.com/GreenJamesDev/RsMapper
25 | - Documentation: https://github.com/GreenJamesDev/RsMapper/wiki
26 | - Discussion: https://github.com/GreenJamesDev/RsMapper/discussions
27 | - Issues: https://github.com/GreenJamesDev/RsMapper/issues
28 |
--------------------------------------------------------------------------------