-- EnvUtils2: Environmental Variable Utilities
-- Written by AJ Kelly of KKI Labs / Version 2.0

-- This code is a rewrite of what typically exists in EnvUtils.lua
-- (as seen in dubaiOne), hereafter referred to as EnvUtils1.

-- I felt it was time for a simplification of the code.
-- This new version should also work better and be less damn confusing.

-- hacky way of letting people know EnvUtils2 is active.
-- This is here for the UserPreferences addon, as it can optionally
-- set Envs for you if you have EnvUtils2 installed.
bUsingEnvUtils2 = true;

-- Env table global
envTable = GAMESTATE:Env();

-- setenv(name,value)
-- Sets aside an entry for /name/ and puts /value/ into it.
-- Unlike EnvUtils1, this is the only setenv function available to you.
-- If you need to store more than one value, you're welcome to use a
-- table as /value/, it should work just fine.
function setenv(name,value)
	envTable[name] = value;
end;

-- getenv(name)
-- This will return whatever value is at envTable[name].
function getenv(name)
	return envTable[name];
end;

--[[
Copyright © 2008 AJ Kelly/KKI Labs
All rights reserved.

This code is licensed under AJ's Generic Use of Code License.
An up to date copy can be found at the following address:
http://kki.ajworld.net/wiki/AJ%27s_Generic_Use_of_Code_License
However, keep in mind that the code in this file is bound to the exact
specifications found in this file.
That is to say, changes are not retroactive.

When using this code in your theme, you agree to the following points:

1. Redistributions of anything that uses this code must retain the above
copyright notice and this list of conditions.

2. Not hide/require registration for any theme that uses the code from the
public IF there is a public release. (This means private themes and themes for
commercial games can use the code without worry.)

3. Not compile the code down to bytecode (if the code is Lua) in a public
theme. (Yes, it can be reversed, but regardless, this hinders openness and
sharing.)

4. This code is a unique/nontrivial creation, therefore, credit should be
given to the creator of the code if used in another theme.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
]]