Compare commits

...

81 commits

Author SHA1 Message Date
EverythingWindows
38e046cc49 JanusWM small foundation 2022-12-30 19:45:28 +07:00
EverythingWindows
365cc92f8a 0.2.8 final code 2022-12-10 01:56:35 +07:00
EverythingWindows
2cb19f4dd0 little work on the next window manager 2022-12-04 18:46:53 +07:00
EverythingWindows
0e6eb6e76f Console Font finished and the foundation of new window manager is there 2022-12-03 23:16:06 +07:00
EverythingWindows
16094d6b2f Shiftoriumable File Skimmer 2022-12-03 14:41:48 +07:00
EverythingWindows
245fadfa72 so far functional file skimmer 2022-12-03 07:10:41 +07:00
EverythingWindows
22502171c2 navigatable and proprtieable File Skimmer 2022-11-28 08:15:19 +07:00
EverythingWindows
23547b2d87 rough working file skimmer 2022-11-27 21:27:36 +07:00
EverythingWindows
d7cdf48c58 nice try on file skimmer lol 2022-11-27 20:58:48 +07:00
EverythingWindows
d09d7c9472 Merge branch 'master' of https://github.com/EverythingWindows/ShiftOS-TheRevival 2022-11-24 23:39:11 +07:00
EverythingWindows
c1206d8634 0.2.7 final code 2022-11-24 23:38:31 +07:00
EverythingWindows
84aff196b1 0.2.7 final code 2022-11-24 23:06:37 +07:00
EverythingWindows
fb1e91c76b rough 0.2.7 2022-11-24 22:51:51 +07:00
EverythingWindows
9754f49567 Fully functional and partially working Shifter 2022-11-24 21:26:45 +07:00
EverythingWindows
a594d38810 Developing Chapter 2 stuff now 2022-11-24 08:18:00 +07:00
EverythingWindows
537ba4982e Integrating Chapter 2 into the game and minor changes to check the story 2022-11-23 21:30:54 +07:00
EverythingWindows
2c4952012f DuWM 2022-11-23 10:32:09 +07:00
EverythingWindows
30ceaeb60f DuWM enhancements 2022-11-23 08:36:50 +07:00
EverythingWindows
60b812a15b story line for chapter 2 2022-11-22 14:45:19 +07:00
EverythingWindows
0e07916e72 shiftfetch detects window manager now 2022-11-22 14:07:56 +07:00
EverythingWindows
16c2c5b6a7 Proper move from 'Shifter from Console' into 'App Shifter' command 2022-11-22 14:06:04 +07:00
EverythingWindows
3f387f7460 more refined DuWM 2022-11-22 13:08:06 +07:00
EverythingWindows
804f2b7f7e not-quite-finish-but-functional DuWM 2022-11-22 05:42:55 +07:00
EverythingWindows
a043f16287 rough working DuWM 2022-11-21 13:56:13 +07:00
EverythingWindows
c5b2c3e370 Dual Window Manager development 2022-11-21 10:43:53 +07:00
EverythingWindows
3f4edf1b79 trial on Dual Window Manager 2022-11-20 21:53:17 +07:00
EverythingWindows
9d384be175 Optimization on UNZIP 2022-11-20 19:50:10 +07:00
EverythingWindows
2fa56446be Guide command, MathQuiz App, ShiftOS About, and more 2022-11-20 16:43:01 +07:00
EverythingWindows
5ae42df217 0.2.6 final code 2022-11-20 02:30:28 +07:00
EverythingWindows
ad70e4162d Zip, and Unzip is now working 2022-11-20 02:25:18 +07:00
EverythingWindows
eb41e07992 completing any migration from TerminalExternalApps into its own module 2022-11-19 07:25:02 +07:00
EverythingWindows
1d1722345b Rename function implemented 2022-11-19 06:54:01 +07:00
EverythingWindows
e73d05d3b0 implemented the password stuff, but failed to be able to convert other than alphabet to its correspondant 2022-11-19 06:17:02 +07:00
EverythingWindows
996601e9cc Moving majority functions of apps from TerminalExternalApp into its own separate module and fixing bug on ability to set hostname and username to blank 2022-11-18 16:58:37 +07:00
EverythingWindows
4beaaa1988 further isolate any terminal-related function from console 2022-11-17 13:36:07 +07:00
EverythingWindows
9d0b741e7b Added KeyboardHandler to handle shortcuts and key input to make it universally used 2022-11-17 11:44:01 +07:00
EverythingWindows
dc8ddb780f Changing from all uses Console.BadCommand = False to just one NormalCommand() Sub 2022-11-17 11:26:11 +07:00
EverythingWindows
be79ac82e2 More structured in functions 2022-11-17 11:22:51 +07:00
EverythingWindows
f9c724e547 moving from DirectoryManagement to each modules for DE's other module for said action. 2022-11-17 11:11:51 +07:00
EverythingWindows
b6ad60f568 CodepointSystem module, ColorSystem module, Completing TerminalInternalApps migrating to modules 2022-11-17 11:03:57 +07:00
EverythingWindows
e08f5e8e55 Optimization on Intro Story 2022-11-17 10:56:11 +07:00
EverythingWindows
415ee1e40d More enhanced code management and DesktopEnvironment experiments 2022-11-16 08:28:22 +07:00
EverythingWindows
5aceb7cf1e Moving more commands from TerminalAPI into its own module 2022-11-16 08:07:44 +07:00
EverythingWindows
8b879eb638 Moving DoCommand to TerminalAPI, etc. 2022-11-14 20:09:29 +07:00
EverythingWindows
52674dbd4d All one-way commands are not separated into each own module 2022-11-14 19:55:48 +07:00
EverythingWindows
75ae158b14 More organized 2022-11-14 13:56:54 +07:00
EverythingWindows
bd4c45f316 More organized 2022-11-14 13:50:43 +07:00
EverythingWindows
b37a6e60c9 moving more from Console to Terminal Internal/External Apps 2022-11-14 12:11:31 +07:00
EverythingWindows
5fe61b8fe4 Merge branch 'master' of https://github.com/EverythingWindows/ShiftOS-TheRevival 2022-11-14 10:25:57 +07:00
EverythingWindows
47d0c108df Migration from Console to TerminalInteralApps and TerminalExternalApps for some commands. 2022-11-14 10:25:13 +07:00
EverythingWindows
13049c94f6
Expand the readme.MD
added Requirement, build from source, and update the license
2022-11-14 07:33:48 +07:00
EverythingWindows
e5be131bbc
Create LICENSE.md 2022-11-14 05:14:19 +07:00
EverythingWindows
82582215fc 0.2.5 final code 2022-11-13 21:23:31 +07:00
EverythingWindows
f3d11527bd More NewLine migration, Epilepsy warning fixing, and fixing update system 2022-11-13 21:22:42 +07:00
EverythingWindows
54355f9686 Changed from Environment.NewLine to dedicated NewLine module thoroughly, Fixing a bug on always asks for update, Slowly migrating from full Terminal-dependant to Console-based 2022-11-13 15:15:05 +07:00
EverythingWindows
6f1a5bfa56 Epilepsy Warning dedicated 2022-11-13 09:00:34 +07:00
EverythingWindows
850353a885 0.2.4 final code 2022-11-09 08:42:46 +07:00
EverythingWindows
e2051f44b8 syncing man command 2022-11-09 07:02:59 +07:00
EverythingWindows
680d108f07 rev and cowsay added 2022-11-09 06:30:53 +07:00
EverythingWindows
344a0ff99e rework on introstory 2022-11-08 13:02:02 +07:00
EverythingWindows
f96d01a788 minor moving fixes 2022-11-08 10:22:01 +07:00
EverythingWindows
0a2b03e312 Refined ShiftOS Menu to be more finished and added del command 2022-11-07 19:22:19 +07:00
EverythingWindows
8e9314fd63 Shiftorium help stuffy 2022-11-07 14:59:14 +07:00
EverythingWindows
a31f574e32
Update README.md 2022-11-07 14:56:28 +07:00
EverythingWindows
01de8c6833 Man and other optimization 2022-11-07 14:38:42 +07:00
EverythingWindows
afd327f7b8 TextPad is finally working correctly 2022-11-07 14:16:34 +07:00
EverythingWindows
78525e6c04 0.2.4 started 2022-11-07 07:13:50 +07:00
EverythingWindows
e17103c363 dir fixing and stuff 2022-11-06 21:19:35 +07:00
EverythingWindows
1ca1bed37d 0.2.3 final code 2022-11-06 18:45:00 +07:00
EverythingWindows
2a3e5ec4d5 directory majority finished 2022-11-06 16:22:35 +07:00
EverythingWindows
8b5d4344f7 dir command done 2022-11-06 15:20:38 +07:00
EverythingWindows
8e4b29c5a5 perfection to color function 2022-11-06 14:24:53 +07:00
EverythingWindows
f20fb77b7d time accuracy to PM and AM and story mode fixing few bugs 2022-11-06 07:21:26 +07:00
EverythingWindows
a0e7f1ba37 Menu system, bc fixings, and references to directory navigation added 2022-11-05 23:48:35 +07:00
EverythingWindows
ed6f6ee29d bc finally freaking worked 2022-11-05 22:24:30 +07:00
EverythingWindows
06623f4cb1 PAUSE function 2022-11-05 06:27:35 +07:00
EverythingWindows
60b6ce686d neofetch ported to shiftfetch 2022-11-05 05:36:43 +07:00
EverythingWindows
552304f614 v0.2.2 stuffy (infobar, time, more efficient code) 2022-11-04 13:12:41 +07:00
EverythingWindows
cd741c3850 Terminal Display Driver added, migrating Shiftorium functions into Module 2022-11-04 08:56:41 +07:00
EverythingWindows
37df7b5fd4 v0.2.2 stuff working on 2022-11-03 22:27:40 +07:00
EverythingWindows
003fd87c55
README.md added 2022-11-03 16:37:38 +07:00
178 changed files with 13947 additions and 608 deletions
LICENSE.mdREADME.md
ShiftOS-TheRevival
API
Functions
MainForms
Applications
ConsoleRTF.Designer.vbConsoleRTF.resxConsoleRTF.vbDebugWindow.Designer.vbDebugWindow.resxDebugWindow.vb
DesktopEnvironment/master
Epilepsy.Designer.vbEpilepsy.resxEpilepsy.vbIntroStory.Designer.vbIntroStory.vbShiftOSAbout.Designer.vbShiftOSAbout.resxShiftOSAbout.vbShiftOSMenu.Designer.vbShiftOSMenu.resxShiftOSMenu.vbShiftOSUpdater.Designer.vbShiftOSUpdater.vbShiftoriums.vbStrings.vbTerminal.vbTerminalApps.vb
WindowManager
app.manifestrev.txt

674
LICENSE.md Normal file
View file

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

68
README.md Normal file
View file

@ -0,0 +1,68 @@
# _**ShiftOS**_
## Shift it your way
#### Join the Development Hub Discord Server : https://discord.gg/5QXxWJRM6R
---
## :question: **What is ShiftOS?**
> ShiftOS is a game about evolving an experiemental operating system called "ShiftOS" from a completly black and white text based command line environment to a fully graphical operating system filled with advanced features and beautiful colours.
>
> The game is non-linear meaning you can focus on expanding and evolving ShiftOS anyway you like by earning codepoints and spending them in the Shiftorium with a range of upgrade options. Buy more programs, more colours, GUI upgrades and more while you discover the secret behind ShiftOS.
>
> Be careful though... ShiftOS is more than just an operating system!
## :clock10: **History of ShiftOS**
> ShiftOS started as a spiritual successor of Histacom, a project made by Philip Adams (known as 12padams or OSFirstTimer). It was developed under VB.NET using WinForms and have been through several development until it was handed over to a different developer as of 0.0.8 until the Alpha release of 0.0.9.
>
> A return of ShiftOS known as ShiftOS-TheReturn was led by Michael The Shifter (known as acidiclights today) and have been spread through several aspects of the game such as Multiplayer-based game, Modification, etc. But the development was halted by an unknown group that demands to abandon ShiftOS.
>
> After that, many iterations of revival and rewrite has been made. But most of those are either discontinued or in low activity. In November 1st, a revival project of ShiftOS has been made mainly by Everything Windows, it is going to be rewritten and reworked in VB.NET and later on migrates into C# and multi-platform support as the time progresses.
## :floppy_disk: **Installing ShiftOS**
> Minimal system requirement :
>- Windows 7
>- Microsoft .NET Framework 4.5 or higher
>- 512MB RAM
>- 64MB free space
>
> Recommended requirement (The list is a subject to change) :
>- Windows 10 or newer
>- Microsoft .NET Framework 4.5 or higher
>- 1GB RAM or higher
>- at least 1GB of free space
>- Active internet connection (necessary for several features)
>
> To run ShiftOS, you need to download the latest release on the <a href="https://github.com/EverythingWindows/ShiftOS-TheRevival/releases/tag/0.2.5">Release</a>.
> If you download earlier version or you may have run it. The said version will check the latest version and automatically notify and recommend you to upgrade to the latest version.
> Once you have downloaded the latest version, you can run the executable `ShiftOS-TheRevival.vX.X.X.exe` and you can start playing ShiftOS.
## :hammer: **Building ShiftOS from source**
### 1.Prequisites
>- Windows 10 or newer
>- 4GB RAM or higher
>- at least 1GB of free space
>- Visual Studio 2019 or newer
> It hasn't been tested on Visual Studio 2017 or earlier, but presumably it works. Other IDE hasn't been tested out, so be careful if you want to build ShiftOS using different IDE
>
### 2.Clone the repository
> `https://github.com/EverythingWindows/ShiftOS-TheRevival.git`
> This will create a local copy of the repository
>
### 3.Compiling the project
> To start edit the project and compile it, open `ShiftOS-TheRevival.sln` and it will open Visual Studio (or corresponding IDE). Once it has opened, you can compile by using the Play button with `Debug` and `x86` option
## :raising_hand: **Frequently Asked Questions (FAQ)**
**Why is it written in VB.NET?**
> At first, I will write the code in VB.NET in order to make progresses of rewrite on the original code by Philip. After all features necessary are reworked, I will slowly migrate the code into C# while still using WinForms. And after reimplementing many functions from ShiftOS-TheReturn, We as the team will move into C++ and moving from WinForms to possibly Mono, from the migration to Mono, multi-platform support will be in work.
**Why do you want to revive ShiftOS?**
> I found the concept of ShiftOS to be astonishing and great to implement, it needs a proper implementation (even though sometime I kinda mess at the code). acidiclights' TheReturn did have a good concept and work, but the group who demands the abandonment extinguishes the project's activity all together. Since then, many attempt didn't go well. I hope with this iteration/attempt, it will have a proper implementation and support from the community
**Did you get the permission from Philip and Michael?**
> For Philip, I've already contaced to him via email as far back as 2020 back and forth. Long story short, Philip let me make the iteration and I am freely to take his code and reimplement that.
> As of Michael, since the game is open-source on GitHub and archived. According to the README.MD, I am allowed to use the code as long as I'm not reclaiming it fully as my own and put the credit and license in the code.
**Can I contribute to the project?**
> Yes, you can. You can take part of the projecy by contributing the code, either in VB.NET, C#, or C++ phase. Your contribution and support means the world to us as the team
## :page_with_curl: License
> ShiftOS-TheRevival is licensed under the GNU GPL v3 License.

View file

@ -0,0 +1,46 @@
Module ConsoleAPI
Public StayAtChapter As Boolean = False 'If this set to true, then intro for chapters are mostly going to be in
Public Sub Console_Windowed()
Console.WindowState = FormWindowState.Normal
End Sub
Public Sub Console_Full()
Console.FormBorderStyle = FormBorderStyle.None
Console.WindowState = FormWindowState.Maximized
End Sub
Public Sub Console_Interpreters()
If Console.ShouldChange = True Then
Console.ChangeInterpreter = True
Console.ShouldChange = False
End If
End Sub
Public Sub NewLine(str As String)
Console.TextBox1.Text = Console.TextBox1.Text & Environment.NewLine & str
End Sub
Public Sub AddLine(str As String)
Console.TextBox1.Text = Console.TextBox1.Text & str
End Sub
Public Sub ResetLine(str As String)
Console.TextBox1.Text = str
End Sub
Public Sub Undeveloped()
NewLine("Oopsie! It's only for newer version")
End Sub
Public Sub TextRebind()
Console.TextBox1.Select(Console.TextBox1.Text.Length, 0)
Console.TextBox1.ScrollToCaret()
End Sub
Public Sub TextRebindBehind()
'Console.TextBox1.Select(Console.TextBox1.Lines.Length - 1, 0)
Console.TextBox1.Select(Console.TextBox1.Lines.Length - 1, 0)
Console.TextBox1.ScrollToCaret()
End Sub
End Module

View file

@ -0,0 +1,503 @@
Imports System.IO.Compression
Module TerminalAPI
Public command As String
Public AdvancedCommand As Boolean
Public RawCommand As String
Public IsConsoleParent As Boolean
Public Sub InitializeTerminal()
Strings.OnceInfo(1) = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS"
Strings.OnceInfo(4) = "!"
If IsConsoleParent = True Then
Console.TopMost = False
Strings.OnceInfo(7) = Console.Width
Strings.OnceInfo(8) = Console.Height
Console.TextBox1.Font = New Font("Consolas", 11)
Console.ConsoleFontHandle.Stop()
Cursor.Hide()
If Strings.IsFree = True Then
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(7) = 2
Terminal_CheckFeature()
Terminal_PrintPrompt()
Terminal_AssignPrompt()
Else
If StayAtChapter = True Then
LoadGame()
CheckNextChapterEligibility()
If NextChapter = True Then
StayAtChapter = False
InitializeTerminal()
Else
Terminal_CheckFeature()
Terminal_PrintPrompt()
Terminal_AssignPrompt()
End If
Else
Select Case Strings.ComputerInfo(3)
Case 0
Console.TextBox1.ReadOnly = True
StayAtChapter = True
Console.StoryOnlyTimer.Start()
Case 1
Console.TextBox1.ReadOnly = True
StayAtChapter = True
Console.StoryOnlyTimer.Start()
Case Else
LoadGame()
Terminal_CheckFeature()
Terminal_PrintPrompt()
Terminal_AssignPrompt()
End Select
End If
End If
Else
Console_Windowed()
Console.TopMost = True
Try
Console.TextBox1.Font = GUISCustomizations.GUIConsoleFont
Catch ex As Exception
Console.TextBox1.Font = New Font("Consolas", 11)
End Try
Terminal_PrintPrompt()
Terminal_AssignPrompt()
Cursor.Show()
Console.ConsoleFontHandle.Start()
End If
Console.CurrentDirectory = Strings.OnceInfo(1)
Console.Pseudodir = Console.CurrentDirectory.Replace(Strings.OnceInfo(1), "!\")
Console.CurrentInterpreter = "terminal"
TextRebind()
End Sub
Public Sub Terminal_CheckFeature()
If Strings.AvailableFeature(4) = "1" Then
If Console.ToolBarUse = True Then
If Strings.OnceInfo(2) = "True" Then
Console.InfoBarTimer.Start()
Console.TextBox1.Dock = DockStyle.None
Console.ToolBar.Visible = True
Console.ToolBar.SendToBack()
Console.InfoBar.Visible = True
Console.InfoBar.SendToBack()
Console.TextBox1.Dock = DockStyle.Fill
Else
Console.TextBox1.Dock = DockStyle.None
Console.InfoBar.Visible = False
Console.ToolBar.Visible = True
Console.ToolBar.SendToBack()
Console.TextBox1.Dock = DockStyle.Fill
End If
Else
If Strings.OnceInfo(2) = "True" Then
Console.InfoBarTimer.Start()
Console.TextBox1.Dock = DockStyle.None
Console.InfoBar.Visible = True
Console.InfoBar.SendToBack()
Console.ToolBar.Visible = False
Console.TextBox1.Dock = DockStyle.Fill
Else
Console.TextBox1.Dock = DockStyle.None
Console.InfoBar.Visible = False
Console.ToolBar.Visible = False
Console.TextBox1.Dock = DockStyle.Fill
End If
End If
Else
Console.TextBox1.Dock = DockStyle.None
Console.InfoBar.Visible = False
Console.TextBox1.Dock = DockStyle.Fill
End If
End Sub
Public Sub Terminal_ExecuteInput()
Terminal_ReadCommand()
If Strings.AvailableFeature(18) = 1 Then
ShOSKey_InputCommand(command)
End If
Terminal_DoCommand()
Terminal_PrintPrompt()
TextRebind()
End Sub
Public Sub Terminal_ReadCommand()
command = Console.TextBox1.Lines(Console.TextBox1.Lines.Length - 1)
If Console.DefaultPrompt = Nothing Then
Else
command = command.Replace(Console.DefaultPrompt, "")
End If
RawCommand = command
command = command.ToLower()
End Sub
Public Sub Terminal_PrintPrompt()
If Console.TextBox1.Text = Nothing Then
If Console.ChangeInterpreter = True Then
NewLine(Console.DefaultPrompt)
Else
If Strings.OnceInfo(0) = "Yes" Then
ResetLine("root@" & Strings.ComputerInfo(0) & " #> ")
Else
ResetLine(Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> ")
End If
End If
Else
If Console.ChangeInterpreter = True Then
NewLine(Console.DefaultPrompt)
Else
If Strings.OnceInfo(0) = "Yes" Then
NewLine("root@" & Strings.ComputerInfo(0) & " #> ")
Else
NewLine(Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> ")
End If
End If
End If
End Sub
Public Sub Terminal_AssignPrompt()
If Console.ChangeInterpreter = False Then
If Strings.OnceInfo(0) = "Yes" Then
Console.DefaultPrompt = "root@" & Strings.ComputerInfo(0) & " #> "
Else
Console.DefaultPrompt = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
End If
End Sub
Public Sub Terminal_RunTerminalFile(filename As String)
Dim sr As System.IO.StreamReader
If My.Computer.FileSystem.FileExists(Console.CurrentDirectory & "\" & filename) Then
Dim fileext As New IO.FileInfo(Console.CurrentDirectory & "\" & filename)
If fileext.Extension = ".scr" Then
sr = My.Computer.FileSystem.OpenTextFileReader(Console.CurrentDirectory & "\" & filename)
Dim linenum As Integer = IO.File.ReadAllLines(Console.CurrentDirectory & "\" & filename).Length
Dim i As Integer = 1
While i <= linenum
command = sr.ReadLine()
Terminal_DoCommand()
NewLine(Nothing)
i = i + 1
End While
sr.Close()
Else
End If
End If
End Sub
Public Sub Terminal_DoCommand()
AdvancedCommand = True
Console.BadCommand = True
Select Case command
Case ""
AdvancedCommand = False
NormalCommand()
Case "05tray"
_05tray()
NewLine("you cheater!")
Case "anus"
AnusWM_Menu.Show()
Case "applist"
If IsStartG = True Then
AppList()
AdvancedCommand = False
NormalCommand()
End If
Case "bc"
If Strings.AvailableFeature(9) = "1" Then
Console.ChangeInterpreter = True
BC_Start()
AdvancedCommand = False
NormalCommand()
End If
Case "clear"
If Strings.AvailableFeature(1) = "1" Then
Clear()
AdvancedCommand = False
NormalCommand()
End If
Case "close"
If IsConsoleParent = False Then
Console.Close()
End If
Case "codepoint"
Codepoint()
AdvancedCommand = False
NormalCommand()
Case "colors"
Colors()
AdvancedCommand = False
NormalCommand()
Case "date"
Terminal_Date()
Case "dir"
If Strings.AvailableFeature(16) = "1" Then
TerminalDirectories(Console.CurrentDirectory)
AdvancedCommand = False
NormalCommand()
End If
Case "exit su"
If Strings.OnceInfo(0) = "No" Then
Else
AdvancedCommand = False
NormalCommand()
NewLine("Exitting root mode...")
Strings.OnceInfo(0) = "No"
Terminal_AssignPrompt()
End If
Case "guess"
Console.ChangeInterpreter = True
GTN_Start()
AdvancedCommand = False
NormalCommand()
'Undeveloped()
Case "guide"
Guide()
AdvancedCommand = False
NormalCommand()
Case "help"
Help()
AdvancedCommand = False
NormalCommand()
Case "infobar"
If Strings.AvailableFeature(4) = 1 Then
NewLine(My.Resources.man_infobar)
End If
Case "mathquiz"
If Strings.AvailableFeature(34) = 1 Then
MQ_Start()
AdvancedCommand = False
NormalCommand()
End If
Case "pwd"
If Strings.AvailableFeature(16) = 1 Then
Pwd()
AdvancedCommand = False
NormalCommand()
End If
Case "reboot"
If IsStartG = True Then
StopG()
End If
Console.TextBox1.Text = Nothing
AdvancedCommand = False
NormalCommand()
SaveGame()
InitializeTerminal()
'Case "secure"
' Console.Secure = True
' Console.TextBox1.ReadOnly = True
Case "shiftorium"
NewLine(My.Resources.man_shiftorium)
AdvancedCommand = False
NormalCommand()
Case "shiftfetch"
If Strings.AvailableFeature(8) = "1" Then
Shiftfetch()
AdvancedCommand = False
NormalCommand()
End If
Case "shiftoriumfx"
'ChangeInterpreter = True
'AppHost("shiftoriumfx")
AdvancedCommand = False
NormalCommand()
Undeveloped()
Case "shutdown", "shut down"
TerminateShiftOS()
Case "startg"
If Strings.AvailableFeature(35) = 1 Then
If IsStartG = False Then
StartG()
AdvancedCommand = False
NormalCommand()
End If
End If
Case "stopg"
If Strings.AvailableFeature(35) = 1 Then
If IsStartG = True Then
StopG()
AdvancedCommand = False
NormalCommand()
End If
End If
Case "textpad"
If Strings.AvailableFeature(17) = "1" Then
TextPad_WarnFile()
AdvancedCommand = False
NormalCommand()
End If
Case "time"
If Strings.AvailableFeature(5) = 1 Then
Terminal_Time()
AdvancedCommand = False
NormalCommand()
ElseIf Strings.AvailableFeature(5) = 3 Then
Terminal_Time()
AdvancedCommand = False
NormalCommand()
End If
Case "su"
Terminal_Su()
AdvancedCommand = False
NormalCommand()
Case "ver"
Terminal_Version()
AdvancedCommand = False
NormalCommand()
End Select
If AdvancedCommand = True Then
If command Like "app *" Then
If IsStartG = True Then
App()
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "cat *" Then
If Strings.AvailableFeature(16) = 1 Then
CatFile(command.Substring(4))
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "cd *" Then
If Strings.AvailableFeature(16) = 1 Then
NavigateDir(command.Replace("cd ", ""))
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "color *" Then
GetColor("terminal", command.Substring(6, 1), command.Substring(7, 1))
AdvancedCommand = False
NormalCommand()
End If
If command Like "cowsay *" Then
If Strings.AvailableFeature(22) = 1 Then
Cowsay(RawCommand.Substring(7))
NormalCommand()
End If
End If
If command Like "del *" Then
If Strings.AvailableFeature(16) = 1 Then
DeleteFile(RawCommand.Substring(4))
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "hostname *" Then
If Strings.AvailableFeature(20) = 1 Then
Hostname()
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "infobar *" Then
If Strings.AvailableFeature(4) = "1" Then
Infobar()
End If
End If
If command Like "taskkill *" Then
Taskkill()
AdvancedCommand = False
NormalCommand()
End If
If command Like "man *" Then
If Strings.AvailableFeature(0) = "1" Then
Manual(command)
End If
End If
If command Like "mkdir *" Then
If Strings.AvailableFeature(16) Then
CreateDir(command.Replace("mkdir ", ""))
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "print *" Then
If Strings.AvailableFeature(2) = "1" Then
NewLine(RawCommand.Substring(6))
NormalCommand()
AdvancedCommand = False
End If
End If
If command Like "ren '*' '*'" Then
If Strings.AvailableFeature(31) = 1 Then
Rename()
NormalCommand()
AdvancedCommand = False
End If
End If
If command Like "rev *" Then
If Strings.AvailableFeature(21) = 1 Then
Reverse()
NormalCommand()
AdvancedCommand = False
End If
End If
If command Like "rmdir *" Then
If Strings.AvailableFeature(16) = 1 Then
RemoveDir(command.Replace("rmdir ", ""))
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "run *" Then
If Strings.AvailableFeature(30) = 1 Then
Terminal_RunTerminalFile(command.Substring(4))
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "shiftorium *" Then
Shiftorium()
End If
If command Like "textpad *" Then
If Strings.AvailableFeature(17) = 1 Then
Console.ChangeInterpreter = True
command = RawCommand.Replace("textpad ", "")
TextPad_Start()
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "username *" Then
If Strings.AvailableFeature(19) = 1 Then
If command.Substring(9) = "root" Then
NewLine("This username is already taken!")
Else
Username()
End If
AdvancedCommand = False
NormalCommand()
End If
End If
If command Like "unzip *" Then
If Strings.AvailableFeature(33) = 1 Then
Unzip()
End If
AdvancedCommand = False
NormalCommand()
End If
If command Like "zip *" Then
If Strings.AvailableFeature(32) = 1 Then
Zip()
End If
AdvancedCommand = False
NormalCommand()
End If
End If
If Console.BadCommand = True Then
NewLine("Bad command or wrong file name")
End If
End Sub
Public Sub NormalCommand()
Console.BadCommand = False
End Sub
End Module

View file

@ -0,0 +1,3 @@
Module DirectoryManagements
End Module

View file

@ -0,0 +1,29 @@
Imports System.IO
Module FileManagement
Public Sub CatFile(filename As String)
If File.Exists(Console.CurrentDirectory & "\" & filename) = True Then
Dim ContentsFinal As String = File.ReadAllText(Console.CurrentDirectory & "\" & filename)
NewLine(ContentsFinal)
Else
NewLine("File is not exist")
End If
End Sub
Public Sub DeleteFile(filename As String)
If File.Exists(Console.CurrentDirectory & "\" & filename) = True Then
File.Delete(Console.CurrentDirectory & "\" & filename)
Else
NewLine("File is not exist")
End If
End Sub
Public Sub SaveFile(filename As String)
'If File.Exists(Terminal.CurrentDirectory & "\" & filename) = False Then
' File.WriteAllText(Terminal.CurrentDirectory & "\" & filename, Terminal.TextBox1.Text)
'Else
' File.WriteAllText(Terminal.CurrentDirectory & "\" & filename, Terminal.TextBox1.Text)
'End If
File.WriteAllText(Console.CurrentDirectory & "\" & filename, Console.TextBox1.Text)
End Sub
End Module

View file

@ -0,0 +1,51 @@
Imports System.IO
Module KeyboardHandler
Public InputKey As Keys
Public Sub ShortcutHandle()
Select Case InputKey
Case (Keys.Control + Keys.Q)
If Console.CurrentInterpreter = "terminal" Then
Else
TerminateApp(KeyInput)
TextRebind()
End If
Case Else
ExecKeyBinding(KeyInput)
End Select
End Sub
Public Sub ExecKeyBinding(KeyInput As Keys)
Select Case KeyInput
Case (Keys.S + Keys.Control)
Select Case Console.CurrentInterpreter
Case "textpad"
If File.Exists(Console.CurrentDirectory & "\" & command) = True Then
Dim TempCompare As String = File.ReadAllText(Console.CurrentDirectory & "\" & command)
If Console.TextBox1.Text = TempCompare Then
Else
Dim BeforeCP As Integer = Strings.ComputerInfo(2)
SaveFile(command)
TextPad_GenerateCP_SavedFile()
Dim AfterCP As Integer = Strings.ComputerInfo(2) - BeforeCP
Console.ToolBar.Text = "TextPad - " & command & " - You've got " & AfterCP & " Codepoints" & Environment.NewLine & "Ctrl-Q Exit | Ctrl-N New | Ctrl-O Open | Ctrl-S Save | F12 Save As"
End If
Else
Dim BeforeCP As Integer = Strings.ComputerInfo(2)
SaveFile(command)
TextPad_GenerateCP_SavedFile()
Dim AfterCP As Integer = Strings.ComputerInfo(2) - BeforeCP
Console.ToolBar.Text = "TextPad - " & command & " - You've got " & AfterCP & " Codepoints" & Environment.NewLine & "Ctrl-Q Exit | Ctrl-N New | Ctrl-O Open | Ctrl-S Save | F12 Save As"
End If
End Select
Case (Keys.N + Keys.Control)
Select Case Console.CurrentInterpreter
Case "textpad"
Console.TextBox1.Text = Nothing
End Select
End Select
End Sub
End Module

View file

@ -0,0 +1,96 @@
Module IntroStoryTell
Public NextChapter As Boolean
Public Sub CheckNextChapterEligibility()
Select Case Strings.ComputerInfo(3)
Case 0
If Strings.ComputerInfo(4) = 35 Then
Strings.ComputerInfo(3) = 1
NextChapter = True
Else
NextChapter = False
End If
End Select
End Sub
Public Sub StoryLineIntro(Timestamp As Integer)
Select Case Strings.ComputerInfo(3)
Case 0
Select Case Timestamp
Case 5
ResetLine("Connected to <null>")
Case 25
NewLine("<null>: Hey there, Unknown user!")
Case 60
NewLine("<null>: Congratulaions! You have been involuntarily selected for a test on my experimental operating system, ShiftOS.")
Case 125
NewLine("<null>: ShiftOS is an operating system that will evolve itself as you use it as I progressively add more features into ShiftOS.")
Case 160
NewLine("<null>: Currently ShiftOS isn't much from a basic command-line operating system.")
Case 210
NewLine("<null>: I don't wish to reveal my indentity at this point in time.")
Case 270
NewLine("<null>: I will install ShiftOS on your system once I leave while I work on... something else.")
Case 335
NewLine("<null>: Once you have ShiftOS rich feature enough, I will come back to you. In the mean time, goodbye!")
Case 400
NewLine("<null> Disconnected")
Case 430
ResetLine("Installing ShiftOS...")
Case 550
ResetLine("ShiftOS Installed, The computer will restart in a few seconds")
NewLine("To get the definitive guide on using ShiftOS, you can type 'guide' on ShiftOS")
Case 650
Console.StoryOnlyTimer.Stop()
Console.TextBox1.Text = Nothing
Console.TextBox1.ReadOnly = False
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Terminal_CheckFeature()
Terminal_PrintPrompt()
Terminal_AssignPrompt()
TextRebind()
End Select
Case 1
Select Case Timestamp
Case 5
ResetLine("Connected to <null>")
Case 25
NewLine("<null> : Hmmm, you've got your terminal explored enough, ay?")
Case 75
NewLine("<null> : I've seen your progress and let's just say, it's quite rough for me.")
Case 145
NewLine("<null> : Having to code each functions, programs, and applications while you are using it, haha.")
Case 180
NewLine("<null> : I think you've already push the boundary of command line interface for ShiftOS.")
Case 220
NewLine("<null> : Let me introduce you to my basic Window Manager for ShiftOS, DuWM.")
Case 270
NewLine("<null> : It is capable for handling 2 programs at the same time.")
Case 320
NewLine("<null> : And the window manager will evolve as you usually using it.")
Case 380
NewLine("<null> : Wonder why you cannot send a message to me while I'm communicating with you?")
Case 420 'That's the number baby!
NewLine("<null> : Because I only design this to do one-way communication, no reply whatsover.")
Case 475
NewLine("<null> : Anyways, you gotta have 200 codepoints to install DuWM")
Case 550
NewLine("<null> : Once you able to afford it and installing it, there's a guide to use the window manager")
Case 600
NewLine("<null> : Alright, I gotta go now and see you in the next progress.")
Case 630
NewLine("<null> Disconnected")
Case 675
Console.StoryOnlyTimer.Stop()
Console.TextBox1.Text = Nothing
Console.TextBox1.ReadOnly = False
Strings.AvailableFeature(35) = 0
Terminal_CheckFeature()
Terminal_PrintPrompt()
Terminal_AssignPrompt()
TextRebind()
End Select
End Select
End Sub
End Module

View file

@ -0,0 +1,6 @@
Public Class GUISCustomizations
'Desktop Stuff
Public Shared DesktopColor As Color
'Console Stuff
Public Shared GUIConsoleFont As Font
End Class

View file

@ -0,0 +1,172 @@
Public Class Strings
Public Shared OSInfo() As String
Public Shared ComputerInfo(7) As String
Public Shared IsFree As Boolean
Public Shared OnceInfo(8) As String
Public Shared AvailableFeature(53) As String
Public Shared CLIInterpreter As String
Public Shared SaveFile As String
Public Shared Achievement As String
Public Shared ProcessID(15) As String
'STRING CATEGORIZATION WRITING RULES!
'THIS IS IN ORDER TO REMAIN COMPATIBLE WITH OLDER VERSIONS!
'
'General string :
'(Row Number) = Function/Subject (default value : default)
'
'Each have to placed in numerical order
'If there's moved strings for newer version, example:
'0 = Computer Name (0.1) => OS Version (0.2) => Root Location (0.3), etc.
'If there's removed strings for newer version, example:
'69 = Secret Easter Egg (removed in 0.420)
'If there's repurposed strings for newer version after removed, example:
'5 = FreeRoam enabled? (removed in 0.4) => Story Mode State
'
'ALWAYS WRITE THE NOTES IN COMMENTS, THIS CLASS ONLY IS FOR STORING STRINGS AND DEPLOYING STRINGS TO DISK
'OSInfo Strings:
'0 = OSVersion (default : dependant)
'
'OnceInfo Strings:
'0 = IsRoot? (0.1) (default : No)
'1 = RootDirectory (0.2.3) (default : Environment.SpecialDirectories.ApplicationData & "\ShiftOS\ShiftFS\")
'2 = Infobar Boolean (0.2.3) (default : True)
'3 = Color for Terminal (0.2.3) (default : 0F) => moved to ComputerInfo(5)
'4 = RootDirectoryString (0.2.3) (default : !)
'5 = Terminal TrackPos (0.2.3) (default : 0)
'6 = GameMode (0.2.3) (dependant)
'7 = MaxWidth (0.2.4) (depentant)
'8 = MaxHeight (0.2.4) (depentant)
'
'ComputerInfo Strings:
'0 = Computer Name (0.1) (default : shiftos)
'1 = Username (0.1) (default : user)
'2 = Codepoint (0.2) (default : 0)
'3 = Story Chapter (0.2) (default : 0 for New Game)
'4 = Installed Packages (0.2.3) (default : 0 for New Game)
'5 = Color for Terminal (0.2.4) (default : 0F)
'6 = Color for Infobar (0.2.4) (default : F0)
'7 = Window Manager (0.2.7) (default : 0)
'
'AvailableFeature (Default is defined on the Story Mode, Free Mode automatically assigns every available feature to 1, Unavailable in the Shiftorium assigned as 2, Upgraded assigned as 3) Strings:
'Chapter 1
'
'0 = MAN command [Manual on each command] (0.2) (default : 0)
'1 = CLEAR command [Clearing the screen] (0.2) (default : 0)
'2 = PRINT command [Printing a string] (0.2.2) (default : 0)
'3 = Terminal Display Driver [Dependencies for advanced terminal applications] (0.2.2) (default : 0)
'4 = Terminal InfoBar [A panel bar at the bottom of the terminal to show 'Time', 'User Session', 'Codepoint', 'Program running'] (0.2.2) (default : 0)
'5 = Time by Second [Showing time in seconds form since midnight] (0.2.2) (default : 0)
'6 = Time by Minutes [Showing time in minutes form since midnight] (0.2.2) (default : 0)
'7 = Time by Hours [Showing time in hours form since midnight] (0.2.2) (default : 0)
'8 = Shiftfetch [ShiftOS port of Neofetch, A command-line system information tool] (0.2.3) (default : 0)
'9 = bc [Basic Calculator for ShiftOS] (0.2.3) (default : 0)
'10 = 2-bit Color Display [Adds Dark Gray and Light Gray support to the Display Driver] (0.2.3) (default : 0)
'11 = ShiftOS Key [A key to unlock advanced features on ShiftOS] (0.2.3) (default : 0)
'12 = Time by PM and AM [Showing time in hours form since midnight] (0.2.3) (default : 0)
'13 = Red, Green, Blue [Adds Red, Green, and Blue support to the Display Driver] (0.2.3) (default : 0)
'14 = RGB Variant [Adds lighter or darker variant of Red, Green, and Blue] (0.2.3) (default : 0)
'15 = 4-bit Color Display [Adds to 16 colours support to the Display Driver] (0.2.3) (default : 0)
'16 = Terminal Read-Only Memory Driver [ShiftOS Read-Only Memory support for HDD, SSD, etc.] (0.2.4) (default : 0)
'17 = TextPad [Notepad] (0.2.4) (default : 0)
'18 = ShiftKey [DOSKey for ShiftOS] (0.2.4) (default : 0)
'19 = Custom Username [Custom username for ShiftOS] (0.2.4) (default : 0)
'20 = Custom Hostname [Custom hostname for ShiftOS] (0.2.4) (default : 0)
'21 = Reverse String [Reverse a text] (0.2.4) (default : 0)
'22 = Cowsay [Cowsay] (0.2.4) (default : 0)
'23 = Time by Hours and Minutes [Shows time in Hours and Minutes format] (0.2.5) (default : 0)
'24 = Date command [Shows date in days since first day of the year format] (0.2.5) (default : 0)
'25 = Date by week [Shows date in weeks since first week of the year format] (0.2.5) (default : 0)
'26 = Date by month [Shows date in months since first month of the year format] (0.2.5) (default : 0)
'27 = Date by year [Shows date in year format] (0.2.5) (default : 0)
'28 = Date by month and year [Shows date in MM/YYYY format] (0.2.5) (default : 0)
'29 = Date by general [Shows date in general DD/MM/YYYY format] (0.2.5) (default : 0)
'30 = Batch-file support for ShiftOS [Gives execution support for ShiftOS Script File (.scr)] (0.2.5) (default : 0)
'31 = Rename support [Ability to rename files in ShiftOS] (default : 0)
'32 = Zip command [Ability to compress file in a zip file] (default : 0)
'33 = Unzip command [Ability to extract file in a zip file] (default : 0)
'34 = MathQuiz [Simple arithmatical question game to get codepoint] (default : 0)
'
'Chapter 2 for ShiftOS
'35 = Dual Window Manager [Simple Window Manager for ShiftOS] (default : 0)
'36 = Shifter [Customization program for ShiftOS, DuWM version] (default : 0)
'37 = Knowledge Input [Guess how much things as many as you can] (default : 0)
'38 = KI Animals [Adds animal category into the Knowledge Input] (default : 0)
'39 = KI Fruits [Adds fruit category into the Knowledge Input] (default : 0)
'40 = DuWM RGB Support [Adds RGB and its other variant support to DuWM] (default : 0)
'41 = DuWM 16 Colors Support [Adds mix of RGB color support into ShiftOS] (default : 0)
'42 = KI US States [Adds United States States category into the Knowledge Input] (default : 0)
'43 = DuWM Advanced Read and Write [Expands read and write support for DuWM] (default : 0)
'44 = File Skimmer [A file manager for ShiftOS] (default : 0)
'45 = File Skimmer Folder Support [Supports for reading and writing folder in File Skimmer] (default : 0)
'46 = File Skimmer File Support [Supports for reading and writing file in File Skimmer] (default : 0)
'47 = File Skimmer Delete Support [Adds file deletion function into ShiftOS] (default : 0)
'48 = File Skimmer ZIP Support [Adds ZIP compression function into ShiftOS] (default : 0)
'49 = File Skimmer Properties Pane [Adds a sidebar contains file/directory informations] (default : 0)
'50 = File Skimmer JobBar [Adds a top bar for actions on File Skimmer] (default : 0)
'51 = File Skimmer Small Icons [Adds small icons layout on File Skimmer] (default : 0)
'52 = File Skimmer List [Adds small icons layout on File Skimmer] (default : 0)
'53 = Shifter Console [Adds Console Customization on Shifter] (default : 0)
'
'Features bought hierarchy :
'
'Chapter 1:
'ShiftOS Key (KEY) (5 CP)
'>ShiftOS Help Manual (MAN) (10 CP)
'>>Custom Username (USERNAME) (15 CP)
'>>Custom Hostname (HOSTNAME) (15 CP)
'>Terminal Clear (CLEAR) (20 CP)
'>>Terminal Print (PRINT) (25 CP)
'>>>Reverse String command (REV) (30 CP)
'>>>>Cowsay (50 CP)
'>>>>Fortune command (55 CP)
'>>>ShiftKey (ShOSKey) (45 CP)
'>>>Terminal Display Driver (TERMDSPDRV) (40 CP)
'>>>>Terminal InfoBar (INFOBAR) (50 CP)
'>>>>Shiftfetch (SHIFTFETCH) (55 CP)
'>>>>2-bit Color Display (2BITCOLOR) (60 CP)
'>>>>>Red, Green, Blue (rgb) (70 CP)
'>>>>>>RGB Variant (rgb2) (75 CP)
'>>>>>>>4-bit Color Display (4BITCOLOR) (80 CP)
'>>>>>>>>Terminal Read-Only Memory Driver (ROMDRIVER, DIR, MKDIR, RMDIR, CD, PWD) (90 CP)
'>>>>>>>>>ZIP command (ZIP) (95 CP)
'>>>>>>>>>UNZIP command (UNZIP) (95 CP)
'>>>>>>>>>Rename support (RENAME) (95 CP)
'>>>>>>>>>TextPad (100 CP)
'>>>>>>>>>>ShiftOS Batch Script Support (BATCHSCRIPT) (100 CP)
'>>Basic Calculator (BC) (55 CP)
'>>>MathQuiz (MATHQUIZ) (60 CP)
'>>Time by Seconds (TIME, STIME) (10 CP)
'>>>Time by Minutes (TIME, MTIME) (20 CP)
'>>>>Time by Hours (Time, HTIME) (30 CP)
'>>>>>PM and AM (Time, PMAM (40 CP))
'>>>>>>Time by Hours and Minutes (Time, HHMM (50 CP))
'>>>>>>>Date command (DATE (70 CP))
'>>>>>>>>Date by week (DATE, WOY (75 CP))
'>>>>>>>>>Date by month (DATE, MOY (80 CP))
'>>>>>>>>>>Date by year (DATE, YEAR (85 CP))
'>>>>>>>>>>>Date by month and year (DATE, MMYYYY (90 CP))
'>>>>>>>>>>>>Date by general (DATE, GENERALDATE (95 CP))
'
'Chpater 2:
'>Dual Window Manager (DUWM) (200 CP)
'>>DuWM RGB Support (DUWMRGB) (225 CP)
'>>>DuWM 16 Colors Support (DUWMRGB2) (275 CP)
'>>Shifter (SHIFTER) (250 CP)
'>>>Shifter Console (SHR_CONSOLE) (275 CP)
'>>Knowledge Input (KNOWLEDGE) (275 CP)
'>>>KI Animals (KI_ANIMALS) (300 CP)
'>>>KI Fruits (KI_FRUITS) (300 CP)
'>>>KI US States (KI_US) (300 CP)
'>>DuWM Advanced Read and Write support (DUWM_RW) (250 CP)
'>>>File Skimmer (FILESKIMMER) (300 CP)
'>>>>FS Folder Support (FS_FOLDER) (325 CP)
'>>>>>FS File Support (FS_FILE) (350 CP)
'>>>>>>FS Delete Support (FS_DELETE) (400 CP)
'>>>>>>FS ZIP Support (FS_ZIP) (500 CP)
'>>>>FS Properties Pane (FS_PPANE) (350 CP)
'>>>>FS JobBar (FS_JOBBAR) (400 CP)
'>>>>>FS Small Icons Layout (FS_SMALLICONS) (425 CP)
'>>>>>FS List Layout (FS_LIST) (425 CP)
End Class

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
Module CodepointSystem
Public Sub ChangeCP(Addition As Boolean, NeededCP As Integer)
Dim TempCP As Integer = Convert.ToInt32(Strings.ComputerInfo(2))
If Addition = True Then
TempCP = TempCP + NeededCP
Else
TempCP = TempCP - NeededCP
End If
Strings.ComputerInfo(2) = Convert.ToString(TempCP)
End Sub
End Module

View file

@ -0,0 +1,165 @@
Module ColorSystem
'GUIDE to COLORS in TERMINAL
'Using the same Hexadecimal numbering as what Command Prompt used to:
'0 = Black 8 = Gray
'1 = Blue 9 = Light Blue
'2 = Green A = Light Green
'3 = Aqua B = Light Aqua
'4 = Red C = Light Red
'5 = Purple D = Light Purple
'6 = Yellow E = Yellow
'7 = Dark Gray F = White
Public BgColor As Color
Public FgColor As Color
Public Sub GetColor(App As String, Bg As String, Fg As String)
Select Case App
Case "terminal"
BgColor = Color.Black
FgColor = Color.White
Case "infobar"
BgColor = Color.White
FgColor = Color.Black
End Select
If Bg = Fg Then
NewLine("Background and Foreground Color cannot be same!")
Else
If Strings.AvailableFeature(10) = "1" Then
Select Case Bg
Case "0"
BgColor = Color.Black
Case "7"
BgColor = Color.Silver
Case "8"
BgColor = Color.Gray
Case "f"
BgColor = Color.White
Case "2", "9", "c"
If Strings.AvailableFeature(13) = "1" Then
Select Case Bg
Case "2"
BgColor = Color.Green
Case "9"
BgColor = Color.Blue
Case "c"
BgColor = Color.Red
End Select
Else
NewLine("One or two colors you selected is not available.")
End If
Case "1", "4", "a"
If Strings.AvailableFeature(14) = "1" Then
Select Case Bg
Case "1"
BgColor = Color.Navy
Case "4"
BgColor = Color.Maroon
Case "a"
BgColor = Color.Lime
End Select
Else
NewLine("One or two colors you selected is not available.")
End If
Case "3", "5", "6", "b", "d", "e"
If Strings.AvailableFeature(15) = "1" Then
Select Case Bg
Case "3"
BgColor = Color.Cyan
Case "5"
BgColor = Color.Magenta
Case "6"
BgColor = Color.Brown
Case "b"
BgColor = Color.Aqua
Case "d"
BgColor = Color.Fuchsia
Case "e"
BgColor = Color.Yellow
End Select
Else
NewLine("One or two colors you selected is not available.")
End If
Case Else
BgColor = Color.Black
End Select
Select Case Fg
Case "0"
FgColor = Color.Black
Case "7"
FgColor = Color.Silver
Case "8"
FgColor = Color.Gray
Case "f"
FgColor = Color.White
Case "2", "9", "c"
If Strings.AvailableFeature(13) = "1" Then
Select Case Fg
Case "2"
FgColor = Color.Green
Case "9"
FgColor = Color.Blue
Case "c"
FgColor = Color.Red
End Select
Else
NewLine("One or two colors you selected is not available.")
End If
Case "1", "4", "a"
If Strings.AvailableFeature(14) = "1" Then
Select Case Fg
Case "1"
FgColor = Color.Navy
Case "4"
FgColor = Color.Maroon
Case "a"
FgColor = Color.Lime
End Select
Else
NewLine("One or two colors you selected is not available.")
End If
Case "3", "5", "6", "b", "d", "e"
If Strings.AvailableFeature(15) = "1" Then
Select Case Fg
Case "3"
FgColor = Color.Cyan
Case "5"
FgColor = Color.Magenta
Case "6"
FgColor = Color.Brown
Case "b"
FgColor = Color.Aqua
Case "d"
FgColor = Color.Fuchsia
Case "e"
FgColor = Color.Yellow
End Select
Else
NewLine("One or two colors you selected is not available.")
End If
Case Else
FgColor = Color.White
End Select
Else
NewLine("Color is not supported for 1-bit Color Display")
Select Case App
Case "terminal"
BgColor = Color.Black
FgColor = Color.White
Case "infobar"
BgColor = Color.White
FgColor = Color.Black
End Select
End If
End If
Select Case App
Case "infobar"
Console.InfoBar.BackColor = BgColor
Console.InfoBar.ForeColor = FgColor
Strings.ComputerInfo(6) = Bg & Fg
Case "terminal"
Console.TextBox1.BackColor = BgColor
Console.TextBox1.ForeColor = FgColor
Strings.ComputerInfo(5) = Bg & Fg
End Select
End Sub
End Module

View file

@ -0,0 +1,20 @@
Module Terminate
Public Sub TerminateShiftOS()
If IsStartG = True Then
NewLine("Stopping the Window Manager...")
StopG()
End If
Console_Full()
If Strings.OnceInfo(6) = "story" Then
NewLine("Saving game...")
SaveGame()
End If
Cursor.Show()
NewLine("Shutting down...")
ShiftOSMenu.Show()
Cursor.Show()
If IsStartG = False Then
Console.Close()
End If
End Sub
End Module

View file

@ -0,0 +1,321 @@
Imports System.IO
Module SaveLoadSystem
Public Sub NewGameMode(Chapter As Integer)
'Sets all features to 2 (Unavailable for Shiftorium) except ShiftOS Key (AvailableFeatures(11))
Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS", True)
Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS", True)
Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved", True)
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS")
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved")
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = "0"
Strings.ComputerInfo(4) = "0"
Select Case Chapter
Case 0
Strings.AvailableFeature(0) = "2"
Strings.AvailableFeature(1) = "2"
Strings.AvailableFeature(2) = "2"
Strings.AvailableFeature(3) = "2"
Strings.AvailableFeature(4) = "2"
Strings.AvailableFeature(5) = "2"
Strings.AvailableFeature(6) = "2"
Strings.AvailableFeature(7) = "2"
Strings.AvailableFeature(8) = "2"
Strings.AvailableFeature(9) = "2"
Strings.AvailableFeature(10) = "2"
Strings.AvailableFeature(11) = "0"
Strings.AvailableFeature(12) = "2"
Strings.AvailableFeature(13) = "2"
Strings.AvailableFeature(14) = "2"
Strings.AvailableFeature(15) = "2"
'0.2.4 Features
Strings.AvailableFeature(16) = "2"
Strings.AvailableFeature(17) = "2"
Strings.AvailableFeature(18) = "2"
Strings.AvailableFeature(19) = "2"
Strings.AvailableFeature(20) = "2"
Strings.AvailableFeature(21) = "2"
Strings.AvailableFeature(22) = "2"
'0.2.5 Features
Strings.AvailableFeature(23) = "2"
Strings.AvailableFeature(24) = "2"
Strings.AvailableFeature(25) = "2"
Strings.AvailableFeature(26) = "2"
Strings.AvailableFeature(27) = "2"
Strings.AvailableFeature(28) = "2"
Strings.AvailableFeature(29) = "2"
Strings.AvailableFeature(30) = "2"
'0.2.6 Features
Strings.AvailableFeature(31) = "2"
Strings.AvailableFeature(32) = "2"
Strings.AvailableFeature(33) = "2"
'0.2.7 Features
Strings.AvailableFeature(34) = "2"
Strings.AvailableFeature(35) = "2"
Strings.AvailableFeature(36) = "2"
Strings.AvailableFeature(37) = "2"
Strings.AvailableFeature(38) = "2"
Strings.AvailableFeature(39) = "2"
Strings.AvailableFeature(40) = "2"
Strings.AvailableFeature(41) = "2"
'0.2.8 Features
Strings.AvailableFeature(42) = "2"
Strings.AvailableFeature(43) = "2"
Strings.AvailableFeature(44) = "2"
Strings.AvailableFeature(45) = "2"
Strings.AvailableFeature(46) = "2"
Strings.AvailableFeature(47) = "2"
Strings.AvailableFeature(48) = "2"
Strings.AvailableFeature(49) = "2"
Strings.AvailableFeature(50) = "2"
Strings.AvailableFeature(51) = "2"
Strings.AvailableFeature(52) = "2"
Strings.AvailableFeature(53) = "2"
Case 1
Strings.AvailableFeature(0) = "1"
Strings.AvailableFeature(1) = "1"
Strings.AvailableFeature(2) = "1"
Strings.AvailableFeature(3) = "1"
Strings.AvailableFeature(4) = "1"
Strings.AvailableFeature(5) = "3"
Strings.AvailableFeature(6) = "3"
Strings.AvailableFeature(7) = "3"
Strings.AvailableFeature(8) = "1"
Strings.AvailableFeature(9) = "1"
Strings.AvailableFeature(10) = "1"
Strings.AvailableFeature(11) = "1"
Strings.AvailableFeature(12) = "3"
Strings.AvailableFeature(13) = "1"
Strings.AvailableFeature(14) = "1"
Strings.AvailableFeature(15) = "1"
'0.2.4 Features
Strings.AvailableFeature(16) = "1"
Strings.AvailableFeature(17) = "1"
Strings.AvailableFeature(18) = "1"
Strings.AvailableFeature(19) = "1"
Strings.AvailableFeature(20) = "1"
Strings.AvailableFeature(21) = "1"
Strings.AvailableFeature(22) = "1"
'0.2.5 Features
Strings.AvailableFeature(23) = "1"
Strings.AvailableFeature(24) = "3"
Strings.AvailableFeature(25) = "3"
Strings.AvailableFeature(26) = "3"
Strings.AvailableFeature(27) = "3"
Strings.AvailableFeature(28) = "3"
Strings.AvailableFeature(29) = "1"
Strings.AvailableFeature(30) = "1"
'0.2.6 Features
Strings.AvailableFeature(31) = "1"
Strings.AvailableFeature(32) = "1"
Strings.AvailableFeature(33) = "1"
'0.2.7 Features
Strings.AvailableFeature(34) = "1"
Strings.AvailableFeature(35) = "2"
Strings.AvailableFeature(36) = "2"
Strings.AvailableFeature(37) = "2"
Strings.AvailableFeature(38) = "2"
Strings.AvailableFeature(39) = "2"
Strings.AvailableFeature(40) = "2"
Strings.AvailableFeature(41) = "2"
'0.2.8 Features
Strings.AvailableFeature(42) = "2"
Strings.AvailableFeature(43) = "2"
Strings.AvailableFeature(44) = "2"
Strings.AvailableFeature(45) = "2"
Strings.AvailableFeature(46) = "2"
Strings.AvailableFeature(47) = "2"
Strings.AvailableFeature(48) = "2"
Strings.AvailableFeature(49) = "2"
Strings.AvailableFeature(50) = "2"
Strings.AvailableFeature(51) = "2"
Strings.AvailableFeature(52) = "2"
Strings.AvailableFeature(53) = "2"
End Select
End Sub
Public Sub FreeRoamMode()
IsConsoleParent = True
'Sets all features to as bought or either upgraded, Complete ShiftOS should have been like this
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = "0"
Strings.ComputerInfo(4) = "53"
Strings.AvailableFeature(0) = "1"
Strings.AvailableFeature(1) = "1"
Strings.AvailableFeature(2) = "1"
Strings.AvailableFeature(3) = "1"
Strings.AvailableFeature(4) = "1"
Strings.AvailableFeature(5) = "3"
Strings.AvailableFeature(6) = "3"
Strings.AvailableFeature(7) = "3"
Strings.AvailableFeature(8) = "1"
Strings.AvailableFeature(9) = "1"
Strings.AvailableFeature(10) = "1"
Strings.AvailableFeature(11) = "1"
Strings.AvailableFeature(12) = "3"
Strings.AvailableFeature(13) = "1"
Strings.AvailableFeature(14) = "1"
Strings.AvailableFeature(15) = "1"
'0.2.4 Features
Strings.AvailableFeature(16) = "1"
Strings.AvailableFeature(17) = "1"
Strings.AvailableFeature(18) = "1"
Strings.AvailableFeature(19) = "1"
Strings.AvailableFeature(20) = "1"
Strings.AvailableFeature(21) = "1"
Strings.AvailableFeature(22) = "1"
'0.2.5 Features
Strings.AvailableFeature(23) = "1"
Strings.AvailableFeature(24) = "3"
Strings.AvailableFeature(25) = "3"
Strings.AvailableFeature(26) = "3"
Strings.AvailableFeature(27) = "3"
Strings.AvailableFeature(28) = "3"
Strings.AvailableFeature(29) = "1"
Strings.AvailableFeature(30) = "1"
'0.2.6 Features
Strings.AvailableFeature(31) = "1"
Strings.AvailableFeature(32) = "1"
Strings.AvailableFeature(33) = "1"
'0.2.7 Features
Strings.AvailableFeature(34) = "1"
Strings.AvailableFeature(35) = "1"
Strings.AvailableFeature(36) = "1"
Strings.AvailableFeature(37) = "1"
Strings.AvailableFeature(38) = "1"
Strings.AvailableFeature(39) = "1"
Strings.AvailableFeature(40) = "3"
Strings.AvailableFeature(41) = "1"
'0.2.8 Features
Strings.AvailableFeature(42) = "1"
Strings.AvailableFeature(43) = "1"
Strings.AvailableFeature(44) = "1"
Strings.AvailableFeature(45) = "1"
Strings.AvailableFeature(46) = "1"
Strings.AvailableFeature(47) = "1"
Strings.AvailableFeature(48) = "1"
Strings.AvailableFeature(49) = "1"
Strings.AvailableFeature(50) = "1"
Strings.AvailableFeature(51) = "1"
Strings.AvailableFeature(52) = "1"
Strings.AvailableFeature(53) = "1"
'GUI Customizations
GUISCustomizations.DesktopColor = Color.Black
GUISCustomizations.GUIConsoleFont = New Font("Consolas", 11)
End Sub
Public Sub GodMode()
'Same as new game but codepoints automatically assigned to 9999 and not saved into the FS
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 100000
Strings.ComputerInfo(4) = "0"
Strings.AvailableFeature(0) = "2"
Strings.AvailableFeature(1) = "2"
Strings.AvailableFeature(2) = "2"
Strings.AvailableFeature(3) = "2"
Strings.AvailableFeature(4) = "2"
Strings.AvailableFeature(5) = "2"
Strings.AvailableFeature(6) = "2"
Strings.AvailableFeature(7) = "2"
Strings.AvailableFeature(8) = "2"
Strings.AvailableFeature(9) = "2"
Strings.AvailableFeature(10) = "2"
Strings.AvailableFeature(11) = "0"
Strings.AvailableFeature(12) = "2"
Strings.AvailableFeature(14) = "2"
Strings.AvailableFeature(15) = "2"
'0.2.4 Features
Strings.AvailableFeature(16) = "2"
Strings.AvailableFeature(17) = "2"
Strings.AvailableFeature(18) = "2"
Strings.AvailableFeature(19) = "2"
Strings.AvailableFeature(20) = "2"
Strings.AvailableFeature(21) = "2"
Strings.AvailableFeature(22) = "2"
'0.2.5 Features
Strings.AvailableFeature(23) = "2"
Strings.AvailableFeature(24) = "2"
Strings.AvailableFeature(25) = "2"
Strings.AvailableFeature(26) = "2"
Strings.AvailableFeature(27) = "2"
Strings.AvailableFeature(28) = "2"
Strings.AvailableFeature(29) = "2"
Strings.AvailableFeature(30) = "2"
'0.2.6 Features
Strings.AvailableFeature(31) = "2"
Strings.AvailableFeature(32) = "2"
Strings.AvailableFeature(33) = "2"
'0.2.7 Features
Strings.AvailableFeature(34) = "2"
Strings.AvailableFeature(35) = "2"
Strings.AvailableFeature(36) = "2"
Strings.AvailableFeature(37) = "2"
Strings.AvailableFeature(38) = "2"
Strings.AvailableFeature(39) = "2"
Strings.AvailableFeature(40) = "2"
Strings.AvailableFeature(41) = "2"
'0.2.8 Features
Strings.AvailableFeature(42) = "2"
Strings.AvailableFeature(43) = "2"
Strings.AvailableFeature(44) = "2"
Strings.AvailableFeature(45) = "2"
Strings.AvailableFeature(46) = "2"
Strings.AvailableFeature(47) = "2"
Strings.AvailableFeature(48) = "2"
Strings.AvailableFeature(49) = "2"
Strings.AvailableFeature(50) = "2"
Strings.AvailableFeature(51) = "2"
Strings.AvailableFeature(52) = "2"
Strings.AvailableFeature(53) = "2"
End Sub
Public Sub SaveGame()
If Strings.OnceInfo(6) = "story" Then
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\ComputerInfo.sos", Strings.ComputerInfo)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\AvailableFeature.sos", Strings.AvailableFeature)
If Strings.AvailableFeature(35) Then
Select Case Strings.ComputerInfo(7)
Case 1
Dim DesktopColor As Integer = GUISCustomizations.DesktopColor.ToArgb()
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\Shifter_Desktop.sos", DesktopColor.ToString)
Dim ConsoleFont(1) As String
ConsoleFont(0) = GUISCustomizations.GUIConsoleFont.Name
ConsoleFont(1) = GUISCustomizations.GUIConsoleFont.Size
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\Shifter_ConsoleFont.sos", ConsoleFont)
End Select
End If
End If
End Sub
Public Sub LoadGame()
If Strings.OnceInfo(6) = "story" Then
Strings.ComputerInfo = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\ComputerInfo.sos")
Strings.AvailableFeature = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\AvailableFeature.sos")
If Strings.AvailableFeature(35) Then
Select Case Strings.ComputerInfo(7)
Case 1
Dim DesktopColor As Integer
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\Shifter_Desktop.sos") = True Then
DesktopColor = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\Shifter_Desktop.sos")
GUISCustomizations.DesktopColor = Color.FromArgb(DesktopColor)
Else
GUISCustomizations.DesktopColor = Color.Black
End If
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\Shifter_ConsoleFont.sos") = True Then
Dim ConsoleFont(1) As String
ConsoleFont = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\Shifter_ConsoleFont.sos")
GUISCustomizations.GUIConsoleFont = New Font(ConsoleFont(0), ConsoleFont(1))
Else
GUISCustomizations.GUIConsoleFont = New Font("Consolas", 11)
End If
End Select
End If
End If
End Sub
End Module

View file

@ -0,0 +1,373 @@
Imports System.IO
Module TheUpdater
Public WhatVersion As String
Public Sub UpdateToNew()
Dim AvailableFeatureHere As String() = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\AvailableFeature.sos")
Dim ComputerInfoHere As String() = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\ComputerInfo.sos")
Select Case WhatVersion
Case "0.2.3"
Strings.AvailableFeature(0) = AvailableFeatureHere(0)
Strings.AvailableFeature(1) = AvailableFeatureHere(1)
Strings.AvailableFeature(2) = AvailableFeatureHere(2)
Strings.AvailableFeature(3) = AvailableFeatureHere(3)
Strings.AvailableFeature(4) = AvailableFeatureHere(4)
Strings.AvailableFeature(5) = AvailableFeatureHere(5)
Strings.AvailableFeature(6) = AvailableFeatureHere(6)
Strings.AvailableFeature(7) = AvailableFeatureHere(7)
Strings.AvailableFeature(8) = AvailableFeatureHere(8)
Strings.AvailableFeature(9) = AvailableFeatureHere(9)
Strings.AvailableFeature(10) = AvailableFeatureHere(10)
Strings.AvailableFeature(11) = AvailableFeatureHere(11)
Strings.AvailableFeature(12) = AvailableFeatureHere(12)
Strings.AvailableFeature(13) = AvailableFeatureHere(13)
Strings.AvailableFeature(14) = AvailableFeatureHere(14)
Strings.AvailableFeature(15) = AvailableFeatureHere(15)
Strings.AvailableFeature(16) = "0"
Strings.AvailableFeature(17) = "0"
Strings.AvailableFeature(18) = "0"
Strings.AvailableFeature(19) = "0"
Strings.AvailableFeature(20) = "0"
Strings.AvailableFeature(21) = "0"
Strings.AvailableFeature(22) = "0"
If Strings.AvailableFeature(15) = 1 Then
Strings.AvailableFeature(16) = "0"
Else
Strings.AvailableFeature(16) = "2"
End If
Strings.AvailableFeature(17) = "2"
If Strings.AvailableFeature(2) = 1 Then
Strings.AvailableFeature(18) = "0"
Strings.AvailableFeature(21) = "0"
Else
Strings.AvailableFeature(18) = "2"
Strings.AvailableFeature(21) = "2"
End If
If Strings.AvailableFeature(0) = 1 Then
Strings.AvailableFeature(19) = "0"
Strings.AvailableFeature(20) = "0"
Else
Strings.AvailableFeature(19) = "2"
Strings.AvailableFeature(20) = "2"
End If
Strings.AvailableFeature(22) = "2"
Strings.ComputerInfo(0) = ComputerInfoHere(0)
Strings.ComputerInfo(1) = ComputerInfoHere(1)
Strings.ComputerInfo(2) = ComputerInfoHere(2)
Strings.ComputerInfo(3) = ComputerInfoHere(3)
Strings.ComputerInfo(4) = ComputerInfoHere(4)
Strings.ComputerInfo(5) = "0F"
Strings.ComputerInfo(6) = "F0"
ShiftOSUpdater.Button2.Text = "Updated!"
Case "0.2.4"
Strings.AvailableFeature(0) = AvailableFeatureHere(0)
Strings.AvailableFeature(1) = AvailableFeatureHere(1)
Strings.AvailableFeature(2) = AvailableFeatureHere(2)
Strings.AvailableFeature(3) = AvailableFeatureHere(3)
Strings.AvailableFeature(4) = AvailableFeatureHere(4)
Strings.AvailableFeature(5) = AvailableFeatureHere(5)
Strings.AvailableFeature(6) = AvailableFeatureHere(6)
Strings.AvailableFeature(7) = AvailableFeatureHere(7)
Strings.AvailableFeature(8) = AvailableFeatureHere(8)
Strings.AvailableFeature(9) = AvailableFeatureHere(9)
Strings.AvailableFeature(10) = AvailableFeatureHere(10)
Strings.AvailableFeature(11) = AvailableFeatureHere(11)
Strings.AvailableFeature(12) = AvailableFeatureHere(12)
Strings.AvailableFeature(13) = AvailableFeatureHere(13)
Strings.AvailableFeature(14) = AvailableFeatureHere(14)
Strings.AvailableFeature(15) = AvailableFeatureHere(15)
Strings.AvailableFeature(16) = AvailableFeatureHere(16)
Strings.AvailableFeature(17) = AvailableFeatureHere(17)
Strings.AvailableFeature(18) = AvailableFeatureHere(18)
Strings.AvailableFeature(19) = AvailableFeatureHere(19)
Strings.AvailableFeature(20) = AvailableFeatureHere(20)
Strings.AvailableFeature(21) = AvailableFeatureHere(21)
Strings.AvailableFeature(22) = AvailableFeatureHere(22)
If Strings.AvailableFeature(12) = "1" Then
Strings.AvailableFeature(23) = "0"
Else
Strings.AvailableFeature(23) = "2"
End If
Strings.AvailableFeature(24) = "2"
Strings.AvailableFeature(25) = "2"
Strings.AvailableFeature(26) = "2"
Strings.AvailableFeature(27) = "2"
Strings.AvailableFeature(28) = "2"
Strings.AvailableFeature(29) = "2"
If Strings.AvailableFeature(17) = 1 Then
Strings.AvailableFeature(30) = "0"
Else
Strings.AvailableFeature(30) = "2"
End If
If Strings.AvailableFeature(16) = 1 Then
Strings.AvailableFeature(31) = 0
Strings.AvailableFeature(32) = 0
Strings.AvailableFeature(33) = 0
Else
Strings.AvailableFeature(31) = 2
Strings.AvailableFeature(32) = 2
Strings.AvailableFeature(33) = 2
End If
If Strings.AvailableFeature(9) = 1 Then
Strings.AvailableFeature(34) = 0
Else
Strings.AvailableFeature(34) = 2
End If
Strings.AvailableFeature(35) = 2
Strings.AvailableFeature(36) = 2
Strings.AvailableFeature(37) = 2
Strings.AvailableFeature(38) = 2
Strings.AvailableFeature(39) = 2
Strings.AvailableFeature(40) = 2
Strings.AvailableFeature(41) = 2
Strings.ComputerInfo(0) = ComputerInfoHere(0)
Strings.ComputerInfo(1) = ComputerInfoHere(1)
Strings.ComputerInfo(2) = ComputerInfoHere(2)
Strings.ComputerInfo(3) = ComputerInfoHere(3)
Strings.ComputerInfo(4) = ComputerInfoHere(4)
Strings.ComputerInfo(5) = "0F"
Strings.ComputerInfo(6) = "F0"
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
End If
ShiftOSUpdater.Button2.Text = "Updated!"
Case "0.2.5"
Strings.AvailableFeature(0) = AvailableFeatureHere(0)
Strings.AvailableFeature(1) = AvailableFeatureHere(1)
Strings.AvailableFeature(2) = AvailableFeatureHere(2)
Strings.AvailableFeature(3) = AvailableFeatureHere(3)
Strings.AvailableFeature(4) = AvailableFeatureHere(4)
Strings.AvailableFeature(5) = AvailableFeatureHere(5)
Strings.AvailableFeature(6) = AvailableFeatureHere(6)
Strings.AvailableFeature(7) = AvailableFeatureHere(7)
Strings.AvailableFeature(8) = AvailableFeatureHere(8)
Strings.AvailableFeature(9) = AvailableFeatureHere(9)
Strings.AvailableFeature(10) = AvailableFeatureHere(10)
Strings.AvailableFeature(11) = AvailableFeatureHere(11)
Strings.AvailableFeature(12) = AvailableFeatureHere(12)
Strings.AvailableFeature(13) = AvailableFeatureHere(13)
Strings.AvailableFeature(14) = AvailableFeatureHere(14)
Strings.AvailableFeature(15) = AvailableFeatureHere(15)
Strings.AvailableFeature(16) = AvailableFeatureHere(16)
Strings.AvailableFeature(17) = AvailableFeatureHere(17)
Strings.AvailableFeature(18) = AvailableFeatureHere(18)
Strings.AvailableFeature(19) = AvailableFeatureHere(19)
Strings.AvailableFeature(20) = AvailableFeatureHere(20)
Strings.AvailableFeature(21) = AvailableFeatureHere(21)
Strings.AvailableFeature(22) = AvailableFeatureHere(22)
Strings.AvailableFeature(23) = AvailableFeatureHere(23)
Strings.AvailableFeature(24) = AvailableFeatureHere(24)
Strings.AvailableFeature(25) = AvailableFeatureHere(25)
Strings.AvailableFeature(26) = AvailableFeatureHere(26)
Strings.AvailableFeature(27) = AvailableFeatureHere(27)
Strings.AvailableFeature(28) = AvailableFeatureHere(28)
Strings.AvailableFeature(29) = AvailableFeatureHere(29)
Strings.AvailableFeature(30) = AvailableFeatureHere(30)
If Strings.AvailableFeature(16) = 1 Then
Strings.AvailableFeature(31) = 0
Strings.AvailableFeature(32) = 0
Strings.AvailableFeature(33) = 0
Else
Strings.AvailableFeature(31) = 2
Strings.AvailableFeature(32) = 2
Strings.AvailableFeature(33) = 2
End If
If Strings.AvailableFeature(9) = 1 Then
Strings.AvailableFeature(34) = 0
Else
Strings.AvailableFeature(34) = 2
End If
Strings.AvailableFeature(35) = 2
Strings.AvailableFeature(36) = 2
Strings.AvailableFeature(37) = 2
Strings.AvailableFeature(38) = 2
Strings.AvailableFeature(39) = 2
Strings.AvailableFeature(40) = 2
Strings.AvailableFeature(41) = 2
Strings.AvailableFeature(42) = 2
Strings.AvailableFeature(43) = 2
Strings.AvailableFeature(44) = 2
Strings.AvailableFeature(45) = 2
Strings.AvailableFeature(46) = 2
Strings.AvailableFeature(47) = 2
Strings.AvailableFeature(48) = 2
Strings.AvailableFeature(49) = 2
Strings.AvailableFeature(50) = 2
Strings.AvailableFeature(51) = 2
Strings.AvailableFeature(52) = 2
Strings.AvailableFeature(53) = 2
Strings.ComputerInfo(0) = ComputerInfoHere(0)
Strings.ComputerInfo(1) = ComputerInfoHere(1)
Strings.ComputerInfo(2) = ComputerInfoHere(2)
Strings.ComputerInfo(3) = ComputerInfoHere(3)
Strings.ComputerInfo(4) = ComputerInfoHere(4)
Strings.ComputerInfo(5) = "0F"
Strings.ComputerInfo(6) = "F0"
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
End If
ShiftOSUpdater.Button2.Text = "Updated!"
Case "0.2.6"
Strings.AvailableFeature(0) = AvailableFeatureHere(0)
Strings.AvailableFeature(1) = AvailableFeatureHere(1)
Strings.AvailableFeature(2) = AvailableFeatureHere(2)
Strings.AvailableFeature(3) = AvailableFeatureHere(3)
Strings.AvailableFeature(4) = AvailableFeatureHere(4)
Strings.AvailableFeature(5) = AvailableFeatureHere(5)
Strings.AvailableFeature(6) = AvailableFeatureHere(6)
Strings.AvailableFeature(7) = AvailableFeatureHere(7)
Strings.AvailableFeature(8) = AvailableFeatureHere(8)
Strings.AvailableFeature(9) = AvailableFeatureHere(9)
Strings.AvailableFeature(10) = AvailableFeatureHere(10)
Strings.AvailableFeature(11) = AvailableFeatureHere(11)
Strings.AvailableFeature(12) = AvailableFeatureHere(12)
Strings.AvailableFeature(13) = AvailableFeatureHere(13)
Strings.AvailableFeature(14) = AvailableFeatureHere(14)
Strings.AvailableFeature(15) = AvailableFeatureHere(15)
Strings.AvailableFeature(16) = AvailableFeatureHere(16)
Strings.AvailableFeature(17) = AvailableFeatureHere(17)
Strings.AvailableFeature(18) = AvailableFeatureHere(18)
Strings.AvailableFeature(19) = AvailableFeatureHere(19)
Strings.AvailableFeature(20) = AvailableFeatureHere(20)
Strings.AvailableFeature(21) = AvailableFeatureHere(21)
Strings.AvailableFeature(22) = AvailableFeatureHere(22)
Strings.AvailableFeature(23) = AvailableFeatureHere(23)
Strings.AvailableFeature(24) = AvailableFeatureHere(24)
Strings.AvailableFeature(25) = AvailableFeatureHere(25)
Strings.AvailableFeature(26) = AvailableFeatureHere(26)
Strings.AvailableFeature(27) = AvailableFeatureHere(27)
Strings.AvailableFeature(28) = AvailableFeatureHere(28)
Strings.AvailableFeature(29) = AvailableFeatureHere(29)
Strings.AvailableFeature(30) = AvailableFeatureHere(30)
Strings.AvailableFeature(31) = AvailableFeatureHere(31)
Strings.AvailableFeature(32) = AvailableFeatureHere(32)
Strings.AvailableFeature(33) = AvailableFeatureHere(33)
If Strings.AvailableFeature(9) = 1 Then
Strings.AvailableFeature(34) = 0
Else
Strings.AvailableFeature(34) = 2
End If
Strings.AvailableFeature(35) = 2
Strings.AvailableFeature(36) = 2
Strings.AvailableFeature(37) = 2
Strings.AvailableFeature(38) = 2
Strings.AvailableFeature(39) = 2
Strings.AvailableFeature(40) = 2
Strings.AvailableFeature(41) = 2
Strings.AvailableFeature(42) = 2
Strings.AvailableFeature(43) = 2
Strings.AvailableFeature(44) = 2
Strings.AvailableFeature(45) = 2
Strings.AvailableFeature(46) = 2
Strings.AvailableFeature(47) = 2
Strings.AvailableFeature(48) = 2
Strings.AvailableFeature(49) = 2
Strings.AvailableFeature(50) = 2
Strings.AvailableFeature(51) = 2
Strings.AvailableFeature(52) = 2
Strings.AvailableFeature(53) = 2
Strings.ComputerInfo(0) = ComputerInfoHere(0)
Strings.ComputerInfo(1) = ComputerInfoHere(1)
Strings.ComputerInfo(2) = ComputerInfoHere(2)
Strings.ComputerInfo(3) = ComputerInfoHere(3)
Strings.ComputerInfo(4) = ComputerInfoHere(4)
Strings.ComputerInfo(5) = "0F"
Strings.ComputerInfo(6) = "F0"
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
End If
ShiftOSUpdater.Button2.Text = "Updated!"
Case "0.2.7"
Strings.AvailableFeature(0) = AvailableFeatureHere(0)
Strings.AvailableFeature(1) = AvailableFeatureHere(1)
Strings.AvailableFeature(2) = AvailableFeatureHere(2)
Strings.AvailableFeature(3) = AvailableFeatureHere(3)
Strings.AvailableFeature(4) = AvailableFeatureHere(4)
Strings.AvailableFeature(5) = AvailableFeatureHere(5)
Strings.AvailableFeature(6) = AvailableFeatureHere(6)
Strings.AvailableFeature(7) = AvailableFeatureHere(7)
Strings.AvailableFeature(8) = AvailableFeatureHere(8)
Strings.AvailableFeature(9) = AvailableFeatureHere(9)
Strings.AvailableFeature(10) = AvailableFeatureHere(10)
Strings.AvailableFeature(11) = AvailableFeatureHere(11)
Strings.AvailableFeature(12) = AvailableFeatureHere(12)
Strings.AvailableFeature(13) = AvailableFeatureHere(13)
Strings.AvailableFeature(14) = AvailableFeatureHere(14)
Strings.AvailableFeature(15) = AvailableFeatureHere(15)
Strings.AvailableFeature(16) = AvailableFeatureHere(16)
Strings.AvailableFeature(17) = AvailableFeatureHere(17)
Strings.AvailableFeature(18) = AvailableFeatureHere(18)
Strings.AvailableFeature(19) = AvailableFeatureHere(19)
Strings.AvailableFeature(20) = AvailableFeatureHere(20)
Strings.AvailableFeature(21) = AvailableFeatureHere(21)
Strings.AvailableFeature(22) = AvailableFeatureHere(22)
Strings.AvailableFeature(23) = AvailableFeatureHere(23)
Strings.AvailableFeature(24) = AvailableFeatureHere(24)
Strings.AvailableFeature(25) = AvailableFeatureHere(25)
Strings.AvailableFeature(26) = AvailableFeatureHere(26)
Strings.AvailableFeature(27) = AvailableFeatureHere(27)
Strings.AvailableFeature(28) = AvailableFeatureHere(28)
Strings.AvailableFeature(29) = AvailableFeatureHere(29)
Strings.AvailableFeature(30) = AvailableFeatureHere(30)
Strings.AvailableFeature(31) = AvailableFeatureHere(31)
Strings.AvailableFeature(32) = AvailableFeatureHere(32)
Strings.AvailableFeature(33) = AvailableFeatureHere(33)
Strings.AvailableFeature(34) = AvailableFeatureHere(34)
Strings.AvailableFeature(35) = AvailableFeatureHere(35)
Strings.AvailableFeature(36) = AvailableFeatureHere(36)
Strings.AvailableFeature(37) = AvailableFeatureHere(37)
Strings.AvailableFeature(38) = AvailableFeatureHere(38)
Strings.AvailableFeature(39) = AvailableFeatureHere(39)
Strings.AvailableFeature(40) = AvailableFeatureHere(40)
Strings.AvailableFeature(41) = AvailableFeatureHere(41)
If Strings.AvailableFeature(37) = 1 Then
Strings.AvailableFeature(42) = 0
Else
Strings.AvailableFeature(42) = 2
End If
If Strings.AvailableFeature(35) = 1 Then
Strings.AvailableFeature(43) = 0
Else
Strings.AvailableFeature(43) = 2
End If
Strings.AvailableFeature(44) = 2
Strings.AvailableFeature(45) = 2
Strings.AvailableFeature(46) = 2
Strings.AvailableFeature(47) = 2
Strings.AvailableFeature(48) = 2
Strings.AvailableFeature(49) = 2
Strings.AvailableFeature(50) = 2
Strings.AvailableFeature(51) = 2
Strings.AvailableFeature(52) = 2
If Strings.AvailableFeature(36) = 1 Then
Strings.AvailableFeature(53) = 0
Else
Strings.AvailableFeature(53) = 2
End If
Strings.ComputerInfo(0) = ComputerInfoHere(0)
Strings.ComputerInfo(1) = ComputerInfoHere(1)
Strings.ComputerInfo(2) = ComputerInfoHere(2)
Strings.ComputerInfo(3) = ComputerInfoHere(3)
Strings.ComputerInfo(4) = ComputerInfoHere(4)
Strings.ComputerInfo(5) = "0F"
Strings.ComputerInfo(6) = "F0"
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
End If
ShiftOSUpdater.Button2.Text = "Updated!"
End Select
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\version.txt", My.Resources.CurrentVersion)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\AvailableFeature.sos", Strings.AvailableFeature)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved\ComputerInfo.sos", Strings.ComputerInfo)
ShiftOSMenu.ShouldUpdate = False
End Sub
End Module

View file

@ -0,0 +1,113 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Console
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.StoryOnlyTimer = New System.Windows.Forms.Timer(Me.components)
Me.InfoBar = New System.Windows.Forms.TextBox()
Me.InfoBarTimer = New System.Windows.Forms.Timer(Me.components)
Me.ToolBar = New System.Windows.Forms.TextBox()
Me.ShortcutHandler = New System.ComponentModel.BackgroundWorker()
Me.ConsoleFontHandle = New System.Windows.Forms.Timer(Me.components)
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.BackColor = System.Drawing.Color.Black
Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.TextBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TextBox1.Font = New System.Drawing.Font("Consolas", 11.0!)
Me.TextBox1.ForeColor = System.Drawing.Color.White
Me.TextBox1.Location = New System.Drawing.Point(0, 36)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.ShortcutsEnabled = False
Me.TextBox1.Size = New System.Drawing.Size(800, 396)
Me.TextBox1.TabIndex = 0
'
'StoryOnlyTimer
'
'
'InfoBar
'
Me.InfoBar.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.InfoBar.Dock = System.Windows.Forms.DockStyle.Bottom
Me.InfoBar.Font = New System.Drawing.Font("Consolas", 11.0!)
Me.InfoBar.ForeColor = System.Drawing.Color.Black
Me.InfoBar.Location = New System.Drawing.Point(0, 432)
Me.InfoBar.Name = "InfoBar"
Me.InfoBar.ReadOnly = True
Me.InfoBar.ShortcutsEnabled = False
Me.InfoBar.Size = New System.Drawing.Size(800, 18)
Me.InfoBar.TabIndex = 0
Me.InfoBar.TabStop = False
Me.InfoBar.Text = "Infobar"
Me.InfoBar.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
Me.InfoBar.Visible = False
'
'InfoBarTimer
'
'
'ToolBar
'
Me.ToolBar.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.ToolBar.Dock = System.Windows.Forms.DockStyle.Top
Me.ToolBar.Font = New System.Drawing.Font("Consolas", 11.0!)
Me.ToolBar.Location = New System.Drawing.Point(0, 0)
Me.ToolBar.Multiline = True
Me.ToolBar.Name = "ToolBar"
Me.ToolBar.Size = New System.Drawing.Size(800, 36)
Me.ToolBar.TabIndex = 1
Me.ToolBar.Visible = False
'
'ConsoleFontHandle
'
'
'Console
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Black
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.InfoBar)
Me.Controls.Add(Me.ToolBar)
Me.ForeColor = System.Drawing.Color.White
Me.Name = "Console"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Terminal"
Me.TopMost = True
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As TextBox
Friend WithEvents StoryOnlyTimer As Timer
Friend WithEvents InfoBar As TextBox
Friend WithEvents InfoBarTimer As Timer
Friend WithEvents ToolBar As TextBox
Public WithEvents ShortcutHandler As System.ComponentModel.BackgroundWorker
Friend WithEvents ConsoleFontHandle As Timer
End Class

View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StoryOnlyTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="InfoBarTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>153, 17</value>
</metadata>
<metadata name="ShortcutHandler.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>274, 17</value>
</metadata>
<metadata name="ConsoleFontHandle.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>415, 17</value>
</metadata>
</root>

View file

@ -0,0 +1,247 @@
Imports System.IO
Public Class Console
Public TrackPos As Integer 'Tracking the position of the caret in order to not bypass the user@hostname string
Public DefaultPrompt As String 'Default prompt to display in ShiftOS, usually it's user@hostname
Public BadCommand As Boolean 'Detect if it's a bad command or not
Public DisplayStory As Integer 'Keep record for displaying the DevX's or other's monologue
Public StoryToTell As String 'Which chapter that you're going to be in
Public ShouldChange As Boolean = False 'Indicates if the interpreter should changed to a specific program
Public ChangeInterpreter As Boolean = False 'Default interpreter is Terminal, if it's changed to True, there'll be other program used by Console
Public CurrentInterpreter As String 'Shows what program is using Console
Public CurrentDirectory As String 'Current Directory for ShiftOS Explorer
Public Pseudodir As String 'Pseudo-directory for ShiftFS
Public ToolBarUse As Boolean = False 'Either any program is using ToolBar or not
Public ReleaseCursor As Boolean = False 'Release cursor from TrackPos
Public ShOSKey As String 'DOSKEY tracking string for ShiftOS
Public Secure As Boolean 'Define either Secure Text mode is enabled or not (experimental!)
Public SecureString As String 'String for Secure Text mode (experimental)
Public DuWM_PID As Integer 'DuWM Process ID
Private Sub Console_Load(sender As Object, e As EventArgs) Handles MyBase.Load
With ShortcutHandler
.WorkerSupportsCancellation = True
End With
Console_Full()
InitializeTerminal()
End Sub
Private Sub txtterm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
KeyInput = e.KeyData
InputKey = e.KeyData
ShortcutHandle()
If ReleaseCursor = True Then
Else
Select Case e.KeyData
Case Keys.Enter
e.SuppressKeyPress = True
If Secure = True Then
Secure = False
TextBox1.ReadOnly = False
Terminal_ReadCommand()
NewLine(SecureString)
Terminal_PrintPrompt()
SecureString = Nothing
TextRebind()
Else
If TextBox1.ReadOnly = True Then
Else
Terminal_ReadCommand()
If Strings.AvailableFeature(18) = 1 Then
ShOSKey_InputCommand(command)
End If
If ChangeInterpreter = True Then
DoChildCommand()
Terminal_PrintPrompt()
TextRebind()
Else
Terminal_DoCommand()
Terminal_PrintPrompt()
TextRebind()
End If
End If
End If
TrackPos = 0
Case Keys.ShiftKey, Keys.LShiftKey, Keys.RShiftKey, Keys.Alt, Keys.ControlKey, Keys.LWin, Keys.RWin
e.SuppressKeyPress = True
TrackPos = TrackPos
Case Keys.Back
If TrackPos <= 0 Then
e.SuppressKeyPress = True
Else
TrackPos = TrackPos - 1
'If TextBox1.SelectedText.Length < 1 Then
' TrackPos = TrackPos - 1
'Else
' e.SuppressKeyPress = True
'End If
End If
Case Keys.Right
If TextBox1.SelectionStart = TextBox1.TextLength Then
Else
TrackPos = TrackPos + 1
End If
'If TrackPos <= 0 Then
' Dim CommandChar As String
' CommandChar = TextBox1.Lines(TextBox1.Lines.Length - 1)
' CommandChar = CommandChar.Replace(DefaultPrompt, "")
' TrackPos = CommandChar.Length - 1
' TextBox1.Select(TextBox1.TextLength, 0)
' TextBox1.ScrollToCaret()
'End If
Case Keys.Left
If TextBox1.SelectionStart = 0 Then
e.SuppressKeyPress = True
Else
TrackPos = TrackPos - 1
End If
If TrackPos <= 0 Then
Dim CommandChar As String
CommandChar = TextBox1.Lines(TextBox1.Lines.Length - 1)
CommandChar = CommandChar.Replace(DefaultPrompt, "")
TrackPos = CommandChar.Length - 1
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End If
'If TrackPos < 1 Then
' e.SuppressKeyPress = True
' TrackPos = TrackPos - 1
'Else
' TrackPos = TrackPos - 2
'End If
Case Keys.Up
e.SuppressKeyPress = True
If Strings.AvailableFeature(18) = 1 Then
ShOSKey_Display()
TextRebind()
End If
Case Keys.Down
e.SuppressKeyPress = True
If Strings.AvailableFeature(18) = 1 Then
ShOSKey_Display()
TextRebind()
End If
Case Else
If Secure = True Then
If e.Modifiers = Keys.Shift Then
SecureString = SecureString & Chr(e.KeyValue)
Else
SecureString = SecureString & Chr(e.KeyValue + 32)
End If
Else
TrackPos = TrackPos + 1
End If
End Select
End If
'If e.KeyCode = Keys.Enter Then
' 'If command = "clear" Then
' ' txtterm.Text = txtterm.Text + ShiftOSDesktop.username & "@" & ShiftOSDesktop.osname & " $> "
' ' txtterm.Select(txtterm.Text.Length, 0)
' 'Else
' ' txtterm.Text = txtterm.Text + Environment.NewLine & ShiftOSDesktop.username & "@" & ShiftOSDesktop.osname & " $> "
' ' txtterm.Select(txtterm.Text.Length, 0)
' 'End If
'Else
' If e.KeyCode = Keys.Back Then
' Else
' TrackPos = TrackPos + 1
' End If
'End If
'If e.KeyCode = Keys.Back Then
' 'If TrackPos < 1 Then
' ' e.SuppressKeyPress = True
' 'Else
' ' If TextBox1.SelectedText.Length < 1 Then
' ' TrackPos = TrackPos - 1
' ' Else
' ' e.SuppressKeyPress = True
' ' End If
' 'End If
'End If
End Sub
Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click, TextBox1.MouseDoubleClick
TextRebind()
End Sub
Private Sub StoryOnlyTimer_Tick(sender As Object, e As EventArgs) Handles StoryOnlyTimer.Tick
StoryLineIntro(DisplayStory)
DisplayStory = DisplayStory + 1
End Sub
Private Sub InfoBarTimer_Tick(sender As Object, e As EventArgs) Handles InfoBarTimer.Tick
InfoBar.Text = "|"
If Strings.AvailableFeature(5) = "1" Then
InfoBar.Text = InfoBar.Text & " " & Math.Floor(Date.Now.Subtract(Date.Today).TotalSeconds) & " |"
ElseIf Strings.AvailableFeature(5) = "3" Then
If Strings.AvailableFeature(6) = "1" Then
InfoBar.Text = InfoBar.Text & " " & Math.Floor(Date.Now.Subtract(Date.Today).TotalMinutes) & " |"
ElseIf Strings.AvailableFeature(6) = "3" Then
If Strings.AvailableFeature(7) = "1" Then
InfoBar.Text = InfoBar.Text & " " & Math.Floor(Date.Now.Subtract(Date.Today).TotalHours) & " |"
ElseIf Strings.AvailableFeature(7) = "3" Then
If Strings.AvailableFeature(12) = "1" Then
If Date.Now.Hour < 12 Then
InfoBar.Text = InfoBar.Text & Environment.NewLine & " " & TimeOfDay.Hour & " AM |"
Else
InfoBar.Text = InfoBar.Text & Environment.NewLine & " " & TimeOfDay.Hour - 12 & " PM |"
End If
ElseIf Strings.AvailableFeature(12) = "3" Then
If Strings.AvailableFeature(23) = "1" Then
InfoBar.Text = InfoBar.Text & Environment.NewLine & " " & TimeOfDay.Hour & ":" & TimeOfDay.Minute & " |"
End If
End If
End If
End If
End If
If Strings.AvailableFeature(24) = 1 Then
InfoBar.Text = InfoBar.Text & " " & Date.Now.DayOfYear & " |"
ElseIf Strings.AvailableFeature(24) = 3 Then
If Strings.AvailableFeature(25) = 1 Then
Dim WeekOfYear As String = Date.Now.DayOfYear / 7
InfoBar.Text = InfoBar.Text & " " & WeekOfYear.Substring(0, 2) & " |"
ElseIf Strings.AvailableFeature(25) = 3 Then
If Strings.AvailableFeature(26) = 1 Then
InfoBar.Text = InfoBar.Text & " " & Date.Now.Month & " |"
ElseIf Strings.AvailableFeature(26) = 3 Then
If Strings.AvailableFeature(27) = 1 Then
InfoBar.Text = InfoBar.Text & " " & Date.Now.Year & " |"
ElseIf Strings.AvailableFeature(27) = 3 Then
If Strings.AvailableFeature(28) = 1 Then
InfoBar.Text = InfoBar.Text & " " & Date.Now.Day & "/" & Date.Now.Month & " |"
ElseIf Strings.AvailableFeature(28) = 3 Then
If Strings.AvailableFeature(29) = 1 Then
InfoBar.Text = InfoBar.Text & " " & Date.Now.Day & "/" & Date.Now.Month & "/" & Date.Now.Year & " |"
End If
End If
End If
End If
End If
End If
If Strings.OnceInfo(0) = "Yes" Then
InfoBar.Text = InfoBar.Text & " root |"
Else
InfoBar.Text = InfoBar.Text & " " & Strings.ComputerInfo(1) & " |"
End If
InfoBar.Text = InfoBar.Text & " " & CurrentInterpreter & " |"
InfoBar.Text = InfoBar.Text & " " & Strings.ComputerInfo(2) & " CP |"
InfoBar.Text = InfoBar.Text & " " & TrackPos & " |"
End Sub
Private Sub TextBox1_Click(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseDoubleClick, TextBox1.Click
End Sub
Private Sub ConsoleFontHandle_Tick(sender As Object, e As EventArgs) Handles ConsoleFontHandle.Tick
If InfoBar.Font IsNot GUISCustomizations.GUIConsoleFont Then
InfoBar.Font = GUISCustomizations.GUIConsoleFont
End If
If ToolBar.Font IsNot GUISCustomizations.GUIConsoleFont Then
ToolBar.Font = GUISCustomizations.GUIConsoleFont
End If
End Sub
End Class

View file

@ -0,0 +1,80 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class DuWM_Shifter_About
Inherits System.Windows.Forms.UserControl
'UserControl overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.lbl_Title = New System.Windows.Forms.Label()
Me.lbl_ShiftOSVersion = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'lbl_Title
'
Me.lbl_Title.AutoSize = True
Me.lbl_Title.Font = New System.Drawing.Font("Segoe UI", 24.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle))
Me.lbl_Title.Location = New System.Drawing.Point(11, 10)
Me.lbl_Title.Name = "lbl_Title"
Me.lbl_Title.Size = New System.Drawing.Size(111, 45)
Me.lbl_Title.TabIndex = 0
Me.lbl_Title.Text = "About"
'
'lbl_ShiftOSVersion
'
Me.lbl_ShiftOSVersion.AutoSize = True
Me.lbl_ShiftOSVersion.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.lbl_ShiftOSVersion.ForeColor = System.Drawing.Color.Black
Me.lbl_ShiftOSVersion.Location = New System.Drawing.Point(15, 97)
Me.lbl_ShiftOSVersion.Name = "lbl_ShiftOSVersion"
Me.lbl_ShiftOSVersion.Size = New System.Drawing.Size(123, 21)
Me.lbl_ShiftOSVersion.TabIndex = 2
Me.lbl_ShiftOSVersion.Text = "ShiftOS Version "
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.Label1.ForeColor = System.Drawing.Color.Black
Me.Label1.Location = New System.Drawing.Point(15, 69)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(244, 21)
Me.Label1.TabIndex = 2
Me.Label1.Text = "Shifter for Dual Window Manager"
'
'DuWM_Shifter_About
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.lbl_ShiftOSVersion)
Me.Controls.Add(Me.lbl_Title)
Me.Name = "DuWM_Shifter_About"
Me.Size = New System.Drawing.Size(640, 480)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lbl_Title As Label
Friend WithEvents lbl_ShiftOSVersion As Label
Friend WithEvents Label1 As Label
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,5 @@
Public Class DuWM_Shifter_About
Private Sub DuWM_Shifter_Desktop_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lbl_ShiftOSVersion.Text = lbl_ShiftOSVersion.Text & My.Resources.CurrentVersion
End Sub
End Class

View file

@ -0,0 +1,157 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class DuWM_Shifter_Console
Inherits System.Windows.Forms.UserControl
'UserControl overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lbl_Title = New System.Windows.Forms.Label()
Me.lbl_DescConsole = New System.Windows.Forms.Label()
Me.lbl_ConsoleFont = New System.Windows.Forms.Label()
Me.cmb_ConsoleFont = New System.Windows.Forms.ComboBox()
Me.lbl_ConsoleFontSize = New System.Windows.Forms.Label()
Me.cmb_ConsoleFontSize = New System.Windows.Forms.ComboBox()
Me.lbl_Example = New System.Windows.Forms.Label()
Me.txt_ConsoleExample = New System.Windows.Forms.TextBox()
Me.SuspendLayout()
'
'lbl_Title
'
Me.lbl_Title.AutoSize = True
Me.lbl_Title.Font = New System.Drawing.Font("Segoe UI", 24.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle))
Me.lbl_Title.Location = New System.Drawing.Point(11, 10)
Me.lbl_Title.Name = "lbl_Title"
Me.lbl_Title.Size = New System.Drawing.Size(136, 45)
Me.lbl_Title.TabIndex = 1
Me.lbl_Title.Text = "Console"
'
'lbl_DescConsole
'
Me.lbl_DescConsole.AutoSize = True
Me.lbl_DescConsole.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.lbl_DescConsole.ForeColor = System.Drawing.Color.Black
Me.lbl_DescConsole.Location = New System.Drawing.Point(15, 71)
Me.lbl_DescConsole.Name = "lbl_DescConsole"
Me.lbl_DescConsole.Size = New System.Drawing.Size(266, 21)
Me.lbl_DescConsole.TabIndex = 3
Me.lbl_DescConsole.Text = "Choose Console font face and its size"
'
'lbl_ConsoleFont
'
Me.lbl_ConsoleFont.AutoSize = True
Me.lbl_ConsoleFont.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.lbl_ConsoleFont.ForeColor = System.Drawing.Color.Black
Me.lbl_ConsoleFont.Location = New System.Drawing.Point(15, 106)
Me.lbl_ConsoleFont.Name = "lbl_ConsoleFont"
Me.lbl_ConsoleFont.Size = New System.Drawing.Size(135, 21)
Me.lbl_ConsoleFont.TabIndex = 4
Me.lbl_ConsoleFont.Text = "Console Font Face"
'
'cmb_ConsoleFont
'
Me.cmb_ConsoleFont.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.cmb_ConsoleFont.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.cmb_ConsoleFont.FormattingEnabled = True
Me.cmb_ConsoleFont.Items.AddRange(New Object() {"Consolas", "Courier New", "Lucida Console"})
Me.cmb_ConsoleFont.Location = New System.Drawing.Point(156, 103)
Me.cmb_ConsoleFont.Name = "cmb_ConsoleFont"
Me.cmb_ConsoleFont.Size = New System.Drawing.Size(250, 30)
Me.cmb_ConsoleFont.TabIndex = 5
'
'lbl_ConsoleFontSize
'
Me.lbl_ConsoleFontSize.AutoSize = True
Me.lbl_ConsoleFontSize.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.lbl_ConsoleFontSize.ForeColor = System.Drawing.Color.Black
Me.lbl_ConsoleFontSize.Location = New System.Drawing.Point(15, 147)
Me.lbl_ConsoleFontSize.Name = "lbl_ConsoleFontSize"
Me.lbl_ConsoleFontSize.Size = New System.Drawing.Size(133, 21)
Me.lbl_ConsoleFontSize.TabIndex = 6
Me.lbl_ConsoleFontSize.Text = "Console Font Size"
'
'cmb_ConsoleFontSize
'
Me.cmb_ConsoleFontSize.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.cmb_ConsoleFontSize.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.cmb_ConsoleFontSize.FormattingEnabled = True
Me.cmb_ConsoleFontSize.Items.AddRange(New Object() {"6", "8", "9", "10", "11", "12", "14", "16"})
Me.cmb_ConsoleFontSize.Location = New System.Drawing.Point(156, 144)
Me.cmb_ConsoleFontSize.Name = "cmb_ConsoleFontSize"
Me.cmb_ConsoleFontSize.Size = New System.Drawing.Size(70, 30)
Me.cmb_ConsoleFontSize.TabIndex = 5
'
'lbl_Example
'
Me.lbl_Example.AutoSize = True
Me.lbl_Example.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.lbl_Example.ForeColor = System.Drawing.Color.Black
Me.lbl_Example.Location = New System.Drawing.Point(15, 189)
Me.lbl_Example.Name = "lbl_Example"
Me.lbl_Example.Size = New System.Drawing.Size(75, 21)
Me.lbl_Example.TabIndex = 6
Me.lbl_Example.Text = "Example :"
'
'txt_ConsoleExample
'
Me.txt_ConsoleExample.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txt_ConsoleExample.BackColor = System.Drawing.Color.Black
Me.txt_ConsoleExample.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txt_ConsoleExample.Font = New System.Drawing.Font("Consolas", 11.0!)
Me.txt_ConsoleExample.ForeColor = System.Drawing.Color.White
Me.txt_ConsoleExample.Location = New System.Drawing.Point(19, 218)
Me.txt_ConsoleExample.Multiline = True
Me.txt_ConsoleExample.Name = "txt_ConsoleExample"
Me.txt_ConsoleExample.ReadOnly = True
Me.txt_ConsoleExample.Size = New System.Drawing.Size(600, 243)
Me.txt_ConsoleExample.TabIndex = 7
Me.txt_ConsoleExample.Text = "devx@shiftos $> ver" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "ShiftOS 11 build 11.0.9"
'
'DuWM_Shifter_Console
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.Controls.Add(Me.txt_ConsoleExample)
Me.Controls.Add(Me.lbl_Example)
Me.Controls.Add(Me.lbl_ConsoleFontSize)
Me.Controls.Add(Me.cmb_ConsoleFontSize)
Me.Controls.Add(Me.cmb_ConsoleFont)
Me.Controls.Add(Me.lbl_ConsoleFont)
Me.Controls.Add(Me.lbl_DescConsole)
Me.Controls.Add(Me.lbl_Title)
Me.ForeColor = System.Drawing.Color.Black
Me.Name = "DuWM_Shifter_Console"
Me.Size = New System.Drawing.Size(640, 480)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lbl_Title As Label
Friend WithEvents lbl_DescConsole As Label
Friend WithEvents lbl_ConsoleFont As Label
Friend WithEvents cmb_ConsoleFont As ComboBox
Friend WithEvents lbl_ConsoleFontSize As Label
Friend WithEvents cmb_ConsoleFontSize As ComboBox
Friend WithEvents lbl_Example As Label
Friend WithEvents txt_ConsoleExample As TextBox
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,48 @@
Public Class DuWM_Shifter_Console
Private Sub DuWM_Shifter_Console_Load(sender As Object, e As EventArgs) Handles MyBase.Load
txt_ConsoleExample.Font = Console.TextBox1.Font
cmb_ConsoleFont.Text = GUISCustomizations.GUIConsoleFont.Name
cmb_ConsoleFontSize.Text = GUISCustomizations.GUIConsoleFont.Size
End Sub
Private Sub cmb_ConsoleFont_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmb_ConsoleFont.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(cmb_ConsoleFont.GetItemText(cmb_ConsoleFont.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub cmb_ConsoleFontSize_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmb_ConsoleFontSize.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(cmb_ConsoleFontSize.GetItemText(cmb_ConsoleFontSize.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub cmb_ConsoleFont_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_ConsoleFont.SelectedIndexChanged
Select Case cmb_ConsoleFont.SelectedItem
Case "Consolas"
txt_ConsoleExample.Font = New Font("Consolas", txt_ConsoleExample.Font.Size)
Case "Courier New"
txt_ConsoleExample.Font = New Font("Courier New", txt_ConsoleExample.Font.Size)
Case "Lucida Console"
txt_ConsoleExample.Font = New Font("Lucida Console", txt_ConsoleExample.Font.Size)
End Select
DuWM_Shifter_Configs.ConsoleFont = txt_ConsoleExample.Font
End Sub
Private Sub cmb_ConsoleFontSize_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_ConsoleFontSize.SelectedIndexChanged
txt_ConsoleExample.Font = New Font(txt_ConsoleExample.Font.Name, cmb_ConsoleFontSize.SelectedItem)
DuWM_Shifter_Configs.ConsoleFont = txt_ConsoleExample.Font
End Sub
End Class

View file

@ -0,0 +1,80 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class DuWM_Shifter_Desktop
Inherits System.Windows.Forms.UserControl
'UserControl overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lbl_Title = New System.Windows.Forms.Label()
Me.cmb_DesktopColor = New System.Windows.Forms.ComboBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'lbl_Title
'
Me.lbl_Title.AutoSize = True
Me.lbl_Title.Font = New System.Drawing.Font("Segoe UI", 24.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle))
Me.lbl_Title.Location = New System.Drawing.Point(11, 10)
Me.lbl_Title.Name = "lbl_Title"
Me.lbl_Title.Size = New System.Drawing.Size(142, 45)
Me.lbl_Title.TabIndex = 0
Me.lbl_Title.Text = "Desktop"
'
'cmb_DesktopColor
'
Me.cmb_DesktopColor.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.cmb_DesktopColor.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.cmb_DesktopColor.FormattingEnabled = True
Me.cmb_DesktopColor.Items.AddRange(New Object() {"Black", "Dark Gray", "Light Gray", "Red", "Dark Red", "Green", "Light Green", "Blue", "Dark Blue", "Yellow", "Dark Yellow", "Purple", "Light Purple", "Aqua", "Light Aqua", "White"})
Me.cmb_DesktopColor.Location = New System.Drawing.Point(156, 91)
Me.cmb_DesktopColor.Name = "cmb_DesktopColor"
Me.cmb_DesktopColor.Size = New System.Drawing.Size(121, 30)
Me.cmb_DesktopColor.TabIndex = 1
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.Label1.ForeColor = System.Drawing.Color.Black
Me.Label1.Location = New System.Drawing.Point(15, 94)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(135, 21)
Me.Label1.TabIndex = 2
Me.Label1.Text = "Background Color"
'
'DuWM_Shifter_Desktop
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.cmb_DesktopColor)
Me.Controls.Add(Me.lbl_Title)
Me.Name = "DuWM_Shifter_Desktop"
Me.Size = New System.Drawing.Size(640, 480)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lbl_Title As Label
Friend WithEvents cmb_DesktopColor As ComboBox
Friend WithEvents Label1 As Label
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,84 @@
Public Class DuWM_Shifter_Desktop
Private Sub DuWM_Shifter_Desktop_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckAvailability()
End Sub
Private Sub cmb_DesktopColor_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmb_DesktopColor.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(cmb_DesktopColor.GetItemText(cmb_DesktopColor.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub CheckAvailability()
If Strings.AvailableFeature(40) = 1 Then
cmb_DesktopColor.Items.Remove("Yellow")
cmb_DesktopColor.Items.Remove("Dark Yellow")
cmb_DesktopColor.Items.Remove("Purple")
cmb_DesktopColor.Items.Remove("Light Purple")
cmb_DesktopColor.Items.Remove("Aqua")
cmb_DesktopColor.Items.Remove("Light Aqua")
ElseIf Strings.AvailableFeature(40) = 3 Then
If Strings.AvailableFeature(41) = 1 Then
'NOTHING
Else
'NOTHING
End If
Else
cmb_DesktopColor.Items.Remove("Red")
cmb_DesktopColor.Items.Remove("Dark Red")
cmb_DesktopColor.Items.Remove("Green")
cmb_DesktopColor.Items.Remove("Light Green")
cmb_DesktopColor.Items.Remove("Blue")
cmb_DesktopColor.Items.Remove("Dark Blue")
cmb_DesktopColor.Items.Remove("Yellow")
cmb_DesktopColor.Items.Remove("Dark Yellow")
cmb_DesktopColor.Items.Remove("Purple")
cmb_DesktopColor.Items.Remove("Light Purple")
cmb_DesktopColor.Items.Remove("Aqua")
cmb_DesktopColor.Items.Remove("Light Aqua")
End If
End Sub
Private Sub cmb_DesktopColor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_DesktopColor.SelectedIndexChanged
Select Case cmb_DesktopColor.SelectedItem
Case "Black"
DuWM_Shifter_Configs.DesktopBackColor = Color.Black
Case "White"
DuWM_Shifter_Configs.DesktopBackColor = Color.White
Case "Light Gray"
DuWM_Shifter_Configs.DesktopBackColor = Color.Silver
Case "Dark Gray"
DuWM_Shifter_Configs.DesktopBackColor = Color.Gray
Case "Red"
DuWM_Shifter_Configs.DesktopBackColor = Color.Red
Case "Dark Red"
DuWM_Shifter_Configs.DesktopBackColor = Color.Maroon
Case "Green"
DuWM_Shifter_Configs.DesktopBackColor = Color.Green
Case "Light Green"
DuWM_Shifter_Configs.DesktopBackColor = Color.Lime
Case "Blue"
DuWM_Shifter_Configs.DesktopBackColor = Color.Navy
Case "Dark Blue"
DuWM_Shifter_Configs.DesktopBackColor = Color.Blue
Case "Yellow"
DuWM_Shifter_Configs.DesktopBackColor = Color.Yellow
Case "Dark Yellow"
DuWM_Shifter_Configs.DesktopBackColor = Color.Brown
Case "Purple"
DuWM_Shifter_Configs.DesktopBackColor = Color.Magenta
Case "Light Purple"
DuWM_Shifter_Configs.DesktopBackColor = Color.Fuchsia
Case "Aqua"
DuWM_Shifter_Configs.DesktopBackColor = Color.Aqua
Case "Light Aqua"
DuWM_Shifter_Configs.DesktopBackColor = Color.Cyan
End Select
End Sub
End Class

View file

@ -0,0 +1,164 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class DuWM_Shifter
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.pnl_LeftPane = New System.Windows.Forms.Panel()
Me.lst_Features = New System.Windows.Forms.ListBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.pnl_Options = New System.Windows.Forms.Panel()
Me.Button3 = New System.Windows.Forms.Button()
Me.btn_Close = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.pnl_Content = New System.Windows.Forms.Panel()
Me.pnl_LeftPane.SuspendLayout()
Me.pnl_Options.SuspendLayout()
Me.SuspendLayout()
'
'pnl_LeftPane
'
Me.pnl_LeftPane.Controls.Add(Me.lst_Features)
Me.pnl_LeftPane.Controls.Add(Me.Label1)
Me.pnl_LeftPane.Dock = System.Windows.Forms.DockStyle.Left
Me.pnl_LeftPane.Location = New System.Drawing.Point(0, 0)
Me.pnl_LeftPane.Name = "pnl_LeftPane"
Me.pnl_LeftPane.Size = New System.Drawing.Size(200, 450)
Me.pnl_LeftPane.TabIndex = 0
'
'lst_Features
'
Me.lst_Features.BackColor = System.Drawing.Color.Silver
Me.lst_Features.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.lst_Features.Dock = System.Windows.Forms.DockStyle.Bottom
Me.lst_Features.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.lst_Features.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.lst_Features.FormattingEnabled = True
Me.lst_Features.ItemHeight = 21
Me.lst_Features.Items.AddRange(New Object() {"Console", "Desktop", "About"})
Me.lst_Features.Location = New System.Drawing.Point(0, 51)
Me.lst_Features.Name = "lst_Features"
Me.lst_Features.Size = New System.Drawing.Size(200, 399)
Me.lst_Features.TabIndex = 1
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 24.0!, System.Drawing.FontStyle.Bold)
Me.Label1.Location = New System.Drawing.Point(12, 3)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(121, 45)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Shifter"
'
'pnl_Options
'
Me.pnl_Options.BackColor = System.Drawing.Color.Black
Me.pnl_Options.Controls.Add(Me.Button3)
Me.pnl_Options.Controls.Add(Me.btn_Close)
Me.pnl_Options.Controls.Add(Me.Button1)
Me.pnl_Options.Dock = System.Windows.Forms.DockStyle.Bottom
Me.pnl_Options.Location = New System.Drawing.Point(200, 405)
Me.pnl_Options.Name = "pnl_Options"
Me.pnl_Options.Size = New System.Drawing.Size(600, 45)
Me.pnl_Options.TabIndex = 1
'
'Button3
'
Me.Button3.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.Button3.ForeColor = System.Drawing.Color.White
Me.Button3.Location = New System.Drawing.Point(351, 10)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(75, 23)
Me.Button3.TabIndex = 2
Me.Button3.Text = "OK"
Me.Button3.UseVisualStyleBackColor = True
'
'btn_Close
'
Me.btn_Close.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btn_Close.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Close.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_Close.ForeColor = System.Drawing.Color.White
Me.btn_Close.Location = New System.Drawing.Point(432, 10)
Me.btn_Close.Name = "btn_Close"
Me.btn_Close.Size = New System.Drawing.Size(75, 23)
Me.btn_Close.TabIndex = 1
Me.btn_Close.Text = "Cancel"
Me.btn_Close.UseVisualStyleBackColor = True
'
'Button1
'
Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.Button1.ForeColor = System.Drawing.Color.White
Me.Button1.Location = New System.Drawing.Point(513, 10)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Apply"
Me.Button1.UseVisualStyleBackColor = True
'
'pnl_Content
'
Me.pnl_Content.AllowDrop = True
Me.pnl_Content.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnl_Content.Location = New System.Drawing.Point(200, 0)
Me.pnl_Content.Name = "pnl_Content"
Me.pnl_Content.Size = New System.Drawing.Size(600, 405)
Me.pnl_Content.TabIndex = 2
'
'DuWM_Shifter
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.pnl_Content)
Me.Controls.Add(Me.pnl_Options)
Me.Controls.Add(Me.pnl_LeftPane)
Me.ForeColor = System.Drawing.Color.Black
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "DuWM_Shifter"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Shifter"
Me.TopMost = True
Me.pnl_LeftPane.ResumeLayout(False)
Me.pnl_LeftPane.PerformLayout()
Me.pnl_Options.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents pnl_LeftPane As Panel
Friend WithEvents Label1 As Label
Friend WithEvents lst_Features As ListBox
Friend WithEvents pnl_Options As Panel
Friend WithEvents Button3 As Button
Friend WithEvents btn_Close As Button
Friend WithEvents Button1 As Button
Friend WithEvents pnl_Content As Panel
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,87 @@
Public Class DuWM_Shifter
Private PrevHeight As Integer = Height
Private PrevWidth As Integer = Width
Private FeatureGap As Integer = 450 - 400
Private ChildFeature As String
Private Sub Shifter_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckAvailability()
End Sub
Private Sub lst_Features_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles lst_Features.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(lst_Features.GetItemText(lst_Features.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub btn_Close_Click(sender As Object, e As EventArgs) Handles btn_Close.Click
Close()
End Sub
Private Sub DuWM_Shifter_Resize(sender As Object, e As EventArgs) Handles MyBase.Resize
Dim WidthRatio As Double = (Width / PrevWidth)
Dim HeightRatio As Double = (Height / PrevHeight)
lst_Features.Height = Height - FeatureGap
PrevHeight = Height
PrevWidth = Width
End Sub
Private Sub lst_Features_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lst_Features.SelectedIndexChanged
If lst_Features.SelectedItem = ChildFeature Then
Else
Select Case lst_Features.SelectedItem
Case "Console"
Dim Shifter_Console As New DuWM_Shifter_Console
Shifter_Console.Size = pnl_Content.Size
ChildFeature = "Console"
pnl_Content.Controls.Clear()
pnl_Content.Controls.Add(Shifter_Console)
Case "Desktop"
Dim Shifter_Desktop As New DuWM_Shifter_Desktop
Shifter_Desktop.Size = pnl_Content.Size
ChildFeature = "Desktop"
pnl_Content.Controls.Clear()
pnl_Content.Controls.Add(Shifter_Desktop)
Case "About"
ChildFeature = "About"
Dim Shifter_About As New DuWM_Shifter_About
Shifter_About.Size = pnl_Content.Size
pnl_Content.Controls.Clear()
pnl_Content.Controls.Add(Shifter_About)
End Select
End If
End Sub
Private Sub btn_Apply_Click(sender As Object, e As EventArgs) Handles Button1.Click
Apply()
End Sub
Private Sub Apply()
Select Case lst_Features.SelectedItem
Case "Console"
Console.TextBox1.Font = DuWM_Shifter_Configs.ConsoleFont
GUISCustomizations.GUIConsoleFont = Console.TextBox1.Font
Case "Desktop"
Desktop.BackColor = DuWM_Shifter_Configs.DesktopBackColor
GUISCustomizations.DesktopColor = Desktop.BackColor
End Select
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Apply()
Close()
End Sub
Private Sub CheckAvailability()
If Strings.AvailableFeature(53) = 0 Then
lst_Features.Items.Remove("Console")
End If
End Sub
End Class

View file

@ -0,0 +1,4 @@
Public Class DuWM_Shifter_Configs
Public Shared DesktopBackColor As Color
Public Shared ConsoleFont As Font
End Class

View file

@ -0,0 +1,315 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Uni_Calculator
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Button4 = New System.Windows.Forms.Button()
Me.Button5 = New System.Windows.Forms.Button()
Me.Button6 = New System.Windows.Forms.Button()
Me.Button7 = New System.Windows.Forms.Button()
Me.Button8 = New System.Windows.Forms.Button()
Me.Button9 = New System.Windows.Forms.Button()
Me.Button10 = New System.Windows.Forms.Button()
Me.Button11 = New System.Windows.Forms.Button()
Me.Button12 = New System.Windows.Forms.Button()
Me.Button13 = New System.Windows.Forms.Button()
Me.Button14 = New System.Windows.Forms.Button()
Me.Button15 = New System.Windows.Forms.Button()
Me.Button16 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button1.Location = New System.Drawing.Point(12, 122)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(150, 80)
Me.Button1.TabIndex = 0
Me.Button1.Text = "1"
Me.Button1.UseVisualStyleBackColor = True
'
'Label1
'
Me.Label1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Label1.Font = New System.Drawing.Font("Tahoma", 20.0!, System.Drawing.FontStyle.Italic)
Me.Label1.Location = New System.Drawing.Point(12, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(618, 77)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Fuck you, Calculator!"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'Button2
'
Me.Button2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button2.Location = New System.Drawing.Point(168, 122)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(150, 80)
Me.Button2.TabIndex = 0
Me.Button2.Text = "2"
Me.Button2.UseVisualStyleBackColor = True
'
'Button3
'
Me.Button3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button3.Location = New System.Drawing.Point(324, 122)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(150, 80)
Me.Button3.TabIndex = 0
Me.Button3.Text = "3"
Me.Button3.UseVisualStyleBackColor = True
'
'Button4
'
Me.Button4.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button4.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button4.Location = New System.Drawing.Point(480, 122)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(150, 80)
Me.Button4.TabIndex = 0
Me.Button4.Text = "+"
Me.Button4.UseVisualStyleBackColor = True
'
'Button5
'
Me.Button5.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button5.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button5.Location = New System.Drawing.Point(12, 208)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(150, 80)
Me.Button5.TabIndex = 0
Me.Button5.Text = "4"
Me.Button5.UseVisualStyleBackColor = True
'
'Button6
'
Me.Button6.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button6.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button6.Location = New System.Drawing.Point(168, 208)
Me.Button6.Name = "Button6"
Me.Button6.Size = New System.Drawing.Size(150, 80)
Me.Button6.TabIndex = 0
Me.Button6.Text = "5"
Me.Button6.UseVisualStyleBackColor = True
'
'Button7
'
Me.Button7.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button7.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button7.Location = New System.Drawing.Point(324, 208)
Me.Button7.Name = "Button7"
Me.Button7.Size = New System.Drawing.Size(150, 80)
Me.Button7.TabIndex = 0
Me.Button7.Text = "6"
Me.Button7.UseVisualStyleBackColor = True
'
'Button8
'
Me.Button8.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button8.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button8.Location = New System.Drawing.Point(480, 208)
Me.Button8.Name = "Button8"
Me.Button8.Size = New System.Drawing.Size(150, 80)
Me.Button8.TabIndex = 0
Me.Button8.Text = "-"
Me.Button8.UseVisualStyleBackColor = True
'
'Button9
'
Me.Button9.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button9.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button9.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button9.Location = New System.Drawing.Point(12, 294)
Me.Button9.Name = "Button9"
Me.Button9.Size = New System.Drawing.Size(150, 80)
Me.Button9.TabIndex = 0
Me.Button9.Text = "7"
Me.Button9.UseVisualStyleBackColor = True
'
'Button10
'
Me.Button10.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button10.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button10.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button10.Location = New System.Drawing.Point(12, 380)
Me.Button10.Name = "Button10"
Me.Button10.Size = New System.Drawing.Size(150, 80)
Me.Button10.TabIndex = 0
Me.Button10.Text = "C"
Me.Button10.UseVisualStyleBackColor = True
'
'Button11
'
Me.Button11.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button11.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button11.Location = New System.Drawing.Point(168, 294)
Me.Button11.Name = "Button11"
Me.Button11.Size = New System.Drawing.Size(150, 80)
Me.Button11.TabIndex = 0
Me.Button11.Text = "8"
Me.Button11.UseVisualStyleBackColor = True
'
'Button12
'
Me.Button12.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button12.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button12.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button12.Location = New System.Drawing.Point(168, 380)
Me.Button12.Name = "Button12"
Me.Button12.Size = New System.Drawing.Size(150, 80)
Me.Button12.TabIndex = 0
Me.Button12.Text = "0"
Me.Button12.UseVisualStyleBackColor = True
'
'Button13
'
Me.Button13.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button13.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button13.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button13.Location = New System.Drawing.Point(324, 294)
Me.Button13.Name = "Button13"
Me.Button13.Size = New System.Drawing.Size(150, 80)
Me.Button13.TabIndex = 0
Me.Button13.Text = "9"
Me.Button13.UseVisualStyleBackColor = True
'
'Button14
'
Me.Button14.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button14.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button14.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button14.Location = New System.Drawing.Point(324, 380)
Me.Button14.Name = "Button14"
Me.Button14.Size = New System.Drawing.Size(150, 80)
Me.Button14.TabIndex = 0
Me.Button14.Text = "="
Me.Button14.UseVisualStyleBackColor = True
'
'Button15
'
Me.Button15.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button15.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button15.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button15.Location = New System.Drawing.Point(480, 294)
Me.Button15.Name = "Button15"
Me.Button15.Size = New System.Drawing.Size(150, 80)
Me.Button15.TabIndex = 0
Me.Button15.Text = "*"
Me.Button15.UseVisualStyleBackColor = True
'
'Button16
'
Me.Button16.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button16.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button16.Font = New System.Drawing.Font("Segoe UI", 15.0!)
Me.Button16.Location = New System.Drawing.Point(480, 380)
Me.Button16.Name = "Button16"
Me.Button16.Size = New System.Drawing.Size(150, 80)
Me.Button16.TabIndex = 0
Me.Button16.Text = "/"
Me.Button16.UseVisualStyleBackColor = True
'
'Uni_Calculator
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(640, 480)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Button16)
Me.Controls.Add(Me.Button8)
Me.Controls.Add(Me.Button15)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.Button14)
Me.Controls.Add(Me.Button7)
Me.Controls.Add(Me.Button13)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button12)
Me.Controls.Add(Me.Button6)
Me.Controls.Add(Me.Button11)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button10)
Me.Controls.Add(Me.Button5)
Me.Controls.Add(Me.Button9)
Me.Controls.Add(Me.Button1)
Me.ForeColor = System.Drawing.Color.Black
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "Uni_Calculator"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Uni_Calculator"
Me.ResumeLayout(False)
End Sub
Friend WithEvents Button1 As Button
Friend WithEvents Label1 As Label
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents Button4 As Button
Friend WithEvents Button5 As Button
Friend WithEvents Button6 As Button
Friend WithEvents Button7 As Button
Friend WithEvents Button8 As Button
Friend WithEvents Button9 As Button
Friend WithEvents Button10 As Button
Friend WithEvents Button11 As Button
Friend WithEvents Button12 As Button
Friend WithEvents Button13 As Button
Friend WithEvents Button14 As Button
Friend WithEvents Button15 As Button
Friend WithEvents Button16 As Button
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,3 @@
Public Class Uni_Calculator
End Class

View file

@ -0,0 +1,167 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Class FileSkimmerFileIcons
Private Shared resourceMan As Global.System.Resources.ResourceManager
Private Shared resourceCulture As Global.System.Globalization.CultureInfo
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Sub New()
MyBase.New
End Sub
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ShiftOS_TheRevival.FileSkimmerFileIcons", GetType(FileSkimmerFileIcons).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Shared Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_exe() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_exe", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_folder() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_folder", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_picture() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_picture", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_sfp() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_sfp", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_textfile() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_textfile", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_unknown() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_unknown", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_up() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_up", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_url() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_url", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_video() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_video", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_zip() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_zip", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Class
End Namespace

View file

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ico_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_exe.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_folder.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_picture" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_picture.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_sfp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_sfp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_textfile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_textfile.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_unknown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_unknown.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_up.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_url" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_url.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_video" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_video.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_zip" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_zip.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View file

@ -0,0 +1,137 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Class FileSkimmerFunctionIcons
Private Shared resourceMan As Global.System.Resources.ResourceManager
Private Shared resourceCulture As Global.System.Globalization.CultureInfo
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Sub New()
MyBase.New
End Sub
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ShiftOS_TheRevival.FileSkimmerFunctionIcons", GetType(FileSkimmerFunctionIcons).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Shared Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_refresh() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_refresh", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property ico_up1() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ico_up1", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property largeico_compress() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("largeico_compress", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property largeico_deletefile() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("largeico_deletefile", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property largeico_rename() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("largeico_rename", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property largeico_uncompress() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("largeico_uncompress", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend Shared ReadOnly Property largeico_unknown() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("largeico_unknown", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Class
End Namespace

View file

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ico_refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\..\..\Resources\ico_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ico_up1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\..\..\Resources\ico_up1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="largeico_compress" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\..\..\Resources\largeico_compress.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="largeico_deletefile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\..\..\Resources\ico_deletefile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="largeico_rename" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\..\..\Resources\largeico_rename.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="largeico_uncompress" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\..\..\..\..\Resources\largeico_uncompress.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="largeico_unknown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>ico_unknown.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

(image error) Size: 288 B

Binary file not shown.

After

(image error) Size: 208 B

Binary file not shown.

After

(image error) Size: 345 B

Binary file not shown.

After

(image error) Size: 272 B

Binary file not shown.

After

(image error) Size: 429 B

Binary file not shown.

After

(image error) Size: 594 B

Binary file not shown.

After

(image error) Size: 295 B

Binary file not shown.

After

(image error) Size: 471 B

Binary file not shown.

After

(image error) Size: 251 B

Binary file not shown.

After

(image error) Size: 7.1 KiB

View file

@ -0,0 +1,486 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Uni_FileSkimmer
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Uni_FileSkimmer))
Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("test", 0)
Me.msn_Options = New System.Windows.Forms.MenuStrip()
Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.CompressToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DeleteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.CloseToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.OptionsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.JobBarToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.PropertyPaneToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.pnl_JobBar = New System.Windows.Forms.Panel()
Me.cmb_Layout = New System.Windows.Forms.ComboBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.btn_CopyPath = New System.Windows.Forms.Button()
Me.btn_Rename = New System.Windows.Forms.Button()
Me.btn_Delete = New System.Windows.Forms.Button()
Me.btn_Compress = New System.Windows.Forms.Button()
Me.btn_NewFolder = New System.Windows.Forms.Button()
Me.pnl_Properties = New System.Windows.Forms.Panel()
Me.pic_Icon = New System.Windows.Forms.PictureBox()
Me.lbl_filesize = New System.Windows.Forms.Label()
Me.lbl_filetype = New System.Windows.Forms.Label()
Me.lbl_filename = New System.Windows.Forms.Label()
Me.lbl_Properties = New System.Windows.Forms.Label()
Me.iml_icons = New System.Windows.Forms.ImageList(Me.components)
Me.pnl_AddressBar = New System.Windows.Forms.Panel()
Me.btn_Refresh = New System.Windows.Forms.Button()
Me.btn_Up = New System.Windows.Forms.Button()
Me.txt_AddressBar = New System.Windows.Forms.TextBox()
Me.lbl_Address = New System.Windows.Forms.Label()
Me.lsv_Content = New System.Windows.Forms.ListView()
Me.iml_smallicons = New System.Windows.Forms.ImageList(Me.components)
Me.msn_Options.SuspendLayout()
Me.pnl_JobBar.SuspendLayout()
Me.pnl_Properties.SuspendLayout()
CType(Me.pic_Icon, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnl_AddressBar.SuspendLayout()
Me.SuspendLayout()
'
'msn_Options
'
Me.msn_Options.BackColor = System.Drawing.Color.White
Me.msn_Options.Font = New System.Drawing.Font("Segoe UI", 10.0!)
Me.msn_Options.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.OptionsToolStripMenuItem, Me.AboutToolStripMenuItem})
Me.msn_Options.Location = New System.Drawing.Point(0, 0)
Me.msn_Options.Name = "msn_Options"
Me.msn_Options.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
Me.msn_Options.Size = New System.Drawing.Size(800, 27)
Me.msn_Options.TabIndex = 0
Me.msn_Options.Text = "mns_Options"
'
'FileToolStripMenuItem
'
Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.CompressToolStripMenuItem, Me.DeleteToolStripMenuItem, Me.ToolStripSeparator1, Me.CloseToolStripMenuItem})
Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem"
Me.FileToolStripMenuItem.Size = New System.Drawing.Size(41, 23)
Me.FileToolStripMenuItem.Text = "File"
'
'CompressToolStripMenuItem
'
Me.CompressToolStripMenuItem.Name = "CompressToolStripMenuItem"
Me.CompressToolStripMenuItem.Size = New System.Drawing.Size(180, 24)
Me.CompressToolStripMenuItem.Text = "Compress"
'
'DeleteToolStripMenuItem
'
Me.DeleteToolStripMenuItem.Name = "DeleteToolStripMenuItem"
Me.DeleteToolStripMenuItem.Size = New System.Drawing.Size(180, 24)
Me.DeleteToolStripMenuItem.Text = "Delete"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(177, 6)
'
'CloseToolStripMenuItem
'
Me.CloseToolStripMenuItem.Name = "CloseToolStripMenuItem"
Me.CloseToolStripMenuItem.Size = New System.Drawing.Size(180, 24)
Me.CloseToolStripMenuItem.Text = "Close"
'
'OptionsToolStripMenuItem
'
Me.OptionsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.JobBarToolStripMenuItem, Me.PropertyPaneToolStripMenuItem})
Me.OptionsToolStripMenuItem.Name = "OptionsToolStripMenuItem"
Me.OptionsToolStripMenuItem.Size = New System.Drawing.Size(70, 23)
Me.OptionsToolStripMenuItem.Text = "Options"
'
'JobBarToolStripMenuItem
'
Me.JobBarToolStripMenuItem.CheckOnClick = True
Me.JobBarToolStripMenuItem.Name = "JobBarToolStripMenuItem"
Me.JobBarToolStripMenuItem.Size = New System.Drawing.Size(180, 24)
Me.JobBarToolStripMenuItem.Text = "JobBar"
'
'PropertyPaneToolStripMenuItem
'
Me.PropertyPaneToolStripMenuItem.CheckOnClick = True
Me.PropertyPaneToolStripMenuItem.Name = "PropertyPaneToolStripMenuItem"
Me.PropertyPaneToolStripMenuItem.Size = New System.Drawing.Size(180, 24)
Me.PropertyPaneToolStripMenuItem.Text = "Property Pane"
'
'AboutToolStripMenuItem
'
Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(59, 23)
Me.AboutToolStripMenuItem.Text = "About"
'
'pnl_JobBar
'
Me.pnl_JobBar.BackColor = System.Drawing.Color.Silver
Me.pnl_JobBar.Controls.Add(Me.cmb_Layout)
Me.pnl_JobBar.Controls.Add(Me.Label1)
Me.pnl_JobBar.Controls.Add(Me.Label2)
Me.pnl_JobBar.Controls.Add(Me.btn_CopyPath)
Me.pnl_JobBar.Controls.Add(Me.btn_Rename)
Me.pnl_JobBar.Controls.Add(Me.btn_Delete)
Me.pnl_JobBar.Controls.Add(Me.btn_Compress)
Me.pnl_JobBar.Controls.Add(Me.btn_NewFolder)
Me.pnl_JobBar.Dock = System.Windows.Forms.DockStyle.Top
Me.pnl_JobBar.Location = New System.Drawing.Point(0, 27)
Me.pnl_JobBar.Name = "pnl_JobBar"
Me.pnl_JobBar.Size = New System.Drawing.Size(800, 70)
Me.pnl_JobBar.TabIndex = 1
'
'cmb_Layout
'
Me.cmb_Layout.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.cmb_Layout.Font = New System.Drawing.Font("Segoe UI", 10.0!)
Me.cmb_Layout.FormattingEnabled = True
Me.cmb_Layout.Items.AddRange(New Object() {"Large Icons", "Small Icons", "List"})
Me.cmb_Layout.Location = New System.Drawing.Point(369, 36)
Me.cmb_Layout.Name = "cmb_Layout"
Me.cmb_Layout.Size = New System.Drawing.Size(121, 26)
Me.cmb_Layout.TabIndex = 1
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 10.0!)
Me.Label1.Location = New System.Drawing.Point(365, 10)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(51, 19)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Layout"
'
'Label2
'
Me.Label2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Tahoma", 30.0!)
Me.Label2.ForeColor = System.Drawing.Color.Gray
Me.Label2.Location = New System.Drawing.Point(567, 35)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(247, 48)
Me.Label2.TabIndex = 2
Me.Label2.Text = "File Skimmer"
'
'btn_CopyPath
'
Me.btn_CopyPath.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_CopyPath.Font = New System.Drawing.Font("Segoe UI", 7.0!)
Me.btn_CopyPath.Image = Global.ShiftOS_TheRevival.My.Resources.Resources.ico_folder
Me.btn_CopyPath.Location = New System.Drawing.Point(213, 0)
Me.btn_CopyPath.Name = "btn_CopyPath"
Me.btn_CopyPath.Size = New System.Drawing.Size(72, 70)
Me.btn_CopyPath.TabIndex = 0
Me.btn_CopyPath.Text = "Copy path"
Me.btn_CopyPath.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
Me.btn_CopyPath.UseVisualStyleBackColor = True
'
'btn_Rename
'
Me.btn_Rename.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Rename.Font = New System.Drawing.Font("Segoe UI", 7.0!)
Me.btn_Rename.Image = Global.ShiftOS_TheRevival.My.Resources.Resources.ico_folder
Me.btn_Rename.Location = New System.Drawing.Point(142, 0)
Me.btn_Rename.Name = "btn_Rename"
Me.btn_Rename.Size = New System.Drawing.Size(72, 70)
Me.btn_Rename.TabIndex = 0
Me.btn_Rename.Text = "Rename"
Me.btn_Rename.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
Me.btn_Rename.UseVisualStyleBackColor = True
'
'btn_Delete
'
Me.btn_Delete.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Delete.Font = New System.Drawing.Font("Segoe UI", 7.0!)
Me.btn_Delete.Image = Global.ShiftOS_TheRevival.My.Resources.Resources.ico_folder
Me.btn_Delete.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btn_Delete.Location = New System.Drawing.Point(71, 0)
Me.btn_Delete.Name = "btn_Delete"
Me.btn_Delete.Size = New System.Drawing.Size(72, 70)
Me.btn_Delete.TabIndex = 0
Me.btn_Delete.Text = "Delete"
Me.btn_Delete.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btn_Delete.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
Me.btn_Delete.UseVisualStyleBackColor = True
'
'btn_Compress
'
Me.btn_Compress.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Compress.Font = New System.Drawing.Font("Segoe UI", 7.0!)
Me.btn_Compress.Image = Global.ShiftOS_TheRevival.My.Resources.Resources.ico_folder
Me.btn_Compress.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btn_Compress.Location = New System.Drawing.Point(284, 0)
Me.btn_Compress.Name = "btn_Compress"
Me.btn_Compress.Size = New System.Drawing.Size(72, 70)
Me.btn_Compress.TabIndex = 0
Me.btn_Compress.Text = "Compress"
Me.btn_Compress.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btn_Compress.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
Me.btn_Compress.UseVisualStyleBackColor = True
'
'btn_NewFolder
'
Me.btn_NewFolder.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_NewFolder.Font = New System.Drawing.Font("Segoe UI", 7.0!)
Me.btn_NewFolder.Image = Global.ShiftOS_TheRevival.My.Resources.Resources.ico_folder
Me.btn_NewFolder.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btn_NewFolder.Location = New System.Drawing.Point(0, 0)
Me.btn_NewFolder.Name = "btn_NewFolder"
Me.btn_NewFolder.Size = New System.Drawing.Size(72, 70)
Me.btn_NewFolder.TabIndex = 0
Me.btn_NewFolder.Text = "New Folder"
Me.btn_NewFolder.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btn_NewFolder.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
Me.btn_NewFolder.UseVisualStyleBackColor = True
'
'pnl_Properties
'
Me.pnl_Properties.BackColor = System.Drawing.Color.Gray
Me.pnl_Properties.Controls.Add(Me.pic_Icon)
Me.pnl_Properties.Controls.Add(Me.lbl_filesize)
Me.pnl_Properties.Controls.Add(Me.lbl_filetype)
Me.pnl_Properties.Controls.Add(Me.lbl_filename)
Me.pnl_Properties.Controls.Add(Me.lbl_Properties)
Me.pnl_Properties.Dock = System.Windows.Forms.DockStyle.Right
Me.pnl_Properties.Location = New System.Drawing.Point(600, 133)
Me.pnl_Properties.Name = "pnl_Properties"
Me.pnl_Properties.Size = New System.Drawing.Size(200, 317)
Me.pnl_Properties.TabIndex = 2
Me.pnl_Properties.Visible = False
'
'pic_Icon
'
Me.pic_Icon.Location = New System.Drawing.Point(10, 42)
Me.pic_Icon.Name = "pic_Icon"
Me.pic_Icon.Size = New System.Drawing.Size(64, 64)
Me.pic_Icon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.pic_Icon.TabIndex = 2
Me.pic_Icon.TabStop = False
'
'lbl_filesize
'
Me.lbl_filesize.AutoSize = True
Me.lbl_filesize.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.lbl_filesize.Location = New System.Drawing.Point(8, 181)
Me.lbl_filesize.Name = "lbl_filesize"
Me.lbl_filesize.Size = New System.Drawing.Size(26, 13)
Me.lbl_filesize.TabIndex = 1
Me.lbl_filesize.Text = "size"
'
'lbl_filetype
'
Me.lbl_filetype.AutoSize = True
Me.lbl_filetype.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.lbl_filetype.Location = New System.Drawing.Point(9, 165)
Me.lbl_filetype.Name = "lbl_filetype"
Me.lbl_filetype.Size = New System.Drawing.Size(45, 13)
Me.lbl_filetype.TabIndex = 1
Me.lbl_filetype.Text = "filetype"
'
'lbl_filename
'
Me.lbl_filename.Font = New System.Drawing.Font("Segoe UI", 11.0!)
Me.lbl_filename.Location = New System.Drawing.Point(7, 117)
Me.lbl_filename.Name = "lbl_filename"
Me.lbl_filename.Size = New System.Drawing.Size(181, 44)
Me.lbl_filename.TabIndex = 1
Me.lbl_filename.Text = "filename"
Me.lbl_filename.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'lbl_Properties
'
Me.lbl_Properties.AutoSize = True
Me.lbl_Properties.Font = New System.Drawing.Font("Segoe UI", 14.0!, System.Drawing.FontStyle.Bold)
Me.lbl_Properties.Location = New System.Drawing.Point(7, 7)
Me.lbl_Properties.Name = "lbl_Properties"
Me.lbl_Properties.Size = New System.Drawing.Size(105, 25)
Me.lbl_Properties.TabIndex = 0
Me.lbl_Properties.Text = "Properties"
'
'iml_icons
'
Me.iml_icons.ImageStream = CType(resources.GetObject("iml_icons.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.iml_icons.TransparentColor = System.Drawing.Color.Transparent
Me.iml_icons.Images.SetKeyName(0, "ico_folder.bmp")
Me.iml_icons.Images.SetKeyName(1, "ico_unknown.bmp")
Me.iml_icons.Images.SetKeyName(2, "ico_textfile.bmp")
Me.iml_icons.Images.SetKeyName(3, "ico_zip.png")
Me.iml_icons.Images.SetKeyName(4, "ico_picture.bmp")
Me.iml_icons.Images.SetKeyName(5, "ico_up.bmp")
Me.iml_icons.Images.SetKeyName(6, "ico_url.bmp")
Me.iml_icons.Images.SetKeyName(7, "ico_video.bmp")
Me.iml_icons.Images.SetKeyName(8, "ico_sfp.png")
Me.iml_icons.Images.SetKeyName(9, "ico_exe.png")
'
'pnl_AddressBar
'
Me.pnl_AddressBar.Controls.Add(Me.btn_Refresh)
Me.pnl_AddressBar.Controls.Add(Me.btn_Up)
Me.pnl_AddressBar.Controls.Add(Me.txt_AddressBar)
Me.pnl_AddressBar.Controls.Add(Me.lbl_Address)
Me.pnl_AddressBar.Dock = System.Windows.Forms.DockStyle.Top
Me.pnl_AddressBar.Location = New System.Drawing.Point(0, 97)
Me.pnl_AddressBar.Name = "pnl_AddressBar"
Me.pnl_AddressBar.Size = New System.Drawing.Size(800, 36)
Me.pnl_AddressBar.TabIndex = 4
'
'btn_Refresh
'
Me.btn_Refresh.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
Me.btn_Refresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Refresh.Location = New System.Drawing.Point(5, 5)
Me.btn_Refresh.Name = "btn_Refresh"
Me.btn_Refresh.Size = New System.Drawing.Size(24, 24)
Me.btn_Refresh.TabIndex = 2
Me.btn_Refresh.UseVisualStyleBackColor = True
'
'btn_Up
'
Me.btn_Up.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
Me.btn_Up.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Up.Location = New System.Drawing.Point(28, 5)
Me.btn_Up.Name = "btn_Up"
Me.btn_Up.Size = New System.Drawing.Size(24, 24)
Me.btn_Up.TabIndex = 2
Me.btn_Up.UseVisualStyleBackColor = True
'
'txt_AddressBar
'
Me.txt_AddressBar.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txt_AddressBar.Font = New System.Drawing.Font("Segoe UI", 10.0!)
Me.txt_AddressBar.Location = New System.Drawing.Point(129, 5)
Me.txt_AddressBar.Name = "txt_AddressBar"
Me.txt_AddressBar.Size = New System.Drawing.Size(659, 25)
Me.txt_AddressBar.TabIndex = 1
'
'lbl_Address
'
Me.lbl_Address.AutoSize = True
Me.lbl_Address.Font = New System.Drawing.Font("Segoe UI", 10.0!)
Me.lbl_Address.Location = New System.Drawing.Point(58, 8)
Me.lbl_Address.Name = "lbl_Address"
Me.lbl_Address.Size = New System.Drawing.Size(65, 19)
Me.lbl_Address.TabIndex = 0
Me.lbl_Address.Text = "Address :"
'
'lsv_Content
'
Me.lsv_Content.BackColor = System.Drawing.Color.White
Me.lsv_Content.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.lsv_Content.Dock = System.Windows.Forms.DockStyle.Fill
Me.lsv_Content.Font = New System.Drawing.Font("Segoe UI", 8.0!)
Me.lsv_Content.HideSelection = False
Me.lsv_Content.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1})
Me.lsv_Content.LargeImageList = Me.iml_icons
Me.lsv_Content.Location = New System.Drawing.Point(0, 133)
Me.lsv_Content.MultiSelect = False
Me.lsv_Content.Name = "lsv_Content"
Me.lsv_Content.Size = New System.Drawing.Size(600, 317)
Me.lsv_Content.SmallImageList = Me.iml_smallicons
Me.lsv_Content.Sorting = System.Windows.Forms.SortOrder.Ascending
Me.lsv_Content.TabIndex = 5
Me.lsv_Content.UseCompatibleStateImageBehavior = False
'
'iml_smallicons
'
Me.iml_smallicons.ImageStream = CType(resources.GetObject("iml_smallicons.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.iml_smallicons.TransparentColor = System.Drawing.Color.Transparent
Me.iml_smallicons.Images.SetKeyName(0, "ico_folder.bmp")
Me.iml_smallicons.Images.SetKeyName(1, "ico_unknown.bmp")
Me.iml_smallicons.Images.SetKeyName(2, "ico_textfile.bmp")
Me.iml_smallicons.Images.SetKeyName(3, "ico_zip.png")
Me.iml_smallicons.Images.SetKeyName(4, "ico_picture.bmp")
Me.iml_smallicons.Images.SetKeyName(5, "ico_up.bmp")
Me.iml_smallicons.Images.SetKeyName(6, "ico_url.bmp")
Me.iml_smallicons.Images.SetKeyName(7, "ico_video.bmp")
Me.iml_smallicons.Images.SetKeyName(8, "ico_sfp.png")
Me.iml_smallicons.Images.SetKeyName(9, "ico_exe.png")
'
'Uni_FileSkimmer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.lsv_Content)
Me.Controls.Add(Me.pnl_Properties)
Me.Controls.Add(Me.pnl_AddressBar)
Me.Controls.Add(Me.pnl_JobBar)
Me.Controls.Add(Me.msn_Options)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.MainMenuStrip = Me.msn_Options
Me.Name = "Uni_FileSkimmer"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.Text = "Uni_FileSkimmer"
Me.msn_Options.ResumeLayout(False)
Me.msn_Options.PerformLayout()
Me.pnl_JobBar.ResumeLayout(False)
Me.pnl_JobBar.PerformLayout()
Me.pnl_Properties.ResumeLayout(False)
Me.pnl_Properties.PerformLayout()
CType(Me.pic_Icon, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnl_AddressBar.ResumeLayout(False)
Me.pnl_AddressBar.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents msn_Options As MenuStrip
Friend WithEvents FileToolStripMenuItem As ToolStripMenuItem
Friend WithEvents AboutToolStripMenuItem As ToolStripMenuItem
Friend WithEvents pnl_JobBar As Panel
Friend WithEvents pnl_Properties As Panel
Friend WithEvents pnl_AddressBar As Panel
Friend WithEvents lbl_Address As Label
Friend WithEvents txt_AddressBar As TextBox
Friend WithEvents lbl_Properties As Label
Friend WithEvents lbl_filename As Label
Friend WithEvents lbl_filetype As Label
Friend WithEvents lbl_filesize As Label
Friend WithEvents pic_Icon As PictureBox
Friend WithEvents CloseToolStripMenuItem As ToolStripMenuItem
Friend WithEvents iml_icons As ImageList
Friend WithEvents lsv_Content As ListView
Friend WithEvents OptionsToolStripMenuItem As ToolStripMenuItem
Friend WithEvents PropertyPaneToolStripMenuItem As ToolStripMenuItem
Friend WithEvents btn_NewFolder As Button
Friend WithEvents btn_Up As Button
Friend WithEvents btn_Refresh As Button
Friend WithEvents btn_Delete As Button
Friend WithEvents btn_Rename As Button
Friend WithEvents btn_CopyPath As Button
Friend WithEvents btn_Compress As Button
Friend WithEvents cmb_Layout As ComboBox
Friend WithEvents Label1 As Label
Friend WithEvents iml_smallicons As ImageList
Friend WithEvents JobBarToolStripMenuItem As ToolStripMenuItem
Friend WithEvents Label2 As Label
Friend WithEvents CompressToolStripMenuItem As ToolStripMenuItem
Friend WithEvents DeleteToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As ToolStripSeparator
End Class

View file

@ -0,0 +1,331 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="msn_Options.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="iml_icons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>140, 17</value>
</metadata>
<data name="iml_icons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+
GAAAAk1TRnQBSQFMAgEBCgEAAbgBAAG4AQABKgEAASoBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABqAMAAX4DAAEBAQABCAUAAbABUhgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQABwAHc
AcABAAHwAcoBpgEAATMFAAEzAQABMwEAATMBAAIzAgADFgEAAxwBAAMiAQADKQEAA1UBAANNAQADQgEA
AzkBAAGAAXwB/wEAAlAB/wEAAZMBAAHWAQAB/wHsAcwBAAHGAdYB7wEAAdYC5wEAAZABqQGtAgAB/wEz
AwABZgMAAZkDAAHMAgABMwMAAjMCAAEzAWYCAAEzAZkCAAEzAcwCAAEzAf8CAAFmAwABZgEzAgACZgIA
AWYBmQIAAWYBzAIAAWYB/wIAAZkDAAGZATMCAAGZAWYCAAKZAgABmQHMAgABmQH/AgABzAMAAcwBMwIA
AcwBZgIAAcwBmQIAAswCAAHMAf8CAAH/AWYCAAH/AZkCAAH/AcwBAAEzAf8CAAH/AQABMwEAATMBAAFm
AQABMwEAAZkBAAEzAQABzAEAATMBAAH/AQAB/wEzAgADMwEAAjMBZgEAAjMBmQEAAjMBzAEAAjMB/wEA
ATMBZgIAATMBZgEzAQABMwJmAQABMwFmAZkBAAEzAWYBzAEAATMBZgH/AQABMwGZAgABMwGZATMBAAEz
AZkBZgEAATMCmQEAATMBmQHMAQABMwGZAf8BAAEzAcwCAAEzAcwBMwEAATMBzAFmAQABMwHMAZkBAAEz
AswBAAEzAcwB/wEAATMB/wEzAQABMwH/AWYBAAEzAf8BmQEAATMB/wHMAQABMwL/AQABZgMAAWYBAAEz
AQABZgEAAWYBAAFmAQABmQEAAWYBAAHMAQABZgEAAf8BAAFmATMCAAFmAjMBAAFmATMBZgEAAWYBMwGZ
AQABZgEzAcwBAAFmATMB/wEAAmYCAAJmATMBAANmAQACZgGZAQACZgHMAQABZgGZAgABZgGZATMBAAFm
AZkBZgEAAWYCmQEAAWYBmQHMAQABZgGZAf8BAAFmAcwCAAFmAcwBMwEAAWYBzAGZAQABZgLMAQABZgHM
Af8BAAFmAf8CAAFmAf8BMwEAAWYB/wGZAQABZgH/AcwBAAHMAQAB/wEAAf8BAAHMAQACmQIAAZkBMwGZ
AQABmQEAAZkBAAGZAQABzAEAAZkDAAGZAjMBAAGZAQABZgEAAZkBMwHMAQABmQEAAf8BAAGZAWYCAAGZ
AWYBMwEAAZkBMwFmAQABmQFmAZkBAAGZAWYBzAEAAZkBMwH/AQACmQEzAQACmQFmAQADmQEAApkBzAEA
ApkB/wEAAZkBzAIAAZkBzAEzAQABZgHMAWYBAAGZAcwBmQEAAZkCzAEAAZkBzAH/AQABmQH/AgABmQH/
ATMBAAGZAcwBZgEAAZkB/wGZAQABmQH/AcwBAAGZAv8BAAHMAwABmQEAATMBAAHMAQABZgEAAcwBAAGZ
AQABzAEAAcwBAAGZATMCAAHMAjMBAAHMATMBZgEAAcwBMwGZAQABzAEzAcwBAAHMATMB/wEAAcwBZgIA
AcwBZgEzAQABmQJmAQABzAFmAZkBAAHMAWYBzAEAAZkBZgH/AQABzAGZAgABzAGZATMBAAHMAZkBZgEA
AcwCmQEAAcwBmQHMAQABzAGZAf8BAALMAgACzAEzAQACzAFmAQACzAGZAQADzAEAAswB/wEAAcwB/wIA
AcwB/wEzAQABmQH/AWYBAAHMAf8BmQEAAcwB/wHMAQABzAL/AQABzAEAATMBAAH/AQABZgEAAf8BAAGZ
AQABzAEzAgAB/wIzAQAB/wEzAWYBAAH/ATMBmQEAAf8BMwHMAQAB/wEzAf8BAAH/AWYCAAH/AWYBMwEA
AcwCZgEAAf8BZgGZAQAB/wFmAcwBAAHMAWYB/wEAAf8BmQIAAf8BmQEzAQAB/wGZAWYBAAH/ApkBAAH/
AZkBzAEAAf8BmQH/AQAB/wHMAgAB/wHMATMBAAH/AcwBZgEAAf8BzAGZAQAB/wLMAQAB/wHMAf8BAAL/
ATMBAAHMAf8BZgEAAv8BmQEAAv8BzAEAAmYB/wEAAWYB/wFmAQABZgL/AQAB/wJmAQAB/wFmAf8BAAL/
AWYBAAEhAQABpQEAA18BAAN3AQADhgEAA5YBAAPLAQADsgEAA9cBAAPdAQAD4wEAA+oBAAPxAQAD+AEA
AfAB+wH/AQABpAKgAQADgAMAAf8CAAH/AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP//wD/AP8AeAAm7F0A
HP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0A
HP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0A
HP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0A
HP8JAAHsJP8B7F0AHP8JAAHsJP8B7F0AHP8JAAHsJP8D7IAAAewk/wHsAf8B7IAAAewk/wHsAf8B7IAA
Aewk/wHsAf8B7IAAAewk/wHsAf8B7F8AFP8NAAHsJP8B7AH/AexfAA7/BAAC/w0AAewk/wHsAf8B7F8A
Dv8EAAL/DQAm7AH/AexfAA7/BAAC/w0AHewCAAHsAgAB7AIAAewB/wHsXwAO/wQAAv8NAB3sAgAB7AIA
AewCAAHsAf8B7F8ADv8EAAL/DQAm7AH/AexfAA7/BAAC/xEAAewi/wHsXwAU/xEAAewi/wHsXwAU/xEA
Aewi/wHshAAk7IQAG+wCAAHsAgAB7AIAAeyEABvsAgAB7AIAAewCAAHshAAk7P8AZAAK/5MACv8BAAr/
AQAB7AP/jgAJ/wEADP8BAAHsAv+OAAn/AQAM/wEAAewC/zMAKOwCACjsCQAI/wEADf8BAAHsAv8zACjs
AgAP7AoAD+wJAAf/AQAD/wEACv8BAAHsAv8zACjsAgAP7AEACP8BAA/sCQAH/wEAAv8CAAL/AQAC/wEA
Av8BAAH/AQAB7AL/MwAo7AIAD+wBAAj/AQAP7AkACP8CAAHsAQAC/wEAAv8BAAL/AQAB/wEAAewC/wkA
KP8CACjsAgAP7AEACP8BAA/sCQAL/wEAAv8BAAL/AQAC/wIAAewD/wkAKP8CACjsAgAP7AEACP8BAA/s
CQAL/wEAAv8BAAL/AwAB7AX/CQAo/wIAJOwE/wIAD+wBAAj/AQAP7AkAC/8BAAL/AwAB7Aj/CQAo/wIA
IewH/wIAD+wBAAj/AQAP7AkAC/8BAAL/AQAB7Ar/CQAP/wEAGP8CAAX/GuwJ/wIAD+wBAAj/AQAP7AkA
C/8BAAL/AQAB7Ar/CQAP/wIAF/8CAAj/FuwF/wHsBP8CAA/sAQAI/wEAD+wJAAv/AQAC/wEAAewK/wkA
D/8DABb/AgAP/wvsCf8C7AP/AgAP7AEACP8BAA/sCQAL/wEAAv8BAAHsCv8JAA//BAAV/wIAHv8B7AX/
AewD/wIAD+wBAAj/AQAP7AkAAv8J/AEAAv8BAAHsCv8JAA//BQAU/wIAHv8C7AT/AuwC/wIAD+wBAAj/
AQAP7AkADP8CAAHsC/8JAA//BgAT/wIAF/8D7AX/AuwE/wHsAv8CAA/sAQAI/wEAD+wJAAP/BPwC/wH8
BP8B/Av/CQAP/wcAEv8CABn/AuwF/wHsBP8B7AL/AgAP7AEACP8BAA/sCQAC/wH8BP8B/AH/AfwE/wH8
C/8JAA//CAAR/wIAGv8B7AX/AewE/wHsAv8CAA/sAQAI/wEAD+wJAAL/AfwE/wH8Af8B/AT/AfwL/wkA
D/8JABD/AgAa/wLsBP8B7AT/AuwB/wIAD+wBAAj/AQAP7AkAAv8B/AT/AfwB/wL8A/8B/Av/CQAP/woA
D/8CABP/BOwE/wLsCf8B7AH/AgAK7AYACP8HAAnsCQAC/wH8BP8B/AH/AfwB/wL8Af8B/Av/CQAP/woA
D/8CABb/AuwF/wHsCv8CAArsAQAT/wEACewJAAL/AfwE/wH8Bv8B/Av/CQAP/wkAEP8CABf/AewJ/wbs
Af8CAAvsAQAR/wEACuwJAAL/AfwE/wH8Bv8B/Av/CQAP/wgAEf8CABf/AuwG/wnsAgAM7AEAD/8BAAvs
CQAC/wH8BP8B/Ab/AfwL/wkAD/8HABL/AgAQ/wHsB/8C7AT/CuwCAA3sAQAN/wEADOwJAAL/AfwE/wH8
Bv8B/Av/CQAP/wYAE/8CABD/A+wG/wLsAv8L7AIADuwBAAv/AQAN7AkAGv8JAA//BQAU/wIAEv8D7Af/
DOwCAA/sAQAJ/wEADuwJABr/CQAP/wQAFf8CABT/AuwG/wzsAgAQ7AEAB/8BAA/sCQAa/wkAD/8DABb/
AgAV/wLsBP8N7AIAEewBAAX/AQAQ7AkAGv8JAA//AgAX/wIADf8E7AX/A+wC/w3sAgAS7AEAA/8BABHs
CQAa/wkAD/8BABj/AgAQ/wLsCf8N7AIAE+wBAAH/AQAS7AkAGv8JACj/AgAR/wHsCf8N7AIAFOwBABPs
CQAa/wkAKP8CABH/COwC/w3sAgAo7AkAGv8JACj/AgAb/w3sAgAo7AkAGv8JACj/AgAc/wzsMwAU/zkA
HP8M7AIAD+wiABT/AQAC/wLsXgAO7CMAFP8BAAH/AuyQABT/AQAC7JEAFP8BAAHskgAU//8AuAAh/wkA
If9dACH/CQAh/10AIf8JACH/LwAo7AYAIf8JAAT/GuwD/wUAKOwCACjsBgAh/wkAIf8FACjsAgAo7AYA
Dv8E7A//CQAh/wUAKOwCACjsBgAO/wTsD/8JAAP/GuwE/wUAKOwCACjsBgAO/wTsD/8JACH/BQAo7AIA
KOwGAA7/BOwP/wkAIf8FACjsAgAo7AYAIf8JAAT/GuwD/wUAKOwCACjsBgAh/wkAIf8FACjsAgAo7AYA
If8JACH/BQAo7AIAKOwGAA7/AZID7A//CQAD/xrsBP8FACjsAgAo7AYADv8BkgPsD/8JACH/BQAo7AIA
KOwGAA7/AZID7AHyDv8JACH/BQAo7AIAKOwGAA7/AQcD7AG8Dv8JAAT/GuwD/wUAKOwCACjsBgAO/wHx
BOwO/wkAIf8FACjsAgAo7AYAD/8E7AHvDf8JACH/BQAo7AIAKOwGAA//AfEE7AHvDP8JAAP/GuwE/wYA
A+wBAAPsAQAD7AEAA+wBAAPsAQAD7AEAA+wBAAPsAQAD7AEAA+wCACjsBgAQ/wG8BOwB7wH0Cv8JACH/
BQAB7AEAAewBAAHsAQAB7AEAAewBAAHsAQAB7AEAAewBAAHsAQAB7AEAAewBAAHsAQAB7AEAAewBAAHs
AQAB7AEAAewBAAHsAQAB7AEAAewDACjsBgAR/wG8BOwB7QH0Cf8JACH/BQAC7AEAA+wBAAPsAQAD7AEA
A+wBAAPsAQAD7AEAA+wBAAPsAQAD7AEAAewCACjsBgAS/wHwBOwBkgn/CQAE/xrsA/8FACjsAgAo7AYA
E/8B8gTsAe8I/wkAIf8FACjsAgAo7AYAFP8B8gTsAfIH/wkAIf8FACjsAgAo7AYAFf8BvAPsAe8H/wkA
A/8a7AT/BQAo7AIAKOwGABb/BOwH/wkAIf8FACjsAgAo7AYABv8B8wHvAZIB7AHvC/8BkgPsB/8JACH/
BQAo7AIAKOwGAAb/AfQD7AHtC/8B7QPsB/8JAAT/GuwD/wUAKOwCACjsBgAH/wTsAfIJ/wHzA+wB7Qf/
CQAh/wUAKOwCACjsBgAH/wEHA+wB9wn/AfcD7AHvB/8JACH/BQAo7AIAKOwGAAf/AfQE7AHvB/8B7wTs
AfMH/wkAA/8a7AT/BQAo7AIAKOwGAAj/AQcE7AGSAfAB9AH/AfQB8AGSBOwBBwj/CQAh/wUAKOwCACjs
BgAJ/wHvDewB7wn/CQAh/wUAKOwCACjsBgAK/wHwC+wB8Ar/CQAE/xrsA/8FACjsMAAL/wH0AbwB9wTs
Ae0B7wG8DP8JACH/LwAP7B8AIf8JACH/BQAP7BsADuwgACH/CQAD/xrsBP8FAA7sSgAh/wkAIf9dACH/
CQAh/10AIf8JACH/1gABQgFNAT4HAAE+AwABKAMAAagDAAF+AwABAQEAAQEFAAHQAQsWAAP/AQAK/wHw
DQAK/wHwDQAB8AMAAQMF/wHwDQAB8AMAAQMF/wHwDQAB8AMAAQMF/wHwDQAB8AMAAQMB8AQAATANAAHw
AwABAwHwBAABMA0AAfADAAEDAfAEAAEwDQAB8AMAAQMB8AQAATANAAHwAwABAwHwBAABMA0AAfADAAED
AfAEAAEwDQAB8AMAAQMB8AQAATANAAHwAwABAwHwBAABMA0AAfADAAEDAfAEAAEwDQAB8AMAAQMB8AQA
ATANAAHwAwABAwHwBAABMA0AAfADAAEDAfAEAAEwDQAB8AMAAQMB8AQAATANAAHwAwABAwHwBAABMA0A
AfADAAEDAfAEAAEwDQAB8AMAAQMB8AQAATANAAHwAwABAwHwBAABMA0AAfADAAEDAfAEAAEwDQAB8AMA
AQMB8BIAAfADAAEDAfASAAHwAwABAwHwEgAB8AMAAQMB8BIAAfADAAEDAfASAAHwAwABAwHwEgAB8AMA
AQMB8BIAAfADAAEDAfASAAHwAwABAwHwEgAB8AMAAQMB8BIAAfADAAEHAfASAAHwAwABDwH/EgAB8AMA
AR8B/xIAAfADAAEfAf8SAAb/EgAG/xIABv8SAAb/EgAK/wHwDQAL/wHgAgABAQb/AwAL/wHgAgABAQb/
AwAL/wHgAgABAQb/DQABDwHgAgABAQb/DQABDwHgAgABAQb/DQABDwHgAgABAQb/DQABDwHgAgABAQH8
EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8
EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8
EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8
EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8
EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8
EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8EgABDwHgAgABAQH8DwABHwP/AeACAAED
Bv8KAAE/A/8B4AIAAQcG/wMABf8BwAEAAX8D/wHgAgABDwb/AwAL/wHgAgABHwb/AwAL/wHgAgABPwb/
AwAL/wHgAgABfwb/AwAF/wH8BAABfwQAAR8F/wMABf8B/AQAAX8EAAEfBf8DAAX/AfwEAAF/BAABHwX/
CAABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEc
DQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEc
DQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEc
DQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEc
DQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEc
DQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEc
DQABPAQAAX8EAAEcDQABPAQAAX8EAAEcDQABPAQAAX8EAAEcCgABfwL/AfwEAAF/BAABHAEAAQED/wUA
A/8B/AQAAX8EAAEcAQABAwP/BAABAQP/AfwEAAF/BAABHAEAAQcD/wMABf8B/AQAAX8EAAEfBf8DAAX/
AfwEAAF/BAABHwX/AwAF/wH8BAABfwQAAR8F/wMACw==
</value>
</data>
<metadata name="iml_smallicons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>250, 17</value>
</metadata>
<data name="iml_smallicons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB2
EwAAAk1TRnQBSQFMAgEBCgEAAXABAAFwAQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABYAMAAUgDAAEBAQABCAYAARsYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/2MAAe9fAAHvFgAB9BXz
MwAB7wEAEP8FAAHvFP8BBzMAAe8BABD/BQAB7xT/AQczAAHvAQAQ/wUAAe8U/wEHMwAB7wEAEP8FAAHv
FP8BBzMAAe8BABD/BQAB7xT/AQczAAHvAQAQ/wUAAe8U/wEHMwAB7wEAEP8FAAHvFP8BBzMAAe8BABD/
BQAB7xT/AQczAAHvAQAQ/wUAAe8U/wEHMwAB7wEAEP8FAAHvFP8BBzMAAe8BABDsBQAB7xT/AQcB7zIA
Ae8WAAHvFP8BBwHyMgAB7xYAAe8U/wEHAfIyAAHvAwAB7Af/AfcCFAH/BwAB7xT/AQcB8jIAAe8DAAHs
B/8B7AIAAf8HAAHvEOwBFAHrARQBEgFtAfIyAAHvAwAB7Af/AewCAAH/AwABEgMAAe8Q7AEQAW0BEAEV
ARIB8jIAAe8DAAHsB/8B7AIAAf8JAAHzE/8B8jIAAe8DAAHsC/8JAAHzE/8B8ksAAfMP7AEUAewBFAFt
ARJLAAHzD+wBEAHsARABEgEVxQAFBwFtBv8BEwEHAewcADDvBQAF/wHsBv8BFAIHHQAW7AFtAQAI7AZt
COwBbQUABP8BbQH/AbwF/wEUAgcdABbsAW0BAAjsARAE/wnsAW0FAAT/AQcB7AEUAf8BBwHsAf8BAAEU
AgcdABbsAW0BAAjsARAE/wnsAW0FAAT/AbwB8AEUAf8BBwHsAf8BAAHqAfQBBwUAFv8BBwEAFOwB7wEH
Ae0BAAjsARAE/wnsAW0FAAb/ARQB/wJtAewBBwL/AQcFABb/AQcBAAL3AZIO7AHtAQcD/wEHAQAI7AEQ
BP8J7AFtBQAG/wEUAf8BbQX/AQcFAAj/ARQB8Qz/AQcBAAT/AfcM7AP/AfIB/wEHAQAI7AEQBP8J7AFt
BQAG/wEUAf8BbQX/AQcFAAj/ARQBAAz/AQcBAAj/AfMF8gHzAv8B8AL/AZIB/wEHAQAI7AEQBP8J7AFt
BQAB/wXIARQB/wFtBf8BBwUACP8BFAEAAQ4L/wEHAQAN/wEHAfAC/wH3AfAB/wHwAgcBAAjsARAE/wns
AW0FAAH/Ad0C1gH/Ad0B8QHsAd0F/wEHBQAI/wEUAwAB8Qn/AQcBAA7/AZID/wH3Av8CBwEACOwBEAT/
CewBbQUAAf8B1gL/Ad0B1gL/Ad0F/wEHBQAI/wEUBAAB8Qj/AQcBAA7/AfIB7AL/AfcC/wHsAQcBAAjs
ARAE/wnsAW0FAAH/AdYC/wHdAfwC/wHdBf8BBwUACP8BFAUACP8BBwEAC/8B8gGSAfAB/wHyAe8E/wH0
AQcBAAXsARQDBwT/AfEDBwEUBOwBbQUAAf8B1gL/Ad0BGQHdAf8B3QX/AQcFAAj/ARQEAAFtCP8BBwEA
Df8B9wP/AfIB7wPsAe0BAAbsARIJ/wESBewBbQUAAf8B1gL/Ad0D/wHdBf8BBwUACP8BFAMAAW0J/wEH
AQAJ/wHvAfMC/wHwAZIB/wHzBewBbQEAB+wBEAHzBf8B8wEQBuwBbQUAAf8B1gL/Ad0D/wHdBf8BBwUA
CP8BFAIAARQK/wEHAQAK/wLsBP8G7AFtAQAI7AEQBf8BEAfsAW0FAA7/AQcFAAj/ARQBAAEUC/8BBwEA
C/8B8gGSAv8B9wbsAW0BAAnsARID/wESCOwBbQUADv8BBwUACP8BFAFtDP8BBwEAB/8CBwH3Av8B8AEH
Af8H7AFtAQAK7AESAf8BEgnsAW0FAA7/AQcFAAj/AfcN/wEHAQAJ/wEHBPIB/wfsAW0BAAvsARAK7AFt
BQAO/wEHBQAW/wEHAQAP/wfsAW0BABbsAW0FAA7/AQcFABb/AQcBABD/BuwBbQEACG0BDw7yBQAL/wEA
AQcBbQESBAAY8hjvAQAIFAH0EwAL/wEAAe0B7FIAC/8BAAFtmAAB7xMHAe8DAAHvEwcB7xkAGO8CAAHv
E/8B7wMAAe8T/wHvAQAY7wEAFuwBbQIAAe8T/wHvAwAB7wL/AQcO9wL/Ae8CABbsAW0BABbsAW0CAAHv
CP8C7AHyCP8B7wMAAe8T/wHvAgAW7AFtAQAW7AFtAgAB7wj/AuwB8gj/Ae8DAAHvAv8O8gHzAv8B7wIA
FuwBbQEAFuwBbQIAAe8I/wIHAfQI/wHvAwAB7wL/AfAOBwL/Ae8CABbsAW0BABbsAW0CAAHvE/8B7wMA
Ae8T/wHvAgAW7AFtAQAW7AFtAgAB7wj/Ae0B7AHyCP8B7wMAAe8C/w7sAfcC/wHvAgAW7AFtAQAW7AFt
AgAB7wj/Ae0B7AHwCP8B7wMAAe8T/wHvAgAW7AFtAQAW7AFtAgAB7wj/AQcB7AH3CP8B7wMAAe8C/wHw
DgcC/wHvAgAW7AFtAQAW7AFtAgAB7wj/AfIC7AG8B/8B7wMAAe8C/w7yAfMC/wHvAgAC7AFtAewBbQTs
AesB7AFtAewB6wTsAW0B7AFtAewBbQEAFuwBbQIAAe8J/wG8AuwBBwb/Ae8DAAHvE/8B7wIAARABFAFt
AewBbQEUARABAAEQARQBbQHsAW0BFAEQAQABEAEUAW0B7AFtARQCABbsAW0CAAHvCv8BvALsAe8F/wHv
AwAB7wL/AQcO9wL/Ae8CAAHsAesB7AFtAewB6wTsAW0B7AFtBOwB6wHsAW0B7AHrAW0BABbsAW0CAAHv
C/8B8ALsAfEE/wHvAwAB7xP/Ae8CABbsAW0BABbsAW0CAAHvDP8BBwHsAZIE/wHvAwAB7wL/DvcBBwL/
Ae8CABbsAW0BABbsAW0CAAHvA/8B9AHvAewB8wX/AfIC7AT/Ae8DAAHvE/8B7wIAFuwBbQEAFuwBbQIA
Ae8E/wLsAfAF/wHwAuwE/wHvAwAB7wL/AfMO8gL/Ae8CABbsAW0BABbsAW0CAAHvBP8BBwHsAe0B8wP/
AfMB7QHsAQcE/wHvAwAB7wL/DgcB8AL/Ae8CABbsAW0BABbsAW0CAAHvBP8B9AHtAuwBvAHyAbwC7AHt
AfQE/wHvAwAB7xP/Ae8CABbsAW0BABbsAW0CAAHvBv8BkgXsAZIG/wHvAwAB7wL/AfcO7AL/Ae8CABbs
AW0BAAhtAQ8O8gIAAe8H/wHzA/IB8wf/Ae8DAAHvE/8B7wIACG0BDw7yAQAIFAH0EAAB7xP/Ae8DAAHv
Av8OBwHwAv8B7wIACBQB9CgAAe8T/wHvAwAB7xP/Ae8zAAHvEwAB7wMAAe8TAAHvGQABQgFNAT4HAAE+
AwABKAMAAWADAAFIAwABAQEAAQEFAAFgAQMWAAP/AQAG/wYAAcABAAEDA/8GAAHAAQABAwGAAQABAQYA
AcABAAEDAYABAAEBBgABwAEAAQMBgAEAAQEGAAHAAQABAwGAAQABAQYAAcABAAEDAYABAAEBBgABwAEA
AQMBgAEAAQEGAAHAAQABAwGAAQABAQYAAcABAAEDAYABAAEBBgABwAEAAQMBgAEAAQEGAAHAAQABAwGA
AQABAQYAAcABAAEDAYABAAEBBgABwAEAAQMBgAgAAcABAAEDAYAIAAHAAQABAwGACAABwAEAAQMBgAgA
AcABAAEDAYAIAAHAAQABAwGACAABwAEAAQcB4AgAAcABAAEPAeAIAAP/AeAIAAP/AeAIAAb/BgAG/wHw
AQABDwP/BgAB8AEAAQ8D/wYAAfABAAEPA/8GAAHwAQABDwkAAfABAAEPCQAB8AEAAQ8JAAHwAQABDwkA
AfABAAEPCQAB8AEAAQ8JAAHwAQABDwkAAfABAAEPCQAB8AEAAQ8JAAHwAQABDwkAAfABAAEPCQAB8AEA
AQ8JAAHwAQABDwkAAfABAAEPCQAB8AEAAQ8JAAHwAQABDwkAAfABAAEPCQAB8AEAAQ8HAAE/Af8B8AEA
AR8J/wHwAQABPwn/AfABAAF/Bv8BwAEAAQEBwAEAAQED/wMAAcABAAEBAcABAAEBBgABwAEAAQEBwAEA
AQEGAAHAAQABAQHAAQABAQYAAcABAAEBAcABAAEBBgABwAEAAQEBwAEAAQEGAAHAAQABAQHAAQABAQYA
AcABAAEBAcABAAEBBgABwAEAAQEBwAEAAQEGAAHAAQABAQHAAQABAQYAAcABAAEBAcABAAEBBgABwAEA
AQEBwAEAAQEGAAHAAQABAQHAAQABAQYAAcABAAEBAcABAAEBBgABwAEAAQEBwAEAAQEGAAHAAQABAQHA
AQABAQYAAcABAAEBAcABAAEBBgABwAEAAQEBwAEAAQEGAAHAAQABAQHAAQABAQYAAcABAAEBAcABAAEB
BgABwAEAAQEBwAEAAQEEAAE/Af8BwAEAAQEBwAEAAQEBAAE/BP8BwAEAAQEBwAEAAQEG/wHAAQABAQHA
AQABAQP/Cw==
</value>
</data>
</root>

View file

@ -0,0 +1,466 @@
Imports System.IO
Imports System.IO.Compression
Public Class Uni_FileSkimmer
Public CurrentDir As String
Dim FileType As Integer
Dim ItemsDeleted As Integer
Private Sub Uni_FileSkimmer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckAvailable()
'End thingy
CurrentDir = Strings.OnceInfo(1)
txt_AddressBar.Text = CurrentDir.Replace(Strings.OnceInfo(1), "!\")
ShowContent()
End Sub
Private Sub CheckAvailable()
If Strings.AvailableFeature(47) = 1 Then
btn_Delete.Image = My.Resources.FileSkimmerFunctionIcons.largeico_deletefile
DeleteToolStripMenuItem.Visible = True
Else
btn_Delete.Image = My.Resources.FileSkimmerFunctionIcons.largeico_unknown
btn_Delete.Text = "???"
DeleteToolStripMenuItem.Visible = False
End If
If Strings.AvailableFeature(48) = 1 Then
btn_Compress.Image = My.Resources.FileSkimmerFunctionIcons.largeico_compress
CompressToolStripMenuItem.Visible = True
Else
btn_Compress.Image = My.Resources.FileSkimmerFunctionIcons.largeico_unknown
btn_Compress.Text = "???"
CompressToolStripMenuItem.Visible = False
End If
If Strings.AvailableFeature(49) = 1 Then
PropertyPaneToolStripMenuItem.Checked = True
pnl_Properties.Visible = True
Else
PropertyPaneToolStripMenuItem.Checked = False
PropertyPaneToolStripMenuItem.Visible = False
pnl_Properties.Visible = False
End If
If Strings.AvailableFeature(50) = 1 Then
JobBarToolStripMenuItem.Checked = True
pnl_JobBar.Visible = True
Else
JobBarToolStripMenuItem.Checked = False
JobBarToolStripMenuItem.Visible = False
pnl_JobBar.Visible = False
End If
'Sets icons for buttons in here, for some reason
btn_NewFolder.Image = My.Resources.FileSkimmerFunctionIcons.largeico_unknown
btn_NewFolder.Text = "???"
btn_Rename.Image = My.Resources.FileSkimmerFunctionIcons.largeico_unknown
btn_Rename.Text = "???"
btn_CopyPath.Image = My.Resources.FileSkimmerFunctionIcons.largeico_unknown
btn_CopyPath.Text = "???"
If Strings.AvailableFeature(51) = 1 Then
Else
cmb_Layout.Items.Remove("Small Icons")
End If
If Strings.AvailableFeature(52) = 1 Then
Else
cmb_Layout.Items.Remove("List")
End If
btn_Up.BackgroundImage = My.Resources.FileSkimmerFunctionIcons.ico_up1
btn_Refresh.BackgroundImage = My.Resources.FileSkimmerFunctionIcons.ico_refresh
End Sub
Private Sub PropertyPaneToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PropertyPaneToolStripMenuItem.Click
If PropertyPaneToolStripMenuItem.CheckState = False Then
pnl_Properties.Visible = False
Else
pnl_Properties.Visible = True
End If
End Sub
Private Sub JobBarToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles JobBarToolStripMenuItem.Click
If JobBarToolStripMenuItem.CheckState = False Then
pnl_JobBar.Visible = False
Else
pnl_JobBar.Visible = True
End If
End Sub
Private Sub CompressToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CompressToolStripMenuItem.Click
If Strings.AvailableFeature(48) = 1 Then
FS_Compression()
End If
End Sub
Private Sub DeleteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DeleteToolStripMenuItem.Click
FS_Delete()
End Sub
Private Sub CloseToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseToolStripMenuItem.Click
Dispose()
End Sub
Private Sub btn_Delete_Click(sender As Object, e As EventArgs) Handles btn_Delete.Click
FS_Delete()
End Sub
Private Sub btn_Compress_Click(sender As Object, e As EventArgs) Handles btn_Compress.Click
If Strings.AvailableFeature(48) = 1 Then
FS_Compression()
Else
End If
End Sub
Private Sub cmb_Layout_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_Layout.SelectedIndexChanged
Select Case cmb_Layout.SelectedItem.ToString
Case "Large Icons"
lsv_Content.View = View.LargeIcon
Case "Small Icons"
lsv_Content.View = View.SmallIcon
Case "List"
lsv_Content.View = View.List
End Select
End Sub
Private Sub cmb_Layout_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmb_Layout.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(cmb_Layout.GetItemText(cmb_Layout.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub btn_Up_Click(sender As Object, e As EventArgs) Handles btn_Up.Click
Try
If txt_AddressBar.Text = "!\" Or txt_AddressBar.Text = "!" Then
Else
Dim directoryInfo As System.IO.DirectoryInfo
directoryInfo = System.IO.Directory.GetParent(CurrentDir.Replace("!\", Strings.OnceInfo(1) & "\"))
'Dim endloop As Boolean = False
'lbllocation.Text = lbllocation.Text.Substring(0, lbllocation.Text.Length - 1)
'While endloop = False
' Try
' If lbllocation.Text.Substring(lbllocation.Text.Length - 1) = "/" Then
' endloop = True
' Else
' lbllocation.Text = lbllocation.Text.Substring(0, lbllocation.Text.Length - 1)
' End If
' Catch
' infobox.title = "File Skimmer - Error!"
' infobox.textinfo = "Unable to move into a higher directory due to error reading the requested folder on the drive." & Environment.NewLine & Environment.NewLine & "An error occured going up"
' infobox.Show()
' End Try
'End While
Dim DirFullName As String = directoryInfo.FullName
txt_AddressBar.Text = DirFullName.Replace(Strings.OnceInfo(1), "!")
CurrentDir = DirFullName
If txt_AddressBar.Text = "!" Then
txt_AddressBar.Text = txt_AddressBar.Text & "\"
End If
ShowContent()
End If
Catch ex As Exception
End Try
End Sub
Private Sub btn_Refresh_Click(sender As Object, e As EventArgs) Handles btn_Refresh.Click
ShowContent()
End Sub
Private Sub txt_AddressBar_TextChanged(sender As Object, e As KeyEventArgs) Handles txt_AddressBar.KeyDown
If e.KeyCode = Keys.Enter Then
If txt_AddressBar.Text Like "!*" Then
Dim BackupCurrentDir As String = txt_AddressBar.Text
BackupCurrentDir = BackupCurrentDir.Replace("!", Strings.OnceInfo(1))
If BackupCurrentDir Like "*.*" Then
Else
If Directory.Exists(BackupCurrentDir) = True Then
txt_AddressBar.Text = BackupCurrentDir.Replace(Strings.OnceInfo(1), "!")
CurrentDir = BackupCurrentDir
ShowContent()
End If
End If
Else
txt_AddressBar.Text = "!\"
CurrentDir = Strings.OnceInfo(1)
ShowContent()
End If
End If
End Sub
Private Sub lsv_Content_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles lsv_Content.MouseDoubleClick
If txt_AddressBar.Text Like "*\" Then
Else
txt_AddressBar.Text = txt_AddressBar.Text + "\"
End If
ExecuteFile(txt_AddressBar.Text + lsv_Content.SelectedItems(0).Text)
End Sub
Private Sub lsv_Content_MouseClick(sender As Object, e As MouseEventArgs) Handles lsv_Content.MouseClick
Select Case e.Button
Case MouseButtons.Left
Dim IsCompressed As Boolean = False
If lsv_Content.SelectedItems(0).Text Like "*.zip" Then
IsCompressed = True
End If
If pnl_Properties.Visible = True Then
Dim IsFile As Boolean = False
If lsv_Content.SelectedItems(0).Text = Nothing Then
pic_Icon.Image = Nothing
lbl_filename.Visible = False
lbl_filetype.Visible = False
lbl_filesize.Visible = False
Else
lbl_filename.Visible = True
lbl_filetype.Visible = True
If lsv_Content.SelectedItems(0).Text Like "*.txt" Then
pic_Icon.Image = My.Resources.FileSkimmerFileIcons.ico_textfile
lbl_filetype.Text = "Text File"
IsFile = True
ElseIf lsv_Content.SelectedItems(0).Text Like "*.zip" Then
pic_Icon.Image = My.Resources.FileSkimmerFileIcons.ico_zip
lbl_filetype.Text = "Compressed ZIP File"
IsFile = True
ElseIf lsv_Content.SelectedItems(0).Text Like "*.*" Then
pic_Icon.Image = My.Resources.FileSkimmerFileIcons.ico_unknown
lbl_filetype.Text = "Unknown File Type"
IsFile = True
ElseIf lsv_Content.SelectedItems(0).Text = "???" Then
pic_Icon.Image = My.Resources.FileSkimmerFileIcons.ico_unknown
lbl_filetype.Text = "Unknown Type"
End If
If IsFile = True Then
lbl_filesize.Visible = True
Dim filinf As New IO.FileInfo(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text)
Dim filsize As Long = filinf.Length / 1024
Dim thesize As Integer = 1
Do
If filsize >= 1024 Then
filsize = filsize / 1024
thesize = thesize + 1
Else
Exit Do
End If
Loop
Select Case thesize
Case 1
lbl_filesize.Text = filsize & " KB"
Case 2
lbl_filesize.Text = filsize & " MB"
Case 3
lbl_filesize.Text = filsize & " GB"
End Select
Else
pic_Icon.Image = My.Resources.FileSkimmerFileIcons.ico_folder
lbl_filetype.Text = "Folder"
lbl_filesize.Visible = False
End If
lbl_filename.Text = lsv_Content.SelectedItems(0).Text
End If
End If
If Strings.AvailableFeature(48) = 1 Then
If IsCompressed = True Then
btn_Compress.Image = My.Resources.FileSkimmerFunctionIcons.largeico_uncompress
btn_Compress.Text = "Extract"
CompressToolStripMenuItem.Text = "Extract"
Else
btn_Compress.Image = My.Resources.FileSkimmerFunctionIcons.largeico_compress
btn_Compress.Text = "Compress"
CompressToolStripMenuItem.Text = "Compress"
End If
End If
End Select
End Sub
Public Sub ExecuteFile(path As String)
If path Like "*.*" Then
If path Like "*.txt" Then
ElseIf path Like "*.zip" Then
End If
Else
path = path.Replace("!\", Strings.OnceInfo(1) & "\")
If My.Computer.FileSystem.DirectoryExists(path) Then
CurrentDir = path
txt_AddressBar.Text = CurrentDir.Replace(Strings.OnceInfo(1), "!")
ShowContent()
Else
End If
End If
End Sub
Public Sub ShowContent()
Show()
lsv_Content.Items.Clear()
Dim Dir As New DirectoryInfo(CurrentDir)
Dim Files As FileInfo() = Dir.GetFiles()
Dim File As FileInfo
Dim Folders As DirectoryInfo() = Dir.GetDirectories()
Dim Folder As DirectoryInfo
For Each Folder In Folders
Dim FolderName As String = Folder.Name
If Strings.AvailableFeature(45) = 1 Then
lsv_Content.Items.Add(FolderName, 0)
Else
lsv_Content.Items.Add("???", 1)
End If
Next
For Each File In Files
Dim filename As String = File.Name
Dim fileex As String = File.Extension
FileType = GetFileType(fileex)(0)
If Strings.AvailableFeature(46) = 1 Then
lsv_Content.Items.Add(filename, FileType)
Else
lsv_Content.Items.Add("???", 1)
End If
Next
End Sub
Public Function GetFileType(fileex As String)
Dim FileType As Integer
Dim Program As String
Select Case fileex
Case ".txt"
FileType = 2
Program = "Text Document"
Case ".zip"
FileType = 3
Program = "Compressed ZIP file"
'Case ".doc"
' filetype = 5
' program = "Word Document"
'Case ".docx"
' filetype = 5
' program = "Word Document"
Case ".png"
FileType = 3
Program = "Picture"
Case ".jpg"
FileType = 3
Program = "Picture"
Case ".jpeg"
FileType = 3
Program = "Picture"
Case ".bmp"
FileType = 3
Program = "Bitmap"
Case ".gif"
FileType = 3
Program = "Animated Picture"
'Case ".avi"
' filetype = 10
' program = "Video Clip"
'Case ".m4v"
' filetype = 10
' program = "MPEG-4 Video"
'Case ".mp4"
' filetype = 10
' program = "MPEG-4 Video"
'Case ".wmv"
' filetype = 10
' program = "Windows Media Video"
'Case ".mp3"
' filetype = 9
' program = "MPEG-3 Song"
'Case ".zip"
' filetype = 11
' program = "Compressed Files"
'Case ".dll"
' filetype = 8
' program = "System File"
'Case ".exe"
' filetype = 6
' program = "MS-DOS Executable"
'Case ".sh"
' filetype = 7
' program = "BASH Script"
'Case ".bat"
' filetype = 6
' program = "MS-DOS Batch File"
'Case ".url"
' filetype = 5
' program = "Shortcut"
'Case ".htm", ".html"
' filetype = 5
' program = "Web Page"
Case Else
FileType = 1
Program = "Unknown File Type"
End Select
Dim array() As String = {CStr(FileType), Program}
Return (array)
If txt_AddressBar.Text = "!\" Then
'WARNING TO GET BACK BUTTON DISABLED
End If
End Function
Private Sub FS_Compression()
Dim NothingIn As Boolean = True
Dim ZipRandomInt As Integer
Dim ZipRandom As New Random
Dim UnzipRandomInt As Integer
Dim UnzipRandom As New Random
Try
If lsv_Content.SelectedItems(0).Text Like "*.zip" Then
UnzipRandomInt = UnzipRandom.Next(1, 1000000)
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt)
ZipFile.ExtractToDirectory(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text, Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt)
Directory.CreateDirectory(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text.Replace(".zip", ""))
CopyDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt, CurrentDir & "\" & lsv_Content.SelectedItems(0).Text.Replace("zip", ""))
Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt, True)
ElseIf lsv_Content.SelectedItems(0).Text Like "*.*" Then
ZipRandomInt = ZipRandom.Next(1, 1000000)
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt)
File.Copy(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text, Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt & "\" & lsv_Content.SelectedItems(0).Text)
Dim Numbering As String = lsv_Content.SelectedItems(0).Text.Length
Dim TheNaming As String = lsv_Content.SelectedItems(0).Text.Substring(0, Numbering - 3) & "zip"
ZipFile.CreateFromDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt, CurrentDir & "\" & TheNaming)
Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt, True)
NothingIn = False
ElseIf lsv_Content.SelectedItems(0).Text Like "*" Then
If Directory.Exists(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text) = True Then
ZipFile.CreateFromDirectory(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text, CurrentDir & "\" & lsv_Content.SelectedItems(0).Text & ".zip")
NothingIn = False
Else
End If
End If
ShowContent()
Catch ex As Exception
End Try
End Sub
Private Sub FS_Delete()
If Strings.AvailableFeature(47) = 0 Then
Else
Try
If lsv_Content.SelectedItems(0).Text Like "*.*" Then
File.Delete(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text)
ElseIf lsv_Content.SelectedItems(0).Text Like "*" Then
Directory.Delete(CurrentDir & "\" & lsv_Content.SelectedItems(0).Text)
End If
ShowContent()
Catch ex As Exception
End Try
End If
End Sub
End Class

View file

@ -0,0 +1,227 @@
aardvark
albatross
alligator
alpaca
ant
anteater
antelope
ape
armadillo
ass
baboon
badger
barracuda
bat
bear
beaver
bee
bison
boar
buffalo
butterfly
camel
caribou
cat
caterpillar
cow
chamois
cheetah
chicken
chimpanzee
chinchilla
chough
clam
cobra
cockroach
cod
cormorant
coyote
crab
crane
crocodile
crow
curlew
deer
dinosaur
dog
dogfish
dolphin
donkey
dotterel
dove
dragonfly
duck
dugong
dunlin
eagle
echidna
eel
eland
elephant
elephant seal
elk
emu
falcon
ferret
finch
fish
flamingo
fly
fox
frog
galago
gaur
gazelle
gerbil
giant panda
giraffe
gnat
gnu
goat
goldfinch
goldfish
goose
gorilla
goshawk
grasshopper
grouse
guanaco
guineafowl
guinea pig
gull
hamster
hare
hawk
hedgehog
heron
herring
hippopotamus
hornet
horse
human
humming bird
hyena
jackal
jaguar
jay
jellyfish
kangaroo
koala
komodo dragon
kouprey
kudu
lizard
lark
lemur
leopard
lion
llama
lobster
locust
loris
louse
lyrebird
magpie
mallard
manatee
marten
meerkat
mink
mole
monkey
moose
mosquito
mouse
mule
narwhal
newt
nightingale
octopus
okapi
opossum
oryx
ostrich
otter
owl
ox
oyster
panther
parrot
partridge
peafowl
pelican
penguin
pheasant
pig
pigeon
pony
porcupine
porpoise
prairie dog
quail
quelea
rabbit
raccoon
rail
ram
rat
raven
red deer
red panda
reindeer
rhinoceros
rook
ruff
salamander
salmon
sand dollar
sandpiper
sardine
scorpion
sea lion
sea urchin
seahorse
seal
shark
sheep
shrew
shrimp
skunk
snail
snake
spider
squid
squirrel
starling
stingray
stink bug
stork
swallow
swan
tapir
tarsier
termite
tiger
toad
trout
turkey
turtle
vicuña
viper
vulture
wallaby
walrus
wasp
water buffalo
weasel
whale
wolf
wolverine
wombat
woodcock
woodpecker
worm
wren
yak
zebra
bird

View file

@ -0,0 +1,195 @@
afghanistan
albania
algeria
andorra
angola
antigua and barbuda
argentina
armenia
australia
austria
azerbaijan
bahamas
bahrain
bangladesh
barbados
belarus
belgium
belize
benin
bhutan
bolivia
bosnia and herzegovina
botswana
brazil
brunei
bulgaria
burkina faso
burundi
cambodia
cameroon
canada
cape verde
central african republic
chad
chile
china
colombia
comoros
democratic republic of the congo
republic of the congo
costa rica
croatia
cuba
cyprus
czechia
denmark
djibouti
dominica
dominican republic
east timor
ecuador
egypt
el salvador
equatorial guinea
eritrea
estonia
eswatini
ethiopia
fiji
finland
france
gabon
gambia
georgia
germany
ghana
greece
grenada
guatemala
guinea
guinea-bissau
guyana
haiti
honduras
hungary
iceland
india
indonesia
iran
iraq
ireland
israel
italy
ivory coast
jamaica
japan
jordan
kazakhstan
kenya
kiribati
north korea
south korea
kuwait
kyrgyzstan
laos
latvia
lebanon
lesotho
liberia
libya
liechtenstein
lithunania
luxembourg
madagascar
malawi
malaysia
maldives
mali
malta
marshall islands
mauritiania
mauritius
mexico
micronesia
moldova
monaco
mongolia
montonegro
morocco
mozambique
myanmar
namibia
nauru
nepal
netherlands
new zealand
nicaragua
niger
nigeria
north macedonia
norway
oman
pakistan
palau
palestine
panama
papua new guinea
paraguay
peru
philippines
poland
portugal
qatar
romania
russia
rwanda
saint kitts and nevis
saint lucia
saint vincent and the grenadines
samoa
san marino
sao tome and principe
saudi arabia
senegal
serbia
seychelles
sierra leone
singapore
slovakia
slovenia
solomon islands
somalia
south africa
south sudan
spain
sri lanka
sudan
suriname
sweden
switzerland
syria
tajikistan
tanzania
thailand
togo
tonga
trinidad and tobago
tunisia
turkey
turkmenistan
tuvalu
uganda
ukraine
united arab emirates
united kingdom
united states
uruguay
uzbekistan
vanuatu
vatican city
venezuela
vietnam
yemen
zambia
zimbabwe

View file

@ -0,0 +1,76 @@
apple
apricot
avocado
banana
breadfruit
bilberry
blackberry
blackcurrant
blueberry
boysenberry
cantaloupe
currant
cherry
cherimoya
chili
cloudberry
coconut
damson
date
dragonfruit
durian
elderberry
feijoa
fig
gooseberry
grape
grapefruit
guava
huckleberry
honeydew
jackfruit
jambul
jujube
kiwi fruit
kumquat
legume
lemon
lime
loquat
lychee
mango
melon
canary melon
cantaloupe
honeydew
watermelon
rock melon
nectarine
nut
orange
clementine
mandarine
tangerine
papaya
passionfruit
peach
bell pepper
pear
persimmon
physalis
plum
pineapple
pomegranate
pomelo
purple mangosteen
quince
raspberry
rambutan
redcurrant
salal berry
satsuma
star fruit
strawberry
tamarillo
tomato
ugli fruit

View file

@ -0,0 +1,312 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Class KnowledgeInputContent
Private Shared resourceMan As Global.System.Resources.ResourceManager
Private Shared resourceCulture As Global.System.Globalization.CultureInfo
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
Friend Sub New()
MyBase.New
End Sub
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ShiftOS_TheRevival.KnowledgeInputContent", GetType(KnowledgeInputContent).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Shared Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized string similar to aardvark
'''albatross
'''alligator
'''alpaca
'''ant
'''anteater
'''antelope
'''ape
'''armadillo
'''ass
'''baboon
'''badger
'''barracuda
'''bat
'''bear
'''beaver
'''bee
'''bison
'''boar
'''buffalo
'''butterfly
'''camel
'''caribou
'''cat
'''caterpillar
'''cow
'''chamois
'''cheetah
'''chicken
'''chimpanzee
'''chinchilla
'''chough
'''clam
'''cobra
'''cockroach
'''cod
'''cormorant
'''coyote
'''crab
'''crane
'''crocodile
'''crow
'''curlew
'''deer
'''dinosaur
'''dog
'''dogfish
'''dolphin
'''donkey
'''dotterel
'''dove
'''dragonfly
'''duck
'''dugong
'''dunlin
'''eagle
'''echidna
'''eel
'''eland
'''elephant
'''elephant seal
'''elk
'''emu ''' [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property Animals() As String
Get
Return ResourceManager.GetString("Animals", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to afghanistan
'''albania
'''algeria
'''andorra
'''angola
'''antigua and barbuda
'''argentina
'''armenia
'''australia
'''austria
'''azerbaijan
'''bahamas
'''bahrain
'''bangladesh
'''barbados
'''belarus
'''belgium
'''belize
'''benin
'''bhutan
'''bolivia
'''bosnia and herzegovina
'''botswana
'''brazil
'''brunei
'''bulgaria
'''burkina faso
'''burundi
'''cambodia
'''cameroon
'''canada
'''cape verde
'''central african republic
'''chad
'''chile
'''china
'''colombia
'''comoros
'''democratic republic of the congo
'''republic of the congo
'''costa rica
'''croatia
'''cuba
'''cyprus
'''czechia
'''denmark
'''dji [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property Countries() As String
Get
Return ResourceManager.GetString("Countries", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to apple
'''apricot
'''avocado
'''banana
'''breadfruit
'''bilberry
'''blackberry
'''blackcurrant
'''blueberry
'''boysenberry
'''cantaloupe
'''currant
'''cherry
'''cherimoya
'''chili
'''cloudberry
'''coconut
'''damson
'''date
'''dragonfruit
'''durian
'''elderberry
'''feijoa
'''fig
'''gooseberry
'''grape
'''grapefruit
'''guava
'''huckleberry
'''honeydew
'''jackfruit
'''jambul
'''jujube
'''kiwi fruit
'''kumquat
'''legume
'''lemon
'''lime
'''loquat
'''lychee
'''mango
'''melon
'''canary melon
'''cantaloupe
'''honeydew
'''watermelon
'''rock melon
'''nectarine
'''nut
'''orange
'''clementine
'''mandarine
'''tangerine
'''p [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property Fruits() As String
Get
Return ResourceManager.GetString("Fruits", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to alabama
'''alaska
'''arizona
'''arkansas
'''california
'''colorado
'''connecticut
'''delaware
'''florida
'''georgia
'''hawaii
'''idaho
'''illinois
'''indiana
'''iowa
'''kansas
'''kentucky
'''louisiana
'''maine
'''maryland
'''massachusetts
'''michigan
'''minnesota
'''mississippi
'''missouri
'''montana
'''nebraska
'''nevada
'''new hampshire
'''new jersey
'''new mexico
'''new york
'''north carolina
'''north dakota
'''ohio
'''oklahoma
'''oregon
'''pennsylvania
'''rhode island
'''south carolina
'''south dakota
'''tennessee
'''texas
'''utah
'''vermont
'''virginia
'''washington
'''washington dc
'''west virgi [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property US_States() As String
Get
Return ResourceManager.GetString("US_States", resourceCulture)
End Get
End Property
End Class
End Namespace

View file

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Animals" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>animals.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="Countries" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>countries.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="Fruits" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>fruits.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="US_States" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>us_states.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
</root>

View file

@ -0,0 +1,51 @@
alabama
alaska
arizona
arkansas
california
colorado
connecticut
delaware
florida
georgia
hawaii
idaho
illinois
indiana
iowa
kansas
kentucky
louisiana
maine
maryland
massachusetts
michigan
minnesota
mississippi
missouri
montana
nebraska
nevada
new hampshire
new jersey
new mexico
new york
north carolina
north dakota
ohio
oklahoma
oregon
pennsylvania
rhode island
south carolina
south dakota
tennessee
texas
utah
vermont
virginia
washington
washington dc
west virginia
wisconsin
wyoming

View file

@ -0,0 +1,173 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Uni_KnowledgeInput
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lbl_Title = New System.Windows.Forms.Label()
Me.cmb_Category = New System.Windows.Forms.ComboBox()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.lbl_NextLevel = New System.Windows.Forms.Label()
Me.lbl_Level = New System.Windows.Forms.Label()
Me.lbl_TotalGuess = New System.Windows.Forms.Label()
Me.txt_InputWord = New System.Windows.Forms.TextBox()
Me.lst_Guessed = New System.Windows.Forms.ListBox()
Me.lbl_Guessed = New System.Windows.Forms.Label()
Me.Panel1.SuspendLayout()
Me.SuspendLayout()
'
'lbl_Title
'
Me.lbl_Title.AutoSize = True
Me.lbl_Title.Font = New System.Drawing.Font("Comic Sans MS", 24.0!, System.Drawing.FontStyle.Bold)
Me.lbl_Title.Location = New System.Drawing.Point(12, 9)
Me.lbl_Title.Name = "lbl_Title"
Me.lbl_Title.Size = New System.Drawing.Size(274, 45)
Me.lbl_Title.TabIndex = 0
Me.lbl_Title.Text = "Knowledge Input"
'
'cmb_Category
'
Me.cmb_Category.BackColor = System.Drawing.Color.White
Me.cmb_Category.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.cmb_Category.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.cmb_Category.ForeColor = System.Drawing.Color.Black
Me.cmb_Category.FormattingEnabled = True
Me.cmb_Category.Items.AddRange(New Object() {"Animals", "Countries", "Fruits", "US States"})
Me.cmb_Category.Location = New System.Drawing.Point(20, 96)
Me.cmb_Category.Name = "cmb_Category"
Me.cmb_Category.Size = New System.Drawing.Size(266, 31)
Me.cmb_Category.TabIndex = 1
Me.cmb_Category.Text = "Select Category"
'
'Panel1
'
Me.Panel1.Controls.Add(Me.lbl_NextLevel)
Me.Panel1.Controls.Add(Me.lbl_Level)
Me.Panel1.Controls.Add(Me.lbl_TotalGuess)
Me.Panel1.Controls.Add(Me.txt_InputWord)
Me.Panel1.Controls.Add(Me.lbl_Title)
Me.Panel1.Controls.Add(Me.cmb_Category)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(784, 143)
Me.Panel1.TabIndex = 2
'
'lbl_NextLevel
'
Me.lbl_NextLevel.AutoSize = True
Me.lbl_NextLevel.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.lbl_NextLevel.Location = New System.Drawing.Point(288, 55)
Me.lbl_NextLevel.Name = "lbl_NextLevel"
Me.lbl_NextLevel.Size = New System.Drawing.Size(223, 23)
Me.lbl_NextLevel.TabIndex = 3
Me.lbl_NextLevel.Text = "Words until next level ( CP) :"
'
'lbl_Level
'
Me.lbl_Level.AutoSize = True
Me.lbl_Level.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.lbl_Level.Location = New System.Drawing.Point(288, 32)
Me.lbl_Level.Name = "lbl_Level"
Me.lbl_Level.Size = New System.Drawing.Size(63, 23)
Me.lbl_Level.TabIndex = 3
Me.lbl_Level.Text = "Level 0"
'
'lbl_TotalGuess
'
Me.lbl_TotalGuess.AutoSize = True
Me.lbl_TotalGuess.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.lbl_TotalGuess.Location = New System.Drawing.Point(288, 9)
Me.lbl_TotalGuess.Name = "lbl_TotalGuess"
Me.lbl_TotalGuess.Size = New System.Drawing.Size(112, 23)
Me.lbl_TotalGuess.TabIndex = 3
Me.lbl_TotalGuess.Text = "Guessed : 0/0"
'
'txt_InputWord
'
Me.txt_InputWord.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txt_InputWord.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.txt_InputWord.Location = New System.Drawing.Point(292, 96)
Me.txt_InputWord.Name = "txt_InputWord"
Me.txt_InputWord.Size = New System.Drawing.Size(470, 30)
Me.txt_InputWord.TabIndex = 2
'
'lst_Guessed
'
Me.lst_Guessed.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lst_Guessed.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.lst_Guessed.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.lst_Guessed.FormattingEnabled = True
Me.lst_Guessed.ItemHeight = 23
Me.lst_Guessed.Location = New System.Drawing.Point(20, 177)
Me.lst_Guessed.Name = "lst_Guessed"
Me.lst_Guessed.Size = New System.Drawing.Size(752, 372)
Me.lst_Guessed.TabIndex = 3
'
'lbl_Guessed
'
Me.lbl_Guessed.AutoSize = True
Me.lbl_Guessed.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
Me.lbl_Guessed.Location = New System.Drawing.Point(16, 146)
Me.lbl_Guessed.Name = "lbl_Guessed"
Me.lbl_Guessed.Size = New System.Drawing.Size(132, 23)
Me.lbl_Guessed.TabIndex = 4
Me.lbl_Guessed.Text = "Guessed Words :"
'
'Uni_KnowledgeInput
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(784, 561)
Me.ControlBox = False
Me.Controls.Add(Me.lbl_Guessed)
Me.Controls.Add(Me.lst_Guessed)
Me.Controls.Add(Me.Panel1)
Me.ForeColor = System.Drawing.Color.Black
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "Uni_KnowledgeInput"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Uni_KnowledgeInput"
Me.TopMost = True
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lbl_Title As Label
Friend WithEvents cmb_Category As ComboBox
Friend WithEvents Panel1 As Panel
Friend WithEvents txt_InputWord As TextBox
Friend WithEvents lst_Guessed As ListBox
Friend WithEvents lbl_Guessed As Label
Friend WithEvents lbl_TotalGuess As Label
Friend WithEvents lbl_Level As Label
Friend WithEvents lbl_NextLevel As Label
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,249 @@
Imports System.IO
Public Class Uni_KnowledgeInput
Public Countries(194) As String
Public Animals(226) As String
Public Fruits(75) As String
Public US_States(50) As String
Public TotalGuessed As Integer
Public CurrentCategory As String
Public Level As Integer
Public ForNextLevel As Integer
Public JustStarted As Boolean = True
Private Sub Uni_KnowledgeInput_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput") = True Then
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin") = True Then
Else
If Strings.AvailableFeature(38) = 1 Then
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin", My.Resources.KnowledgeInputContent.Animals)
End If
End If
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin") = True Then
Else
If Strings.AvailableFeature(39) = 1 Then
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin", My.Resources.KnowledgeInputContent.Fruits)
End If
End If
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\US_States.kin") = True Then
Else
If Strings.AvailableFeature(42) = 1 Then
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\US_States.kin", My.Resources.KnowledgeInputContent.US_States)
End If
End If
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput")
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Countries.kin", My.Resources.KnowledgeInputContent.Countries)
End If
CurrentCategory = "Select Category"
LoadCategory()
End Sub
Private Sub lst_Guessed_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles lst_Guessed.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(lst_Guessed.GetItemText(lst_Guessed.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub cmb_Category_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmb_Category.DrawItem
e.DrawBackground()
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
e.Graphics.FillRectangle(Brushes.Black, e.Bounds)
End If
Dim sf As New StringFormat
Using b As New SolidBrush(e.ForeColor)
e.Graphics.DrawString(cmb_Category.GetItemText(cmb_Category.Items(e.Index)), e.Font, b, e.Bounds, sf)
End Using
e.DrawFocusRectangle()
End Sub
Private Sub txt_InputWord_TextChanged(sender As Object, e As KeyEventArgs) Handles txt_InputWord.KeyDown
Select Case e.KeyCode
Case Keys.Enter
CheckCorrect(txt_InputWord.Text.ToLower)
txt_InputWord.Text = Nothing
JustStarted = False
End Select
End Sub
Private Sub cmb_Category_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_Category.SelectedIndexChanged
Dim Available As Boolean = False
JustStarted = True
lbl_TotalGuess.Text = "Guessed : 0/0"
lst_Guessed.Items.Clear()
Select Case cmb_Category.SelectedItem.ToString
Case "Countries"
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentCountries.kin") = True Then
lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentCountries.kin"))
End If
Available = True
Countries = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Countries.kin")
Case "Animals"
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentAnimals.kin") = True Then
lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentAnimals.kin"))
End If
Available = True
Animals = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin")
Case "Fruits"
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentFruits.kin") = True Then
lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentFruits.kin"))
End If
Available = True
Fruits = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin")
Case "US States"
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentUS_States.kin") = True Then
lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentUS_States.kin"))
End If
Available = True
US_States = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\US_States.kin")
End Select
If Available = True Then
TotalGuessed = lst_Guessed.Items.Count
lbl_TotalGuess.Text = "Guessed : " & TotalGuessed & "/"
Select Case cmb_Category.SelectedItem.ToString
Case "Countries"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & Countries.Length
Case "Animals"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & Animals.Length
Case "Fruits"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & Fruits.Length
Case "US States"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & US_States.Length
End Select
Level = Math.Ceiling((TotalGuessed / 10))
CheckLevel()
CurrentCategory = cmb_Category.SelectedItem.ToString
End If
End Sub
Private Sub LoadCategory()
If Strings.AvailableFeature(38) = 0 Then
cmb_Category.Items.Remove("Animals")
End If
If Strings.AvailableFeature(39) = 0 Then
cmb_Category.Items.Remove("Fruits")
End If
If Strings.AvailableFeature(42) = 0 Then
cmb_Category.Items.Remove("US States")
End If
End Sub
Private Sub CheckLevel()
lbl_Level.Text = "Level " & Level
ForNextLevel = Math.Abs(TotalGuessed - (Level * 10))
If ForNextLevel = 0 Then
If JustStarted = False Then
ChangeCP(True, Level * 25)
End If
Level = Level + 1
lbl_Level.Text = "Level " & Level
ForNextLevel = 10
End If
lbl_NextLevel.Text = "Words until next level (" & Level * 25 & " CP) : " & ForNextLevel
End Sub
Private Sub CheckCorrect(Input As String)
Dim Correct As Boolean = False
Select Case cmb_Category.SelectedItem.ToString
Case "Countries"
Dim Lines As Integer = 0
Do
If Lines = Countries.Length Then
Exit Do
End If
If Countries(Lines) = Input Then
Countries(Lines) = "null"
Correct = True
Exit Do
Else
Lines = Lines + 1
End If
Loop
Case "Animals"
Dim Lines As Integer = 0
Do
If Lines = Animals.Length Then
Exit Do
End If
If Animals(Lines) = Input Then
Animals(Lines) = "null"
Correct = True
Exit Do
Else
Lines = Lines + 1
End If
Loop
Case "Fruits"
Dim Lines As Integer = 0
Do
If Lines = Fruits.Length Then
Exit Do
End If
If Fruits(Lines) = Input Then
Fruits(Lines) = "null"
Correct = True
Exit Do
Else
Lines = Lines + 1
End If
Loop
Case "US States"
Dim Lines As Integer = 0
Do
If Lines = US_States.Length Then
Exit Do
End If
If US_States(Lines) = Input Then
US_States(Lines) = "null"
Correct = True
Exit Do
Else
Lines = Lines + 1
End If
Loop
End Select
If Correct = True Then
lst_Guessed.Items.Add(Input)
TotalGuessed = lst_Guessed.Items.Count
lbl_TotalGuess.Text = "Guessed : " & TotalGuessed & "/"
Select Case cmb_Category.SelectedItem.ToString
Case "Countries"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & Countries.Length
Case "Animals"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & Animals.Length
Case "Fruits"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & Fruits.Length
Case "US States"
lbl_TotalGuess.Text = lbl_TotalGuess.Text & US_States.Length
End Select
CheckLevel()
SaveCategory()
End If
End Sub
Private Sub SaveCategory()
Select Case CurrentCategory
Case "Countries"
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Countries.kin", Countries)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentCountries.kin", lst_Guessed.Items.Cast(Of String).ToArray)
Case "Animals"
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin", Animals)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentAnimals.kin", lst_Guessed.Items.Cast(Of String).ToArray)
Case "Fruits"
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin", Fruits)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentFruits.kin", lst_Guessed.Items.Cast(Of String).ToArray)
Case "US States"
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\US_States.kin", US_States)
File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentUS_States.kin", lst_Guessed.Items.Cast(Of String).ToArray)
End Select
End Sub
End Class

View file

@ -0,0 +1,56 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class ConsoleRTF
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
Me.SuspendLayout()
'
'RichTextBox1
'
Me.RichTextBox1.BackColor = System.Drawing.Color.Black
Me.RichTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.RichTextBox1.Font = New System.Drawing.Font("Consolas", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.RichTextBox1.ForeColor = System.Drawing.Color.White
Me.RichTextBox1.Location = New System.Drawing.Point(0, 0)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None
Me.RichTextBox1.ShortcutsEnabled = False
Me.RichTextBox1.Size = New System.Drawing.Size(800, 450)
Me.RichTextBox1.TabIndex = 0
Me.RichTextBox1.Text = ""
'
'ConsoleRTF
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.RichTextBox1)
Me.Name = "ConsoleRTF"
Me.Text = "ConsoleRTF"
Me.ResumeLayout(False)
End Sub
Friend WithEvents RichTextBox1 As RichTextBox
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,3 @@
Public Class ConsoleRTF
End Class

View file

@ -0,0 +1,82 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class DebugWindow
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(12, 49)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.ReadOnly = True
Me.TextBox1.Size = New System.Drawing.Size(760, 500)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "=====SHIFTOS ANTIBUGSPAP====="
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 24.0!, System.Drawing.FontStyle.Bold)
Me.Label1.Location = New System.Drawing.Point(12, 9)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(551, 37)
Me.Label1.TabIndex = 1
Me.Label1.Text = "ShiftOS-TheRevival Debug Window"
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(697, 20)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 2
Me.Button1.Text = "Copy All"
Me.Button1.UseVisualStyleBackColor = True
'
'DebugWindow
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(784, 561)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.TextBox1)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "DebugWindow"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "DebugWindow"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As TextBox
Friend WithEvents Label1 As Label
Friend WithEvents Button1 As Button
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,13 @@
Public Class DebugWindow
Public ShouldDebug As Boolean
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Clipboard.SetText(TextBox1.Text)
End Sub
Public Sub AddLine(subs As String, int As String, str As String, action As String)
If ShouldDebug = True Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & subs & " Sub with " & str & " string and " & int & " integer did " & action
End If
End Sub
End Class

View file

@ -1,9 +1,9 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Terminal
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Desktop
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@ -20,42 +20,27 @@ Partial Class Terminal
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.StoryOnlyTimer = New System.Windows.Forms.Timer(Me.components)
Me.DuWM = New System.Windows.Forms.Timer(Me.components)
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.BackColor = System.Drawing.Color.Black
Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.TextBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TextBox1.Font = New System.Drawing.Font("Consolas", 11.0!)
Me.TextBox1.ForeColor = System.Drawing.Color.Silver
Me.TextBox1.Location = New System.Drawing.Point(0, 0)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(800, 450)
Me.TextBox1.TabIndex = 0
'
'StoryOnlyTimer
'
'
'Terminal
'Desktop
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Black
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Terminal"
Me.Text = "Terminal"
Me.ForeColor = System.Drawing.Color.White
Me.Name = "Desktop"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Desktop"
Me.TopMost = True
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As TextBox
Friend WithEvents StoryOnlyTimer As Timer
Friend WithEvents DuWM As Timer
End Class

View file

@ -117,7 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="StoryOnlyTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="DuWM.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View file

@ -0,0 +1,16 @@
Public Class Desktop
Private Sub Desktop_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Desktop_KeyPress(sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.T AndAlso Keys.Control Then
MsgBox("dangit")
DuWM_FirstWindowSet(Console)
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
'DuWM_FirstWindowSet(Console)
End Sub
End Class

View file

@ -0,0 +1,53 @@
Imports System.Threading
Module DesktopManager
Public IsStartG As Boolean
Public Sub StartG()
IsStartG = True
Desktop.Show()
Desktop.FormBorderStyle = FormBorderStyle.None
Desktop.WindowState = FormWindowState.Maximized
Desktop.TopMost = False
IsConsoleParent = False
Console.Dispose()
WindowManagerChoose()
Cursor.Show()
End Sub
Public Sub StopG()
IsStartG = False
IsConsoleParent = True
TerminateWindowApps()
Cursor.Hide()
If Strings.OnceInfo(6) = "story" Then
SaveGame()
End If
If Strings.ComputerInfo(7) = 1 Then
MsgBox("this is not a bug, this is a feature") 'Use this messagebox to hold Console to stay open, because removing this line closes Console all together for some reason
End If
Console.Show()
Desktop.Hide()
End Sub
Public Sub TerminateWindowApps()
Dim MaxPID As Integer = 0
Do
If MaxPID = 2 Then
Exit Do
Else
Strings.ProcessID(MaxPID) = 0
MaxPID = MaxPID + 1
End If
Loop
End Sub
Public Sub WindowManagerChoose()
Select Case Strings.ComputerInfo(7)
Case 1
DuWM_Initiate()
Case 2
AnusWM_Initiate()
End Select
End Sub
End Module

View file

@ -0,0 +1,30 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class ThisIsNotABugThisIsAFeature
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Text = "ThisIsNotABugThisIsAFeature"
End Sub
End Class

View file

@ -0,0 +1,3 @@
Public Class ThisIsNotABugThisIsAFeature
End Class

View file

@ -0,0 +1,93 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Epilepsy
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Epilepsy))
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.AutoClose = New System.Windows.Forms.Timer(Me.components)
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Times New Roman", 48.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.ForeColor = System.Drawing.Color.Red
Me.Label1.Location = New System.Drawing.Point(197, 94)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(411, 73)
Me.Label1.TabIndex = 0
Me.Label1.Text = "WARNING!!!"
'
'Label2
'
Me.Label2.Font = New System.Drawing.Font("Consolas", 11.0!)
Me.Label2.Location = New System.Drawing.Point(12, 213)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(776, 205)
Me.Label2.TabIndex = 1
Me.Label2.Text = resources.GetString("Label2.Text")
'
'Button1
'
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Font = New System.Drawing.Font("Consolas", 24.0!)
Me.Button1.ForeColor = System.Drawing.Color.Red
Me.Button1.Location = New System.Drawing.Point(244, 473)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(294, 51)
Me.Button1.TabIndex = 2
Me.Button1.Text = "CLOSE NOW!"
Me.Button1.UseVisualStyleBackColor = True
'
'AutoClose
'
'
'Epilepsy
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Black
Me.ClientSize = New System.Drawing.Size(800, 600)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.ForeColor = System.Drawing.Color.White
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "Epilepsy"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Epilepsy"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
Friend WithEvents Button1 As Button
Friend WithEvents AutoClose As Timer
End Class

View file

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Label2.Text" xml:space="preserve">
<value>A very small percentage of individuals may experience epileptic seizures when exposed to certain light patterns or flashing lights. Exposure to certain patterns or backgrounds on a computer screen, or while playing video games, may induce an epileptic seizure in these individuals. Certain conditions may induce previously undetected epileptic symptoms even in persons who have no history of prior seizures or epilepsy.
If you, or anyone in your family, have an epileptic condition, consult your physician prior to playing. If you experience any of the following symptoms while playing a video or computer game dizziness, altered vision, eye or muscle twitches, loss of awareness, disorientation, any involuntary movement, or convulsions IMMEDIATELY discontinue use and consult your physician before resuming play.</value>
</data>
<metadata name="AutoClose.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View file

@ -0,0 +1,28 @@
Public Class Epilepsy
Dim AutoClosed As Integer = 0
Private Sub Epilepsy_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AutoClose.Start()
End Sub
Private Sub AutoClose_Tick(sender As Object, e As EventArgs) Handles AutoClose.Tick
AutoClosed = AutoClosed + 1
Select Case AutoClosed
Case 6, 18, 30, 42, 54, 66, 78, 90, 102, 114
Label1.Visible = False
Case 12, 24, 36, 48, 60, 72, 84, 96, 108, 120
Label1.Visible = True
Case 125
Strings.IsFree = False
Strings.OnceInfo(6) = "story"
IntroStory.Show()
ShiftOSMenu.Close()
NewGameMode(0)
Close()
End Select
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Close()
End Sub
End Class

View file

@ -24,25 +24,39 @@ Partial Class IntroStory
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.OpacityPlay = New System.Windows.Forms.Timer(Me.components)
Me.Label1 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'OpacityPlay
'
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Consolas", 32.0!)
Me.Label1.Location = New System.Drawing.Point(0, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(790, 51)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Your computer has been hijacked!"
'
'IntroStory
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.Label1)
Me.Name = "IntroStory"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.Text = "IntroStory"
Me.TopMost = True
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents OpacityPlay As Timer
Friend WithEvents Label1 As Label
End Class

View file

@ -8,22 +8,31 @@
Private Sub OpacityPlay_Tick(sender As Object, e As EventArgs) Handles OpacityPlay.Tick
Select Case TimerDisplay
Case 1, 5, 9, 13, 17
Case 1, 9, 17, 25
BackColor = Color.White
Label1.ForeColor = Color.Black
Visible = True
TimerDisplay = TimerDisplay + 1
Case 3, 7, 11, 15, 19
Case 3, 7, 11, 15, 19, 23, 27
Visible = False
TimerDisplay = TimerDisplay + 1
Case 21
Case 5, 13, 21
BackColor = Color.Black
Label1.ForeColor = Color.White
Visible = True
TimerDisplay = TimerDisplay + 1
Case 29
BackColor = Color.Black
Label1.ForeColor = Color.Black
Visible = True
Opacity = 0.1
TimerDisplay = 22
Case 22
TimerDisplay = 30
Case 30
If Opacity = 1 Then
Strings.ComputerInfo(3) = "0"
Strings.IsFree = False
Terminal.Show()
IsConsoleParent = True
Console.Show()
Close()
Else
Opacity = Opacity + 0.05

View file

@ -0,0 +1,209 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class ShiftOSAbout
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
Me.LinkLabel2 = New System.Windows.Forms.LinkLabel()
Me.LinkLabel3 = New System.Windows.Forms.LinkLabel()
Me.LinkLabel4 = New System.Windows.Forms.LinkLabel()
Me.Label6 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Consolas", 48.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.ForeColor = System.Drawing.Color.White
Me.Label1.Location = New System.Drawing.Point(12, 9)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(277, 75)
Me.Label1.TabIndex = 0
Me.Label1.Text = "ShiftOS"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Consolas", 12.0!, System.Drawing.FontStyle.Italic)
Me.Label2.ForeColor = System.Drawing.Color.White
Me.Label2.Location = New System.Drawing.Point(295, 53)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(162, 19)
Me.Label2.TabIndex = 1
Me.Label2.Text = "Shift it your way"
'
'Button1
'
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.Button1.ForeColor = System.Drawing.Color.White
Me.Button1.Location = New System.Drawing.Point(675, 518)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(97, 31)
Me.Button1.TabIndex = 2
Me.Button1.Text = "Close"
Me.Button1.UseVisualStyleBackColor = True
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Consolas", 12.0!)
Me.Label3.ForeColor = System.Drawing.Color.White
Me.Label3.Location = New System.Drawing.Point(21, 84)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(81, 19)
Me.Label3.TabIndex = 3
Me.Label3.Text = "Version "
'
'Label4
'
Me.Label4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Label4.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.Label4.ForeColor = System.Drawing.Color.White
Me.Label4.Location = New System.Drawing.Point(21, 115)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(436, 393)
Me.Label4.TabIndex = 4
Me.Label4.Text = "This project is not possible without the initiation from :" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Philip Adams (OSFirst" &
"Timer)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "MichaelTheShifter (acidiclights)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "ShiftOS-TheRevival Developers :" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Eve" &
"rything Windows (DevX) - Main Developer"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Consolas", 12.0!)
Me.Label5.ForeColor = System.Drawing.Color.White
Me.Label5.Location = New System.Drawing.Point(475, 115)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(234, 19)
Me.Label5.TabIndex = 3
Me.Label5.Text = "More information about us"
'
'LinkLabel1
'
Me.LinkLabel1.AutoSize = True
Me.LinkLabel1.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.LinkLabel1.LinkColor = System.Drawing.Color.White
Me.LinkLabel1.Location = New System.Drawing.Point(476, 152)
Me.LinkLabel1.Name = "LinkLabel1"
Me.LinkLabel1.Size = New System.Drawing.Size(56, 17)
Me.LinkLabel1.TabIndex = 5
Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "GitHub"
Me.LinkLabel1.VisitedLinkColor = System.Drawing.Color.Gray
'
'LinkLabel2
'
Me.LinkLabel2.AutoSize = True
Me.LinkLabel2.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.LinkLabel2.LinkColor = System.Drawing.Color.White
Me.LinkLabel2.Location = New System.Drawing.Point(476, 172)
Me.LinkLabel2.Name = "LinkLabel2"
Me.LinkLabel2.Size = New System.Drawing.Size(64, 17)
Me.LinkLabel2.TabIndex = 5
Me.LinkLabel2.TabStop = True
Me.LinkLabel2.Text = "itch.io"
Me.LinkLabel2.VisitedLinkColor = System.Drawing.Color.Gray
'
'LinkLabel3
'
Me.LinkLabel3.AutoSize = True
Me.LinkLabel3.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.LinkLabel3.LinkColor = System.Drawing.Color.White
Me.LinkLabel3.Location = New System.Drawing.Point(476, 192)
Me.LinkLabel3.Name = "LinkLabel3"
Me.LinkLabel3.Size = New System.Drawing.Size(120, 17)
Me.LinkLabel3.TabIndex = 5
Me.LinkLabel3.TabStop = True
Me.LinkLabel3.Text = "Discord Server"
Me.LinkLabel3.VisitedLinkColor = System.Drawing.Color.Gray
'
'LinkLabel4
'
Me.LinkLabel4.AutoSize = True
Me.LinkLabel4.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.LinkLabel4.LinkColor = System.Drawing.Color.White
Me.LinkLabel4.Location = New System.Drawing.Point(476, 212)
Me.LinkLabel4.Name = "LinkLabel4"
Me.LinkLabel4.Size = New System.Drawing.Size(128, 17)
Me.LinkLabel4.TabIndex = 5
Me.LinkLabel4.TabStop = True
Me.LinkLabel4.Text = "YouTube Channel"
Me.LinkLabel4.VisitedLinkColor = System.Drawing.Color.Gray
'
'Label6
'
Me.Label6.Font = New System.Drawing.Font("Consolas", 12.0!)
Me.Label6.ForeColor = System.Drawing.Color.White
Me.Label6.Location = New System.Drawing.Point(475, 250)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(297, 46)
Me.Label6.TabIndex = 3
Me.Label6.Text = "ShiftOS-TheRevival is licensed under the GNU GPL v3 License."
'
'ShiftOSAbout
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Black
Me.ClientSize = New System.Drawing.Size(784, 561)
Me.Controls.Add(Me.LinkLabel4)
Me.Controls.Add(Me.LinkLabel3)
Me.Controls.Add(Me.LinkLabel2)
Me.Controls.Add(Me.LinkLabel1)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.MaximizeBox = False
Me.Name = "ShiftOSAbout"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "About ShiftOS"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
Friend WithEvents Button1 As Button
Friend WithEvents Label3 As Label
Friend WithEvents Label4 As Label
Friend WithEvents Label5 As Label
Friend WithEvents LinkLabel1 As LinkLabel
Friend WithEvents LinkLabel2 As LinkLabel
Friend WithEvents LinkLabel3 As LinkLabel
Friend WithEvents LinkLabel4 As LinkLabel
Friend WithEvents Label6 As Label
End Class

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,25 @@
Public Class ShiftOSAbout
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Close()
End Sub
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Process.Start("https://github.com/EverythingWindows/ShiftOS-TheRevival")
End Sub
Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
Process.Start("https://shiftos-therevival.itch.io/shiftos-therevival")
End Sub
Private Sub LinkLabel3_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked
Process.Start("https://discord.gg/5QXxWJRM6R")
End Sub
Private Sub LinkLabel4_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel4.LinkClicked
Process.Start("https://www.youtube.com/@ShiftOS_")
End Sub
Private Sub ShiftOSAbout_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label3.Text = Label3.Text & My.Resources.CurrentVersion
End Sub
End Class

View file

@ -22,6 +22,8 @@ Partial Class ShiftOSMenu
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ShiftOSMenu))
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.btn_Aboot = New System.Windows.Forms.Button()
@ -31,6 +33,10 @@ Partial Class ShiftOSMenu
Me.btn_Exit = New System.Windows.Forms.Button()
Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker()
Me.Thumbnail = New System.Windows.Forms.PictureBox()
Me.BannerChange = New System.Windows.Forms.Timer(Me.components)
Me.Label3 = New System.Windows.Forms.Label()
Me.btn_Chapter5 = New System.Windows.Forms.Button()
Me.btn_Back = New System.Windows.Forms.Button()
CType(Me.Thumbnail, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
@ -59,10 +65,11 @@ Partial Class ShiftOSMenu
'btn_Aboot
'
Me.btn_Aboot.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Aboot.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_Aboot.ForeColor = System.Drawing.Color.White
Me.btn_Aboot.Location = New System.Drawing.Point(22, 166)
Me.btn_Aboot.Location = New System.Drawing.Point(22, 204)
Me.btn_Aboot.Name = "btn_Aboot"
Me.btn_Aboot.Size = New System.Drawing.Size(224, 23)
Me.btn_Aboot.Size = New System.Drawing.Size(224, 40)
Me.btn_Aboot.TabIndex = 3
Me.btn_Aboot.Text = "About"
Me.btn_Aboot.UseVisualStyleBackColor = True
@ -80,10 +87,11 @@ Partial Class ShiftOSMenu
'btn_StoryMode
'
Me.btn_StoryMode.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_StoryMode.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_StoryMode.ForeColor = System.Drawing.Color.White
Me.btn_StoryMode.Location = New System.Drawing.Point(22, 108)
Me.btn_StoryMode.Location = New System.Drawing.Point(22, 112)
Me.btn_StoryMode.Name = "btn_StoryMode"
Me.btn_StoryMode.Size = New System.Drawing.Size(224, 23)
Me.btn_StoryMode.Size = New System.Drawing.Size(224, 40)
Me.btn_StoryMode.TabIndex = 1
Me.btn_StoryMode.Text = "Story Mode"
Me.btn_StoryMode.UseVisualStyleBackColor = True
@ -91,10 +99,11 @@ Partial Class ShiftOSMenu
'btn_FreeRoam
'
Me.btn_FreeRoam.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_FreeRoam.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_FreeRoam.ForeColor = System.Drawing.Color.White
Me.btn_FreeRoam.Location = New System.Drawing.Point(22, 137)
Me.btn_FreeRoam.Location = New System.Drawing.Point(22, 158)
Me.btn_FreeRoam.Name = "btn_FreeRoam"
Me.btn_FreeRoam.Size = New System.Drawing.Size(224, 23)
Me.btn_FreeRoam.Size = New System.Drawing.Size(224, 40)
Me.btn_FreeRoam.TabIndex = 2
Me.btn_FreeRoam.Text = "Free Roam Mode"
Me.btn_FreeRoam.UseVisualStyleBackColor = True
@ -102,10 +111,11 @@ Partial Class ShiftOSMenu
'btn_Exit
'
Me.btn_Exit.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Exit.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_Exit.ForeColor = System.Drawing.Color.White
Me.btn_Exit.Location = New System.Drawing.Point(22, 195)
Me.btn_Exit.Location = New System.Drawing.Point(22, 250)
Me.btn_Exit.Name = "btn_Exit"
Me.btn_Exit.Size = New System.Drawing.Size(224, 23)
Me.btn_Exit.Size = New System.Drawing.Size(224, 40)
Me.btn_Exit.TabIndex = 4
Me.btn_Exit.Text = "Exit"
Me.btn_Exit.UseVisualStyleBackColor = True
@ -113,6 +123,8 @@ Partial Class ShiftOSMenu
'Thumbnail
'
Me.Thumbnail.BackColor = System.Drawing.Color.Silver
Me.Thumbnail.BackgroundImage = Global.ShiftOS_TheRevival.My.Resources.Resources.MenuBanner1
Me.Thumbnail.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
Me.Thumbnail.Dock = System.Windows.Forms.DockStyle.Right
Me.Thumbnail.Location = New System.Drawing.Point(264, 0)
Me.Thumbnail.Name = "Thumbnail"
@ -120,25 +132,68 @@ Partial Class ShiftOSMenu
Me.Thumbnail.TabIndex = 5
Me.Thumbnail.TabStop = False
'
'BannerChange
'
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Consolas", 12.0!)
Me.Label3.ForeColor = System.Drawing.Color.White
Me.Label3.Location = New System.Drawing.Point(18, 87)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(162, 19)
Me.Label3.TabIndex = 1
Me.Label3.Text = "Shift it your way"
Me.Label3.Visible = False
'
'btn_Chapter5
'
Me.btn_Chapter5.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Chapter5.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_Chapter5.ForeColor = System.Drawing.Color.White
Me.btn_Chapter5.Location = New System.Drawing.Point(22, 296)
Me.btn_Chapter5.Name = "btn_Chapter5"
Me.btn_Chapter5.Size = New System.Drawing.Size(224, 40)
Me.btn_Chapter5.TabIndex = 5
Me.btn_Chapter5.Text = "Chapter 5" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Praeter sensum"
Me.btn_Chapter5.UseVisualStyleBackColor = True
Me.btn_Chapter5.Visible = False
'
'btn_Back
'
Me.btn_Back.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_Back.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.btn_Back.ForeColor = System.Drawing.Color.White
Me.btn_Back.Location = New System.Drawing.Point(22, 342)
Me.btn_Back.Name = "btn_Back"
Me.btn_Back.Size = New System.Drawing.Size(224, 40)
Me.btn_Back.TabIndex = 6
Me.btn_Back.Text = "Back"
Me.btn_Back.UseVisualStyleBackColor = True
Me.btn_Back.Visible = False
'
'ShiftOSMenu
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Black
Me.BackColor = System.Drawing.Color.DimGray
Me.ClientSize = New System.Drawing.Size(624, 441)
Me.Controls.Add(Me.Thumbnail)
Me.Controls.Add(Me.lbl_BuildString)
Me.Controls.Add(Me.btn_FreeRoam)
Me.Controls.Add(Me.btn_StoryMode)
Me.Controls.Add(Me.btn_Back)
Me.Controls.Add(Me.btn_Chapter5)
Me.Controls.Add(Me.btn_Exit)
Me.Controls.Add(Me.btn_Aboot)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.Name = "ShiftOSMenu"
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Main Menu"
CType(Me.Thumbnail, System.ComponentModel.ISupportInitialize).EndInit()
@ -156,4 +211,8 @@ Partial Class ShiftOSMenu
Friend WithEvents btn_Exit As Button
Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker
Friend WithEvents Thumbnail As PictureBox
Friend WithEvents BannerChange As Timer
Friend WithEvents Label3 As Label
Friend WithEvents btn_Chapter5 As Button
Friend WithEvents btn_Back As Button
End Class

View file

@ -120,4 +120,295 @@
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="BannerChange.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>180, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAMQOAADEDgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwIEBAQFRAQEBcREREXERERFxERERUMDAwIAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODhMfHx8qMDAwPj09PVI+Pj5cRkZGZUlJSXJISEhzR0dHc0RE
RHNCQkJyPz8/ZTY2NlwyMjJSJiYmPhgYGCoNDQ0TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4bMzMzOkBAQFlNTU1wXFxch2hoaJtycnKvcXFxuXh4
eMF6enrOeXl50Hd3d9B0dHTQcnJyzmxsbMFfX1+5XV1dr1BQUJtGRkaHOjo6cDExMVkkJCQ6FBQUGwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIx9CQkJNXl5eeHFxcZd6enq1h4eHzJ6e
nveXl5f/j4+P/4iIiP+BgYH/fX19/3t7e/94eHj/dHR0/3Fxcf9xcXH/c3Nz/3R0dP92dnb/eXl592Nj
Y8xUVFS1S0tLlz4+PngsLCxNFxcXHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISEhH0VFRU1mZmZ8gICAqqWl
pdqoqKj/mpqa/4+Pj/+FhYX/e3t7/29vb/9lZWX/Xl5e/1paWv9aWlr/V1dX/1NTU/9TU1P/U1NT/1RU
VP9YWFj/XV1d/19fX/9jY2P/aWlp/29vb/9paWnaTk5Oqj09PXwqKipNFBQUHwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREREJNjY2QWho
aHuEhISqsrKy4aysrP+bm5v/jY2N/3p6ev9paWn/XFxc/1NTU/9LS0v/RkZG/0FBQf9BQUH/QEBA/z8/
P/89PT3/Ozs7/zo6Ov87Ozv/PT09/0BAQP9ERET/SEhI/1BQUP9VVVX/Wlpa/2FhYf9jY2PhTExMqjo6
OnshISFBCQkJCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAkJCQgW1tbZX9/f563t7fgsLCw/6Ghof+Ojo7/d3d3/2JiYv9SUVL/RkZG/0RERP9GRkb/SUlJ/09P
T/9TU1P/WFhY/1hYWP9YWFj/WFhY/1VVVf9SUVL/TExM/0RERP86Ojr/NDQ0/zQ0NP83Nzf/Ozs7/0JC
Qv9MTEz/VFRU/11dXf9eXl7gPz8/ni8vL2UVFRUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA3Nzc3bGxsfaCgoMK7u7v/qqqq/5KSkv96enr/YWFh/01NTf9ERET/RkZG/01N
Tf9fX1//b29v/35+fv+Ojo7/lpaW/46Ojv+Ojo7/jo6O/46Ojv+Ojo7/k5OT/4yMjP9+fn7/b29v/1pa
Wv9GRkb/OTk5/zAwMP8vLy//MzMz/z4+Pv9HR0f/T09P/1dXV/9NTU3CNjY2fSEhITcAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6Ojo+hISElMXFxeO5ubn/o6Oj/4aGhv9lZWX/T09P/0RE
RP9HR0f/V1dX/29vb/+JiYn/lJSU/5WVlf+Tk5P/jIyM/46Ojv+EhIT/hISE/4SEhP+EhIT/hYWF/4+P
j/+MjIz/k5OT/5aWlv+UlJT/i4uL/3BwcP9TU1P/PT09/zAwMP8rKyv/MjIy/zs7O/9FRUX/Tk5O/1dX
V+M9PT2UISEhPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Ozs+h4eHm87Ozv+6urr/nZ2d/3l5
ef9XV1f/QUFB/0JCQv9XV1f/d3d3/5aWlv+Tk5P/jY2N/4SEhP97e3v/bGxs/15eXv9fX1//UlFS/1BQ
UP9QUFD/UFBQ/1NTU/9eXl7/X19f/29vb/9+fn7/hISE/42Njf+ZmZn/np6e/3l5ef9VVVX/ODg4/ykp
Kf8oKCj/MjIy/z09Pf9GRkb/V1dX/zs7O5sfHx8+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Ozs+i4uLm8/P
z/+/v7//np6e/3Jycv9MTEz/Pz8//0tLS/9ra2v/lJSU/5ubm/+SkpL/e3t7/2hoaP9VVVX/KSkp/yEh
If8YGBj/ERER/xAQEP8ODg7/Dw8P/xQUFP8XFxf/HR0d/yQkJP8mJib/Kioq/09PT/9jY2P/fX19/5SU
lP+ioqL/np6e/3BwcP9JSUn/Kysr/yIiIv8rKyv/Nzc3/0FBQf9SUVL/Ozs7mx4eHj4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA+Pj43jY2Nm9XV1f/BwcH/oKCg/29vb/9HR0f/Pj4+/1VVVf+BgYH/m5ub/4aGhv99fX3/ampq/zk5
Of8qKir/Hx8f/xoaGv8TExP/DAwM/wUFBf8AAAD/AAAA/wAAAP8DAwP/CAgI/w8PD/8VFRX/HBwc/yIi
Iv8lJSX/KCgo/ysrK/9kZGT/gYGB/5KSkv+qqqr/jY2N/1ZWVv8vLy//Hx8f/yYmJv8zMzP/Pz8//1RU
VP89PT2bHx8fNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAApKSkkj4+Pk9nZ2f/Gxsb/o6Oj/3BwcP9GRkb/PT09/1paWv+QkJD/m5ub/3l5
ef9cXFz/ODg4/zk5Of8zMzP/LCws/yYmJv8dHR3/ExMT/wgICP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AgIC/w0NDf8VFRX/Hh4e/yQkJP8kJCT/JiYm/ykpKf9hYWH/jIyM/6emp/+jo6P/YWFh/zEx
Mf8dHR3/JCQk/zQ0NP9BQUH/WFhY/0BAQJMYGBgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe3t7geHh4f7Ozs7/rKys/3Z2dv9HR0f/PT09/1tb
W/+Pj4//mZmZ/21tbf9GRkb/Ojo6/0FBQf86Ojr/MzMz/ykpKf8jIyP/HBwc/xAQEP8BAQH/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wwMDP8bGxv/IyMj/yMjI/8kJCT/KCgo/0xM
TP99fX3/oqKi/6mpqf9lZWX/MTEx/x0dHf8lJSX/ODg4/0ZGRv9hYWH+Pj4+gQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFRUTuPj4+vb29v/ubm5/39/
f/9LS0v/Ozs7/1hYWP+Ojo7/mpqa/2lpaf80NDT/Ojo6/0FBQf8/Pz//NDQ0/yYmJv8bGxv/Dg4O/wIC
Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xgY
GP8jIyP/IyMj/yMjI/8lJSX/KCgo/3BwcP+hoaH/qqqq/2VlZf8vLy//HR0d/ysrK/9AQED/UFBQ/2ho
aOssLCxOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoE6ur
q6vk5OT/zMzM/5WVlf9UVFT/OTk5/1VVVf+Li4v/oKCg/3Z2dv80NDT/OTk5/zs7O/9AQED/NDQ0/yMj
I/8ODg7/AQEB/wAAAP8AAAD/AAAA/wEBAf8BAQH/AwMD/wAAAP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/EBAQ/yUlJf8iIiL/IyMj/yUlJf8mJib/bW1t/6Ghof+pqan/X19f/ygo
KP8hISH/MzMz/0lJSf9YWFj/T09PqxMTExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAIKCgnDr6+v/3d3d/7Gxsf9paWn/Ozs7/0lJSf9+fn7/pKSk/4CAgP9AQED/MzMz/zAw
MP8yMjL/MzMz/x4eHv8HBwf/AAAA/wAAAP8AAAD/AAAA/zAwMP9mZmb/ZGRk/2JiYv9LS0v/Ly8v/xMT
E/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8RERH/KCgo/yIiIv8jIyP/JSUl/yYm
Jv9wcHD/sLCw/52dnf9PT0//IiIi/ygoKP9BQUH/VFRU/2hoaP89PT1wAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAACoqKhHs7OzQ7Ozs/8zMzP+JiYn/R0dH/z09Pf9qamr/p6an/5aW
lv9PT0//Ozs7/ykpKf8iIiL/IiIi/x4eHv8FBQX/AAAA/wAAAP8AAAD/QEBA/4KCgv+vr6//ubm5/7Ky
sv+qqqr/m5ub/4SEhP9bW1v/OTk5/wwMDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/CAgI/xQU
FP8oKCj/IiIi/yMjI/8lJSX/Kioq/3p6ev+/v7//iIiI/zo6Ov8hISH/MzMz/01NTf9dXV3/ampq0BAQ
EBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHh4dq8/Pz/+Xl5f+xsbH/YmJi/zk5
Of9UVFT/kpKS/7CwsP9paWn/RkZG/zExMf8bGxv/Dg4O/xUVFf8PDw//AwMD/wAAAP8GBgb/WFhY/4KC
gv+oqKj/y8vL/8zMzP/MzMz/zMzM/8zMzP/Nzc3/zMzM/6qqqv9eXl7/Hh4e/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wYGBv8UFBT/IiIi/ygoKP8iIiL/IyMj/yUlJf8rKyv/kpKS/8LCwv9paWn/KSkp/ygo
KP9ERET/XFxc/2tra/9CQkJqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9fX1y/Ly
8v/V1dX/jIyM/0VFRf8/Pz//cHBw/7CwsP+VlZX/UFBQ/zo6Ov8kJCT/DAwM/wUFBf8dHR3/ISEh/xoa
Gv8WFhb/RERE/2RkZP+Li4v/sbGx/8vLy//Ly8v/zMzM/8nJyf/MzMz/zc3N/8zMzP/MzMz/zMzM/83N
zf89PT3/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgL/Ghoa/yMjI/8tLS3/JSUl/yIiIv8jIyP/JiYm/09P
T/+7u7v/mZmZ/0JCQv8hISH/Nzc3/1ZWVv9lZWX/c3NzywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAWFhYO/j4+P/u7u7/u7u7/2ZmZv85OTn/U1NT/5CQkP+6urr/dnZ2/1JRUv89PT3/JSUl/xAQ
EP8UFBT/LS0t/zk5Of80NDT/RERE/2ZmZv+CgoL/oaGh/76+vv/Ly8v/ZGRk/0FBQf8tLS3/U1NT/2Fh
Yf+ioqL/zs7O/8zMzP/MzMz/zMzM/7m5uf8AAAD/AAAA/wAAAP8AAAD/AQEB/x0dHf8tLS3/Ly8v/zAw
MP8jIyP/IiIi/yUlJf8pKSn/f39//8jIyP9tbW3/KSkp/yoqKv9NTU3/ZGRk/3d3d/8wMDA7AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALe3t5j6+vr/4+Pj/5ycnP9MTEz/OTk5/2hoaP+vr6//tra2/29v
b/9VVVX/QEBA/yoqKv8jIyP/JiYm/0VFRf9TU1P/U1NT/2VlZf+EhIT/qKio/8fHx/97e3v/IyMj/wAA
AP8AAAD/AAAA/wAAAP8AAAD/Hh4e/2FhYf+zs7P/zc3N/8zMzP/MzMz/y8vL/wAAAP8AAAD/AAAA/wEB
Af8jIyP/Ojo6/z4+Pv87Ozv/Kysr/yMjI/8iIiL/JiYm/yoqKv/Jycn/l5eX/zs7O/8jIyP/QUFB/2Nj
Y/9vb2//YmJimAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8+/z3+fn5/9PT0/9+fn7/Ozs7/0VF
Rf9+fn7/xcXF/6urq/92dnb/Wlpa/0dHR/80NDT/NjY2/zs7O/9OTk7/XFxc/2NjY/92dnb/oqKi/8nJ
yf+QkJD/RkZG/wICAv8AAAD/LS0t/15eXv9cXFz/aWlp/yYmJv8HBwf/VVVV/7Gxsf/MzMz/zMzM/8zM
zP/ExMT/AQEB/wAAAP8BAQH/KSkp/0hISP9TU1P/SUlJ/zY2Nv8lJSX/IiIi/yUlJf8oKCj/k5OT/7m5
uf9YWFj/IyMj/zY2Nv9cXFz/cHBw/4uLi/cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFhYD//////f3
9/+/v7//ZGRk/zg4OP9TU1P/lJSU/8bGxv+cnJz/enp6/2JiYv9OTk7/R0dH/05OTv9WVlb/XV1d/11d
Xf9kZGT/c3Nz/6mpqf+ysrL/bW1t/yQkJP8DAwP/BgYG/w4ODv8GBgb/MDAw/0xMTP9zc3P/RUVF/wwM
DP9tbW3/ycnJ/8zMzP/MzMz/zc3N/29vb/8AAAD/AAAA/zExMf9UVFT/ZWVl/2JiYv9JSUn/Ly8v/yQk
JP8jIyP/KCgo/z8/P//V1dX/eXl5/ywsLP8sLCz/VlZW/29vb/+CgoL/CAgIAwAAAAAAAAAAAAAAAAAA
AAAAAAAAdHR0PP/////v7+//ra2t/1JRUv86Ojr/X19f/6+vr/+7u7v/nZ2d/4CAgP9paWn/V1dX/15e
Xv9paWn/d3d3/3R0dP90dHT/dHR0/3t7e/+NjY3/f39//zAwMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8aGhr/NDQ0/6SkpP/MzMz/zMzM/83Nzf+cnJz/AAAA/wAAAP82Njb/YWFh/3l5
ef9/f3//X19f/zk5Of8mJib/IyMj/yYmJv8pKSn/6Ojo/5mZmf85OTn/JiYm/1BQUP9wcHD/fX19/z09
PTwAAAAAAAAAAAAAAAAAAAAAAAAAANLS0pf/////5+fn/5mZmf9GRkb/Pz8//2tra//IyMj/ubm5/6Wl
pf+JiYn/c3Nz/2lpaf94eHj/iIiI/5SUlP+UlJT/lZWV/5OTk/9+fn7/ZmZm/1VVVf8BAQH/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wcHB/+FhYX/zMzM/8zMzP/MzMz/qKio/z8/
P/8FBQX/QEBA/2pqav+Ojo7/m5ub/3d3d/9HR0f/LCws/yMjI/8lJSX/KCgo/7a2tv+xsbH/S0tL/yQk
JP9ISEj/b29v/319ff96enqXAAAAAAAAAAAAAAAAAAAAAAAAAAD////r/////93d3f+Ghob/QEBA/0dH
R/92dnb/1NTU/7e3t/+lpaX/k5OT/4GBgf97e3v/iIiI/5qamv+hoaH/np6e/5qamv+MjIz/R0dH/0FB
Qf8oKCj/CQkJ/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/cXFx/8zM
zP/MzMz/zMzM/7S0tP9GRkb/ERER/0xMTP96enr/np6e/7Kysv+Li4v/WFhY/zY2Nv8mJib/JCQk/ygo
KP9qamr/wsLC/1hYWP8mJib/QkJC/21tbf9/f3//pKSk6wAAAAAAAAAAAAAAAAAAAAAAAAAA/f39////
///X19f/enp6/zs7O/9JSUn/enp6/87Ozv+2trb/pKSk/5qamv+SkpL/h4eH/4uLi/+ampr/m5ub/5aW
lv+UlJT/U1NT/x8fH/8sLCz/PT09/zo6Ov8sLCz/DAwM/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AQEB/2RkZP/MzMz/zMzM/8zMzP+0tLT/Ojo6/xwcHP9jY2P/iYmJ/7S0tP+9vb3/m5ub/2pq
av8+Pj7/KSkp/yQkJP8oKCj/Ly8v/8vLy/9lZWX/KCgo/z09Pf9tbW3/gYGB/6SkpP8AAAAAAAAAAAAA
AAAAAAAAAAAAAP/////+/v7/0tLS/3Jycv86Ojr/SEhI/319ff/CwsL/tra2/6SkpP+dnZ3/oaGh/5ub
m/+UlJT/m5ub/5ycnP+UlJT/hISE/y8vL/8BAQH/QEBA/2lpaf9ra2v/ZGRk/01NTf8kJCT/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf9qamr/zMzM/8zMzP/MzMz/j4+P/ykpKf80NDT/cHBw/6Cg
oP/IyMj/xMTE/6ioqP96enr/SUlJ/y0tLf8lJSX/KCgo/ywsLP/Q0ND/bGxs/ygoKP87Ozv/bW1t/4SE
hP+jo6P/AAAAAAAAAAAAAAAAAAAAAAAAAAD//////v7+/9DQ0P9xcXH/ODg4/0RERP99fX3/xMTE/7a2
tv+kpKT/nZ2d/6SkpP+vr6//q6ur/6Ojo/+cnJz/np6e/3t7e/8hISH/Hh4e/3Fxcf+Wlpb/np6e/5mZ
mf+Li4v/d3d3/01NTf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8lJSX/kJCQ/8zMzP/MzMz/zMzM/39/
f/8NDQ3/RERE/4yMjP+6urr/y8vL/8fHx/+xsbH/h4eH/1JRUv8yMjL/JiYm/ygoKP8rKyv/0NDQ/29v
b/8pKSn/PT09/3BwcP+IiIj/p6an/wAAAAAAAAAAAAAAAAAAAAAAAAAA//////7+/v/Q0ND/cXFx/zg4
OP9ERET/eHh4/8TExP+2trb/pKSk/52dnf+kpKT/tra2/7+/v/+7u7v/tra2/7u7u/96enr/MTEx/z8/
P/+MjIz/wsLC/8vLy//Ly8v/y8vL/8zMzP/Jycn/wsLC/8jIyP9mZmb/MTEx/0BAQP9SUVL/goKC/83N
zf/MzMz/zMzM/6ioqP9FRUX/AAAA/1tbW/+oqKj/ycnJ/8vLy//Jycn/tra2/46Ojv9bW1v/Nzc3/yYm
Jv8oKCj/Kysr/9DQ0P9tbW3/Kioq/z8/P/9zc3P/jIyM/6mpqf8AAAAAAAAAAAAAAAAAAAAAAAAAAP//
///+/v7/0tLS/3R0dP84ODj/RERE/3Jycv/BwcH/tra2/6SkpP+cnJz/o6Oj/7S0tP/CwsL/y8vL/8vL
y//MzMz/cnJy/xUVFf9aWlr/tLS0/8zMzP/AwMD/u7u7/8TExP/Ly8v/zc3N/8zMzP/MzMz/zMzM/8zM
zP/Ly8v/v7+//8zMzP/MzMz/zs7O/7Gxsf9tbW3/Hh4e/wAAAP9kZGT/s7Oz/8TExP/Nzc3/yMjI/7e3
t/+SkpL/X19f/zo6Ov8pKSn/KCgo/y0tLf/Pz8//bGxs/ysrK/9BQUH/d3d3/4+Pj/+rq6v/AAAAAAAA
AAAAAAAAAAAAAAAAAAD////+/v7+/9bW1v96enr/PT09/0VFRf9ra2v/0tLS/7e3t/+jo6P/nJyc/6Gh
of+wsLD/wMDA/8nJyf/MzMz/xsbG/2pqav8TExP/ZmZm/8XFxf+ysrL/k5OT/4CAgP94eHj/d3d3/319
ff+vr6//ycnJ/8/Pz//Nzc3/ycnJ/8bGxv/CwsL/t7e3/5qamv9vb2//MDAw/wAAAP8KCgr/e3t7/5mZ
mf+xsbH/wMDA/8fHx/+3t7f/k5OT/2JiYv89PT3/Kioq/ygoKP8xMTH/zMzM/2VlZf8rKyv/R0dH/3t7
e/+Tk5P/r6+v/gAAAAAAAAAAAAAAAAAAAAAAAAAA////6P/////d3d3/h4eH/z8/P/9BQUH/X19f/8/P
z/+4uLj/p6an/5ubm/+dnZ3/rKys/729vf/IyMj/y8vL/8TExP9qamr/GBgY/2ZmZv/Hx8f/mpqa/3Bw
cP9VVVX/Pj4+/yUlJf8QEBD/AQEB/wAAAP8BAQH/Ly8v/1JRUv9lZWX/cHBw/2hoaP9XV1f/JCQk/wAA
AP8AAAD/MTEx/2xsbP+CgoL/l5eX/6qqqv+0tLT/sLCw/5CQkP9jY2P/Pj4+/ysrK/8oKCj/ampq/8HB
wf9aWlr/Kysr/09PT/+BgYH/lpaW/7Ozs+gAAAAAAAAAAAAAAAAAAAAAAAAAANLS0pf/////5+fn/5mZ
mf9FRUX/Ozs7/1RUVP+6urr/u7u7/6ioqP+bm5v/m5ub/6Wlpf+3t7f/xcXF/8vLy//FxcX/b29v/x8f
H/9jY2P/vb29/4yMjP9WVlb/LCws/w0NDf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwP/FxcX/x8f
H/9OTk7/IyMj/wYGBv8AAAD/AAAA/z09Pf9YWFj/b29v/4GBgf+VlZX/oKCg/5ycnP+EhIT/YWFh/z8/
P/8sLCz/KSkp/7Kysv+vr6//TExM/y0tLf9cXFz/jIyM/5eXl/+MjIyXAAAAAAAAAAAAAAAAAAAAAAAA
AABycnI5/////+/v7/+tra3/UlFS/zg4OP9ISEj/jIyM/7+/v/+tra3/nZ2d/5mZmf+hoaH/sLCw/7+/
v//IyMj/ycnJ/3t7e/8qKir/W1tb/6qqqv+JiYn/T09P/xgYGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP9TU1P/X19f/z8/P/8iIiL/CAgI/wgICP8rKyv/SUlJ/15eXv9wcHD/gYGB/4uL
i/+Hh4f/c3Nz/1dXV/8+Pj7/LS0t/ysrK//s7Oz/l5eX/zs7O/80NDT/ampq/5SUlP+goKD/RkZGOQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////39/f/wcHB/2RkZP83Nzf/Pj4+/2tra//Gxsb/tLS0/6Oj
o/+ZmZn/m5ub/6ioqP+5ubn/xMTE/8vLy/+Li4v/PT09/0RERP+UlJT/mZmZ/1ZWVv8WFhb/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AgIC/zQ0NP+Pj4//nJyc/3Jycv9XV1f/Ozs7/yQkJP8PDw//Gxsb/zg4
OP9OTk7/YmJi/29vb/92dnb/c3Nz/2RkZP9PT0//OTk5/ywsLP9ISEj/0NDQ/3d3d/8yMjL/QUFB/3p6
ev+cnJz/p6an/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////w+vr6/9XV1f+AgID/PT09/zg4
OP9TU1P/r6+v/7m5uf+pqan/m5ub/5mZmf+goKD/sLCw/729vf/Gxsb/oaGh/1NTU/84ODj/enp6/76+
vv9sbGz/Kysr/wEBAf8AAAD/AAAA/wAAAP8FBQX/MDAw/2JiYv+enp7/zMzM/6qqqv+Hh4f/ZmZm/1JR
Uv86Ojr/JSUl/x4eHv8sLCz/Pz8//1JRUv9eXl7/ZGRk/2FhYf9XV1f/RUVF/zMzM/8sLCz/jo6O/7S0
tP9aWlr/Ly8v/1NTU/+Li4v/o6Oj/7Ozs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt7e3mP//
///o6Oj/oaGh/0tLS/82Njb/QkJC/4KCgv/CwsL/sbGx/6Kiov+ZmZn/m5ub/6emp/+zs7P/wcHB/7Ky
sv9vb2//PT09/15eXv+ioqL/zc3N/2RkZP8eHh7/Ghoa/ygoKP83Nzf/XV1d/3d3d/+pqan/zc3N/83N
zf+4uLj/j4+P/1NTU/9QUFD/TExM/zk5Of8rKyv/MTEx/zk5Of9CQkL/Tk5O/1NTU/9SUVL/S0tL/zo6
Ov8sLCz/PT09/8jIyP+Pj4//QEBA/zY2Nv9tbW3/mpqa/6qqqv+EhISYAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAF1dXTj/////8/Pz/8HBwf9ra2v/OTk5/zk5Of9VVVX/q6ur/7m5uf+oqKj/nZ2d/5mZ
mf+dnZ3/qamp/7i4uP/CwsL/jIyM/0xMTP8/Pz//fX19/7q6uv/MzMz/s7Oz/2ZmZv9oaGj/fX19/5mZ
mf+6urr/zc3N/8zMzP/BwcH/oKCg/2ZmZv9NTU3/SUlJ/0lJSf9ISEj/Ojo6/zg4OP8+Pj7/QEBA/0BA
QP9GRkb/RUVF/z8/P/8zMzP/Kysr/319ff+5ubn/aGho/zMzM/9LS0v/hISE/6emp/+0tLT/PT09OAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlxv39/f/d3d3/lJSU/0tLS/83Nzf/Pz8//4CA
gP+7u7v/s7Oz/6SkpP+ampr/mZmZ/6Ghof+srKz/uLi4/6emp/9tbW3/Pj4+/1VVVf+QkJD/ycnJ/8zM
zP/MzMz/zMzM/8vLy//MzMz/wsLC/6Ghof+Pj4//hISE/3d3d/9NTU3/R0dH/0lJSf9FRUX/RUVF/0VF
Rf8+Pj7/Pz8//0FBQf8/Pz//Pz8//z4+Pv83Nzf/Kysr/1ZWVv+vr6//jY2N/0RERP84ODj/aGho/5yc
nP+vr6//oqKixgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJiWr/////8fHx/7u7
u/9paWn/Ojo6/zc3N/9LS0v/mZmZ/729vf+tra3/oKCg/5qamv+ampr/oaGh/6ysrP+4uLj/jo6O/1ZW
Vv9AQED/X19f/5qamv/Hx8f/zMzM/8zMzP/MzMz/tra2/5qamv97e3v/YmJi/1paWv9VVVX/SUlJ/1RU
VP9hYWH/TU1N/z8/P/8+Pj7/Ojo6/0BAQP9AQED/QUFB/z4+Pv87Ozv/Ly8v/zY2Nv+MjIz/rKys/2Fh
Yf80NDT/Tk5O/4iIiP+srKz/ubm5/2RkZGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAvLy8J6Ojozf39/f/c3Nz/lpaW/05OTv82Njb/ODg4/2NjY/+jo6P/ubm5/6qqqv+dnZ3/mZmZ/5qa
mv+hoaH/q6ur/7CwsP9+fn7/Tk5O/x8fH/9eXl7/jo6O/76+vv+7u7v/qqqq/5SUlP96enr/Xl5e/0RE
RP9BQUH/QkJC/2tra/94eHj/a2tr/1paWv9GRkb/OTk5/zY2Nv82Njb/QEBA/0BAQP9BQUH/NjY2/ykp
Kf9ra2v/uLi4/3l5ef8/Pz//PT09/21tbf+goKD/t7e3/6ioqM0aGhoJAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjHD////+8vLy/8LCwv93d3f/Pz8//zQ0NP89PT3/eHh4/6em
p/+3t7f/qKio/56env+ZmZn/mZmZ/6CgoP+oqKj/sLCw/3p6ev9ISEj/Ghoa/wEBAf8oKCj/aGho/3R0
dP9paWn/c3Nz/1ZWVv9BQUH/PT09/11dXf+EhIT/jY2N/3d3d/9hYWH/T09P/z8/P/8zMzP/LS0t/zc3
N/9BQUH/Ojo6/yIiIv9XV1f/nJyc/4iIiP9NTU3/NjY2/1paWv+SkpL/s7Oz/8TExP5oaGhwAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxMTEHurq6q/39/f/n5+f/qamp/2Ji
Yv89PT3/MzMz/z8/P/94eHj/p6an/7e3t/+pqan/oaGh/5qamv+ampr/nZ2d/6Ojo/+rq6v/m5ub/1NT
U/8pKSn/AQEB/wAAAP8UFBT/JiYm/z09Pf9MTEz/U1NT/11dXf+CgoL/lpaW/42Njf95eXn/ZWVl/1RU
VP9FRUX/Ojo6/zIyMv8xMTH/MDAw/xYWFv9JSUn/i4uL/46Ojv9WVlb/ODg4/0xMTP+BgYH/ra2t/7+/
v/+Ojo6rGhoaBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF1d
XU7p6end+Pj4/9fX1/+Xl5f/VlZW/zo6Ov8yMjL/Pz8//3d3d/+ioqL/tra2/6ysrP+jo6P/nZ2d/5qa
mv+bm5v/oKCg/6Ojo/+qqqr/sbGx/5mZmf9fX1//UFBQ/1xcXP9lZWX/gICA/4SEhP+SkpL/kJCQ/46O
jv+JiYn/eXl5/2tra/9YWFj/Tk5O/0VFRf89PT3/IiIi/w4ODv9FRUX/goKC/46Ojv9bW1v/Ozs7/0dH
R/93d3f/qKio/8HBwf+3t7fdSEhITgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAiYmJgf39/fDy8vL/y8vL/46Ojv9WVlb/Ojo6/zExMf89PT3/cXFx/5mZ
mf+xsbH/sbGx/6mpqf+hoaH/nJyc/5ubm/+cnJz/np6e/6Ojo/+npqf/qqqq/62trf+vr6//sLCw/6+v
r/+goKD/jY2N/4iIiP+FhYX/gYGB/319ff9xcXH/ZmZm/1xcXP9TU1P/JiYm/xwcHP9QUFD/hYWF/4uL
i/9aWlr/Pj4+/0hISP9zc3P/oqKi/7+/v//IyMjwcXFxgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8vLxqioqKT/f39+O/v7//Hx8f/jY2N/1dX
V/87Ozv/MjIy/z09Pf9tbW3/jY2N/6qqqv+3t7f/sLCw/6ioqP+hoaH/np6e/52dnf+dnZ3/np6e/6Gh
of+jo6P/o6Oj/6SkpP+kpKT/nZ2d/42Njf+EhIT/goKC/4KCgv+CgoL/fn5+/3h4eP9iYmL/NjY2/zQ0
NP9dXV3/j4+P/39/f/9WVlb/Pz8//0tLS/9zc3P/oqKi/7+/v//Nzc34goKCkyUlJRoAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhINqOj
o5v8+/z47+/v/8fHx/+Ojo7/Wlpa/z8/P/82Njb/Ojo6/1hYWP9/f3//mZmZ/6urq/+2trb/sbGx/6mp
qf+npqf/o6Oj/6Kiov+hoaH/oqKi/6Ojo/+jo6P/oqKi/6Ghof+UlJT/h4eH/4uLi/+Ojo7/kJCQ/4GB
gf9YWFj/T09P/1BQUP9ycnL/kJCQ/29vb/9PT0//QEBA/01NTf94eHj/p6an/8HBwf/Pz8/4hoaGmzk5
OTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABFRUU+o6Ojm/39/fju7u7/x8fH/5OTk/9iYmL/R0dH/zg4OP85OTn/R0dH/2tr
a/+FhYX/m5ub/6mpqf+xsbH/s7Oz/7Ozs/+vr6//ra2t/6ysrP+srKz/rKys/6ysrP+srKz/p6an/5ub
m/+Tk5P/hoaG/3p6ev9tbW3/YmJi/2tra/+Li4v/enp6/1xcXP9JSUn/RUVF/1dXV/+BgYH/rKys/8jI
yP/T09P4iYmJmzs7Oz4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRz6ioqKb/Pv88e/v7//Pz8//oqKi/3Z2
dv9TU1P/QkJC/zs7O/8+Pj7/TExM/21tbf+BgYH/j4+P/5ubm/+npqf/ra2t/7CwsP+0tLT/uLi4/7m5
uf+5ubn/uLi4/7Gxsf+npqf/l5eX/4iIiP99fX3/cHBw/4eHh/92dnb/Xl5e/05OTv9ISEj/UFBQ/2pq
av+Pj4//tLS0/8/Pz//Z2dnxjIyMmz8/Pz4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGPqKi
opTo6OjZ8fHx/9vb2/+3t7f/j4+P/2tra/9TU1P/RERE/z09Pf89PT3/R0dH/1xcXP9zc3P/gICA/4mJ
if+QkJD/lpaW/5ubm/+cnJz/np6e/56env+ampr/lpaW/42Njf+FhYX/c3Nz/2NjY/9WVlb/TU1N/0lJ
Sf9SUVL/ZWVl/4SEhP+oqKj/xsbG/9nZ2f/JycnZjo6OlD09PT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABFRUU3jIyMfdPT08L5+fn66enp/8/Pz/+wsLD/i4uL/29vb/9WVlb/RkZG/z8/
P/9AQED/RUVF/0xMTP9TU1P/Xl5e/19fX/9kZGT/aGho/2lpaf9paWn/aWlp/2FhYf9aWlr/U1NT/0xM
TP9JSUn/TExM/1dXV/9qamr/hISE/6Ojo//AwMD/1tbW/+Pj4/q5ubnCe3t7fT8/PzcAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADExMRJzc3NloqKinuPj49j29vb/5OTk/83N
zf+xsbH/k5OT/3h4eP9kZGT/V1dX/09PT/9LS0v/R0dH/0hISP9GRkb/RUVF/0hISP9JSUn/SUlJ/0xM
TP9NTU3/T09P/1NTU/9YWFj/Y2Nj/3d3d/+QkJD/qamp/8LCwv/Z2dn/6enp/9TU1NiWlpaeaWlpZSoq
KhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZG
RkGJiYl7ubm5quPj49ny8vL/5+fn/9TU1P+9vb3/qKio/5SUlP+FhYX/eHh4/2xsbP9lZWX/YWFh/19f
X/9fX1//YWFh/2JiYv9oaGj/b29v/3l5ef+Ghob/lJSU/6emp/+9vb3/0tLS/97e3v/p6en/2dnZ2bCw
sKqBgYF7QEBAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAMTExEFxcXE2JiYl8urq6quXl5dX4+Pj08fHx/+Tk5P/W1tb/ycnJ/7u7
u/+wsLD/qKio/6Ojo/+goKD/oKCg/6CgoP+goKD/paWl/7CwsP+9vb3/y8vL/9bW1v/i4uL/7+/v//Pz
8/Te3t7VsbGxqoWFhXxXV1dNKysrEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8vEF9fX02Li4t4o6Ojl7i4
uLXOzs7M4uLi5PPz8/jv7+//6enp/+Li4v/g4OD/3t7e/97e3v/e3t7/4ODg/+Tk5P/p6en/7+/v//Pz
8/jh4eHkzs7OzLi4uLWioqKXiIiIeFhYWE0qKioQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDAwCUdHRzpdXV1ZdHR0cImJiYeioqKbubm5r7e3t7nNzc3Bzc3Nzs3NzdDNzc3Qzc3N0M3N
zc7Nzc3BuLi4ubm5ua+kpKSbiYmJh3R0dHBbW1tZRUVFOiwsLAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjImR0dHPl1dXVJdXV1cdHR0ZXR0
dHJ0dHRzdHR0c3R0dHN0dHRyc3NzZV1dXVxcXFxSRUVFPi8vLyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/////////////////////////////////////////////////////////4AD///////4AAA/
/////+AAAA//////gAAAA/////4AAAAA/////AAAAAB////wAAAAAB///+AAAAAAD///wAAAAAAH//+A
AAAAAAP//4AAAAAAA///AAAAAAAB//4AAAAAAAD//AAAAAAAAH/8AAAAAAAAf/gAAAAAAAA/+AAAAAAA
AD/wAAAAAAAAH/AAAAAAAAAf8AAAAAAAAB/gAAAAAAAAD+AAAAAAAAAP4AAAAAAAAA/gAAAAAAAAD8AA
AAAAAAAHwAAAAAAAAAfAAAAAAAAAB8AAAAAAAAAHwAAAAAAAAAfgAAAAAAAAD+AAAAAAAAAP4AAAAAAA
AA/gAAAAAAAAD+AAAAAAAAAP8AAAAAAAAB/wAAAAAAAAH/AAAAAAAAAf+AAAAAAAAD/4AAAAAAAAP/wA
AAAAAAB//gAAAAAAAP/+AAAAAAAA//8AAAAAAAH//4AAAAAAA///wAAAAAAH///gAAAAAA////AAAAAA
H///+AAAAAA////8AAAAAH////8AAAAB/////4AAAAP/////4AAAD//////8AAB////////AB///////
//////////////////////////////////////////////////8=
</value>
</data>
</root>

View file

@ -4,30 +4,22 @@ Public Class ShiftOSMenu
Public Shared ActualBuildLab As String
Public Shared BuildLab() As String
Public Shared BannerUse As Integer = 1
Public Shared TimeToChange
Public Shared ShouldUpdate As Boolean = False
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Try
' If File.Exists("D:\ShiftOSBuildLab.txt") Then
' BuildLab = File.ReadAllLines("D:\ShiftOSBuildLab.txt")
' If BuildLab(0) = "No" Then
' Dim BuildNum As Integer = BuildLab(1)
' BuildNum = BuildLab(1) + 1
' ActualBuildLab = "ShiftOS_TheRevival." & BuildLab(3) & "." & BuildNum & "." & Date.Today.Year & Date.Today.Month & Date.Today.Day
' BuildLab(1) = BuildNum
' File.WriteAllLines("D:\ShiftOSBuildLab.txt", BuildLab)
' End If
' lbl_BuildString.Text = ActualBuildLab
' Else
' End If
'Catch ex As Exception
' MsgBox("Why? Because of " & ex.Message)
'End Try
CheckUpdate()
CheckInstall()
lbl_BuildString.Text = My.Resources.CurrentVersion
BannerChange.Start()
End Sub
Private Sub btn_Exit_Click(sender As Object, e As EventArgs) Handles btn_Exit.Click
Close()
Select Case btn_Exit.Text
Case "Exit"
'Close()
Application.Exit()
End Select
End Sub
Private Sub btn_FreeRoam_Click(sender As Object, e As EventArgs) Handles btn_FreeRoam.Click
@ -35,9 +27,10 @@ Public Class ShiftOSMenu
Case "Free Roam Mode"
Try
Strings.IsFree = True
Strings.AvailableFeature(0) = "0"
Strings.AvailableFeature(1) = "0"
Terminal.Show()
Strings.OnceInfo(6) = "free"
IsConsoleParent = True
FreeRoamMode()
Console.Show()
Close()
Catch ex As Exception
Dim NewBugSlap As New BugSlap
@ -46,7 +39,27 @@ Public Class ShiftOSMenu
Close()
End Try
Case "Continue"
MsgBox("This feature is in development")
Strings.IsFree = False
Strings.OnceInfo(6) = "story"
IsConsoleParent = True
StayAtChapter = True
Console.Show()
Close()
Case "No"
Label3.Visible = False
btn_StoryMode.Text = "Story Mode"
btn_FreeRoam.Text = "Free Roam Mode"
btn_Aboot.Text = "About"
btn_Aboot.Visible = True
btn_Exit.Visible = True
Case "Chapter 2" & Environment.NewLine & "Exploration"
Strings.ComputerInfo(3) = "1"
IsConsoleParent = True
Strings.IsFree = False
Strings.OnceInfo(6) = "story"
NewGameMode(1)
Console.Show()
Close()
End Select
End Sub
@ -58,15 +71,31 @@ Public Class ShiftOSMenu
btn_Aboot.Text = "Back"
btn_Exit.Visible = False
Case "New Game"
Strings.IsFree = False
MsgBox("This feature is in development, be sure to watch out for bugs")
IntroStory.Show()
Close()
Label3.Text = "Are you sure?"
Label3.Visible = True
btn_StoryMode.Text = "Yes"
btn_FreeRoam.Text = "No"
btn_Aboot.Visible = False
btn_Exit.Visible = False
Case "Yes"
Label3.Text = "Choose Chapter"
btn_StoryMode.Text = "Chapter 1" & Environment.NewLine & "Hijacked!"
btn_FreeRoam.Text = "Chapter 2" & Environment.NewLine & "Exploration"
btn_Aboot.Text = "Chapter 3" & Environment.NewLine & "Escaped"
btn_Exit.Text = "Chapter 4" & Environment.NewLine & "The known"
btn_Aboot.Visible = True
btn_Exit.Visible = True
btn_Chapter5.Visible = True
btn_Back.Visible = True
Case "Chapter 1" & Environment.NewLine & "Hijacked!"
Epilepsy.Show()
End Select
End Sub
Private Sub btn_Aboot_Click(sender As Object, e As EventArgs) Handles btn_Aboot.Click
Select Case btn_Aboot.Text
Case "About"
ShiftOSAbout.ShowDialog()
Case "Back"
btn_StoryMode.Text = "Story Mode"
btn_FreeRoam.Text = "Free Roam Mode"
@ -75,14 +104,30 @@ Public Class ShiftOSMenu
End Select
End Sub
Private Sub btn_Chapter5_Click(sender As Object, e As EventArgs) Handles btn_Chapter5.Click
End Sub
Private Sub btn_Back_Click(sender As Object, e As EventArgs) Handles btn_Back.Click
Label3.Visible = False
btn_StoryMode.Text = "Story Mode"
btn_FreeRoam.Text = "Free Roam Mode"
btn_Aboot.Text = "About"
btn_Exit.Text = "Exit"
btn_Aboot.Visible = True
btn_Exit.Visible = True
btn_Chapter5.Visible = False
btn_Back.Visible = False
End Sub
Private Sub CheckUpdate()
Try
If File.Exists("C:\SOS_NewVer.txt") = True Then
File.Delete("C:\SOS_NewVer.txt")
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SOS_NewVer.txt") = True Then
File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SOS_NewVer.txt")
End If
My.Computer.Network.DownloadFile("http://148.251.124.62:8080/ShiftOS/data/NewVer.txt", "C:\SOS_NewVer.txt")
My.Computer.Network.DownloadFile("http://148.251.124.62:8080/ShiftOS/data/NewVer.txt", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SOS_NewVer.txt")
Dim CurrentVersion As String = My.Resources.CurrentVersion
Dim NewVersion As String = File.ReadAllText("C:\SOS_NewVer.txt")
Dim NewVersion As String = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SOS_NewVer.txt")
If CurrentVersion = NewVersion Then
Else
@ -100,17 +145,77 @@ Public Class ShiftOSMenu
End Try
End Sub
Private Sub CheckInstall()
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS") = True Then
Dim CurrentVersion As String = My.Resources.CurrentVersion
If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\version.txt") = True Then
TheUpdater.WhatVersion = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\version.txt")
Else
TheUpdater.WhatVersion = "0.2.4"
End If
If TheUpdater.WhatVersion = My.Resources.CurrentVersion Then
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\version.txt", My.Resources.CurrentVersion)
CheckUpdate()
Else
btn_Aboot.Enabled = False
btn_Exit.Enabled = False
btn_FreeRoam.Enabled = False
btn_StoryMode.Enabled = False
ShouldUpdate = True
ShiftOSUpdater.Show()
ShiftOSUpdater.Label2.Text = "A new version, " & CurrentVersion & " is available." & Environment.NewLine & "Your version is " & TheUpdater.WhatVersion & Environment.NewLine & "Update now to get more features." 'ShiftOSUpdater.Label2.Text = "A new version, " & CurrentVersion & " is available." & Environment.NewLine & "Your version is " & TheUpdater.WhatVersion & "Update now to get more features."
'ShiftOSUpdater.Label2.Text = "Update function is temporarily disabled." & Environment.NewLine & "Click the 'Reset' to reset the save"
'ShiftOSUpdater.Button2.Text = "Reset"
End If
Else
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS") = True Then
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS")
End If
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved")
End If
If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS") = True Then
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
End If
Else
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS")
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS")
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS")
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\saved")
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\version.txt", My.Resources.CurrentVersion)
End If
CheckUpdate()
End If
End Sub
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
Label2.Text = "Debug it your way"
End Sub
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click, Label3.Click
If Label2.Text = "Debug it your way" Then
Strings.IsFree = True
Strings.AvailableFeature(0) = "0"
Strings.AvailableFeature(1) = "0"
Terminal.Show()
GodMode()
Console.Show()
Close()
End If
End Sub
Private Sub BannerChange_Tick(sender As Object, e As EventArgs) Handles BannerChange.Tick
Select Case TimeToChange
Case 50
Thumbnail.BackgroundImage = My.Resources.MenuBanner1
Case 100
Thumbnail.BackgroundImage = My.Resources.MenuBanner2
TimeToChange = 0
End Select
TimeToChange = TimeToChange + 1
End Sub
End Class

View file

@ -25,7 +25,6 @@ Partial Class ShiftOSUpdater
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
Me.Button2 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
@ -51,31 +50,22 @@ Partial Class ShiftOSUpdater
'
'Button1
'
Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.Button1.Location = New System.Drawing.Point(286, 220)
Me.Button1.Location = New System.Drawing.Point(286, 149)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(86, 29)
Me.Button1.TabIndex = 2
Me.Button1.Text = "Cancel"
Me.Button1.UseVisualStyleBackColor = True
'
'ProgressBar1
'
Me.ProgressBar1.BackColor = System.Drawing.Color.Black
Me.ProgressBar1.Cursor = System.Windows.Forms.Cursors.AppStarting
Me.ProgressBar1.ForeColor = System.Drawing.Color.White
Me.ProgressBar1.Location = New System.Drawing.Point(20, 98)
Me.ProgressBar1.Name = "ProgressBar1"
Me.ProgressBar1.Size = New System.Drawing.Size(352, 29)
Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
Me.ProgressBar1.TabIndex = 3
'
'Button2
'
Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Font = New System.Drawing.Font("Consolas", 10.0!)
Me.Button2.Location = New System.Drawing.Point(194, 220)
Me.Button2.Location = New System.Drawing.Point(194, 149)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(86, 29)
Me.Button2.TabIndex = 2
@ -87,9 +77,8 @@ Partial Class ShiftOSUpdater
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Black
Me.ClientSize = New System.Drawing.Size(384, 261)
Me.ClientSize = New System.Drawing.Size(380, 186)
Me.ControlBox = False
Me.Controls.Add(Me.ProgressBar1)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label2)
@ -110,6 +99,5 @@ Partial Class ShiftOSUpdater
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
Friend WithEvents Button1 As Button
Friend WithEvents ProgressBar1 As ProgressBar
Friend WithEvents Button2 As Button
End Class

View file

@ -6,6 +6,14 @@ Public Class ShiftOSUpdater
Public NewVersion As String
Public WithEvents Download As WebClient
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If ShiftOSMenu.ShouldUpdate = True Then
Else
ShiftOSMenu.btn_Aboot.Enabled = True
ShiftOSMenu.btn_Exit.Enabled = True
ShiftOSMenu.btn_FreeRoam.Enabled = True
ShiftOSMenu.btn_StoryMode.Enabled = True
End If
Close()
End Sub
@ -18,7 +26,8 @@ Public Class ShiftOSUpdater
If Not FilePut.FileName = "" Then
Button1.Enabled = False
Button2.Enabled = False
Dim PutTo As String = "http://148.251.124.62:8080/ShiftOS/versions/ShiftOS-TheRevival.v" & NewVersion & ".exe"
Dim PutTo As String = "http://github.com/EverythingWindows/ShiftOS-TheRevival/releases/download/" & NewVersion & "/ShiftOS-TheRevival.v" & NewVersion & ".exe"
'Dim PutTo As String = "http://148.251.124.62:8080/ShiftOS/versions/ShiftOS-TheRevival.v" & NewVersion & ".exe" <= Legacy Updater
'Dim GetTo As New Uri(PutTo)
My.Computer.Network.DownloadFile(PutTo, FilePut.FileName)
'Revisit this later
@ -31,15 +40,21 @@ Public Class ShiftOSUpdater
ShiftOSMenu.btn_StoryMode.Enabled = True
Button2.Text = "Saved"
End If
ElseIf Button2.Text = "Update" Then
Label2.Text = "Updating ShiftOS to " & My.Resources.CurrentVersion
UpdateToNew()
Else
Close()
End If
End Sub
Private Sub ShiftOSUpdate_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If ShiftOSMenu.ShouldUpdate = True Then
Button2.Text = "Update"
End If
End Sub
Private Sub Download_DownloadProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs) Handles Download.DownloadProgressChanged
ProgressBar1.Value = e.ProgressPercentage
End Sub
'Will revisit this later
'Private Sub Download_DownloadProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs) Handles Download.DownloadProgressChanged
' ProgressBar1.Value = e.ProgressPercentage
'End Sub
End Class

View file

@ -1,31 +0,0 @@
Module Shiftoriums
Public Sub InstallFeature(IsCLI As Boolean, Feature As String, Codepoint As Integer)
Dim TempCP As Integer = Convert.ToInt32(Strings.ComputerInfo(2))
If TempCP >= Codepoint Then
Dim success As Boolean = False
Select Case Feature
Case "man"
Strings.AvailableFeature(0) = "1"
success = True
Case "clear"
Strings.AvailableFeature(1) = "1"
success = True
End Select
If success = False Then
If IsCLI = True Then
Terminal.TextBox1.Text = Terminal.TextBox1.Text & Environment.NewLine & "Shiftorium: Invalid command or feature already installed"
End If
Else
TempCP = TempCP - Codepoint
Strings.ComputerInfo(2) = Convert.ToString(TempCP)
If IsCLI = True Then
Terminal.TextBox1.Text = Terminal.TextBox1.Text & Environment.NewLine & "Feature has been install succesfully"
End If
End If
Else
If IsCLI = True Then
Terminal.TextBox1.Text = Terminal.TextBox1.Text & Environment.NewLine & "Shiftorium: Insufficent Codepoint"
End If
End If
End Sub
End Module

View file

@ -1,43 +0,0 @@
Public Class Strings
Public Shared OSInfo() As String
Public Shared ComputerInfo(3) As String
Public Shared IsFree As Boolean
Public Shared OnceInfo(0) As String
Public Shared AvailableFeature(1) As String
'STRING CATEGORIZATION WRITING RULES!
'THIS IS IN ORDER TO REMAIN COMPATIBLE WITH OLDER VERSIONS!
'
'General string :
'(Row Number) = Function/Subject (default value : default)
'
'Each have to placed in numerical order
'If there's moved strings for newer version, example:
'0 = Computer Name (0.1) => OS Version (0.2) => Root Location (0.3), etc.
'If there's removed strings for newer version, example:
'69 = Secret Easter Egg (removed in 0.420)
'If there's repurposed strings for newer version after removed, example:
'5 = FreeRoam enabled? (removed in 0.4) => Story Mode State
'
'ALWAYS WRITE THE NOTES IN COMMENTS, THIS CLASS ONLY IS FOR STORING STRINGS AND DEPLOYING STRINGS TO DISK
'OSInfo Strings:
'0 = OSVersion (default : dependant)
'
'OnceInfo Strings:
'0 = IsRoot? (0.1) (default : No)
'
'ComputerInfo Strings:
'0 = Computer Name (0.1) (default : shiftos)
'1 = Username (0.1) (default : user)
'2 = Codepoint (0.2) (default : 0)
'3 = Story Chapter (0.2) (default : 0 for New Game)
'
'AvailableFeature (Default is defined on the Story Mode, Free Mode automatically assigns every available feature to 1)Strings:
'0 = MAN command [Manual on each command] (0.2) (default : 0)
'1 = CLEAR command [Clearing the screen] (0.2) (default : 0)
'
'Features bought hierarchy :
'ShiftOS Help Manual (MAN) (20 CP)
'Terminal Clear (CLEAR) (25 CP)
End Class

View file

@ -1,367 +0,0 @@
Imports System.IO
Public Class Terminal
Public command As String
Public DefaultPrompt As String
Public TrackPos As Integer
Public AdvancedCommand As Boolean
Public BadCommand As Boolean
Public DisplayStory As Integer
Public StoryToTell As String
Private Sub Terminal_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FormBorderStyle = FormBorderStyle.None
WindowState = FormWindowState.Maximized
If Strings.IsFree = True Then
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 0
PrintPrompt()
AssignPrompt()
Else
If Strings.ComputerInfo(3) = "0" Then
TextBox1.ReadOnly = True
StoryOnlyTimer.Start()
Else
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 0
PrintPrompt()
AssignPrompt()
End If
End If
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub
Public Sub PrintPrompt()
If TextBox1.Text = Nothing Then
If Strings.OnceInfo(0) = "Yes" Then
TextBox1.Text = "root@" & Strings.ComputerInfo(0) & " #> "
Else
TextBox1.Text = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
Else
If Strings.OnceInfo(0) = "Yes" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "root@" & Strings.ComputerInfo(0) & " #> "
Else
TextBox1.Text = TextBox1.Text & Environment.NewLine & Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
End If
End Sub
Public Sub AssignPrompt()
If Strings.OnceInfo(0) = "Yes" Then
DefaultPrompt = "root@" & Strings.ComputerInfo(0) & " #> "
Else
DefaultPrompt = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
End Sub
Private Sub Undeveloped()
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Oopsie! It's only for newer version"
End Sub
Private Sub ReadCommand()
command = TextBox1.Lines(TextBox1.Lines.Length - 1)
command = command.Replace(DefaultPrompt, "")
command = command.ToLower()
End Sub
Private Sub DoCommand()
AdvancedCommand = True
BadCommand = True
Select Case command
Case ""
AdvancedCommand = False
BadCommand = False
Case "clear"
If Strings.AvailableFeature(1) = "1" Then
TextBox1.Text = Nothing
AdvancedCommand = False
BadCommand = False
End If
Case "codepoint"
TextBox1.Text = TextBox1.Text & Environment.NewLine & Strings.ComputerInfo(2) & " Codepoint(s) available in your wallet"
AdvancedCommand = False
BadCommand = False
Case "guess"
'AppHost("gtn")
Undeveloped()
Case "gimme"
Dim TempCP As Integer = Convert.ToInt32(Strings.ComputerInfo(2))
TempCP = TempCP + 50
Strings.ComputerInfo(2) = Convert.ToString(TempCP)
TextBox1.Text = TextBox1.Text & Environment.NewLine & "you cheater!"
Case "help"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual" & Environment.NewLine & Environment.NewLine & "You can type 'help' to get all available commands and its corresponding action."
If Strings.AvailableFeature(0) = 1 Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "To get help on each command, you can type 'man [command]'" & Environment.NewLine
Else
TextBox1.Text = TextBox1.Text & Environment.NewLine
End If
If Strings.AvailableFeature(1) = 1 Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "CLEAR Clear the terminal"
End If
TextBox1.Text = TextBox1.Text & Environment.NewLine & "CODEPOINT Display Codepoint(s) from your wallet"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "HELP Shows all commands available and its corresponding action"
If Strings.AvailableFeature(0) = 1 Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "MAN Shows a command, its corresponding action, and its example usage"
End If
TextBox1.Text = TextBox1.Text & Environment.NewLine & "SHIFTORIUM Terminate ShiftOS session"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "SHUTDOWN Terminate ShiftOS session"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "SU Runs terminal as super user"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "VER Printing current version of ShiftOS TheRevival"
TextBox1.Text = TextBox1.Text & Environment.NewLine
AdvancedCommand = False
BadCommand = False
Case "su"
If Strings.OnceInfo(0) = "Yes" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "You already in root mode!"
Else
Strings.OnceInfo(0) = "Yes"
AssignPrompt()
End If
AdvancedCommand = False
BadCommand = False
Case "shutdown", "shut down"
ShiftOSMenu.Show()
Close()
Case "ver"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS TheRevival version 0.1.1"
AdvancedCommand = False
BadCommand = False
End Select
If AdvancedCommand = True Then
If command Like "man *" Then
If Strings.AvailableFeature(0) = "1" Then
'MAN command starts with this kinda format
'ShiftOS Help Manual
'
''command' Usage: [switch/value if needed]
'
'Summary of the command's action
'
'Example usage : command
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual" & Environment.NewLine
'TextBox1.Text = TextBox1.Text & Environment.NewLine & command.Substring(4)
Dim mancommand As String = command.Replace("man ", "")
Dim TempUsage As String = "'" & mancommand & "' Usage: "
Select Case mancommand
Case "clear"
TempUsage = TempUsage & "clear"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Clears all contents of the terminal" & Environment.NewLine
BadCommand = False
Case "codepoint"
TempUsage = TempUsage & "codepoint"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows the value of codepoint in your wallet" & Environment.NewLine
BadCommand = False
Case "help"
TempUsage = TempUsage & "help"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows all commands available in the terminal and its brief explanation of action" & Environment.NewLine
BadCommand = False
Case "man"
TempUsage = TempUsage & "man [command]"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows up a manual on each corresponding command and its example of action" & Environment.NewLine & Environment.NewLine & "[COMMAND] Any command that you want to get the manual for" & Environment.NewLine & Environment.NewLine & "Example: man help"
BadCommand = False
Case "shutdown"
TempUsage = TempUsage & "shutdown"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Terminate ShiftOS session" & Environment.NewLine
BadCommand = False
Case "ver"
TempUsage = TempUsage & "ver"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Displays current version of ShiftOS TheRevival" & Environment.NewLine
BadCommand = False
Case Else
TextBox1.Text = TextBox1.Text & Environment.NewLine & "MAN : Invalid command"
End Select
End If
End If
If command Like "shiftorium *" Then
Dim prompt As String = command.Replace("shiftorium ", "")
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium ShiftOS Center"
If prompt Like "info *" Then
prompt = command.Replace("shiftorium info ", "")
'ManHeader is for the ShiftOS Help Manual header and the 'Cost' footer, kinda like template-ish
Dim ManHeader(1) As String
'ManHeader(0) = Insert any feature here for the Case prompt
ManHeader(1) = "Cost: "
Select Case prompt
Case "man"
ManHeader(0) = "ShiftOS Help Manual (command: man)"
ManHeader(1) = "20 CP"
TextBox1.Text = TextBox1.Text & Environment.NewLine & ManHeader(0) & Environment.NewLine & Environment.NewLine & "Shows up any further help instruction on each command, its corresponding action and its example if necessary" & Environment.NewLine & Environment.NewLine & ManHeader(1)
BadCommand = False
Case "clear"
ManHeader(0) = "Clear Terminal Screen (command: clear)"
ManHeader(1) = "25 CP"
TextBox1.Text = TextBox1.Text & Environment.NewLine & ManHeader(0) & Environment.NewLine & Environment.NewLine & "Clears the terminal screen" & Environment.NewLine & Environment.NewLine & ManHeader(1)
BadCommand = False
Case Else
BadCommand = False
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium: Bad command or not available"
End Select
End If
If prompt Like "install *" Then
prompt = command.Replace("shiftorium install ", "")
Select Case prompt
Case "man"
InstallFeature(True, "man", 20)
BadCommand = False
Case "clear"
InstallFeature(True, "clear", 25)
BadCommand = False
Case Else
BadCommand = False
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium: Bad command or not available"
End Select
End If
If prompt = "list" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium Available Feature(s)" & Environment.NewLine
If Strings.AvailableFeature(0) = "0" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual (20 CP)"
End If
If Strings.AvailableFeature(1) = "0" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Clear Terminal Screen (25 CP)"
End If
BadCommand = False
End If
End If
If command Like "print *" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & command.Substring(6)
Dim printed As String = command.Replace("print ", "")
''It has the same issue, only displays in lowercase
'TextBox1.Text = TextBox1.Text & Environment.NewLine & printed
BadCommand = False
End If
AdvancedCommand = False
End If
If BadCommand = True Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Bad command or wrong file name"
End If
End Sub
Private Sub txtterm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.T AndAlso e.Control Then
Me.Hide()
e.SuppressKeyPress = True
End If
Select Case e.KeyCode
Case Keys.ShiftKey
TrackPos = TrackPos - 1
Case Keys.Alt
TrackPos = TrackPos - 1
Case Keys.CapsLock
TrackPos = TrackPos - 1
Case Keys.ControlKey
TrackPos = TrackPos - 1
Case Keys.LWin
TrackPos = TrackPos - 1
Case Keys.RWin
TrackPos = TrackPos - 1
Case Keys.Right
If TextBox1.SelectionStart = TextBox1.TextLength Then
TrackPos = TrackPos - 1
End If
Case Keys.Left
If TrackPos < 1 Then
e.SuppressKeyPress = True
TrackPos = TrackPos - 1
Else
TrackPos = TrackPos - 2
End If
Case Keys.Up
e.SuppressKeyPress = True
TrackPos = TrackPos - 1
Case Keys.Down
e.SuppressKeyPress = True
TrackPos = TrackPos - 1
End Select
If e.KeyCode = Keys.Enter Then
e.SuppressKeyPress = True
ReadCommand()
DoCommand()
If command = "clear" Then
PrintPrompt()
TextBox1.Select(TextBox1.Text.Length, 0)
Else
PrintPrompt()
TextBox1.Select(TextBox1.Text.Length, 0)
End If
TrackPos = 0
Else
If e.KeyCode = Keys.Back Then
Else
TrackPos = TrackPos + 1
End If
End If
If e.KeyCode = Keys.Back Then
If TrackPos < 1 Then
e.SuppressKeyPress = True
Else
If TextBox1.SelectedText.Length < 1 Then
TrackPos = TrackPos - 1
Else
e.SuppressKeyPress = True
End If
End If
End If
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub
Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click, TextBox1.MouseDoubleClick
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub
Private Sub StoryOnlyTimer_Tick(sender As Object, e As EventArgs) Handles StoryOnlyTimer.Tick
Select Case Strings.ComputerInfo(3)
Case "0"
Select Case DisplayStory
Case 5
TextBox1.Text = "Connected to <null>"
Case 25
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: Hey there, Unknown user!"
Case 40
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: You have been selected for an unvolentary test on my experimental operating system, ShiftOS"
Case 90
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: ShiftOS is an operating system that purposes itself to evolve itself as the time progresses"
Case 140
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: I will add features into the operating system as you use it"
Case 170
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: Currently ShiftOS didn't have that much function aside from a command line with little command"
Case 190
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: I'll install ShiftOS now on your system"
Case 215
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: I will come back and contact you later on when the time is necessary, see you!"
Case 250
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null> Disconnected"
Case 275
TextBox1.Text = "Installing ShiftOS..."
Case 350
TextBox1.Text = "ShiftOS Installed, The computer will restart in a few seconds"
Case 400
TextBox1.Text = Nothing
TextBox1.ReadOnly = False
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 0
PrintPrompt()
AssignPrompt()
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Select
End Select
DisplayStory = DisplayStory + 1
End Sub
End Class

View file

@ -1,5 +0,0 @@
Module TerminalApps
Public Sub AppHost(App As Object)
End Sub
End Module

View file

@ -0,0 +1,123 @@
Module DuWM_Main
Public OnlyOne As Boolean
Public FirstWindow As Form
Public SecondWindow As Form
Public DuWM_CurrentProcess As Integer = 0
Public DuWM_ChangeLayout As Boolean
Public Sub DuWM_Initiate()
Strings.ProcessID(0) = 0
Strings.ProcessID(1) = 0
Desktop.BackColor = GUISCustomizations.DesktopColor
DuWM_NewProcess(Console)
End Sub
Public Sub DuWM_FirstWindowSet(WindowName As Form)
WindowName.Show()
WindowName.Height = Desktop.Height - 20
WindowName.Width = (Desktop.Width / 2) - 20
WindowName.Location = New Point(10, 10)
FirstWindow = WindowName
Strings.ProcessID(0) = 1
End Sub
Public Sub DuWM_SecondWindowSet(WindowName As Form)
WindowName.Show()
WindowName.Height = Desktop.Height - 20
WindowName.Width = (Desktop.Width / 2) - 20
WindowName.Location = New Point((Desktop.Width / 2) + 10, 10)
SecondWindow = WindowName
Strings.ProcessID(1) = 1
End Sub
Public Sub DuWM_SingleWindowSet(WindowName As Form)
WindowName.Show()
WindowName.Height = Desktop.Height - 20
WindowName.Width = Desktop.Width - 20
WindowName.Location = New Point(10, 10)
FirstWindow = WindowName
Strings.ProcessID(0) = 1
End Sub
Public Sub DuWM_NewProcess(ProcessName As Form)
Dim NewWindow As New DuWM_WindowContainer
If DuWM_CurrentProcess = 2 Then
NewLine("You've reached the limit of usable programs")
Else
DuWM_CurrentProcess = DuWM_CurrentProcess + 1
NewWindow.ChildForm = ProcessName
NewWindow.ChildForm.TopLevel = False
NewWindow.ChildForm.FormBorderStyle = FormBorderStyle.None
NewWindow.ChildForm.WindowState = FormWindowState.Normal
NewWindow.ChildForm.Visible = False
NewWindow.Text = ProcessName.Text
NewWindow.DuWM_ContainerPanel.Controls.Add(NewWindow.ChildForm)
Select Case NewWindow.ChildForm.Visible
Case False
NewWindow.ChildForm.Visible = True
Case Else
NewWindow.ChildForm.Visible = False
End Select
If ProcessName Is Console Then
Strings.ProcessID(0) = 1
NewWindow.DuWM_PID = 0
Else
Strings.ProcessID(1) = 1
NewWindow.DuWM_PID = 1
End If
NewWindow.Show()
Select Case DuWM_CurrentProcess
Case 1
NewWindow.Height = Desktop.Height - 20
NewWindow.Width = Desktop.Width - 20
NewWindow.Location = New Point(10, 10)
Case 2
NewWindow.Height = Desktop.Height - 20
NewWindow.Width = (Desktop.Width / 2) - 20
NewWindow.Location = New Point((Desktop.Width / 2) + 10, 10)
End Select
DuWM_ChangeLayout = True
End If
End Sub
'Public Sub DuWM_GenerateWindowSet(WindowName As Form, PID As Integer)
' Dim NewWContainer As New DuWM_WindowContainer
' NewWContainer.Width = (Desktop.Width / 2) - 10
' NewWContainer.Height = Desktop.Height - 20
' NewWContainer.ChildForm = WindowName
' NewWContainer.ChildForm.TopLevel = False
' NewWContainer.ChildForm.FormBorderStyle = FormBorderStyle.None
' NewWContainer.ChildForm.Size = New Size((Desktop.Width / 2) - 10, Desktop.Height - 20)
' Select Case PID
' Case 0
' NewWContainer.Location = New Point(10, 10)
' Case 1
' NewWContainer.Location = New Point((Desktop.Width / 2) + 10, 10)
' End Select
' NewWContainer.ChildForm.WindowState = FormWindowState.Normal
' NewWContainer.ChildForm.Visible = False
' NewWContainer.DuWM_ContainerPanel.Controls.Add(NewWContainer.ChildForm)
' Select Case NewWContainer.ChildForm.Visible
' Case False
' NewWContainer.ChildForm.Visible = True
' Case Else
' NewWContainer.ChildForm.Visible = False
' End Select
' Dim WindowNameStr As String = Convert.ToString(WindowName)
' Select Case WindowNameStr
' Case "Console"
' NewWContainer.DuWM_PID = 0
' Strings.ProcessID(0) = 1
' Case "Shifter"
' NewWContainer.DuWM_PID = 1
' Strings.ProcessID(1) = 1
' End Select
' NewWContainer.Show()
' NewWContainer.DuWM_WMCheck.Start()
'End Sub
'Public Sub DuWM_KillAllWindow()
' Strings.ProcessID(0) = 0
' Strings.ProcessID(1) = 0
'End Sub
End Module

View file

@ -0,0 +1,70 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class DuWM_WindowContainer
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.DuWM_ContainerPanel = New System.Windows.Forms.Panel()
Me.DuWM_WMCheck = New System.Windows.Forms.Timer(Me.components)
Me.DuWM_ChildSize = New System.Windows.Forms.Timer(Me.components)
Me.DuWM_LayoutCheck = New System.Windows.Forms.Timer(Me.components)
Me.SuspendLayout()
'
'DuWM_ContainerPanel
'
Me.DuWM_ContainerPanel.BackColor = System.Drawing.Color.Transparent
Me.DuWM_ContainerPanel.Dock = System.Windows.Forms.DockStyle.Fill
Me.DuWM_ContainerPanel.Location = New System.Drawing.Point(0, 0)
Me.DuWM_ContainerPanel.Name = "DuWM_ContainerPanel"
Me.DuWM_ContainerPanel.Size = New System.Drawing.Size(800, 450)
Me.DuWM_ContainerPanel.TabIndex = 0
'
'DuWM_WMCheck
'
'
'DuWM_ChildSize
'
'
'DuWM_LayoutCheck
'
'
'DuWM_WindowContainer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.DuWM_ContainerPanel)
Me.ForeColor = System.Drawing.Color.Black
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "DuWM_WindowContainer"
Me.Text = "DuWM_WindowContainer"
Me.TopMost = True
Me.ResumeLayout(False)
End Sub
Friend WithEvents DuWM_ContainerPanel As Panel
Friend WithEvents DuWM_WMCheck As Timer
Friend WithEvents DuWM_ChildSize As Timer
Friend WithEvents DuWM_LayoutCheck As Timer
End Class

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="DuWM_WMCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="DuWM_ChildSize.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>168, 17</value>
</metadata>
<metadata name="DuWM_LayoutCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>312, 17</value>
</metadata>
</root>

View file

@ -0,0 +1,45 @@
Public Class DuWM_WindowContainer
Public ChildForm As New Form
Public DuWM_PID As Integer
Private Sub DuWM_WindowContainer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DuWM_WMCheck.Start()
DuWM_ChildSize.Start()
DuWM_LayoutCheck.Start()
End Sub
Private Sub DuWM_WMCheck_Tick(sender As Object, e As EventArgs) Handles DuWM_WMCheck.Tick
If ChildForm.Visible = False Then
Strings.ProcessID(DuWM_PID) = 0
End If
If Strings.ProcessID(DuWM_PID) = 0 Then
DuWM_CurrentProcess = DuWM_CurrentProcess - 1
DuWM_ChangeLayout = True
DuWM_WMCheck.Stop()
Close()
End If
End Sub
Private Sub ChildSize_Tick(sender As Object, e As EventArgs) Handles DuWM_ChildSize.Tick
ChildForm.Size = DuWM_ContainerPanel.Size
End Sub
Private Sub DuWM_LayoutCheck_Tick(sender As Object, e As EventArgs) Handles DuWM_LayoutCheck.Tick
If DuWM_ChangeLayout = True Then
Select Case DuWM_CurrentProcess
Case 1
Height = Desktop.Height - 20
Width = Desktop.Width - 20
Location = New Point(10, 10)
Case 2
Select Case DuWM_PID
Case 0
Height = Desktop.Height - 20
Width = (Desktop.Width / 2) - 20
Location = New Point(10, 10)
End Select
End Select
DuWM_ChangeLayout = False
End If
End Sub
End Class

View file

@ -0,0 +1,6 @@
Module AnusWM_Main
Public Sub AnusWM_Initiate()
AnusWM_Menu.Show()
AnusWM_Menu.Location = New Point(25, 25)
End Sub
End Module

View file

@ -0,0 +1,142 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class AnusWM_Menu
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.mnu_Main = New System.Windows.Forms.MenuStrip()
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.ApplicationsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ShifterToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ExitToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.StopAnusWMToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.RestartToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ShutdownToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.lbl_Title = New System.Windows.Forms.Label()
Me.mnu_Main.SuspendLayout()
Me.SuspendLayout()
'
'mnu_Main
'
Me.mnu_Main.Dock = System.Windows.Forms.DockStyle.Fill
Me.mnu_Main.Font = New System.Drawing.Font("Segoe UI", 12.0!)
Me.mnu_Main.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ApplicationsToolStripMenuItem, Me.ShifterToolStripMenuItem, Me.AboutToolStripMenuItem, Me.ExitToolStripMenuItem})
Me.mnu_Main.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.VerticalStackWithOverflow
Me.mnu_Main.Location = New System.Drawing.Point(0, 25)
Me.mnu_Main.Name = "mnu_Main"
Me.mnu_Main.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
Me.mnu_Main.Size = New System.Drawing.Size(139, 112)
Me.mnu_Main.TabIndex = 0
Me.mnu_Main.Text = "MenuStrip1"
'
'ToolStripMenuItem1
'
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(132, 4)
'
'ApplicationsToolStripMenuItem
'
Me.ApplicationsToolStripMenuItem.Name = "ApplicationsToolStripMenuItem"
Me.ApplicationsToolStripMenuItem.Size = New System.Drawing.Size(132, 25)
Me.ApplicationsToolStripMenuItem.Text = "Applications"
'
'ShifterToolStripMenuItem
'
Me.ShifterToolStripMenuItem.Name = "ShifterToolStripMenuItem"
Me.ShifterToolStripMenuItem.Size = New System.Drawing.Size(132, 25)
Me.ShifterToolStripMenuItem.Text = "Shifter"
'
'AboutToolStripMenuItem
'
Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(132, 25)
Me.AboutToolStripMenuItem.Text = "About"
'
'ExitToolStripMenuItem
'
Me.ExitToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.StopAnusWMToolStripMenuItem, Me.RestartToolStripMenuItem, Me.ShutdownToolStripMenuItem})
Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem"
Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(132, 25)
Me.ExitToolStripMenuItem.Text = "Exit"
'
'StopAnusWMToolStripMenuItem
'
Me.StopAnusWMToolStripMenuItem.Name = "StopAnusWMToolStripMenuItem"
Me.StopAnusWMToolStripMenuItem.Size = New System.Drawing.Size(179, 26)
Me.StopAnusWMToolStripMenuItem.Text = "Stop AnusWM"
'
'RestartToolStripMenuItem
'
Me.RestartToolStripMenuItem.Name = "RestartToolStripMenuItem"
Me.RestartToolStripMenuItem.Size = New System.Drawing.Size(179, 26)
Me.RestartToolStripMenuItem.Text = "Restart"
'
'ShutdownToolStripMenuItem
'
Me.ShutdownToolStripMenuItem.Name = "ShutdownToolStripMenuItem"
Me.ShutdownToolStripMenuItem.Size = New System.Drawing.Size(179, 26)
Me.ShutdownToolStripMenuItem.Text = "Shutdown"
'
'lbl_Title
'
Me.lbl_Title.BackColor = System.Drawing.Color.Gray
Me.lbl_Title.Dock = System.Windows.Forms.DockStyle.Top
Me.lbl_Title.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic)
Me.lbl_Title.ForeColor = System.Drawing.Color.Black
Me.lbl_Title.Location = New System.Drawing.Point(0, 0)
Me.lbl_Title.Name = "lbl_Title"
Me.lbl_Title.Size = New System.Drawing.Size(139, 25)
Me.lbl_Title.TabIndex = 1
Me.lbl_Title.Text = "Toolchest"
Me.lbl_Title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'AnusWM_Menu
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(139, 137)
Me.Controls.Add(Me.mnu_Main)
Me.Controls.Add(Me.lbl_Title)
Me.ForeColor = System.Drawing.Color.Gray
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.MainMenuStrip = Me.mnu_Main
Me.Name = "AnusWM_Menu"
Me.Text = "AnusWM_Menu"
Me.mnu_Main.ResumeLayout(False)
Me.mnu_Main.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents mnu_Main As MenuStrip
Friend WithEvents ToolStripMenuItem1 As ToolStripMenuItem
Friend WithEvents ApplicationsToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ShifterToolStripMenuItem As ToolStripMenuItem
Friend WithEvents AboutToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ExitToolStripMenuItem As ToolStripMenuItem
Friend WithEvents StopAnusWMToolStripMenuItem As ToolStripMenuItem
Friend WithEvents RestartToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ShutdownToolStripMenuItem As ToolStripMenuItem
Friend WithEvents lbl_Title As Label
End Class

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="mnu_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View file

@ -0,0 +1,17 @@
Public Class AnusWM_Menu
Private Sub StopAnusWMToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles StopAnusWMToolStripMenuItem.Click
StopG()
End Sub
Private Sub RestartToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RestartToolStripMenuItem.Click
End Sub
Private Sub ShutdownToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ShutdownToolStripMenuItem.Click
TerminateShiftOS()
End Sub
Private Sub ApplicationToolStripMenuSubItem_Click(sender As Object, e As ToolStripItemClickedEventArgs) Handles ApplicationsToolStripMenuItem.DropDownItemClicked
MsgBox(e.ClickedItem.Text.ToString)
End Sub
End Class

View file

@ -16,7 +16,7 @@
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>

View file

@ -0,0 +1,5 @@
Reverse the text you inputted in the terminal
[TEXT] Words or sentences you want to reverse
example: rev SOtfihS

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