up to date with server

This commit is contained in:
chimchooree
2020-11-24 11:37:51 -06:00
parent 9a18189000
commit 2224957b7c
69 changed files with 1765 additions and 1086 deletions
+123 -72
View File
@@ -6,28 +6,13 @@
a {
text-decoration: none;
}
a:link {
color: red;
}
a:visited {
color: hotpink;
}
a:hover {
color: green;
}
a:active {
color: blue;
}
mark {
background-color: #900C3F;
color: hotpink;
}
ul { list-style-position: inside; }
.grid {
display: grid;
grid-template-columns: auto 533px 267px auto;
grid-template-rows: 25px 90px 40px repeat(4, 1fr) auto;
grid-template-rows: 25px 90px 40px repeat(2, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
}
@@ -38,16 +23,20 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:center;
align-items: center;
background-color: #3B429F;
background-color: #900C3F;
}
.blessfrey-logo { grid-area: 1 / 2 / 2 / 4; }
.blessfrey-logo {
grid-area: 1 / 2 / 2 / 4;
padding-top: 5px;
color: #FBDAEC;
}
/* navigation pane */
.nav-row {
grid-area: 2 / 1 / 3 / 5;
background-color: #AA7DCE;
background-color: #900C3F;
}
.nav-grid {
@@ -58,12 +47,11 @@ ul { list-style-position: inside; }
display: grid;
grid-template-columns: auto repeat(4, 70px) auto;
grid-template-rows: 90px;
grid-column-gap: 8px;
grid-column-gap: 17px;
grid-row-gap: 0px;
align-items: end;
justify-items: center;
}
.nav-bar {
grid-area: 1 / 1 / 2 / 7;
display: flex;
@@ -79,6 +67,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-game {
grid-area: 1 / 3 / 2 / 4;
@@ -86,6 +75,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-diary {
grid-area: 1 / 4 / 2 / 5;
@@ -93,6 +83,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-presskit {
grid-area: 1 / 5 / 2 / 6;
@@ -100,100 +91,160 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%)
}
.button:hover {
background-color: #723777;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link a {
font-size: 18px;
}
.nav-link a:link {
color: #66C7F4;
}
.nav-link a:visited {
color: #CB9CF2;
}
.nav-link a:hover {
color: #F9B3D7;
}
.nav-link a:active {
color: #f463ad;
}
/* Body */
.dir-row {
grid-area: 3 / 1 / 4 / 5;
background-color: #F5D7E3;
grid-area: 3 / 2 / 4 / 4;
background-color: #080410;
color: #F9B3D7;
}
.diary-dir {
grid-area: 3 / 2 / 4 / 4;
background-color: #900C3F;
grid-area: 3 / 1 / 4 / 5;
background-color: #080410;
color: #F9B3D7;
font-size: 20px;
padding-top: 5px;
}
.diary-dir a:link {
color: #C9C2D6;
}
.diary-dir a:visited {
color: #C9C2D6;
}
.diary-dir a:hover {
color: #F9B3D7;
}
.diary-dir a:active {
color: #f463ad;
}
.body-row {
grid-area: 4 / 1 / 8 / 5;
background-color: #b56c4d;
grid-area: 4 / 1 / 5 / 5;
background-color: #080410;
}
.diary-pages {
grid-area: 4 / 2 / 8 / 3;
background-color: #F4A5AE;
padding: 5px;
grid-area: 4 / 2 / 5 / 3;
}
.snippet {
background-color: #C9C2D6;
color: #080410;
padding: 20px;
margin-top: 0px;
margin-bottom: 30px;
}
.snippet a:link {
color: #401231;
}
.snippet a:visited {
color: #401231;
}
.snippet a:hover {
color: #902771;
}
.snippet a:active {
color: #900C3F;
}
.sidebar {
grid-area: 4 / 3 / 5 / 4;
display: grid;
grid-template-columns: auto;
grid-template-rows: repeat(4, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
align-content: start;
padding-left: 7px;
}
.sidebar a:link {
color: #C9C2D6;
}
.sidebar a:visited {
color: #C9C2D6;
}
.sidebar a:hover {
color: #F9B3D7;
}
.sidebar a:active {
color: #F9B3D7;
}
.about-box {
grid-area: 4 / 3 / 5 / 4;
background-color: #993759;
background-color: #581845;
color: #F9B3D7;
text-align: center;
margin: 15px;
padding: 5px;
margin-top: 0px;
padding-bottom: 15px;
}
.twitter-box {
grid-area: 5 / 3 / 6 / 4;
background-color: #faa275;
background-color: #581845;
color: #F9B3D7;
text-align: center;
margin: 15px;
padding: 5px;
padding-bottom: 15px;
}
.latest {
grid-area: 6 / 3 / 7 / 4;
background-color: #ff8c61;
background-color: #581845;
color: #F9B3D7;
text-align: center;
list-style-position: inside;
margin: 15px;
padding: 5px;
}
.latest-text {
background-color: #512806;
text-align: left;
list-style-position: inside;
padding: 5px;
}
.disclosure {
grid-area: 7 / 3 / 8 / 4;
background-color: #ce6a85;
background-color: #581845;
color: #F9B3D7;
text-align: center;
margin: 15px;
padding: 5px;
padding-bottom: 15px;
}
.footer-row {
grid-area: 8 / 1 / 9 / 5;
background-color: #A8577E;
grid-area: 5 / 1 / 6 / 5;
background-color: #080410;
}
.footer-content {
background-color: pink;
background-color: #080410;
color: #F9B3D7;
padding-top: 5px;
padding-right: 25px;
box-shadow: 0 100vh 0 100vh #581845;
+96 -79
View File
@@ -6,22 +6,7 @@
a {
text-decoration: none;
}
a:link {
color: red;
}
a:visited {
color: hotpink;
}
a:hover {
color: green;
}
a:active {
color: blue;
}
mark {
background-color: #900C3F;
color: hotpink;
}
ul { list-style-position: inside; }
.grid {
@@ -38,16 +23,20 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:center;
align-items: center;
background-color: #3B429F;
background-color: #900C3F;
}
.blessfrey-logo { grid-area: 1 / 2 / 2 / 4; }
.blessfrey-logo {
grid-area: 1 / 2 / 2 / 4;
padding-top: 5px;
color: #FBDAEC;
}
/* navigation pane */
.nav-row {
grid-area: 2 / 1 / 3 / 5;
background-color: #AA7DCE;
background-color: #900C3F;
}
.nav-grid {
@@ -58,18 +47,16 @@ ul { list-style-position: inside; }
display: grid;
grid-template-columns: auto repeat(4, 70px) auto;
grid-template-rows: 90px;
grid-column-gap: 8px;
grid-column-gap: 17px;
grid-row-gap: 0px;
align-items: end;
justify-items: center;
}
.nav-bar {
grid-area: 1 / 1 / 2 / 7;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
background-image: url(../img/ele/navbar.png);
height: 86px;
width: 800px;
@@ -79,135 +66,165 @@ ul { list-style-position: inside; }
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
position: relative;
}
.nav-game {
grid-area: 1 / 3 / 2 / 4;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
position: relative;
}
.nav-diary {
grid-area: 1 / 4 / 2 / 5;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
position: relative;
}
.nav-presskit {
grid-area: 1 / 5 / 2 / 6;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
position: relative;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%)
}
.button:hover {
background-color: #723777;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link a {
font-size: 18px;
}
.nav-link a:link {
color: #66C7F4;
}
.nav-link a:visited {
color: #CB9CF2;
}
.nav-link a:hover {
color: #F9B3D7;
}
.nav-link a:active {
color: #f463ad;
}
/* Body */
.body-row {
grid-area: 3 / 1 / 5 / 5;
background-color: #b56c4d;
background-color: #080410;
}
.diary-entry {
grid-area: 3 / 2 / 4 / 3;
background-color: #aa2055;
padding: 5px;
background-color: #C9C2D6;
color: #080410;
padding: 20px;
margin-top: 40px;
margin-bottom: 30px;
}
.sidebar (
.sidebar {
grid-area: 3 / 3 / 5 / 4;
background-color: #b56c4d;
display: grid;
grid-template-columns: auto;
grid-template-rows: repeat(4, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
)
align-content: start;
padding-left: 7px;
margin-top: 40px;
}
.sidebar a:link {
color: #C9C2D6;
}
.sidebar a:visited {
color: #C9C2D6;
}
.sidebar a:hover {
color: #F9B3D7;
}
.sidebar a:active {
color: #F9B3D7;
}
.about-box {
grid-area: 1 / 1 / 2 / 2;
background-color: #993759;
background-color: #581845;
color: #F9B3D7;
text-align: center;
margin: 15px;
padding: 5px;
margin-top: 0px;
padding-bottom: 15px;
}
.twitter-box {
grid-area: 2 / 1 / 3 / 2;
background-color: #faa275;
background-color: #581845;
color: #F9B3D7;
text-align: center;
margin: 15px;
padding: 5px;
padding-bottom: 15px;
}
.latest {
grid-area: 3 / 1 / 4 / 2;
background-color: #ff8c61;
background-color: #581845;
color: #F9B3D7;
text-align: center;
list-style-position: inside;
margin: 15px;
padding: 5px;
}
.latest-text {
background-color: #512806;
text-align: left;
list-style-position: inside;
padding: 5px;
}
.disclosure {
grid-area: 4 / 1 / 5 / 2;
background-color: #ce6a85;
background-color: #581845;
color: #F9B3D7;
text-align: center;
margin: 15px;
padding: 5px;
padding-bottom: 15px;
}
.recommend {
grid-area: 4 / 2 / 5 / 3;
background-color: #F5D7E3;
background-color: #080410;
color: #F9B3D7;
display: grid;
grid-template-columns: auto repeat(3, 100px) auto;
grid-template-rows: auto;
grid-template-columns: auto auto auto;
grid-template-rows: auto auto;
grid-column-gap: 0px;
grid-row-gap: 0px;
padding: 5px;
}
.more { grid-area: 1 / 1 / 2 / 4; }
.rec-box { grid-area: 2 / 2 / 3 / 3; }
.more { grid-area: 1 / 1 / 2 / 6; }
.snip1 { grid-area: 2 / 2 / 3 / 3; }
.snip2 { grid-area: 2 / 3 / 3 / 4; }
.snip3 { grid-area: 2 / 4 / 3 / 5; }
.snip {
width: 100px;
float: left;
margin: 50px;
}
.footer-row {
grid-area: 5 / 1 / 6 / 5;
background-color: #A8577E;
background-color: #080410;
}
.footer-content {
background-color: #5c374c;
background-color: #080410;
color: #F9B3D7;
padding-top: 5px;
padding-right: 25px;
box-shadow: 0 100vh 0 100vh #581845;
+47 -58
View File
@@ -1,31 +1,19 @@
* {
padding:0;
margin:0;
font-family: trebuchet ms; arial; calibri; gill sans; helvetica neue; candara; geneva; verdana; sans-serif;
}
a {
text-decoration: none;
}
a:link {
color: red;
}
a:visited {
color: hotpink;
}
a:hover {
color: green;
}
a:active {
color: blue;
}
mark {
background-color: #900C3F;
color: hotpink;
}
ul { list-style-position: inside; }
.textbox {
margin: 20px;
padding: 20px;
background-color: #C9C2D6;
color: #080410;
}
.grid {
@@ -42,27 +30,31 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:center;
align-items: center;
background-color: #3B429F;
background-color: #900C3F;
}
.blessfrey-logo { grid-area: 1 / 2 / 2 / 3; }
.blessfrey-logo {
grid-area: 1 / 2 / 2 / 3;
padding-top: 5px;
color: #FBDAEC;
}
/* navigation pane */
.nav-row {
grid-area: 2 / 1 / 3 / 4;
background-color: #AA7DCE;
background-color: #900C3F;
}
.nav-grid {
grid-area: 2 / 2 / 3 / 3;
display: flex;
flex-direction:column;
flex-direction:row;
justify-content:flex-end;
display: grid;
grid-template-columns: auto repeat(4, 70px) auto;
grid-template-rows: 90px;
grid-column-gap: 8px;
grid-column-gap: 17px;
grid-row-gap: 0px;
align-items: end;
justify-items: center;
@@ -83,6 +75,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-game {
grid-area: 1 / 3 / 2 / 4;
@@ -90,6 +83,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-diary {
grid-area: 1 / 4 / 2 / 5;
@@ -97,6 +91,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-presskit {
grid-area: 1 / 5 / 2 / 6;
@@ -104,41 +99,35 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-link {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%)
}
.nav-link a {
font-size: 18px;
}
.nav-link a:link {
color: #66C7F4;
}
.nav-link a:visited {
color: #CB9CF2;
}
.nav-link a:hover {
color: #F9B3D7;
}
.nav-link a:active {
color: #f463ad;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
.button:hover {
background-color: #723777;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
/* Body */
.body-row {
grid-area: 3 / 1 / 4 / 4;
background-color: #d08d11;
background-color: #080410;
}
.pages {
@@ -148,34 +137,34 @@ ul { list-style-position: inside; }
grid-template-rows: repeat(4, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
background-color: #F0565C;
background-color: #080410;
word-wrap: break-word;
}
.desc {
grid-area: 1 / 1 / 2 / 2;
background-color: #F45693;
background-color:;
}
.story {
grid-area: 2 / 1 / 3 / 2;
background-color: #D67476;
background-color:;
}
.system {
grid-area: 3 / 1 / 4 / 2;
background-color: #F0787E;
background-color:;
}
.graphics {
grid-area: 4 / 1 / 5 / 2;
background-color: #F75155;
background-color:;
}
.footer-row {
grid-area: 4 / 1 / 5 / 4;
background-color: green;
background-color: #900C3F;
}
.footer-content {
background-color: pink;
background-color: #581845;
padding-top: 5px;
text-align: right;
overflow: hidden;
+49 -50
View File
@@ -1,27 +1,12 @@
* {
padding:0;
margin:0;
font-family: trebuchet ms; arial; calibri; gill sans; helvetica neue; candara; geneva; verdana; sans-serif;
}
a {
text-decoration: none;
}
a:link {
color: red;
}
a:visited {
color: hotpink;
}
a:hover {
color: green;
}
a:active {
color: blue;
}
mark {
background-color: #900C3F;
color: hotpink;
}
.grid {
display: grid;
@@ -37,16 +22,20 @@ mark {
flex-direction:column;
justify-content:center;
align-items: center;
background-color: #DAF7A6;
background-color: #900C3F;
}
.blessfrey-logo { grid-area: 1 / 3 / 2 / 6; }
.blessfrey-logo {
grid-area: 1 / 3 / 2 / 6;
padding-top: 5px;
color: #FBDAEC;
}
/* navigation pane */
.nav-row {
grid-area: 2 / 1 / 3 / 8;
background-color: #FFC300;
background-color: #900C3F;
}
.nav-grid {
@@ -57,7 +46,7 @@ mark {
display: grid;
grid-template-columns: auto repeat(4, 70px) auto;
grid-template-rows: 90px;
grid-column-gap: 8px;
grid-column-gap: 17px;
grid-row-gap: 0px;
align-items: end;
justify-items: center;
@@ -77,6 +66,7 @@ mark {
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-game {
grid-area: 1 / 3 / 2 / 4;
@@ -84,6 +74,7 @@ mark {
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-diary {
grid-area: 1 / 4 / 2 / 5;
@@ -91,6 +82,7 @@ mark {
flex-direction: column;
justify-content: flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-presskit {
grid-area: 1 / 5 / 2 / 6;
@@ -98,43 +90,35 @@ mark {
flex-direction: column;
justify-content: flex-end;
padding-bottom: 3px;
position: relative;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%)
}
.button:hover {
background-color: #723777;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link a {
font-size: 18px;
}
.nav-link a:link {
color: #66C7F4;
}
.nav-link a:visited {
color: #CB9CF2;
}
.nav-link a:hover {
color: #F9B3D7;
}
.nav-link a:active {
color: #f463ad;
}
/* Body */
.body-row {
grid-area: 3 / 1 / 4 / 8;
background-color: #FF5733;
background-color: #080410;
}
.social {
@@ -144,7 +128,7 @@ mark {
.bg {
grid-area: 3 / 3 / 4 / 6;
background-color: #C70039;
background-color:;
background-image: url(../img/bg/homeBG.png);
width: 650px;
height: 457px;
@@ -168,6 +152,7 @@ mark {
display: flex;
flex-direction:column;
background-color: #581845;
color: #F9B3D7;
height: 85px;
overflow-y: scroll;
margin-right: 0px;
@@ -180,6 +165,19 @@ mark {
padding-left: 8px;
}
.news a:link {
color: #F9B3D7;
}
.news a:visited {
color: #F9B3D7;
}
.news a:hover {
color: #f463ad;
}
.news a:active {
color: #f463ad;
}
.headline {
margin-right: 0px;
margin-left: 0px;
@@ -193,6 +191,7 @@ mark {
.footer-content {
background-color: #581845;
color: #F9B3D7;
padding-top: 5px;
text-align: right;
overflow: hidden;
+41 -60
View File
@@ -1,31 +1,19 @@
* {
padding:0;
margin:0;
font-family: trebuchet ms; arial; calibri; gill sans; helvetica neue; candara; geneva; verdana; sans-serif;
}
a {
text-decoration: none;
}
a:link {
color: red;
}
a:visited {
color: hotpink;
}
a:hover {
color: green;
}
a:active {
color: blue;
}
mark {
background-color: #900C3F;
color: hotpink;
}
ul { list-style-position: inside; }
.textbox {
margin: 20px;
padding: 20px;
background-color: #C9C2D6;
color: #080410;
}
.grid {
@@ -42,16 +30,19 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:center;
align-items: center;
background-color: #3B429F;
background-color: #900C3F;
}
.blessfrey-logo { grid-area: 1 / 2 / 2 / 3; }
.blessfrey-logo { grid-area: 1 / 2 / 2 / 3;
padding-top: 5px;
color: #FBDAEC;
}
/* navigation pane */
.nav-row {
grid-area: 2 / 1 / 3 / 4;
background-color: #AA7DCE;
background-color: #900C3F;
}
.nav-grid {
@@ -62,7 +53,7 @@ ul { list-style-position: inside; }
display: grid;
grid-template-columns: auto repeat(4, 70px) auto;
grid-template-rows: 90px;
grid-column-gap: 8px;
grid-column-gap: 17px;
grid-row-gap: 0px;
align-items: end;
justify-items: center;
@@ -83,6 +74,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-game {
grid-area: 1 / 3 / 2 / 4;
@@ -90,6 +82,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-diary {
grid-area: 1 / 4 / 2 / 5;
@@ -97,6 +90,7 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-presskit {
grid-area: 1 / 5 / 2 / 6;
@@ -104,41 +98,36 @@ ul { list-style-position: inside; }
flex-direction:column;
justify-content:flex-end;
padding-bottom: 3px;
position: relative;
}
.nav-link {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%)
}
.nav-link a {
font-size: 18px;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
.nav-link a:link {
color: #66C7F4;
}
.nav-link a:visited {
color: #CB9CF2;
}
.nav-link a:hover {
color: #F9B3D7;
}
.nav-link a:active {
color: #f463ad;
}
.button:hover {
background-color: #723777;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
/* Body */
.body-row {
grid-area: 3 / 1 / 4 / 4;
background-color: orange;
background-color: #080410;
}
.pages {
@@ -148,56 +137,48 @@ ul { list-style-position: inside; }
grid-template-rows: repeat(9, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
background-color: #F0565C;
background-color: #;
word-wrap: break-word;
}
.fact {
grid-area: 1 / 1 / 2 / 2;
background-color: #F45693;
}
.desc {
grid-area: 2 / 1 / 3 / 2;
background-color: #9b0017;
}
.features {
grid-area: 3 / 1 / 4 / 2;
background-color: #f84c09;
}
.dev {
grid-area: 4 / 1 / 5 / 2;
background-color: #900C3F;
}
.videos {
grid-area: 5 / 1 / 6 / 2;
background-color: #ff8600;
}
.graphics {
grid-area: 6 / 1 / 7 / 2;
background-color: #b61643;
justify-content:center;
align-items: center;
}
.contact {
grid-area: 7 / 1 / 8 / 2;
background-color: #4f000b;
}
.credits {
grid-area: 8 / 1 / 9 / 2;
background-color: #720026;
}
.permissions {
grid-area: 9 / 1 / 10 / 2;
background-color: #fc60a8;
}
.footer-row {
grid-area: 4 / 1 / 5 / 4;
background-color: green;
background-color: #080410;
}
.footer-content {
background-color: pink;
background-color: #080410;
color: #F9B3D7;
padding-top: 5px;
text-align: right;
overflow: hidden;
-45
View File
@@ -1,45 +0,0 @@
/* blessfrey css by chimchooree, written in xed */
body {
color: #4f000b;
font-family: lato; calibri; arial; sans-serif;
font-size: 20px;
background-color: #ff7f51;
background-image: url(https://i.imgur.com/Pp71lWt.png);
/*background-image: url(/res/img/medallion.png);*/
background-size: 70px 70px;
background-repeat: repeat;
margin-right: 0px;
margin-left: 0px;
margin-top: 0px;
margin-bottom: 0px;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 94px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
.button:hover {
background-color: #723777;
color: #ce50ce;
border: 2px solid #f7dd8e;
height: 48px;
width: 94px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
-186
View File
@@ -1,186 +0,0 @@
* {
padding:0;
margin:0;
}
a:link {
color: red;
}
a:visited {
color: hotpink;
}
a:hover {
color: green;
}
a:active {
color: blue;
}
mark {
background-color: #900C3F;
color: hotpink;
}
ul { list-style-position: inside; }
.textbox {
margin: 20px;
}
.grid {
height: 100vh;
width: 100vw;
display: grid;
grid-template-columns: auto 800px auto;
grid-template-rows: 25px 90px 1fr 100px;
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.whitespace {
grid-area: 1 / 1 / 2 / 4;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
background-color: #3B429F;
}
.blessfrey-logo { grid-area: 1 / 2 / 2 / 3; }
/* navigation pane */
.nav-row {
grid-area: 2 / 1 / 3 / 4;
background-color: #AA7DCE;
}
.nav-grid {
grid-area: 2 / 2 / 3 / 3;
display: flex;
flex-direction:column;
justify-content:flex-end;
display: grid;
grid-template-columns: auto repeat(4, 70px) auto;
grid-template-rows: 90px;
grid-column-gap: 8px;
grid-row-gap: 0px;
align-items: end;
justify-items: center;
}
.nav-bar {
grid-area: 1 / 1 / 2 / 7;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
background-image: url(../img/ele/navbar.png);
height: 86px;
width: 800px;
}
.nav-index {
grid-area: 1 / 2 / 2 / 3;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
}
.nav-game {
grid-area: 1 / 3 / 2 / 4;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
}
.nav-diary {
grid-area: 1 / 4 / 2 / 5;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
}
.nav-presskit {
grid-area: 1 / 5 / 2 / 6;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: bottom;
padding-bottom: 3px;
}
/* nav buttons */
.button {
background-color: #000000;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
.button:hover {
background-color: #723777;
color: #ce50ce;
font-size: 16px;
border: 2px solid #f7dd8e;
height: 48px;
width: 70px;
text-decoration: none;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
.body-row {
grid-area: 3 / 1 / 4 / 4;
background-color: #d08d11;
}
.pages {
grid-area: 3 / 2 / 4 / 3;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: repeat(4, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
background-color: #F0565C;
word-wrap: break-word;
}
.desc {
grid-area: 1 / 1 / 2 / 2;
background-color: #F45693;
}
.story {
grid-area: 2 / 1 / 3 / 2;
background-color: #D67476;
}
.system {
grid-area: 3 / 1 / 4 / 2;
background-color: #F0787E;
}
.graphics {
grid-area: 4 / 1 / 5 / 2;
background-color: #F75155;
}
.footer-row {
grid-area: 4 / 1 / 5 / 4;
background-color: #EC424A;
text-align: right;
padding-top: 5px;
padding-right: 25px;
}
.footer {
background-color: #060d1a;
}
+288
View File
@@ -0,0 +1,288 @@
/******************************************************************************/
// SIMPLE INPUT RECORD/PLAYBACK
// (c) 2015 Brian Provinciano
//
// You are free to use this code for your own purposes, no strings attached.
//
// This is a very basic sample to record and playback button input.
// It's most useful when activated on startup, deactivated on shutdown for
// global button recording/playback.
//
// For details on more advanced implementations, see my GDC 2015 session:
// -> Automated Testing and Instant Replays in Retro City Rampage
// The slides and full video will be available on the GDC Vault at a later date.
/******************************************************************************/
/******************************************************************************/
// wrap it so it can be conditionally compiled in.
// for example, set INPUTREPLAY_CAN_RECORD to 1 to play the game and record the input, set it to 0 when done
// INPUTREPLAY_CAN_RECORD takes priority over INPUTREPLAY_CAN_PLAYBACK
#define INPUTREPLAY_CAN_PLAYBACK 1
#define INPUTREPLAY_CAN_RECORD 1
#define INPUTREPLAY_INCLUDED (INPUTREPLAY_CAN_PLAYBACK || INPUTREPLAY_CAN_RECORD)
/******************************************************************************/
#if INPUTREPLAY_INCLUDED
#define INPUT_BUTTONS_TOTAL 32 // up to 32
#define MAX_REC_LEN 0x8000 // the buffer size for storing RLE compressed button input (x each button)
/******************************************************************************/
typedef struct
{
unsigned short *rledata;
unsigned short rlepos;
unsigned short datalen;
unsigned short currentrun;
} ButtonRec;
/******************************************************************************/
// if INPUTREPLAY_CAN_RECORD, as soon as this class is instanced, it will automatically record when instanced/created.
// statically creating this as a global will blanket the entire play session
//
// if INPUTREPLAY_CAN_PLAYBACK, playback will begin as soon as LoadFile() is used
//
class SimpleInputRec
{
unsigned int m_buttonstate;
ButtonRec m_buttons[INPUT_BUTTONS_TOTAL];
bool m_bRecording;
unsigned char* m_data;
public:
SimpleInputRec()
: m_buttonstate(0)
, m_data(NULL)
, m_bRecording(true)
{
}
~SimpleInputRec()
{
if(m_data)
{
#if INPUTREPLAY_CAN_RECORD
WriteToFile();
#endif
delete[] m_data;
}
}
// run each frame before the game uses the live button input.
// when recording, it saves the live input
// during playback, it overwrites the live input
void Update(bool bForce = false);
// to start a playback
#if INPUTREPLAY_CAN_PLAYBACK
bool LoadFile(KSTR szfilename);
#endif
// to finish recording
#if INPUTREPLAY_CAN_RECORD
void WriteToFile();
#endif
};
/******************************************************************************/
void SimpleInputRec::Update(bool bForce)
{
#if INPUTREPLAY_CAN_RECORD
if(m_bRecording)
{
unsigned int newbuttons = nesinput.buttons;
// allocate and initialize
if(!m_data)
{
m_data = new unsigned char[INPUT_BUTTONS_TOTAL * MAX_REC_LEN * 2];
unsigned short* dataptr = (unsigned short*)m_data;
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
btn.rledata = dataptr;
dataptr += MAX_REC_LEN;
btn.rlepos = 0;
btn.currentrun = 0;
btn.datalen = MAX_REC_LEN;
}
}
// write RLE button bit streams
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
if(bForce || (newbuttons&(1<<i)) != (m_buttonstate&(1<<i)) || btn.currentrun==0x7FFF)
{
if(btn.currentrun)
{
int bit = (m_buttonstate>>i)&1;
btn.rledata[btn.rlepos++] = (bit<<15) | btn.currentrun;
}
btn.currentrun = bForce? 0 : 1;
}
else
{
++btn.currentrun;
}
}
m_buttonstate = newbuttons;
}
#endif
#if INPUTREPLAY_CAN_PLAYBACK
if(!m_bRecording)
{
bool bIsRunning = false;
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
if(btn.rledata)
{
bIsRunning = true;
if(!btn.currentrun && btn.rlepos<btn.datalen)
{
unsigned short value = btn.rledata[btn.rlepos++];
btn.currentrun = value&0x7FFF;
m_buttonstate &= ~(1<<i);
m_buttonstate |= ((value>>15)&1)<<i;
--btn.currentrun;
}
else
{
if(btn.currentrun)
{
--btn.currentrun;
}
else if(btn.rlepos==btn.datalen)
{
btn.rledata = NULL;
}
}
}
}
if(bIsRunning)
{
// TODO: this is where you can overwrite the live button state to the prerecorded one
systeminput.buttons = m_buttonstate;
}
}
#endif
}
/******************************************************************************/
#if INPUTREPLAY_CAN_PLAYBACK
bool SimpleInputRec::LoadFile(KSTR szfilename)
{
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
btn.datalen = 0;
btn.rledata = NULL;
btn.rlepos = 0;
btn.currentrun = 0;
}
delete[] m_data;
m_bRecording = false;
if(fcheckexists(szfilename))
{
FILE* f = fopen(szfilename, "wb");
if(f)
{
// WARNING: You'll want to do more error checking, but just to keep it simple...
fseek(f,0,SEEK_END);
unsigned long filelen = ftell(f);
fseek(f,0,SEEK_SET);
m_data = new unsigned char[filelen];
fread(m_data, 1, filelen, f);
fclose(f);
unsigned char* bufptr = m_data;
int numbuttons = bufptr[0] | (bufptr[1]<<8);
bufptr += 2;
if(numbuttons <= INPUT_BUTTONS_TOTAL)
{
for(int i=0; i<numbuttons; ++i)
{
ButtonRec& btn = m_buttons[i];
btn.datalen = bufptr[0] | (bufptr[1]<<8);
bufptr += 2;
}
for(int i=0; i<numbuttons; ++i)
{
ButtonRec& btn = m_buttons[i];
if(btn.datalen)
{
// WARNING: Endian dependent for simplcicity
btn.rledata = (unsigned short*)bufptr;
bufptr += btn.datalen*2;
}
}
}
return true;
}
}
return false;
}
#endif
/******************************************************************************/
#if INPUTREPLAY_CAN_RECORD
void SimpleInputRec::WriteToFile()
{
if(m_data && m_bRecording)
{
Update(true);
FILE* f = fopen("_autorec.rec","wb");
if(f)
{
fputc(INPUT_BUTTONS_TOTAL, f);
fputc(0, f);
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
fputc((unsigned char)btn.rlepos, f);
fputc(btn.rlepos >> 8, f);
}
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
// WARNING: Endian dependent for simplcicity
fwrite(btn.rledata, 2, btn.rlepos, f);
}
fclose(f);
}
}
}
#endif
/******************************************************************************/
#endif // INPUTREPLAY_INCLUDED
@@ -0,0 +1,287 @@
/******************************************************************************/
// SIMPLE INPUT RECORD/PLAYBACK
// (c) 2015 Brian Provinciano
//
// You are free to use this code for your own purposes, no strings <code>attached.
//
// This is a very basic sample to record and playback button input.
// It's most useful when activated on startup, deactivated on shutdown for
// global button recording/playback.
//
// For details on more advanced implementations, see my GDC 2015 session:
// -> Automated Testing and Instant Replays in Retro City Rampage
// The slides and full video will be available on the GDC Vault at a later date.
/******************************************************************************/
/******************************************************************************/
// wrap it so it can be conditionally compiled in.
// for example, set INPUTREPLAY_CAN_RECORD to 1 to play the game and record the input, set it to 0 when done
// INPUTREPLAY_CAN_RECORD takes priority over INPUTREPLAY_CAN_PLAYBACK
#define INPUTREPLAY_CAN_PLAYBACK 1
#define INPUTREPLAY_CAN_RECORD 1
#define INPUTREPLAY_INCLUDED (INPUTREPLAY_CAN_PLAYBACK || INPUTREPLAY_CAN_RECORD)
/******************************************************************************/
#if INPUTREPLAY_INCLUDED
#define INPUT_BUTTONS_TOTAL 32 // up to 32
#define MAX_REC_LEN 0x8000 // the buffer size for storing RLE compressed button input (x each button)
/******************************************************************************/
typedef struct
{
unsigned short *rledata;
unsigned short rlepos;
unsigned short datalen;
unsigned short currentrun;
} ButtonRec;
/******************************************************************************/
// if INPUTREPLAY_CAN_RECORD, as soon as this class is instanced, it will automatically record when instanced/created.
// statically creating this as a global will blanket the entire play session
//
// if INPUTREPLAY_CAN_PLAYBACK, playback will begin as soon as LoadFile() is used
//
class SimpleInputRec
{
unsigned int m_buttonstate;
ButtonRec m_buttons[INPUT_BUTTONS_TOTAL];
bool m_bRecording;
unsigned char* m_data;
public:
SimpleInputRec()
: m_buttonstate(0)
, m_data(NULL)
, m_bRecording(true)
{
}
~SimpleInputRec()
{
if(m_data)
{
#if INPUTREPLAY_CAN_RECORD
WriteToFile();
#endif
delete[] m_data;
}
}
// run each frame before the game uses the live button input.
// when recording, it saves the live input
// during playback, it overwrites the live input
void Update(bool bForce = false);
// to start a playback
#if INPUTREPLAY_CAN_PLAYBACK
bool LoadFile(KSTR szfilename);
#endif
// to finish recording
#if INPUTREPLAY_CAN_RECORD
void WriteToFile();
#endif
};
/******************************************************************************/
void SimpleInputRec::Update(bool bForce)
{
#if INPUTREPLAY_CAN_RECORD
if(m_bRecording)
{
unsigned int newbuttons = nesinput.buttons;
// allocate and initialize
if(!m_data)
{
m_data = new unsigned char[INPUT_BUTTONS_TOTAL * MAX_REC_LEN * 2];
unsigned short* dataptr = (unsigned short*)m_data;
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
btn.rledata = dataptr;
dataptr += MAX_REC_LEN;
btn.rlepos = 0;
btn.currentrun = 0;
btn.datalen = MAX_REC_LEN;
}
}
// write RLE button bit streams
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
if(bForce || (newbuttons&(1<<i)) != (m_buttonstate&(1<<i)) || btn.currentrun==0x7FFF)
{
if(btn.currentrun)
{
int bit = (m_buttonstate>>i)&1;
btn.rledata[btn.rlepos++] = (bit<<15) | btn.currentrun;
}
btn.currentrun = bForce? 0 : 1;
}
else
{
++btn.currentrun;
}
}
m_buttonstate = newbuttons;
}
#endif
#if INPUTREPLAY_CAN_PLAYBACK
if(!m_bRecording)
{
bool bIsRunning = false;
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
if(btn.rledata)
{
bIsRunning = true;
if(!btn.currentrun && btn.rlepos<btn.datalen)
{
unsigned short value = btn.rledata[btn.rlepos++];
btn.currentrun = value&0x7FFF;
m_buttonstate &= ~(1<<i);
m_buttonstate |= ((value>>15)&1)<<i;
--btn.currentrun;
}
else
{
if(btn.currentrun)
{
--btn.currentrun;
}
else if(btn.rlepos==btn.datalen)
{
btn.rledata = NULL;
}
}
}
}
if(bIsRunning)
{
// TODO: this is where you can overwrite the live button state to the prerecorded one
systeminput.buttons = m_buttonstate;
}
}
#endif
}
/******************************************************************************/
#if INPUTREPLAY_CAN_PLAYBACK
bool SimpleInputRec::LoadFile(KSTR szfilename)
{
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
btn.datalen = 0;
btn.rledata = NULL;
btn.rlepos = 0;
btn.currentrun = 0;
}
delete[] m_data;
m_bRecording = false;
if(fcheckexists(szfilename))
{
FILE* f = fopen(szfilename, "wb");
if(f)
{
// WARNING: You'll want to do more error checking, but just to keep it simple...
fseek(f,0,SEEK_END);
unsigned long filelen = ftell(f);
fseek(f,0,SEEK_SET);
m_data = new unsigned char[filelen];
fread(m_data, 1, filelen, f);
fclose(f);
unsigned char* bufptr = m_data;
int numbuttons = bufptr[0] | (bufptr[1]<<8);
bufptr += 2;
if(numbuttons <= INPUT_BUTTONS_TOTAL)
{
for(int i=0; i<numbuttons; ++i)
{
ButtonRec& btn = m_buttons[i];
btn.datalen = bufptr[0] | (bufptr[1]<<8);
bufptr += 2;
}
for(int i=0; i<numbuttons; ++i)
{
ButtonRec& btn = m_buttons[i];
if(btn.datalen)
{
// WARNING: Endian dependent for simplcicity
btn.rledata = (unsigned short*)bufptr;
bufptr += btn.datalen*2;
}
}
}
return true;
}
}
return false;
}
#endif
/******************************************************************************/
#if INPUTREPLAY_CAN_RECORD
void SimpleInputRec::WriteToFile()
{
if(m_data && m_bRecording)
{
Update(true);
FILE* f = fopen("_autorec.rec","wb");
if(f)
{
fputc(INPUT_BUTTONS_TOTAL, f);
fputc(0, f);
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
fputc((unsigned char)btn.rlepos, f);
fputc(btn.rlepos >> 8, f);
}
for(int i=0; i<INPUT_BUTTONS_TOTAL; ++i)
{
ButtonRec& btn = m_buttons[i];
// WARNING: Endian dependent for simplcicity
fwrite(btn.rledata, 2, btn.rlepos, f);
}
fclose(f);
}
}
}
#endif
/******************************************************************************/
#endif // INPUTREPLAY_INCLUDED
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB