diff --git a/404.html b/404.html new file mode 100644 index 00000000..2db799a4 --- /dev/null +++ b/404.html @@ -0,0 +1,85 @@ + + + +
+ +Uh oh! You sandboxed too hard and ended up in the place pixels go after they die.
+ + \ No newline at end of file diff --git a/changelog.txt b/changelog.txt index 7f2d529b..ebe0f4c8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,70 @@ + Artists' Update (Painting, Lines, Shapes, etc.) + Machines Update +[Version 1.2] + + Human + + Firework + + Dynamite + + Primordial Soup + + Seeds - a mixture of various seeds + + Paper + + Cellulose + + Pressure Plate + + Border + + Poison + + Antidote + + Dirty Bomb + + Dead Plant (Hidden) + + Frozen Plant (Hidden) + + Ember (Hidden, burned into by wood) + + Fw_Ember (Hidden) + + View Switcher (Press 1-9) + + Thermal View (2) + + Settings Menu + + Metric, Imperial, and SI units + + Unhide All Element + + Background Color + + C or F2 - Download Screenshot + + F1 - Hide/Show GUI and HUD + + Left Arrow & Right Arrow change categories + + New smooth animation for Rainbow element + + Acid Clouds can slowly burn + + Acid Gas and Acid Clouds can be neutralized like Acid + + Nitroglycerin now explodes when sparked + + Bamboo now breaks into Sawdust + + Most explosives can now melt + + Sand and Dirt can now absorb Blood and Oil + + Alcohol can fight against Virus and Plague + + 404 Page + ~ Explosives are no longer included in Random + ~ Unhid pollen + ~ Hid Chocolate Syrup + ~ Moved Meat to Food category + ~ Meat rots a lot slower + ~ Animals die from plague slower + ~ Less collection of applicable gases below clouds + ~ Page title takes up less space + ~ Viruses and Gray Goo now ignore Fire and Smoke + ~ Viruses no longer consume Soap, Plague, or Cancer + ~ Gray Goo now moves sideways while on surface + ~ Cloners no longer clone other Cloner types + ~ Molten Plastic now flows faster + ~ Tweaked Wet Sand color + ~ Recolored Slag + ~ Made Oil more visible + ~ GUI takes up less vertical space + - Removed Hide button + + Accessibility: Tab can be used to navigate GUI + ~ Fixed: Light doesn't bounce properly + ~ Fixed: Magma is absorbed by Molten Slag + ~ Fixed: Acid deletes Acid Clouds + ~ Fixed: Random not working with Replace mode + ~ Fixed: Holding Ctrl/Cmd while using a control gets overriden + ~ Fixed: LEDs don't lose charge + ~ Fixed: Info links show element IDs even if they have names + + Technical: Element "ignore" property now works on CH (Change) and CF (Clone First Touched) + + Technical: Elements can now have a behavior and tick function at the same time + [Version 1.1.2] + Technical: New functions to use in coded elements doBurning(pixel); // Using this function will allow burning simulation diff --git a/controls.txt b/controls.txt index 2065b742..52199ce1 100644 --- a/controls.txt +++ b/controls.txt @@ -1,19 +1,28 @@ [Sandboxels Controls] - Left Click = Place Pixels - Right Click = Erase Pixels - Middle Click = Pick Element - Spacebar or P = Pause Simulation - Shift + Heat = Intense Heating - Shift + Cool = Intense Cooling - Scroll = Change Cursor Size - - or [ = Decrease Cursor Size - + or ] = Increase Cursor Size - Shift + - = Set Cursor Size to 1 - Shift + + = Increase Cursor Size - E = Element Selection - / or I = Element Info Screen - > = Step - F = Toggle Fullscreen + Left Click = Place Pixels + Right Click = Erase Pixels + Middle Click = Pick Element + Space or P = Pause Simulation + Shift + Heat = Intense Heating + Shift + Cool = Intense Cooling + Shift + Mix = Include Fire & Smoke in Mixing + Shift + Shock = Intense Shock + Scroll = Change Cursor Size + - or [ = Decrease Cursor Size + + or ] = Increase Cursor Size + Shift + - = Set Cursor Size to 1 + Shift + + = Increase Cursor Size + Left/Right Arrow = Change Category + E = Element Selection + / or I = Element Info Screen + \ = Settings Menu + M = Mod Manager + > = Step + F or F11 = Toggle Fullscreen + 1 or 0 = Normal View + 2 = Thermal View + F1 = Toggle GUI / HUD + F2 or C = Capture Screenshot (Alt/Option can be used in place of Shift) @@ -26,6 +35,6 @@ Replace = Overrides pixels when placing E = Select any element by name TPS = Change how fast the simulation runs - Hide = Run the simulation without updating the display Info = Brings up the element info screen - Mods = Opens the Mod Manager \ No newline at end of file + Mods = Opens the Mod Manager + Settings = Opens the Settings Menu \ No newline at end of file diff --git a/index.html b/index.html index 5ac527aa..b2e9f02e 100644 --- a/index.html +++ b/index.html @@ -57,9 +57,13 @@ background-color: #000000; color: #ffffff; } - h1 { + .pagetitle { padding: 10px; padding-bottom: 0px; + font-size: 0.75em; + position: absolute; + top: 0; + left: 0; } a {color: rgb(255, 0, 255);text-decoration: none;} a:hover {color: rgb(255, 121, 255);} @@ -75,15 +79,16 @@ -moz-user-select: none; /* Old versions of Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; + margin-top: 15px; } - #infoParent, #modParent { + #infoParent, #modParent, #settingsParent { display: none; } - #infoScreen, #modManager { + #infoScreen, #modManager, #settingsMenu { border: 1px solid #ffffff; position: absolute; left: 50%; - transform: translate(-50%, 8%); + transform: translate(-50%, 28%); width: 95%; height: 50%; max-width: 700px; @@ -178,7 +183,10 @@ padding: 0; font: inherit; cursor: pointer; - outline: inherit; + } + .usingTab button:focus { + filter: brightness(75%); + outline: none; } #underBox { position: absolute; @@ -241,9 +249,16 @@ /* screen size < 700px */ @media screen and (max-width: 700px) { #stats {padding-bottom:2em;} - h1 {font-size: 1em;} + .pagetitle { + font-size: 1em; + padding-left: 0.25em; + } } - #stat-pos, #stat-pixels, #stat-shift, #stat-tps, #stat-ticks { + /* screen size > 1325px, h1::after {content:" Sandboxels"} */ + @media screen and (min-width: 1325px) { + .pagetitle::after {content:" Sandboxels"} + } + #stat-pos, #stat-pixels, #stat-shift, #stat-tps, #stat-ticks, #stat-view { float:left; } .categoryName { @@ -255,16 +270,34 @@ #extraInfo { margin:5px } - #categoryControls { - margin-top: 5px; - margin-bottom: 5px; - background-color: rgba(255, 255, 255, 0.125); + #toolControls, #category-tools { white-space: nowrap; - overflow-x: scroll; + overflow-x: auto; overflow-y: hidden; width: 100%; position: absolute; - z-index: 0; + } + #toolControls { + margin-top: -3.5em; + z-index: 3; + } + #category-tools { + margin-top: -1.5em; + z-index: 2; + } + .category { + padding-top: 3em; + } + #categoryControls { + margin-top: 0.5em; + margin-bottom: 5px; + background-color: rgba(255, 255, 255, 0.125); + white-space: nowrap; + overflow-x: auto; + overflow-y: hidden; + width: 100%; + position: absolute; + z-index: 1; padding-bottom:1px; } #categoryControls button { @@ -277,7 +310,7 @@ padding-bottom: 5px; display: inline-block; position: relative; - z-index:1; + z-index:0; } #categoryControls button:not(:last-child) { border-right: 1px solid rgba(255, 255, 255, 0.4); @@ -314,6 +347,16 @@ button, input { /*Disable double tap zoom on mobile devices*/ touch-action: manipulation; } + select { + background-color: black; + vertical-align: middle; + margin-left: 5px; + margin-right: 5px; + border: white 0.5px solid; + border-radius: 20px; + padding: 0.5em; + color: white; + } diff --git a/mods/example_mod.js b/mods/example_mod.js index b9c66cfa..6fc03f3a 100644 --- a/mods/example_mod.js +++ b/mods/example_mod.js @@ -46,6 +46,14 @@ runAfterLoad(function() { console.log("Hello World!"); }); +// Run if another mod is active +if (enabledMods.includes("test.js")) { + runAfterLoad(function() { + // Your code here + console.log("Hello World!"); + }); +} + // Creating eLists: eLists.CONDIMENT = ["ketchup","melted_cheese","mayo"]; // Adding elements to eLists: diff --git a/mods/humans.js b/mods/humans.js index 21d0e534..7cf0879b 100644 --- a/mods/humans.js +++ b/mods/humans.js @@ -1,4 +1,6 @@ -elements.human = { +// Mod deprecated. Merged with base game. + +/*elements.human = { color: ["#f5eac6","#d4c594","#a89160","#7a5733","#523018","#361e0e"], category: "life", properties: { @@ -52,6 +54,7 @@ elements.body = { burnInto: "cooked_meat", reactions: { "cancer": { "elem1":"cancer", "chance":0.005 }, + "radiation": { "elem1":["ash","meat","rotten_meat","cooked_meat"], "chance":0.4 }, }, properties: { dead: false, @@ -59,7 +62,7 @@ elements.body = { panic: 0, }, tick: function(pixel) { - if (tryMove(pixel, pixel.x, pixel.y+1)) { + if (tryMove(pixel, pixel.x, pixel.y+1)) { // Fall if (!isEmpty(pixel.x, pixel.y-2, true)) { // Drag head down var headpixel = pixelMap[pixel.x][pixel.y-2]; if (headpixel.element == "head") { @@ -142,6 +145,10 @@ elements.head = { burn: 10, burnTime: 250, burnInto: "cooked_meat", + reactions: { + "cancer": { "elem1":"cancer", "chance":0.005 }, + "radiation": { "elem1":["ash","meat","rotten_meat","cooked_meat"], "chance":0.4 }, + }, properties: { dead: false }, @@ -193,4 +200,4 @@ elements.blood.reactions.dirt = { elements.blood.reactions.sand = { "elem1": null, "elem2": "wet_sand", -} \ No newline at end of file +}*/ \ No newline at end of file