Reorganized project to fit Maven's directory structure.
@ -1,26 +0,0 @@
|
||||
package engine.loader;
|
||||
|
||||
import engine.graphics.Texture;
|
||||
|
||||
public class ControllerPromptTextureLoader {
|
||||
|
||||
public Texture up;
|
||||
public Texture down;
|
||||
public Texture left;
|
||||
public Texture right;
|
||||
public Texture X;
|
||||
public Texture A;
|
||||
public Texture Y;
|
||||
public Texture B;
|
||||
|
||||
public ControllerPromptTextureLoader(){
|
||||
up = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Up.png", 0);
|
||||
down = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Down.png", 0);
|
||||
left = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Left.png", 0);
|
||||
right = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Right.png", 0);
|
||||
A = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_A.png", 0);
|
||||
B = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_B.png", 0);
|
||||
X = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_X.png", 0);
|
||||
Y = new Texture("textures/keyboard_pad_glyphs/xbox/XboxOne_Y.png", 0);
|
||||
}
|
||||
}
|
@ -26,7 +26,7 @@ public class Texture {
|
||||
private int load(String path) {
|
||||
int[] pixels = null;
|
||||
try {
|
||||
BufferedImage image = ImageIO.read(new FileInputStream(path));
|
||||
BufferedImage image = ImageIO.read(getClass().getResourceAsStream(path));
|
||||
width = image.getWidth();
|
||||
height = image.getHeight();
|
||||
pixels = new int[width * height];
|
@ -0,0 +1,26 @@
|
||||
package engine.loader;
|
||||
|
||||
import engine.graphics.Texture;
|
||||
|
||||
public class ControllerPromptTextureLoader {
|
||||
|
||||
public Texture up;
|
||||
public Texture down;
|
||||
public Texture left;
|
||||
public Texture right;
|
||||
public Texture X;
|
||||
public Texture A;
|
||||
public Texture Y;
|
||||
public Texture B;
|
||||
|
||||
public ControllerPromptTextureLoader(){
|
||||
up = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Up.png", 0);
|
||||
down = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Down.png", 0);
|
||||
left = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Left.png", 0);
|
||||
right = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_Dpad_Right.png", 0);
|
||||
A = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_A.png", 0);
|
||||
B = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_B.png", 0);
|
||||
X = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_X.png", 0);
|
||||
Y = new Texture("/textures/keyboard_pad_glyphs/xbox/XboxOne_Y.png", 0);
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ public class Hitbox extends ObjectGl{
|
||||
|
||||
public Hitbox(float z, float w, float h, float size, Vector3f color) {
|
||||
super(z, w, h, size, null, color);
|
||||
this.setShader("shaders/ObjectGlColor/vert.glsl", "shaders/StylishShaders/HitboxFrag.glsl");
|
||||
this.setShader("/shaders/ObjectGlColor/vert.glsl", "/shaders/StylishShaders/HitboxFrag.glsl");
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ public class HorizontalProgressBar extends ObjectGl {
|
||||
this.current = current;
|
||||
this.leftToRight = leftToRight ? 1 : 0;
|
||||
this.useHeight = false;
|
||||
this.setShader("shaders/StylishShaders/BasicNoTexVert.glsl", "shaders/StylishShaders/HorizontalProgressBarFrag.glsl");
|
||||
this.setShader("/shaders/StylishShaders/BasicNoTexVert.glsl", "/shaders/StylishShaders/HorizontalProgressBarFrag.glsl");
|
||||
}
|
||||
|
||||
public void setCurrent(float newCurrent) {
|
@ -79,13 +79,13 @@ public class ObjectGl {
|
||||
|
||||
// use different shader for each set of option
|
||||
if (tex == null && color == null){
|
||||
this.shader = new Shader("shaders/ObjectGl/vert.glsl","shaders/ObjectGl/frag.glsl");
|
||||
this.shader = new Shader("/shaders/ObjectGl/vert.glsl","/shaders/ObjectGl/frag.glsl");
|
||||
} else if (tex == null){
|
||||
this.shader = new Shader("shaders/ObjectGlColor/vert.glsl","shaders/ObjectGlColor/frag.glsl");
|
||||
this.shader = new Shader("/shaders/ObjectGlColor/vert.glsl","/shaders/ObjectGlColor/frag.glsl");
|
||||
} else if (color == null){
|
||||
this.shader = new Shader("shaders/ObjectGlTex/vert.glsl","shaders/ObjectGlTex/frag.glsl");
|
||||
this.shader = new Shader("/shaders/ObjectGlTex/vert.glsl","/shaders/ObjectGlTex/frag.glsl");
|
||||
} else {
|
||||
this.shader = new Shader("shaders/ObjectGlTexColor/vert.glsl","shaders/ObjectGlTexColor/frag.glsl");
|
||||
this.shader = new Shader("/shaders/ObjectGlTexColor/vert.glsl","/shaders/ObjectGlTexColor/frag.glsl");
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class Sprite extends ObjectGl {
|
||||
* Ajoute une ombre sous le personnage
|
||||
*/
|
||||
public void setShadow(){
|
||||
this.shadow = new ObjectGl(this.zPos, this.width, this.height * 0.3f, this.scalingFactor, "textures/shadow.png", null);
|
||||
this.shadow = new ObjectGl(this.zPos, this.width, this.height * 0.3f, this.scalingFactor, "/textures/shadow.png", null);
|
||||
this.shadow.translate(new Vector3f(this.xPos, this.yPos - this.height * 4.3f, -8f)); // 8 ça fait bcp mais y du z-fighting sinon jsp pk
|
||||
}
|
||||
|
@ -103,8 +103,8 @@ public class Text {
|
||||
}
|
||||
|
||||
private Letter charToObjectGl(char a, int index){
|
||||
Letter objectGl = new Letter(this.zPos, 1.0f, 1.0f, this.size, "textures/dejavu10x10_gs_tc.png", null, index);
|
||||
objectGl.setShader("shaders/StylishShaders/BasicVert.glsl","shaders/StylishShaders/TextFrag.glsl");
|
||||
Letter objectGl = new Letter(this.zPos, 1.0f, 1.0f, this.size, "/textures/dejavu10x10_gs_tc.png", null, index);
|
||||
objectGl.setShader("/shaders/StylishShaders/BasicVert.glsl","/shaders/StylishShaders/TextFrag.glsl");
|
||||
ObjectGlSetCharWrap(a, objectGl);
|
||||
return objectGl;
|
||||
}
|
@ -2,6 +2,8 @@ package engine.utils;
|
||||
|
||||
import org.lwjgl.BufferUtils;
|
||||
|
||||
import engine.Engine;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.channels.SeekableByteChannel;
|
||||
@ -18,7 +20,7 @@ public class FileUtils {
|
||||
public static String loadAsString(String file){
|
||||
StringBuilder result = new StringBuilder();
|
||||
try {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(file));
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(Engine.class.getResourceAsStream(file)));
|
||||
String buffer = "";
|
||||
while ((buffer = reader.readLine()) != null) {
|
||||
result.append(buffer).append("\n");
|
@ -204,10 +204,10 @@ public class match {
|
||||
String pathToBG = "";
|
||||
switch (stage) {
|
||||
case "arena1":
|
||||
pathToBG = "textures/arena1.png";
|
||||
pathToBG = "/textures/arena1.png";
|
||||
break;
|
||||
default:
|
||||
pathToBG = "textures/arena1.png";
|
||||
pathToBG = "/textures/arena1.png";
|
||||
}
|
||||
|
||||
ObjectGl background = new ObjectGl(0f,1f,1f,2.5f, pathToBG, null);
|
||||
@ -221,22 +221,22 @@ public class match {
|
||||
switch (character1) {
|
||||
case "blue":
|
||||
p1 = CharacterBlue.generateCharBlue();
|
||||
pathp1 = "textures/Sprite_sans_grille_9comp.png";
|
||||
pathp1 = "/textures/Sprite_sans_grille_9comp.png";
|
||||
break;
|
||||
default:
|
||||
p1 = CharacterBlue.generateCharBlue();
|
||||
pathp1 = "textures/Sprite_sans_grille_9comp.png";
|
||||
pathp1 = "/textures/Sprite_sans_grille_9comp.png";
|
||||
break;
|
||||
}
|
||||
|
||||
switch (character2) {
|
||||
case "blue":
|
||||
p2 = CharacterBlue.generateCharBlue();
|
||||
pathp2 = "textures/Sprite_sans_grille_9comp.png";
|
||||
pathp2 = "/textures/Sprite_sans_grille_9comp.png";
|
||||
break;
|
||||
default:
|
||||
p2 = CharacterBlue.generateCharBlue();
|
||||
pathp2 = "textures/Sprite_sans_grille_9comp.png";
|
||||
pathp2 = "/textures/Sprite_sans_grille_9comp.png";
|
||||
break;
|
||||
}
|
||||
|
||||
@ -280,23 +280,23 @@ public class match {
|
||||
engine.add_uiElement(coordP2);
|
||||
// Barre de vie
|
||||
healthBarP1Obj = new HorizontalProgressBar(80f, 8.5f, 0.4f, 100f, p1.getCurrentHP(), p1.getMaxHP(), false);
|
||||
healthBarP1Obj.setShader("shaders/StylishShaders/BasicNoTexVert.glsl", "shaders/StylishShaders/HorizontalProgressBarGradientSquareFrag.glsl");
|
||||
healthBarP1Obj.setShader("/shaders/StylishShaders/BasicNoTexVert.glsl", "/shaders/StylishShaders/HorizontalProgressBarGradientSquareFrag.glsl");
|
||||
healthBarP1Obj.setUseHeight(true);
|
||||
healthBarP1Obj.useTime = true;
|
||||
healthBarP1 = new UIElement(healthBarP1Obj, 0.0138f, 0.980f, engine);
|
||||
healthBarP2Obj = new HorizontalProgressBar(80f, 8.5f, 0.4f, 100f, p2.getCurrentHP(), p2.getMaxHP(), true);
|
||||
healthBarP2Obj.setShader("shaders/StylishShaders/BasicNoTexVert.glsl", "shaders/StylishShaders/HorizontalProgressBarGradientSquareFrag.glsl");
|
||||
healthBarP2Obj.setShader("/shaders/StylishShaders/BasicNoTexVert.glsl", "/shaders/StylishShaders/HorizontalProgressBarGradientSquareFrag.glsl");
|
||||
healthBarP2Obj.setUseHeight(true);
|
||||
healthBarP2Obj.useTime = true;
|
||||
healthBarP2 = new UIElement(healthBarP2Obj, 0.563f, 0.980f, engine);
|
||||
engine.add_uiElement(healthBarP1);
|
||||
engine.add_uiElement(healthBarP2);
|
||||
// Habillage barre de vie
|
||||
ObjectGl healthBarP1Hab = new ObjectGl(81f, 1f, 1f, 1f, "textures/health_bar.png", null);
|
||||
ObjectGl healthBarP1Hab = new ObjectGl(81f, 1f, 1f, 1f, "/textures/health_bar.png", null);
|
||||
healthBarP1Hab.setTextureWrap(0,0, 883, 158);
|
||||
UIElement healthBarP1HabUI = new UIElement(healthBarP1Hab, 0.005f, 0.995f, engine);
|
||||
engine.add_uiElement(healthBarP1HabUI);
|
||||
ObjectGl healthBarP2Hab = new ObjectGl(81f, 1f, 1f, 1f, "textures/health_bar.png", null);
|
||||
ObjectGl healthBarP2Hab = new ObjectGl(81f, 1f, 1f, 1f, "/textures/health_bar.png", null);
|
||||
healthBarP2Hab.setTextureWrap(0,0, 883, 158);
|
||||
healthBarP2Hab.flipTextureWrapH();
|
||||
UIElement healthBarP2HabUI = new UIElement(healthBarP2Hab, 0.555f, 0.995f, engine);
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 212 KiB |
@ -78,7 +78,7 @@
|
||||
<children>
|
||||
<ImageView styleClass="char_img" fitHeight="400" fitWidth="400">
|
||||
<image>
|
||||
<Image url="/launcher/default.png"/>
|
||||
<Image url="/launcher/charfaces/default.png"/>
|
||||
</image>
|
||||
</ImageView>
|
||||
<ChoiceBox styleClass="char_box" onAction="#chp1"/>
|
||||
@ -88,7 +88,7 @@
|
||||
<children>
|
||||
<ImageView styleClass="char_img" fx:id="char_p2" fitHeight="400" fitWidth="400">
|
||||
<image>
|
||||
<Image url="/launcher/default.png"/>
|
||||
<Image url="/launcher/charfaces/default.png"/>
|
||||
</image>
|
||||
</ImageView>
|
||||
<ChoiceBox styleClass="char_box" onAction="#chp2"/>
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
10
src/main/resources/shaders/ObjectGl/frag.glsl
Normal file
@ -0,0 +1,10 @@
|
||||
#version 330 core
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
uniform float time;
|
||||
|
||||
void main()
|
||||
{
|
||||
FragColor = vec4(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
}
|
12
src/main/resources/shaders/ObjectGl/vert.glsl
Normal file
@ -0,0 +1,12 @@
|
||||
#version 330 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * view * transform * vec4(aPos, 1.0);
|
||||
}
|
12
src/main/resources/shaders/ObjectGlColor/frag.glsl
Normal file
@ -0,0 +1,12 @@
|
||||
#version 330 core
|
||||
|
||||
in vec3 color;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
uniform float time;
|
||||
|
||||
void main()
|
||||
{
|
||||
FragColor = vec4(color, 1.0f);
|
||||
}
|
16
src/main/resources/shaders/ObjectGlColor/vert.glsl
Normal file
@ -0,0 +1,16 @@
|
||||
#version 330 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 1) in vec3 aColor;
|
||||
|
||||
out vec3 color;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * view * transform * vec4(aPos, 1.0);
|
||||
color = aColor;
|
||||
}
|
13
src/main/resources/shaders/ObjectGlTex/frag.glsl
Normal file
@ -0,0 +1,13 @@
|
||||
#version 410 core
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
in vec2 texCoord;
|
||||
|
||||
uniform sampler2D texture1;
|
||||
uniform float time;
|
||||
|
||||
void main()
|
||||
{
|
||||
FragColor = texture(texture1, texCoord);
|
||||
}
|
16
src/main/resources/shaders/ObjectGlTex/vert.glsl
Normal file
@ -0,0 +1,16 @@
|
||||
#version 410 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 2) in vec2 aTexCoord;
|
||||
|
||||
out vec2 texCoord;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * view * transform * vec4(aPos, 1.0);
|
||||
texCoord = aTexCoord;
|
||||
}
|
19
src/main/resources/shaders/ObjectGlTexColor/frag.glsl
Normal file
@ -0,0 +1,19 @@
|
||||
#version 410 core
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
in vec4 color;
|
||||
in vec2 texCoord;
|
||||
|
||||
uniform sampler2D texture1;
|
||||
uniform float time;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 tex = texture(texture1, texCoord);
|
||||
if (tex.a == 0.0){
|
||||
FragColor = tex;
|
||||
} else{
|
||||
FragColor = mix(tex, color, 0.5);
|
||||
}
|
||||
}
|
19
src/main/resources/shaders/ObjectGlTexColor/vert.glsl
Normal file
@ -0,0 +1,19 @@
|
||||
#version 410 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 1) in vec3 aColor;
|
||||
layout (location = 2) in vec2 aTexCoord;
|
||||
|
||||
out vec2 texCoord;
|
||||
out vec4 color;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * view * transform * vec4(aPos, 1.0);
|
||||
color = vec4(aColor, 1.0f);
|
||||
texCoord = aTexCoord;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
#version 410 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 1) in vec3 aColor;
|
||||
layout (location = 2) in vec2 aTexCoord;
|
||||
|
||||
out vec2 fragCoord;
|
||||
out vec4 color;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * view * transform * vec4(aPos, 1.0);
|
||||
color = vec4(aColor, 1.0f);
|
||||
fragCoord = aPos.xy;
|
||||
}
|
21
src/main/resources/shaders/StylishShaders/BasicVert.glsl
Normal file
@ -0,0 +1,21 @@
|
||||
#version 410 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 1) in vec3 aColor;
|
||||
layout (location = 2) in vec2 aTexCoord;
|
||||
|
||||
out vec2 fragCoord;
|
||||
out vec2 texCoord;
|
||||
out vec4 color;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = projection * view * transform * vec4(aPos, 1.0);
|
||||
color = vec4(aColor, 1.0f);
|
||||
texCoord = aTexCoord;
|
||||
fragCoord = aPos.xy;
|
||||
}
|
26
src/main/resources/shaders/StylishShaders/FlashFrag.glsl
Normal file
@ -0,0 +1,26 @@
|
||||
#version 410 core
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
in vec4 color;
|
||||
in vec2 fragCoord;
|
||||
in vec2 texCoord;
|
||||
|
||||
uniform sampler2D texture1;
|
||||
uniform float time;
|
||||
|
||||
void main(){
|
||||
|
||||
vec4 flash;
|
||||
|
||||
flash = sin(flash + time * 15);
|
||||
flash = mix(flash, color, 0.5f);
|
||||
flash.a = 1f;
|
||||
|
||||
vec4 tex = texture(texture1, texCoord);
|
||||
if (tex.a == 0.0 || (flash.x+ flash.y + flash.z)/3 <= (tex.x+ tex.y + tex.z)/3){
|
||||
FragColor = tex;
|
||||
} else{
|
||||
FragColor = mix(tex, flash, 0.3f);
|
||||
}
|
||||
}
|
13
src/main/resources/shaders/StylishShaders/HitboxFrag.glsl
Normal file
@ -0,0 +1,13 @@
|
||||
#version 410
|
||||
|
||||
in vec3 color;
|
||||
in vec3 fragCoord;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
uniform float time;
|
||||
|
||||
void main()
|
||||
{
|
||||
FragColor = vec4(color, 0.4f);
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
#version 410
|
||||
|
||||
in vec4 color;
|
||||
in vec2 fragCoord;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
uniform float time;
|
||||
uniform float fill;
|
||||
uniform bool leftToRight;
|
||||
|
||||
void main()
|
||||
{
|
||||
if (leftToRight){
|
||||
if (fill > fragCoord.x){
|
||||
FragColor = color;
|
||||
}
|
||||
else {
|
||||
FragColor = vec4(color.xyz, 0f);
|
||||
}
|
||||
} else {
|
||||
if (fill < fragCoord.x){
|
||||
FragColor = color;
|
||||
}
|
||||
else {
|
||||
FragColor = vec4(color.xyz, 0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
#version 410
|
||||
|
||||
in vec4 color;
|
||||
in vec2 fragCoord;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
uniform float time;
|
||||
uniform float fill;
|
||||
uniform bool leftToRight;
|
||||
uniform float height;
|
||||
|
||||
void main()
|
||||
{ //Rectangle plus large que haut
|
||||
vec4 colorTemp = color;
|
||||
float ouverture = 0.8f;
|
||||
// Effet "tube"
|
||||
float lum = -pow(fragCoord.y + height/2.0f, 2.0f) * 5.0f /height + ouverture;
|
||||
colorTemp.xyz *= lum;
|
||||
|
||||
// Effet flash sur la surface
|
||||
float flash = abs(sin(time)) + 0.4f;
|
||||
colorTemp.xyz *= flash;
|
||||
|
||||
if (leftToRight){
|
||||
if (fill > fragCoord.x){
|
||||
FragColor = colorTemp;
|
||||
}
|
||||
else {
|
||||
FragColor = vec4(0.0f);
|
||||
}
|
||||
} else {
|
||||
if (fill < fragCoord.x){
|
||||
FragColor = colorTemp;
|
||||
}
|
||||
else {
|
||||
FragColor = vec4(0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
16
src/main/resources/shaders/StylishShaders/TextFrag.glsl
Normal file
@ -0,0 +1,16 @@
|
||||
#version 410 core
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
in vec4 color;
|
||||
in vec2 fragCoord;
|
||||
in vec2 texCoord;
|
||||
|
||||
uniform sampler2D texture1;
|
||||
|
||||
void main(){
|
||||
vec3 black = vec3(0.0f, 0.0f , 0.0f);
|
||||
vec4 tex = texture(texture1, texCoord);
|
||||
tex.a = (tex.x + tex.y + tex.z) / 3.0f;
|
||||
FragColor = tex;
|
||||
}
|
27
src/main/resources/shaders/StylishShaders/WavyTextVert.glsl
Normal file
@ -0,0 +1,27 @@
|
||||
#version 410 core
|
||||
|
||||
layout (location = 0) in vec3 aPos;
|
||||
layout (location = 1) in vec3 aColor;
|
||||
layout (location = 2) in vec2 aTexCoord;
|
||||
|
||||
out vec2 fragCoord;
|
||||
out vec2 texCoord;
|
||||
out vec4 color;
|
||||
|
||||
uniform mat4 projection;
|
||||
uniform mat4 view;
|
||||
uniform mat4 transform;
|
||||
uniform int index;
|
||||
uniform float time;
|
||||
|
||||
void main()
|
||||
{
|
||||
float speed = 5f;
|
||||
float amplitude = 10f;
|
||||
vec3 newPos = aPos;
|
||||
newPos.y = newPos.y + (sin((time + index * 10f + newPos.x) * speed) * amplitude);
|
||||
gl_Position = projection * view * transform * vec4(newPos, 1.0);
|
||||
color = vec4(aColor, 1.0f);
|
||||
texCoord = aTexCoord;
|
||||
fragCoord = aPos.xy;
|
||||
}
|
BIN
src/main/resources/sound/jump.ogg
Normal file
BIN
src/main/resources/textures/Sprite_9comp.png
Normal file
After Width: | Height: | Size: 577 KiB |
BIN
src/main/resources/textures/Sprite_sans_grille_9comp.png
Normal file
After Width: | Height: | Size: 597 KiB |
BIN
src/main/resources/textures/arena1.png
Normal file
After Width: | Height: | Size: 313 KiB |
BIN
src/main/resources/textures/awesomeface.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/main/resources/textures/background_beach.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
src/main/resources/textures/container.jpg
Normal file
After Width: | Height: | Size: 181 KiB |
BIN
src/main/resources/textures/dejavu10x10_gs_tc.png
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
src/main/resources/textures/health_bar.png
Normal file
After Width: | Height: | Size: 560 KiB |
BIN
src/main/resources/textures/health_bar_9compress.png
Normal file
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 7.6 KiB |
147
src/main/resources/textures/keyboard_pad_glyphs/Readme.txt
Normal file
@ -0,0 +1,147 @@
|
||||
Hey there!
|
||||
|
||||
Hope you make good use of this pack. You can use all these assets in any project you want to (be it commercial or not).All of the assets are in the public domain under Creative Commons 0 (CC0)
|
||||
|
||||
In this pack you will find over 500 buttons including:
|
||||
|
||||
Xbox 360 Controller
|
||||
Xbox One Controller + Diagram
|
||||
Xbox Series X Controller + Diagram
|
||||
Play Station 3 Controller
|
||||
Play Station 4 Controller + Diagram
|
||||
Play Station 5 Controller + Diagram
|
||||
Play Station Move
|
||||
PS Vita
|
||||
Google Stadia Controller
|
||||
Amazon Luna Controller
|
||||
Vive Controller
|
||||
Oculus Controllers & Remote
|
||||
Wii Controller
|
||||
Wii U Controller
|
||||
Nintentdo Switch
|
||||
Steam Controller (Updated to commercial version)
|
||||
Ouya
|
||||
Keyboard and mouse buttons (Both in dark and light variants including blanks)
|
||||
Directional arrows for thumb sticks and movement keys
|
||||
Touch Screen Gestures
|
||||
|
||||
----------------------------------
|
||||
|
||||
I am "Nicolae (Xelu) Berbece", I'm responsible for the development studio "Those Awesome Guys", developers of "Move or Die" and publishers of "Monster Prom".
|
||||
|
||||
You can contact me at nick@thoseawesomeguys.com or @xelubest
|
||||
|
||||
Feel free to credit me in case you use anything in this pack, but don't worry, I won't mind if you don't. ;)
|
||||
|
||||
Please share this pack with other fellow developers in need of such assets! In the spirit of good old chain mail, if you share this pack with 5 fellow devs, your game's steam review score will rise by 7% and a notable twitch streamer will pick it up for their stream.
|
||||
|
||||
Keep making awesome things!!!
|
||||
|
||||
~Nick
|
||||
|
||||
|
||||
|
||||
Here is a semi-regularly-updated list of games using these prompts:
|
||||
----------------------------
|
||||
Mega Man Legacy
|
||||
Hunt: Showdown
|
||||
Outter Wilds
|
||||
Slay The Spire
|
||||
A hat in Time
|
||||
Forager
|
||||
Wonder Boy the dragon's trap
|
||||
Postal 2
|
||||
Postal Redux
|
||||
RWBY
|
||||
PikuNiku
|
||||
Shadow Warrior 2
|
||||
Tiny Metal
|
||||
Aztez
|
||||
Disney Afternoon
|
||||
Heat Signature
|
||||
Turbo Dismount
|
||||
Black Future 88
|
||||
Fallen Legion
|
||||
Fru
|
||||
Blockships
|
||||
20XX
|
||||
Furi
|
||||
Mike Dies
|
||||
Snake Pass
|
||||
Danger Scavenger
|
||||
Roboquest
|
||||
Rive
|
||||
Faerie Afterlight
|
||||
Obduction
|
||||
Fractal Fall
|
||||
Guild of Ascension
|
||||
Avaria VS
|
||||
Blast Zone! Tournament
|
||||
100ft Robot Golf
|
||||
Sockventure
|
||||
Spellbreak
|
||||
Zombie Rollerz
|
||||
B.O.O.M . - You Win
|
||||
Battle Chef Brigade
|
||||
De Blob
|
||||
Phantom Brigade
|
||||
Wytchwood
|
||||
Mulaka
|
||||
Airheart - Tales of broken wings
|
||||
Redirection
|
||||
Pull Stay
|
||||
Death Pedal
|
||||
Defender's Quest
|
||||
Akuto "Mad World"
|
||||
Project Mobius
|
||||
Whispering Willows
|
||||
Vostok Inc.
|
||||
Divine commander
|
||||
Sbirz
|
||||
Grashers
|
||||
Remnants of Naezith
|
||||
Mothergunship
|
||||
Roundabout
|
||||
Hunter of the Disowned
|
||||
Cosmos Quickstop
|
||||
West of Dead
|
||||
Tune Tank
|
||||
Rain on your Parade
|
||||
Infinite Adventures
|
||||
Arena 3D
|
||||
Chroma Vaders
|
||||
Hoverloop
|
||||
Wrestling Revolution 3D
|
||||
Altero
|
||||
Super Comboman
|
||||
Disc Jam
|
||||
Cooking Simulator
|
||||
Jelly is Sticky
|
||||
The Hatching
|
||||
World to the West
|
||||
Mayan Death Robots
|
||||
Sentris
|
||||
Carto
|
||||
Unbox
|
||||
Fort Triumph
|
||||
Insane Robots
|
||||
Super Daryl Deluxe
|
||||
Induction
|
||||
Pawarumi
|
||||
The Flock
|
||||
Binary Trigger
|
||||
Fractal Space
|
||||
Deputy dangle
|
||||
Bubsy: The Woolies Strike Back
|
||||
Tumblestone
|
||||
The chronicles of Kyra
|
||||
Ghost Knight Victis
|
||||
Solbrain Knight of Darkness
|
||||
SSMP
|
||||
Distance
|
||||
Idarb
|
||||
Earthlock
|
||||
Everspace
|
||||
Pylon Rogue
|
||||
The Church in the darkness
|
||||
Sword n' Board
|
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.7 KiB |
BIN
src/main/resources/textures/shadow.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
45
src/main/resources/textures/sprite_action.txt
Normal file
@ -0,0 +1,45 @@
|
||||
1-idle
|
||||
2-walking
|
||||
3-jump
|
||||
4-crouch
|
||||
5-blocking
|
||||
6-L_punch
|
||||
7-forward jump
|
||||
8-m/h punch
|
||||
9-forward h punch
|
||||
10-h kick
|
||||
11-forward h kick
|
||||
12-jump l m kick
|
||||
13-crouch L.punch
|
||||
14-crouch m punch
|
||||
15-crouch h punch
|
||||
16-jump h kick
|
||||
17-crouch hit
|
||||
18-fjl punch
|
||||
19-hadouken
|
||||
20-projectile
|
||||
21-hit
|
||||
22-jump l m h puch
|
||||
23-face hit
|
||||
24-ko
|
||||
25-lm kick
|
||||
26-forward m punch
|
||||
27-forward l kick
|
||||
28-crouch L kick
|
||||
29-shouryuken
|
||||
30-forward m kick
|
||||
31-victory 1
|
||||
32-stunned
|
||||
33-knockdown/recover
|
||||
34-tatsumaki senpuu kyaku
|
||||
35-victory 2
|
||||
36-crouch m kick
|
||||
37-crouch h kick
|
||||
38-forward jump m h kick
|
||||
39-mugshots
|
||||
40-shoulder toss (32)
|
||||
41-backroll
|
||||
|
||||
manquant:
|
||||
time over (40)
|
||||
alternate palettes(41)
|
BIN
src/main/resources/textures/zangief_sprite.png
Normal file
After Width: | Height: | Size: 27 KiB |