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:
File diff suppressed because one or more lines are too long
@ -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 |
Binary file not shown.
@ -1 +1 @@
|
||||
{"pluginName":"EaglercraftXBungee","pluginVersion":"1.2.7","pluginButton":"Download \"EaglerXBungee-1.2.7.jar\"","pluginFilename":"EaglerXBungee.zip"}
|
||||
{"pluginName":"EaglercraftXBungee","pluginVersion":"1.3.0","pluginButton":"Download \"EaglerXBungee-1.3.0.jar\"","pluginFilename":"EaglerXBungee.zip"}
|
740
sources/resources/profanity_filter.wlist
Normal file
740
sources/resources/profanity_filter.wlist
Normal file
@ -0,0 +1,740 @@
|
||||
1488
|
||||
a55hole
|
||||
ahole
|
||||
ainujin
|
||||
ainuzin
|
||||
akimekura
|
||||
anal
|
||||
anus
|
||||
anuses
|
||||
anushead
|
||||
anuslick
|
||||
anuss
|
||||
aokan
|
||||
arsch
|
||||
arschloch
|
||||
arse
|
||||
arsed
|
||||
arsehole
|
||||
arseholed
|
||||
arseholes
|
||||
arseholing
|
||||
arselicker
|
||||
arses
|
||||
ass
|
||||
asshat
|
||||
asshole
|
||||
assholed
|
||||
assholes
|
||||
assholing
|
||||
asslick
|
||||
asslicker
|
||||
asses
|
||||
auschwitz
|
||||
b00bs
|
||||
b00bz
|
||||
b1tc
|
||||
baise
|
||||
bakachon
|
||||
bakatyon
|
||||
ballsack
|
||||
ballzack
|
||||
bamf
|
||||
beaner
|
||||
beeatch
|
||||
beeeyotch
|
||||
beefwhistle
|
||||
beeotch
|
||||
beetch
|
||||
beeyotch
|
||||
bellend
|
||||
bestiality
|
||||
beyitch
|
||||
beyotch
|
||||
biach
|
||||
biotch
|
||||
bitch
|
||||
bitches
|
||||
bitching
|
||||
blad
|
||||
bladt
|
||||
blowjob
|
||||
blow job
|
||||
blowme
|
||||
blow me
|
||||
blyad
|
||||
blyadt
|
||||
bon3r
|
||||
boner
|
||||
boobs
|
||||
boobz
|
||||
btch
|
||||
bukakke
|
||||
bullshit
|
||||
bung
|
||||
butagorosi
|
||||
butthead
|
||||
butthole
|
||||
buttplug
|
||||
c0ck
|
||||
cabron
|
||||
cacca
|
||||
cadela
|
||||
cagada
|
||||
cameljockey
|
||||
caralho
|
||||
castrate
|
||||
cazzo
|
||||
ceemen
|
||||
ch1nk
|
||||
chankoro
|
||||
chieokure
|
||||
chikusatsu
|
||||
ching chong
|
||||
chinga
|
||||
chingada madre
|
||||
chingado
|
||||
chingate
|
||||
chink
|
||||
chinpo
|
||||
chlamydia
|
||||
choad
|
||||
chode
|
||||
chonga
|
||||
chonko
|
||||
chonkoro
|
||||
chourimbo
|
||||
chourinbo
|
||||
chourippo
|
||||
chuurembo
|
||||
chuurenbo
|
||||
circlejerk
|
||||
cl1t
|
||||
cli7
|
||||
clit
|
||||
clitoris
|
||||
cocain
|
||||
cocaine
|
||||
cock
|
||||
cocksucker
|
||||
coglione
|
||||
coglioni
|
||||
coitus
|
||||
coituss
|
||||
cojelon
|
||||
cojones
|
||||
condom
|
||||
coon
|
||||
coon hunt
|
||||
coon kill
|
||||
coonhunt
|
||||
coonkill
|
||||
cooter
|
||||
cotton pic
|
||||
cotton pik
|
||||
cottonpic
|
||||
cottonpik
|
||||
culear
|
||||
culero
|
||||
culo
|
||||
cum
|
||||
cumming
|
||||
cun7
|
||||
cunt
|
||||
cvn7
|
||||
cvnt
|
||||
cyka
|
||||
d1kc
|
||||
d4go
|
||||
dago
|
||||
darkie
|
||||
dickhead
|
||||
dick
|
||||
dicks
|
||||
dikc
|
||||
dildo
|
||||
dio bestia
|
||||
dumass
|
||||
dumbass
|
||||
durka durka
|
||||
dyke
|
||||
ejaculate
|
||||
encule
|
||||
enjokousai
|
||||
enzyokousai
|
||||
etahinin
|
||||
etambo
|
||||
etanbo
|
||||
f0ck
|
||||
f0kc
|
||||
f3lch
|
||||
facking
|
||||
fag
|
||||
faggot
|
||||
fags
|
||||
faggots
|
||||
fanculo
|
||||
fatass
|
||||
fcuk
|
||||
fcuuk
|
||||
felch
|
||||
fellatio
|
||||
fetish
|
||||
fickdich
|
||||
figlio di puttana
|
||||
fku
|
||||
fock
|
||||
fokc
|
||||
foreskin
|
||||
fotze
|
||||
foutre
|
||||
fucc
|
||||
fuck
|
||||
fucks
|
||||
fuckd
|
||||
fucked
|
||||
fucker
|
||||
fuckers
|
||||
fucking
|
||||
fuckr
|
||||
fuct
|
||||
fujinoyamai
|
||||
fukashokumin
|
||||
fupa
|
||||
fuuck
|
||||
fuuckd
|
||||
fuucked
|
||||
fuucker
|
||||
fuucking
|
||||
fuuckr
|
||||
fuuuck
|
||||
fuuuckd
|
||||
fuuucked
|
||||
fuuucker
|
||||
fuuucking
|
||||
fuuuckr
|
||||
fuuuuck
|
||||
fuuuuckd
|
||||
fuuuucked
|
||||
fuuuucker
|
||||
fuuuucking
|
||||
fuuuuckr
|
||||
fuuuuuck
|
||||
fuuuuuckd
|
||||
fuuuuucked
|
||||
fuuuuucker
|
||||
fuuuuucking
|
||||
fuuuuuckr
|
||||
fuuuuuuck
|
||||
fuuuuuuckd
|
||||
fuuuuuucked
|
||||
fuuuuuucker
|
||||
fuuuuuucking
|
||||
fuuuuuuckr
|
||||
fuuuuuuuck
|
||||
fuuuuuuuckd
|
||||
fuuuuuuucked
|
||||
fuuuuuuucker
|
||||
fuuuuuuucking
|
||||
fuuuuuuuckr
|
||||
fuuuuuuuuck
|
||||
fuuuuuuuuckd
|
||||
fuuuuuuuucked
|
||||
fuuuuuuuucker
|
||||
fuuuuuuuucking
|
||||
fuuuuuuuuckr
|
||||
fuuuuuuuuuck
|
||||
fuuuuuuuuuckd
|
||||
fuuuuuuuuucked
|
||||
fuuuuuuuuucker
|
||||
fuuuuuuuuucking
|
||||
fuuuuuuuuuckr
|
||||
fuuuuuuuuuu
|
||||
fvck
|
||||
fxck
|
||||
fxuxcxk
|
||||
g000k
|
||||
g00k
|
||||
g0ok
|
||||
gestapo
|
||||
go0k
|
||||
god damn
|
||||
goddamn
|
||||
goldenshowers
|
||||
golliwogg
|
||||
gollywog
|
||||
gooch
|
||||
gook
|
||||
goook
|
||||
gyp
|
||||
h0m0
|
||||
h0mo
|
||||
h1tl3
|
||||
h1tle
|
||||
hairpie
|
||||
hakujakusha
|
||||
hakuroubyo
|
||||
hakuzyakusya
|
||||
hantoujin
|
||||
hantouzin
|
||||
herpes
|
||||
hitl3r
|
||||
hitler
|
||||
hitlr
|
||||
holocaust
|
||||
hom0
|
||||
homo
|
||||
honky
|
||||
hooker
|
||||
hor3
|
||||
hore
|
||||
hukasyokumin
|
||||
hure
|
||||
hurensohn
|
||||
huzinoyamai
|
||||
hymen
|
||||
inc3st
|
||||
incest
|
||||
inculato
|
||||
injun
|
||||
intercourse
|
||||
inugoroshi
|
||||
inugorosi
|
||||
j1g4b0
|
||||
j1g4bo
|
||||
j1gab0
|
||||
j1gabo
|
||||
jack off
|
||||
jackass
|
||||
jap
|
||||
jerkoff
|
||||
jig4b0
|
||||
jig4bo
|
||||
jigabo
|
||||
jigaboo
|
||||
jiggaboo
|
||||
jizz
|
||||
joder
|
||||
joto
|
||||
jungle bunny
|
||||
junglebunny
|
||||
k k k
|
||||
k1k3
|
||||
kichigai
|
||||
kik3
|
||||
kike
|
||||
kikeiji
|
||||
kikeizi
|
||||
kilurself
|
||||
kitigai
|
||||
kkk
|
||||
klu klux
|
||||
klu klux klan
|
||||
kluklux
|
||||
knobhead
|
||||
koon hunt
|
||||
koon kill
|
||||
koonhunt
|
||||
koonkill
|
||||
koroshiteyaru
|
||||
koumoujin
|
||||
koumouzin
|
||||
ku klux klan
|
||||
kun7
|
||||
kurombo
|
||||
kurva
|
||||
kurwa
|
||||
kxkxk
|
||||
l3sb0
|
||||
lesbo
|
||||
lezbo
|
||||
lezzie
|
||||
m07th3rfukr
|
||||
m0th3rfvk3r
|
||||
m0th3rfvker
|
||||
madonna puttana
|
||||
manberries
|
||||
manko
|
||||
manshaft
|
||||
maricon
|
||||
masterbat
|
||||
masterbate
|
||||
masturbacion
|
||||
masturbait
|
||||
masturbare
|
||||
masturbate
|
||||
masturbazione
|
||||
merda
|
||||
merde
|
||||
meth
|
||||
mierda
|
||||
milf
|
||||
minge
|
||||
miststück
|
||||
mitsukuchi
|
||||
mitukuti
|
||||
molest
|
||||
molester
|
||||
molestor
|
||||
mong
|
||||
moon cricket
|
||||
moth3rfucer
|
||||
moth3rfvk3r
|
||||
moth3rfvker
|
||||
motherfucker
|
||||
mulatto
|
||||
n1663r
|
||||
n1664
|
||||
n166a
|
||||
n166er
|
||||
n1g3r
|
||||
n1german
|
||||
n1gg3r
|
||||
n1ggerman
|
||||
n3gro
|
||||
n4g3r
|
||||
n4gg3r
|
||||
n4ggerman
|
||||
n4z1
|
||||
nag3r
|
||||
nagg3r
|
||||
naggerman
|
||||
natzi
|
||||
naz1
|
||||
nazi
|
||||
nazl
|
||||
negerman
|
||||
nggerman
|
||||
nggr
|
||||
nhiggerman
|
||||
ni666
|
||||
ni66a
|
||||
ni66er
|
||||
ni66g
|
||||
ni6g
|
||||
ni6g6
|
||||
ni6gg
|
||||
nig
|
||||
nig66
|
||||
nig6g
|
||||
nigar
|
||||
nigerman
|
||||
nigg3
|
||||
nigg6
|
||||
nigga
|
||||
niggaz
|
||||
niggerman
|
||||
nigger
|
||||
nigglet
|
||||
niggr
|
||||
nigguh
|
||||
niggur
|
||||
niggy
|
||||
niglet
|
||||
nignog
|
||||
nimpinin
|
||||
ninpinin
|
||||
nipples
|
||||
niqqa
|
||||
niqqer
|
||||
nonce
|
||||
nugga
|
||||
nutsack
|
||||
nutted
|
||||
nyggerman
|
||||
omeko
|
||||
orgy
|
||||
p3n15
|
||||
p3n1s
|
||||
p3ni5
|
||||
p3nis
|
||||
p3nl5
|
||||
p3nls
|
||||
paki
|
||||
panties
|
||||
pedo
|
||||
pedoph
|
||||
pedophile
|
||||
pen15
|
||||
pen1s
|
||||
pendejo
|
||||
peni5
|
||||
penile
|
||||
penis
|
||||
penis
|
||||
penl5
|
||||
penls
|
||||
penus
|
||||
perra
|
||||
phag
|
||||
phaggot
|
||||
phagot
|
||||
phuck
|
||||
pikey
|
||||
pinche
|
||||
pizda
|
||||
polla
|
||||
porca madonna
|
||||
porch monkey
|
||||
porn
|
||||
pornhub
|
||||
porra
|
||||
pu555y
|
||||
pu55y
|
||||
pub1c
|
||||
pube
|
||||
pubic
|
||||
pun4ni
|
||||
pun4nl
|
||||
punal
|
||||
punan1
|
||||
punani
|
||||
punanl
|
||||
puss1
|
||||
puss3
|
||||
puss5
|
||||
pusse
|
||||
pussi
|
||||
pussy
|
||||
pussys
|
||||
pussies
|
||||
pusss1
|
||||
pussse
|
||||
pusssi
|
||||
pusssl
|
||||
pusssy
|
||||
pussy
|
||||
puta
|
||||
putain
|
||||
pute
|
||||
puto
|
||||
puttana
|
||||
puttane
|
||||
puttaniere
|
||||
puzzy
|
||||
pvssy
|
||||
queef
|
||||
r3c7um
|
||||
r4p15t
|
||||
r4p1st
|
||||
r4p3
|
||||
r4pi5t
|
||||
r4pist
|
||||
raape
|
||||
raghead
|
||||
raibyo
|
||||
raip
|
||||
rap15t
|
||||
rap1st
|
||||
rapage
|
||||
rape
|
||||
raped
|
||||
rapi5t
|
||||
raping
|
||||
rapist
|
||||
red tube
|
||||
reggin
|
||||
reipu
|
||||
retard
|
||||
ricchione
|
||||
rimjob
|
||||
rimming
|
||||
rizzape
|
||||
rompari
|
||||
salaud
|
||||
salope
|
||||
sangokujin
|
||||
sangokuzin
|
||||
santorum
|
||||
scheiße
|
||||
schlampe
|
||||
schlampe
|
||||
schlong
|
||||
schwuchtel
|
||||
scrote
|
||||
secks
|
||||
seishinhakujaku
|
||||
seishinijo
|
||||
seisinhakuzyaku
|
||||
seisinizyo
|
||||
semen
|
||||
semushiotoko
|
||||
semusiotoko
|
||||
sh|t
|
||||
sh|thead
|
||||
sh|tstain
|
||||
sh17
|
||||
sh17head
|
||||
sh17stain
|
||||
sh1t
|
||||
sh1thead
|
||||
sh1tstain
|
||||
shat
|
||||
shemale
|
||||
shi7
|
||||
shi7head
|
||||
shi7stain
|
||||
shinajin
|
||||
shinheimin
|
||||
shirakko
|
||||
shit
|
||||
shithead
|
||||
shitstain
|
||||
shitting
|
||||
shitty
|
||||
shokubutsuningen
|
||||
sinazin
|
||||
sinheimin
|
||||
skank
|
||||
slut
|
||||
smd
|
||||
sodom
|
||||
sofa king
|
||||
sofaking
|
||||
spanishick
|
||||
spanishook
|
||||
spanishunk
|
||||
succhia cazzi
|
||||
syokubutuningen
|
||||
taint
|
||||
tapatte
|
||||
tapette
|
||||
tarlouse
|
||||
tea bag
|
||||
teabag
|
||||
teebag
|
||||
teensex
|
||||
teino
|
||||
testa di cazzo
|
||||
testicles
|
||||
thot
|
||||
tieokure
|
||||
tinpo
|
||||
tits
|
||||
titz
|
||||
titties
|
||||
tittiez
|
||||
tokushugakkyu
|
||||
tokusyugakkyu
|
||||
torukoburo
|
||||
torukojo
|
||||
torukozyo
|
||||
tosatsu
|
||||
tosatu
|
||||
towelhead
|
||||
trannie
|
||||
tranny
|
||||
tunbo
|
||||
tw47
|
||||
tw4t
|
||||
twat
|
||||
tyankoro
|
||||
tyonga
|
||||
tyonko
|
||||
tyonkoro
|
||||
tyourinbo
|
||||
tyourippo
|
||||
tyurenbo
|
||||
ushigoroshi
|
||||
usigorosi
|
||||
v461n4
|
||||
v461na
|
||||
v46in4
|
||||
v46ina
|
||||
v4g1n4
|
||||
v4g1na
|
||||
v4gin4
|
||||
v4gina
|
||||
va61n4
|
||||
va61na
|
||||
va6in4
|
||||
va6ina
|
||||
vaccagare
|
||||
vaffanculo
|
||||
vag
|
||||
vag1n4
|
||||
vag1na
|
||||
vagin4
|
||||
vagina
|
||||
vatefaire
|
||||
vvhitepower
|
||||
w3tb4ck
|
||||
w3tback
|
||||
wank
|
||||
wanker
|
||||
wetb4ck
|
||||
wetback
|
||||
wh0r3
|
||||
wh0re
|
||||
white power
|
||||
whitepower
|
||||
whor3
|
||||
whore
|
||||
whores
|
||||
wog
|
||||
wop
|
||||
x8lp3t
|
||||
xbl pet
|
||||
xblpet
|
||||
xblrewards
|
||||
xl3lpet
|
||||
yabunirami
|
||||
zipperhead
|
||||
блядь
|
||||
сука
|
||||
アオカン
|
||||
あおかん
|
||||
イヌゴロシ
|
||||
いぬごろし
|
||||
インバイ
|
||||
いんばい
|
||||
オナニー
|
||||
おなにー
|
||||
オメコ
|
||||
カワラコジキ
|
||||
かわらこじき
|
||||
カワラモノ
|
||||
かわらもの
|
||||
キケイジ
|
||||
きけいじ
|
||||
キチガイ
|
||||
きちがい
|
||||
キンタマ
|
||||
きんたま
|
||||
クロンボ
|
||||
くろんぼ
|
||||
コロシテヤル
|
||||
ころしてやる
|
||||
シナジン
|
||||
しなじん
|
||||
タチンボ
|
||||
たちんぼ
|
||||
チョンコウ
|
||||
ちょんこう
|
||||
チョンコロ
|
||||
ちょんころ
|
||||
ちょん公
|
||||
チンポ
|
||||
ちんぽ
|
||||
ツンボ
|
||||
つんぼ
|
||||
とるこじょう
|
||||
とるこぶろ
|
||||
トルコ嬢
|
||||
トルコ風呂
|
||||
ニガー
|
||||
ニグロ
|
||||
にんぴにん
|
||||
はんとうじん
|
||||
マンコ
|
||||
まんこ
|
||||
レイプ
|
||||
れいぷ
|
||||
低能
|
||||
屠殺
|
||||
強姦
|
||||
援交
|
||||
支那人
|
||||
精薄
|
||||
精薄者
|
||||
輪姦
|
Binary file not shown.
Reference in New Issue
Block a user