Browse Source

bigTextures are now defined in clientConfig, moved renderLoginBG to its own file and changed the login bg design

tags/v0.8.0
Shaun 3 years ago
parent
commit
98b8a41904
3 changed files with 91 additions and 60 deletions
  1. +77
    -0
      src/client/js/rendering/renderLoginBackground.js
  2. +8
    -60
      src/client/js/rendering/renderer.js
  3. +6
    -0
      src/server/config/clientConfig.js

+ 77
- 0
src/client/js/rendering/renderLoginBackground.js View File

@@ -0,0 +1,77 @@
define([
], function (

) {
//5 3 4 53
//6 0 1 54
//5 53 brighter
let mRandom = Math.random.bind(Math);

const renderLoginBackground = renderer => {
const { width, height, layers } = renderer;

renderer.setPosition({
x: 0,
y: 0
}, true);

let w = Math.ceil(width / scale) + 1;
let h = Math.ceil(height / scale) + 1;

const midX = (w / 2) - 1;
const midY = (h / 2) - 2;

const rGrass = 10;
const rBeach = 2;
const rShallow = 3;

let container = layers.tileSprites;

for (let i = 0; i < w; i++) {
for (let j = 0; j < h; j++) {
let tile = 5;

let distance = Math.sqrt(Math.pow(i - midX, 2) + Math.pow(j - midY, 2));
if (distance < rGrass + (Math.random() * 3))
tile = 3;
else if (distance < rGrass + rBeach + (Math.random() * 3))
tile = 4;
else if (distance < rGrass + rBeach + rShallow + (Math.random() * 2))
tile = 53;

let alpha = mRandom();

if ([5, 53].indexOf(tile) > -1)
alpha *= 2;

if (Math.random() < 0.3) {
tile = {
5: 6,
3: 0,
4: 1,
53: 54
}[tile];
}
let sprite = new PIXI.Sprite(renderer.getTexture('sprites', tile));

alpha = Math.min(Math.max(0.15, alpha), 0.65);

sprite.alpha = alpha;
sprite.position.x = i * scale;
sprite.position.y = j * scale;
sprite.width = scale;
sprite.height = scale;

if (mRandom() < 0.5) {
sprite.position.x += scale;
sprite.scale.x = -scaleMult;
}

container.addChild(sprite);
}
}
};

return renderLoginBackground;
});

+ 8
- 60
src/client/js/rendering/renderer.js View File

@@ -7,7 +7,8 @@ define([
'js/rendering/particles',
'js/rendering/shaders/outline',
'js/rendering/spritePool',
'js/system/globals'
'js/system/globals',
'js/rendering/renderLoginBackground'
], function (
resources,
events,
@@ -17,7 +18,8 @@ define([
particles,
shaderOutline,
spritePool,
globals
globals,
renderLoginBackground
) {
let pixi = PIXI;
let mRandom = Math.random.bind(Math);
@@ -164,61 +166,7 @@ define([
buildTitleScreen: function () {
this.titleScreen = true;

this.setPosition({
x: 0,
y: 0
}, true);

let w = Math.ceil(this.width / scale) + 1;
let h = Math.ceil(this.height / scale) + 1;

let container = this.layers.tileSprites;

for (let i = 0; i < w; i++) {
let ii = i / 10;
for (let j = 0; j < h; j++) {
let roll = Math.sin(((j * 0.2) % 5) + Math.cos(ii % 8));

let tile = 5;
if (roll < -0.2)
tile = 3;
else if (roll < 0.2)
tile = 4;
else if (roll < 0.5)
tile = 53;

let alpha = mRandom();

if ([5, 53].indexOf(tile) > -1)
alpha *= 2;

alpha = Math.min(Math.max(0.15, alpha), 0.65);

if (mRandom() < 0.35) {
tile = {
5: 6,
3: 0,
4: 1,
53: 54
}[tile];
}

let sprite = new pixi.Sprite(this.getTexture('sprites', tile));

sprite.alpha = alpha;
sprite.position.x = i * scale;
sprite.position.y = j * scale;
sprite.width = scale;
sprite.height = scale;

if (mRandom() < 0.5) {
sprite.position.x += scale;
sprite.scale.x = -scaleMult;
}

container.addChild(sprite);
}
}
renderLoginBackground(this);
},

onResize: function () {
@@ -733,8 +681,8 @@ define([
h = obj.h / scaleMult;
}

let bigSheets = ['bosses', 'bigObjects', 'animBigObjects'];
if (bigSheets.includes(sheetName) || sheetName.includes('bosses') || sheetName.includes('BigObjects')) {
let bigSheets = globals.clientConfig.bigTextures;
if (bigSheets.includes(sheetName)) {
obj.layerName = 'mobs';
w = 24;
h = 24;
@@ -749,7 +697,7 @@ define([
sprite.height = obj.h || scale;
sprite.visible = obj.has('visible') ? obj.visible : true;

if ((bigSheets.indexOf(obj.sheetName) > -1) || (obj.sheetName.indexOf('bosses') > -1)) {
if (bigSheets.includes(sheetName)) {
sprite.x -= scale;
sprite.y -= (scale * 2);
}


+ 6
- 0
src/server/config/clientConfig.js View File

@@ -25,6 +25,12 @@ const config = {
'images/skins/0010.png',
'images/skins/0012.png'
],
//Textures that are 24x24. The renderer needs to know this
bigTextures: [
'animBigObjects',
'bigObjects',
'bosses'
],
uiLoginList: [
'login'
],


Loading…
Cancel
Save