Skip to content

Commit

Permalink
Merge branch 'master' of github.com:godrin/TowerDefense
Browse files Browse the repository at this point in the history
  • Loading branch information
undermink committed Sep 28, 2012
2 parents 20f5703 + 2653d12 commit c0a2501
Show file tree
Hide file tree
Showing 19 changed files with 400 additions and 45 deletions.
9 changes: 9 additions & 0 deletions defend-android/assets/data/shaders/round_explosion.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#ifdef GL_ES
precision mediump float;
#endif
varying vec4 v_Color;

void main()
{
gl_FragColor = v_Color;
}
22 changes: 22 additions & 0 deletions defend-android/assets/data/shaders/round_explosion.vert
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
attribute float a_distance;
attribute float a_angle;
attribute vec4 a_mycolor;
varying vec4 v_Color;
uniform mat4 world;
uniform vec4 u_position;
uniform float u_time;
uniform float u_size;
uniform float u_opacity;

void main()
{
v_Color=a_mycolor;
v_Color.a*=u_opacity;
v_Color.g=sin(u_time*10);
v_Color.b=sin(u_time*10);
vec4 a_position=u_position;
float d=a_distance*u_time/1.0f; //(1.0f+sin(u_time+a_distance+a_angle)*0.1f)*a_distance;
vec4 delta=vec4(sin(a_angle),cos(a_angle),0,0)*d*u_size;
a_position+=delta;
gl_Position=world*a_position;
}
2 changes: 1 addition & 1 deletion defend-android/src/com/cdm/defend/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = false;
cfg.useGL20 = true;

//AndroidApplicationConfiguration settings = new AndroidApplicationConfiguration();
//settings.resolutionStrategy = new FillResolutionStrategy();
Expand Down
21 changes: 13 additions & 8 deletions defend/src/com/cdm/defend/DefendGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public class DefendGame implements ApplicationListener, Game {
private Screen screen;
boolean stop = false;
private LevelScreen levelScreen;
private LevelScreen demoScreen;
private MenuScreen menuScreen;
private SoundScreen optionsScreen;
private HighScoreScreen highscoreScreen;
Expand All @@ -32,19 +33,23 @@ public void create() {
running = true;

Campaign c = new Campaign("/com/cdm/view/campaign1.txt");
levelScreen = new LevelScreen(this, c);
levelScreen = new LevelScreen(this, c, false);

Campaign demoCampaign = new Campaign("/com/cdm/view/demo.txt");
demoScreen = new LevelScreen(new DemoGame(), demoCampaign, true);

optionsScreen = new SoundScreen(this);
SoundScreen.playSong(1);
setScreen(menuScreen = new MenuScreen(this));
setScreen(menuScreen = new MenuScreen(this, demoScreen));
highscoreScreen = new HighScoreScreen(this);
inputScreen = new InputScreen(this, c);
SoundFX.Initialize();
Gdx.graphics.setVSync(true);

}

public boolean backButtonPressed() {
if(screen!=menuScreen) {
if (screen != menuScreen) {
setScreen(menuScreen);
return false;
}
Expand All @@ -64,7 +69,7 @@ public void setScreen(Screen newScreen) {
screen.removed();

screen = newScreen;
if(screen==levelScreen) {
if (screen == levelScreen) {
SoundScreen.playSong(2);
}

Expand All @@ -76,7 +81,7 @@ public void setScreen(Screen newScreen) {

public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

move();
screen.render();

Expand All @@ -98,12 +103,12 @@ private void move() {
}

private void mywait(float delta) {
if(false)
if (false)
return;
try {
int ms = (int) (delta * 1000);

int wait = (1000/60) - ms;
int wait = (1000 / 60) - ms;
if (wait > 2) {
Thread.sleep(wait);
}
Expand Down
20 changes: 20 additions & 0 deletions defend/src/com/cdm/defend/DemoGame.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.cdm.defend;

import com.cdm.Game;
import com.cdm.view.Screen;

public class DemoGame implements Game {

@Override
public void setScreen(Screen newScreen) {
// TODO Auto-generated method stub

}

@Override
public void setScreen(String string) {
// TODO Auto-generated method stub

}

}
22 changes: 19 additions & 3 deletions defend/src/com/cdm/view/CampaignParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@

import com.cdm.view.elements.Grid;
import com.cdm.view.elements.Grid.CellType;
import com.cdm.view.elements.PlayerUnitDef;
import com.cdm.view.elements.paths.PathPos;
import com.cdm.view.elements.units.Unit.UnitType;

public class CampaignParser {
public static Map<Integer, Grid> getGrids(String campaignFile) {
Map<Integer, Grid> grids = new TreeMap<Integer, Grid>();

Integer level = null;

InputStream is = CampaignParser.class
.getResourceAsStream(campaignFile);
InputStream is = CampaignParser.class.getResourceAsStream(campaignFile);

InputStreamReader isr = new InputStreamReader(is);

Expand All @@ -41,7 +42,7 @@ public static Map<Integer, Grid> getGrids(String campaignFile) {
} else {
if (line.matches("^#.*")) {
// comment - ignore
} else if(line.length()>0){
} else if (line.length() > 0) {
gridBuffer.add(line);
}
}
Expand Down Expand Up @@ -73,6 +74,21 @@ private static Grid parseLevel(List<String> gridBuffer) {
for (x = 0; x < l.length(); x++) {
char c = l.charAt(x);
switch (c) {
case 'C':
g.getElement(x, y).setCellType(CellType.FREE);
g.addDef(new PlayerUnitDef(new Position(x, y,
Position.LEVEL_REF), UnitType.CANNON));
break;
case 'R':
g.getElement(x, y).setCellType(CellType.FREE);
g.addDef(new PlayerUnitDef(new Position(x, y,
Position.LEVEL_REF), UnitType.ROCKET_THROWER));
break;
case 'T':
g.getElement(x, y).setCellType(CellType.FREE);
g.addDef(new PlayerUnitDef(new Position(x, y,
Position.LEVEL_REF), UnitType.STUNNER));
break;
case 'S':
start.add(new PathPos(x, y, 0));
g.getElement(x, y).setCellType(CellType.FREE);
Expand Down
17 changes: 12 additions & 5 deletions defend/src/com/cdm/view/LevelScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,10 @@ public class LevelScreen extends Screen implements IUnitTypeSelected,

private Game game;
private Campaign campaign;
private boolean readonly;

public LevelScreen(Game pGame, Campaign c) {
public LevelScreen(Game pGame, Campaign c, boolean pReadonly) {
readonly = pReadonly;
campaign = c;
game = pGame;
level = campaign.getNextLevel(this);
Expand Down Expand Up @@ -73,6 +75,7 @@ private void createUnitButtons() {

private boolean dragging = false;
private int dragDisplacement = 32;
private boolean paused = false;

@Override
public synchronized void render() {
Expand All @@ -93,11 +96,12 @@ private void draw() {
// drawBackground();

drawLineBased();
hud.draw(renderer);
if (!readonly)
hud.draw(renderer);
}

public void move(float delta) {
if (delta > 0) {
if (delta > 0 && !paused) {
level.move(delta);
}
gui.addTime(delta);
Expand Down Expand Up @@ -132,7 +136,8 @@ private void drawLineBased() {
}
Position.SCREEN_REF.apply();

gui.draw(unitRenderer);
if (!readonly)
gui.draw(unitRenderer);
if (Gdx.gl10 != null)

Gdx.gl10.glPopMatrix();
Expand Down Expand Up @@ -339,7 +344,9 @@ public Level getLevel() {
public boolean keyDown(int keycode) {
if (keycode == 131) {
game.setScreen(Screen.MENU_SCREEN);

}
if (keycode == 44) {
paused = !paused;
}
System.out.println("KEYCODE " + keycode);
return false;
Expand Down
17 changes: 13 additions & 4 deletions defend/src/com/cdm/view/MenuScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.Arrays;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL10;
import com.cdm.Game;
import com.cdm.gui.AnimText;
Expand All @@ -14,14 +15,17 @@

public class MenuScreen extends Screen implements IButtonPressed {

private static final Color BLACK_TRANSLUCENT = new Color(0, 0, 0, 0.5f);
private WidgetContainer gui = new WidgetContainer();
private Renderer renderer = new Renderer();
private Game game;
private PolySprite sprite;
private Position spritePos = new Position(Gdx.graphics.getWidth() / 4,
Gdx.graphics.getHeight() / 2, Position.SCREEN_REF);

public MenuScreen(Game pgame) {
private LevelScreen bgScreen;

public MenuScreen(Game pgame, LevelScreen demoScreen) {
game = pgame;
BigButton b0, b1, b2, b3;

Expand All @@ -36,15 +40,16 @@ public MenuScreen(Game pgame) {
gui.add(b3 = new BigButton(-200, 100, Gdx.graphics.getWidth() / 4, 50,
"quit", "quit", this));
gui.add(new AnimText(150, 150, 400, 100, Arrays.asList(new String[] {
"v-defend","2012","presented","by",
"godrin", "and","undermink",})));
"v-defend", "2012", "presented", "by", "godrin", "and",
"undermink", })));
b0.add(new MoveAnimation(Easings.QUAD, 1.5f, middle, b0.getY(), b0));
b1.add(new MoveAnimation(Easings.QUAD, 2.0f, middle, b1.getY(), b1));
b2.add(new MoveAnimation(Easings.QUAD, 2.5f, middle, b2.getY(), b2));
b3.add(new MoveAnimation(Easings.QUAD, 3.0f, middle, b3.getY(), b3));

sprite = SpriteReader.read("/com/cdm/view/elements/units/power.sprite");

bgScreen = demoScreen;
}

@Override
Expand All @@ -53,15 +58,19 @@ public void render() {
renderer.initGlSettings();

renderBg();
bgScreen.render();
renderer.fillRect(0, 0, Gdx.graphics.getWidth(),
Gdx.graphics.getHeight(), BLACK_TRANSLUCENT);

gui.draw(renderer);
}

@Override
public void move(float delta) {
// TODO Auto-generated method stub
super.move(delta);
gui.addTime(delta);
bgScreen.move(delta);
}

private void renderBg() {
Expand Down
Loading

0 comments on commit c0a2501

Please sign in to comment.