mirror of
https://github.com/Eaglercraft-Archive/Eaglercraftx-1.8.8-src.git
synced 2025-06-27 18:38:14 -05:00
Update #37 - Touch support without userscript, many other feats
This commit is contained in:
@ -3,24 +3,26 @@
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
lax1dude:
|
||||
|
||||
|
||||
- Creator of Eaglercraft
|
||||
- Ported the Minecraft 1.8 src to TeaVM
|
||||
- Wrote HW accelerated OpenGL 1.3 emulator
|
||||
- Wrote the default shader pack
|
||||
- Made the integrated PBR resource pack
|
||||
- Added touch and mobile device support
|
||||
- Wrote all desktop emulation code
|
||||
- Wrote EaglercraftXBungee
|
||||
- Wrote EaglercraftXVelocity
|
||||
- Wrote WebRTC relay server
|
||||
- Wrote voice chat server
|
||||
- Wrote the patch and build system
|
||||
|
||||
|
||||
ayunami2000:
|
||||
|
||||
|
||||
- Many bug fixes
|
||||
- WebRTC LAN worlds
|
||||
- WebRTC voice chat
|
||||
- Worked on touch support
|
||||
- Made velocity plugin work
|
||||
- Added resource packs
|
||||
- Added screen recording
|
||||
@ -410,7 +412,7 @@
|
||||
Project Author: The Legion of the Bouncy Castle
|
||||
Project URL: https://www.bouncycastle.org/java.html
|
||||
|
||||
Used For: MD5, SHA-1, SHA-256 implementations
|
||||
Used For: MD5, SHA-1, SHA-256, and AES implementations
|
||||
|
||||
* Copyright (c) 2000-2021 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)
|
||||
*
|
||||
@ -668,23 +670,23 @@
|
||||
Project Author: ymnk, JCraft Inc.
|
||||
Project URL: http://www.jcraft.com/jorbis/
|
||||
|
||||
Used For: Audio in desktop runtime
|
||||
Used For: Audio in desktop runtime and browsers that don't support OGG
|
||||
|
||||
* JOrbis
|
||||
* Copyright (C) 2000 ymnk, JCraft,Inc.
|
||||
*
|
||||
*
|
||||
* Written by: 2000 ymnk<ymnk@jcraft.com>
|
||||
*
|
||||
* Many thanks to
|
||||
* Monty <monty@xiph.org> and
|
||||
* The XIPHOPHORUS Company http://www.xiph.org/ .
|
||||
* JOrbis has been based on their awesome works, Vorbis codec.
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library 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
|
||||
@ -696,6 +698,44 @@
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: NanoHTTPD
|
||||
Project Author: NanoHTTPD
|
||||
Project URL: http://nanohttpd.org/
|
||||
|
||||
Used For: HTTP server in the desktop runtime
|
||||
|
||||
* Copyright (c) 2012-2013 by Paul S. Hawke,
|
||||
* 2001,2005-2013 by Jarno Elonen,
|
||||
* 2010 by Konstantinos Togias All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* Neither the name of the NanoHttpd organization nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* 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 HOLDER 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.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
Project Name: sqlite-jdbc
|
||||
Project Author: Taro L. Saito (xerial)
|
||||
Project URL: https://github.com/xerial/sqlite-jdbc
|
||||
|
BIN
sources/resources/assets/eagler/audioctx_test_ogg.dat
Normal file
BIN
sources/resources/assets/eagler/audioctx_test_ogg.dat
Normal file
Binary file not shown.
BIN
sources/resources/assets/eagler/audioctx_test_wav16.dat
Normal file
BIN
sources/resources/assets/eagler/audioctx_test_wav16.dat
Normal file
Binary file not shown.
BIN
sources/resources/assets/eagler/audioctx_test_wav32f.dat
Normal file
BIN
sources/resources/assets/eagler/audioctx_test_wav32f.dat
Normal file
Binary file not shown.
@ -0,0 +1,88 @@
|
||||
<style type="text/css" style="display:none !important;">{% embed eval `boot_menu_style.css` %}</style>
|
||||
<div class="_eaglercraftX_boot_menu {% global `root_class_gen` %}">
|
||||
<div class="_eaglercraftX_boot_menu_inner">
|
||||
<div class="_eaglercraftX_boot_menu_header">
|
||||
<p class="_eaglercraftX_boot_menu_header_title">EaglercraftX 1.8 Boot Manager</p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_content">
|
||||
<div class="_eaglercraftX_boot_menu_content_inner">
|
||||
<div class="_eaglercraftX_boot_menu_content_view_selection" style="display:none;">
|
||||
<div class="_eaglercraftX_boot_menu_content_selection"></div>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_content_view_editor" style="display:none;">
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf">
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_inner">
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item_wide" style="padding: 20px;">
|
||||
<p>Profile Name: <input type="text" class="_eaglercraftX_boot_menu_launch_conf_val_profile_name"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item_wide">
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_data_format">
|
||||
<p>Data Format: <span class="_eaglercraftX_boot_menu_launch_conf_val_data_format">Standard Offline</span></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_launch_type">
|
||||
<p>Launch Type:
|
||||
<select class="_eaglercraftX_boot_menu_launch_conf_val_launch_type">
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="EAGLERX_SIGNED_V1">EaglercraftX Signed Client</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="EAGLERX_V1">EaglercraftX Standard Offline</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="EAGLER_1_5_V2">Eaglercraft 1.5 (post-22w34a)</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="EAGLER_1_5_V1">Eaglercraft 1.5 (pre-22w34a)</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="EAGLER_BETA_V1">Eaglercraft Beta 1.3</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="PEYTON_V1">PeytonPlayz585 Indev</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="PEYTON_V2">PeytonPlayz585 Alpha/Beta</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="STANDARD_OFFLINE_V1">Standard Offline</option>
|
||||
<option class="_eaglercraftX_boot_menu_launch_conf_val_launch_type_opt" value="IFRAME_SANDBOX_V1">IFrame HTML File</option>
|
||||
</select>
|
||||
</p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_join_server" style="display:none;">
|
||||
<p>Join Server: <input type="text" class="_eaglercraftX_boot_menu_launch_conf_val_join_server"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_opts_name" style="display:none;">
|
||||
<p>Opt Variable Name: <input type="text" class="_eaglercraftX_boot_menu_launch_conf_val_opts_name"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_assetsURI" style="display:none;">
|
||||
<p>Assets URI Opt: <input type="text" class="_eaglercraftX_boot_menu_launch_conf_val_assetsURI"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_container" style="display:none;">
|
||||
<p>Container ID Opt: <input type="text" class="_eaglercraftX_boot_menu_launch_conf_val_container"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_main_func" style="display:none;">
|
||||
<p>Main function: <input type="text" class="_eaglercraftX_boot_menu_launch_conf_val_main_func"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_launch_conf_item _eaglercraftX_boot_menu_launch_conf_clear_cookies">
|
||||
<p>Clear Cookies Before Launch: <input type="checkbox" class="_eaglercraftX_boot_menu_launch_conf_val_clear_cookies"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<textarea class="_eaglercraftX_boot_menu_launch_opt_editor" spellcheck="false"></textarea>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_popup" style="display:none;">
|
||||
<div class="_eaglercraftX_boot_menu_popup_inner">
|
||||
<div class="_eaglercraftX_boot_menu_popup_view_confirm" style="display:none;">
|
||||
<p class="_eaglercraftX_boot_menu_popup_confirm_title"></p>
|
||||
<p class="_eaglercraftX_boot_menu_popup_confirm_opts"></p>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_popup_view_selection" style="display:none;">
|
||||
<p class="_eaglercraftX_boot_menu_popup_selection_title"></p>
|
||||
<div class="_eaglercraftX_boot_menu_popup_selection"></div>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_popup_view_input" style="display:none;">
|
||||
<p class="_eaglercraftX_boot_menu_popup_input_title"></p>
|
||||
<p class="_eaglercraftX_boot_menu_popup_input_val_container"><input class="_eaglercraftX_boot_menu_popup_input_val" type="text"></p>
|
||||
<p class="_eaglercraftX_boot_menu_popup_input_opts"><span class="_eaglercraftX_boot_menu_popup_input_opt _eaglercraftX_boot_menu_popup_input_opt_cancel"> < Cancel > </span>   <span class="_eaglercraftX_boot_menu_popup_input_opt _eaglercraftX_boot_menu_popup_input_opt_done _eaglercraftX_boot_menu_popup_input_opt_selected"> < Done > </span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="_eaglercraftX_boot_menu_footer">
|
||||
<p class="_eaglercraftX_boot_menu_footer_text _eaglercraftX_boot_menu_footer_text_boot_select" style="display:none;">Use the ↑ and ↓ keys to select which entry is highlighted.<br>Press enter to boot the selected client, `e' to edit eaglercraft opts before booting, or ESC to exit and boot normally.</p>
|
||||
<p class="_eaglercraftX_boot_menu_footer_text _eaglercraftX_boot_menu_footer_text_boot_select_count" style="display:none;">Use the ↑ and ↓ keys to select which entry is highlighted.<br>Press enter to boot the selected client, `e' to edit eaglercraft opts before booting.<br>The first option will be executed in <span class="_eaglercraftX_boot_menu_footer_text_boot_countdown">0</span> seconds. Press any key to cancel.</p>
|
||||
<p class="_eaglercraftX_boot_menu_footer_text _eaglercraftX_boot_menu_footer_text_menu_select" style="display:none;">Use the ↑ and ↓ keys to select which entry is highlighted.<br>Press enter to select, or ESC return to the previous screen.</p>
|
||||
<p class="_eaglercraftX_boot_menu_footer_text _eaglercraftX_boot_menu_footer_text_opts_editor" style="display:none;">Press CTRL+SHIFT to open editor menu.<br>Press CTRL+ENTER to boot, or ESC return to the previous menu.</p>
|
||||
<p class="_eaglercraftX_boot_menu_footer_text _eaglercraftX_boot_menu_footer_text_opts_editor_alt" style="display:none;">Press CTRL+SHIFT to open editor menu.<br>Press CTRL+ENTER to save, or ESC return to the previous menu.</p>
|
||||
<p class="_eaglercraftX_boot_menu_footer_text _eaglercraftX_boot_menu_footer_text_boot_order" style="display:none;">Use the ↑ and ↓ keys to select which entry is highlighted.<br>Press CTRL+↑ and CTRL+↓ to adjust item order, or ESC to cancel.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
328
sources/resources/assets/eagler/boot_menu/boot_menu_style.css
Normal file
328
sources/resources/assets/eagler/boot_menu/boot_menu_style.css
Normal file
@ -0,0 +1,328 @@
|
||||
@font-face {
|
||||
font-family: "{% global `root_class_gen` %}_font0";
|
||||
src: url("data:font/woff;base64,{% embed base64 `web_cl_eagleiii_8x16.woff` %}") format("woff");
|
||||
}
|
||||
.{% global `root_class_gen` %} {
|
||||
font: 24px "{% global `root_class_gen` %}_font0";
|
||||
color: #CCCCCC;
|
||||
background-color: #000000;
|
||||
user-select: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.{% global `root_class_gen` %}::-moz-selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %}::selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %}::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
}
|
||||
.{% global `root_class_gen` %}::-webkit-scrollbar-track, .{% global `root_class_gen` %} ::-webkit-scrollbar-track {
|
||||
background-color: #000000;
|
||||
}
|
||||
.{% global `root_class_gen` %}::-webkit-scrollbar-thumb, .{% global `root_class_gen` %} ::-webkit-scrollbar-thumb {
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %}::-webkit-scrollbar-button, .{% global `root_class_gen` %} ::-webkit-scrollbar-button {
|
||||
display: none;
|
||||
}
|
||||
.{% global `root_class_gen` %}::-webkit-scrollbar-corner, .{% global `root_class_gen` %} ::-webkit-scrollbar-corner {
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_inner {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 480px;
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
}
|
||||
.{% global `root_class_gen` %} p {
|
||||
margin-block-start: 0px;
|
||||
margin-block-end: 0px;
|
||||
-webkit-margin-before:0px;
|
||||
-webkit-margin-after:0px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_header {
|
||||
flex: 0 1 auto;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_header_title {
|
||||
text-align: center;
|
||||
padding: 32px 0px 0px 0px;
|
||||
color: #CCCCCC;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content {
|
||||
flex: 1 1 auto;
|
||||
position: relative;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_inner {
|
||||
position: absolute;
|
||||
top: 32px;
|
||||
left: 32px;
|
||||
bottom: 32px;
|
||||
right: 32px;
|
||||
border: 2px solid white;
|
||||
z-index: 1;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup {
|
||||
position: absolute;
|
||||
top: 128px;
|
||||
left: 64px;
|
||||
bottom: 64px;
|
||||
right: 64px;
|
||||
z-index: 10;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_inner {
|
||||
width: 50%;
|
||||
min-width: min(calc(100% - 20px), 400px);
|
||||
max-width: 800px;
|
||||
max-height: calc(100% - 20px);
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border: 2px solid white;
|
||||
background-color: #000000;
|
||||
padding: 10px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_confirm_title {
|
||||
text-align: center;
|
||||
padding: 16px;
|
||||
color: #CCCCCC;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_confirm_opts {
|
||||
text-align: center;
|
||||
padding: 16px;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_confirm_opt {
|
||||
cursor: pointer;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_confirm_opt_selected {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_confirm_opt_disabled {
|
||||
color: #888888;
|
||||
cursor: default;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_selection_title {
|
||||
text-align: center;
|
||||
padding: 16px;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_selection {
|
||||
width: calc(100% - 8px);
|
||||
padding: 8px 4px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_title {
|
||||
text-align: center;
|
||||
padding: 16px;
|
||||
color: #CCCCCC;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_opts {
|
||||
text-align: center;
|
||||
padding: 16px;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_opt {
|
||||
cursor: pointer;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_opt_selected {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_opt_disabled {
|
||||
color: #888888;
|
||||
cursor: default;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_val_container {
|
||||
text-align: center;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_val {
|
||||
min-width: 15em;
|
||||
width: calc(90% - 50px);
|
||||
font: 24px "{% global `root_class_gen` %}_font0";
|
||||
outline: none;
|
||||
resize: none;
|
||||
background-color: #000000;
|
||||
color: #CCCCCC;
|
||||
border: 2px solid white;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_val:disabled {
|
||||
color: #888888;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_val::-moz-selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_popup_input_val::selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_view_selection {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_selection {
|
||||
width: calc(100% - 8px);
|
||||
height: calc(100% - 16px);
|
||||
padding: 8px 4px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_item {
|
||||
width: 100%;
|
||||
overflow-y: auto;
|
||||
cursor: pointer;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_item::before {
|
||||
content: "\00a0";
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_item_selected {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_item_selected::before {
|
||||
content: "*";
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_item_disabled {
|
||||
color: #888888;
|
||||
cursor: default;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_content_view_editor {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: calc(25% - 20px);
|
||||
padding: 10px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item_wide {
|
||||
width: 100%;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item {
|
||||
display: inline-block;
|
||||
padding: 20px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item input[type=text] {
|
||||
min-width: 15em;
|
||||
font: 24px "{% global `root_class_gen` %}_font0";
|
||||
outline: none;
|
||||
resize: none;
|
||||
background-color: #000000;
|
||||
color: #CCCCCC;
|
||||
border: 2px solid white;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item input[type=text]:disabled {
|
||||
color: #888888;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item input[type=checkbox] {
|
||||
zoom: 2;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item select {
|
||||
font: 24px "{% global `root_class_gen` %}_font0";
|
||||
outline: none;
|
||||
resize: none;
|
||||
background-color: #000000;
|
||||
color: #CCCCCC;
|
||||
border: 2px solid white;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item option:checked {
|
||||
background-color: #CCCCCC;
|
||||
color: #000000;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item option:disabled {
|
||||
color: #888888;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item input::-moz-selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_item input::selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_val_profile_name {
|
||||
width: calc(100% - 10em);
|
||||
font: 24px "{% global `root_class_gen` %}_font0";
|
||||
outline: none;
|
||||
resize: none;
|
||||
background-color: #000000;
|
||||
color: #CCCCCC;
|
||||
border: 2px solid white;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_val_profile_name::-moz-selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_val_profile_name::selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_val_profile_name:disabled {
|
||||
color: #888888;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_conf_val_data_format {
|
||||
padding: 2px 4px;
|
||||
border: 2px solid white;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_opt_editor {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: calc(75% - 22px);
|
||||
width: calc(100% - 20px);
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
font: 24px "{% global `root_class_gen` %}_font0";
|
||||
border: none;
|
||||
border-top: 2px solid white;
|
||||
outline: none;
|
||||
resize: none;
|
||||
background-color: #000000;
|
||||
color: #CCCCCC;
|
||||
overflow: auto;
|
||||
tab-size: 4;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_opt_editor:disabled {
|
||||
color: #888888;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_opt_editor::-moz-selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_launch_opt_editor::selection {
|
||||
color: #000000;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_footer {
|
||||
flex: 0 1 auto;
|
||||
}
|
||||
.{% global `root_class_gen` %} ._eaglercraftX_boot_menu_footer_text {
|
||||
text-align: left;
|
||||
padding: 0px 0px 32px 64px;
|
||||
color: #CCCCCC;
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"client_launch_type": "EAGLERX_V1",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"client_launch_type": "EAGLERX_SIGNED_V1",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"client_launch_type": "EAGLER_1_5_V2",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"client_launch_type": "EAGLER_1_5_V1",
|
||||
"join_server": "",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"client_launch_type": "EAGLER_BETA_V1",
|
||||
"join_server": "",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"client_launch_type": "PEYTON_V2",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"client_launch_type": "PEYTON_V2",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"client_launch_type": "PEYTON_V1",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"client_launch_type": "STANDARD_OFFLINE_V1",
|
||||
"client_launch_opts_var": "eaglercraftXOpts",
|
||||
"client_launch_opts_assetsURI_var": "assetsURI",
|
||||
"client_launch_opts_container_var": "container",
|
||||
"client_launch_main_func": "main",
|
||||
"clear_cookies_before_launch": false
|
||||
}
|
@ -0,0 +1,192 @@
|
||||
{
|
||||
"defaults": {
|
||||
"EAGLERX_SIGNED_V1": {
|
||||
"conf": "conf_template_eaglercraftX_1_8_signed.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8.txt"
|
||||
},
|
||||
"EAGLERX_V1": {
|
||||
"conf": "conf_template_eaglercraftX_1_8.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8.txt"
|
||||
},
|
||||
"EAGLER_BETA_V1": {
|
||||
"conf": "conf_template_eaglercraft_b1_3.json",
|
||||
"opts": null
|
||||
},
|
||||
"EAGLER_1_5_V1": {
|
||||
"conf": "conf_template_eaglercraft_1_5_legacy.json",
|
||||
"opts": "opts_template_eaglercraft_1_5_legacy.txt"
|
||||
},
|
||||
"EAGLER_1_5_V2": {
|
||||
"conf": "conf_template_eaglercraft_1_5.json",
|
||||
"opts": "opts_template_eaglercraft_1_5.txt"
|
||||
},
|
||||
"PEYTON_V1": {
|
||||
"conf": "conf_template_peytonplayz585_indev.json",
|
||||
"opts": null
|
||||
},
|
||||
"PEYTON_V2": {
|
||||
"conf": "conf_template_peytonplayz585_a1_2_6.json",
|
||||
"opts": "opts_template_peytonplayz585_a1_2_6.txt"
|
||||
},
|
||||
"STANDARD_OFFLINE_V1": {
|
||||
"conf": "conf_template_standard_offline.json",
|
||||
"opts": null
|
||||
}
|
||||
},
|
||||
"templates": [
|
||||
{
|
||||
"name": "EaglercraftX 1.8",
|
||||
"conf": "conf_template_eaglercraftX_1_8.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFTX_1_8_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EaglercraftX 1.8 Demo",
|
||||
"conf": "conf_template_eaglercraftX_1_8.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8_demo.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFTX_1_8_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EaglercraftX 1.8 HTML5 Cursors",
|
||||
"conf": "conf_template_eaglercraftX_1_8.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8_html5Cursors.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFTX_1_8_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EaglercraftX 1.8 Signed",
|
||||
"conf": "conf_template_eaglercraftX_1_8_signed.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8.txt",
|
||||
"allow": [
|
||||
"EAGLER_SIGNED_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFTX_1_8_SIGNED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EaglercraftX 1.8 Signed Demo",
|
||||
"conf": "conf_template_eaglercraftX_1_8_signed.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8_demo.txt",
|
||||
"allow": [
|
||||
"EAGLER_SIGNED_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFTX_1_8_SIGNED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EaglercraftX 1.8 Signed HTML5 Cursors",
|
||||
"conf": "conf_template_eaglercraftX_1_8_signed.json",
|
||||
"opts": "opts_template_eaglercraftX_1_8_html5Cursors.txt",
|
||||
"allow": [
|
||||
"EAGLER_SIGNED_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFTX_1_8_SIGNED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Eaglercraft 1.5.2 (post-22w34a)",
|
||||
"conf": "conf_template_eaglercraft_1_5.json",
|
||||
"opts": "opts_template_eaglercraft_1_5.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_1_5_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFT_1_5_NEW_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Eaglercraft 1.5.2 Live Music (post-22w34a)",
|
||||
"conf": "conf_template_eaglercraft_1_5.json",
|
||||
"opts": "opts_template_eaglercraft_1_5_livestream.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_1_5_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFT_1_5_NEW_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Eaglercraft 1.5.2 (pre-22w34a)",
|
||||
"conf": "conf_template_eaglercraft_1_5_legacy.json",
|
||||
"opts": "opts_template_eaglercraft_1_5_legacy.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFT_1_5_OLD_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Eaglercraft Beta 1.3",
|
||||
"conf": "conf_template_eaglercraft_b1_3.json",
|
||||
"opts": null,
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EAGLERCRAFT_BETA_B1_3_OFFLINE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PeytonPlayz585 Beta 1.7.3",
|
||||
"conf": "conf_template_peytonplayz585_b1_7_3.json",
|
||||
"opts": "opts_template_peytonplayz585_b1_7_3.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"PEYTONPLAYZ585_ALPHA_BETA"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PeytonPlayz585 Alpha 1.2.6",
|
||||
"conf": "conf_template_peytonplayz585_a1_2_6.json",
|
||||
"opts": "opts_template_peytonplayz585_a1_2_6.txt",
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"PEYTONPLAYZ585_ALPHA_BETA"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PeytonPlayz585 Indev",
|
||||
"conf": "conf_template_peytonplayz585_indev.json",
|
||||
"opts": null,
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"PEYTONPLAYZ585_INDEV"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Standard Offline Download",
|
||||
"conf": "conf_template_standard_offline.json",
|
||||
"opts": null,
|
||||
"allow": [
|
||||
"EAGLER_STANDARD_OFFLINE"
|
||||
],
|
||||
"parseTypes": [
|
||||
"EXPORTED_STANDARD_OFFLINE"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="${client_name}" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>${client_name}</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="${client_name}" />
|
||||
<meta property="og:description" content="this file is not a website, whoever uploaded it to this URL is a dumbass" />
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"EAGLERCRAFTX_1_8_OFFLINE","launchConf":${launch_conf_json}}</style>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
var relayIdMax = ${relayId_max};
|
||||
var relayId = relayIdMax > 1 ? Math.floor(Math.random() * relayIdMax) : 0;
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
window.eaglercraftXOpts = ${launch_opts};
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
if(typeof window !== "undefined") window.eaglercraftXClientScriptElement = document.currentScript;
|
||||
|
||||
${classes_js}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
window.eaglercraftXOpts.container = "game_frame";
|
||||
window.eaglercraftXOpts.assetsURI = ${assets_epk};
|
||||
|
||||
var launchInterval = -1;
|
||||
var launchCounter = 1;
|
||||
var launchCountdownNumberElement = null;
|
||||
var launchCountdownProgressElement = null;
|
||||
var launchSkipCountdown = false;
|
||||
|
||||
var launchTick = function() {
|
||||
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
|
||||
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
|
||||
if(++launchCounter > 100 || launchSkipCountdown) {
|
||||
clearInterval(launchInterval);
|
||||
setTimeout(function() { document.body.removeChild(document.getElementById("launch_countdown_screen")); document.body.style.backgroundColor = "black"; main(); }, 50);
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
|
||||
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
|
||||
launchInterval = setInterval(launchTick, 50);
|
||||
document.getElementById("skipCountdown").addEventListener("click", function() {
|
||||
launchSkipCountdown = true;
|
||||
});
|
||||
document.getElementById("bootMenu").addEventListener("click", function() {
|
||||
launchSkipCountdown = true;
|
||||
window.eaglercraftXOpts.showBootMenuOnLaunch = true;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:white;" id="game_frame">
|
||||
<div style="margin:0px;width:100%;height:100%;font-family:sans-serif;display:flex;align-items:center;user-select:none;" id="launch_countdown_screen">
|
||||
<div style="margin:auto;text-align:center;">
|
||||
<h1>${client_name}</h1>
|
||||
<h2>Game will launch in <span id="launchCountdownNumber">5</span>...</h2>
|
||||
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div>
|
||||
<p style="margin-top:30px;"><button id="skipCountdown" autofocus>Skip Countdown</button> <button id="bootMenu">Enter Boot Menu</button></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="EaglercraftX 1.8" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglercraftX 1.8</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="EaglercraftX 1.8" />
|
||||
<meta property="og:description" content="this file is not a website, whoever uploaded it to this URL is a dumbass" />
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"EAGLERCRAFTX_1_8_FAT_OFFLINE","launchConf":${launch_conf_json}}</style>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
var relayIdMax = ${relayId_max};
|
||||
var relayId = relayIdMax > 1 ? Math.floor(Math.random() * relayIdMax) : 0;
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
window.eaglercraftXOpts = ${launch_opts};
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
if(typeof window !== "undefined") window.eaglercraftXClientScriptElement = document.currentScript;
|
||||
|
||||
${classes_js}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
window.eaglercraftXOpts.container = "game_frame";
|
||||
window.eaglercraftXOpts.assetsURI = ${assets_epk};
|
||||
window.eaglercraftXOpts.showBootMenuOnLaunch = true;
|
||||
|
||||
var launchInterval = -1;
|
||||
var launchCounter = 1;
|
||||
var launchCountdownNumberElement = null;
|
||||
var launchCountdownProgressElement = null;
|
||||
var launchSkipCountdown = false;
|
||||
|
||||
var launchTick = function() {
|
||||
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
|
||||
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
|
||||
if(++launchCounter > 100 || launchSkipCountdown) {
|
||||
clearInterval(launchInterval);
|
||||
setTimeout(function() { document.body.removeChild(document.getElementById("launch_countdown_screen")); document.body.style.backgroundColor = "black"; main(); }, 50);
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
|
||||
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
|
||||
launchInterval = setInterval(launchTick, 50);
|
||||
document.getElementById("skipCountdown").addEventListener("click", function() {
|
||||
launchSkipCountdown = true;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
|
||||
${fat_offline_data}
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:white;" id="game_frame">
|
||||
<div style="margin:0px;width:100%;height:100%;font-family:sans-serif;display:flex;align-items:center;user-select:none;" id="launch_countdown_screen">
|
||||
<div style="margin:auto;text-align:center;">
|
||||
<h1>EaglercraftX 1.8 "Fat Offline"</h1>
|
||||
<h3>Contains: ${num_clients} Client(s)</h3>
|
||||
<h2>Game will launch in <span id="launchCountdownNumber">5</span>...</h2>
|
||||
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div>
|
||||
<p style="margin-top:30px;"><button id="skipCountdown" autofocus>Skip Countdown</button></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,78 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>My Drive - Google Drive</title>
|
||||
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"EAGLERCRAFT_1_5_NEW_OFFLINE","launchConf":${launch_conf_json}}</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function() {
|
||||
countdown();
|
||||
setTimeout(function(){
|
||||
document.getElementById("locally").remove();
|
||||
const relayIdMax = ${relayId_max};
|
||||
const relayId = relayIdMax > 1 ? Math.floor(Math.random() * relayIdMax) : 0;
|
||||
window.eaglercraftOpts = ${launch_opts};
|
||||
window.eaglercraftOpts.container = "game_frame";
|
||||
window.eaglercraftOpts.assetsURI = getAssetsURI();
|
||||
window.eaglercraftOpts.serverWorkerURI = createWorkerURI("sp_worker");
|
||||
main();
|
||||
}, 6000);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function getAssetsURI() {
|
||||
return "data:application/octet-stream;base64,${assets_epk}";
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function createWorkerURI(el) {
|
||||
var eee = document.getElementById(el);
|
||||
var str = eee.innerHTML;
|
||||
eee.remove();
|
||||
str = "\"use strict\";var eaglercraftServerOpts;onmessage = function(o) { eaglercraftServerOpts = o.data; main(); };" + str;
|
||||
return URL.createObjectURL(new Blob([str], {type:"text/javascript"}));
|
||||
}
|
||||
</script>
|
||||
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGAUlEQVRYw7VXa0xTZxj+oKjJNjWZ10EtZqIQjBdsT2utlZYiMsfiZltUtpiYOZ0zceOmcZfsGLmoQ25hS1jmNJpBL1xEuWwZGduPjW0xcVniLn/YfmlrK6wDRulpz7v3O+1BCgUs4pc8+U5Ov6/P877v837nHEKiGzHEZpYQVhcXEfQ3uuaJjOCfP9pSG5E8GXIzmS+r0Rtk1bqcxCrti+NB76XVaA3EzM6fUxHmELmm7bXkjVde6pPV6WD1x/owyBDrEaTOAD9fTeqDLpJM98CciIBgTRVW0211Rx4k1WWOSiu0flnlDgGrEBsQpELnZz9hRuErAqNNMb8IW+Ex/SCvPzJPILebjm69eQAYm8m7+doeWHVRC0guIBGxDkEupsPfDSsBmokXumLB10TeFETUk3mPFbmq89VFCovJxdhNIG80BhirCVLqd4G0Yjtg9LC5UgvkIx1c/XQTJQevXRLgWwj47MSFJVg860yMRW81VW1tPwCKRqNPYTECxZaGV2B1VTqswUw8jZFrq7ZDv/UZ8Ddh+u0xCOKDL1FEM6maVRZE46ls5lSFNUiK4IW50Qg0C6mXdsPmCg2QCj10f54iRD9il1Bymn6ezhwVZCOpURtSFIDkHaob+yk5J0YvQoMg1YbA0RpVwGsnAvEEcNAhiOiISoCuB080HEqLKUfVti8iOcU2qylArr0MfzTIaPQoQjJJBGZCEOG3kxxBRA+Jm/moDQ2M/jdlSy4l808kZ1DUdswMseW2IHkLdCI5kkXIgh/aaFuS3x96expDisaTW4wFE403DtQLvBa7gjS/nogCEgMt4bWfAMGQWIqC6Q3JsrF0SrOZl2HbebDnHxpvPFAUFYciq8WtSFxNSShZBAG8v1kQ50EfLBNEsCQ2QvTyYNtZjPVC9JaI0QfoeYDlcctt5sVjaf2aLEYCd6j/AxGz0IVeaCb1dP2tiVkQXS+37NvC2M1ItJePZDwqiopjbMZjwsYeNk40Fgo4RkmmyIKQCWgl1LBbJnUFC8H0Y2TfTON8v7IVTYnPhImGFY2FIm7DjaD5JgmgHdEuZKgndDrGhrUdYzXmBnt+LzdF9ChgH2AJDMI+VjfWUlhT4ZprJQa4OYUA8WzoFMTkhrVlUm3tAoUlr49pysPzfn9A0YhCwoGpP4gi8q7T9S/Udi4w20CiY3viKAhed+I9+pvXvu46dD0HPhuWwhYLExCAVpztsX1Qm7RgrASMfdMhdZcWa7vNh4BwqHllkwYUNqUnpZssmfEZ9hNZgrX2+NsWga+V8AgIQwsashsNeZ0cGtuUVP49m1x9B9aW9/qSynshqfyHEHrpPf758z+C4vyduzvLfA0ZZcOthnJvU0bZf83jocd7e8oGW8k5+OJbtuHuaAGBB/lKfiA/FQby10NwToV/8tf74PRG8BSlsmMClr41ol9ZNAorTvT7V7zdDyJWIpaf6AfZOwO8vsQPu6oAsi5OjWyEAdfknBmCv3Yc5N1pa8HBaMCpUD0Eo/IPKdXgStDoxR4U2iGh2HFD+t4wxBfd4xKK7tEZpIhlhXdBxfZDZvkQry8d4jJKh6fF7pJ/uacucPxnhb3g2UHAma2D+1kKBAOuLIbz7t4Krl3MTeG9kdD2DwmIP+lKji908vGFDkDwCTgvL7gH6065wFA6BBlRIAuxoWwEfs1lYYCKyNSCy8Dw9w0MULiz5CnBd13xTfvILeFkii92VkjfH0UBTh8VsKLAAZozHjCUDUclILtkENaUj8KZ03/Cg3QJ3M/UUGIfl62mQiqE01AuH3caAggHydKTroXxRU6ntNgNSwscgQ3vuiETyfVRZoACSwGScxx8d+gSeDQk4M7SU3KnS6NZGPmpGMqCtNh1OOEDPyQUOUbSzw5yBqG2Q1FjZ8kgx5SNcG986OAcmeoRyE4D107t4cnRhzVxMBPPFjra1RfQ1ZUhh1fODntwL6kB6D51C4bUpH3G9wFRAF7E6EqHj2Ptr2A0l9HdswKa97IW/2P/Wc9xkRhm/HYcEzH3Ax79wxUzwELcXIFFwBP7an7M8T8H1bLLDGWzFAAAAABJRU5ErkJggg==" />
|
||||
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
${classes_js}
|
||||
</script>
|
||||
|
||||
<script type="text/eaglerworker" id="sp_worker">
|
||||
${classes_server_js}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function countdown() {
|
||||
const c = document.getElementById("countdown");
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 4)"; }, 1000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 3)"; }, 2000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 2)"; }, 3000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 1)"; }, 4000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 0)"; }, 5000);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;font-family:sans-serif;overflow:hidden;" id="game_frame">
|
||||
<div id="locally" style="text-align:center;">
|
||||
<div style="height:5vh;"></div>
|
||||
<h2>${client_name}</h2>
|
||||
<p id="countdown" style="text-align:center;">(Game will launch in 5)</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,59 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>${client_name}</title>
|
||||
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"EAGLERCRAFT_1_5_OLD_OFFLINE","launchConf":${launch_conf_json}}</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function() {
|
||||
countdown();
|
||||
setTimeout(function(){
|
||||
document.getElementById("locally").remove();
|
||||
window.minecraftOpts = [ "game_frame", getAssetsURI(), "${launch_opts}" ];
|
||||
main();
|
||||
}, 6000);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function getAssetsURI() {
|
||||
return "data:application/octet-stream;base64,${assets_epk}";
|
||||
}
|
||||
</script>
|
||||
|
||||
<link type="image/x-icon" rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAICAQAAEABADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3d3cHiIiIiIiIiIiIiIiIiIiHB4f/////////////////hweH/////////////////4cHh/////cAAHiI//////+HB4f///8REREAiIj/////hweH///3GNmREHAAAIiI/4cHh///8Y2ZmREHeqoIiI+HB4f///GNmZmRB3qqIIiIhweH///xjZmZkQd6qiIIiIcHh///8Y2ZmZEHqqoiD/+HB4f///cY2ZmRd6qqIg//hweH////EY2ZEXqqqiIP/4cHh/////cREXL6qqoiD/+HB4f////////y////Ig//hweH/////////yIiIoIP/4cHh//////////yIiIoD/+HB4f//////////yIiIn//hweH/////////////////4cHh/////////////////+HB4d3d3d3d3d3d3d3d3d3hweIiIiIiIiIiIiIiIiIiIcHhMwiRERERERERAAAAAAHB4TsokRERERERESICICIBweEETNEREREREREiAiAiAcHhJGzRERERERERERERERHB4iIiIiIiIiIiIiIiIiIhwd3d3d3d3d3d3d3d3d3d3cAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////w==" />
|
||||
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
${classes_js}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function countdown() {
|
||||
const c = document.getElementById("countdown");
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 4)"; }, 1000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 3)"; }, 2000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 2)"; }, 3000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 1)"; }, 4000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 0)"; }, 5000);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;font-family:sans-serif;overflow:hidden;" id="game_frame">
|
||||
<div id="locally" style="text-align:center;">
|
||||
<div style="height:5vh;"></div>
|
||||
<h2>${client_name}</h2>
|
||||
<p id="countdown" style="text-align:center;">(Game will launch in 5)</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,59 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>${client_name}</title>
|
||||
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"EAGLERCRAFT_BETA_B1_3_OFFLINE","launchConf":${launch_conf_json}}</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function() {
|
||||
countdown();
|
||||
setTimeout(function(){
|
||||
document.getElementById("locally").remove();
|
||||
window.minecraftOpts = [ "game_frame", getAssetsURI() ];
|
||||
main();
|
||||
}, 6000);
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function getAssetsURI() {
|
||||
return "data:application/octet-stream;base64,${assets_epk}";
|
||||
}
|
||||
</script>
|
||||
|
||||
<link type="image/x-icon" rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAICAQAAEABADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3d3cHiIiIiIiIiIiIiIiIiIiHB4f/////////////////hweH/////////////////4cHh/////cAAHiI//////+HB4f///8REREAiIj/////hweH///3GNmREHAAAIiI/4cHh///8Y2ZmREHeqoIiI+HB4f///GNmZmRB3qqIIiIhweH///xjZmZkQd6qiIIiIcHh///8Y2ZmZEHqqoiD/+HB4f///cY2ZmRd6qqIg//hweH////EY2ZEXqqqiIP/4cHh/////cREXL6qqoiD/+HB4f////////y////Ig//hweH/////////yIiIoIP/4cHh//////////yIiIoD/+HB4f//////////yIiIn//hweH/////////////////4cHh/////////////////+HB4d3d3d3d3d3d3d3d3d3hweIiIiIiIiIiIiIiIiIiIcHhMwiRERERERERAAAAAAHB4TsokRERERERESICICIBweEETNEREREREREiAiAiAcHhJGzRERERERERERERERHB4iIiIiIiIiIiIiIiIiIhwd3d3d3d3d3d3d3d3d3d3cAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////w==" />
|
||||
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
${classes_js}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function countdown() {
|
||||
const c = document.getElementById("countdown");
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 4)"; }, 1000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 3)"; }, 2000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 2)"; }, 3000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 1)"; }, 4000);
|
||||
setTimeout(function(){ c.innerText = "(Game will launch in 0)"; }, 5000);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;font-family:sans-serif;overflow:hidden;" id="game_frame">
|
||||
<div id="locally" style="text-align:center;">
|
||||
<div style="height:5vh;"></div>
|
||||
<h2>${client_name}</h2>
|
||||
<p id="countdown" style="text-align:center;">(Game will launch in 5)</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>${client_name}</title>
|
||||
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"PEYTONPLAYZ585_ALPHA_BETA","launchConf":${launch_conf_json}}</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function() {
|
||||
window.config = ${launch_opts};
|
||||
window.config.gameContainer = "game_frame";
|
||||
window.config.assetsLocation = getAssetsURI();
|
||||
main();
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function getAssetsURI() {
|
||||
return "data:application/octet-stream;base64,${assets_epk}";
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
${classes_js}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;" id="game_frame">
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>${client_name}</title>
|
||||
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"PEYTONPLAYZ585_INDEV","launchConf":${launch_conf_json}}</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener("load", function() {
|
||||
window.classicConfig = [ "game_frame", getAssetsURI() ];
|
||||
main();
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function getAssetsURI() {
|
||||
return "data:application/octet-stream;base64,${assets_epk}";
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
${classes_js}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;" id="game_frame">
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,77 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, it was generated using EaglercraftX 1.8 boot manager
|
||||
|
||||
-->
|
||||
|
||||
<html style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="${client_name}" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>${client_name}</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="${client_name}" />
|
||||
<meta property="og:description" content="this file is not a website, whoever uploaded it to this URL is a dumbass" />
|
||||
<style type="eaglercraftOfflineParseHint">{"type":"EXPORTED_STANDARD_OFFLINE","launchConf":${launch_conf_json}}</style>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
const relayIdMax = ${relayId_max};
|
||||
const relayId = relayIdMax > 1 ? Math.floor(Math.random() * relayIdMax) : 0;
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
window["${launch_opts_var_name}"] = ${launch_opts};
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
if(typeof window !== "undefined") window.eaglercraftXClientScriptElement = document.currentScript;
|
||||
|
||||
${classes_js}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
window["${launch_opts_var_name}"]["${launch_opts_var_container_name}"] = "game_frame";
|
||||
window["${launch_opts_var_name}"]["${launch_opts_var_assetsURI_name}"] = /*{:BEGIN_ASSETS_EPK:}*/${assets_epk}/*{:END_ASSETS_EPK:}*/;
|
||||
|
||||
var launchInterval = -1;
|
||||
var launchCounter = 1;
|
||||
var launchCountdownNumberElement = null;
|
||||
var launchCountdownProgressElement = null;
|
||||
|
||||
function launchTick() {
|
||||
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
|
||||
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
|
||||
if(++launchCounter > 100) {
|
||||
clearInterval(launchInterval);
|
||||
setTimeout(() => { document.getElementById("launch_countdown_screen").remove(); window["${main_function_name}"](); }, 50);
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
|
||||
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
|
||||
launchInterval = setInterval(launchTick, 50);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;" id="game_frame">
|
||||
<div style="margin:0px;width:100%;height:100%;font-family:sans-serif;display:flex;align-items:center;user-select:none;" id="launch_countdown_screen">
|
||||
<div style="margin:auto;text-align:center;">
|
||||
<h1>${client_name}</h1>
|
||||
<h2>Game will launch in <span id="launchCountdownNumber">5</span>...</h2>
|
||||
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,66 @@
|
||||
{
|
||||
"joinServer": null,
|
||||
"servers": [
|
||||
{
|
||||
"addr": "ws://localhost:8081/",
|
||||
"hideAddr": false,
|
||||
"name": "Local test server"
|
||||
}
|
||||
],
|
||||
"relays": [
|
||||
{
|
||||
"addr": "wss://relay.deev.is/",
|
||||
"primary": "$random_relay_primary_0",
|
||||
"comment": "lax1dude relay #1"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.lax1dude.net/",
|
||||
"primary": "$random_relay_primary_1",
|
||||
"comment": "lax1dude relay #2"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.shhnowisnottheti.me/",
|
||||
"primary": "$random_relay_primary_2",
|
||||
"comment": "ayunami relay #1"
|
||||
}
|
||||
],
|
||||
"openDebugConsoleOnLaunch": false,
|
||||
"showBootMenuOnLaunch": false,
|
||||
"bootMenuBlocksUnsignedClients": false,
|
||||
"allowBootMenu": true,
|
||||
"forceWebViewSupport": false,
|
||||
"enableServerCookies": true,
|
||||
"enableDownloadOfflineButton": true,
|
||||
"resourcePacksDB": "resourcePacks",
|
||||
"enableWebViewCSP": true,
|
||||
"checkRelaysForUpdates": true,
|
||||
"allowServerRedirects": true,
|
||||
"allowUpdateSvc": true,
|
||||
"html5CursorSupport": false,
|
||||
"allowFNAWSkins": true,
|
||||
"allowVoiceClient": true,
|
||||
"worldsDB": "worlds",
|
||||
"demoMode": false,
|
||||
"localStorageNamespace": "_eaglercraftX",
|
||||
"enableSignatureBadge": false,
|
||||
"lang": "en_US",
|
||||
"enableMinceraft": true,
|
||||
"autoFixLegacyStyleAttr": true,
|
||||
"allowUpdateDL": true,
|
||||
"logInvalidCerts": false,
|
||||
"checkShaderGLErrors": false,
|
||||
"crashOnUncaughtExceptions": false,
|
||||
"forceWebGL1": false,
|
||||
"forceWebGL2": false,
|
||||
"allowExperimentalWebGL1": true,
|
||||
"useWebGLExt": true,
|
||||
"useDelayOnSwap": false,
|
||||
"useJOrbisAudioDecoder": false,
|
||||
"useXHRFetch": false,
|
||||
"useVisualViewport": true,
|
||||
"deobfStackTraces": true,
|
||||
"disableBlobURLs": false,
|
||||
"eaglerNoDelay": false,
|
||||
"ramdiskMode": false,
|
||||
"singleThreadMode": false
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
{
|
||||
"joinServer": null,
|
||||
"servers": [
|
||||
{
|
||||
"addr": "ws://localhost:8081/",
|
||||
"hideAddr": false,
|
||||
"name": "Local test server"
|
||||
}
|
||||
],
|
||||
"relays": [
|
||||
{
|
||||
"addr": "wss://relay.deev.is/",
|
||||
"primary": "$random_relay_primary_0",
|
||||
"comment": "lax1dude relay #1"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.lax1dude.net/",
|
||||
"primary": "$random_relay_primary_1",
|
||||
"comment": "lax1dude relay #2"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.shhnowisnottheti.me/",
|
||||
"primary": "$random_relay_primary_2",
|
||||
"comment": "ayunami relay #1"
|
||||
}
|
||||
],
|
||||
"openDebugConsoleOnLaunch": false,
|
||||
"showBootMenuOnLaunch": false,
|
||||
"bootMenuBlocksUnsignedClients": false,
|
||||
"allowBootMenu": true,
|
||||
"forceWebViewSupport": false,
|
||||
"enableServerCookies": true,
|
||||
"enableDownloadOfflineButton": true,
|
||||
"resourcePacksDB": "resourcePacks",
|
||||
"enableWebViewCSP": true,
|
||||
"checkRelaysForUpdates": true,
|
||||
"allowServerRedirects": true,
|
||||
"allowUpdateSvc": true,
|
||||
"html5CursorSupport": false,
|
||||
"allowFNAWSkins": true,
|
||||
"allowVoiceClient": true,
|
||||
"worldsDB": "worlds",
|
||||
"demoMode": true,
|
||||
"localStorageNamespace": "_eaglercraftX",
|
||||
"enableSignatureBadge": false,
|
||||
"lang": "en_US",
|
||||
"enableMinceraft": true,
|
||||
"autoFixLegacyStyleAttr": true,
|
||||
"allowUpdateDL": true,
|
||||
"logInvalidCerts": false,
|
||||
"checkShaderGLErrors": false,
|
||||
"crashOnUncaughtExceptions": false,
|
||||
"forceWebGL1": false,
|
||||
"forceWebGL2": false,
|
||||
"allowExperimentalWebGL1": true,
|
||||
"useWebGLExt": true,
|
||||
"useDelayOnSwap": false,
|
||||
"useJOrbisAudioDecoder": false,
|
||||
"useXHRFetch": false,
|
||||
"useVisualViewport": true,
|
||||
"deobfStackTraces": true,
|
||||
"disableBlobURLs": false,
|
||||
"eaglerNoDelay": false,
|
||||
"ramdiskMode": false,
|
||||
"singleThreadMode": false
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
{
|
||||
"joinServer": null,
|
||||
"servers": [
|
||||
{
|
||||
"addr": "ws://localhost:8081/",
|
||||
"hideAddr": false,
|
||||
"name": "Local test server"
|
||||
}
|
||||
],
|
||||
"relays": [
|
||||
{
|
||||
"addr": "wss://relay.deev.is/",
|
||||
"primary": "$random_relay_primary_0",
|
||||
"comment": "lax1dude relay #1"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.lax1dude.net/",
|
||||
"primary": "$random_relay_primary_1",
|
||||
"comment": "lax1dude relay #2"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.shhnowisnottheti.me/",
|
||||
"primary": "$random_relay_primary_2",
|
||||
"comment": "ayunami relay #1"
|
||||
}
|
||||
],
|
||||
"openDebugConsoleOnLaunch": false,
|
||||
"showBootMenuOnLaunch": false,
|
||||
"bootMenuBlocksUnsignedClients": false,
|
||||
"allowBootMenu": true,
|
||||
"forceWebViewSupport": false,
|
||||
"enableServerCookies": true,
|
||||
"enableDownloadOfflineButton": true,
|
||||
"resourcePacksDB": "resourcePacks",
|
||||
"enableWebViewCSP": true,
|
||||
"checkRelaysForUpdates": true,
|
||||
"allowServerRedirects": true,
|
||||
"allowUpdateSvc": true,
|
||||
"html5CursorSupport": true,
|
||||
"allowFNAWSkins": true,
|
||||
"allowVoiceClient": true,
|
||||
"worldsDB": "worlds",
|
||||
"demoMode": false,
|
||||
"localStorageNamespace": "_eaglercraftX",
|
||||
"enableSignatureBadge": false,
|
||||
"lang": "en_US",
|
||||
"enableMinceraft": true,
|
||||
"autoFixLegacyStyleAttr": true,
|
||||
"allowUpdateDL": true,
|
||||
"logInvalidCerts": false,
|
||||
"checkShaderGLErrors": false,
|
||||
"crashOnUncaughtExceptions": false,
|
||||
"forceWebGL1": false,
|
||||
"forceWebGL2": false,
|
||||
"allowExperimentalWebGL1": true,
|
||||
"useWebGLExt": true,
|
||||
"useDelayOnSwap": false,
|
||||
"useJOrbisAudioDecoder": false,
|
||||
"useXHRFetch": false,
|
||||
"useVisualViewport": true,
|
||||
"deobfStackTraces": true,
|
||||
"disableBlobURLs": false,
|
||||
"eaglerNoDelay": false,
|
||||
"ramdiskMode": false,
|
||||
"singleThreadMode": false
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
{
|
||||
"joinServer": null,
|
||||
"servers": [
|
||||
{
|
||||
"serverName": "Local Test Server",
|
||||
"serverAddress": "localhost:25565",
|
||||
"hideAddress": false
|
||||
}
|
||||
],
|
||||
"relays": [
|
||||
{
|
||||
"addr": "wss://relay.deev.is/",
|
||||
"name": "lax1dude relay #1",
|
||||
"primary": "$random_relay_primary_0"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.lax1dude.net/",
|
||||
"name": "lax1dude relay #2",
|
||||
"primary": "$random_relay_primary_1"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.shhnowisnottheti.me/",
|
||||
"name": "ayunami relay #1",
|
||||
"primary": "$random_relay_primary_2"
|
||||
}
|
||||
],
|
||||
"mainMenu": {
|
||||
"splashes": [
|
||||
"Darviglet!",
|
||||
"eaglerenophile!",
|
||||
"You Eagler!",
|
||||
"Yeeeeeee!",
|
||||
"yeee",
|
||||
"EEEEEEEEE!",
|
||||
"You Darvig!",
|
||||
"You Vigg!",
|
||||
":>",
|
||||
"|>",
|
||||
"You Yumpster!"
|
||||
],
|
||||
"eaglerLogo": false,
|
||||
"itemLink": null,
|
||||
"itemLine0": null,
|
||||
"itemLine1": null,
|
||||
"itemLine2": null
|
||||
},
|
||||
"worldsFolder": "MAIN",
|
||||
"profanity": false,
|
||||
"hideDownServers": false,
|
||||
"serverListTitle": null,
|
||||
"serverListLink": null
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
[NBT]{
|
||||
servers: [
|
||||
{
|
||||
name: "Local Test Server",
|
||||
ip: "localhost:25565",
|
||||
hideAddress: false
|
||||
}
|
||||
],
|
||||
mainMenu: {
|
||||
itemLink: "",
|
||||
itemLine0: "",
|
||||
itemLine1: "",
|
||||
itemLine2: "",
|
||||
splashes: [
|
||||
"Darviglet!",
|
||||
"eaglerenophile!",
|
||||
"You Eagler!",
|
||||
"Yeeeeeee!",
|
||||
"yeee",
|
||||
"EEEEEEEEE!",
|
||||
"You Darvig!",
|
||||
"You Vigg!",
|
||||
":>",
|
||||
"|>",
|
||||
"You Yumpster!"
|
||||
]
|
||||
},
|
||||
profanity: false,
|
||||
hide_down: false,
|
||||
serverListTitle: "",
|
||||
serverListLink: ""
|
||||
}[/NBT]
|
@ -0,0 +1,63 @@
|
||||
{
|
||||
"joinServer": null,
|
||||
"servers": [
|
||||
{
|
||||
"serverName": "Local Test Server",
|
||||
"serverAddress": "localhost:25565",
|
||||
"hideAddress": false
|
||||
}
|
||||
],
|
||||
"relays": [
|
||||
{
|
||||
"addr": "wss://relay.deev.is/",
|
||||
"name": "lax1dude relay #1",
|
||||
"primary": "$random_relay_primary_0"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.lax1dude.net/",
|
||||
"name": "lax1dude relay #2",
|
||||
"primary": "$random_relay_primary_1"
|
||||
},
|
||||
{
|
||||
"addr": "wss://relay.shhnowisnottheti.me/",
|
||||
"name": "ayunami relay #1",
|
||||
"primary": "$random_relay_primary_2"
|
||||
}
|
||||
],
|
||||
"mainMenu": {
|
||||
"splashes": [
|
||||
"Darviglet!",
|
||||
"eaglerenophile!",
|
||||
"You Eagler!",
|
||||
"Yeeeeeee!",
|
||||
"yeee",
|
||||
"EEEEEEEEE!",
|
||||
"You Darvig!",
|
||||
"You Vigg!",
|
||||
":>",
|
||||
"|>",
|
||||
"You Yumpster!"
|
||||
],
|
||||
"eaglerLogo": false,
|
||||
"itemLink": null,
|
||||
"itemLine0": null,
|
||||
"itemLine1": null,
|
||||
"itemLine2": null
|
||||
},
|
||||
"worldsFolder": "MAIN",
|
||||
"assetOverrides": {
|
||||
"title/no-pano-blur.flag": "false",
|
||||
"records/wait.mp3": "wait.mp3",
|
||||
"records/mellohi.mp3": "https://stream.nightride.fm/chillsynth.m4a",
|
||||
"records/far.mp3": "https://stream.nightride.fm/nightride.m4a",
|
||||
"records/cat.mp3": "http://usa9.fastcast4u.com/proxy/jamz?mp=/1",
|
||||
"records/ward.mp3": "http://fr4.1mix.co.uk:8000/192h",
|
||||
"records/strad.mp3": "http://listen.011fm.com:8028/stream15",
|
||||
"records/blocks.mp3": "https://www.ophanim.net:8444/s/9780",
|
||||
"records/13.mp3": "https://s2.radio.co/s2b2b68744/listen"
|
||||
},
|
||||
"profanity": false,
|
||||
"hideDownServers": false,
|
||||
"serverListTitle": null,
|
||||
"serverListLink": null
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"dataBaseName": "_net_PeytonPlayz585_eaglercraft_Alpha_IndexedDBFilesystem_1_2_6",
|
||||
"playerUsername": null,
|
||||
"serverIP": null,
|
||||
"joinServerOnLaunch": null
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"dataBaseName": "_net_PeytonPlayz585_eaglercraft_beta_IndexedDBFilesystem_1_7_3",
|
||||
"playerUsername": null,
|
||||
"serverIP": null,
|
||||
"joinServerOnLaunch": null
|
||||
}
|
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,21 +16,17 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision mediump float;
|
||||
precision mediump sampler2D;
|
||||
EAGLER_IN(vec2, v_texCoord2f)
|
||||
EAGLER_IN(vec4, v_color4f)
|
||||
|
||||
in vec2 v_texCoord2f;
|
||||
in vec4 v_color4f;
|
||||
|
||||
layout(location = 0) out vec4 output4f;
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
uniform sampler2D u_inputTexture;
|
||||
uniform vec4 u_colorBias4f;
|
||||
|
||||
void main() {
|
||||
output4f = texture(u_inputTexture, v_texCoord2f) * v_color4f + u_colorBias4f;
|
||||
if(output4f.a < 0.004) {
|
||||
EAGLER_FRAG_COLOR = EAGLER_TEXTURE_2D(u_inputTexture, v_texCoord2f) * v_color4f + u_colorBias4f;
|
||||
if(EAGLER_FRAG_COLOR.a < 0.004) {
|
||||
discard;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,18 +16,15 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision highp float;
|
||||
precision mediump sampler2D;
|
||||
EAGLER_VSH_LAYOUT_BEGIN()
|
||||
EAGLER_IN(0, vec3, a_position3f)
|
||||
EAGLER_IN(1, vec2, c_position2i)
|
||||
EAGLER_IN(2, vec2, c_coords2i)
|
||||
EAGLER_IN(3, vec4, c_color4f)
|
||||
EAGLER_VSH_LAYOUT_END()
|
||||
|
||||
layout(location = 0) in vec3 a_position3f;
|
||||
|
||||
layout(location = 1) in vec2 c_position2i;
|
||||
layout(location = 2) in vec2 c_coords2i;
|
||||
layout(location = 3) in vec4 c_color4f;
|
||||
|
||||
out vec2 v_texCoord2f;
|
||||
out vec4 v_color4f;
|
||||
EAGLER_OUT(vec2, v_texCoord2f)
|
||||
EAGLER_OUT(vec4, v_color4f)
|
||||
|
||||
uniform mat4 u_matrixTransform;
|
||||
uniform vec2 u_charSize2f;
|
||||
@ -49,5 +46,5 @@ void main() {
|
||||
pos2d.x -= (a_position3f.y - 0.5) * italicBit;
|
||||
v_color4f.a *= 2.0;
|
||||
v_color4f *= u_color4f;
|
||||
gl_Position = u_matrixTransform * vec4(pos2d, 0.0, 1.0);
|
||||
EAGLER_VERT_POSITION = u_matrixTransform * vec4(pos2d, 0.0, 1.0);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,20 +16,16 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision mediump float;
|
||||
precision mediump sampler2D;
|
||||
EAGLER_IN(vec2, v_texCoord2f)
|
||||
EAGLER_IN(vec4, v_color4f)
|
||||
|
||||
in vec2 v_texCoord2f;
|
||||
in vec4 v_color4f;
|
||||
|
||||
layout(location = 0) out vec4 output4f;
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
uniform sampler2D u_inputTexture;
|
||||
|
||||
void main() {
|
||||
output4f = texture(u_inputTexture, v_texCoord2f) * v_color4f;
|
||||
if(output4f.a < 0.004) {
|
||||
EAGLER_FRAG_COLOR = EAGLER_TEXTURE_2D(u_inputTexture, v_texCoord2f) * v_color4f;
|
||||
if(EAGLER_FRAG_COLOR.a < 0.004) {
|
||||
discard;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,20 +16,17 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision highp float;
|
||||
precision mediump sampler2D;
|
||||
EAGLER_VSH_LAYOUT_BEGIN()
|
||||
EAGLER_IN(0, vec2, a_position2f)
|
||||
EAGLER_IN(1, vec3, p_position3f)
|
||||
EAGLER_IN(2, vec2, p_texCoords2i)
|
||||
EAGLER_IN(3, vec2, p_lightMap2f)
|
||||
EAGLER_IN(4, vec2, p_particleSize_texCoordsSize_2i)
|
||||
EAGLER_IN(5, vec4, p_color4f)
|
||||
EAGLER_VSH_LAYOUT_END()
|
||||
|
||||
layout(location = 0) in vec2 a_position2f;
|
||||
|
||||
layout(location = 1) in vec3 p_position3f;
|
||||
layout(location = 2) in vec2 p_texCoords2i;
|
||||
layout(location = 3) in vec2 p_lightMap2f;
|
||||
layout(location = 4) in vec2 p_particleSize_texCoordsSize_2i;
|
||||
layout(location = 5) in vec4 p_color4f;
|
||||
|
||||
out vec2 v_texCoord2f;
|
||||
out vec4 v_color4f;
|
||||
EAGLER_OUT(vec2, v_texCoord2f)
|
||||
EAGLER_OUT(vec4, v_color4f)
|
||||
|
||||
uniform mat4 u_matrixTransform;
|
||||
uniform vec3 u_texCoordSize2f_particleSize1f;
|
||||
@ -40,7 +37,7 @@ uniform vec4 u_color4f;
|
||||
uniform sampler2D u_lightmapTexture;
|
||||
|
||||
void main() {
|
||||
v_color4f = u_color4f * p_color4f.bgra * texture(u_lightmapTexture, p_lightMap2f);
|
||||
v_color4f = u_color4f * p_color4f.bgra * EAGLER_TEXTURE_2D(u_lightmapTexture, p_lightMap2f);
|
||||
|
||||
vec2 tex2f = a_position2f * 0.5 + 0.5;
|
||||
tex2f.y = 1.0 - tex2f.y;
|
||||
@ -54,5 +51,5 @@ void main() {
|
||||
pos3f += u_transformParam_1_2_5_f * spos2f.xyy;
|
||||
pos3f.zx += u_transformParam_3_4_f * spos2f;
|
||||
|
||||
gl_Position = u_matrixTransform * vec4(pos3f, 1.0);
|
||||
EAGLER_VERT_POSITION = u_matrixTransform * vec4(pos3f, 1.0);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -17,11 +17,11 @@
|
||||
*/
|
||||
|
||||
#if defined(COMPILE_ENABLE_TEX_GEN) || defined(COMPILE_ENABLE_FOG)
|
||||
in vec4 v_position4f;
|
||||
EAGLER_IN(vec4, v_position4f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_TEXTURE_ATTRIB
|
||||
in vec2 v_texture2f;
|
||||
EAGLER_IN(vec2, v_texture2f)
|
||||
#endif
|
||||
|
||||
uniform vec4 u_color4f;
|
||||
@ -32,15 +32,15 @@ uniform vec4 u_colorBlendAdd4f;
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_COLOR_ATTRIB
|
||||
in vec4 v_color4f;
|
||||
EAGLER_IN(vec4, v_color4f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_NORMAL_ATTRIB
|
||||
in vec3 v_normal3f;
|
||||
EAGLER_IN(vec3, v_normal3f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_LIGHTMAP_ATTRIB
|
||||
in vec2 v_lightmap2f;
|
||||
EAGLER_IN(vec2, v_lightmap2f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_ENABLE_TEXTURE2D
|
||||
@ -76,7 +76,7 @@ uniform vec4 u_fogColor4f;
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_ENABLE_TEX_GEN
|
||||
in vec3 v_objectPosition3f;
|
||||
EAGLER_IN(vec3, v_objectPosition3f)
|
||||
uniform ivec4 u_texGenPlane4i;
|
||||
uniform vec4 u_texGenS4f;
|
||||
uniform vec4 u_texGenT4f;
|
||||
@ -89,7 +89,7 @@ uniform mat4 u_textureMat4f01;
|
||||
uniform vec2 u_textureAnisotropicFix;
|
||||
#endif
|
||||
|
||||
layout(location = 0) out vec4 output4f;
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
void main() {
|
||||
|
||||
@ -98,22 +98,29 @@ void main() {
|
||||
#else
|
||||
vec4 color = u_color4f;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef COMPILE_ENABLE_TEX_GEN
|
||||
vec4 tmpVec4 = vec4(v_objectPosition3f, 1.0);
|
||||
vec4 texGenVector;
|
||||
|
||||
vec4 texGenPosSrc[2];
|
||||
texGenPosSrc[0] = vec4(v_objectPosition3f, 1.0);
|
||||
texGenPosSrc[1] = v_position4f;
|
||||
|
||||
texGenVector.x = dot(texGenPosSrc[u_texGenPlane4i.x], u_texGenS4f);
|
||||
texGenVector.y = dot(texGenPosSrc[u_texGenPlane4i.y], u_texGenT4f);
|
||||
texGenVector.z = dot(texGenPosSrc[u_texGenPlane4i.z], u_texGenR4f);
|
||||
texGenVector.w = dot(texGenPosSrc[u_texGenPlane4i.w], u_texGenQ4f);
|
||||
|
||||
texGenVector.x = dot(u_texGenPlane4i.x == 1 ? v_position4f : tmpVec4, u_texGenS4f);
|
||||
texGenVector.y = dot(u_texGenPlane4i.y == 1 ? v_position4f : tmpVec4, u_texGenT4f);
|
||||
texGenVector.z = dot(u_texGenPlane4i.z == 1 ? v_position4f : tmpVec4, u_texGenR4f);
|
||||
texGenVector.w = dot(u_texGenPlane4i.w == 1 ? v_position4f : tmpVec4, u_texGenQ4f);
|
||||
#ifdef EAGLER_HAS_GLES_300
|
||||
texGenVector.xyz = mat4x3(
|
||||
u_textureMat4f01[0].xyw,
|
||||
u_textureMat4f01[1].xyw,
|
||||
u_textureMat4f01[2].xyw,
|
||||
u_textureMat4f01[3].xyw
|
||||
) * texGenVector;
|
||||
texGenVector.xy /= texGenVector.z;
|
||||
#else
|
||||
texGenVector = u_textureMat4f01 * texGenVector;
|
||||
color *= texture(u_samplerTexture, texGenVector.xy / texGenVector.w);
|
||||
|
||||
texGenVector.xy /= texGenVector.w;
|
||||
#endif
|
||||
|
||||
color *= EAGLER_TEXTURE_2D(u_samplerTexture, texGenVector.xy);
|
||||
|
||||
#ifdef COMPILE_ENABLE_ALPHA_TEST
|
||||
if(color.a < u_alphaTestRef1f) discard;
|
||||
#endif
|
||||
@ -126,20 +133,20 @@ void main() {
|
||||
// d3d11 doesn't support GL_NEAREST upscaling with anisotropic
|
||||
// filtering enabled, so it needs this stupid fix to 'work'
|
||||
vec2 uv = floor(v_texture2f * u_textureAnisotropicFix) + 0.5;
|
||||
color *= texture(u_samplerTexture, uv / u_textureAnisotropicFix);
|
||||
color *= EAGLER_TEXTURE_2D(u_samplerTexture, uv / u_textureAnisotropicFix);
|
||||
#else
|
||||
color *= texture(u_samplerTexture, v_texture2f);
|
||||
color *= EAGLER_TEXTURE_2D(u_samplerTexture, v_texture2f);
|
||||
#endif
|
||||
#else
|
||||
color *= texture(u_samplerTexture, u_textureCoords01);
|
||||
color *= EAGLER_TEXTURE_2D(u_samplerTexture, u_textureCoords01);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_ENABLE_LIGHTMAP
|
||||
#ifdef COMPILE_LIGHTMAP_ATTRIB
|
||||
color *= texture(u_samplerLightmap, v_lightmap2f);
|
||||
color *= EAGLER_TEXTURE_2D(u_samplerLightmap, v_lightmap2f);
|
||||
#else
|
||||
color *= texture(u_samplerLightmap, u_textureCoords02);
|
||||
color *= EAGLER_TEXTURE_2D(u_samplerLightmap, u_textureCoords02);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -161,9 +168,18 @@ void main() {
|
||||
#endif
|
||||
float diffuse = 0.0;
|
||||
vec4 light;
|
||||
#ifdef EAGLER_HAS_GLES_300
|
||||
for(int i = 0; i < u_lightsEnabled1i; ++i) {
|
||||
#else
|
||||
for(int i = 0; i < 4; ++i) {
|
||||
#endif
|
||||
light = u_lightsDirections4fv[i];
|
||||
diffuse += max(dot(light.xyz, normal), 0.0) * light.w;
|
||||
#ifndef EAGLER_HAS_GLES_300
|
||||
if(i + 1 >= u_lightsEnabled1i) {
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
color.rgb *= min(u_lightsAmbient3f + vec3(diffuse), 1.0);
|
||||
#endif
|
||||
@ -179,5 +195,5 @@ void main() {
|
||||
color.rgb = mix(color.rgb, u_fogColor4f.rgb, clamp(f, 0.0, 1.0) * u_fogColor4f.a);
|
||||
#endif
|
||||
|
||||
output4f = color;
|
||||
EAGLER_FRAG_COLOR = color;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,39 +16,39 @@
|
||||
*
|
||||
*/
|
||||
|
||||
in vec3 a_position3f;
|
||||
EAGLER_IN_AUTO(vec3, a_position3f)
|
||||
|
||||
#if defined(COMPILE_ENABLE_TEX_GEN) || defined(COMPILE_ENABLE_FOG)
|
||||
#define _COMPILE_VARYING_POSITION
|
||||
#endif
|
||||
|
||||
#ifdef _COMPILE_VARYING_POSITION
|
||||
out vec4 v_position4f;
|
||||
EAGLER_OUT(vec4, v_position4f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_ENABLE_TEX_GEN
|
||||
out vec3 v_objectPosition3f;
|
||||
EAGLER_OUT(vec3, v_objectPosition3f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_TEXTURE_ATTRIB
|
||||
in vec2 a_texture2f;
|
||||
out vec2 v_texture2f;
|
||||
EAGLER_IN_AUTO(vec2, a_texture2f)
|
||||
EAGLER_OUT(vec2, v_texture2f)
|
||||
uniform mat4 u_textureMat4f01;
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_COLOR_ATTRIB
|
||||
in vec4 a_color4f;
|
||||
out vec4 v_color4f;
|
||||
EAGLER_IN_AUTO(vec4, a_color4f)
|
||||
EAGLER_OUT(vec4, v_color4f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_NORMAL_ATTRIB
|
||||
in vec4 a_normal4f;
|
||||
out vec3 v_normal3f;
|
||||
EAGLER_IN_AUTO(vec4, a_normal4f)
|
||||
EAGLER_OUT(vec3, v_normal3f)
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_LIGHTMAP_ATTRIB
|
||||
in vec2 a_lightmap2f;
|
||||
out vec2 v_lightmap2f;
|
||||
EAGLER_IN_AUTO(vec2, a_lightmap2f)
|
||||
EAGLER_OUT(vec2, v_lightmap2f)
|
||||
uniform mat4 u_textureMat4f02;
|
||||
#endif
|
||||
|
||||
@ -92,8 +92,8 @@ void main() {
|
||||
#endif
|
||||
|
||||
#ifdef _COMPILE_VARYING_POSITION
|
||||
gl_Position = u_projectionMat4f * v_position4f;
|
||||
EAGLER_VERT_POSITION = u_projectionMat4f * v_position4f;
|
||||
#else
|
||||
gl_Position = u_modelviewProjMat4f * vec4(a_position3f, 1.0);
|
||||
EAGLER_VERT_POSITION = u_modelviewProjMat4f * vec4(a_position3f, 1.0);
|
||||
#endif
|
||||
}
|
||||
|
@ -226,20 +226,18 @@ void main() {
|
||||
#ifdef COMPILE_ENABLE_TEXTURE2D
|
||||
vec2 texCoords2f;
|
||||
#ifdef COMPILE_ENABLE_TEX_GEN
|
||||
vec4 tmpVec4 = vec4(v_objectPosition3f, 1.0);
|
||||
vec4 texGenVector;
|
||||
vec4 texGenPosSrc[2];
|
||||
texGenPosSrc[0] = vec4(v_objectPosition3f, 1.0);
|
||||
texGenPosSrc[1] = v_position4f;
|
||||
texGenVector.x = dot(texGenPosSrc[u_texGenPlane4i.x], u_texGenS4f);
|
||||
texGenVector.y = dot(texGenPosSrc[u_texGenPlane4i.y], u_texGenT4f);
|
||||
texGenVector.z = dot(texGenPosSrc[u_texGenPlane4i.z], u_texGenR4f);
|
||||
texGenVector.w = dot(texGenPosSrc[u_texGenPlane4i.w], u_texGenQ4f);
|
||||
texGenVector = vec4(mat4x3(
|
||||
texGenVector.x = dot(u_texGenPlane4i.x == 1 ? v_position4f : tmpVec4, u_texGenS4f);
|
||||
texGenVector.y = dot(u_texGenPlane4i.y == 1 ? v_position4f : tmpVec4, u_texGenT4f);
|
||||
texGenVector.z = dot(u_texGenPlane4i.z == 1 ? v_position4f : tmpVec4, u_texGenR4f);
|
||||
texGenVector.w = dot(u_texGenPlane4i.w == 1 ? v_position4f : tmpVec4, u_texGenQ4f);
|
||||
texGenVector.xyz = mat4x3(
|
||||
u_textureMat4f01[0].xyw,
|
||||
u_textureMat4f01[1].xyw,
|
||||
u_textureMat4f01[2].xyw,
|
||||
u_textureMat4f01[3].xyw
|
||||
) * texGenVector, 0.0);
|
||||
) * texGenVector;
|
||||
texCoords2f = texGenVector.xy / texGenVector.z;
|
||||
#else
|
||||
|
||||
|
@ -99,13 +99,13 @@ void main() {
|
||||
reprojectionReflectionOutput4f = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
reprojectionHitVectorOutput4f = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
#endif
|
||||
float fragDepth = textureLod(u_gbufferDepthTexture, v_position2f, 0.0).r;
|
||||
float fragDepth = textureLod(u_gbufferDepthTexture, v_position2f2, 0.0).r;
|
||||
|
||||
if(fragDepth < 0.000001) {
|
||||
return;
|
||||
}
|
||||
|
||||
vec4 fragClipSpacePos4f = vec4(v_position2f, fragDepth, 1.0) * 2.0 - 1.0;
|
||||
vec4 fragClipSpacePos4f = vec4(v_position2f2, fragDepth, 1.0) * 2.0 - 1.0;
|
||||
vec4 fragPos4f = u_inverseViewProjMatrix4f * fragClipSpacePos4f;
|
||||
fragPos4f.xyz /= fragPos4f.w;
|
||||
fragPos4f.w = 1.0;
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "§eHigh Performance PBR",
|
||||
"desc": "Pack made from scratch specifically for this client, designed to give what I call the best balance between quality and performance possible in a browser but obviously that's just my opinion",
|
||||
"vers": "1.2.1",
|
||||
"vers": "1.2.2",
|
||||
"author": "lax1dude",
|
||||
"api_vers": 1,
|
||||
"features": [
|
||||
|
@ -70,7 +70,7 @@ void main() {
|
||||
originalViewSpacePos.xyz /= originalViewSpacePos.w;
|
||||
originalViewSpacePos.w = 1.0;
|
||||
|
||||
vec4 noiseVec = textureLod(u_noiseConstantTexture, u_randomizerDataMatrix2f * (v_position2f + originalViewSpacePos.xy + normal3f.xz), 0.0);
|
||||
vec4 noiseVec = textureLod(u_noiseConstantTexture, 13.3725 / fract((u_randomizerDataMatrix2f * (v_position2f * 0.42695346 + originalViewSpacePos.xy * 1.373769945645 + normal3f.xz * 42.69456453)) * 1.123234234), 0.0);
|
||||
noiseVec.xyz *= 2.0;
|
||||
noiseVec.xyz -= 1.0;
|
||||
|
||||
|
@ -107,22 +107,23 @@ void main() {
|
||||
#else
|
||||
vec4 color = u_color4f;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef COMPILE_ENABLE_TEX_GEN
|
||||
vec4 tmpVec4 = vec4(v_objectPosition3f, 1.0);
|
||||
vec4 texGenVector;
|
||||
|
||||
vec4 texGenPosSrc[2];
|
||||
texGenPosSrc[0] = vec4(v_objectPosition3f, 1.0);
|
||||
texGenPosSrc[1] = v_position4f;
|
||||
|
||||
texGenVector.x = dot(texGenPosSrc[u_texGenPlane4i.x], u_texGenS4f);
|
||||
texGenVector.y = dot(texGenPosSrc[u_texGenPlane4i.y], u_texGenT4f);
|
||||
texGenVector.z = dot(texGenPosSrc[u_texGenPlane4i.z], u_texGenR4f);
|
||||
texGenVector.w = dot(texGenPosSrc[u_texGenPlane4i.w], u_texGenQ4f);
|
||||
|
||||
texGenVector = u_textureMat4f01 * texGenVector;
|
||||
color *= texture(u_samplerTexture, texGenVector.xy / texGenVector.w);
|
||||
|
||||
texGenVector.x = dot(u_texGenPlane4i.x == 1 ? v_position4f : tmpVec4, u_texGenS4f);
|
||||
texGenVector.y = dot(u_texGenPlane4i.y == 1 ? v_position4f : tmpVec4, u_texGenT4f);
|
||||
texGenVector.z = dot(u_texGenPlane4i.z == 1 ? v_position4f : tmpVec4, u_texGenR4f);
|
||||
texGenVector.w = dot(u_texGenPlane4i.w == 1 ? v_position4f : tmpVec4, u_texGenQ4f);
|
||||
texGenVector.xyz = mat4x3(
|
||||
u_textureMat4f01[0].xyw,
|
||||
u_textureMat4f01[1].xyw,
|
||||
u_textureMat4f01[2].xyw,
|
||||
u_textureMat4f01[3].xyw
|
||||
) * texGenVector;
|
||||
|
||||
color *= texture(u_samplerTexture, texGenVector.xy / texGenVector.z);
|
||||
|
||||
#ifdef COMPILE_ENABLE_ALPHA_TEST
|
||||
if(color.a < u_alphaTestRef1f) discard;
|
||||
#endif
|
||||
|
98
sources/resources/assets/eagler/glsl/gles2_compat.glsl
Normal file
98
sources/resources/assets/eagler/glsl/gles2_compat.glsl
Normal file
@ -0,0 +1,98 @@
|
||||
#line 2 6969
|
||||
|
||||
/*
|
||||
* Copyright (c) 2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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 HOLDER 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef EAGLER_HAS_GLES_300
|
||||
|
||||
// For GLES 3.00+ (WebGL 2.0)
|
||||
#ifdef EAGLER_IS_VERTEX_SHADER
|
||||
|
||||
// Vertex Shaders:
|
||||
#define EAGLER_VSH_LAYOUT_BEGIN()
|
||||
#define EAGLER_VSH_LAYOUT_END()
|
||||
#define EAGLER_IN(_loc, _type, _name) layout(location = _loc) in _type _name;
|
||||
#define EAGLER_IN_AUTO(_type, _name) in _type _name;
|
||||
#define EAGLER_OUT(_type, _name) out _type _name;
|
||||
#define EAGLER_VERT_POSITION gl_Position
|
||||
|
||||
#else
|
||||
#ifdef EAGLER_IS_FRAGMENT_SHADER
|
||||
|
||||
// Fragment Shaders:
|
||||
#define EAGLER_IN(_type, _name) in _type _name;
|
||||
#define EAGLER_FRAG_COLOR eagler_FragColor
|
||||
#define EAGLER_FRAG_DEPTH gl_FragDepth
|
||||
|
||||
#define EAGLER_FRAG_OUT() layout(location = 0) out vec4 EAGLER_FRAG_COLOR;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// All Shaders:
|
||||
|
||||
#define EAGLER_TEXTURE_2D(tex, coord2f) texture(tex, coord2f)
|
||||
#define EAGLER_TEXTURE_2D_LOD(_tex, _coord2f, _lod1f) textureLod(_tex, _coord2f, _lod1f)
|
||||
#define EAGLER_HAS_TEXTURE_2D_LOD
|
||||
|
||||
|
||||
#else
|
||||
#ifdef EAGLER_HAS_GLES_200
|
||||
|
||||
// For GLES 2.00 (WebGL 1.0)
|
||||
#ifdef EAGLER_IS_VERTEX_SHADER
|
||||
|
||||
// Vertex Shaders:
|
||||
#define EAGLER_VSH_LAYOUT_BEGIN()
|
||||
#define EAGLER_VSH_LAYOUT_END()
|
||||
#define EAGLER_IN(_loc, _type, _name) attribute _type _name;
|
||||
#define EAGLER_IN_AUTO(_type, _name) attribute _type _name;
|
||||
#define EAGLER_OUT(_type, _name) varying _type _name;
|
||||
#define EAGLER_VERT_POSITION gl_Position
|
||||
|
||||
#else
|
||||
#ifdef EAGLER_IS_FRAGMENT_SHADER
|
||||
|
||||
// Fragment Shaders:
|
||||
#define EAGLER_IN(_type, _name) varying _type _name;
|
||||
#define EAGLER_FRAG_COLOR gl_FragColor
|
||||
// TODO: Must require EXT_frag_depth to use this on GLES 2.0 (currently not needed)
|
||||
#define EAGLER_FRAG_DEPTH gl_FragDepth
|
||||
|
||||
#define EAGLER_FRAG_OUT()
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// All Shaders:
|
||||
|
||||
#define EAGLER_TEXTURE_2D(_tex, _coord2f) texture2D(_tex, _coord2f)
|
||||
|
||||
#ifdef EAGLER_HAS_GLES_200_SHADER_TEXTURE_LOD
|
||||
#define EAGLER_TEXTURE_2D_LOD(_tex, _coord2f, _lod1f) texture2DLodEXT(_tex, _coord2f, _lod1f)
|
||||
#define EAGLER_HAS_TEXTURE_2D_LOD
|
||||
#else
|
||||
// Beware!
|
||||
#define EAGLER_TEXTURE_2D_LOD(_tex, _coord2f, _lod1f) texture2D(_tex, _coord2f)
|
||||
#define EAGLER_HAS_TEXTURE_2D_LOD
|
||||
#endif
|
||||
|
||||
#else
|
||||
#error Unable to determine API version! (Missing directive EAGLER_HAS_GLES_200 or 300)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#line 1 0
|
55
sources/resources/assets/eagler/glsl/hw_fingerprint.fsh
Normal file
55
sources/resources/assets/eagler/glsl/hw_fingerprint.fsh
Normal file
@ -0,0 +1,55 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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 HOLDER 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.
|
||||
*
|
||||
*/
|
||||
|
||||
EAGLER_IN(vec2, v_position2f)
|
||||
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
uniform sampler2D u_inputTexture;
|
||||
uniform mat4 u_textureMatrix;
|
||||
|
||||
vec2 rand(in vec2 co){
|
||||
float f = dot(co, vec2(12.98984576, 78.23378678));
|
||||
return fract(vec2(sin(f + 0.32490982), cos(f - 0.69890)) * 43758.54576873);
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec4 coords4f = vec4(v_position2f.x * 0.25 - 0.125, v_position2f.y * 0.25 - 0.125, v_position2f.y * 10.0 - 9.0, 1.0);
|
||||
coords4f = u_textureMatrix * coords4f;
|
||||
coords4f.xy /= coords4f.w;
|
||||
EAGLER_FRAG_COLOR = EAGLER_TEXTURE_2D(u_inputTexture, coords4f.xy * 0.5 + 0.5);
|
||||
EAGLER_FRAG_COLOR.rg += rand(v_position2f * 1.2344574345) * 0.05;
|
||||
EAGLER_FRAG_COLOR.ba -= rand(v_position2f * 1.2343525225) * 0.05;
|
||||
EAGLER_FRAG_COLOR.a = fract(sin(dot(coords4f.yz, vec2(12.9898, 78.233))) * 43758.5453);
|
||||
EAGLER_FRAG_COLOR.a += exp(length(rand(coords4f.xw)) * -69.420);
|
||||
EAGLER_FRAG_COLOR = pow(EAGLER_FRAG_COLOR, vec4(1.0 / 2.423952));
|
||||
EAGLER_FRAG_COLOR = pow(EAGLER_FRAG_COLOR, vec4(5.4523856));
|
||||
EAGLER_FRAG_COLOR += 0.00004423 + EAGLER_FRAG_COLOR.a * 0.02;
|
||||
EAGLER_FRAG_COLOR = sqrt(EAGLER_FRAG_COLOR);
|
||||
EAGLER_FRAG_COLOR = pow(EAGLER_FRAG_COLOR, vec4(1.0 / 1.9023576));
|
||||
#ifdef EAGLER_HAS_GLES_300
|
||||
EAGLER_FRAG_COLOR.ra += tanh(fract(EAGLER_FRAG_COLOR.a * 32.324834)) * 0.1012426;
|
||||
#endif
|
||||
EAGLER_FRAG_COLOR.b *= 0.934924;
|
||||
EAGLER_FRAG_COLOR.b += (1.23213 / inversesqrt(EAGLER_FRAG_COLOR.a)) * 0.156365;
|
||||
EAGLER_FRAG_COLOR.ga += rand(gl_FragCoord.xy) * 0.13423567;
|
||||
EAGLER_FRAG_COLOR.rb += gl_PointCoord * 0.0124264565;
|
||||
#ifdef EAGLER_HAS_GLES_300
|
||||
EAGLER_FRAG_COLOR *= 0.95234 + asinh(EAGLER_FRAG_COLOR.g * 5.23423) * 0.0254325;
|
||||
#endif
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,15 +16,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision highp float;
|
||||
precision lowp sampler2D;
|
||||
EAGLER_VSH_LAYOUT_BEGIN()
|
||||
EAGLER_IN(0, vec2, a_position2f)
|
||||
EAGLER_VSH_LAYOUT_END()
|
||||
|
||||
layout(location = 0) in vec2 a_position2f;
|
||||
|
||||
out vec2 v_position2f;
|
||||
EAGLER_OUT(vec2, v_position2f)
|
||||
|
||||
void main() {
|
||||
v_position2f = a_position2f * 0.5 + 0.5;
|
||||
gl_Position = vec4(a_position2f, 0.0, 1.0);
|
||||
EAGLER_VERT_POSITION = vec4(a_position2f, 0.0, 1.0);
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
#line 2
|
||||
|
||||
// Remove this line below if you plan to modify this file
|
||||
#ifndef EAGLER_IS_GLES_200
|
||||
#define USE_OPTIMIZED
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -52,14 +54,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision mediump float;
|
||||
precision mediump sampler2D;
|
||||
EAGLER_IN(vec2, v_position2f)
|
||||
|
||||
|
||||
in vec2 v_position2f;
|
||||
|
||||
layout(location = 0) out vec4 output4f;
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
uniform sampler2D u_screenTexture;
|
||||
uniform vec2 u_screenSize2f;
|
||||
@ -110,7 +107,7 @@ uniform vec2 u_screenSize2f;
|
||||
#define FxaaTex sampler2D
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#define FxaaTexTop(t, p) textureLod(t, p, 0.0)
|
||||
#define FxaaTexTop(t, p) EAGLER_TEXTURE_2D_LOD(t, p, 0.0)
|
||||
|
||||
/*============================================================================
|
||||
GREEN AS LUMA OPTION SUPPORT FUNCTION
|
||||
@ -298,7 +295,7 @@ void main(){
|
||||
rcpFrameOpt.xy = -screenSize05;
|
||||
rcpFrameOpt.zw = screenSize05;
|
||||
|
||||
output4f = vec4(FxaaPixelShader(v_position2f + screenSize05, posPos, u_screenTexture, rcpFrameOpt, rcpFrameOpt * 4.0, edgeSharpness, edgeThreshold, edgeThresholdMin).rgb, 1.0);
|
||||
EAGLER_FRAG_COLOR = vec4(FxaaPixelShader(v_position2f + screenSize05, posPos, u_screenTexture, rcpFrameOpt, rcpFrameOpt * 4.0, edgeSharpness, edgeThreshold, edgeThresholdMin).rgb, 1.0);
|
||||
}
|
||||
#else
|
||||
|
||||
@ -306,7 +303,6 @@ void main(){
|
||||
// Is it faster? Idfk, probably compiles faster at least, what matters it I tried
|
||||
|
||||
float _616;
|
||||
vec4 _617;
|
||||
|
||||
void main()
|
||||
{
|
||||
@ -317,14 +313,14 @@ void main()
|
||||
mediump vec4 _608;
|
||||
for(;;)
|
||||
{
|
||||
mediump vec3 _532 = textureLod(u_screenTexture, _611.xy, 0.0).xyz;
|
||||
mediump vec3 _532 = EAGLER_TEXTURE_2D_LOD(u_screenTexture, _611.xy, 0.0).xyz;
|
||||
mediump float _536 = dot(_532 * _532, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625));
|
||||
mediump vec3 _540 = textureLod(u_screenTexture, _611.xw, 0.0).xyz;
|
||||
mediump vec3 _540 = EAGLER_TEXTURE_2D_LOD(u_screenTexture, _611.xw, 0.0).xyz;
|
||||
mediump float _544 = dot(_540 * _540, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625));
|
||||
mediump vec3 _548 = textureLod(u_screenTexture, _611.zy, 0.0).xyz;
|
||||
mediump vec3 _556 = textureLod(u_screenTexture, _611.zw, 0.0).xyz;
|
||||
mediump vec3 _548 = EAGLER_TEXTURE_2D_LOD(u_screenTexture, _611.zy, 0.0).xyz;
|
||||
mediump vec3 _556 = EAGLER_TEXTURE_2D_LOD(u_screenTexture, _611.zw, 0.0).xyz;
|
||||
mediump float _560 = dot(_556 * _556, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625));
|
||||
mediump vec4 _390 = textureLod(u_screenTexture, _290, 0.0);
|
||||
mediump vec4 _390 = EAGLER_TEXTURE_2D_LOD(u_screenTexture, _290, 0.0);
|
||||
mediump vec3 _564 = _390.xyz;
|
||||
mediump float _568 = dot(_564 * _564, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625));
|
||||
mediump float _397 = dot(_548 * _548, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625)) + 0.00260416674427688121795654296875;
|
||||
@ -347,8 +343,8 @@ void main()
|
||||
mediump vec2 _484 = (_612 * 4.0).zw;
|
||||
vec2 _615 = -hp_copy_481;
|
||||
mediump vec2 mp_copy_615 = _615;
|
||||
mediump vec4 _498 = textureLod(u_screenTexture, mp_copy_614 * _454 + _290, 0.0) + textureLod(u_screenTexture, _449 * _454 + _290, 0.0);
|
||||
mediump vec4 _505 = ((textureLod(u_screenTexture, mp_copy_615 * _484 + _290, 0.0) + textureLod(u_screenTexture, _481 * _484 + _290, 0.0)) * 0.25) + (_498 * 0.25);
|
||||
mediump vec4 _498 = EAGLER_TEXTURE_2D_LOD(u_screenTexture, mp_copy_614 * _454 + _290, 0.0) + EAGLER_TEXTURE_2D_LOD(u_screenTexture, _449 * _454 + _290, 0.0);
|
||||
mediump vec4 _505 = ((EAGLER_TEXTURE_2D_LOD(u_screenTexture, mp_copy_615 * _484 + _290, 0.0) + EAGLER_TEXTURE_2D_LOD(u_screenTexture, _481 * _484 + _290, 0.0)) * 0.25) + (_498 * 0.25);
|
||||
mediump float _576 = dot(_505.xyz * _505.xyz, vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625));
|
||||
mediump vec4 _607;
|
||||
if ((_576 < _412) || (_576 > _409))
|
||||
@ -367,7 +363,7 @@ void main()
|
||||
_608 = _607;
|
||||
break;
|
||||
}
|
||||
output4f = vec4(_608.xyz, 1.0);
|
||||
EAGLER_FRAG_COLOR = vec4(_608.xyz, 1.0);
|
||||
}
|
||||
|
||||
#endif
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2023-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,14 +16,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision highp float;
|
||||
precision highp sampler2D;
|
||||
|
||||
in vec2 v_texCoords2f;
|
||||
EAGLER_IN(vec2, v_texCoords2f)
|
||||
|
||||
#ifndef COMPILE_BLIT_DEPTH
|
||||
layout(location = 0) out vec4 output4f;
|
||||
EAGLER_FRAG_OUT()
|
||||
#endif
|
||||
|
||||
uniform sampler2D u_inputTexture;
|
||||
@ -40,8 +36,8 @@ void main() {
|
||||
uv2f = (floor(uv2f * u_pixelAlignmentSizes4f.xy) + u_pixelAlignmentOffset2f) * u_pixelAlignmentSizes4f.zw;
|
||||
#endif
|
||||
#ifndef COMPILE_BLIT_DEPTH
|
||||
output4f = textureLod(u_inputTexture, uv2f, u_textureLod1f);
|
||||
EAGLER_FRAG_COLOR = EAGLER_TEXTURE_2D_LOD(u_inputTexture, uv2f, u_textureLod1f);
|
||||
#else
|
||||
gl_FragDepth = textureLod(u_inputTexture, uv2f, u_textureLod1f).r;
|
||||
EAGLER_FRAG_DEPTH = EAGLER_TEXTURE_2D_LOD(u_inputTexture, uv2f, u_textureLod1f).r;
|
||||
#endif
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2023-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,13 +16,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision lowp float;
|
||||
precision lowp sampler2D;
|
||||
EAGLER_VSH_LAYOUT_BEGIN()
|
||||
EAGLER_IN(0, vec2, a_position2f)
|
||||
EAGLER_VSH_LAYOUT_END()
|
||||
|
||||
layout(location = 0) in vec2 a_position2f;
|
||||
|
||||
out vec2 v_texCoords2f;
|
||||
EAGLER_OUT(vec2, v_texCoords2f)
|
||||
|
||||
uniform vec4 u_srcCoords4f;
|
||||
uniform vec4 u_dstCoords4f;
|
||||
@ -30,5 +28,5 @@ uniform vec4 u_dstCoords4f;
|
||||
void main() {
|
||||
vec2 uv = a_position2f * 0.5 + 0.5;
|
||||
v_texCoords2f = u_srcCoords4f.xy + u_srcCoords4f.zw * uv;
|
||||
gl_Position = vec4(u_dstCoords4f.xy + u_dstCoords4f.zw * uv, 0.0, 1.0);
|
||||
EAGLER_VERT_POSITION = vec4(u_dstCoords4f.xy + u_dstCoords4f.zw * uv, 0.0, 1.0);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#line 2
|
||||
|
||||
/*
|
||||
* Copyright (c) 2022-2023 lax1dude. All Rights Reserved.
|
||||
* Copyright (c) 2022-2024 lax1dude. All Rights Reserved.
|
||||
*
|
||||
* 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
|
||||
@ -16,13 +16,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
precision lowp int;
|
||||
precision highp float;
|
||||
precision highp sampler2D;
|
||||
EAGLER_IN(vec2, v_position2f)
|
||||
|
||||
in vec2 v_position2f;
|
||||
|
||||
layout(location = 0) out vec4 output4f;
|
||||
EAGLER_FRAG_OUT()
|
||||
|
||||
uniform sampler2D u_inputTexture;
|
||||
uniform float u_textureLod1f;
|
||||
@ -32,6 +28,6 @@ uniform mat3 u_matrixTransform;
|
||||
|
||||
void main() {
|
||||
vec3 coords = u_matrixTransform * vec3(v_position2f, 1.0);
|
||||
vec4 color4f = textureLod(u_inputTexture, coords.xy, u_textureLod1f);
|
||||
output4f = color4f * u_blendFactor4f + u_blendBias4f;
|
||||
vec4 color4f = EAGLER_TEXTURE_2D_LOD(u_inputTexture, coords.xy, u_textureLod1f);
|
||||
EAGLER_FRAG_COLOR = color4f * u_blendFactor4f + u_blendBias4f;
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 11 KiB |
BIN
sources/resources/assets/eagler/gui/notif_bk_large.png
Normal file
BIN
sources/resources/assets/eagler/gui/notif_bk_large.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.0 KiB |
BIN
sources/resources/assets/eagler/gui/touch_gui.png
Normal file
BIN
sources/resources/assets/eagler/gui/touch_gui.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Reference in New Issue
Block a user