From c980445340728dbd2243fefdd901334867d15c2f Mon Sep 17 00:00:00 2001
From: Tony Bark
Date: Tue, 14 Mar 2023 06:17:27 -0400
Subject: [PATCH] Major clean up and reorganization
- Upgraded to Godot 4
- Just remembered the basic principles are based on a tile editor, and dramatically simplified from there. Derp.
- New state machine and license display add-ons.
- Re-licensed under the GPL because Micropolis' assets aren't under a separate one.
---
.gitattributes | 65 +--
.github/workflows/godot.yml | 55 +-
.gitignore | 33 +-
LICENSE | 457 ++++++++++------
README.md | 8 +-
TODO.md | 6 -
UNLICENSE | 22 -
addons/beehave/blackboard.gd | 24 -
addons/beehave/icons/action.svg | 61 ---
addons/beehave/icons/action.svg.import | 35 --
addons/beehave/icons/blackboard.svg | 61 ---
addons/beehave/icons/blackboard.svg.import | 35 --
addons/beehave/icons/category_bt.svg | 61 ---
addons/beehave/icons/category_bt.svg.import | 35 --
addons/beehave/icons/category_composite.svg | 61 ---
.../icons/category_composite.svg.import | 35 --
addons/beehave/icons/category_decorator.svg | 61 ---
.../icons/category_decorator.svg.import | 35 --
addons/beehave/icons/condition.svg | 61 ---
addons/beehave/icons/condition.svg.import | 35 --
addons/beehave/icons/fail.svg | 66 ---
addons/beehave/icons/fail.svg.import | 35 --
addons/beehave/icons/inverter.svg | 61 ---
addons/beehave/icons/inverter.svg.import | 35 --
addons/beehave/icons/limiter.svg | 61 ---
addons/beehave/icons/limiter.svg.import | 35 --
addons/beehave/icons/selector.svg | 61 ---
addons/beehave/icons/selector.svg.import | 35 --
addons/beehave/icons/selector_star.svg | 9 -
addons/beehave/icons/selector_star.svg.import | 35 --
addons/beehave/icons/sequencer.svg | 61 ---
addons/beehave/icons/sequencer.svg.import | 35 --
addons/beehave/icons/sequencer_star.svg | 9 -
.../beehave/icons/sequencer_star.svg.import | 35 --
addons/beehave/icons/succeed.svg | 61 ---
addons/beehave/icons/succeed.svg.import | 35 --
addons/beehave/icons/tree.svg | 61 ---
addons/beehave/icons/tree.svg.import | 35 --
addons/beehave/nodes/beehave_node.gd | 8 -
addons/beehave/nodes/beehave_root.gd | 84 ---
addons/beehave/nodes/beehave_tree.gd | 3 -
addons/beehave/nodes/composites/composite.gd | 8 -
addons/beehave/nodes/composites/selector.gd | 18 -
.../beehave/nodes/composites/selector_star.gd | 33 --
addons/beehave/nodes/composites/sequence.gd | 18 -
.../beehave/nodes/composites/sequence_star.gd | 35 --
addons/beehave/nodes/decorators/decorator.gd | 8 -
addons/beehave/nodes/decorators/failer.gd | 11 -
addons/beehave/nodes/decorators/inverter.gd | 17 -
addons/beehave/nodes/decorators/limiter.gd | 19 -
addons/beehave/nodes/decorators/succeeder.gd | 11 -
addons/beehave/nodes/leaves/action.gd | 3 -
addons/beehave/nodes/leaves/condition.gd | 3 -
addons/beehave/nodes/leaves/leaf.gd | 3 -
addons/beehave/plugin.cfg | 7 -
addons/beehave/plugin.gd | 5 -
addons/godot-version-management/README.md | 70 ---
.../godot_version_manager.gd | 78 ---
addons/godot-version-management/plugin.cfg | 8 -
.../LICENSE => simple-state/LICENSE.md} | 4 +-
.../simple-state/classes/animation_state.gd | 47 ++
addons/simple-state/classes/debugger.gd | 139 +++++
addons/simple-state/classes/random_state.gd | 34 ++
addons/simple-state/classes/sequence_state.gd | 43 ++
addons/simple-state/classes/state.gd | 291 +++++++++++
addons/simple-state/demo/demo.gd | 14 +
addons/simple-state/demo/demo.tscn | 218 ++++++++
addons/simple-state/demo/description_box.gd | 98 ++++
addons/simple-state/demo/emit_next.gd | 6 +
addons/simple-state/icons/animation_state.png | Bin 0 -> 2901 bytes
.../icons/animation_state.png.import | 34 ++
.../icons/licenses/Visit Kenney.url | 2 +
.../icons/licenses/Visit Patreon.url | 2 +
.../icons/licenses/board_game_icons.txt | 22 +
.../icons/licenses/game_icons+expansion.txt | 14 +
.../icons/licenses/pictogrammers.txt | 20 +
addons/simple-state/icons/random_state.png | Bin 0 -> 551 bytes
.../icons/random_state.png.import | 34 ++
addons/simple-state/icons/sequence_state.png | Bin 0 -> 424 bytes
.../icons/sequence_state.png.import | 34 ++
addons/simple-state/icons/sources.txt | 12 +
addons/simple-state/icons/state.png | Bin 0 -> 572 bytes
addons/simple-state/icons/state.png.import | 34 ++
addons/simple-state/icons/state_fullsize.png | Bin 0 -> 767 bytes
.../icons/state_fullsize.png.import | 34 ++
.../icons/state_machine_debugger.png | Bin 0 -> 1093 bytes
.../icons/state_machine_debugger.png.import | 34 ++
addons/simple-state/plugin.cfg | 7 +
addons/simple-state/plugin.gd | 25 +
.../templates/State/empty_state.gd | 33 ++
addons/simplelicense/GUI/LicenseGUI.tscn | 111 ++++
addons/simplelicense/Icon.png | Bin 0 -> 46235 bytes
addons/simplelicense/Icon.png.import | 34 ++
addons/simplelicense/Icon.svg | 163 ++++++
addons/simplelicense/Icon.svg.import | 37 ++
addons/simplelicense/LICENSE.txt | 121 +++++
addons/simplelicense/README.txt | 37 ++
addons/simplelicense/api/License.gd | 78 +++
addons/simplelicense/api/LicenseLink.gd | 178 +++++++
addons/simplelicense/api/LicenseManager.gd | 121 +++++
.../license_links/mod_1_license_link.tres | 14 +
.../licenses/mod_1_license_identifier.txt | 15 +
addons/simplelicense/mod_example/mod_1.gd | 1 +
addons/simplelicense/plugin.cfg | 9 +
addons/simplelicense/plugin.gd | 12 +
.../simplelicense/screenshots}/.gdignore | 0
addons/simplelicense/screenshots/Example.png | Bin 0 -> 143174 bytes
assets/Assets_Material.tres | 6 +-
.../CGTuts_OceanHDRI_Freebie_001.hdr.import | 31 +-
assets/Items_Albedo.png.import | 34 +-
assets/Items_EM.png.import | 34 +-
assets/Titillium-Regular.otf.import | 33 ++
assets/VR_Assets.dae.import | 2 +-
assets/adorable-z.png.import | 31 +-
assets/airport.png.import | 31 +-
assets/airport_3x3.png.import | 31 +-
assets/avatars/cindy.png.import | 31 +-
assets/avatars/kit.png.import | 31 +-
assets/avatars/zc.png.import | 31 +-
assets/cirria.png.import | 31 +-
assets/coal.png.import | 31 +-
assets/coal_3x3.png.import | 31 +-
assets/coal_smoke_frames.png.import | 31 +-
assets/coal_smoke_frames_3x3.png.import | 31 +-
assets/com_zones.png.import | 31 +-
assets/com_zones_3x3.png.import | 31 +-
assets/firestation.png.import | 31 +-
assets/firestation_3x3.png.import | 31 +-
assets/grass.tres | 2 +-
assets/ind.png.import | 31 +-
assets/ind01_pistons_frames.png.import | 31 +-
assets/ind03_smoke_frames.png.import | 31 +-
assets/ind04_smoke_frames.png.import | 31 +-
assets/ind07_smoke_frames.png.import | 31 +-
assets/ind08_smoke_frames.png.import | 31 +-
assets/ind_zones.png.import | 31 +-
assets/ind_zones_3x3.png.import | 31 +-
assets/misc_animation.png.import | 31 +-
assets/misc_animation_3x3.png.import | 31 +-
assets/nuclear.png.import | 31 +-
assets/nuclear_3x3.png.import | 31 +-
assets/police.png.import | 31 +-
assets/police_3x3.png.import | 31 +-
assets/rails.png.import | 31 +-
assets/rails_3x3.png.import | 31 +-
assets/res.png.import | 31 +-
assets/res_houses.png.import | 31 +-
assets/res_houses_3x3.png.import | 31 +-
assets/res_zones.png.import | 31 +-
assets/res_zones_3x3.png.import | 31 +-
assets/roads.png.import | 31 +-
assets/roads.tres | 2 +-
assets/roads_3x3.png.import | 31 +-
assets/roadwire.png.import | 31 +-
assets/roadwire_3x3.png.import | 31 +-
assets/seaport.png.import | 31 +-
assets/seaport_3x3.png.import | 31 +-
assets/snow-expansion.png.import | 31 +-
assets/stadium.png.import | 31 +-
assets/stadium2.png.import | 31 +-
assets/stadium2_3x3.png.import | 31 +-
assets/stadium_3x3.png.import | 31 +-
assets/stadium_animation_gfx.png.import | 31 +-
.../arrow-pointing-down.svg.import | 32 +-
.../symbols/fontawesome/arrow-up.svg.import | 32 +-
.../symbols/fontawesome/building.svg.import | 32 +-
.../symbols/fontawesome/calendar.svg.import | 32 +-
assets/symbols/fontawesome/city.svg.import | 32 +-
assets/symbols/fontawesome/cogs.svg.import | 32 +-
assets/symbols/fontawesome/coins.svg.import | 32 +-
.../symbols/fontawesome/comments.svg.import | 32 +-
.../fontawesome/envelope-open.svg.import | 32 +-
.../symbols/fontawesome/envelope.svg.import | 32 +-
assets/symbols/fontawesome/fast.svg.import | 32 +-
.../fontawesome/folder-open.svg.import | 32 +-
assets/symbols/fontawesome/folder.svg.import | 32 +-
.../fontawesome/github-sign.svg.import | 32 +-
assets/symbols/fontawesome/graph.svg.import | 32 +-
.../fontawesome/layer-group.svg.import | 32 +-
assets/symbols/fontawesome/meet.svg.import | 32 +-
.../symbols/fontawesome/pie-chart.svg.import | 32 +-
.../symbols/fontawesome/population.svg.import | 32 +-
.../fontawesome/question-circle.svg.import | 32 +-
assets/symbols/fontawesome/slow.svg.import | 32 +-
assets/symbols/fontawesome/spinner.svg.import | 32 +-
.../fontawesome/thumbs-down.svg.import | 32 +-
.../symbols/fontawesome/thumbs-up.svg.import | 32 +-
assets/terrain.png.import | 31 +-
assets/terrain_3x3.png.import | 31 +-
assets/terrain_cl.png.import | 31 +-
assets/terrian.tres | 2 +-
assets/ticker/pawprint-logo.svg.import | 32 +-
assets/traffic_frames.png.import | 31 +-
assets/traffic_frames_3x3.png.import | 31 +-
assets/ui/airport.png.import | 31 +-
assets/ui/coal.png.import | 31 +-
assets/ui/com.png.import | 31 +-
assets/ui/demandg.png.import | 31 +-
assets/ui/dropdownBottom.png.import | 31 +-
assets/ui/dropdownMid.png.import | 31 +-
assets/ui/dropdownTop.png.import | 31 +-
assets/ui/fire.png.import | 31 +-
assets/ui/grcom.png.import | 31 +-
assets/ui/grcomhi.png.import | 31 +-
assets/ui/grcrim.png.import | 31 +-
assets/ui/grcrimhi.png.import | 31 +-
assets/ui/grind.png.import | 31 +-
assets/ui/grindhi.png.import | 31 +-
assets/ui/grmony.png.import | 31 +-
assets/ui/grmonyhi.png.import | 31 +-
assets/ui/grpoll.png.import | 31 +-
assets/ui/grpollhi.png.import | 31 +-
assets/ui/grres.png.import | 31 +-
assets/ui/grreshi.png.import | 31 +-
assets/ui/icairp.png.import | 31 +-
assets/ui/icairphi.png.import | 31 +-
assets/ui/iccoal.png.import | 31 +-
assets/ui/iccoalhi.png.import | 31 +-
assets/ui/iccom.png.import | 31 +-
assets/ui/iccomhi.png.import | 31 +-
assets/ui/icdozr.png.import | 31 +-
assets/ui/icdozrhi.png.import | 31 +-
assets/ui/icfire.png.import | 31 +-
assets/ui/icfirehi.png.import | 31 +-
assets/ui/icind.png.import | 31 +-
assets/ui/icindhi.png.import | 31 +-
assets/ui/icnuc.png.import | 31 +-
assets/ui/icnuchi.png.import | 31 +-
assets/ui/icpark.png.import | 31 +-
assets/ui/icparkhi.png.import | 31 +-
assets/ui/icpol.png.import | 31 +-
assets/ui/icpolhi.png.import | 31 +-
assets/ui/icqry.png.import | 31 +-
assets/ui/icqryhi.png.import | 31 +-
assets/ui/icrail.png.import | 31 +-
assets/ui/icrailhi.png.import | 31 +-
assets/ui/icres.png.import | 31 +-
assets/ui/icreshi.png.import | 31 +-
assets/ui/icroad.png.import | 31 +-
assets/ui/icroadhi.png.import | 31 +-
assets/ui/icseap.png.import | 31 +-
assets/ui/icseaphi.png.import | 31 +-
assets/ui/icstad.png.import | 31 +-
assets/ui/icstadhi.png.import | 31 +-
assets/ui/icwire.png.import | 31 +-
assets/ui/icwirehi.png.import | 31 +-
assets/ui/pause.svg.import | 32 +-
assets/vignette.png.import | 31 +-
assets/water.tres | 2 +-
assets/wires.png.import | 31 +-
assets/wires_3x3.png.import | 31 +-
default_env.tres | 7 -
doc/images/feature_overview.jpg | Bin 81424 -> 0 bytes
doc/images/feature_overview_2.jpg | Bin 44050 -> 0 bytes
doc/images/godot_deploy_to_android.jpg | Bin 10958 -> 0 bytes
doc/images/hand_gestures.jpg | Bin 35659 -> 0 bytes
doc/images/medieval_city_screenshot.jpg | Bin 45142 -> 0 bytes
doc/images/ovr_metrics_tool.jpg | Bin 19383 -> 0 bytes
doc/images/showcase/beepsaber.jpg | Bin 52853 -> 0 bytes
doc/images/showcase/blocks.jpg | Bin 38402 -> 0 bytes
doc/images/showcase/fugitive.jpg | Bin 67541 -> 0 bytes
doc/images/showcase/getwood.jpg | Bin 56913 -> 0 bytes
doc/images/showcase/impossible_crypt.jpg | Bin 41695 -> 0 bytes
.../showcase/japanese_in_a_nutshell.jpg | Bin 48280 -> 0 bytes
doc/images/showcase/mawashi.jpg | Bin 35250 -> 0 bytes
doc/images/showcase/neon_gunslinger_vr.jpg | Bin 21438 -> 0 bytes
doc/images/showcase/pipelines.jpg | Bin 64021 -> 0 bytes
doc/images/showcase/seurat_capture.jpg | Bin 76895 -> 0 bytes
doc/images/showcase/seurat_tps_test.jpg | Bin 72016 -> 0 bytes
doc/images/showcase/spacetoys.jpg | Bin 22808 -> 0 bytes
doc/images/showcase/voxel_works_quest.jpg | Bin 115691 -> 0 bytes
doc/images/simulator_example.jpg | Bin 322451 -> 0 bytes
docs/.gdignore | 0
docs/README.md | 11 -
docs/octy.md | 42 --
export_presets.cfg | 141 -----
icon.png.import | 31 +-
icon.svg | 1 +
icon.svg.import | 37 ++
json/advisors/finacial.json | 10 +-
json/policies/cityplanner_analysis.json | 20 +-
json/policies/proposels.json | 26 +-
json/saves/defualt.json | 6 +-
json/saves/octy_file.json | 84 +--
json/ticker/config.json | 20 +-
json/zones/tower_names.json | 8 +-
licenses/Unlicense.txt | 24 +
licenses/license_links/SimpleLicense.tres | 14 +
project.godot | 170 +-----
resources/.gdignore | 0
resources/sc3k-ticker.txt | 252 ---------
scenes/Menu.tscn | 76 ---
scenes/Start.tscn | 77 ---
scenes/deparments/CoalPlant.tscn | 59 ---
scenes/deparments/Zone.tscn | 72 ---
scenes/game.tscn | 487 +-----------------
scenes/item_select.tscn | 38 ++
scenes/license_gui.tscn | 85 +++
scenes/maps/MapOne.tscn | 30 --
scenes/windows/3d/Status3D.tscn | 45 --
scenes/windows/Advisor.tscn | 49 --
scenes/windows/Credits.tscn | 51 --
scenes/windows/DebugConsole.tscn | 60 ---
scenes/windows/Meet.tscn | 63 ---
scenes/windows/Ordinance.tscn | 127 -----
scenes/windows/Status.tscn | 187 -------
scenes/windows/TaxWindow.tscn | 174 -------
scenes/windows/ToolsWindow.tscn | 163 ------
screenshot.png | Bin 180841 -> 0 bytes
screenshot.png.import | 35 --
scripts/Zone.gd | 39 --
scripts/advisor_window.gd | 96 ----
scripts/autoload/caseyverse.gd | 10 -
scripts/autoload/jsonhelper.gd | 11 -
scripts/autoload/power_grid.gd | 7 -
scripts/autoload/sim_data.gd | 88 ----
scripts/autoload/sim_events.gd | 18 -
scripts/autoload/sim_time.gd | 32 --
scripts/autoload/zone_data.gd | 13 -
scripts/camera_move.gd | 65 ---
scripts/city_status.gd | 12 -
scripts/command_handler.gd | 40 --
scripts/debug_console.gd | 64 ---
scripts/editor.gd | 22 +
scripts/game.gd | 39 --
scripts/license_gui.gd | 150 ++++++
scripts/policy_window.gd | 70 ---
scripts/power_station.gd | 16 -
scripts/simtactics/has_power.gd | 20 -
scripts/simtactics/turn_on.gd | 5 -
scripts/simtactics/zone.gd | 18 -
scripts/start_game.gd | 15 -
scripts/tax_window.gd | 42 --
scripts/ticker.gd | 123 -----
scripts/toolbar.gd | 4 -
scripts/window3d.gd | 5 -
scripts/windows.gd | 29 --
337 files changed, 5129 insertions(+), 7661 deletions(-)
delete mode 100644 TODO.md
delete mode 100644 UNLICENSE
delete mode 100644 addons/beehave/blackboard.gd
delete mode 100644 addons/beehave/icons/action.svg
delete mode 100644 addons/beehave/icons/action.svg.import
delete mode 100644 addons/beehave/icons/blackboard.svg
delete mode 100644 addons/beehave/icons/blackboard.svg.import
delete mode 100644 addons/beehave/icons/category_bt.svg
delete mode 100644 addons/beehave/icons/category_bt.svg.import
delete mode 100644 addons/beehave/icons/category_composite.svg
delete mode 100644 addons/beehave/icons/category_composite.svg.import
delete mode 100644 addons/beehave/icons/category_decorator.svg
delete mode 100644 addons/beehave/icons/category_decorator.svg.import
delete mode 100644 addons/beehave/icons/condition.svg
delete mode 100644 addons/beehave/icons/condition.svg.import
delete mode 100644 addons/beehave/icons/fail.svg
delete mode 100644 addons/beehave/icons/fail.svg.import
delete mode 100644 addons/beehave/icons/inverter.svg
delete mode 100644 addons/beehave/icons/inverter.svg.import
delete mode 100644 addons/beehave/icons/limiter.svg
delete mode 100644 addons/beehave/icons/limiter.svg.import
delete mode 100644 addons/beehave/icons/selector.svg
delete mode 100644 addons/beehave/icons/selector.svg.import
delete mode 100644 addons/beehave/icons/selector_star.svg
delete mode 100644 addons/beehave/icons/selector_star.svg.import
delete mode 100644 addons/beehave/icons/sequencer.svg
delete mode 100644 addons/beehave/icons/sequencer.svg.import
delete mode 100644 addons/beehave/icons/sequencer_star.svg
delete mode 100644 addons/beehave/icons/sequencer_star.svg.import
delete mode 100644 addons/beehave/icons/succeed.svg
delete mode 100644 addons/beehave/icons/succeed.svg.import
delete mode 100644 addons/beehave/icons/tree.svg
delete mode 100644 addons/beehave/icons/tree.svg.import
delete mode 100644 addons/beehave/nodes/beehave_node.gd
delete mode 100644 addons/beehave/nodes/beehave_root.gd
delete mode 100644 addons/beehave/nodes/beehave_tree.gd
delete mode 100644 addons/beehave/nodes/composites/composite.gd
delete mode 100644 addons/beehave/nodes/composites/selector.gd
delete mode 100644 addons/beehave/nodes/composites/selector_star.gd
delete mode 100644 addons/beehave/nodes/composites/sequence.gd
delete mode 100644 addons/beehave/nodes/composites/sequence_star.gd
delete mode 100644 addons/beehave/nodes/decorators/decorator.gd
delete mode 100644 addons/beehave/nodes/decorators/failer.gd
delete mode 100644 addons/beehave/nodes/decorators/inverter.gd
delete mode 100644 addons/beehave/nodes/decorators/limiter.gd
delete mode 100644 addons/beehave/nodes/decorators/succeeder.gd
delete mode 100644 addons/beehave/nodes/leaves/action.gd
delete mode 100644 addons/beehave/nodes/leaves/condition.gd
delete mode 100644 addons/beehave/nodes/leaves/leaf.gd
delete mode 100644 addons/beehave/plugin.cfg
delete mode 100644 addons/beehave/plugin.gd
delete mode 100644 addons/godot-version-management/README.md
delete mode 100644 addons/godot-version-management/godot_version_manager.gd
delete mode 100644 addons/godot-version-management/plugin.cfg
rename addons/{godot-version-management/LICENSE => simple-state/LICENSE.md} (95%)
create mode 100644 addons/simple-state/classes/animation_state.gd
create mode 100644 addons/simple-state/classes/debugger.gd
create mode 100644 addons/simple-state/classes/random_state.gd
create mode 100644 addons/simple-state/classes/sequence_state.gd
create mode 100644 addons/simple-state/classes/state.gd
create mode 100644 addons/simple-state/demo/demo.gd
create mode 100644 addons/simple-state/demo/demo.tscn
create mode 100644 addons/simple-state/demo/description_box.gd
create mode 100644 addons/simple-state/demo/emit_next.gd
create mode 100644 addons/simple-state/icons/animation_state.png
create mode 100644 addons/simple-state/icons/animation_state.png.import
create mode 100644 addons/simple-state/icons/licenses/Visit Kenney.url
create mode 100644 addons/simple-state/icons/licenses/Visit Patreon.url
create mode 100644 addons/simple-state/icons/licenses/board_game_icons.txt
create mode 100644 addons/simple-state/icons/licenses/game_icons+expansion.txt
create mode 100644 addons/simple-state/icons/licenses/pictogrammers.txt
create mode 100644 addons/simple-state/icons/random_state.png
create mode 100644 addons/simple-state/icons/random_state.png.import
create mode 100644 addons/simple-state/icons/sequence_state.png
create mode 100644 addons/simple-state/icons/sequence_state.png.import
create mode 100644 addons/simple-state/icons/sources.txt
create mode 100644 addons/simple-state/icons/state.png
create mode 100644 addons/simple-state/icons/state.png.import
create mode 100644 addons/simple-state/icons/state_fullsize.png
create mode 100644 addons/simple-state/icons/state_fullsize.png.import
create mode 100644 addons/simple-state/icons/state_machine_debugger.png
create mode 100644 addons/simple-state/icons/state_machine_debugger.png.import
create mode 100644 addons/simple-state/plugin.cfg
create mode 100644 addons/simple-state/plugin.gd
create mode 100644 addons/simple-state/templates/State/empty_state.gd
create mode 100644 addons/simplelicense/GUI/LicenseGUI.tscn
create mode 100644 addons/simplelicense/Icon.png
create mode 100644 addons/simplelicense/Icon.png.import
create mode 100644 addons/simplelicense/Icon.svg
create mode 100644 addons/simplelicense/Icon.svg.import
create mode 100644 addons/simplelicense/LICENSE.txt
create mode 100644 addons/simplelicense/README.txt
create mode 100644 addons/simplelicense/api/License.gd
create mode 100644 addons/simplelicense/api/LicenseLink.gd
create mode 100644 addons/simplelicense/api/LicenseManager.gd
create mode 100644 addons/simplelicense/mod_example/licenses/license_links/mod_1_license_link.tres
create mode 100644 addons/simplelicense/mod_example/licenses/mod_1_license_identifier.txt
create mode 100644 addons/simplelicense/mod_example/mod_1.gd
create mode 100644 addons/simplelicense/plugin.cfg
create mode 100644 addons/simplelicense/plugin.gd
rename {doc => addons/simplelicense/screenshots}/.gdignore (100%)
create mode 100644 addons/simplelicense/screenshots/Example.png
create mode 100644 assets/Titillium-Regular.otf.import
delete mode 100644 default_env.tres
delete mode 100644 doc/images/feature_overview.jpg
delete mode 100644 doc/images/feature_overview_2.jpg
delete mode 100644 doc/images/godot_deploy_to_android.jpg
delete mode 100644 doc/images/hand_gestures.jpg
delete mode 100644 doc/images/medieval_city_screenshot.jpg
delete mode 100644 doc/images/ovr_metrics_tool.jpg
delete mode 100644 doc/images/showcase/beepsaber.jpg
delete mode 100644 doc/images/showcase/blocks.jpg
delete mode 100644 doc/images/showcase/fugitive.jpg
delete mode 100644 doc/images/showcase/getwood.jpg
delete mode 100644 doc/images/showcase/impossible_crypt.jpg
delete mode 100644 doc/images/showcase/japanese_in_a_nutshell.jpg
delete mode 100644 doc/images/showcase/mawashi.jpg
delete mode 100644 doc/images/showcase/neon_gunslinger_vr.jpg
delete mode 100644 doc/images/showcase/pipelines.jpg
delete mode 100644 doc/images/showcase/seurat_capture.jpg
delete mode 100644 doc/images/showcase/seurat_tps_test.jpg
delete mode 100644 doc/images/showcase/spacetoys.jpg
delete mode 100644 doc/images/showcase/voxel_works_quest.jpg
delete mode 100644 doc/images/simulator_example.jpg
delete mode 100644 docs/.gdignore
delete mode 100644 docs/README.md
delete mode 100644 docs/octy.md
delete mode 100644 export_presets.cfg
create mode 100644 icon.svg
create mode 100644 icon.svg.import
create mode 100644 licenses/Unlicense.txt
create mode 100644 licenses/license_links/SimpleLicense.tres
delete mode 100644 resources/.gdignore
delete mode 100644 resources/sc3k-ticker.txt
delete mode 100644 scenes/Menu.tscn
delete mode 100644 scenes/Start.tscn
delete mode 100644 scenes/deparments/CoalPlant.tscn
delete mode 100644 scenes/deparments/Zone.tscn
create mode 100644 scenes/item_select.tscn
create mode 100644 scenes/license_gui.tscn
delete mode 100644 scenes/maps/MapOne.tscn
delete mode 100644 scenes/windows/3d/Status3D.tscn
delete mode 100644 scenes/windows/Advisor.tscn
delete mode 100644 scenes/windows/Credits.tscn
delete mode 100644 scenes/windows/DebugConsole.tscn
delete mode 100644 scenes/windows/Meet.tscn
delete mode 100644 scenes/windows/Ordinance.tscn
delete mode 100644 scenes/windows/Status.tscn
delete mode 100644 scenes/windows/TaxWindow.tscn
delete mode 100644 scenes/windows/ToolsWindow.tscn
delete mode 100644 screenshot.png
delete mode 100644 screenshot.png.import
delete mode 100644 scripts/Zone.gd
delete mode 100644 scripts/advisor_window.gd
delete mode 100644 scripts/autoload/caseyverse.gd
delete mode 100644 scripts/autoload/jsonhelper.gd
delete mode 100644 scripts/autoload/power_grid.gd
delete mode 100644 scripts/autoload/sim_data.gd
delete mode 100644 scripts/autoload/sim_events.gd
delete mode 100644 scripts/autoload/sim_time.gd
delete mode 100644 scripts/autoload/zone_data.gd
delete mode 100644 scripts/camera_move.gd
delete mode 100644 scripts/city_status.gd
delete mode 100644 scripts/command_handler.gd
delete mode 100644 scripts/debug_console.gd
create mode 100644 scripts/editor.gd
delete mode 100644 scripts/game.gd
create mode 100644 scripts/license_gui.gd
delete mode 100644 scripts/policy_window.gd
delete mode 100644 scripts/power_station.gd
delete mode 100644 scripts/simtactics/has_power.gd
delete mode 100644 scripts/simtactics/turn_on.gd
delete mode 100644 scripts/simtactics/zone.gd
delete mode 100644 scripts/start_game.gd
delete mode 100644 scripts/tax_window.gd
delete mode 100644 scripts/ticker.gd
delete mode 100644 scripts/toolbar.gd
delete mode 100644 scripts/window3d.gd
delete mode 100644 scripts/windows.gd
diff --git a/.gitattributes b/.gitattributes
index 1ff0c42..8ad74f7 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,63 +1,2 @@
-###############################################################################
-# Set default behavior to automatically normalize line endings.
-###############################################################################
-* text=auto
-
-###############################################################################
-# Set default behavior for command prompt diff.
-#
-# This is need for earlier builds of msysgit that does not have it on by
-# default for csharp files.
-# Note: This is only used by command line
-###############################################################################
-#*.cs diff=csharp
-
-###############################################################################
-# Set the merge driver for project and solution files
-#
-# Merging from the command prompt will add diff markers to the files if there
-# are conflicts (Merging from VS is not affected by the settings below, in VS
-# the diff markers are never inserted). Diff markers may cause the following
-# file extensions to fail to load in VS. An alternative would be to treat
-# these files as binary and thus will always conflict and require user
-# intervention with every merge. To do so, just uncomment the entries below
-###############################################################################
-#*.sln merge=binary
-#*.csproj merge=binary
-#*.vbproj merge=binary
-#*.vcxproj merge=binary
-#*.vcproj merge=binary
-#*.dbproj merge=binary
-#*.fsproj merge=binary
-#*.lsproj merge=binary
-#*.wixproj merge=binary
-#*.modelproj merge=binary
-#*.sqlproj merge=binary
-#*.wwaproj merge=binary
-
-###############################################################################
-# behavior for image files
-#
-# image files are treated as binary by default.
-###############################################################################
-#*.jpg binary
-#*.png binary
-#*.gif binary
-
-###############################################################################
-# diff behavior for common document formats
-#
-# Convert binary document formats to text before diffing them. This feature
-# is only available from the command line. Turn it on by uncommenting the
-# entries below.
-###############################################################################
-#*.doc diff=astextplain
-#*.DOC diff=astextplain
-#*.docx diff=astextplain
-#*.DOCX diff=astextplain
-#*.dot diff=astextplain
-#*.DOT diff=astextplain
-#*.pdf diff=astextplain
-#*.PDF diff=astextplain
-#*.rtf diff=astextplain
-#*.RTF diff=astextplain
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/.github/workflows/godot.yml b/.github/workflows/godot.yml
index b3c4412..6e190cd 100644
--- a/.github/workflows/godot.yml
+++ b/.github/workflows/godot.yml
@@ -1,32 +1,27 @@
-name: Build Godot Project
+# name: Build Godot Project
-on:
- push:
- branches: [main, develop, "releases/**"]
- pull_request:
- branches: [main, develop, "releases/**"]
+# on:
+# push:
+# branches: [main, develop, "releases/**"]
+# pull_request:
+# branches: [main, develop, "releases/**"]
-jobs:
- Godot:
- timeout-minutes: 15
- continue-on-error: true
- runs-on: ubuntu-latest
- strategy:
- matrix:
- platform: [linux, windows]
- steps:
- - uses: actions/checkout@v2
- with:
- lfs: true
- - name: Build
- id: build
- uses: manleydev/build-godot-action@v1.4.1
- with:
- name: My Simulation
- preset: ${{ matrix.platform }}
- debugMode: "true"
- # - name: Upload Artifact
- # uses: actions/upload-artifact@v2
- # with:
- # name: Client - ${{ matrix.platform }}
- # path: ${{ github.workspace }}/${{ steps.build.outputs.build }}
+# jobs:
+# Godot:
+# timeout-minutes: 15
+# continue-on-error: true
+# runs-on: ubuntu-latest
+# strategy:
+# matrix:
+# platform: [linux, windows]
+# steps:
+# - uses: actions/checkout@v2
+# with:
+# lfs: true
+# - name: Build
+# id: build
+# uses: manleydev/build-godot-action@v1.4.1
+# with:
+# name: My Simulation
+# preset: ${{ matrix.platform }}
+# debugMode: "true"
diff --git a/.gitignore b/.gitignore
index 26147bf..71b4e22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,11 @@
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
-# Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,macos,linux,godot,executable,backup
-# Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,macos,linux,godot,executable,backup
-
-### Backup ###
-*.bak
-*.gho
-*.ori
-*.orig
-*.tmp
-
-### Executable ###
-*.app
-*.bat
-*.cgi
-*.com
-*.exe
-*.gadget
-*.jar
-*.pif
-*.vb
-*.wsf
+# Created by https://www.toptal.com/developers/gitignore/api/godot,linux,macos,visualstudiocode,windows
+# Edit at https://www.toptal.com/developers/gitignore?templates=godot,linux,macos,visualstudiocode,windows
### Godot ###
+# Godot 4+ specific ignores
+.godot/
+
# Godot-specific ignores
.import/
export.cfg
@@ -33,6 +17,7 @@ export_presets.cfg
# Mono-specific ignores
.mono/
data_*/
+mono_crash.*.json
### Linux ###
*~
@@ -56,8 +41,7 @@ data_*/
.LSOverride
# Icon must end with two \r
-Icon
-
+Icon
# Thumbnails
._*
@@ -127,8 +111,7 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
-# End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,macos,linux,godot,executable,backup
+# End of https://www.toptal.com/developers/gitignore/api/godot,linux,macos,visualstudiocode,windows
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
-!export_presets.cfg
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 809d64a..620733c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,201 +1,320 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
+GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+Version 2, June 1991
- 1. Definitions.
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
+Preamble
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public License is intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users. This General Public License applies to
+most of the Free Software Foundation's software and to any other program whose
+authors commit to using it. (Some other Free Software Foundation software
+is covered by the GNU Lesser General Public License instead.) You can apply
+it to your programs, too.
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
+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 this service 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.
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the software, or if you modify it.
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
+For example, if you distribute copies of such a program, whether gratis or
+for a fee, you must give the recipients all the rights that you have. 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.
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If
+the software is modified by someone else and passed on, we want its recipients
+to know that what they have is not the original, so that any problems introduced
+by others will not reflect on the original authors' reputations.
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that redistributors of a free program will individually
+obtain patent licenses, in effect making the program proprietary. To prevent
+this, we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
+The precise terms and conditions for copying, distribution and modification
+follow.
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
+0. This License applies to any program or other work which contains a notice
+ placed by the copyright holder saying it may be distributed under the terms
+ of this General Public License. The "Program", below, refers to any such program
+ or work, and a "work based on the Program" means either the Program or any
+ derivative work under copyright law: that is to say, a work containing the
+ Program or a portion of it, either verbatim or with modifications and/or translated
+ into another language. (Hereinafter, translation is included without limitation
+ in the term "modification".) Each licensee is addressed as "you".
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running the Program
+is not restricted, and the output from the Program is covered only if its
+contents constitute a work based on the Program (independent of having been
+made by running the Program). Whether that is true depends on what the Program
+does.
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
+1. You may copy and distribute 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 and disclaimer of warranty;
+ keep intact all the notices that refer to this License and to the absence
+ of any warranty; and give any other recipients of the Program a copy of this
+ License along with the Program.
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
+2. You may modify your copy or copies of the Program or any portion of it,
+ thus forming a work based on the Program, and copy and distribute such modifications
+ or work under the terms of Section 1 above, provided that you also meet all
+ of these conditions:
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
+a) You must cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change.
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
+b) You must cause any work that you distribute or publish, that in whole or
+in part contains or is derived from the Program or any part thereof, to be
+licensed as a whole at no charge to all third parties under the terms of this
+License.
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
+c) If the modified program normally reads commands interactively when run,
+you must cause it, when started running for such interactive use in the most
+ordinary way, to print or display an announcement including an appropriate
+copyright notice and a notice that there is no warranty (or else, saying that
+you provide a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this License.
+(Exception: if the Program itself is interactive but does not normally print
+such an announcement, your work based on the Program is not required to print
+an announcement.)
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Program, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Program.
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
+In addition, mere aggregation of another work not based on the Program with
+the Program (or with a work based on the Program) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
- END OF TERMS AND CONDITIONS
+3. You may copy and distribute the Program (or a work based on it, under Section
- APPENDIX: How to apply the Apache License to your work.
+2) in object code or executable form under the terms of Sections 1 and 2 above
+ provided that you also do one of the following:
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+a) Accompany it with the complete corresponding machine-readable source code,
+which must be distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
- Copyright 2022 Tony Bark
+b) Accompany it with a written offer, valid for at least three years, to give
+any third party, for a charge no more than your cost of physically performing
+source distribution, a complete machine-readable copy of the corresponding
+source code, to be distributed under the terms of Sections 1 and 2 above on
+a medium customarily used for software interchange; or,
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+c) Accompany it with the information you received as to the offer to distribute
+corresponding source code. (This alternative is allowed only for noncommercial
+distribution and only if you received the program in object code or executable
+form with such an offer, in accord with Subsection b above.)
- http://www.apache.org/licenses/LICENSE-2.0
+The source code for a work means the preferred form of the work for making
+modifications to it. For an executable work, complete source code means all
+the source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and installation
+of the executable. However, as a special exception, the source code distributed
+need not include anything that is normally distributed (in either source or
+binary form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component itself
+accompanies the executable.
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+If distribution of executable or object code is made by offering access to
+copy from a designated place, then offering equivalent access to copy the
+source code from the same place counts as distribution of the source code,
+even though third parties are not compelled to copy the source along with
+the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except
+ as expressly provided under this License. Any attempt otherwise to copy, modify,
+ sublicense or distribute the Program is void, and will automatically terminate
+ your rights under this License. However, parties who have received copies,
+ or rights, from you under this License will not have their licenses terminated
+ so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed
+ it. However, nothing else grants you permission to modify or distribute the
+ Program or its derivative works. These actions are prohibited by law if you
+ do not accept this License. Therefore, by modifying or distributing the Program
+ (or any work based on the Program), you indicate your acceptance of this License
+ to do so, and all its terms and conditions for copying, distributing or modifying
+ the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program),
+ the recipient automatically receives a license from the original licensor
+ to copy, distribute or modify the Program subject to these terms and conditions.
+ You may not impose any further restrictions on the recipients' exercise of
+ the rights granted herein. You are not responsible for enforcing compliance
+ by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement
+ or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your
+ obligations under this License and any other pertinent obligations, then as
+ a consequence you may not distribute the Program at all. For example, if a
+ patent license would not permit royalty-free redistribution of the Program
+ by all those who receive copies directly or indirectly through you, then the
+ only way you could satisfy both it and this License would be to refrain entirely
+ from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system, which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+ countries either by patents or by copyrighted interfaces, the original copyright
+ holder who places the Program under this License may add an explicit geographical
+ distribution limitation excluding those countries, so that distribution is
+ permitted only in or among countries not thus excluded. In such case, this
+ License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of
+ the 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
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Program does not specify a version number of this License, you may choose
+any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+ whose distribution conditions are different, write to the author to ask for
+ permission. For software which is copyrighted by the Free Software Foundation,
+ write to the Free Software Foundation; we sometimes make exceptions for this.
+ Our decision will be guided by the two goals of preserving the free status
+ of all derivatives of our free software and of promoting the sharing and reuse
+ of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+ 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.
+ 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 convey the exclusion
+of warranty; and each file should have at least the "copyright" line and a
+pointer to where the full notice is found.
+
+
+
+Copyright (C) < yyyy>
+
+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 2 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, write to the Free Software Foundation, Inc., 51 Franklin
+Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when
+it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be
+called something other than `show w' and `show c'; they could even be mouse-clicks
+or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the program, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
+(which makes passes at compilers) written by James Hacker.
+
+, 1 April 1989 Ty Coon, President of Vice This 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.
diff --git a/README.md b/README.md
index 7e59551..c94c874 100644
--- a/README.md
+++ b/README.md
@@ -7,22 +7,22 @@